:root {
  --espo-blue: #0072bc;
  --espo-yellow: #ffdd00;
  --espo-red: #ee2e24;
  --espo-green: #007439;
  --espo-ink: #17191c;
  --espo-slate: #555b61;
  --espo-light: #f5f6f7;
  --espo-line: #e3e6e8;
  --espo-shell: 90rem;
  --espo-project-wide: 86rem;
  --espo-reading: 72rem;
  --espo-copy: 45rem;
  --espo-gutter: clamp(1.25rem, 3vw, 2rem);
  --espo-section-space: clamp(4rem, 7vw, 6rem);
}

html { scroll-behavior: smooth; }
body.espo-site { min-height: 100vh; display: flex; flex-direction: column; }
.espo-site h1,
.espo-site h2,
.espo-site h3 { text-wrap: balance; }
.espo-site img,
.espo-site video { max-width: 100%; }
.espo-home-sections { display: flex; flex-direction: column; }
.espo-home-sections > section { scroll-margin-top: 6rem; }
body.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { background: rgba(255,255,255,.92); border-color: var(--espo-line); box-shadow: 0 1px 20px rgba(0,0,0,.04); backdrop-filter: blur(12px); }
.site-header a, .site-header button { -webkit-tap-highlight-color: transparent; }
.espo-skip-link { position: fixed; z-index: 99999; left: 1rem; top: -5rem; padding: .75rem 1rem; background: var(--espo-ink); color: #fff; }
.espo-skip-link:focus { top: 1rem; }
.espo-custom-logo-image { width: auto; height: 46px; object-fit: contain; }
.espo-services-dropdown { opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.espo-services-menu:hover .espo-services-dropdown,
.espo-services-menu:focus-within .espo-services-dropdown { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.espo-menu-close { display: none; }
.espo-mobile-toggle.is-open .espo-menu-open { display: none; }
.espo-mobile-toggle.is-open .espo-menu-close { display: block; }
.espo-mobile-menu { max-height: calc(100vh - 4rem); overflow-y: auto; }
.espo-mobile-menu[hidden] { display: none; }
.espo-language-switcher {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(2.4rem, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--espo-line);
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(23, 25, 28, .035);
}
.espo-language-switcher a {
  --espo-language-accent: var(--espo-blue);
  position: relative;
  display: grid;
  place-items: center;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: .55rem .45rem .62rem;
  text-align: center;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1;
  color: var(--espo-slate);
  border-inline-end: 1px solid var(--espo-line);
  transition: color .2s ease, background-color .2s ease;
}
.espo-language-switcher a::after {
  content: '';
  position: absolute;
  inset-inline: .45rem;
  bottom: 0;
  height: 2px;
  background: var(--espo-language-accent);
  opacity: .5;
  transform: scaleX(.55);
  transform-origin: center;
  transition: opacity .2s ease, transform .2s ease;
}
.espo-language-switcher a:last-child { border-inline-end: 0; }
.espo-language-switcher a:hover,
.espo-language-switcher a.is-current {
  color: var(--espo-ink);
  background: var(--espo-light);
}
.espo-language-switcher a:hover::after,
.espo-language-switcher a.is-current::after {
  opacity: 1;
  transform: scaleX(1);
}
.espo-language-switcher a:focus-visible {
  z-index: 1;
  outline: 2px solid var(--espo-language-accent);
  outline-offset: -2px;
}
.espo-language-switcher .espo-language--en { --espo-language-accent: var(--espo-blue); }
.espo-language-switcher .espo-language--fa { --espo-language-accent: var(--espo-yellow); }
.espo-language-switcher .espo-language--ar { --espo-language-accent: var(--espo-red); }
.espo-language-switcher .espo-language--tr { --espo-language-accent: var(--espo-green); }
.espo-search-toggle { width: 40px; height: 40px; display: grid; place-items: center; color: var(--espo-ink); }
.espo-search-panel { background: rgba(255,255,255,.98); border-top: 1px solid var(--espo-line); }
.espo-search-panel[hidden] { display: none; }
.espo-credential-status { display:inline-flex; padding:.25rem .55rem; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.espo-status-active { background:rgba(0,116,57,.1);color:var(--espo-green); }
.espo-status-expired,.espo-status-archived { background:rgba(85,91,97,.1);color:var(--espo-slate); }
.espo-status-under-renewal { background:rgba(255,221,0,.35);color:var(--espo-ink); }
.espo-cookie-banner { position:fixed; z-index:60; left:1rem; bottom:1rem; max-width:420px; background:#fff; color:var(--espo-ink); border:1px solid var(--espo-line); box-shadow:0 16px 50px rgba(0,0,0,.18); padding:1rem; }
.espo-cookie-banner[hidden] { display:none !important; }
.espo-cookie-banner p { margin:0 0 .75rem; font-size:.875rem; line-height:1.5; }
.espo-cookie-banner div { display:flex; gap:.5rem; }
.espo-cookie-banner button { padding:.55rem .9rem; font-size:.8rem; font-weight:700; border:1px solid var(--espo-line); }
.espo-cookie-banner button:first-child { background:var(--espo-blue); color:#fff; border-color:var(--espo-blue); }

.espo-hero-word { opacity: 0; transform: translateY(30px); animation: espo-word-in .6s cubic-bezier(.22,1,.36,1) forwards; animation-delay: var(--word-delay); }
.espo-hero-copy { opacity: 0; animation: espo-fade-in .6s ease .6s forwards; }
.espo-hero-actions { opacity: 0; transform: translateY(16px); animation: espo-rise-in .6s cubic-bezier(.22,1,.36,1) .8s forwards; }
.espo-hero-image { clip-path: inset(0 100% 0 0); animation: espo-clip-in 1s cubic-bezier(.22,1,.36,1) .4s forwards; }
@keyframes espo-word-in { to { opacity: 1; transform: translateY(0); } }
@keyframes espo-fade-in { to { opacity: 1; } }
@keyframes espo-rise-in { to { opacity: 1; transform: translateY(0); } }
@keyframes espo-clip-in { to { clip-path: inset(0 0 0 0); } }

.espo-home-hero-inner {
  min-height: min(42rem, calc(100vh - 5rem));
}
.espo-page-hero-inner {
  min-height: min(34rem, calc(100vh - 5rem));
}
.espo-home-hero-inner .espo-hero-title {
  max-width: 11ch;
}
.espo-home-hero-inner .espo-hero-title > span:first-child {
  font-size: clamp(3rem, 4.25vw, 4.25rem);
}
.espo-home-hero-inner .espo-hero-title > span:last-child {
  font-size: clamp(1.85rem, 2.8vw, 2.95rem);
  line-height: 1.04;
}
.espo-brand-line span {
  transform: scaleX(0);
  transform-origin: left;
  animation: espo-brand-line-in .65s cubic-bezier(.22,1,.36,1) forwards;
}
.espo-brand-line span:nth-child(1) { animation-delay: .05s; }
.espo-brand-line span:nth-child(2) { animation-delay: .14s; }
.espo-brand-line span:nth-child(3) { animation-delay: .23s; }
.espo-brand-line span:nth-child(4) { animation-delay: .32s; }
@keyframes espo-brand-line-in { to { transform: scaleX(1); } }

/* Final CTA — dark editorial surface with an unmistakable ESPO signature. */
.espo-final-cta {
  background:
    radial-gradient(circle at 18% 12%, rgba(0,114,188,.18), transparent 34%),
    radial-gradient(circle at 84% 82%, rgba(255,221,0,.09), transparent 30%),
    linear-gradient(135deg, #07131f 0%, #0b1c2c 52%, #071018 100%);
}
.espo-final-cta__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 82%, transparent);
}
.espo-final-cta__orb {
  position: absolute;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  pointer-events: none;
}
.espo-final-cta__orb--one { width: 22rem; height: 22rem; top: -15rem; right: 4%; }
.espo-final-cta__orb--two { width: 14rem; height: 14rem; bottom: -9rem; left: 9%; }
.espo-final-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: center;
  padding: clamp(1.5rem, 3.4vw, 3.25rem);
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(10px);
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
}
.espo-final-cta__copy { text-align: start; }
.espo-final-cta__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1rem;
  color: rgba(255,255,255,.66);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.espo-final-cta__eyebrow::before {
  content: '';
  width: 1.8rem;
  height: 2px;
  background: var(--espo-yellow);
}
.espo-final-cta h2 {
  max-width: 17ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4.1vw, 3.85rem);
  font-weight: 650;
  letter-spacing: -.04em;
  line-height: 1.02;
}
.espo-final-cta__copy > p {
  max-width: 58ch;
  margin: 1.15rem 0 0;
  color: rgba(255,255,255,.67);
  font-size: clamp(.95rem, 1.1vw, 1.05rem);
  line-height: 1.75;
}
.espo-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.7rem;
}
.espo-final-cta__brand {
  position: relative;
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  border-inline-start: 1px solid rgba(255,255,255,.11);
}
.espo-cta-wordmark {
  --wordmark-gap: clamp(.08rem, .45vw, .34rem);
  position: relative;
  direction: ltr;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--wordmark-gap);
  width: min(100%, 24rem);
  padding: 1rem .5rem 1.35rem;
  isolation: isolate;
  cursor: default;
}
.espo-cta-wordmark__letter {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: clamp(4.5rem, 8vw, 7.25rem);
  font-weight: 750;
  line-height: .82;
  letter-spacing: -.105em;
  text-rendering: geometricPrecision;
  transform: translateY(0) scale(1);
  transform-origin: 50% 80%;
  transition:
    color .45s cubic-bezier(.22,1,.36,1),
    transform .52s cubic-bezier(.22,1,.36,1),
    text-shadow .45s ease,
    opacity .35s ease;
}
.espo-cta-wordmark__letter--e { --wm-color: var(--espo-yellow); --wm-delay: 0ms; }
.espo-cta-wordmark__letter--s { --wm-color: var(--espo-blue); --wm-delay: 60ms; }
.espo-cta-wordmark__letter--p { --wm-color: var(--espo-red); --wm-delay: 120ms; }
.espo-cta-wordmark__letter--o { --wm-color: var(--espo-green); --wm-delay: 180ms; }
.espo-cta-wordmark__rail {
  position: absolute;
  inset-inline: .7rem;
  bottom: .2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .22rem;
  height: 3px;
  overflow: hidden;
}
.espo-cta-wordmark__rail i {
  display: block;
  background: var(--wm-color, #fff);
  transform: scaleX(.28);
  opacity: .58;
  transition: transform .55s cubic-bezier(.22,1,.36,1), opacity .35s ease;
}
.espo-cta-wordmark__rail i:nth-child(1) { background: var(--espo-yellow); transform-origin: right; }
.espo-cta-wordmark__rail i:nth-child(2) { background: var(--espo-blue); transform-origin: center; }
.espo-cta-wordmark__rail i:nth-child(3) { background: var(--espo-red); transform-origin: center; }
.espo-cta-wordmark__rail i:nth-child(4) { background: var(--espo-green); transform-origin: left; }
.espo-final-cta__brand:hover .espo-cta-wordmark__letter,
.espo-final-cta__brand:focus-within .espo-cta-wordmark__letter {
  color: var(--wm-color);
  transform: translateY(-.18em) scale(1.035);
  text-shadow: 0 .16em .42em color-mix(in srgb, var(--wm-color) 28%, transparent);
  transition-delay: var(--wm-delay);
}
.espo-final-cta__brand:hover .espo-cta-wordmark__letter--e { transform: translate(-.045em, -.18em) rotate(-1.5deg) scale(1.035); }
.espo-final-cta__brand:hover .espo-cta-wordmark__letter--s { transform: translateY(-.23em) rotate(.8deg) scale(1.045); }
.espo-final-cta__brand:hover .espo-cta-wordmark__letter--p { transform: translateY(-.2em) rotate(-.7deg) scale(1.04); }
.espo-final-cta__brand:hover .espo-cta-wordmark__letter--o { transform: translate(.045em, -.16em) rotate(1.3deg) scale(1.035); }
.espo-final-cta__brand:hover .espo-cta-wordmark__rail i,
.espo-final-cta__brand:focus-within .espo-cta-wordmark__rail i {
  transform: scaleX(1);
  opacity: 1;
}
.espo-cta-inner.reveal.espo-reveal-ready:not(.is-visible) .espo-cta-wordmark__letter {
  opacity: 0;
  transform: translateY(.22em) scale(.96);
}
.espo-cta-inner.reveal.is-visible .espo-cta-wordmark__letter {
  animation: espo-cta-wordmark-in .7s cubic-bezier(.22,1,.36,1) var(--wm-delay) both;
}
@keyframes espo-cta-wordmark-in {
  from { opacity: 0; transform: translateY(.22em) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.espo-final-cta__brand-note {
  margin-top: 1rem;
  color: rgba(255,255,255,.42);
  font-size: .68rem;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .espo-final-cta__panel { grid-template-columns: 1fr; }
  .espo-final-cta__brand {
    min-height: auto;
    padding-top: 2rem;
    border-inline-start: 0;
    border-top: 1px solid rgba(255,255,255,.11);
  }
  .espo-cta-wordmark { width: min(100%, 21rem); }
}
@media (max-width: 640px) {
  .espo-final-cta__panel { padding: 1.35rem; }
  .espo-final-cta h2 { font-size: clamp(1.9rem, 10vw, 2.65rem); }
  .espo-final-cta__actions { align-items: stretch; }
  .espo-final-cta__actions .espo-btn { width: 100%; justify-content: center; }
  .espo-final-cta__brand-note { font-size: .6rem; letter-spacing: .12em; }
}
@media (prefers-reduced-motion: reduce) {
  .espo-cta-wordmark__letter { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; }
  .espo-cta-wordmark__rail i { transition: none !important; }
}

.reveal { opacity: 1; transform: none; }
.reveal.espo-reveal-ready { opacity: 0; transform: translateY(24px); transition: opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); }
.reveal.espo-reveal-ready.is-visible { opacity: 1; transform: translateY(0); }
.espo-project-rail { scrollbar-width: thin; scrollbar-color: var(--espo-blue) var(--espo-light); }
.espo-project-rail::-webkit-scrollbar { height: 7px; }
.espo-project-rail::-webkit-scrollbar-track { background: var(--espo-light); }
.espo-project-rail::-webkit-scrollbar-thumb { background: var(--espo-blue); }

.espo-engineering-visual { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #fff; border: 1px solid var(--espo-line); }
.espo-engineering-visual::before { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; border-top: 3px solid var(--espo-yellow); border-right: 3px solid var(--espo-blue); opacity: .9; }
.espo-engineering-visual::after { content: ''; position: absolute; z-index: 1; left: 0; bottom: 0; width: 100%; height: 5px; pointer-events: none; background: linear-gradient(90deg, var(--espo-yellow) 0 25%, var(--espo-blue) 25% 50%, var(--espo-red) 50% 75%, var(--espo-green) 75%); }
.espo-engineering-visual img { transform: scale(1.025); transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible .espo-engineering-visual img { transform: scale(1); }

/* Preserve the approved Sectors layout; only colour and line icons change. */
[data-sector-button] .espo-sector-name { color: rgba(255,255,255,.8); }
[data-sector-button] .espo-sector-num,
[data-sector-button] .espo-sector-arrow { color: rgba(255,255,255,.42); transition: color .3s ease, transform .3s ease; }
.espo-sector-actions { display: inline-flex; align-items: center; gap: .75rem; flex: 0 0 auto; margin-inline-start: 1rem; }
.espo-sector-symbol { display: inline-flex; width: 1.5rem; height: 1.5rem; color: var(--sector-color); opacity: .82; transition: opacity .3s ease; }
[data-sector-button]:hover .espo-sector-name,
[data-sector-button]:focus-visible .espo-sector-name,
[data-sector-button].is-active .espo-sector-name,
[data-sector-button]:hover .espo-sector-num,
[data-sector-button]:focus-visible .espo-sector-num,
[data-sector-button].is-active .espo-sector-num,
[data-sector-button]:hover .espo-sector-arrow,
[data-sector-button]:focus-visible .espo-sector-arrow,
[data-sector-button].is-active .espo-sector-arrow,
[data-sector-button]:hover .espo-sector-symbol,
[data-sector-button]:focus-visible .espo-sector-symbol,
[data-sector-button].is-active .espo-sector-symbol { color: var(--sector-color); }
[data-sector-button]:hover .espo-sector-symbol,
[data-sector-button]:focus-visible .espo-sector-symbol,
[data-sector-button].is-active .espo-sector-symbol { opacity: 1; }
[data-sector-button]:hover .espo-sector-arrow,
[data-sector-button].is-active .espo-sector-arrow { transform: translateX(.25rem); }
[data-sector-button]:focus-visible { outline: 1px solid var(--sector-color); outline-offset: 4px; }
.espo-sector-images img { opacity: 0; transition: opacity .5s ease; }
.espo-sector-images img.is-active { opacity: 1; }
.espo-sector-accent { background: var(--active-sector-color); transition: background-color .3s ease; }

.espo-sector-page-icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; color: var(--sector-color); border: 1px solid var(--sector-color); }
.espo-sector-page-visual { position: relative; }
.espo-sector-page-visual::after { content: ''; position: absolute; inset-inline: 0; inset-block-end: 0; height: 5px; background: var(--sector-color); }

@media (prefers-reduced-motion: reduce) {
  .espo-sector-num,
  .espo-sector-name,
  .espo-sector-arrow,
  .espo-sector-symbol,
  .espo-sector-images img,
  .espo-sector-accent { transition: none !important; }
}
/*
 * ESPO button system.
 * Quiet geometry, exact optical centering and restrained motion replace the
 * former decorated one-off buttons. Brand colour belongs to hierarchy, not
 * ornament: no gradients, multi-colour rules, glow or asymmetric padding.
 */
.espo-btn {
  --espo-btn-bg: transparent;
  --espo-btn-bg-hover: transparent;
  --espo-btn-color: var(--espo-ink);
  --espo-btn-color-hover: var(--espo-ink);
  --espo-btn-border: transparent;
  --espo-btn-border-hover: transparent;
  --espo-btn-shadow: none;
  --espo-btn-shadow-hover: none;
  appearance: none;
  position: relative;
  display: inline-grid;
  place-items: center;
  min-height: 3rem;
  max-width: 100%;
  padding: .9rem 1.5rem;
  border: 1px solid var(--espo-btn-border);
  border-radius: 2px;
  background: var(--espo-btn-bg);
  color: var(--espo-btn-color);
  box-shadow: var(--espo-btn-shadow);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .012em;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease, transform .24s cubic-bezier(.22, 1, .36, 1);
}
.espo-btn__content {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  min-width: 0;
  line-height: 1.15;
  text-align: center;
}
.espo-btn .espo-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  transition: transform .24s cubic-bezier(.22, 1, .36, 1);
}
.espo-btn:hover {
  background: var(--espo-btn-bg-hover);
  border-color: var(--espo-btn-border-hover);
  color: var(--espo-btn-color-hover);
  box-shadow: var(--espo-btn-shadow-hover);
  transform: translateY(-1px);
}
.espo-btn:active {
  transform: translateY(0);
  box-shadow: var(--espo-btn-shadow);
}
.espo-btn:focus-visible,
.espo-icon-btn:focus-visible,
.espo-search-toggle:focus-visible,
.espo-mobile-toggle:focus-visible {
  outline: 2px solid var(--espo-blue);
  outline-offset: 3px;
}
.espo-btn--primary {
  --espo-btn-bg: var(--espo-blue);
  --espo-btn-bg-hover: #0063a3;
  --espo-btn-color: #fff;
  --espo-btn-color-hover: #fff;
  --espo-btn-border: var(--espo-blue);
  --espo-btn-border-hover: #0063a3;
  --espo-btn-shadow: 0 5px 14px rgba(0, 114, 188, .11);
  --espo-btn-shadow-hover: 0 8px 20px rgba(0, 114, 188, .17);
}
.espo-btn--secondary {
  --espo-btn-bg: #fff;
  --espo-btn-bg-hover: #f8f9fa;
  --espo-btn-color: var(--espo-ink);
  --espo-btn-color-hover: var(--espo-ink);
  --espo-btn-border: #bdc3c7;
  --espo-btn-border-hover: var(--espo-ink);
}
.espo-btn--dark {
  --espo-btn-bg: var(--espo-ink);
  --espo-btn-bg-hover: #292d31;
  --espo-btn-color: #fff;
  --espo-btn-color-hover: #fff;
  --espo-btn-border: var(--espo-ink);
  --espo-btn-border-hover: #292d31;
  --espo-btn-shadow: 0 5px 14px rgba(23, 25, 28, .1);
  --espo-btn-shadow-hover: 0 8px 20px rgba(23, 25, 28, .16);
}
.espo-btn--accent {
  --espo-btn-bg: var(--espo-yellow);
  --espo-btn-bg-hover: #f3d200;
  --espo-btn-color: var(--espo-ink);
  --espo-btn-color-hover: var(--espo-ink);
  --espo-btn-border: var(--espo-yellow);
  --espo-btn-border-hover: #f3d200;
}
.espo-btn--text {
  min-height: 2.5rem;
  padding: .65rem 0;
  border-radius: 0;
  --espo-btn-bg: transparent;
  --espo-btn-bg-hover: transparent;
  --espo-btn-color: var(--espo-ink);
  --espo-btn-color-hover: var(--espo-blue);
  --espo-btn-border: transparent;
  --espo-btn-border-hover: transparent;
}
.espo-btn--text:hover { transform: none; }
.espo-btn:hover .espo-icon--arrow-right { transform: translateX(2px); }
html[dir="rtl"] .espo-btn .espo-icon--arrow-right { transform: rotate(180deg); }
html[dir="rtl"] .espo-btn:hover .espo-icon--arrow-right { transform: rotate(180deg) translateX(2px); }
html:lang(fa) .espo-btn,
html:lang(ar) .espo-btn {
  letter-spacing: 0;
}
html:lang(fa) .espo-btn__content,
html:lang(ar) .espo-btn__content {
  line-height: 1.4;
}
.espo-button-on-dark {
  --espo-btn-bg: transparent;
  --espo-btn-bg-hover: rgba(255,255,255,.08);
  --espo-btn-color: #fff;
  --espo-btn-color-hover: #fff;
  --espo-btn-border: rgba(255,255,255,.42);
  --espo-btn-border-hover: #fff;
}
.espo-cta-inner .espo-btn:focus-visible { outline-color: #fff; }
.espo-btn--disabled {
  opacity: .52;
  pointer-events: none;
  cursor: default;
}
.espo-btn--desktop-only { display: none; }
.site-header .espo-btn {
  min-height: 2.5rem;
  padding: .72rem 1.05rem;
  font-size: .75rem;
}
.espo-search-panel .espo-btn {
  min-height: 3rem;
  padding-inline: 1.35rem;
}
.espo-mobile-menu .espo-btn { width: 100%; }
.espo-icon-btn {
  appearance: none;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--espo-line);
  border-radius: 2px;
  background: #fff;
  color: var(--espo-ink);
  transition: background-color .24s ease, border-color .24s ease, color .24s ease;
}
.espo-icon-btn:hover { border-color: var(--espo-ink); }
.espo-icon-btn--dark { background: var(--espo-ink); border-color: var(--espo-ink); color: #fff; }
.espo-icon-btn--dark:hover { background: #292d31; border-color: #292d31; }
.espo-search-toggle,
.espo-mobile-toggle { border-radius: 2px; }

@media (min-width: 768px) {
  .espo-btn--desktop-only { display: inline-grid; }
}

@media (prefers-reduced-motion: reduce) {
  .espo-btn,
  .espo-btn .espo-icon,
  .espo-icon-btn { transition: none; }
  .espo-btn:hover { transform: none; }
}

.espo-inquiry-form input[type="checkbox"] { width: 1rem; height: 1rem; accent-color: var(--espo-blue); }
.espo-inquiry-form input, .espo-inquiry-form select, .espo-inquiry-form textarea { border-radius: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.espo-inquiry-form input:focus, .espo-inquiry-form select:focus, .espo-inquiry-form textarea:focus { box-shadow: 0 0 0 2px rgba(0,114,188,.1); }
.espo-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.espo-form-error { padding: 1rem; border-left: 4px solid var(--espo-red); background: rgba(238,46,36,.06); color: #9f1e17; margin-bottom: 1rem; }
.espo-success { border-color: rgba(0,116,57,.4); background: rgba(0,116,57,.05); }
.espo-success-icon { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--espo-green); color: #fff; font-weight: 800; }
.espo-map-card { transition: border-color .2s ease, transform .2s ease; }
.espo-map-card:hover { border-color: var(--espo-ink); transform: translateY(-2px); }
.espo-placeholder-notice { margin-bottom: 1.5rem; padding: .875rem 1rem; border-left: 4px solid var(--espo-yellow); background: #fffbe6; color: var(--espo-ink); font-size: .875rem; font-weight: 600; }

.espo-prose { color: var(--espo-slate); line-height: 1.75; }
.espo-prose > * + * { margin-top: 1.25rem; }
.espo-prose h2 { color: var(--espo-ink); font-size: 1.75rem; font-weight: 600; line-height: 1.25; }
.espo-prose h3 { color: var(--espo-ink); font-size: 1.25rem; font-weight: 550; }
.espo-prose ul { list-style: disc; padding-left: 1.25rem; }
.espo-prose ol { list-style: decimal; padding-left: 1.25rem; }
.espo-prose a { color: var(--espo-blue); text-decoration: underline; }
.espo-project-hero img { transition: transform 1s cubic-bezier(.22,1,.36,1); }
.espo-project-hero:hover img { transform: scale(1.015); }

.espo-whatsapp { animation: espo-whatsapp-in .5s cubic-bezier(.22,1,.36,1) 1s both; }
@keyframes espo-whatsapp-in { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

@media (min-width: 1024px) {
  .espo-sector-row-reverse { direction: rtl; }
  .espo-sector-row-reverse > * { direction: ltr; }
}
@media (max-width: 1180px) and (min-width: 1024px) {
  .site-header nav a { padding-left: .6rem; padding-right: .6rem; }
  .site-header .inline-flex.px-6 { padding-left: .85rem; padding-right: .85rem; }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 639px) {
  .espo-home-hero-inner .espo-hero-title > span:first-child { font-size: clamp(2.8rem, 15vw, 3.5rem); }
  .espo-home-hero-inner .espo-hero-title > span:last-child { font-size: clamp(1.85rem, 9vw, 2.5rem); }
  .espo-whatsapp { width: 48px; height: 48px; padding: 0; justify-content: center; border-radius: 50%; }
  .espo-section-label span:last-child { letter-spacing: .14em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .espo-hero-word, .espo-hero-copy, .espo-hero-actions { opacity: 1; transform: none; }
  .espo-hero-image { clip-path: none; }
}

[dir="rtl"] .espo-section-label { flex-direction: row-reverse; justify-content: flex-end; }
[dir="rtl"] .espo-whatsapp { right: auto; left: 1.25rem; }
[dir="rtl"] .text-left { text-align: right; }

/* Preserve the international format of contact details inside RTL pages. */
.espo-contact-value {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  white-space: nowrap;
  text-align: left;
}
.espo-contact-row {
  display: flex;
  align-items: center;
  gap: .55rem;
  direction: ltr;
  width: fit-content;
  max-width: 100%;
}
.espo-contact-flag {
  flex: 0 0 auto;
  width: 24px;
  height: 16px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.espo-contact-label {
  unicode-bidi: isolate;
  white-space: nowrap;
}
.espo-contact-actions {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}
.espo-contact-channel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .8;
  transition: opacity .2s ease, transform .2s ease, color .2s ease;
}
.espo-contact-channel:hover {
  opacity: 1;
  color: var(--espo-yellow);
  transform: translateY(-1px);
}
[dir="rtl"] .espo-contact-row {
  margin-left: auto;
}

/* -------------------------------------------------------------------------- */
/* Project case study                                                         */
/* -------------------------------------------------------------------------- */

.espo-project-case-study {
  --project-accent: var(--espo-blue);
  background: #fff;
  color: var(--espo-ink);
}

.espo-project-breadcrumb,
.espo-project-intro,
.espo-project-gallery-section,
.espo-project-before-after,
.espo-project-video,
.espo-project-related {
  width: min(var(--espo-project-wide), calc(100% - (2 * var(--espo-gutter))));
  margin-inline: auto;
}

.espo-project-narrative {
  width: min(var(--espo-reading), calc(100% - (2 * var(--espo-gutter))));
  margin-inline: auto;
}

.espo-project-breadcrumb {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding-block: 1.25rem;
  color: var(--espo-slate);
  font-size: .78rem;
  line-height: 1.4;
}

.espo-project-breadcrumb a {
  color: var(--project-accent);
  font-weight: 750;
}

.espo-project-breadcrumb span:last-child {
  overflow: hidden;
  max-width: 42rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.espo-project-intro {
  padding-block: 1.5rem 4.5rem;
}

.espo-project-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 4.5vw, 4.75rem);
  align-items: center;
}

.espo-project-hero-copy h1 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.15rem, 3.15vw, 3.45rem);
  font-weight: 550;
  letter-spacing: -.035em;
  line-height: 1.06;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.espo-project-eyebrow {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1.35rem;
  color: var(--project-accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.35;
  text-transform: uppercase;
}

.espo-project-eyebrow::before {
  width: .6rem;
  height: .6rem;
  background: var(--project-accent);
  content: "";
}

.espo-project-eyebrow-separator {
  color: var(--espo-slate);
}

.espo-project-pulse {
  display: flex;
  align-items: center;
  width: min(16rem, 70%);
  height: 2rem;
  margin-block: 1.35rem 1.15rem;
}

.espo-project-pulse span {
  height: 2px;
  background: var(--project-accent);
  flex: 1;
}

.espo-project-pulse i {
  width: 2rem;
  height: 1.15rem;
  margin-inline: -.05rem;
  border-bottom: 2px solid var(--project-accent);
  clip-path: polygon(0 50%, 32% 50%, 43% 0, 55% 100%, 67% 50%, 100% 50%, 100% 62%, 69% 62%, 55% 100%, 43% 16%, 35% 62%, 0 62%);
  background: var(--project-accent);
}

.espo-project-lead {
  max-width: 37rem;
  margin: 0;
  color: var(--espo-slate);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.75;
}

.espo-project-main-visual {
  position: relative;
  aspect-ratio: 16 / 11;
  max-height: 520px;
  margin: 0;
  overflow: hidden;
  background: var(--espo-light);
}

.espo-project-main-visual::after {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  width: 28%;
  height: 5px;
  background: var(--espo-yellow);
  content: "";
}

.espo-project-main-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.espo-project-main-visual:hover img {
  transform: scale(1.018);
}

.espo-project-facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 1.5rem 0 0;
  border: 1px solid var(--espo-line);
  background: #fff;
}

.espo-project-fact {
  position: relative;
  min-width: 0;
  padding: 1.2rem 1.3rem;
  border-inline-end: 1px solid var(--espo-line);
}

.espo-project-fact:last-child {
  border-inline-end: 0;
}

.espo-project-fact::before {
  position: absolute;
  top: 1.25rem;
  inset-inline-start: .55rem;
  width: 4px;
  height: 1rem;
  background: var(--project-accent);
  content: "";
}

.espo-project-fact dt,
.espo-project-secondary-facts dt {
  margin-bottom: .28rem;
  color: var(--espo-slate);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.espo-project-fact dd {
  overflow: hidden;
  margin: 0;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.4;
  text-overflow: ellipsis;
}

.espo-project-narrative {
  padding-block: var(--espo-section-space);
}

.espo-project-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(19rem, .7fr);
  gap: clamp(2.75rem, 5vw, 4.75rem);
  align-items: start;
}

.espo-project-copy {
  min-width: 0;
}

.espo-project-prose {
  max-width: var(--espo-copy);
  color: var(--espo-slate);
  font-size: 1.025rem;
  line-height: 1.86;
}

.espo-project-prose > p:first-child {
  color: var(--espo-ink);
  font-size: 1.13rem;
  line-height: 1.78;
}

.espo-project-prose h2 {
  margin-top: 2.75rem;
  padding-top: .85rem;
  border-top: 1px solid var(--espo-line);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  letter-spacing: -.035em;
}

.espo-project-prose h3 {
  margin-top: 2rem;
  font-size: 1.25rem;
  letter-spacing: -.02em;
}

.espo-project-prose ul,
.espo-project-prose ol {
  display: grid;
  gap: .65rem;
  margin-block: 1.5rem;
}

.espo-project-prose li {
  padding-inline-start: .2rem;
}

.espo-project-prose li::marker {
  color: var(--project-accent);
  font-weight: 800;
}

.espo-project-media-rail {
  position: sticky;
  top: 7rem;
}

.espo-project-support-image,
.espo-project-story-image,
.espo-project-gallery-item {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--espo-light);
  color: inherit;
  cursor: zoom-in;
}

.espo-project-support-image {
  aspect-ratio: 4 / 3;
}

.espo-project-support-image img,
.espo-project-story-image img,
.espo-project-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1);
}

.espo-project-support-image:hover img,
.espo-project-story-image:hover img,
.espo-project-gallery-item:hover img {
  transform: scale(1.035);
}

.espo-project-secondary-facts {
  margin: 0;
  padding: 1.35rem 1.4rem;
  border: 1px solid var(--espo-line);
  border-top: 0;
}

.espo-project-secondary-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  padding-block: .72rem;
  border-bottom: 1px solid var(--espo-line);
}

.espo-project-secondary-facts > div:first-child {
  padding-top: 0;
}

.espo-project-secondary-facts > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.espo-project-secondary-facts dt {
  margin: 0;
}

.espo-project-secondary-facts dd {
  margin: 0;
  color: var(--espo-ink);
  font-size: .78rem;
  font-weight: 750;
  text-align: end;
}

.espo-project-pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: .75rem;
  padding: .7rem 1rem;
  background: var(--project-accent);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
}

.espo-project-story {
  display: grid;
  gap: clamp(3.5rem, 7vw, 6rem);
  margin-top: clamp(4rem, 8vw, 7rem);
}

.espo-project-story-row {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.espo-project-story-row.is-reverse .espo-project-story-copy {
  order: 2;
}

.espo-project-story-row.is-reverse .espo-project-story-image {
  order: 1;
}

.espo-project-story-row:not(:has(.espo-project-story-image)) {
  grid-template-columns: minmax(0, 760px);
}

.espo-project-story-copy {
  position: relative;
  padding-inline-start: 1.4rem;
  border-inline-start: 2px solid var(--project-accent);
}

.espo-project-story-number {
  display: block;
  margin-bottom: .8rem;
  color: var(--project-accent);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .15em;
}

.espo-project-story-copy h2 {
  margin: 0;
  font-size: clamp(1.85rem, 3vw, 3rem);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1.08;
}

.espo-project-story-copy p {
  margin: 1rem 0 0;
  color: var(--espo-slate);
  font-size: 1rem;
  line-height: 1.85;
}

.espo-project-story-image {
  aspect-ratio: 4 / 3;
}

.espo-project-gallery-section {
  padding-block: 1rem 5rem;
}

.espo-project-signature {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  height: 3px;
  margin-bottom: 2.2rem;
  overflow: hidden;
}

.espo-project-signature span {
  transform: scaleX(0);
  transform-origin: left;
  animation: espo-project-line-in .65s cubic-bezier(.22,1,.36,1) forwards;
}

.espo-project-signature span:nth-child(1) { background: var(--espo-yellow); animation-delay: .05s; }
.espo-project-signature span:nth-child(2) { background: var(--espo-blue); animation-delay: .14s; }
.espo-project-signature span:nth-child(3) { background: var(--espo-red); animation-delay: .23s; }
.espo-project-signature span:nth-child(4) { background: var(--espo-green); animation-delay: .32s; }

@keyframes espo-project-line-in {
  to { transform: scaleX(1); }
}

.espo-project-section-heading {
  margin-bottom: 1.35rem;
}

.espo-project-gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.espo-project-gallery-item {
  aspect-ratio: 4 / 3;
}

.espo-project-gallery-index {
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  display: grid;
  place-items: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: .25rem;
  background: rgba(23,25,28,.82);
  color: #fff;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .05em;
}

.espo-project-lightbox[hidden] {
  display: none;
}

.espo-project-lightbox {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1.25rem;
}

.espo-project-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,11,13,.92);
  backdrop-filter: blur(5px);
}

.espo-project-lightbox-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) 3.2rem;
  align-items: center;
  width: min(var(--espo-project-wide), 100%);
  height: min(82vh, 780px);
}

.espo-project-lightbox-panel img {
  grid-column: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.espo-project-lightbox-close,
.espo-project-lightbox-prev,
.espo-project-lightbox-next {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.25);
  color: #fff;
}

.espo-project-lightbox-prev,
.espo-project-lightbox-next {
  width: 2.7rem;
  height: 2.7rem;
  font-size: 1.15rem;
}

.espo-project-lightbox-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.8rem;
  height: 2.8rem;
  font-size: 1.65rem;
}

.espo-project-lightbox-count {
  position: absolute;
  right: 3.5rem;
  bottom: 0;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
}

body.espo-lightbox-open {
  overflow: hidden;
}

.espo-project-before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding-block: 0 5rem;
}

.espo-project-before-after figure {
  margin: 0;
}

.espo-project-before-after img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.espo-project-before-after figcaption {
  margin-top: .75rem;
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.espo-project-video {
  padding-bottom: 5rem;
}

.espo-project-video video {
  display: block;
  width: 100%;
  max-height: 72vh;
  background: #000;
}

.espo-project-related {
  padding-block: 4.5rem 5rem;
  border-top: 1px solid var(--espo-line);
}

.espo-project-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}

.espo-project-related-card {
  display: block;
  padding: .75rem;
  border: 1px solid var(--espo-line);
  background: #fff;
  transition: border-color .2s ease, transform .25s ease;
}

.espo-project-related-card:hover {
  transform: translateY(-4px);
  border-color: var(--espo-ink);
}

.espo-project-related-card > div {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--espo-light);
}

.espo-project-related-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}

.espo-project-related-card:hover img {
  transform: scale(1.035);
}

.espo-project-related-card h3 {
  margin: .9rem 0 .55rem;
  font-size: 1rem;
  font-weight: 820;
  line-height: 1.35;
}

.espo-project-related-card span {
  color: var(--project-accent);
  font-size: .72rem;
  font-weight: 800;
}

.espo-project-contact {
  padding: 4.5rem 20px;
  background: var(--espo-light);
  border-top: 1px solid var(--espo-line);
  text-align: center;
}

.espo-project-contact > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: min(900px, 100%);
  margin-inline: auto;
}

.espo-project-contact h2 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  font-weight: 850;
  letter-spacing: -.04em;
}

[dir="rtl"] .espo-project-hero-copy h1,
[dir="rtl"] .espo-project-story-copy h2,
[dir="rtl"] .espo-project-contact h2 {
  letter-spacing: 0;
}

[dir="rtl"] .espo-project-pulse i {
  transform: scaleX(-1);
}

[dir="rtl"] .espo-project-signature span {
  transform-origin: right;
}

@media (max-width: 1023px) {
  .espo-home-hero-inner,
  .espo-page-hero-inner {
    min-height: 0;
  }

  .espo-project-hero-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .espo-project-hero-copy h1 {
    max-width: 15ch;
  }

  .espo-project-main-visual {
    width: 100%;
    max-height: none;
  }

  .espo-project-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .espo-project-fact:nth-child(3) {
    border-inline-end: 0;
  }

  .espo-project-fact:nth-child(n + 4) {
    border-top: 1px solid var(--espo-line);
  }

  .espo-project-overview-grid {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .6fr);
    gap: 2.5rem;
  }

  .espo-project-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Home services — spacious editorial cards with a clear 2 × 2 desktop rhythm. */
.espo-services-section {
  background-image:
    radial-gradient(circle at 88% 8%, rgba(0, 114, 188, .075), transparent 28rem),
    linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, 0));
}

.espo-services-heading {
  display: grid;
  gap: 1.5rem;
  align-items: end;
}

.espo-services-intro {
  max-width: 38rem;
}

.espo-service-card {
  isolation: isolate;
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(16, 35, 51, .055);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.espo-service-card:hover,
.espo-service-card:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(16, 35, 51, .22);
  box-shadow: 0 24px 54px rgba(16, 35, 51, .13);
}

.espo-service-accent {
  transition: width .5s cubic-bezier(.2, .8, .2, 1);
}

.espo-service-number {
  transition: color .3s ease;
}

.espo-service-image {
  background: #e9edf0;
}

.espo-service-image img {
  filter: saturate(.9) contrast(1.01);
  transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .4s ease;
}

.espo-service-card:hover .espo-service-image img,
.espo-service-card:focus-visible .espo-service-image img {
  filter: saturate(1.05) contrast(1.03);
}

.espo-service-link svg {
  transition: transform .3s ease;
}

.espo-service-card:hover .espo-service-link svg,
.espo-service-card:focus-visible .espo-service-link svg {
  transform: translate(3px, -3px);
}

@media (min-width: 1024px) {
  .espo-services-heading {
    grid-template-columns: minmax(0, 1fr) minmax(22rem, .72fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .espo-service-card,
  .espo-service-accent,
  .espo-service-image img,
  .espo-service-link svg {
    transition: none;
  }

  .espo-service-card:hover,
  .espo-service-card:focus-visible {
    transform: none;
  }
}

@media (max-width: 767px) {
  .espo-project-breadcrumb,
  .espo-project-intro,
  .espo-project-narrative,
  .espo-project-gallery-section,
  .espo-project-before-after,
  .espo-project-video,
  .espo-project-related {
    width: min(100% - 30px, var(--espo-project-wide));
  }

  .espo-project-intro {
    padding-block: 1rem 3rem;
  }

  .espo-project-hero-copy h1 {
    font-size: clamp(2.25rem, 12vw, 3.75rem);
  }

  .espo-project-main-visual {
    aspect-ratio: 4 / 3;
  }

  .espo-project-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .espo-project-fact,
  .espo-project-fact:nth-child(3) {
    border-inline-end: 1px solid var(--espo-line);
    border-top: 1px solid var(--espo-line);
  }

  .espo-project-fact:nth-child(1),
  .espo-project-fact:nth-child(2) {
    border-top: 0;
  }

  .espo-project-fact:nth-child(even),
  .espo-project-fact:last-child {
    border-inline-end: 0;
  }

  .espo-project-fact:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .espo-project-narrative {
    padding-block: 3.5rem;
  }

  .espo-project-overview-grid,
  .espo-project-story-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .espo-project-media-rail {
    position: static;
    top: auto;
  }

  .espo-project-story {
    gap: 3.5rem;
    margin-top: 4rem;
  }

  .espo-project-story-row.is-reverse .espo-project-story-copy,
  .espo-project-story-row.is-reverse .espo-project-story-image {
    order: initial;
  }

  .espo-project-story-image {
    aspect-ratio: 4 / 3;
  }

  .espo-project-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  .espo-project-related-grid {
    grid-template-columns: 1fr;
  }

  .espo-project-before-after {
    grid-template-columns: 1fr;
  }

  .espo-project-contact > div {
    flex-direction: column;
    gap: 1.25rem;
  }
}

@media (max-width: 479px) {
  .espo-project-facts,
  .espo-project-gallery {
    grid-template-columns: 1fr;
  }

  .espo-project-fact,
  .espo-project-fact:nth-child(1),
  .espo-project-fact:nth-child(2),
  .espo-project-fact:nth-child(3),
  .espo-project-fact:nth-child(even) {
    grid-column: auto;
    border-top: 1px solid var(--espo-line);
    border-inline-end: 0;
  }

  .espo-project-fact:first-child {
    border-top: 0;
  }

  .espo-project-lightbox {
    padding: .5rem;
  }

  .espo-project-lightbox-panel {
    grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem;
    height: 80vh;
  }

  .espo-project-lightbox-prev,
  .espo-project-lightbox-next {
    width: 2.2rem;
    height: 2.2rem;
  }
}


/* -------------------------------------------------------------------------- */
/* ESPO Typography Refinement — v2.3.0                                      */
/* -------------------------------------------------------------------------- */
.espo-site {
  --espo-weight-regular: 400;
  --espo-weight-medium: 500;
  --espo-weight-semibold: 600;
}

.espo-site body,
.espo-site p,
.espo-site li,
.espo-site input,
.espo-site select,
.espo-site textarea,
.espo-site button {
  font-weight: var(--espo-weight-regular);
}

.espo-site h1,
.espo-site h2,
.espo-site h3 {
  letter-spacing: -.025em;
}

.espo-site .font-extrabold { font-weight: var(--espo-weight-semibold); }
.espo-site .font-bold { font-weight: var(--espo-weight-semibold); }
.espo-site .font-semibold { font-weight: var(--espo-weight-medium); }

.espo-site .espo-project-card-title {
  max-width: 28ch;
  font-size: clamp(1.05rem, 1.15vw, 1.2rem);
  font-weight: var(--espo-weight-medium);
  letter-spacing: -.018em;
  line-height: 1.35;
}

.espo-page-hero-inner h1 {
  max-width: 16ch;
  font-size: clamp(2.4rem, 4vw, 3.8rem);
  font-weight: var(--espo-weight-semibold);
  letter-spacing: -.035em;
  line-height: 1.08;
}

.espo-home-hero-inner .espo-hero-title {
  font-weight: var(--espo-weight-semibold);
  letter-spacing: -.035em;
}

.espo-project-related-card h3 {
  font-size: 1.05rem;
  font-weight: var(--espo-weight-medium);
  letter-spacing: -.015em;
  line-height: 1.4;
}

.espo-project-story-copy h2,
.espo-project-contact h2 {
  font-weight: var(--espo-weight-semibold);
}

.site-header nav a,
.espo-language-switcher a {
  font-weight: var(--espo-weight-medium);
  letter-spacing: .01em;
}

@media (max-width: 639px) {
  .espo-home-hero-inner .espo-hero-title > span:first-child {
    font-size: clamp(2.65rem, 13vw, 3.35rem);
  }
  .espo-home-hero-inner .espo-hero-title > span:last-child {
    font-size: clamp(1.7rem, 8vw, 2.25rem);
    line-height: 1.1;
  }
  .espo-page-hero-inner h1 {
    font-size: clamp(2.15rem, 10vw, 2.85rem);
  }
  .espo-project-hero-copy h1 {
    font-size: clamp(2rem, 9.5vw, 2.65rem);
    line-height: 1.1;
  }
}

/* -------------------------------------------------------------------------- */
/* ESPO Multilingual Typography — v2.4.0                                     */
/* Persian: Vazirmatn | Arabic: Noto Sans Arabic | Turkish: Manrope           */
/* -------------------------------------------------------------------------- */
:root {
  --espo-font-latin: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --espo-font-fa: "Vazirmatn", Tahoma, Arial, sans-serif;
  --espo-font-ar: "Noto Sans Arabic", "Vazirmatn", Tahoma, Arial, sans-serif;
}

html:lang(en) body,
html:lang(tr) body {
  font-family: var(--espo-font-latin);
}

html:lang(fa) body {
  font-family: var(--espo-font-fa);
  font-feature-settings: "kern" 1, "liga" 1;
  font-kerning: normal;
}

html:lang(ar) body {
  font-family: var(--espo-font-ar);
  font-feature-settings: "kern" 1, "liga" 1;
  font-kerning: normal;
}

/* Persian and Arabic scripts need more vertical room and no Latin tracking. */
html:lang(fa) .espo-site h1,
html:lang(fa) .espo-site h2,
html:lang(fa) .espo-site h3,
html:lang(ar) .espo-site h1,
html:lang(ar) .espo-site h2,
html:lang(ar) .espo-site h3,
html:lang(fa) .espo-page-hero-inner h1,
html:lang(ar) .espo-page-hero-inner h1,
html:lang(fa) .espo-home-hero-inner .espo-hero-title,
html:lang(ar) .espo-home-hero-inner .espo-hero-title,
html:lang(fa) .espo-project-card-title,
html:lang(ar) .espo-project-card-title,
html:lang(fa) .espo-project-related-card h3,
html:lang(ar) .espo-project-related-card h3 {
  letter-spacing: 0;
}

html:lang(fa) .espo-page-hero-inner h1,
html:lang(ar) .espo-page-hero-inner h1 {
  max-width: 19ch;
  font-size: clamp(2.25rem, 3.7vw, 3.5rem);
  font-weight: 600;
  line-height: 1.34;
}

html:lang(fa) .espo-home-hero-inner .espo-hero-title,
html:lang(ar) .espo-home-hero-inner .espo-hero-title {
  max-width: 14ch;
  font-weight: 600;
  line-height: 1.34;
}

html:lang(fa) .espo-project-hero-copy h1,
html:lang(ar) .espo-project-hero-copy h1 {
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: 0;
}

html:lang(fa) .espo-project-card-title,
html:lang(ar) .espo-project-card-title {
  max-width: 32ch;
  font-size: clamp(1.02rem, 1.1vw, 1.17rem);
  font-weight: 500;
  line-height: 1.65;
}

html:lang(fa) .espo-prose,
html:lang(ar) .espo-prose,
html:lang(fa) .espo-hero-copy,
html:lang(ar) .espo-hero-copy {
  line-height: 2;
}

html:lang(fa) .espo-prose h2,
html:lang(ar) .espo-prose h2 {
  line-height: 1.6;
}

html:lang(fa) .espo-prose h3,
html:lang(ar) .espo-prose h3 {
  line-height: 1.7;
}

/* Labels in connected scripts should not imitate Latin uppercase typography. */
html:lang(fa) .espo-section-label span:last-child,
html:lang(ar) .espo-section-label span:last-child,
html:lang(fa) .espo-credential-status,
html:lang(ar) .espo-credential-status {
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
}

html:lang(fa) .site-header nav a,
html:lang(ar) .site-header nav a,
html:lang(fa) button,
html:lang(ar) button,
html:lang(fa) input,
html:lang(ar) input,
html:lang(fa) select,
html:lang(ar) select,
html:lang(fa) textarea,
html:lang(ar) textarea {
  font-family: inherit;
}

/* Keep language abbreviations and international contact data visually Latin. */
.espo-language-switcher,
.espo-language-switcher a,
.espo-contact-value,
[dir="rtl"] [data-latin],
[dir="rtl"] code {
  font-family: var(--espo-font-latin);
}

/* Turkish remains Latin, with slightly softer display tracking. */
html:lang(tr) .espo-site h1,
html:lang(tr) .espo-site h2,
html:lang(tr) .espo-site h3 {
  letter-spacing: -.018em;
}

html:lang(tr) .espo-page-hero-inner h1,
html:lang(tr) .espo-home-hero-inner .espo-hero-title {
  letter-spacing: -.025em;
}

html:lang(tr) .espo-project-card-title {
  letter-spacing: -.01em;
}

@media (max-width: 639px) {
  html:lang(fa) .espo-page-hero-inner h1,
  html:lang(ar) .espo-page-hero-inner h1 {
    font-size: clamp(2rem, 9.2vw, 2.65rem);
    line-height: 1.42;
  }

  html:lang(fa) .espo-project-hero-copy h1,
  html:lang(ar) .espo-project-hero-copy h1 {
    font-size: clamp(1.85rem, 8.7vw, 2.45rem);
    line-height: 1.48;
  }

  html:lang(fa) .espo-home-hero-inner .espo-hero-title > span:first-child,
  html:lang(ar) .espo-home-hero-inner .espo-hero-title > span:first-child {
    font-size: clamp(2.35rem, 11.5vw, 3rem);
    line-height: 1.38;
  }

  html:lang(fa) .espo-home-hero-inner .espo-hero-title > span:last-child,
  html:lang(ar) .espo-home-hero-inner .espo-hero-title > span:last-child {
    font-size: clamp(1.55rem, 7.5vw, 2.05rem);
    line-height: 1.45;
  }
}

/* Accessible four-language dropdown (v2.5.1). */
.espo-language-dropdown {
  position: relative;
  display: inline-flex;
  z-index: 20;
  font-family: var(--espo-font-latin);
}
.espo-language-dropdown__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 5rem;
  min-height: 2.5rem;
  padding: .55rem .75rem;
  border: 1px solid var(--espo-line);
  border-radius: .5rem;
  background: rgba(255,255,255,.94);
  color: var(--espo-ink);
  box-shadow: 0 4px 14px rgba(23,25,28,.04);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.espo-language-dropdown__toggle:hover,
.espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown.is-open .espo-language-dropdown__toggle {
  border-color: rgba(183,137,54,.72);
  background: #fff;
  box-shadow: 0 7px 24px rgba(23,25,28,.09);
}
.espo-language-dropdown__toggle:focus-visible {
  outline: 2px solid var(--espo-yellow);
  outline-offset: 2px;
}
.espo-language-dropdown__globe { width: 1.1rem; height: 1.1rem; }
.espo-language-dropdown__code { min-width: 1.55rem; font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.espo-language-dropdown__chevron { width: .9rem; height: .9rem; transition: transform .18s ease; }
.espo-language-dropdown.is-open .espo-language-dropdown__chevron { transform: rotate(180deg); }
.espo-language-dropdown__menu {
  position: absolute;
  top: calc(100% + .65rem);
  inset-inline-end: 0;
  width: 13rem;
  overflow: hidden;
  border: 1px solid var(--espo-line);
  border-radius: .65rem;
  background: #fff;
  box-shadow: 0 18px 48px rgba(23,25,28,.16);
  transform-origin: top right;
}
.espo-language-dropdown__menu[hidden] { display: none; }
.espo-language-dropdown__item {
  --espo-language-accent: var(--espo-blue);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.15rem;
  padding: .75rem .9rem;
  color: var(--espo-ink);
  border-bottom: 1px solid var(--espo-line);
  transition: background-color .16s ease, padding-inline-start .16s ease;
}
.espo-language-dropdown__item:last-child { border-bottom: 0; }
.espo-language-dropdown__item::before {
  content: '';
  position: absolute;
  inset-block: .55rem;
  inset-inline-start: 0;
  width: 3px;
  border-radius: 99px;
  background: var(--espo-language-accent);
  opacity: 0;
  transform: scaleY(.4);
  transition: opacity .16s ease, transform .16s ease;
}
.espo-language-dropdown__item:hover,
.espo-language-dropdown__item:focus-visible,
.espo-language-dropdown__item.is-current { background: #f8f7f4; }
.espo-language-dropdown__item:hover::before,
.espo-language-dropdown__item:focus-visible::before,
.espo-language-dropdown__item.is-current::before { opacity: 1; transform: scaleY(1); }
.espo-language-dropdown__item:focus-visible { outline: 2px solid var(--espo-yellow); outline-offset: -2px; }
.espo-language-dropdown__name { font-size: .88rem; font-weight: 650; }
.espo-language-dropdown__meta { display: inline-flex; align-items: center; gap: .5rem; color: var(--espo-slate); }
.espo-language-dropdown__abbr { min-width: 1.6rem; text-align: end; font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.espo-language-dropdown__check { width: .95rem; height: .95rem; color: #b78936; }
.espo-language-dropdown__item--en { --espo-language-accent: var(--espo-blue); }
.espo-language-dropdown__item--fa { --espo-language-accent: var(--espo-yellow); }
.espo-language-dropdown__item--ar { --espo-language-accent: var(--espo-red); }
.espo-language-dropdown__item--tr { --espo-language-accent: var(--espo-green); }
.espo-language-dropdown--footer .espo-language-dropdown__toggle {
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.08);
  color: #fff;
  box-shadow: none;
}
.espo-language-dropdown--footer .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--footer .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--footer.is-open .espo-language-dropdown__toggle { background: rgba(255,255,255,.14); }
.espo-language-dropdown--footer .espo-language-dropdown__menu { bottom: calc(100% + .65rem); top: auto; }
.espo-language-dropdown--mobile { display: flex; width: 100%; margin-top: .75rem; }
.espo-language-dropdown--mobile .espo-language-dropdown__toggle { width: 100%; justify-content: space-between; }
.espo-language-dropdown--mobile .espo-language-dropdown__menu {
  position: static;
  width: 100%;
  margin-top: .5rem;
  box-shadow: 0 10px 28px rgba(23,25,28,.10);
}
.espo-language-dropdown--mobile.is-open { display: grid; }
html[dir="rtl"] .espo-language-dropdown__menu { transform-origin: top left; }
@media (max-width: 1279px) {
  .espo-language-dropdown__menu { width: 12.25rem; }
}


/* =========================================================
   ESPO language switcher — Compact Orbit UI v2.5.1.5
   Deliberately appended last so it overrides older rules.
   ========================================================= */
.espo-language-dropdown {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  z-index: 70;
}

.espo-language-dropdown__toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 58px;
  height: 34px;
  padding: 0 10px;
  border: 0 !important;
  border-radius: 999px;
  background: transparent !important;
  color: var(--espo-ink);
  box-shadow: none !important;
  cursor: pointer;
  isolation: isolate;
  transition: color .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), background-color .22s ease;
}

/* A restrained four-colour orbit appears only on interaction. */
.espo-language-dropdown__toggle::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from 215deg,
    #f7c600 0 24%,
    #0072bc 24% 49%,
    #e5252d 49% 74%,
    #008751 74% 100%);
  opacity: 0;
  transform: rotate(-14deg) scale(.88);
  transition: opacity .26s ease, transform .42s cubic-bezier(.16,1,.3,1);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

.espo-language-dropdown__toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--espo-yellow);
  opacity: 0;
  transform: translateX(-50%) scaleX(.2);
  transform-origin: center;
  transition: opacity .2s ease, transform .3s cubic-bezier(.16,1,.3,1);
}

.espo-language-dropdown__toggle:hover,
.espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown.is-open .espo-language-dropdown__toggle {
  color: #111;
  background: rgba(17,17,17,.035) !important;
  transform: translateY(-1px);
}

.espo-language-dropdown__toggle:hover::before,
.espo-language-dropdown__toggle:focus-visible::before,
.espo-language-dropdown.is-open .espo-language-dropdown__toggle::before {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.espo-language-dropdown__toggle:hover::after,
.espo-language-dropdown__toggle:focus-visible::after,
.espo-language-dropdown.is-open .espo-language-dropdown__toggle::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.espo-language-dropdown__toggle:focus-visible {
  outline: 2px solid rgba(0,114,188,.22) !important;
  outline-offset: 4px;
}

.espo-language-dropdown__globe {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 1.7;
  transition: transform .45s cubic-bezier(.16,1,.3,1), color .2s ease;
}
.espo-language-dropdown__toggle:hover .espo-language-dropdown__globe,
.espo-language-dropdown.is-open .espo-language-dropdown__globe {
  transform: rotate(18deg) scale(1.08);
  color: var(--espo-blue);
}

.espo-language-dropdown__code {
  min-width: auto !important;
  font-size: 11px !important;
  line-height: 1;
  font-weight: 750 !important;
  letter-spacing: .12em !important;
}

.espo-language-dropdown__chevron {
  width: 11px !important;
  height: 11px !important;
  opacity: .66;
  transition: transform .32s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.espo-language-dropdown.is-open .espo-language-dropdown__chevron {
  transform: rotate(180deg) translateY(-1px) !important;
  opacity: 1;
}

.espo-language-dropdown__menu {
  position: absolute;
  top: calc(100% + 11px) !important;
  inset-inline-end: 0;
  inset-inline-start: auto !important;
  width: 164px !important;
  padding: 7px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 50px rgba(17,24,39,.13), 0 2px 8px rgba(17,24,39,.06) !important;
  backdrop-filter: blur(16px) saturate(145%);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
  overflow: visible;
  transform-origin: top right;
}

.espo-language-dropdown__menu::before {
  content: "";
  position: absolute;
  top: -5px;
  inset-inline-end: 22px;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.98);
  border-left: 1px solid rgba(17,17,17,.08);
  border-top: 1px solid rgba(17,17,17,.08);
  transform: rotate(45deg);
}

.espo-language-dropdown__item {
  --espo-language-accent: #0072bc;
  --espo-language-rgb: 0,114,188;
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  padding: 0 10px 0 27px !important;
  border: 0 !important;
  border-radius: 10px;
  color: var(--espo-ink) !important;
  background: transparent !important;
  overflow: hidden;
  transition: transform .28s cubic-bezier(.16,1,.3,1), background-color .22s ease, color .22s ease;
}
html[dir="rtl"] .espo-language-dropdown__item {
  padding: 0 27px 0 10px !important;
}

/* Fine vertical trunk and coloured branch node. */
.espo-language-dropdown__item::before {
  content: "";
  position: absolute;
  inset-inline-start: 13px;
  top: -50%;
  width: 1px;
  height: 200%;
  background: rgba(17,17,17,.10);
  opacity: 1 !important;
  transform: none !important;
}
.espo-language-dropdown__item:first-child::before { top: 50%; height: 100%; }
.espo-language-dropdown__item:last-child::before { height: 100%; }

.espo-language-dropdown__item::after {
  content: "";
  position: absolute;
  inset-inline-start: 9px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--espo-language-accent);
  box-shadow: 0 0 0 0 rgba(var(--espo-language-rgb),.18);
  transform: translateY(-50%) scale(.72);
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease;
}

.espo-language-dropdown__item:hover,
.espo-language-dropdown__item:focus-visible,
.espo-language-dropdown__item.is-current {
  background: linear-gradient(90deg, rgba(var(--espo-language-rgb),.10), rgba(var(--espo-language-rgb),.025)) !important;
  transform: translateX(4px);
}
html[dir="rtl"] .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown__item.is-current {
  transform: translateX(-4px);
}

.espo-language-dropdown__item:hover::after,
.espo-language-dropdown__item:focus-visible::after,
.espo-language-dropdown__item.is-current::after {
  transform: translateY(-50%) scale(1);
  box-shadow: 0 0 0 5px rgba(var(--espo-language-rgb),.12);
}

.espo-language-dropdown__item:focus-visible {
  outline: 2px solid rgba(var(--espo-language-rgb),.24) !important;
  outline-offset: -1px;
}

.espo-language-dropdown__name {
  font-size: 12.5px !important;
  font-weight: 650 !important;
  white-space: nowrap;
}
.espo-language-dropdown__meta { gap: 5px !important; }
.espo-language-dropdown__abbr {
  min-width: 0 !important;
  font-size: 9.5px !important;
  letter-spacing: .08em !important;
  opacity: .45;
}
.espo-language-dropdown__check {
  width: 12px !important;
  height: 12px !important;
  color: var(--espo-language-accent) !important;
}

.espo-language-dropdown__item--en { --espo-language-accent:#0072bc; --espo-language-rgb:0,114,188; }
.espo-language-dropdown__item--ar { --espo-language-accent:#e5252d; --espo-language-rgb:229,37,45; }
.espo-language-dropdown__item--tr { --espo-language-accent:#008751; --espo-language-rgb:0,135,81; }
.espo-language-dropdown__item--fa { --espo-language-accent:#e9b800; --espo-language-rgb:233,184,0; }

/* Mobile/tablet: stays visible in the header, but remains visually tiny. */
.espo-mobile-header-actions {
  display: flex;
  align-items: center;
  gap: 2px;
}
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  min-width: 52px;
  height: 32px;
  padding-inline: 8px;
  gap: 5px;
}
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  width: 156px !important;
  inset-inline-end: -7px;
}

/* Header spacing protection: never resize the other actions. */
.espo-language-dropdown--header { margin-inline: 1px; }
.espo-language-dropdown--header .espo-language-dropdown__toggle { flex: 0 0 auto; }

/* Footer uses the same compact shape, adapted to dark background. */
.espo-language-dropdown--footer .espo-language-dropdown__toggle {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}
.espo-language-dropdown--footer .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--footer.is-open .espo-language-dropdown__toggle {
  background: rgba(255,255,255,.11) !important;
}
.espo-language-dropdown--footer .espo-language-dropdown__menu {
  top: auto !important;
  bottom: calc(100% + 11px) !important;
  transform-origin: bottom right;
}

@media (max-width: 767px) {
  .espo-language-dropdown__toggle {
    min-width: 50px;
    height: 31px;
    padding-inline: 8px;
  }
  .espo-language-dropdown__globe { width: 13px !important; height: 13px !important; }
  .espo-language-dropdown__code { font-size: 10px !important; }
  .espo-language-dropdown__chevron { width: 10px !important; height: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .espo-language-dropdown__toggle,
  .espo-language-dropdown__toggle::before,
  .espo-language-dropdown__toggle::after,
  .espo-language-dropdown__globe,
  .espo-language-dropdown__chevron,
  .espo-language-dropdown__item,
  .espo-language-dropdown__item::after {
    transition-duration: .01ms !important;
  }
}


/* ESPO v2.5.1.6 — accessible mobile/tablet language switcher in the top header */
@media (max-width: 1023px) {
  .site-header > .mx-auto {
    overflow: visible;
  }

  .espo-mobile-header-actions {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-inline-start: auto;
    z-index: 70;
  }

  .espo-language-dropdown--mobile-header {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
  }

  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    width: auto !important;
    min-width: 50px !important;
    height: 31px !important;
    padding-inline: 8px !important;
    justify-content: center !important;
  }

  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    bottom: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: -34px !important;
    width: 158px !important;
    max-width: calc(100vw - 24px);
    z-index: 1000;
  }

  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu::before {
    inset-inline-end: 48px;
    inset-inline-start: auto;
  }

  .espo-mobile-toggle {
    flex: 0 0 auto;
  }

  /* Never show the legacy full-width switcher at the end of the mobile drawer. */
  #espo-mobile-menu .espo-language-dropdown--mobile {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .espo-mobile-header-actions { gap: 0; }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    min-width: 46px !important;
    padding-inline: 6px !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
    inset-inline-end: -30px !important;
  }
}

/* ==========================================================================\n   ESPO Language Switcher — Brand Orbit v2.5.1.7\n   Compact utility control for desktop, tablet and mobile.\n   ========================================================================== */
.espo-language-dropdown--header,
.espo-language-dropdown--mobile-header {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  z-index: 80;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  position: relative;
  display: inline-grid !important;
  place-items: center;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
  color: var(--espo-ink) !important;
  box-shadow: 0 0 0 1px rgba(15,23,42,.08), 0 3px 12px rgba(15,23,42,.06) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: visible;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease, color .25s ease, background .25s ease !important;
}

.espo-language-dropdown__brand-ring {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from 15deg, #0072bc 0 25%, #e9b800 25% 50%, #e5252d 50% 75%, #008751 75% 100%);
  opacity: .32;
  transform: rotate(0deg) scale(.94);
  transition: opacity .32s ease, transform .55s cubic-bezier(.2,.8,.2,1);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--header .espo-language-dropdown__toggle::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after { content: none !important; }

.espo-language-dropdown--header .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
  width: 17px !important;
  height: 17px !important;
  stroke-width: 1.65;
  transition: transform .55s cubic-bezier(.2,.8,.2,1), color .25s ease !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle {
  color: #9a6a13 !important;
  background: rgba(255,255,255,.94) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 0 0 1px rgba(183,137,54,.14), 0 10px 24px rgba(15,23,42,.13) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover .espo-language-dropdown__brand-ring,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible .espo-language-dropdown__brand-ring,
.espo-language-dropdown--header.is-open .espo-language-dropdown__brand-ring,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover .espo-language-dropdown__brand-ring,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible .espo-language-dropdown__brand-ring,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__brand-ring {
  opacity: .95;
  transform: rotate(360deg) scale(1);
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover .espo-language-dropdown__globe,
.espo-language-dropdown--header.is-open .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__globe { transform: rotate(12deg) scale(1.06); }

.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible { outline: 2px solid rgba(0,114,188,.55) !important; outline-offset: 3px; }

.espo-language-dropdown--header .espo-language-dropdown__menu,
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  top: calc(100% + 12px) !important;
  bottom: auto !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  width: 174px !important;
  min-width: 174px !important;
  padding: 7px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 20px 55px rgba(15,23,42,.16), 0 2px 8px rgba(15,23,42,.05) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform-origin: top right !important;
  animation: espoLanguageCardIn .24s cubic-bezier(.2,.8,.2,1) both;
  overflow: hidden;
}

html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__menu,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__menu { transform-origin: top left !important; }

@keyframes espoLanguageCardIn {
  from { opacity: 0; transform: translateY(-7px) scale(.94); filter: blur(3px); }
  to   { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.espo-language-dropdown--header .espo-language-dropdown__item,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 39px;
  padding: 8px 10px 8px 13px !important;
  margin: 1px 0;
  border: 0 !important;
  border-radius: 10px;
  color: var(--espo-ink) !important;
  background: transparent !important;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), background .24s ease, color .2s ease !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item::before {
  content: "" !important;
  position: absolute;
  inset-inline-start: 6px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 99px;
  background: var(--espo-language-accent);
  transform: translateY(-50%) scale(.72);
  opacity: .7;
  transition: transform .24s ease, box-shadow .24s ease, opacity .24s ease;
}

.espo-language-dropdown--header .espo-language-dropdown__item:hover,
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--header .espo-language-dropdown__item.is-current,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current {
  transform: translateX(4px) !important;
  background: rgba(var(--espo-language-rgb), .085) !important;
  color: var(--espo-language-accent) !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item.is-current,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current { transform: translateX(-4px) !important; }

.espo-language-dropdown--header .espo-language-dropdown__item:hover::before,
.espo-language-dropdown--header .espo-language-dropdown__item.is-current::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current::before {
  opacity: 1;
  transform: translateY(-50%) scale(1.35);
  box-shadow: 0 0 0 5px rgba(var(--espo-language-rgb),.12), 0 0 16px rgba(var(--espo-language-rgb),.28);
}

.espo-language-dropdown--header .espo-language-dropdown__name,
.espo-language-dropdown--mobile-header .espo-language-dropdown__name { font-size: 13px !important; font-weight: 650 !important; }
.espo-language-dropdown--header .espo-language-dropdown__abbr,
.espo-language-dropdown--mobile-header .espo-language-dropdown__abbr { font-size: 9px !important; opacity: .58; }
.espo-language-dropdown--header .espo-language-dropdown__check,
.espo-language-dropdown--mobile-header .espo-language-dropdown__check { width: 13px !important; height: 13px !important; color: currentColor !important; }

.espo-mobile-header-actions {
  display: flex;
  align-items: center;
  gap: 3px;
}

@media (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__globe { width: 16px !important; height: 16px !important; }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
    position: fixed !important;
    top: 58px !important;
    right: 12px !important;
    left: auto !important;
    z-index: 9999 !important;
  }
  html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
    right: auto !important;
    left: 12px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu { top: 70px !important; right: 22px !important; }
  html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__menu { left: 22px !important; right: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  .espo-language-dropdown__brand-ring,
  .espo-language-dropdown__globe,
  .espo-language-dropdown__toggle,
  .espo-language-dropdown__menu,
  .espo-language-dropdown__item { animation: none !important; transition: none !important; }
}

/* ========================================================================== 
   ESPO Language Switcher — Stable Header Fix v2.5.1.8
   One control per breakpoint, clean menu typography, safer icon spacing.
   ========================================================================== */

/* Prevent the mobile controls from overriding Tailwind's lg:hidden utility. */
@media (min-width: 1024px) {
  .espo-mobile-header-actions { display: none !important; }
  .espo-language-dropdown--mobile-header { display: none !important; }
}

@media (max-width: 1023px) {
  .espo-language-dropdown--header { display: none !important; }
  .espo-mobile-header-actions {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin-inline-start: auto;
  }
}

/* Compact but comfortable icon button. */
.espo-language-dropdown--header .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 7px !important;
  gap: 0 !important;
  border: 1px solid rgba(17, 24, 39, .10) !important;
  border-radius: 999px !important;
  color: var(--espo-ink) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 2px 9px rgba(17,24,39,.045) !important;
  overflow: visible !important;
  isolation: isolate;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle {
  border-color: rgba(190,145,50,.48) !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(17,24,39,.10) !important;
  transform: translateY(-1px) !important;
}

/* Disable legacy underline and keep only the brand orbit. */
.espo-language-dropdown--header .espo-language-dropdown__toggle::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after {
  display: none !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before {
  inset: -3px !important;
  border-radius: 999px !important;
  padding: 1px !important;
  opacity: 0 !important;
  transform: rotate(-20deg) scale(.90) !important;
  pointer-events: none;
}
.espo-language-dropdown--header .espo-language-dropdown__toggle:hover::before,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover::before,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle::before {
  opacity: 1 !important;
  transform: rotate(0) scale(1) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
  position: relative !important;
  inset: auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex: 0 0 18px;
  z-index: 2;
}

/* These are accessibility-only in the icon control. */
.espo-language-dropdown--header .espo-language-dropdown__code,
.espo-language-dropdown--header .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header .espo-language-dropdown__code,
.espo-language-dropdown--mobile-header .espo-language-dropdown__chevron {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Clean dropdown: no text/icon collisions. */
.espo-language-dropdown--header .espo-language-dropdown__menu,
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  width: 176px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  z-index: 1200 !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 41px !important;
  padding: 0 13px 0 31px !important;
  gap: 10px !important;
  line-height: 1.25 !important;
  transform: none !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  padding: 0 31px 0 13px !important;
}

.espo-language-dropdown--header .espo-language-dropdown__name,
.espo-language-dropdown--mobile-header .espo-language-dropdown__name {
  position: relative !important;
  z-index: 2;
  display: block !important;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.espo-language-dropdown__status {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-inline-start: auto;
}
.espo-language-dropdown__status .espo-language-dropdown__check {
  position: static !important;
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item:hover,
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible {
  transform: translateX(3px) !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible {
  transform: translateX(-3px) !important;
}

/* Stable placement. */
.espo-language-dropdown--header .espo-language-dropdown__menu {
  top: calc(100% + 12px) !important;
  inset-inline-end: 0 !important;
}
@media (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 7px !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
    top: calc(100% + 11px) !important;
    inset-inline-end: 0 !important;
    width: 170px !important;
    max-width: calc(100vw - 20px) !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__menu::before {
    inset-inline-end: 13px !important;
  }
}


/* =========================================================
   ESPO 2.5.1.10 — definitive responsive header sizing
   Applied to explicit shell classes so Tailwind utility rules
   and prior language-switcher styles cannot override it.
   ========================================================= */
:root {
  --espo-header-h-mobile: 76px;
  --espo-header-h-tablet: 84px;
  --espo-header-h-desktop: 96px;
}

.site-header .espo-header-shell {
  height: var(--espo-header-h-mobile) !important;
  min-height: var(--espo-header-h-mobile) !important;
  overflow: visible !important;
  padding-top: 8px;
  padding-bottom: 8px;
}

.espo-main-shell {
  padding-top: var(--espo-header-h-mobile) !important;
}

.site-header .espo-custom-logo-image {
  height: 46px !important;
  width: auto !important;
  max-height: 100% !important;
}

@media (min-width: 768px) {
  .site-header .espo-header-shell {
    height: var(--espo-header-h-tablet) !important;
    min-height: var(--espo-header-h-tablet) !important;
    padding-top: 9px;
    padding-bottom: 9px;
  }
  .espo-main-shell {
    padding-top: var(--espo-header-h-tablet) !important;
  }
  .site-header .espo-custom-logo-image {
    height: 50px !important;
  }
}

@media (min-width: 1024px) {
  .site-header .espo-header-shell {
    height: var(--espo-header-h-desktop) !important;
    min-height: var(--espo-header-h-desktop) !important;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .espo-main-shell {
    padding-top: var(--espo-header-h-desktop) !important;
  }
  .site-header .espo-custom-logo-image {
    height: 54px !important;
  }
}

/* Do not collapse the header after scrolling. */
.site-header.is-scrolled .espo-header-shell {
  height: inherit;
}


/* =========================================================
   ESPO 2.5.1.11 — current language label + restored CTA scale
   ========================================================= */

/* Restore the original, confident CTA scale in the site header. */
.site-header .espo-btn {
  min-height: 3rem !important;
  padding: .9rem 1.5rem !important;
  font-size: .8125rem !important;
  line-height: 1 !important;
}

/* Language control: compact, but large enough to show the current locale. */
.espo-language-dropdown--header .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  width: auto !important;
  min-width: 76px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 13px !important;
  gap: 8px !important;
  overflow: visible !important;
}

.espo-language-dropdown--header .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

.espo-language-dropdown--header .espo-language-dropdown__code,
.espo-language-dropdown--mobile-header .espo-language-dropdown__code {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  border: 0 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  color: currentColor !important;
}

.espo-language-dropdown--header .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header .espo-language-dropdown__chevron {
  position: static !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border: 0 !important;
  flex: 0 0 12px !important;
  opacity: .58;
  transition: transform .24s cubic-bezier(.22,1,.36,1), opacity .24s ease !important;
}

.espo-language-dropdown--header.is-open .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__chevron {
  transform: rotate(180deg) !important;
  opacity: .9;
}

@media (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    min-width: 70px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-inline: 11px !important;
    gap: 7px !important;
  }

  .espo-language-dropdown--mobile-header .espo-language-dropdown__code {
    font-size: 11px !important;
  }
}

@media (max-width: 420px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    min-width: 66px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding-inline: 10px !important;
  }
}

/* =========================================================
   ESPO 2.5.1.12 — restore the 2.5.1.6 language-control look
   while retaining the current-language label and stable header
   ========================================================= */

/* The dedicated brand ring from later experiments is not used in this version. */
.espo-language-dropdown--header .espo-language-dropdown__brand-ring,
.espo-language-dropdown--mobile-header .espo-language-dropdown__brand-ring {
  display: none !important;
}

/* Button geometry: 2.5.1.6 visual language, enlarged just enough for EN/FA/AR/TR. */
.espo-language-dropdown--header .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 72px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  gap: 7px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--espo-ink) !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: isolate;
  transform: none;
  transition: color .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), background-color .22s ease !important;
}

/* Four-colour ESPO orbit from v2.5.1.6. */
.espo-language-dropdown--header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: inherit !important;
  padding: 1px !important;
  background: conic-gradient(from 215deg,
    #f7c600 0 24%,
    #0072bc 24% 49%,
    #e5252d 49% 74%,
    #008751 74% 100%) !important;
  opacity: 0 !important;
  transform: rotate(-14deg) scale(.88) !important;
  transition: opacity .26s ease, transform .42s cubic-bezier(.16,1,.3,1) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
          mask-composite: exclude !important;
  pointer-events: none !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -4px !important;
  width: 18px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--espo-yellow) !important;
  opacity: 0 !important;
  transform: translateX(-50%) scaleX(.2) !important;
  transform-origin: center !important;
  transition: opacity .2s ease, transform .3s cubic-bezier(.16,1,.3,1) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle {
  color: #111 !important;
  background: rgba(17,17,17,.035) !important;
  transform: translateY(-1px) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover::before,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible::before,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible::before,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle::before {
  opacity: 1 !important;
  transform: rotate(0deg) scale(1) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover::after,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible::after,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible::after,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle::after {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible {
  outline: 2px solid rgba(0,114,188,.22) !important;
  outline-offset: 4px !important;
}

.espo-language-dropdown--header .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
  position: static !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  color: currentColor !important;
  stroke-width: 1.7 !important;
  transition: transform .45s cubic-bezier(.16,1,.3,1), color .2s ease !important;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle:hover .espo-language-dropdown__globe,
.espo-language-dropdown--header.is-open .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__globe {
  transform: rotate(18deg) scale(1.08) !important;
  color: var(--espo-blue) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__code,
.espo-language-dropdown--mobile-header .espo-language-dropdown__code {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 20px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  border: 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: .12em !important;
  color: currentColor !important;
}

.espo-language-dropdown--header .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header .espo-language-dropdown__chevron {
  position: static !important;
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  flex: 0 0 11px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  opacity: .66 !important;
  transform: none !important;
  transition: transform .32s cubic-bezier(.16,1,.3,1), opacity .2s ease !important;
}

.espo-language-dropdown--header.is-open .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__chevron {
  transform: rotate(180deg) translateY(-1px) !important;
  opacity: 1 !important;
}

/* Restore the v2.5.1.6 glass card and coloured tree hover treatment. */
.espo-language-dropdown--header .espo-language-dropdown__menu,
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  width: 164px !important;
  padding: 7px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 50px rgba(17,24,39,.13), 0 2px 8px rgba(17,24,39,.06) !important;
  backdrop-filter: blur(16px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  overflow: visible !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 36px !important;
  padding: 0 10px 0 27px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--espo-ink) !important;
  background: transparent !important;
  overflow: hidden !important;
  transform: none !important;
  transition: transform .28s cubic-bezier(.16,1,.3,1), background-color .22s ease, color .22s ease !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  padding: 0 27px 0 10px !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item::before {
  content: "" !important;
  position: absolute !important;
  inset-inline-start: 13px !important;
  top: -50% !important;
  width: 1px !important;
  height: 200% !important;
  border-radius: 0 !important;
  background: rgba(17,17,17,.10) !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__item:first-child::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:first-child::before { top: 50% !important; height: 100% !important; }
.espo-language-dropdown--header .espo-language-dropdown__item:last-child::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:last-child::before { height: 100% !important; }

.espo-language-dropdown--header .espo-language-dropdown__item::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item::after {
  content: "" !important;
  position: absolute !important;
  inset-inline-start: 9px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: var(--espo-language-accent) !important;
  box-shadow: 0 0 0 0 rgba(var(--espo-language-rgb),.18) !important;
  transform: translateY(-50%) scale(.72) !important;
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item:hover,
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--header .espo-language-dropdown__item.is-current,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current {
  color: var(--espo-ink) !important;
  background: linear-gradient(90deg, rgba(var(--espo-language-rgb),.10), rgba(var(--espo-language-rgb),.025)) !important;
  transform: translateX(4px) !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item.is-current,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current {
  transform: translateX(-4px) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item:hover::after,
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible::after,
.espo-language-dropdown--header .espo-language-dropdown__item.is-current::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current::after {
  transform: translateY(-50%) scale(1) !important;
  box-shadow: 0 0 0 5px rgba(var(--espo-language-rgb),.12) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__name,
.espo-language-dropdown--mobile-header .espo-language-dropdown__name {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}

.espo-language-dropdown--header .espo-language-dropdown__status,
.espo-language-dropdown--mobile-header .espo-language-dropdown__status {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin-inline-start: 8px !important;
  color: var(--espo-language-accent) !important;
  background: transparent !important;
}

@media (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    min-width: 68px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding-inline: 10px !important;
    gap: 6px !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
    width: 14px !important;
    height: 14px !important;
    flex-basis: 14px !important;
  }
  .espo-language-dropdown--mobile-header .espo-language-dropdown__code {
    min-width: 18px !important;
    font-size: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .espo-language-dropdown--header .espo-language-dropdown__toggle,
  .espo-language-dropdown--header .espo-language-dropdown__toggle::before,
  .espo-language-dropdown--header .espo-language-dropdown__toggle::after,
  .espo-language-dropdown--header .espo-language-dropdown__globe,
  .espo-language-dropdown--header .espo-language-dropdown__chevron,
  .espo-language-dropdown--header .espo-language-dropdown__item,
  .espo-language-dropdown--header .espo-language-dropdown__item::after,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__globe,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__chevron,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__item,
  .espo-language-dropdown--mobile-header .espo-language-dropdown__item::after {
    transition: none !important;
    animation: none !important;
  }
}


/* ESPO multi-office WhatsApp hub. */
.espo-whatsapp-hub {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .8rem;
  font-family: inherit;
}
.espo-whatsapp-trigger {
  position: relative;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #2bd96b 0%, #18ad55 100%);
  box-shadow: 0 14px 34px rgba(0,116,57,.25), 0 4px 12px rgba(15,23,42,.16);
  cursor: pointer;
  isolation: isolate;
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, filter .28s ease;
  animation: espo-whatsapp-in .5s cubic-bezier(.22,1,.36,1) .7s both;
}
.espo-whatsapp-trigger::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: inherit;
  pointer-events: none;
}
.espo-whatsapp-trigger:hover {
  transform: translateY(-3px) scale(1.035);
  box-shadow: 0 19px 42px rgba(0,116,57,.3), 0 6px 16px rgba(15,23,42,.18);
  filter: saturate(1.08);
}
.espo-whatsapp-trigger:focus-visible {
  outline: 3px solid rgba(0,114,188,.3);
  outline-offset: 4px;
}
.espo-whatsapp-trigger__icon {
  width: 29px;
  height: 29px;
  position: relative;
  z-index: 2;
  transition: opacity .2s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.espo-whatsapp-trigger__close {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  opacity: 0;
  transform: rotate(-70deg) scale(.65);
  transition: opacity .2s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.espo-whatsapp-hub.is-open .espo-whatsapp-trigger__icon { opacity: 0; transform: rotate(70deg) scale(.65); }
.espo-whatsapp-hub.is-open .espo-whatsapp-trigger__close { opacity: 1; transform: rotate(0) scale(1); }
.espo-whatsapp-trigger__pulse {
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(37,211,102,.42);
  border-radius: 50%;
  z-index: -1;
  animation: espo-whatsapp-pulse 2.5s ease-out infinite;
}
@keyframes espo-whatsapp-pulse {
  0%, 45% { opacity: 0; transform: scale(.92); }
  60% { opacity: .75; }
  100% { opacity: 0; transform: scale(1.27); }
}
.espo-whatsapp-panel[hidden] { display: none !important; }
.espo-whatsapp-panel {
  width: min(330px, calc(100vw - 2.5rem));
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.09);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 70px rgba(15,23,42,.18), 0 4px 16px rgba(15,23,42,.08);
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  transform-origin: bottom right;
  opacity: 0;
  transform: translateY(10px) scale(.965);
}
.espo-whatsapp-hub.is-open .espo-whatsapp-panel {
  animation: espo-whatsapp-panel-in .3s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes espo-whatsapp-panel-in { to { opacity: 1; transform: translateY(0) scale(1); } }
.espo-whatsapp-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.15rem 1rem;
  color: #fff;
  background: linear-gradient(135deg, #0b8f49 0%, #16b85d 100%);
}
.espo-whatsapp-panel__head strong { display: block; font-size: .98rem; line-height: 1.3; font-weight: 750; letter-spacing: -.01em; }
.espo-whatsapp-panel__head span { display: block; margin-top: .24rem; color: rgba(255,255,255,.78); font-size: .75rem; line-height: 1.5; }
.espo-whatsapp-panel__close {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.espo-whatsapp-panel__close:hover { background: rgba(255,255,255,.2); transform: rotate(5deg); }
.espo-whatsapp-panel__list { padding: .65rem; }
.espo-whatsapp-office {
  --office-accent: 0,114,188;
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 30px;
  align-items: center;
  gap: .7rem;
  min-height: 64px;
  padding: .62rem .7rem;
  border-radius: 14px;
  color: #111827;
  text-decoration: none;
  overflow: hidden;
  transition: background .24s ease, transform .24s cubic-bezier(.22,1,.36,1), box-shadow .24s ease;
}
.espo-whatsapp-office + .espo-whatsapp-office { margin-top: .25rem; }
.espo-whatsapp-office--red { --office-accent: 238,46,36; }
.espo-whatsapp-office--green { --office-accent: 0,116,57; }
.espo-whatsapp-office::before {
  content: "";
  position: absolute;
  inset-block: .72rem;
  inset-inline-start: 0;
  width: 3px;
  border-radius: 999px;
  background: rgb(var(--office-accent));
  opacity: 0;
  transform: scaleY(.35);
  transition: opacity .24s ease, transform .24s cubic-bezier(.22,1,.36,1);
}
.espo-whatsapp-office:hover,
.espo-whatsapp-office:focus-visible {
  background: rgba(var(--office-accent),.075);
  transform: translateX(-2px);
  box-shadow: inset 0 0 0 1px rgba(var(--office-accent),.09);
  outline: none;
}
.espo-whatsapp-office:hover::before,
.espo-whatsapp-office:focus-visible::before { opacity: 1; transform: scaleY(1); }
.espo-whatsapp-office__flag {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 12px;
  background: #fff;
  font-size: 1.2rem;
  box-shadow: 0 4px 12px rgba(15,23,42,.06);
}
.espo-whatsapp-office__copy { min-width: 0; display: flex; flex-direction: column; gap: .18rem; }
.espo-whatsapp-office__copy strong { font-size: .9rem; line-height: 1.25; font-weight: 720; }
.espo-whatsapp-office__copy small { color: #64748b; font-size: .72rem; line-height: 1.25; white-space: nowrap; }
.espo-whatsapp-office__arrow {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: rgb(var(--office-accent));
  background: rgba(var(--office-accent),.08);
  transform: translateX(3px);
  opacity: .78;
  transition: transform .24s cubic-bezier(.22,1,.36,1), background .24s ease, opacity .24s ease;
}
.espo-whatsapp-office:hover .espo-whatsapp-office__arrow,
.espo-whatsapp-office:focus-visible .espo-whatsapp-office__arrow { transform: translateX(0) rotate(3deg); background: rgba(var(--office-accent),.14); opacity: 1; }
[dir="rtl"] .espo-whatsapp-hub { right: auto; left: 1.25rem; align-items: flex-start; }
[dir="rtl"] .espo-whatsapp-panel { transform-origin: bottom left; }
[dir="rtl"] .espo-whatsapp-office:hover,
[dir="rtl"] .espo-whatsapp-office:focus-visible { transform: translateX(2px); }
[dir="rtl"] .espo-whatsapp-office__arrow { transform: translateX(-3px) scaleX(-1); }
[dir="rtl"] .espo-whatsapp-office:hover .espo-whatsapp-office__arrow,
[dir="rtl"] .espo-whatsapp-office:focus-visible .espo-whatsapp-office__arrow { transform: translateX(0) scaleX(-1) rotate(3deg); }
@media (max-width: 639px) {
  .espo-whatsapp-hub { right: 1rem; bottom: 1rem; }
  [dir="rtl"] .espo-whatsapp-hub { right: auto; left: 1rem; }
  .espo-whatsapp-trigger { width: 54px; height: 54px; }
  .espo-whatsapp-trigger__icon { width: 27px; height: 27px; }
  .espo-whatsapp-panel { width: min(310px, calc(100vw - 2rem)); border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .espo-whatsapp-trigger,
  .espo-whatsapp-trigger__pulse,
  .espo-whatsapp-panel { animation: none !important; }
  .espo-whatsapp-panel { opacity: 1; transform: none; }
}

/* ESPO WhatsApp hub — compact luxury refinement (v2.5.1.14). */
.espo-whatsapp-hub {
  gap: .62rem;
}
.espo-whatsapp-trigger {
  width: 52px;
  height: 52px;
  background: linear-gradient(145deg, #27c865 0%, #139c4b 100%);
  box-shadow: 0 10px 26px rgba(0,116,57,.20), 0 3px 10px rgba(15,23,42,.12);
}
.espo-whatsapp-trigger::before {
  inset: 2px;
  border-color: rgba(255,255,255,.30);
}
.espo-whatsapp-trigger:hover {
  transform: translateY(-2px) scale(1.025);
  box-shadow: 0 14px 30px rgba(0,116,57,.24), 0 5px 12px rgba(15,23,42,.14);
  filter: none;
}
.espo-whatsapp-trigger__icon {
  width: 25px;
  height: 25px;
}
.espo-whatsapp-trigger__pulse {
  inset: -3px;
  border-color: rgba(37,211,102,.24);
  animation-duration: 3.2s;
}
.espo-whatsapp-panel {
  width: min(292px, calc(100vw - 2.5rem));
  border-radius: 16px;
  border-color: rgba(15,23,42,.08);
  box-shadow: 0 18px 48px rgba(15,23,42,.15), 0 3px 12px rgba(15,23,42,.06);
  background: rgba(255,255,255,.975);
}
.espo-whatsapp-panel__head {
  position: relative;
  align-items: center;
  gap: .75rem;
  padding: .9rem .95rem .78rem;
  color: #0f172a;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(15,23,42,.07);
}
.espo-whatsapp-panel__head::before {
  content: "";
  position: absolute;
  inset-inline-start: .95rem;
  bottom: -1px;
  width: 42px;
  height: 2px;
  border-radius: 999px;
  background: #25d366;
}
.espo-whatsapp-panel__head strong {
  font-size: .9rem;
  line-height: 1.25;
  font-weight: 750;
}
.espo-whatsapp-panel__head span {
  margin-top: .16rem;
  color: #64748b;
  font-size: .68rem;
  line-height: 1.4;
}
.espo-whatsapp-panel__close {
  width: 27px;
  height: 27px;
  border-color: rgba(15,23,42,.08);
  background: #f8fafc;
  color: #64748b;
}
.espo-whatsapp-panel__close:hover {
  background: #f1f5f9;
  color: #0f172a;
  transform: none;
}
.espo-whatsapp-panel__list {
  padding: .48rem;
}
.espo-whatsapp-office {
  grid-template-columns: 32px minmax(0,1fr) 26px;
  gap: .58rem;
  min-height: 54px;
  padding: .5rem .56rem;
  border-radius: 11px;
}
.espo-whatsapp-office + .espo-whatsapp-office {
  margin-top: .12rem;
}
.espo-whatsapp-office::before {
  inset-block: .62rem;
  width: 2px;
}
.espo-whatsapp-office:hover,
.espo-whatsapp-office:focus-visible {
  background: rgba(15,23,42,.035);
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.055);
}
.espo-whatsapp-office__flag {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  font-size: 1rem;
  box-shadow: none;
}
.espo-whatsapp-office__copy {
  gap: .1rem;
}
.espo-whatsapp-office__copy strong {
  font-size: .82rem;
  font-weight: 700;
}
.espo-whatsapp-office__copy small {
  color: #7c8798;
  font-size: .66rem;
}
.espo-whatsapp-office__arrow {
  width: 26px;
  height: 26px;
  color: #64748b;
  background: rgba(15,23,42,.045);
  opacity: .88;
  transform: translateX(2px);
}
.espo-whatsapp-office:hover .espo-whatsapp-office__arrow,
.espo-whatsapp-office:focus-visible .espo-whatsapp-office__arrow {
  color: #334155;
  background: rgba(15,23,42,.075);
  transform: translateX(0);
  opacity: 1;
}
[dir="rtl"] .espo-whatsapp-office__arrow {
  transform: translateX(-2px) scaleX(-1);
}
[dir="rtl"] .espo-whatsapp-office:hover .espo-whatsapp-office__arrow,
[dir="rtl"] .espo-whatsapp-office:focus-visible .espo-whatsapp-office__arrow {
  transform: translateX(0) scaleX(-1);
}
@media (max-width: 639px) {
  .espo-whatsapp-trigger {
    width: 48px;
    height: 48px;
  }
  .espo-whatsapp-trigger__icon {
    width: 23px;
    height: 23px;
  }
  .espo-whatsapp-panel {
    width: min(282px, calc(100vw - 2rem));
    border-radius: 15px;
  }
}


/* ESPO WhatsApp hub — language-first luxury refinement (v2.5.1.15). */
.espo-whatsapp-panel {
  width: min(272px, calc(100vw - 2.5rem));
}
.espo-whatsapp-panel__head {
  padding: .82rem .9rem .72rem;
}
.espo-whatsapp-panel__head::before {
  inset-inline-start: .9rem;
  width: 34px;
}
.espo-whatsapp-panel__list {
  padding: .4rem;
}
.espo-whatsapp-office {
  grid-template-columns: minmax(0, 1fr);
  min-height: 48px;
  padding: .58rem .7rem;
  border-radius: 10px;
}
.espo-whatsapp-office__copy {
  gap: .08rem;
}
.espo-whatsapp-office__copy strong {
  font-size: .81rem;
  letter-spacing: -.005em;
}
.espo-whatsapp-office__copy small {
  font-size: .63rem;
}
.espo-whatsapp-office::before {
  opacity: 0;
  transform: scaleY(.2);
  transform-origin: center;
  transition: opacity .22s ease, transform .28s cubic-bezier(.22,1,.36,1);
}
.espo-whatsapp-office:hover,
.espo-whatsapp-office:focus-visible {
  transform: translateX(4px);
  background: rgba(37,211,102,.045);
  box-shadow: inset 0 0 0 1px rgba(37,211,102,.10);
}
.espo-whatsapp-office:hover::before,
.espo-whatsapp-office:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}
[dir="rtl"] .espo-whatsapp-office:hover,
[dir="rtl"] .espo-whatsapp-office:focus-visible {
  transform: translateX(-4px);
}
.espo-whatsapp-office__flag,
.espo-whatsapp-office__arrow {
  display: none !important;
}
@media (max-width: 639px) {
  .espo-whatsapp-panel { width: min(268px, calc(100vw - 2rem)); }
}


/* Footer language navigation — direct, quiet and optimized for the dark footer. */
.espo-footer-languages {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.espo-footer-language {
  position: relative;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 1.55rem;
  color: rgba(255,255,255,.78);
  font-size: .875rem;
  line-height: 1.35;
  text-decoration: none;
  transition: color .22s ease, transform .22s ease;
}
.espo-footer-language::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  bottom: -.18rem;
  width: 100%;
  height: 1px;
  background: var(--espo-yellow);
  transform: scaleX(0);
  transform-origin: center;
  opacity: .95;
  transition: transform .24s cubic-bezier(.2,.8,.2,1);
}
.espo-footer-language:hover,
.espo-footer-language:focus-visible,
.espo-footer-language.is-current {
  color: #fff;
  transform: translateY(-1px);
}
.espo-footer-language:hover::after,
.espo-footer-language:focus-visible::after,
.espo-footer-language.is-current::after {
  transform: scaleX(1);
}
.espo-footer-language:focus-visible {
  outline: 2px solid rgba(255,255,255,.85);
  outline-offset: 4px;
  border-radius: 2px;
}
.espo-footer-language.is-current {
  font-weight: 700;
}
@media (max-width: 767px) {
  .espo-footer-language-column { margin-top: .25rem; }
  .espo-footer-languages { grid-template-columns: repeat(2, minmax(0, max-content)); column-gap: 1.5rem; row-gap: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .espo-footer-language,
  .espo-footer-language::after { transition: none; }
}

/* =========================================================
   ESPO 2.5.1.17 — Why ESPO editorial bento redesign
   ========================================================= */
.espo-why-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(5rem, 8vw, 8rem) 0;
  color: #111827;
  background:
    linear-gradient(90deg, rgba(17,24,39,.035) 1px, transparent 1px),
    linear-gradient(rgba(17,24,39,.035) 1px, transparent 1px),
    radial-gradient(circle at 86% 5%, rgba(0,114,188,.12), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #f2f6f9 55%, #eef5f8 100%);
  background-size: 72px 72px, 72px 72px, auto, auto;
}
.espo-why-section::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, #ffdd00 0 25%, #0072bc 25% 50%, #ee2e24 50% 75%, #007439 75%);
}
.espo-why-orbit {
  position: absolute;
  border: 1px solid rgba(0,114,188,.11);
  border-radius: 999px;
  pointer-events: none;
}
.espo-why-orbit--one { width: 430px; height: 430px; right: -180px; top: -250px; }
.espo-why-orbit--two { width: 240px; height: 240px; right: 4%; bottom: -150px; border-color: rgba(200,154,43,.13); }
.espo-why-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: clamp(2.25rem, 5vw, 4.5rem);
}
.espo-why-heading .espo-section-label span:last-child { color: #64748b; }
.espo-why-title {
  max-width: 900px;
  font-size: clamp(2.45rem, 5vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 800;
  text-wrap: balance;
}
.espo-why-title span {
  display: block;
  color: #0072bc;
}
.espo-why-mark {
  display: grid;
  grid-template-columns: repeat(2, 17px);
  gap: 6px;
  flex: none;
  padding-bottom: .7rem;
}
.espo-why-mark span { width: 17px; height: 17px; border-radius: 2px; }
.espo-why-mark span:nth-child(1) { background:#ffdd00; }
.espo-why-mark span:nth-child(2) { background:#0072bc; }
.espo-why-mark span:nth-child(3) { background:#ee2e24; }
.espo-why-mark span:nth-child(4) { background:#007439; }
.espo-why-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(.9rem, 1.6vw, 1.35rem);
}
.espo-why-card {
  --why-color:#0072bc;
  position: relative;
  min-height: 260px;
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(1.55rem, 2.5vw, 2.25rem);
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(15,23,42,.09);
  box-shadow: 0 12px 40px rgba(15,23,42,.045);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s ease, border-color .42s ease, background-color .42s ease;
}
.espo-why-card:nth-child(2), .espo-why-card:nth-child(5) { grid-column: span 3; }
.espo-why-card:nth-child(3), .espo-why-card:nth-child(4) { grid-column: span 4; }
.espo-why-card:nth-child(6) { grid-column: span 5; }
.espo-why-card::after {
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  right:-88px;
  top:-88px;
  background: color-mix(in srgb, var(--why-color) 11%, transparent);
  transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
}
.espo-why-card:hover {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--why-color) 35%, rgba(15,23,42,.08));
  box-shadow: 0 25px 70px rgba(15,23,42,.13);
  background: #fff;
}
.espo-why-card:hover::after { transform: scale(1.8); opacity:.8; }
.espo-why-card--feature {
  grid-column: span 5;
  min-height: 310px;
  color: #fff;
  background: linear-gradient(145deg, #111827 0%, #17263d 58%, #0a4774 100%);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 25px 65px rgba(15,23,42,.16);
}
.espo-why-card--feature:hover { background: linear-gradient(145deg, #0f172a 0%, #17263d 52%, #07598f 100%); }
.espo-why-card__top { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; }
.espo-why-card__icon {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color: var(--why-color);
  background: color-mix(in srgb, var(--why-color) 10%, #fff);
  border:1px solid color-mix(in srgb, var(--why-color) 22%, transparent);
  border-radius: 14px;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), color .3s ease, background .3s ease;
}
.espo-why-card--feature .espo-why-card__icon { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.13); }
.espo-why-card:hover .espo-why-card__icon { transform: translateY(-3px) rotate(-5deg) scale(1.06); background:var(--why-color); color:#fff; }
.espo-why-card__number { font: 600 .75rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.12em; color:#94a3b8; }
.espo-why-card--feature .espo-why-card__number { color:rgba(255,255,255,.55); }
.espo-why-card__body { position:relative; z-index:2; margin-top:3rem; }
.espo-why-card__body h3 { max-width: 30rem; font-size:clamp(1.18rem, 1.5vw, 1.55rem); line-height:1.18; letter-spacing:-.025em; font-weight:750; }
.espo-why-card__body p { max-width:34rem; margin-top:.8rem; color:#64748b; font-size:.94rem; line-height:1.75; }
.espo-why-card--feature .espo-why-card__body h3 { font-size:clamp(1.5rem, 2vw, 2rem); }
.espo-why-card--feature .espo-why-card__body p { color:rgba(255,255,255,.72); }
.espo-why-card__line {
  position:absolute;
  left:0;
  bottom:0;
  width:42px;
  height:4px;
  background:var(--why-color);
  transition:width .48s cubic-bezier(.2,.8,.2,1);
}
.espo-why-card:hover .espo-why-card__line { width:100%; }
@media (max-width: 1023px) {
  .espo-why-card,
  .espo-why-card:nth-child(n),
  .espo-why-card--feature { grid-column:span 6; min-height:250px; }
  .espo-why-card--feature { min-height:290px; }
}
@media (max-width: 639px) {
  .espo-why-section { padding:4.5rem 0; background-size:44px 44px,44px 44px,auto,auto; }
  .espo-why-section::before { width:4px; }
  .espo-why-heading { align-items:flex-start; padding-bottom:2.5rem; }
  .espo-why-mark { grid-template-columns:repeat(4,10px); gap:4px; padding-top:.5rem; }
  .espo-why-mark span { width:10px; height:10px; }
  .espo-why-title { font-size:clamp(2.2rem, 12vw, 3.6rem); }
  .espo-why-grid { grid-template-columns:1fr; gap:.8rem; }
  .espo-why-card,
  .espo-why-card:nth-child(n),
  .espo-why-card--feature { grid-column:1; min-height:230px; padding:1.4rem; }
  .espo-why-card--feature { min-height:265px; }
  .espo-why-card__body { margin-top:2.4rem; }
  .espo-why-card:hover { transform:translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .espo-why-card, .espo-why-card::after, .espo-why-card__icon, .espo-why-card__line { transition:none !important; }
}

/* =========================================================
   ESPO 2.5.1.18 — Compact Why ESPO viewport layout
   Keeps the editorial character while reducing reading fatigue.
   ========================================================= */
.espo-why-section {
  padding: clamp(3.2rem, 5.2vw, 4.8rem) 0;
}
.espo-why-heading {
  align-items: center;
  padding-bottom: clamp(1.45rem, 2.4vw, 2.1rem);
}
.espo-why-title {
  max-width: 760px;
  font-size: clamp(2.15rem, 3.5vw, 3.7rem);
  line-height: 1;
}
.espo-why-mark {
  grid-template-columns: repeat(4, 11px);
  gap: 5px;
  padding-bottom: 0;
}
.espo-why-mark span {
  width: 11px;
  height: 11px;
}
.espo-why-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.7rem, 1vw, 1rem);
}
.espo-why-card,
.espo-why-card:nth-child(n),
.espo-why-card--feature {
  grid-column: span 1;
  min-height: 174px;
  padding: clamp(1rem, 1.4vw, 1.35rem);
}
.espo-why-card--feature {
  min-height: 174px;
}
.espo-why-card__icon {
  width: 39px;
  height: 39px;
  border-radius: 11px;
}
.espo-why-card__icon svg {
  width: 20px;
  height: 20px;
}
.espo-why-card__body {
  margin-top: 1.25rem;
}
.espo-why-card__body h3,
.espo-why-card--feature .espo-why-card__body h3 {
  font-size: clamp(1rem, 1.15vw, 1.22rem);
  line-height: 1.2;
}
.espo-why-card__body p,
.espo-why-card--feature .espo-why-card__body p {
  margin-top: .48rem;
  font-size: .82rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.espo-why-card:hover {
  transform: translateY(-5px);
}
.espo-why-card__line {
  height: 3px;
}

@media (min-width: 1024px) and (min-height: 680px) {
  .espo-why-section {
    min-height: min(700px, calc(100svh - 96px));
    display: flex;
    align-items: center;
  }
}

@media (max-width: 1023px) {
  .espo-why-section {
    padding: 3.6rem 0;
  }
  .espo-why-heading {
    padding-bottom: 1.75rem;
  }
  .espo-why-title {
    font-size: clamp(2rem, 5.5vw, 3.15rem);
  }
  .espo-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
  }
  .espo-why-card,
  .espo-why-card:nth-child(n),
  .espo-why-card--feature {
    grid-column: span 1;
    min-height: 164px;
    padding: 1.1rem;
  }
  .espo-why-card__body {
    margin-top: 1rem;
  }
}

@media (max-width: 639px) {
  .espo-why-section {
    padding: 3rem 0;
    background-size: 40px 40px, 40px 40px, auto, auto;
  }
  .espo-why-heading {
    gap: 1rem;
    padding-bottom: 1.5rem;
  }
  .espo-why-title {
    font-size: clamp(1.9rem, 10vw, 2.8rem);
  }
  .espo-why-grid {
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .espo-why-card,
  .espo-why-card:nth-child(n),
  .espo-why-card--feature {
    min-height: 142px;
    padding: 1rem;
  }
  .espo-why-card__top {
    align-items: flex-start;
  }
  .espo-why-card__icon {
    width: 36px;
    height: 36px;
  }
  .espo-why-card__body {
    margin-top: .9rem;
  }
  .espo-why-card__body h3,
  .espo-why-card--feature .espo-why-card__body h3 {
    font-size: 1rem;
  }
  .espo-why-card__body p,
  .espo-why-card--feature .espo-why-card__body p {
    font-size: .79rem;
    line-height: 1.45;
  }
  .espo-why-card:hover {
    transform: translateY(-3px);
  }
}


/* ==========================================================
   ESPO 2.5.1.22 — Refined editorial typography
   CSS-only, performance-safe hierarchy for a quieter,
   more premium reading experience across all breakpoints.
   ========================================================== */

:root {
  --espo-type-page: clamp(2.2rem, 3.45vw, 3.5rem);
  --espo-type-section: clamp(1.9rem, 2.65vw, 2.75rem);
  --espo-type-project: clamp(1.9rem, 2.6vw, 2.8rem);
  --espo-type-card: clamp(1.02rem, 1.18vw, 1.28rem);
  --espo-reading-leading: 1.78;
}

/* Calm, consistent heading rhythm. Hero keeps its own display scale. */
main h1:not(.espo-hero-title),
.espo-page-hero-inner h1 {
  font-size: var(--espo-type-page) !important;
  line-height: 1.08 !important;
  font-weight: 650 !important;
  letter-spacing: -.032em !important;
  text-wrap: balance;
}

main h2:not(.espo-why-title),
.espo-project-section-heading h2 {
  font-size: var(--espo-type-section) !important;
  line-height: 1.14 !important;
  font-weight: 650 !important;
  letter-spacing: -.026em !important;
  text-wrap: balance;
}

main h3 {
  line-height: 1.28;
  letter-spacing: -.014em;
}

/* Project pages: deliberately editorial rather than oversized. */
.espo-project-hero-copy h1 {
  max-width: 18ch;
  font-size: var(--espo-type-project) !important;
  line-height: 1.1 !important;
  font-weight: 620 !important;
  letter-spacing: -.03em !important;
}

.espo-project-story-copy h2,
.espo-project-prose h2 {
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.18 !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}

.espo-project-prose h3 {
  font-size: clamp(1.1rem, 1.4vw, 1.28rem) !important;
  font-weight: 650 !important;
}

.espo-project-card-title,
.archive .espo-project-card-title,
.home .espo-project-card-title {
  font-size: var(--espo-type-card) !important;
  line-height: 1.36 !important;
  font-weight: 600 !important;
  letter-spacing: -.012em !important;
  text-wrap: balance;
}

/* More disciplined title spacing. */
.espo-project-eyebrow { margin-bottom: .9rem; }
.espo-project-pulse { margin-block: 1rem .9rem; }
.espo-project-lead { line-height: 1.72; }
.espo-project-story-copy p { margin-top: .75rem; }
.espo-project-prose h2 { margin-top: 2.25rem; }
.espo-project-prose h3 { margin-top: 1.65rem; }

/* Long-form text alignment. Short labels/cards are intentionally excluded. */
@media (min-width: 768px) {
  .espo-prose p,
  .espo-project-prose p,
  .espo-project-story-copy p,
  .espo-project-lead,
  .espo-page-hero-inner > div > p,
  .espo-why-card p,
  .espo-project-copy > p,
  article .leading-relaxed,
  section > div > div > p.leading-relaxed {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }
}

/* Mobile typography: compact but comfortably readable. */
@media (max-width: 767px) {
  :root {
    --espo-type-page: clamp(2rem, 9vw, 2.55rem);
    --espo-type-section: clamp(1.65rem, 7.3vw, 2.15rem);
    --espo-type-project: clamp(1.75rem, 8vw, 2.25rem);
    --espo-type-card: 1.05rem;
  }
  .espo-project-hero-copy h1 { max-width: 100%; }
  .espo-project-story-copy h2,
  .espo-project-prose h2 { font-size: 1.45rem !important; }
  .espo-prose p,
  .espo-project-prose p,
  .espo-project-story-copy p,
  .espo-project-lead,
  .espo-page-hero-inner p,
  .espo-why-card p {
    text-align: start;
    hyphens: none;
  }
}

/* RTL scripts need natural tracking and slightly softer weight. */
html[dir="rtl"] main h1,
html[dir="rtl"] main h2,
html[dir="rtl"] main h3,
html[dir="rtl"] .espo-project-hero-copy h1 {
  letter-spacing: 0 !important;
}

/* ==========================================================
   ESPO 2.5.1.23 — Definitive heading scale
   Smaller, editorial project titles and consistent hierarchy.
   This block is intentionally last so legacy utility classes
   cannot enlarge project headings again.
   ========================================================== */
:root {
  --espo-type-page: clamp(2rem, 3vw, 3rem);
  --espo-type-section: clamp(1.7rem, 2.25vw, 2.4rem);
  --espo-type-project: clamp(1.65rem, 2.1vw, 2rem);
  --espo-type-card: clamp(1rem, 1vw, 1.15rem);
}

/* Standard page headings — quiet and premium, except the homepage display hero. */
main h1:not(.espo-hero-title),
.espo-page-hero-inner h1 {
  font-size: var(--espo-type-page) !important;
  line-height: 1.12 !important;
  font-weight: 650 !important;
  letter-spacing: -.028em !important;
}

main h2:not(.espo-why-title) {
  font-size: var(--espo-type-section) !important;
  line-height: 1.18 !important;
  font-weight: 650 !important;
  letter-spacing: -.022em !important;
}

/* Individual project page title: intentionally capped at 32px on desktop. */
.single-espo_project .espo-project-hero-copy h1,
.espo-project-case-study .espo-project-hero-copy h1 {
  width: auto !important;
  max-width: 24ch !important;
  font-size: var(--espo-type-project) !important;
  line-height: 1.16 !important;
  font-weight: 620 !important;
  letter-spacing: -.024em !important;
  margin: 0 !important;
}

.single-espo_project .espo-project-story-copy h2,
.single-espo_project .espo-project-prose h2 {
  font-size: clamp(1.3rem, 1.55vw, 1.65rem) !important;
  line-height: 1.22 !important;
}

/* Project listing/card headings should support the image, not compete with it. */
.espo-project-card-title,
.home .espo-project-card-title,
.archive .espo-project-card-title,
.post-type-archive-espo_project h2,
.page-template-page-projects h2.espo-project-card-title {
  font-size: var(--espo-type-card) !important;
  line-height: 1.38 !important;
  font-weight: 600 !important;
}

@media (max-width: 1023px) {
  :root {
    --espo-type-page: clamp(1.9rem, 5vw, 2.55rem);
    --espo-type-section: clamp(1.55rem, 4vw, 2rem);
    --espo-type-project: clamp(1.55rem, 3.6vw, 1.85rem);
  }
}

@media (max-width: 767px) {
  :root {
    --espo-type-page: clamp(1.8rem, 8vw, 2.25rem);
    --espo-type-section: clamp(1.45rem, 6.4vw, 1.85rem);
    --espo-type-project: clamp(1.45rem, 6.8vw, 1.72rem);
    --espo-type-card: 1rem;
  }

  .single-espo_project .espo-project-hero-copy h1,
  .espo-project-case-study .espo-project-hero-copy h1 {
    max-width: 100% !important;
    line-height: 1.2 !important;
  }
}

html[dir="rtl"] .single-espo_project .espo-project-hero-copy h1,
html[dir="rtl"] .espo-project-case-study .espo-project-hero-copy h1 {
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}


/* ESPO 2.5.1.24 — refined leadership quote */
.espo-director-quote {
  position: relative;
  margin-inline: 0;
  padding: 1.5rem 1.625rem 1.5rem 1.875rem;
  border: 1px solid rgba(23, 25, 28, .09);
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,246,247,.72));
  box-shadow: 0 14px 36px rgba(23, 25, 28, .055);
}
.espo-director-quote__accent {
  display: block;
  width: 3.25rem;
  height: 3px;
  margin-bottom: 1.15rem;
  background: var(--espo-yellow);
}
.espo-director-quote__text {
  max-width: 42rem;
  font-size: clamp(1.05rem, 1.3vw, 1.22rem);
  line-height: 1.85;
  letter-spacing: -.01em;
}
[dir="rtl"] .espo-director-quote {
  padding: 1.5rem 1.875rem 1.5rem 1.625rem;
}
@media (max-width: 767px) {
  .espo-director-quote {
    padding: 1.25rem 1.25rem 1.3rem;
    box-shadow: 0 10px 26px rgba(23, 25, 28, .045);
  }
  .espo-director-quote__accent {
    width: 2.75rem;
    margin-bottom: .9rem;
  }
  .espo-director-quote__text {
    font-size: 1rem;
    line-height: 1.8;
  }
}


/* =============================================================
   ESPO 2.5.1.25 — Light editorial Sectors section
   Harmonised with the Why ESPO visual language.
   ============================================================= */
.espo-sectors-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  color: #0f172a;
  background:
    linear-gradient(rgba(15,23,42,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.025) 1px, transparent 1px),
    radial-gradient(circle at 12% 15%, rgba(0,114,188,.08), transparent 34%),
    radial-gradient(circle at 92% 78%, rgba(255,221,0,.10), transparent 30%),
    #f8fafc;
  background-size: 46px 46px, 46px 46px, auto, auto, auto;
}
.espo-sectors-section::before {
  content: '';
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: linear-gradient(180deg, #ffdd00 0 25%, #0072bc 25% 50%, #ee2e24 50% 75%, #007439 75% 100%);
}
.espo-sectors-orbit {
  position: absolute;
  border: 1px solid rgba(0,114,188,.11);
  border-radius: 50%;
  pointer-events: none;
}
.espo-sectors-orbit--one { width: 420px; height: 420px; inset-inline-end: -180px; top: -250px; }
.espo-sectors-orbit--two { width: 220px; height: 220px; inset-inline-start: 5%; bottom: -145px; border-color: rgba(200,154,43,.15); }
.espo-sectors-shell {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}
.espo-sectors-copy { min-width: 0; }
.espo-sectors-section .espo-section-label span:last-child { color: #64748b; }
.espo-sectors-title {
  margin-top: .5rem;
  max-width: 13ch;
  font-size: clamp(2.3rem, 4.1vw, 4.45rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 760;
  color: #0f172a;
}
.espo-sectors-intro {
  max-width: 37rem;
  margin-top: 1.25rem;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.75;
}
.espo-sectors-list {
  margin-top: 2.1rem;
  border-top: 1px solid rgba(15,23,42,.12);
}
.espo-sectors-list li { border-bottom: 1px solid rgba(15,23,42,.10); }
.espo-sector-button {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: .85rem .25rem .85rem 0;
  text-align: start;
  color: #334155;
  transition: color .28s ease, padding .28s ease, background-color .28s ease;
}
.espo-sector-button::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  width: 3px;
  height: 0;
  border-radius: 999px;
  background: var(--sector-color);
  transform: translateY(-50%);
  transition: height .28s ease;
}
.espo-sector-button__main { display: flex; align-items: baseline; gap: 1rem; min-width: 0; }
.espo-sector-num {
  flex: 0 0 auto;
  color: #94a3b8;
  font: 600 .75rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  transition: color .28s ease;
}
.espo-sector-name {
  color: #334155;
  font-size: clamp(1.45rem, 2.25vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  font-weight: 700;
  transition: color .28s ease, transform .28s ease;
}
.espo-sector-actions { display: inline-flex; align-items: center; gap: .8rem; flex: 0 0 auto; margin-inline-start: 1rem; }
.espo-sector-symbol {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid color-mix(in srgb, var(--sector-color) 30%, transparent);
  border-radius: 50%;
  color: var(--sector-color);
  background: color-mix(in srgb, var(--sector-color) 7%, white);
  opacity: .88;
  transition: transform .28s ease, background-color .28s ease, color .28s ease, opacity .28s ease;
}
.espo-sector-symbol svg { width: 1.15rem; height: 1.15rem; }
.espo-sector-arrow { color: #94a3b8; transition: color .28s ease, transform .28s ease; }
.espo-sector-button:hover,
.espo-sector-button:focus-visible,
.espo-sector-button.is-active { padding-inline-start: 1rem; color: #0f172a; }
.espo-sector-button:hover::before,
.espo-sector-button:focus-visible::before,
.espo-sector-button.is-active::before { height: 38px; }
.espo-sector-button:hover .espo-sector-name,
.espo-sector-button:focus-visible .espo-sector-name,
.espo-sector-button.is-active .espo-sector-name { color: #0f172a; transform: translateX(.2rem); }
.espo-sector-button:hover .espo-sector-num,
.espo-sector-button:focus-visible .espo-sector-num,
.espo-sector-button.is-active .espo-sector-num { color: var(--sector-color); }
.espo-sector-button:hover .espo-sector-symbol,
.espo-sector-button:focus-visible .espo-sector-symbol,
.espo-sector-button.is-active .espo-sector-symbol { color: #fff; background: var(--sector-color); opacity: 1; transform: rotate(-5deg) scale(1.04); }
.espo-sector-button:hover .espo-sector-arrow,
.espo-sector-button:focus-visible .espo-sector-arrow,
.espo-sector-button.is-active .espo-sector-arrow { color: var(--sector-color); transform: translate(.18rem,-.18rem); }
.espo-sector-button:focus-visible { outline: 2px solid color-mix(in srgb, var(--sector-color) 45%, transparent); outline-offset: 4px; border-radius: 4px; }
.espo-sectors-cta { margin-top: 2rem; }
.espo-sectors-visual {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  padding: clamp(.65rem, 1.2vw, 1rem);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 28px 70px rgba(15,23,42,.12);
}
.espo-sector-images { position: relative; width: 100%; height: 100%; overflow: hidden; background: #e2e8f0; }
.espo-sector-images img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.018); transition: opacity .55s ease, transform 1.1s ease; }
.espo-sector-images img.is-active { opacity: 1; transform: scale(1); }
.espo-sector-accent { position: absolute; inset-inline-start: clamp(.65rem, 1.2vw, 1rem); bottom: clamp(.65rem, 1.2vw, 1rem); width: 8.5rem; height: 5px; background: var(--active-sector-color); transition: background-color .3s ease; }
.espo-sectors-visual__frame { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.85); pointer-events: none; }
@media (max-width: 1023px) {
  .espo-sectors-shell { grid-template-columns: 1fr; }
  .espo-sectors-visual { display: none; }
  .espo-sectors-title { max-width: 18ch; }
  .espo-sectors-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; border-top: 0; }
  .espo-sectors-list li { border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.68); }
  .espo-sector-button { min-height: 88px; padding: 1rem; }
  .espo-sector-button:hover, .espo-sector-button:focus-visible, .espo-sector-button.is-active { padding-inline-start: 1.35rem; }
  .espo-sector-button::before { inset-inline-start: .5rem; }
}
@media (max-width: 639px) {
  .espo-sectors-section { padding: 4rem 0; background-size: 40px 40px,40px 40px,auto,auto,auto; }
  .espo-sectors-section::before { width: 4px; }
  .espo-sectors-title { font-size: clamp(2.1rem, 11vw, 3rem); }
  .espo-sectors-intro { font-size: .94rem; line-height: 1.7; }
  .espo-sectors-list { grid-template-columns: 1fr; margin-top: 1.6rem; }
  .espo-sector-button { min-height: 74px; }
  .espo-sector-name { font-size: 1.35rem; }
  .espo-sector-symbol { width: 2.15rem; height: 2.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  .espo-sector-button, .espo-sector-button::before, .espo-sector-name, .espo-sector-symbol, .espo-sector-arrow, .espo-sector-images img, .espo-sector-accent { transition: none !important; }
}

/* =============================================================
   ESPO 2.5.1.27 — Brand mark order lock + refined Sectors UX
   ============================================================= */

/* Keep the ESPO four-colour sequence identical in LTR and RTL.
   The mark is decorative/brand-led, so document direction must not reverse it. */
.espo-why-mark {
  direction: ltr !important;
  grid-auto-flow: row;
  transform: none !important;
  gap: 5px;
  padding: .25rem;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 8px 24px rgba(15,23,42,.045);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.espo-why-mark span {
  width: 11px;
  height: 11px;
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.espo-why-mark span:nth-child(1) { order: 1; background:#ffdd00; }
.espo-why-mark span:nth-child(2) { order: 2; background:#0072bc; }
.espo-why-mark span:nth-child(3) { order: 3; background:#ee2e24; }
.espo-why-mark span:nth-child(4) { order: 4; background:#007439; }
[dir="rtl"] .espo-why-mark,
.rtl .espo-why-mark { direction:ltr !important; }

/* Sectors: all essential labels remain readable without hover. */
.espo-sectors-section [data-sector-button] .espo-sector-name {
  color: #27364a !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none;
}
.espo-sectors-section [data-sector-button] .espo-sector-num {
  color: #7c8ba1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.espo-sectors-section [data-sector-button] .espo-sector-symbol {
  opacity: .9 !important;
  visibility: visible !important;
}
.espo-sectors-section [data-sector-button] .espo-sector-arrow {
  color: #8492a6 !important;
  opacity: .78 !important;
  visibility: visible !important;
}

/* More refined, compact rows with a subtle surface rather than hover-dependent reveal. */
.espo-sectors-list {
  display: grid;
  gap: .5rem;
  border-top: 0;
}
.espo-sectors-list li {
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 5px 18px rgba(15,23,42,.025);
  transition: border-color .28s ease, background-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.espo-sector-button {
  min-height: 68px;
  padding: .75rem .85rem;
}
.espo-sector-button::before {
  inset-inline-start: 0;
  width: 2px;
}
.espo-sector-button:hover,
.espo-sector-button:focus-visible,
.espo-sector-button.is-active {
  padding-inline-start: 1.1rem;
}
.espo-sectors-list li:has(.espo-sector-button:hover),
.espo-sectors-list li:has(.espo-sector-button:focus-visible),
.espo-sectors-list li:has(.espo-sector-button.is-active) {
  background: rgba(255,255,255,.92);
  border-color: color-mix(in srgb, var(--active-sector-color) 18%, rgba(15,23,42,.08));
  box-shadow: 0 12px 30px rgba(15,23,42,.07);
  transform: translateY(-1px);
}
.espo-sector-button:hover .espo-sector-name,
.espo-sector-button:focus-visible .espo-sector-name,
.espo-sector-button.is-active .espo-sector-name {
  color: #0f172a !important;
  transform: translateX(.15rem);
}
.espo-sector-button:hover .espo-sector-num,
.espo-sector-button:focus-visible .espo-sector-num,
.espo-sector-button.is-active .espo-sector-num {
  color: var(--sector-color) !important;
}
.espo-sector-button:hover .espo-sector-arrow,
.espo-sector-button:focus-visible .espo-sector-arrow,
.espo-sector-button.is-active .espo-sector-arrow {
  color: var(--sector-color) !important;
  opacity: 1 !important;
}
.espo-sector-name {
  font-size: clamp(1.28rem, 1.75vw, 1.85rem);
  line-height: 1.12;
  letter-spacing: -.018em;
  font-weight: 680;
}
.espo-sector-symbol {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 10px;
}
.espo-sector-symbol svg { width: 1.05rem; height: 1.05rem; }

/* Make the visual feel lighter and more editorial. */
.espo-sectors-visual {
  padding: .65rem;
  border-radius: 18px;
  box-shadow: 0 20px 52px rgba(15,23,42,.10);
}
.espo-sector-images { border-radius: 12px; }
.espo-sector-accent {
  inset-inline-start: 1.1rem;
  bottom: 1.1rem;
  width: 4.75rem;
  height: 3px;
  border-radius: 999px;
}

@media (max-width: 1023px) {
  .espo-why-mark { grid-template-columns: repeat(4, 10px); padding: .22rem .3rem; }
  .espo-why-mark span { width: 10px; height: 10px; }
  .espo-sectors-list { gap: .65rem; }
  .espo-sectors-list li { border-radius: 11px; }
  .espo-sector-button { min-height: 78px; padding: .85rem 1rem; }
}
@media (max-width: 639px) {
  .espo-why-mark { grid-template-columns: repeat(4, 8px); gap: 4px; border-radius: 8px; }
  .espo-why-mark span { width: 8px; height: 8px; border-radius: 2px; }
  .espo-sector-button { min-height: 66px; padding: .7rem .8rem; }
  .espo-sector-name { font-size: 1.22rem; }
  .espo-sector-symbol { width: 2rem; height: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .espo-sectors-list li { transition: none !important; }
}


/* OHEC / Oman feature: refined yellow editorial treatment aligned with Why ESPO and Sectors. */
.espo-ohec-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.72), transparent 28%),
    linear-gradient(135deg, #fff7c7 0%, #ffe96f 48%, #ffd91a 100%);
  border-top: 1px solid rgba(15,23,42,.06);
  border-bottom: 1px solid rgba(15,23,42,.07);
}
.espo-ohec-section__pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image:
    linear-gradient(rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.05) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
}
.espo-ohec-shell {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 430px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 64px rgba(15,23,42,.10);
  backdrop-filter: blur(14px);
}
.espo-ohec-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem);
}
.espo-ohec-copy::after {
  content: '';
  position: absolute;
  inset-inline-end: 0;
  top: 14%;
  bottom: 14%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(15,23,42,.10), transparent);
}
.espo-ohec-title {
  max-width: 11ch;
  margin: .3rem 0 0;
  color: #0f172a;
  font-size: clamp(2.25rem, 4.2vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 780;
}
.espo-ohec-text {
  max-width: 34rem;
  margin-top: 1.15rem;
  color: rgba(15,23,42,.72);
  font-size: clamp(.98rem, 1.2vw, 1.08rem);
  line-height: 1.8;
}
.espo-ohec-meta {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 5px;
  width: max-content;
  margin-top: 1.35rem;
  padding: 7px 9px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
}
.espo-ohec-meta span { width: 8px; height: 8px; border-radius: 2px; }
.espo-ohec-meta span:nth-child(1){background:#f5b800}.espo-ohec-meta span:nth-child(2){background:#0072bc}.espo-ohec-meta span:nth-child(3){background:#ee2e24}.espo-ohec-meta span:nth-child(4){background:#007439}
.espo-ohec-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
.espo-ohec-visual { position:relative; min-height:430px; padding:1rem; }
.espo-ohec-image-wrap { position:relative; height:100%; min-height:398px; overflow:hidden; border-radius:18px; background:#dfe6ea; }
.espo-ohec-image { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.espo-ohec-image-wash { position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,114,188,.05), transparent 45%, rgba(255,217,26,.10)); pointer-events:none; }
.espo-ohec-visual:hover .espo-ohec-image { transform:scale(1.025); }
.espo-ohec-caption {
  position:absolute;
  inset-inline-start:2rem;
  bottom:2rem;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem .75rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(15,23,42,.74);
  color:#fff;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.espo-ohec-caption__dot { width:7px; height:7px; border-radius:50%; background:#ffd91a; box-shadow:0 0 0 4px rgba(255,217,26,.16); }
[dir="rtl"] .espo-ohec-meta { direction:ltr; }
[dir="rtl"] .espo-ohec-title { letter-spacing:-.025em; }
@media (max-width: 1023px) {
  .espo-ohec-shell { grid-template-columns:1fr; min-height:0; }
  .espo-ohec-copy::after { display:none; }
  .espo-ohec-title { max-width:14ch; }
  .espo-ohec-visual { min-height:360px; padding:.8rem; }
  .espo-ohec-image-wrap { min-height:330px; }
}
@media (max-width: 639px) {
  .espo-ohec-section__pattern { background-size:32px 32px; }
  .espo-ohec-shell { border-radius:18px; }
  .espo-ohec-copy { padding:1.55rem 1.25rem 1.25rem; }
  .espo-ohec-title { font-size:2.25rem; line-height:1.03; }
  .espo-ohec-text { font-size:.96rem; line-height:1.7; margin-top:.9rem; }
  .espo-ohec-meta { margin-top:1rem; }
  .espo-ohec-actions { margin-top:1.25rem; gap:.55rem; }
  .espo-ohec-visual { min-height:280px; padding:.65rem; }
  .espo-ohec-image-wrap { min-height:255px; border-radius:13px; }
  .espo-ohec-caption { inset-inline-start:1.15rem; bottom:1.15rem; font-size:.62rem; }
}
@media (prefers-reduced-motion: reduce) { .espo-ohec-image { transition:none !important; } }

/* Contact page — editorial light system (2.5.1.29) */
.espo-contact-page { background: #fff; }
.espo-contact-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f7f9fb 0%, #ffffff 56%, #fffdf2 100%);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.espo-contact-hero__grid {
  position: absolute; inset: 0; pointer-events: none; opacity: .38;
  background-image: linear-gradient(rgba(15,23,42,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.035) 1px, transparent 1px);
  background-size: 52px 52px;
}
.espo-contact-hero__orb { position:absolute; border:1px solid rgba(0,114,188,.14); border-radius:50%; pointer-events:none; }
.espo-contact-hero__orb--one { width:310px; height:310px; right:-95px; top:-130px; }
.espo-contact-hero__orb--two { width:170px; height:170px; left:-70px; bottom:-92px; border-color:rgba(255,221,0,.4); }
.espo-contact-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding-top:clamp(3.8rem,7vw,7rem); padding-bottom:clamp(3.8rem,7vw,7rem); }
.espo-contact-hero__copy h1 { margin:0; max-width:760px; font-size:clamp(2.5rem,4.5vw,4.8rem); line-height:1.02; letter-spacing:-.045em; font-weight:700; color:#111827; }
.espo-contact-hero__copy p { margin-top:1.25rem; max-width:630px; color:#667085; font-size:clamp(1rem,1.3vw,1.125rem); line-height:1.8; }
.espo-contact-brand-mark { display:flex; gap:7px; margin-top:2rem; direction:ltr; }
.espo-contact-brand-mark span { display:block; width:22px; height:3px; border-radius:999px; }
.espo-contact-brand-mark span:nth-child(1){background:#ffdd00}.espo-contact-brand-mark span:nth-child(2){background:#0072bc}.espo-contact-brand-mark span:nth-child(3){background:#ee2e24}.espo-contact-brand-mark span:nth-child(4){background:#007439}
.espo-contact-hero__visual { position:relative; margin:0; min-height:390px; aspect-ratio:16/10; overflow:hidden; background:#fff; border:1px solid rgba(15,23,42,.09); box-shadow:0 24px 70px rgba(15,23,42,.12); }
.espo-contact-hero__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,25,42,.42)); pointer-events:none; }
.espo-contact-hero__visual img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.espo-contact-hero__visual:hover img { transform:scale(1.025); }
.espo-contact-hero__caption { position:absolute; z-index:2; left:1.4rem; right:1.4rem; bottom:1.2rem; display:flex; justify-content:space-between; align-items:end; color:#fff; }
.espo-contact-hero__caption span { font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; opacity:.82; }
.espo-contact-hero__caption strong { font-size:1rem; letter-spacing:.08em; }
.espo-contact-content { position:relative; background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); padding:clamp(3.5rem,6vw,6.5rem) 0; }
.espo-contact-layout { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.45fr); gap:clamp(2rem,4vw,4.5rem); align-items:start; }
.espo-contact-sidebar { position:sticky; top:120px; }
.espo-contact-sidebar__heading { padding-bottom:1.5rem; border-bottom:1px solid rgba(15,23,42,.1); }
.espo-contact-sidebar__eyebrow,.espo-contact-form-panel__eyebrow { display:block; color:#667085; text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:700; }
.espo-contact-sidebar__heading h2 { margin:.55rem 0 0; color:#111827; font-size:clamp(1.55rem,2.3vw,2.25rem); line-height:1.15; letter-spacing:-.025em; font-weight:650; }
.espo-contact-directory { margin-top:1.2rem; }
.espo-contact-directory .espo-contact-list { margin:0; display:grid; gap:.65rem; }
.espo-contact-directory .espo-contact-row { display:grid; grid-template-columns:auto minmax(75px,.7fr) minmax(110px,1fr) auto; gap:.65rem; align-items:center; padding:.8rem .9rem; border:1px solid rgba(15,23,42,.08); background:rgba(255,255,255,.82); transition:border-color .25s ease, transform .25s ease, background .25s ease; }
.espo-contact-directory .espo-contact-row:hover { transform:translateY(-2px); border-color:rgba(0,114,188,.28); background:#fff; }
.espo-contact-directory .espo-contact-label { color:#475467; font-size:.78rem; }
.espo-contact-directory .espo-contact-value { color:#101828; font-size:.86rem; font-weight:650; }
.espo-contact-info-grid { display:grid; gap:.7rem; margin-top:1.1rem; }
.espo-contact-info-card { display:flex; align-items:flex-start; gap:.8rem; padding:1rem; border:1px solid rgba(15,23,42,.08); background:rgba(255,255,255,.76); }
.espo-contact-info-card__icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:50%; }
.espo-contact-info-card__icon--blue { color:#0072bc; background:rgba(0,114,188,.09); }.espo-contact-info-card__icon--red { color:#ee2e24; background:rgba(238,46,36,.08); }.espo-contact-info-card__icon--green { color:#007439; background:rgba(0,116,57,.08); }
.espo-contact-info-card div>span { display:block; color:#667085; text-transform:uppercase; letter-spacing:.12em; font-size:.64rem; font-weight:700; margin-bottom:.24rem; }
.espo-contact-info-card a,.espo-contact-info-card p { margin:0; color:#101828; font-size:.88rem; line-height:1.55; font-weight:600; }
.espo-contact-socials { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.espo-contact-socials a { display:inline-flex; align-items:center; gap:.45rem; padding:.65rem .8rem; border:1px solid rgba(15,23,42,.1); color:#344054; background:#fff; font-size:.76rem; font-weight:650; transition:.25s ease; }
.espo-contact-socials a:hover { color:#0072bc; border-color:rgba(0,114,188,.28); transform:translateY(-2px); }
.espo-contact-form-panel { position:relative; background:rgba(255,255,255,.96); border:1px solid rgba(15,23,42,.09); box-shadow:0 22px 65px rgba(15,23,42,.08); padding:clamp(1.35rem,3vw,2.65rem); }
.espo-contact-form-panel__topline { position:absolute; left:-1px; right:-1px; top:-1px; height:4px; display:grid; grid-template-columns:repeat(4,1fr); direction:ltr; }
.espo-contact-form-panel__topline span:nth-child(1){background:#ffdd00}.espo-contact-form-panel__topline span:nth-child(2){background:#0072bc}.espo-contact-form-panel__topline span:nth-child(3){background:#ee2e24}.espo-contact-form-panel__topline span:nth-child(4){background:#007439}
.espo-contact-form-panel__header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; padding-bottom:1.4rem; margin-bottom:1.5rem; border-bottom:1px solid rgba(15,23,42,.09); }
.espo-contact-form-panel__header h2 { margin:.45rem 0 0; color:#101828; font-size:clamp(1.3rem,2vw,1.85rem); line-height:1.25; letter-spacing:-.025em; font-weight:650; }
.espo-contact-form-panel__number { color:#d0d5dd; font-size:2rem; line-height:1; font-weight:700; letter-spacing:-.05em; }
.espo-contact-form-panel .espo-inquiry-form { gap:1rem; }
.espo-contact-form-panel .espo-inquiry-form label>span:first-child { color:#475467; font-size:.68rem; letter-spacing:.11em; }
.espo-contact-form-panel .espo-inquiry-form input:not([type="checkbox"]),.espo-contact-form-panel .espo-inquiry-form select,.espo-contact-form-panel .espo-inquiry-form textarea { border:1px solid #e4e7ec; background:#fbfcfd; padding:.8rem .9rem; min-height:46px; border-radius:0; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.espo-contact-form-panel .espo-inquiry-form textarea { min-height:122px; resize:vertical; }
.espo-contact-form-panel .espo-inquiry-form input:focus,.espo-contact-form-panel .espo-inquiry-form select:focus,.espo-contact-form-panel .espo-inquiry-form textarea:focus { border-color:#0072bc; background:#fff; box-shadow:0 0 0 3px rgba(0,114,188,.08); }
.espo-contact-form-panel .espo-inquiry-form button { min-width:170px; }
[dir="rtl"] .espo-contact-brand-mark,[dir="rtl"] .espo-contact-form-panel__topline { direction:ltr; }
[dir="rtl"] .espo-contact-hero__caption { text-align:right; }
@media (max-width:1023px) {
  .espo-contact-hero__inner { grid-template-columns:1fr; }
  .espo-contact-hero__visual { min-height:330px; }
  .espo-contact-layout { grid-template-columns:1fr; }
  .espo-contact-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.4rem; }
  .espo-contact-sidebar__heading,.espo-contact-directory { grid-column:1/-1; }
  .espo-contact-info-grid { margin-top:0; }
  .espo-contact-socials { align-content:start; margin-top:0; }
}
@media (max-width:639px) {
  .espo-contact-hero__inner { padding-top:3rem; padding-bottom:3rem; gap:1.8rem; }
  .espo-contact-hero__copy h1 { font-size:2.35rem; }
  .espo-contact-hero__visual { min-height:230px; aspect-ratio:4/3; }
  .espo-contact-hero__caption { left:1rem; right:1rem; bottom:.85rem; }
  .espo-contact-content { padding:3rem 0; }
  .espo-contact-sidebar { display:block; }
  .espo-contact-directory,.espo-contact-info-grid,.espo-contact-socials { margin-top:1rem; }
  .espo-contact-directory .espo-contact-row { grid-template-columns:auto 1fr auto; }
  .espo-contact-directory .espo-contact-value { grid-column:2; }
  .espo-contact-form-panel { padding:1.25rem; }
  .espo-contact-form-panel__number { display:none; }
}


/* =========================================================
   ESPO 2.5.1.32 — Compact editorial footer
   Keeps the dark closing tone while reducing visual height.
   ========================================================= */
.espo-site-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 8% 8%, rgba(0,114,188,.22), transparent 30%),
    linear-gradient(135deg, #063b63 0%, #052f50 55%, #042843 100%) !important;
  background-size: 64px 64px, 64px 64px, auto, auto !important;
}
.espo-site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  pointer-events: none;
}
.espo-footer-shell {
  position: relative;
  z-index: 1;
  padding-top: clamp(2.5rem, 4vw, 3.75rem) !important;
  padding-bottom: clamp(1.5rem, 2.7vw, 2.5rem) !important;
}
.espo-footer-grid {
  gap: clamp(1.7rem, 3vw, 3.25rem) !important;
  align-items: start;
}
.espo-footer-brand > .text-2xl {
  font-size: 1.45rem !important;
  line-height: 1;
  letter-spacing: -.035em !important;
}
.espo-footer-brand > .text-xs {
  margin-top: .45rem !important;
  font-size: .63rem !important;
  letter-spacing: .16em !important;
}
.espo-footer-brand > p {
  margin-top: 1rem !important;
  max-width: 23rem !important;
  font-size: .79rem !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,.68) !important;
}
.espo-footer-brand .mt-4 {
  margin-top: .75rem !important;
}
.espo-footer-brand .space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: .35rem !important;
}
.espo-footer-brand .text-sm,
.espo-footer-grid ul a,
.espo-footer-language {
  font-size: .78rem !important;
  line-height: 1.45 !important;
}
.espo-footer-grid h3 {
  margin-bottom: .8rem !important;
  font-size: .62rem !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  color: rgba(255,255,255,.52) !important;
}
.espo-footer-grid ul {
  margin: 0;
}
.espo-footer-grid ul.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: .38rem !important;
}
.espo-footer-grid a {
  transition: color .22s ease, transform .22s ease, opacity .22s ease;
}
.espo-footer-grid ul a:hover,
.espo-footer-grid ul a:focus-visible {
  display: inline-block;
  transform: translateX(3px);
}
[dir="rtl"] .espo-footer-grid ul a:hover,
[dir="rtl"] .espo-footer-grid ul a:focus-visible {
  transform: translateX(-3px);
}
.espo-footer-social {
  margin-top: 1rem !important;
  gap: .5rem !important;
}
.espo-footer-social a {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0 !important;
  border-radius: 999px;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.035);
}
.espo-footer-social a:hover,
.espo-footer-social a:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,221,0,.08);
  box-shadow: 0 8px 20px rgba(0,0,0,.16);
}
.espo-footer-languages {
  gap: .36rem !important;
}
.espo-footer-language {
  min-height: 1.25rem !important;
}
.espo-footer-bottom {
  margin-top: clamp(1.75rem, 3vw, 2.75rem) !important;
  padding-top: 1rem !important;
  gap: .75rem !important;
  border-color: rgba(255,255,255,.12) !important;
}
.espo-footer-bottom p,
.espo-footer-bottom button {
  font-size: .68rem !important;
}
.espo-footer-colorbar {
  height: 3px !important;
}
@media (min-width: 1024px) {
  .espo-footer-grid {
    grid-template-columns: minmax(17rem, 1.65fr) repeat(4, minmax(7.5rem, .8fr)) !important;
  }
  .espo-footer-brand {
    grid-column: auto !important;
    padding-inline-end: clamp(1rem, 2vw, 2rem);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .espo-footer-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  .espo-footer-brand {
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr);
    column-gap: 2rem;
    align-items: start;
  }
  .espo-footer-brand > .text-2xl,
  .espo-footer-brand > .text-xs,
  .espo-footer-brand > p {
    grid-column: 1;
  }
  .espo-footer-brand > .espo-contact-list,
  .espo-footer-brand > .mt-4,
  .espo-footer-brand > .espo-footer-social {
    grid-column: 2;
  }
}
@media (max-width: 767px) {
  .espo-footer-shell {
    padding-top: 2.25rem !important;
    padding-bottom: 1.4rem !important;
  }
  .espo-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.65rem 1.25rem !important;
  }
  .espo-footer-brand {
    grid-column: 1 / -1 !important;
  }
  .espo-footer-brand > p {
    max-width: none !important;
  }
  .espo-footer-language-column {
    margin-top: 0 !important;
  }
  .espo-footer-languages {
    grid-template-columns: 1fr !important;
    gap: .35rem !important;
  }
  .espo-footer-bottom {
    align-items: flex-start !important;
    margin-top: 1.6rem !important;
  }
}
@media (max-width: 420px) {
  .espo-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .espo-footer-grid > div:not(.espo-footer-brand) {
    padding-top: .2rem;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .espo-site-footer a { transition: none !important; }
}

/* =========================================================
   ESPO 2.5.1.33 — Low-profile neutral editorial footer
   A compact horizontal navigation strip with reduced blue cast.
   ========================================================= */
.espo-site-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(0,114,188,.10), transparent 30%),
    radial-gradient(circle at 88% 100%, rgba(255,221,0,.045), transparent 27%),
    linear-gradient(135deg, #171c23 0%, #111820 52%, #0e151d 100%) !important;
  background-size: 72px 72px, 72px 72px, auto, auto, auto !important;
  color: rgba(255,255,255,.88);
}
.espo-site-footer::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.025), transparent 38%);
}
.espo-footer-shell { position:relative; z-index:1; padding-top:2rem !important; padding-bottom:1rem !important; }
.espo-footer-topline { display:grid; grid-template-columns:repeat(4,1fr); width:86px; height:2px; margin-bottom:1.35rem; direction:ltr; opacity:.9; }
.espo-footer-topline span:nth-child(1){background:#ffdd00}.espo-footer-topline span:nth-child(2){background:#0072bc}.espo-footer-topline span:nth-child(3){background:#ee2e24}.espo-footer-topline span:nth-child(4){background:#007439}
.espo-footer-brandrow { display:grid; grid-template-columns:minmax(16rem,.9fr) minmax(0,1.6fr); gap:clamp(1.5rem,4vw,4.5rem); align-items:center; padding-bottom:1.25rem; }
.espo-footer-wordmark { font-size:1.35rem; line-height:1; font-weight:800; letter-spacing:-.04em; color:#fff; }
.espo-footer-kicker { margin-top:.38rem; font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.46); }
.espo-footer-brandmark p { max-width:27rem; margin:.72rem 0 0; color:rgba(255,255,255,.58); font-size:.74rem; line-height:1.58; }
.espo-footer-contactline { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.55rem 1.1rem; min-width:0; }
.espo-footer-contactline .espo-contact-list { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem 1rem; margin:0; }
.espo-footer-contactline .espo-contact-row { margin:0 !important; }
.espo-footer-contactitem { display:inline-flex; align-items:center; gap:.42rem; color:rgba(255,255,255,.68); font-size:.72rem; line-height:1.4; transition:.22s ease; }
a.espo-footer-contactitem:hover { color:#fff; }
.espo-footer-address { max-width:21rem; }
.espo-footer-contactitem svg { width:.9rem; height:.9rem; opacity:.72; flex:none; }
.espo-footer-social { display:flex; gap:.4rem; margin:0 !important; }
.espo-footer-social a { display:grid; place-items:center; width:1.8rem; height:1.8rem; padding:0 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:999px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.025); transition:.22s ease; }
.espo-footer-social a:hover,.espo-footer-social a:focus-visible { color:#fff; border-color:rgba(255,255,255,.3) !important; background:rgba(255,255,255,.07); transform:translateY(-2px); }
.espo-footer-navrow { display:grid; grid-template-columns:1.05fr 1.35fr 1fr .8fr; gap:clamp(1rem,2.2vw,2.4rem); padding:1rem 0; border-top:1px solid rgba(255,255,255,.075); border-bottom:1px solid rgba(255,255,255,.075); }
.espo-footer-navgroup { min-width:0; display:flex; align-items:flex-start; gap:.8rem; }
.espo-footer-navgroup h3 { flex:0 0 auto; margin:.18rem 0 0 !important; font-size:.56rem !important; line-height:1.25; font-weight:750; text-transform:uppercase; letter-spacing:.14em !important; color:rgba(255,255,255,.40) !important; white-space:nowrap; }
.espo-footer-navgroup ul,.espo-footer-languages { display:flex !important; flex-wrap:wrap; align-items:center; gap:.3rem .72rem !important; margin:0 !important; padding:0; list-style:none; }
.espo-footer-navgroup li { margin:0 !important; }
.espo-footer-navgroup a,.espo-footer-language { position:relative; display:inline-flex !important; align-items:center; min-height:auto !important; color:rgba(255,255,255,.69) !important; font-size:.7rem !important; line-height:1.4 !important; white-space:nowrap; transition:color .2s ease, transform .2s ease; }
.espo-footer-navgroup a::after,.espo-footer-language::after { content:""; position:absolute; left:0; right:0; bottom:-.18rem; height:1px; background:#ffdd00; transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.espo-footer-navgroup a:hover,.espo-footer-navgroup a:focus-visible,.espo-footer-language:hover,.espo-footer-language:focus-visible,.espo-footer-language.is-current { color:#fff !important; transform:none !important; }
.espo-footer-navgroup a:hover::after,.espo-footer-navgroup a:focus-visible::after,.espo-footer-language:hover::after,.espo-footer-language:focus-visible::after,.espo-footer-language.is-current::after { transform:scaleX(1); }
.espo-footer-bottom { margin:0 !important; padding-top:.85rem !important; border:0 !important; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.espo-footer-bottom p,.espo-footer-bottom button { margin:0; color:rgba(255,255,255,.42); font-size:.62rem !important; line-height:1.4; }
.espo-footer-bottom button { display:inline-flex; align-items:center; gap:.3rem; color:rgba(255,255,255,.62); font-weight:650; transition:.2s ease; }
.espo-footer-bottom button:hover { color:#fff; }
.espo-footer-colorbar { display:none !important; }
[dir="rtl"] .espo-footer-topline { direction:ltr; }
[dir="rtl"] .espo-footer-navgroup a::after,[dir="rtl"] .espo-footer-language::after { transform-origin:right; }
@media (max-width:1100px) {
  .espo-footer-brandrow { grid-template-columns:1fr; gap:1rem; }
  .espo-footer-contactline { justify-content:flex-start; }
  .espo-footer-navrow { grid-template-columns:1fr 1fr; gap:1rem 2rem; }
}
@media (max-width:767px) {
  .espo-footer-shell { padding-top:1.65rem !important; padding-bottom:.9rem !important; }
  .espo-footer-brandrow { padding-bottom:1rem; }
  .espo-footer-brandmark p { max-width:none; }
  .espo-footer-contactline { align-items:flex-start; gap:.5rem .8rem; }
  .espo-footer-address { width:100%; max-width:none; }
  .espo-footer-navrow { grid-template-columns:1fr; padding:.85rem 0; gap:.72rem; }
  .espo-footer-navgroup { display:grid; grid-template-columns:5.5rem minmax(0,1fr); gap:.6rem; }
  .espo-footer-navgroup h3 { margin-top:.16rem !important; }
  .espo-footer-navgroup ul,.espo-footer-languages { gap:.28rem .65rem !important; }
  .espo-footer-bottom { align-items:flex-start; padding-top:.75rem !important; }
}
@media (max-width:430px) {
  .espo-footer-contactline .espo-contact-list { width:100%; }
  .espo-footer-navgroup { grid-template-columns:1fr; gap:.32rem; }
  .espo-footer-bottom { flex-direction:column; gap:.45rem; }
}

/* ESPO 2.5.1.34 — ordered international contact numbers */
.espo-contact-row {
  direction:ltr;
}
.espo-contact-leading-icon {
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:currentColor;
  opacity:.68;
}
.espo-contact-leading-icon svg {
  width:.9rem;
  height:.9rem;
}
.espo-contact-flag {
  flex:0 0 24px;
  width:24px;
  height:16px;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(15,23,42,.10);
}
.espo-contact-value {
  direction:ltr;
  unicode-bidi:isolate;
  font-variant-numeric:tabular-nums;
  letter-spacing:.015em;
  white-space:nowrap;
}
.espo-contact-actions:empty { display:none; }

/* Footer: icon → flag → number, with a fixed rhythm in both LTR and RTL. */
.espo-footer-contactline .espo-contact-list {
  direction:ltr;
  gap:.45rem .75rem;
}
.espo-footer-contactline .espo-contact-row {
  position:relative;
  display:inline-grid;
  grid-template-columns:auto auto auto auto;
  align-items:center;
  column-gap:.38rem;
  min-height:2rem;
  padding:.34rem .52rem;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.025);
  transition:border-color .22s ease, background .22s ease, color .22s ease;
}
.espo-footer-contactline .espo-contact-row::after {
  content:"";
  position:absolute;
  left:.52rem;
  right:.52rem;
  bottom:.18rem;
  height:1px;
  background:#ffdd00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.espo-footer-contactline .espo-contact-row:hover,
.espo-footer-contactline .espo-contact-row:focus-within {
  border-color:rgba(255,255,255,.17);
  background:rgba(255,255,255,.055);
}
.espo-footer-contactline .espo-contact-row:hover::after,
.espo-footer-contactline .espo-contact-row:focus-within::after {
  transform:scaleX(1);
}
.espo-footer-contactline .espo-contact-leading-icon { color:rgba(255,255,255,.60); }
.espo-footer-contactline .espo-contact-flag { box-shadow:0 0 0 1px rgba(255,255,255,.13); }
.espo-footer-contactline .espo-contact-value {
  color:rgba(255,255,255,.82) !important;
  font-size:.7rem;
  font-weight:620;
}
.espo-footer-contactline .espo-contact-row:hover .espo-contact-value,
.espo-footer-contactline .espo-contact-row:focus-within .espo-contact-value { color:#fff !important; }
.espo-footer-contactline .espo-contact-actions { display:inline-flex; align-items:center; }
.espo-footer-contactline .espo-contact-channel {
  display:grid;
  place-items:center;
  width:1.35rem;
  height:1.35rem;
  color:rgba(255,255,255,.45);
  transition:color .2s ease;
}
.espo-footer-contactline .espo-contact-channel:hover { color:#fff; }

/* Contact page keeps the same order while retaining its editorial cards. */
.espo-contact-directory .espo-contact-row {
  grid-template-columns:auto auto minmax(0,1fr) auto;
  direction:ltr;
  column-gap:.65rem;
}
.espo-contact-directory .espo-contact-leading-icon {
  width:1.9rem;
  height:1.9rem;
  border-radius:50%;
  color:#0072bc;
  background:rgba(0,114,188,.08);
}
.espo-contact-directory .espo-contact-value {
  grid-column:auto;
  justify-self:start;
}

@media (max-width:767px) {
  .espo-footer-contactline .espo-contact-list { gap:.4rem; }
  .espo-footer-contactline .espo-contact-row { min-height:1.9rem; padding:.32rem .46rem; }
  .espo-contact-directory .espo-contact-row { grid-template-columns:auto auto minmax(0,1fr) auto; }
  .espo-contact-directory .espo-contact-value { grid-column:auto; }
}


/* ESPO 2.5.1.35 — final contact rhythm and footer brand polish */
.espo-contact-leading-icon {
  opacity:1;
}
.espo-contact-leading-icon svg {
  display:block;
  width:.92rem;
  height:.92rem;
  stroke-width:1.75;
}
.espo-footer-contactline .espo-contact-row {
  grid-template-columns:1rem 1.5rem auto auto;
  column-gap:.42rem;
}
.espo-footer-contactline .espo-contact-leading-icon {
  color:rgba(255,255,255,.66);
  transition:color .22s ease, transform .22s ease;
}
.espo-footer-contactline .espo-contact-row:hover .espo-contact-leading-icon,
.espo-footer-contactline .espo-contact-row:focus-within .espo-contact-leading-icon {
  color:#fff;
  transform:translateY(-1px) scale(1.04);
}
.espo-footer-contactline .espo-contact-flag {
  transition:transform .22s ease, box-shadow .22s ease;
}
.espo-footer-contactline .espo-contact-row:hover .espo-contact-flag,
.espo-footer-contactline .espo-contact-row:focus-within .espo-contact-flag {
  transform:translateX(2px);
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}
.espo-contact-directory .espo-contact-leading-icon {
  display:inline-grid;
  place-items:center;
}
.espo-contact-directory .espo-contact-row:hover .espo-contact-leading-icon,
.espo-contact-directory .espo-contact-row:focus-within .espo-contact-leading-icon {
  color:#005f9e;
  transform:translateY(-1px);
}

/* Compact footer wordmark using the CTA brand interaction language. */
.espo-footer-wordmark {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.015em;
  isolation:isolate;
  transition:letter-spacing .3s ease, transform .3s ease;
}
.espo-footer-wordmark::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.42rem;
  height:2px;
  background:linear-gradient(90deg,#ffdd00 0 25%,#0072bc 25% 50%,#e51b23 50% 75%,#39b54a 75% 100%);
  transform:scaleX(.28);
  transform-origin:left;
  opacity:.72;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.espo-footer-brandmark:hover .espo-footer-wordmark,
.espo-footer-brandmark:focus-within .espo-footer-wordmark {
  letter-spacing:-.01em;
  transform:translateY(-1px);
}
.espo-footer-brandmark:hover .espo-footer-wordmark::after,
.espo-footer-brandmark:focus-within .espo-footer-wordmark::after {
  transform:scaleX(1);
  opacity:1;
}
@media (prefers-reduced-motion:reduce) {
  .espo-footer-contactline .espo-contact-leading-icon,
  .espo-footer-contactline .espo-contact-flag,
  .espo-footer-wordmark,
  .espo-footer-wordmark::after { transition:none !important; transform:none !important; }
}

/* ESPO 2.5.1.36 — premium homepage hero only */
.espo-premium-hero {
  --hero-ink:#111820;
  --hero-paper:#fbfcfd;
  background:
    radial-gradient(circle at 9% 22%,rgba(255,221,0,.085),transparent 22rem),
    radial-gradient(circle at 91% 76%,rgba(0,114,188,.075),transparent 25rem),
    linear-gradient(180deg,#fff 0%,var(--hero-paper) 100%);
  isolation:isolate;
}
.espo-premium-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.32;
  background-image:linear-gradient(rgba(17,24,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,32,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent 2%,#000 25%,#000 78%,transparent 100%);
}
.espo-premium-hero__ambient span {
  position:absolute;
  z-index:-1;
  border:1px solid rgba(0,114,188,.07);
  border-radius:50%;
  pointer-events:none;
}
.espo-premium-hero__ambient span:first-child { width:27rem;height:27rem;right:-10rem;top:5rem; }
.espo-premium-hero__ambient span:last-child { width:13rem;height:13rem;left:-5rem;bottom:2rem;border-color:rgba(255,221,0,.13); }
.espo-premium-hero__inner {
  min-height:calc(100svh - 96px);
  padding-top:clamp(3.25rem,6vw,6.25rem);
  padding-bottom:clamp(4rem,7vw,6.5rem);
  gap:clamp(2.75rem,5vw,5.5rem);
}
.espo-premium-hero__content { position:relative;z-index:2;max-width:39rem; }
.espo-premium-hero__title { margin:0;letter-spacing:-.045em; }
.espo-premium-hero__brand {
  display:block;
  font-size:clamp(2.35rem,3.9vw,3.85rem);
  line-height:.98;
  font-weight:650;
  letter-spacing:-.055em;
}
.espo-premium-hero__slogan {
  display:block;
  max-width:11ch;
  margin-top:clamp(.7rem,1.2vw,1rem);
  font-size:clamp(2.65rem,4.55vw,4.7rem);
  line-height:.93;
  font-weight:790;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.espo-premium-hero__copy {
  max-width:36rem;
  margin-top:clamp(1.5rem,2.4vw,2rem);
  font-size:clamp(1rem,1.15vw,1.12rem);
  line-height:1.75;
  text-align:start;
}
.espo-premium-hero__actions { display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:2rem; }
.espo-premium-hero__actions .espo-btn {
  position:relative;
  min-height:3.15rem;
  padding-inline:1.35rem;
  overflow:hidden;
  isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease,color .3s ease,background-color .3s ease;
}
.espo-premium-hero__actions .espo-btn::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  transform:translateX(-105%) skewX(-14deg);
  background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.25) 50%,transparent 85%);
  transition:transform .62s cubic-bezier(.2,.8,.2,1);
}
.espo-premium-hero__actions .espo-btn:hover::before,.espo-premium-hero__actions .espo-btn:focus-visible::before { transform:translateX(105%) skewX(-14deg); }
.espo-premium-hero__actions .espo-btn:hover,.espo-premium-hero__actions .espo-btn:focus-visible { transform:translateY(-3px); }
.espo-premium-hero__primary:hover,.espo-premium-hero__primary:focus-visible { box-shadow:0 14px 30px rgba(0,114,188,.23); }
.espo-premium-hero__secondary:hover,.espo-premium-hero__secondary:focus-visible { box-shadow:0 14px 30px rgba(17,24,32,.18); }
.espo-premium-hero__event-link {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:3.15rem;
  padding:.55rem .3rem;
  color:#111820;
  font-size:.89rem;
  font-weight:700;
  text-decoration:none;
  background-image:linear-gradient(#ffdd00,#ffdd00);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:2.1rem 2px;
  transition:background-size .3s ease,color .25s ease,transform .3s ease;
}
.espo-premium-hero__event-link svg { width:1rem;height:1rem;transition:transform .3s ease; }
.espo-premium-hero__event-link:hover,.espo-premium-hero__event-link:focus-visible { background-size:100% 2px;color:#005f9e;transform:translateY(-2px); }
.espo-premium-hero__event-link:hover svg,.espo-premium-hero__event-link:focus-visible svg { transform:translateX(4px); }
.espo-premium-hero__visual-wrap { position:relative;z-index:1;padding:1.1rem 0 2.7rem; }
.espo-premium-hero__halo {
  position:absolute;
  inset:4% -4% 6% 6%;
  z-index:-1;
  border-radius:2.1rem;
  background:linear-gradient(135deg,rgba(0,114,188,.13),rgba(255,221,0,.08));
  filter:blur(28px);
}
.espo-premium-hero__visual {
  position:relative;
  border:1px solid rgba(17,24,32,.08);
  border-radius:clamp(1.15rem,2vw,1.8rem);
  padding:.5rem;
  background:rgba(255,255,255,.82);
  box-shadow:0 28px 70px rgba(17,24,32,.14),0 4px 16px rgba(17,24,32,.06);
  backdrop-filter:blur(12px);
  transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s ease;
}
.espo-premium-hero__visual:hover { transform:translateY(-5px);box-shadow:0 38px 90px rgba(17,24,32,.17),0 6px 20px rgba(17,24,32,.07); }
.espo-premium-hero__image { aspect-ratio:16/10;overflow:hidden;border-radius:calc(clamp(1.15rem,2vw,1.8rem) - .42rem);background:#e8edf1; }
.espo-premium-hero__image img,.espo-premium-hero__image video { transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .7s ease; }
.espo-premium-hero__visual:hover .espo-premium-hero__image img,.espo-premium-hero__visual:hover .espo-premium-hero__image video { transform:scale(1.035);filter:saturate(1.04) contrast(1.02); }
.espo-premium-hero__corner { position:absolute;top:-1px;right:2.2rem;width:7.2rem;height:4px;border-radius:0 0 4px 4px;background:#ffdd00;box-shadow:0 4px 14px rgba(255,221,0,.25); }
.espo-premium-hero__stats {
  position:absolute;
  left:-1.1rem;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(7.5rem,1fr));
  width:min(22rem,72%);
  border:1px solid rgba(255,255,255,.58);
  border-radius:1rem;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 45px rgba(17,24,32,.16);
  backdrop-filter:blur(18px) saturate(1.2);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;
}
.espo-premium-hero__stats:hover { transform:translateY(-4px);box-shadow:0 24px 52px rgba(17,24,32,.19); }
.espo-premium-hero__stat { padding:1rem 1.15rem; }
.espo-premium-hero__stat + .espo-premium-hero__stat { border-left:1px solid rgba(17,24,32,.1); }
.espo-premium-hero__stat strong { display:block;color:#111820;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:800;line-height:1;letter-spacing:-.045em; }
.espo-premium-hero__stat span { display:block;margin-top:.38rem;color:#66717c;font-size:.64rem;font-weight:700;line-height:1.3;letter-spacing:.07em;text-transform:uppercase; }
.espo-premium-hero__brandline { display:grid;grid-template-columns:repeat(4,1fr);height:3px;opacity:.96; }
.espo-premium-hero__brandline span:nth-child(1){background:#ffdd00}.espo-premium-hero__brandline span:nth-child(2){background:#0072bc}.espo-premium-hero__brandline span:nth-child(3){background:#e51b23}.espo-premium-hero__brandline span:nth-child(4){background:#007439}
html[dir="rtl"] .espo-premium-hero__stats { left:auto;right:-1.1rem; }
html[dir="rtl"] .espo-premium-hero__stat + .espo-premium-hero__stat { border-left:0;border-right:1px solid rgba(17,24,32,.1); }
html[dir="rtl"] .espo-premium-hero__corner { right:auto;left:2.2rem; }
html[dir="rtl"] .espo-premium-hero__event-link { background-position:100% 100%; }
html[dir="rtl"] .espo-premium-hero__event-link:hover svg { transform:translateX(-4px); }
@media (max-width:1023px) {
  .espo-premium-hero__inner { min-height:auto;padding-top:3rem; }
  .espo-premium-hero__content { max-width:48rem; }
  .espo-premium-hero__slogan { max-width:14ch; }
  .espo-premium-hero__visual-wrap { margin-top:.35rem; }
}
@media (max-width:767px) {
  .espo-premium-hero::before { background-size:48px 48px; }
  .espo-premium-hero__inner { padding-top:2.25rem;padding-bottom:3.8rem;gap:2.15rem; }
  .espo-premium-hero__brand { font-size:clamp(2.15rem,12vw,3rem); }
  .espo-premium-hero__slogan { max-width:12ch;font-size:clamp(2.35rem,12vw,3.6rem);line-height:.96; }
  .espo-premium-hero__copy { margin-top:1.3rem;font-size:1rem;line-height:1.68; }
  .espo-premium-hero__actions { align-items:stretch;margin-top:1.55rem; }
  .espo-premium-hero__actions .espo-btn { flex:1 1 calc(50% - .4rem);justify-content:center;min-width:9.6rem; }
  .espo-premium-hero__event-link { flex:1 0 100%;min-height:auto; }
  .espo-premium-hero__visual-wrap { padding:.3rem 0 3.7rem; }
  .espo-premium-hero__visual { padding:.35rem;border-radius:1.05rem; }
  .espo-premium-hero__image { aspect-ratio:4/3;border-radius:.78rem; }
  .espo-premium-hero__corner { right:1.2rem;width:4.5rem;height:3px; }
  html[dir="rtl"] .espo-premium-hero__corner { left:1.2rem; }
  .espo-premium-hero__stats { left:.7rem;right:.7rem;bottom:0;width:auto;grid-template-columns:1fr 1fr; }
  html[dir="rtl"] .espo-premium-hero__stats { right:.7rem;left:.7rem; }
  .espo-premium-hero__stat { padding:.8rem .85rem; }
}
@media (prefers-reduced-motion:reduce) {
  .espo-premium-hero__actions .espo-btn,.espo-premium-hero__actions .espo-btn::before,.espo-premium-hero__event-link,.espo-premium-hero__event-link svg,.espo-premium-hero__visual,.espo-premium-hero__image img,.espo-premium-hero__image video,.espo-premium-hero__stats { transition:none!important;transform:none!important; }
}

/* ESPO 2.5.1.37 — refined luxury hero scale and multilingual rhythm */
.espo-premium-hero__inner {
  min-height:clamp(39rem,calc(100svh - 96px),48rem);
  padding-top:clamp(2.6rem,4.5vw,4.8rem);
  padding-bottom:clamp(3.2rem,5vw,5.2rem);
  gap:clamp(2.5rem,4.25vw,4.75rem);
}
.espo-premium-hero__content {
  max-width:35rem;
}
.espo-premium-hero__title {
  letter-spacing:-.035em;
}
.espo-premium-hero__brand {
  font-size:clamp(1.85rem,2.65vw,2.8rem);
  line-height:1;
  font-weight:640;
  letter-spacing:-.045em;
}
.espo-premium-hero__slogan {
  max-width:15ch;
  margin-top:.72rem;
  font-size:clamp(2.05rem,3.15vw,3.35rem);
  line-height:1.02;
  font-weight:720;
  letter-spacing:-.045em;
}
.espo-premium-hero__copy {
  max-width:33rem;
  margin-top:1.35rem;
  font-size:clamp(.96rem,1vw,1.04rem);
  line-height:1.72;
}
.espo-premium-hero__actions {
  gap:.68rem;
  margin-top:1.65rem;
}
.espo-premium-hero__actions .espo-btn {
  min-height:2.95rem;
  padding-inline:1.2rem;
  border-radius:.28rem;
  font-size:.86rem;
  letter-spacing:-.01em;
}
.espo-premium-hero__actions .espo-btn:hover,
.espo-premium-hero__actions .espo-btn:focus-visible {
  transform:translateY(-2px);
}
.espo-premium-hero__primary {
  box-shadow:0 7px 18px rgba(0,114,188,.12);
}
.espo-premium-hero__secondary {
  background:#151b21;
}
.espo-premium-hero__event-link {
  min-height:2.95rem;
  padding-inline:.15rem;
  font-size:.83rem;
  background-size:1.6rem 2px;
}
.espo-premium-hero__visual-wrap {
  padding:.65rem 0 2.35rem;
}
.espo-premium-hero__visual {
  border-radius:1.15rem;
  padding:.42rem;
  box-shadow:0 22px 58px rgba(17,24,32,.12),0 3px 12px rgba(17,24,32,.05);
}
.espo-premium-hero__visual:hover {
  transform:translateY(-3px);
  box-shadow:0 30px 68px rgba(17,24,32,.15),0 5px 16px rgba(17,24,32,.06);
}
.espo-premium-hero__image {
  border-radius:.82rem;
}
.espo-premium-hero__visual:hover .espo-premium-hero__image img,
.espo-premium-hero__visual:hover .espo-premium-hero__image video {
  transform:scale(1.022);
}
.espo-premium-hero__corner {
  right:1.8rem;
  width:5.2rem;
  height:3px;
}
.espo-premium-hero__stats {
  left:-.65rem;
  width:min(19rem,68%);
  border-radius:.7rem;
  box-shadow:0 14px 34px rgba(17,24,32,.13);
}
.espo-premium-hero__stat {
  padding:.82rem .95rem;
}
.espo-premium-hero__stat strong {
  font-size:clamp(1.25rem,1.8vw,1.7rem);
  font-weight:760;
}
.espo-premium-hero__stat span {
  margin-top:.28rem;
  font-size:.58rem;
  letter-spacing:.065em;
}
html[dir="rtl"] .espo-premium-hero__stats {
  right:-.65rem;
}
html[dir="rtl"] .espo-premium-hero__corner {
  left:1.8rem;
}
html:lang(fa) .espo-premium-hero__slogan,
html:lang(ar) .espo-premium-hero__slogan {
  max-width:17ch;
  font-size:clamp(1.95rem,2.85vw,3rem);
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:700;
}
html:lang(tr) .espo-premium-hero__slogan {
  max-width:17ch;
  font-size:clamp(1.95rem,2.9vw,3.05rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
html:lang(fa) .espo-premium-hero__brand,
html:lang(ar) .espo-premium-hero__brand,
html:lang(tr) .espo-premium-hero__brand {
  font-size:clamp(1.75rem,2.4vw,2.55rem);
}
@media (max-width:1023px) {
  .espo-premium-hero__inner {
    min-height:auto;
    padding-top:2.4rem;
    padding-bottom:4rem;
  }
  .espo-premium-hero__content {
    max-width:42rem;
  }
  .espo-premium-hero__slogan,
  html:lang(fa) .espo-premium-hero__slogan,
  html:lang(ar) .espo-premium-hero__slogan,
  html:lang(tr) .espo-premium-hero__slogan {
    max-width:19ch;
  }
}
@media (max-width:767px) {
  .espo-premium-hero__inner {
    padding-top:1.85rem;
    padding-bottom:3.35rem;
    gap:1.8rem;
  }
  .espo-premium-hero__brand,
  html:lang(fa) .espo-premium-hero__brand,
  html:lang(ar) .espo-premium-hero__brand,
  html:lang(tr) .espo-premium-hero__brand {
    font-size:clamp(1.65rem,8.5vw,2.2rem);
  }
  .espo-premium-hero__slogan,
  html:lang(fa) .espo-premium-hero__slogan,
  html:lang(ar) .espo-premium-hero__slogan,
  html:lang(tr) .espo-premium-hero__slogan {
    max-width:20ch;
    margin-top:.58rem;
    font-size:clamp(1.85rem,9vw,2.55rem);
    line-height:1.12;
  }
  .espo-premium-hero__copy {
    margin-top:1.05rem;
    font-size:.96rem;
    line-height:1.65;
  }
  .espo-premium-hero__actions {
    margin-top:1.3rem;
  }
  .espo-premium-hero__actions .espo-btn {
    min-height:2.8rem;
    font-size:.82rem;
  }
  .espo-premium-hero__visual-wrap {
    padding:.2rem 0 3.35rem;
  }
  .espo-premium-hero__stats {
    left:.55rem;
    right:.55rem;
    width:auto;
  }
  html[dir="rtl"] .espo-premium-hero__stats {
    right:.55rem;
    left:.55rem;
  }
}

/* =========================================================
   ESPO 2.5.1.38 — floating architectural header
   Premium glass shell aligned with the refined homepage hero.
   ========================================================= */
:root {
  --espo-floating-header-top: 14px;
  --espo-floating-header-h: 82px;
  --espo-floating-header-h-scrolled: 70px;
}

.site-header.espo-floating-header {
  top: var(--espo-floating-header-top) !important;
  padding-inline: clamp(12px, 2.2vw, 34px);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  pointer-events: none;
}
body.admin-bar .site-header.espo-floating-header {
  top: calc(32px + var(--espo-floating-header-top)) !important;
}

.site-header.espo-floating-header .espo-header-shell {
  position: relative;
  width: min(100%, 1480px);
  height: var(--espo-floating-header-h) !important;
  min-height: var(--espo-floating-header-h) !important;
  padding: 0 clamp(18px, 2vw, 30px) !important;
  border: 1px solid rgba(20, 25, 31, .075);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 42px rgba(22, 31, 40, .075), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  pointer-events: auto;
  transition: height .38s cubic-bezier(.22,1,.36,1), min-height .38s cubic-bezier(.22,1,.36,1),
              border-radius .38s ease, box-shadow .38s ease, background-color .38s ease;
  overflow: visible !important;
}

.site-header.espo-floating-header .espo-header-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  overflow: hidden;
  background: linear-gradient(105deg, transparent 24%, rgba(255,255,255,.52) 45%, transparent 66%);
  background-size: 240% 100%;
  background-position: 140% 0;
  opacity: 0;
  transition: opacity .35s ease;
}
.site-header.espo-floating-header .espo-header-shell:hover::before {
  opacity: .62;
  animation: espo-header-sheen 1.15s cubic-bezier(.22,1,.36,1) both;
}
@keyframes espo-header-sheen { to { background-position: -120% 0; } }

.site-header.espo-floating-header.is-scrolled .espo-header-shell {
  height: var(--espo-floating-header-h-scrolled) !important;
  min-height: var(--espo-floating-header-h-scrolled) !important;
  border-radius: 17px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 48px rgba(22,31,40,.11), 0 1px 0 rgba(255,255,255,.9) inset;
}

.espo-main-shell {
  padding-top: calc(var(--espo-floating-header-top) + var(--espo-floating-header-h) + 18px) !important;
}

.site-header.espo-floating-header .espo-custom-logo-image {
  height: 56px !important;
  transition: height .38s cubic-bezier(.22,1,.36,1), transform .3s ease;
}
.site-header.espo-floating-header a[aria-label]:first-child:hover .espo-custom-logo-image {
  transform: translateY(-1px) scale(1.018);
}
.site-header.espo-floating-header.is-scrolled .espo-custom-logo-image { height: 48px !important; }

/* Navigation: quiet by default, architectural underline on interaction. */
.site-header.espo-floating-header .espo-primary-nav > a,
.site-header.espo-floating-header .espo-services-menu > a {
  position: relative;
  padding: .72rem .72rem !important;
  font-size: .78rem !important;
  font-weight: 570 !important;
  letter-spacing: -.008em;
  color: #282d32;
  transition: color .26s ease, transform .26s cubic-bezier(.22,1,.36,1);
}
.site-header.espo-floating-header .espo-primary-nav > a::after,
.site-header.espo-floating-header .espo-services-menu > a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: var(--espo-yellow);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform .28s cubic-bezier(.22,1,.36,1);
}
.site-header.espo-floating-header .espo-primary-nav > a:hover,
.site-header.espo-floating-header .espo-services-menu > a:hover {
  color: var(--espo-ink) !important;
  transform: translateY(-1px);
}
.site-header.espo-floating-header .espo-primary-nav > a:hover::after,
.site-header.espo-floating-header .espo-services-menu > a:hover::after,
.site-header.espo-floating-header .espo-primary-nav > a.text-espo-blue::after,
.site-header.espo-floating-header .espo-services-menu > a.text-espo-blue::after {
  transform: translateX(-50%) scaleX(1);
}
/* Hide legacy active underline; the centered line above replaces it. */
.site-header.espo-floating-header .espo-primary-nav > a > span.absolute { display: none !important; }

.site-header.espo-floating-header .espo-services-dropdown {
  top: calc(100% + 13px) !important;
  border-radius: 16px;
  border-color: rgba(20,25,31,.09);
  box-shadow: 0 24px 60px rgba(18,27,36,.14);
  overflow: hidden;
}
.site-header.espo-floating-header .espo-services-dropdown a { border-radius: 10px; }

/* Refined utilities. */
.site-header.espo-floating-header .espo-search-toggle {
  width: 40px;
  height: 40px;
  border: 1px solid transparent;
  border-radius: 11px;
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.site-header.espo-floating-header .espo-search-toggle:hover {
  background: rgba(23,25,28,.045);
  border-color: rgba(23,25,28,.07);
  transform: translateY(-1px);
}

.site-header.espo-floating-header .espo-btn {
  position: relative;
  min-height: 42px !important;
  padding: .78rem 1.18rem !important;
  border-radius: 11px !important;
  font-size: .75rem !important;
  font-weight: 720 !important;
  box-shadow: none !important;
  overflow: hidden;
  isolation: isolate;
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease,
              border-color .28s ease, background-color .28s ease;
}
.site-header.espo-floating-header .espo-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.34) 48%, transparent 76%);
  transform: translateX(-130%);
  transition: transform .62s cubic-bezier(.22,1,.36,1);
}
.site-header.espo-floating-header .espo-btn:hover {
  transform: translateY(-2px);
}
.site-header.espo-floating-header .espo-btn:hover::after { transform: translateX(130%); }
.site-header.espo-floating-header .espo-btn--primary:hover {
  box-shadow: 0 10px 25px rgba(0,114,188,.19) !important;
}
.site-header.espo-floating-header .espo-btn--accent {
  color: #1b1d20;
  border: 1px solid rgba(205,172,0,.25);
}
.site-header.espo-floating-header .espo-btn--accent:hover {
  box-shadow: 0 10px 24px rgba(255,221,0,.18) !important;
}

/* Glass locale capsule, preserving the approved orbit interaction. */
.site-header.espo-floating-header .espo-language-dropdown__toggle {
  min-width: 72px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  border-color: rgba(23,25,28,.095) !important;
  background: rgba(255,255,255,.58) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 5px 16px rgba(20,25,31,.035) !important;
  backdrop-filter: blur(10px);
  transition: transform .26s ease, background-color .26s ease, border-color .26s ease, box-shadow .26s ease;
}
.site-header.espo-floating-header .espo-language-dropdown__toggle:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(23,25,28,.15) !important;
  box-shadow: 0 10px 25px rgba(20,25,31,.075) !important;
}
.site-header.espo-floating-header .espo-language-dropdown__menu {
  border-radius: 15px !important;
  box-shadow: 0 22px 58px rgba(18,27,36,.15) !important;
}

/* Search panel follows the floating shell instead of spanning edge to edge. */
.site-header.espo-floating-header .espo-search-panel {
  width: min(calc(100% - 2 * clamp(12px, 2.2vw, 34px)), 1480px);
  margin: 10px auto 0;
  border: 1px solid rgba(20,25,31,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 52px rgba(22,31,40,.12);
  backdrop-filter: blur(18px);
  pointer-events: auto;
  overflow: hidden;
}

@media (max-width: 1240px) and (min-width: 1024px) {
  .site-header.espo-floating-header .espo-primary-nav > a,
  .site-header.espo-floating-header .espo-services-menu > a { padding-inline: .48rem !important; font-size: .72rem !important; }
  .site-header.espo-floating-header .espo-btn { padding-inline: .9rem !important; font-size: .69rem !important; }
  .site-header.espo-floating-header .espo-custom-logo-image { height: 49px !important; }
}

@media (max-width: 1023px) {
  :root {
    --espo-floating-header-top: 9px;
    --espo-floating-header-h: 68px;
    --espo-floating-header-h-scrolled: 62px;
  }
  .site-header.espo-floating-header { padding-inline: 10px; }
  .site-header.espo-floating-header .espo-header-shell {
    width: 100%;
    padding: 0 12px 0 17px !important;
    border-radius: 16px;
  }
  .site-header.espo-floating-header .espo-custom-logo-image { height: 46px !important; }
  .site-header.espo-floating-header.is-scrolled .espo-custom-logo-image { height: 42px !important; }
  .site-header.espo-floating-header .espo-mobile-toggle {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(23,25,28,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.62);
    transition: transform .24s ease, background-color .24s ease, border-color .24s ease;
  }
  .site-header.espo-floating-header .espo-mobile-toggle:hover,
  .site-header.espo-floating-header .espo-mobile-toggle.is-open {
    transform: translateY(-1px);
    background: #fff;
    border-color: rgba(23,25,28,.16);
  }
  .site-header.espo-floating-header .espo-language-dropdown__toggle {
    min-width: 66px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .site-header.espo-floating-header .espo-mobile-menu {
    width: calc(100% - 20px);
    margin: 9px auto 0;
    border: 1px solid rgba(20,25,31,.08) !important;
    border-radius: 16px;
    background: rgba(255,255,255,.975) !important;
    box-shadow: 0 22px 58px rgba(18,27,36,.14);
    backdrop-filter: blur(18px);
    pointer-events: auto;
  }
  .espo-main-shell { padding-top: calc(var(--espo-floating-header-top) + var(--espo-floating-header-h) + 13px) !important; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.espo-floating-header { top: calc(46px + var(--espo-floating-header-top)) !important; }
}

@media (max-width: 480px) {
  .site-header.espo-floating-header .espo-header-shell { padding-inline: 10px !important; }
  .site-header.espo-floating-header .espo-custom-logo-image { height: 42px !important; }
  .site-header.espo-floating-header .espo-language-dropdown__toggle { min-width: 60px !important; padding-inline: 9px !important; gap: 6px !important; }
}

html[dir="rtl"] .site-header.espo-floating-header .espo-header-shell { direction: rtl; }
html[dir="rtl"] .site-header.espo-floating-header .espo-services-dropdown { left: auto !important; right: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .site-header.espo-floating-header .espo-header-shell:hover::before { animation: none; opacity: 0; }
}


/* ==========================================================
   2.5.1.39 — Refined floating search experience
   ========================================================== */
.site-header.espo-floating-header .espo-search-toggle[aria-expanded="true"] {
  color: #fff;
  background: var(--espo-ink);
  border-color: var(--espo-ink);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(20,25,31,.16);
}

.site-header.espo-floating-header .espo-search-panel {
  width: min(calc(100% - 2 * clamp(18px, 5vw, 96px)), 860px);
  margin: 12px auto 0;
  padding: 10px;
  border: 1px solid rgba(20,25,31,.08);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(250,251,252,.94));
  box-shadow: 0 24px 70px rgba(18,27,36,.14), inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  overflow: visible;
  animation: espoSearchPanelIn .28s cubic-bezier(.22,1,.36,1) both;
}

.site-header.espo-floating-header .espo-search-panel::before {
  content: '';
  position: absolute;
  top: -5px;
  right: clamp(105px, 13vw, 190px);
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.98);
  border-left: 1px solid rgba(20,25,31,.08);
  border-top: 1px solid rgba(20,25,31,.08);
  transform: rotate(45deg);
}

.espo-search-form {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 7px 7px 7px 18px;
  border: 1px solid rgba(20,25,31,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 8px 24px rgba(23,29,35,.045);
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.espo-search-form:focus-within {
  border-color: rgba(0,114,188,.32);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0,114,188,.07), 0 12px 30px rgba(23,29,35,.07);
}
.espo-search-form__icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: rgba(23,25,28,.46);
  transition: color .25s ease, transform .25s ease;
}
.espo-search-form:focus-within .espo-search-form__icon {
  color: var(--espo-blue);
  transform: scale(1.05);
}
.espo-search-form__input {
  min-width: 0;
  width: 100%;
  height: 44px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--espo-ink);
  font: inherit;
  font-size: 1rem;
  font-weight: 540;
  letter-spacing: -.01em;
  appearance: none;
  -webkit-appearance: none;
}
.espo-search-form__input::placeholder { color: rgba(23,25,28,.38); opacity: 1; }
.espo-search-form__input::-webkit-search-cancel-button { opacity: .45; cursor: pointer; }
.espo-search-form__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(0,91,151,.24);
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #0079c7, #0067ad);
  box-shadow: 0 8px 18px rgba(0,114,188,.17);
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .01em;
  overflow: hidden;
  transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, filter .25s ease;
}
.espo-search-form__submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,.34) 48%, transparent 78%);
  transform: translateX(-135%);
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}
.espo-search-form__submit > * { position: relative; z-index: 1; }
.espo-search-form__submit:hover {
  transform: translateY(-2px);
  filter: saturate(1.06);
  box-shadow: 0 12px 25px rgba(0,114,188,.24);
}
.espo-search-form__submit:hover::before { transform: translateX(135%); }
.espo-search-form__submit svg { transition: transform .25s ease; }
.espo-search-form__submit:hover svg { transform: translateX(3px); }

/* The compact search field inside the mobile menu uses the same visual language. */
.espo-mobile-search-form {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 10px 0 4px;
  padding: 6px 6px 6px 14px;
  border: 1px solid rgba(20,25,31,.09);
  border-radius: 13px;
  background: #f8fafb;
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.espo-mobile-search-form:focus-within {
  background: #fff;
  border-color: rgba(0,114,188,.3);
  box-shadow: 0 0 0 4px rgba(0,114,188,.065);
}
.espo-mobile-search-form__icon { display:grid; place-items:center; color:rgba(23,25,28,.43); }
.espo-mobile-search-form__input {
  min-width: 0;
  width: 100%;
  height: 38px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--espo-ink);
  font-size: .9rem;
}
.espo-mobile-search-form__input::placeholder { color: rgba(23,25,28,.38); }
.espo-mobile-search-form__submit {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  color: #fff;
  background: var(--espo-ink);
  transition: transform .22s ease, background-color .22s ease;
}
.espo-mobile-search-form__submit:hover { transform: translateX(2px); background: var(--espo-blue); }

[dir="rtl"] .espo-search-form,
[dir="rtl"] .espo-mobile-search-form { padding-left: 7px; padding-right: 18px; }
[dir="rtl"] .espo-search-form__submit svg,
[dir="rtl"] .espo-mobile-search-form__submit svg { transform: rotate(180deg); }
[dir="rtl"] .espo-search-form__submit:hover svg { transform: rotate(180deg) translateX(3px); }
[dir="rtl"] .espo-search-panel::before { right: auto !important; left: clamp(105px, 13vw, 190px); }

@keyframes espoSearchPanelIn {
  from { opacity: 0; transform: translateY(-7px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1023px) {
  .site-header.espo-floating-header .espo-search-panel { display: none !important; }
}
@media (max-width: 640px) {
  .espo-mobile-search-form { margin-top: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header.espo-floating-header .espo-search-panel { animation: none; }
  .espo-search-form__submit::before { display: none; }
}


/* ==========================================================
   2.5.1.40 — Homepage luxury motion & interaction system
   Scope: homepage hover/entrance polish + refined search
   ========================================================== */

/* A calm, editorial entrance sequence that does not depend on JS. */
.home .espo-premium-hero__brand,
.home .espo-premium-hero__slogan,
.home .espo-premium-hero__copy,
.home .espo-premium-hero__actions,
.home .espo-premium-hero__visual-wrap {
  opacity: 0;
  animation: espoHomeReveal .82s cubic-bezier(.22,1,.36,1) forwards;
}
.home .espo-premium-hero__brand { animation-delay: .06s; }
.home .espo-premium-hero__slogan { animation-delay: .14s; }
.home .espo-premium-hero__copy { animation-delay: .24s; }
.home .espo-premium-hero__actions { animation-delay: .34s; }
.home .espo-premium-hero__visual-wrap { animation-delay: .18s; }

@keyframes espoHomeReveal {
  from { opacity: 0; transform: translateY(18px); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Hero: refined, architectural interactions. */
.home .espo-premium-hero__content { position: relative; z-index: 3; }
.home .espo-premium-hero__brand {
  transition: color .35s ease, letter-spacing .45s cubic-bezier(.22,1,.36,1), transform .35s ease;
}
.home .espo-premium-hero__content:hover .espo-premium-hero__brand {
  color: var(--espo-blue);
  letter-spacing: .075em;
  transform: translateY(-1px);
}
.home .espo-premium-hero__slogan {
  position: relative;
  display: inline-block;
  text-wrap: balance;
}
.home .espo-premium-hero__slogan::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -.12em;
  width: 42%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f7c928 0 25%, #0072bc 25% 50%, #e53935 50% 75%, #43a047 75% 100%);
  transform: scaleX(.18);
  transform-origin: left center;
  opacity: .72;
  transition: transform .65s cubic-bezier(.22,1,.36,1), width .5s ease, opacity .35s ease;
}
.home .espo-premium-hero__content:hover .espo-premium-hero__slogan::after {
  width: 64%;
  transform: scaleX(1);
  opacity: 1;
}
[dir="rtl"] .home .espo-premium-hero__slogan::after {
  left: auto;
  right: 0;
  transform-origin: right center;
}
.home .espo-premium-hero__visual-wrap { perspective: 1200px; }
.home .espo-premium-hero__visual {
  transition: transform .72s cubic-bezier(.22,1,.36,1), box-shadow .72s ease;
  transform-origin: center center;
  will-change: transform;
}
.home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__visual {
  transform: translateY(-8px) rotateX(.7deg) rotateY(-.7deg);
  box-shadow: 0 34px 78px rgba(20,31,42,.16);
}
[dir="rtl"] .home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__visual {
  transform: translateY(-8px) rotateX(.7deg) rotateY(.7deg);
}
.home .espo-premium-hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 22%, rgba(255,255,255,.18) 48%, transparent 72%);
  transform: translateX(-125%);
  transition: transform 1.05s cubic-bezier(.22,1,.36,1);
}
.home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__image::after { transform: translateX(125%); }
.home .espo-premium-hero__stats {
  transition: transform .48s cubic-bezier(.22,1,.36,1), box-shadow .48s ease, background-color .35s ease;
}
.home .espo-premium-hero__stats:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 48px rgba(18,28,38,.14);
}
.home .espo-premium-hero__stat strong { transition: color .3s ease, transform .3s ease; }
.home .espo-premium-hero__stat:hover strong { color: var(--espo-blue); transform: translateY(-1px); }

/* CTA buttons: premium light sweep, restrained lift and icon travel. */
.home .espo-premium-hero__primary,
.home .espo-premium-hero__secondary,
.home .espo-ohec-actions a,
.home .espo-cta-section a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease, color .3s ease, background-color .3s ease;
}
.home .espo-premium-hero__primary::before,
.home .espo-premium-hero__secondary::before,
.home .espo-ohec-actions a::before,
.home .espo-cta-section a::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, transparent 15%, rgba(255,255,255,.30) 48%, transparent 82%);
  transform: translateX(-135%);
  transition: transform .66s cubic-bezier(.22,1,.36,1);
}
.home .espo-premium-hero__primary:hover,
.home .espo-premium-hero__secondary:hover,
.home .espo-ohec-actions a:hover,
.home .espo-cta-section a:hover {
  transform: translateY(-3px);
}
.home .espo-premium-hero__primary:hover::before,
.home .espo-premium-hero__secondary:hover::before,
.home .espo-ohec-actions a:hover::before,
.home .espo-cta-section a:hover::before { transform: translateX(135%); }
.home .espo-premium-hero__actions svg,
.home .espo-ohec-actions svg,
.home .espo-cta-section svg { transition: transform .28s cubic-bezier(.22,1,.36,1); }
.home .espo-premium-hero__actions a:hover svg,
.home .espo-ohec-actions a:hover svg,
.home .espo-cta-section a:hover svg { transform: translateX(4px) translateY(-1px); }
[dir="rtl"] .home .espo-premium-hero__actions a:hover svg,
[dir="rtl"] .home .espo-ohec-actions a:hover svg,
[dir="rtl"] .home .espo-cta-section a:hover svg { transform: translateX(-4px) translateY(-1px) rotate(180deg); }
.home .espo-premium-hero__event-link { position: relative; }
.home .espo-premium-hero__event-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: var(--espo-yellow);
  transform: scaleX(.18);
  transform-origin: left center;
  transition: transform .42s cubic-bezier(.22,1,.36,1);
}
.home .espo-premium-hero__event-link:hover::after { transform: scaleX(1); }
[dir="rtl"] .home .espo-premium-hero__event-link::after { left:auto; right:0; transform-origin:right center; }

/* About and media blocks gain depth without visual noise. */
.home [data-home-section="about"] img,
.home section[data-section="about"] img,
.home .espo-home-sections > section:nth-of-type(2) img {
  transition: transform .72s cubic-bezier(.22,1,.36,1), filter .55s ease, box-shadow .55s ease;
}
.home [data-home-section="about"] img:hover,
.home section[data-section="about"] img:hover,
.home .espo-home-sections > section:nth-of-type(2) img:hover {
  transform: scale(1.018) translateY(-4px);
  filter: saturate(1.03) contrast(1.015);
  box-shadow: 0 28px 58px rgba(25,33,40,.12);
}

/* Services: tactile but still editorial. */
.home .espo-service-card {
  border-radius: 18px;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform .42s cubic-bezier(.22,1,.36,1), border-color .32s ease, box-shadow .42s ease, background-color .32s ease;
}
.home .espo-service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(23,25,28,.14);
  background: #fff;
  box-shadow: 0 24px 54px rgba(20,29,38,.10);
}
.home .espo-service-card .espo-service-image { border-radius: 12px; }
.home .espo-service-card .espo-service-number { transition: transform .42s cubic-bezier(.22,1,.36,1), color .32s ease; }
.home .espo-service-card:hover .espo-service-number { transform: translateY(-4px); }
.home .espo-service-card .espo-service-link svg { transition: transform .3s ease; }
.home .espo-service-card:hover .espo-service-link svg { transform: translate(3px,-3px); }
[dir="rtl"] .home .espo-service-card:hover .espo-service-link svg { transform: translate(-3px,-3px) rotate(180deg); }

/* Projects: image-depth, caption rhythm and precise accents. */
.home .espo-project-rail > a { transition: transform .44s cubic-bezier(.22,1,.36,1); }
.home .espo-project-rail > a:hover { transform: translateY(-8px); }
.home .espo-project-rail > a > div:first-child {
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(22,29,36,.07);
  transition: box-shadow .42s ease;
}
.home .espo-project-rail > a:hover > div:first-child { box-shadow: 0 28px 54px rgba(22,29,36,.15); }
.home .espo-project-card-title { position: relative; display: inline; background-image: linear-gradient(var(--espo-blue),var(--espo-blue)); background-size: 0 1px; background-position: 0 100%; background-repeat:no-repeat; transition: color .3s ease, background-size .4s cubic-bezier(.22,1,.36,1); }
.home .espo-project-rail > a:hover .espo-project-card-title { background-size: 100% 1px; }
[dir="rtl"] .home .espo-project-card-title { background-position: 100% 100%; }

/* Sectors and Why ESPO: elevate existing design rather than replace it. */
.home .espo-sector-item,
.home .espo-sector-row,
.home .espo-why-card {
  transition: transform .38s cubic-bezier(.22,1,.36,1), box-shadow .38s ease, border-color .3s ease, background-color .3s ease;
}
.home .espo-sector-item:hover,
.home .espo-sector-row:hover { transform: translateX(5px); box-shadow: 0 14px 32px rgba(20,29,38,.08); }
[dir="rtl"] .home .espo-sector-item:hover,
[dir="rtl"] .home .espo-sector-row:hover { transform: translateX(-5px); }
.home .espo-why-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(20,29,38,.10); }

/* Clients: restrained logo reveal. */
.home .espo-clients-grid > *,
.home [class*="client"] img {
  transition: transform .35s cubic-bezier(.22,1,.36,1), filter .35s ease, opacity .35s ease;
}
.home .espo-clients-grid > *:hover { transform: translateY(-4px); }
.home [class*="client"] img { filter: grayscale(1); opacity: .66; }
.home [class*="client"] *:hover > img,
.home [class*="client"] img:hover { filter: grayscale(0); opacity: 1; transform: scale(1.035); }

/* Insights / editorial cards. */
.home .espo-insights-grid article,
.home .espo-insights-grid > a,
.home [class*="insight-card"] {
  transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease, border-color .32s ease;
}
.home .espo-insights-grid article:hover,
.home .espo-insights-grid > a:hover,
.home [class*="insight-card"]:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 48px rgba(20,29,38,.10);
}

/* OHEC: preserve yellow identity, add refined dimensionality. */
.home .espo-ohec-media { overflow: hidden; }
.home .espo-ohec-image { transition: transform .85s cubic-bezier(.22,1,.36,1), filter .55s ease; }
.home .espo-ohec-media:hover .espo-ohec-image { transform: scale(1.035); filter: saturate(1.035) contrast(1.015); }
.home .espo-ohec-media::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.17) 50%,transparent 75%);
  transform:translateX(-130%);
  transition:transform 1s cubic-bezier(.22,1,.36,1);
}
.home .espo-ohec-media:hover::after { transform:translateX(130%); }

/* Search v2: less boxy, more architectural. */
.site-header.espo-floating-header .espo-search-panel {
  width: min(calc(100% - 2 * clamp(18px, 5vw, 96px)), 760px);
  padding: 8px;
  border-radius: 18px;
  border-color: rgba(20,25,31,.075);
  background: rgba(252,253,254,.965);
  box-shadow: 0 24px 62px rgba(18,27,36,.13), inset 0 1px 0 rgba(255,255,255,.96);
}
.espo-search-form {
  min-height: 54px;
  padding: 5px 5px 5px 16px;
  gap: 10px;
  border-radius: 12px;
  border-color: rgba(20,25,31,.075);
  box-shadow: none;
  background: #fff;
}
.espo-search-form::after {
  content:'';
  position:absolute;
  left:16px;
  right:16px;
  bottom:-1px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#f7c928,#0072bc,#e53935,#43a047);
  transform:scaleX(0);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.espo-search-form:focus-within::after { transform:scaleX(1); }
.espo-search-form:focus-within {
  border-color: rgba(20,25,31,.12);
  box-shadow: 0 10px 26px rgba(20,29,38,.065);
}
.espo-search-form__submit {
  height: 42px;
  border-radius: 9px;
  background: var(--espo-ink);
  border-color: var(--espo-ink);
  box-shadow: none;
}
.espo-search-form__submit:hover {
  background: var(--espo-blue);
  border-color: var(--espo-blue);
  box-shadow: 0 10px 22px rgba(0,114,188,.20);
}
[dir="rtl"] .espo-search-form { padding-left:5px; padding-right:16px; }

/* Keyboard users receive the same polished feedback. */
.home a:focus-visible,
.home button:focus-visible,
.site-header a:focus-visible,
.site-header button:focus-visible,
.site-header input:focus-visible {
  outline: 2px solid rgba(0,114,188,.58);
  outline-offset: 4px;
}

@media (max-width: 1023px) {
  .home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__visual,
  [dir="rtl"] .home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__visual { transform: translateY(-4px); }
  .home .espo-service-card:hover,
  .home .espo-project-rail > a:hover,
  .home .espo-why-card:hover { transform: translateY(-4px); }
}

@media (hover: none) {
  .home .espo-premium-hero__visual-wrap:hover .espo-premium-hero__visual,
  .home .espo-service-card:hover,
  .home .espo-project-rail > a:hover,
  .home .espo-why-card:hover,
  .home .espo-sector-item:hover,
  .home .espo-sector-row:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home .espo-premium-hero__brand,
  .home .espo-premium-hero__slogan,
  .home .espo-premium-hero__copy,
  .home .espo-premium-hero__actions,
  .home .espo-premium-hero__visual-wrap {
    opacity: 1;
    animation: none;
    filter: none;
  }
  .home * { scroll-behavior: auto !important; }
}

/* ==========================================================
   ESPO 2.5.1.41 — cinematic hero micro-interactions + compact search
   ========================================================== */

/* Hero: refined motion language and richer architectural detail */
.espo-premium-hero__ambient span:first-child {
  animation: espoHeroOrbitA 16s ease-in-out infinite alternate;
}
.espo-premium-hero__ambient span:last-child {
  animation: espoHeroOrbitB 13s ease-in-out infinite alternate;
}
@keyframes espoHeroOrbitA {
  from { transform: translate3d(0,0,0) scale(1); opacity:.7; }
  to   { transform: translate3d(-18px,14px,0) scale(1.035); opacity:1; }
}
@keyframes espoHeroOrbitB {
  from { transform: translate3d(0,0,0) scale(1); }
  to   { transform: translate3d(14px,-12px,0) scale(.965); }
}

.espo-premium-hero__content::before {
  content:"";
  display:block;
  width:44px;
  height:3px;
  margin-bottom:1.15rem;
  border-radius:999px;
  background:linear-gradient(90deg,#ffdd00 0 25%,#0072bc 25% 50%,#e51b23 50% 75%,#007439 75% 100%);
  transform-origin:left center;
  animation:espoHeroAccentIn .8s .12s cubic-bezier(.22,1,.36,1) both;
}
html[dir="rtl"] .espo-premium-hero__content::before { transform-origin:right center; }
@keyframes espoHeroAccentIn { from{transform:scaleX(0);opacity:0} to{transform:scaleX(1);opacity:1} }

.espo-premium-hero__brand,
.espo-premium-hero__slogan,
.espo-premium-hero__copy,
.espo-premium-hero__actions {
  transition:transform .55s cubic-bezier(.22,1,.36,1),color .35s ease,opacity .35s ease;
}
.espo-premium-hero__content:hover .espo-premium-hero__brand { transform:translateY(-2px); }
.espo-premium-hero__content:hover .espo-premium-hero__slogan { transform:translateY(-3px); }
.espo-premium-hero__content:hover .espo-premium-hero__copy { transform:translateY(-1px); }

.espo-premium-hero__slogan {
  position:relative;
  width:fit-content;
}
.espo-premium-hero__slogan::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(17,24,32,.24),rgba(17,24,32,0));
  transform:scaleX(.18);
  transform-origin:left center;
  transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .4s ease;
  opacity:.5;
}
html[dir="rtl"] .espo-premium-hero__slogan::after {
  left:auto;right:0;
  transform-origin:right center;
  background:linear-gradient(270deg,rgba(17,24,32,.24),rgba(17,24,32,0));
}
.espo-premium-hero__content:hover .espo-premium-hero__slogan::after { transform:scaleX(1);opacity:1; }

.espo-premium-hero__actions .espo-btn {
  border-radius:12px !important;
  transform-style:preserve-3d;
}
.espo-premium-hero__actions .espo-btn::after {
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.17);
  opacity:0;
  transform:scale(.94);
  transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.espo-premium-hero__actions .espo-btn:hover::after,
.espo-premium-hero__actions .espo-btn:focus-visible::after { opacity:1;transform:scale(1); }
.espo-premium-hero__actions .espo-btn:hover svg,
.espo-premium-hero__actions .espo-btn:focus-visible svg { transform:translateX(4px) rotate(-4deg); }
html[dir="rtl"] .espo-premium-hero__actions .espo-btn:hover svg,
html[dir="rtl"] .espo-premium-hero__actions .espo-btn:focus-visible svg { transform:translateX(-4px) rotate(4deg); }
.espo-premium-hero__actions .espo-btn svg { transition:transform .4s cubic-bezier(.22,1,.36,1); }

.espo-premium-hero__event-link {
  position:relative;
  border-radius:10px;
  padding-inline:.55rem;
}
.espo-premium-hero__event-link::before {
  content:"";
  position:absolute;
  inset:.25rem 0;
  z-index:-1;
  border-radius:9px;
  background:rgba(255,221,0,.12);
  transform:scaleX(.15);
  transform-origin:left center;
  opacity:0;
  transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
html[dir="rtl"] .espo-premium-hero__event-link::before { transform-origin:right center; }
.espo-premium-hero__event-link:hover::before,
.espo-premium-hero__event-link:focus-visible::before { transform:scaleX(1);opacity:1; }

.espo-premium-hero__visual-wrap { perspective:1200px; }
.espo-premium-hero__visual {
  isolation:isolate;
  overflow:hidden;
  transform-origin:center center;
}
.espo-premium-hero__visual::before {
  content:"";
  position:absolute;
  inset:-1px;
  z-index:3;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(115deg,rgba(255,221,0,.92),rgba(0,114,188,.62) 34%,rgba(229,27,35,.55) 68%,rgba(0,116,57,.72));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .55s ease;
  pointer-events:none;
}
.espo-premium-hero__visual::after {
  content:"";
  position:absolute;
  top:-45%;
  left:-35%;
  z-index:2;
  width:28%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:translateX(-160%) rotate(13deg);
  transition:transform 1.05s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.espo-premium-hero__visual:hover {
  transform:translateY(-8px) rotateX(.8deg) rotateY(-.8deg);
  box-shadow:0 44px 100px rgba(17,24,32,.19),0 8px 24px rgba(17,24,32,.08);
}
html[dir="rtl"] .espo-premium-hero__visual:hover { transform:translateY(-8px) rotateX(.8deg) rotateY(.8deg); }
.espo-premium-hero__visual:hover::before { opacity:1; }
.espo-premium-hero__visual:hover::after { transform:translateX(620%) rotate(13deg); }
.espo-premium-hero__image { position:relative; }
.espo-premium-hero__image::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(9,17,25,.19));
  opacity:.35;
  transition:opacity .55s ease;
  pointer-events:none;
}
.espo-premium-hero__visual:hover .espo-premium-hero__image::after { opacity:.12; }
.espo-premium-hero__visual:hover .espo-premium-hero__image img,
.espo-premium-hero__visual:hover .espo-premium-hero__image video {
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.035) brightness(1.015);
}

.espo-premium-hero__corner {
  z-index:5;
  width:6.2rem;
  overflow:hidden;
  background:linear-gradient(90deg,#ffdd00 0 25%,#0072bc 25% 50%,#e51b23 50% 75%,#007439 75% 100%);
  transform:scaleX(.45);
  transform-origin:right center;
  transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;
}
html[dir="rtl"] .espo-premium-hero__corner { transform-origin:left center; }
.espo-premium-hero__visual:hover .espo-premium-hero__corner { transform:scaleX(1);box-shadow:0 5px 18px rgba(0,114,188,.2); }

.espo-premium-hero__stats {
  z-index:6;
  transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease,background-color .35s ease;
}
.espo-premium-hero__stats::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:0;
  height:2px;
  background:linear-gradient(90deg,#ffdd00,#0072bc,#e51b23,#007439);
  transition:width .65s cubic-bezier(.22,1,.36,1);
}
html[dir="rtl"] .espo-premium-hero__stats::before { left:auto;right:0; }
.espo-premium-hero__stats:hover {
  transform:translateY(-7px) scale(1.012);
  border-color:rgba(0,114,188,.14);
  background:rgba(255,255,255,.91);
}
.espo-premium-hero__stats:hover::before { width:100%; }
.espo-premium-hero__stat strong { transition:color .35s ease,transform .45s cubic-bezier(.22,1,.36,1); }
.espo-premium-hero__stat:hover strong { color:#0072bc;transform:translateY(-2px); }

/* Minimal search: compact command capsule rather than a large card */
.site-header.espo-floating-header .espo-search-panel {
  width:min(calc(100% - 28px), 430px) !important;
  margin:8px clamp(14px,3vw,42px) 0 auto !important;
  padding:5px !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.955) !important;
  box-shadow:0 16px 44px rgba(18,27,36,.13),inset 0 1px 0 rgba(255,255,255,.96) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-panel {
  margin-right:auto !important;
  margin-left:clamp(14px,3vw,42px) !important;
}
.site-header.espo-floating-header .espo-search-panel::before {
  top:-4px !important;
  right:22px !important;
  width:8px !important;
  height:8px !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-panel::before { right:auto !important;left:22px !important; }
.site-header.espo-floating-header .espo-search-form {
  grid-template-columns:auto minmax(0,1fr) 38px !important;
  gap:8px !important;
  min-height:46px !important;
  padding:3px 3px 3px 13px !important;
  border-radius:11px !important;
  border-color:rgba(20,25,31,.075) !important;
  box-shadow:none !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-form { padding:3px 13px 3px 3px !important; }
.site-header.espo-floating-header .espo-search-form:focus-within {
  border-color:rgba(0,114,188,.28) !important;
  box-shadow:0 0 0 3px rgba(0,114,188,.055) !important;
}
.site-header.espo-floating-header .espo-search-form__icon { width:20px !important;height:20px !important; }
.site-header.espo-floating-header .espo-search-form__icon svg { width:17px !important;height:17px !important; }
.site-header.espo-floating-header .espo-search-form__input {
  height:38px !important;
  font-size:.9rem !important;
  font-weight:520 !important;
}
.site-header.espo-floating-header .espo-search-form__submit {
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#111820 !important;
  color:#fff !important;
  box-shadow:none !important;
  overflow:hidden;
}
.site-header.espo-floating-header .espo-search-form__submit span { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.site-header.espo-floating-header .espo-search-form__submit svg { width:15px!important;height:15px!important;transition:transform .35s cubic-bezier(.22,1,.36,1); }
.site-header.espo-floating-header .espo-search-form__submit:hover,
.site-header.espo-floating-header .espo-search-form__submit:focus-visible { background:#0072bc!important;transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,114,188,.2)!important; }
.site-header.espo-floating-header .espo-search-form__submit:hover svg,
.site-header.espo-floating-header .espo-search-form__submit:focus-visible svg { transform:translateX(2px); }
html[dir="rtl"] .site-header.espo-floating-header .espo-search-form__submit:hover svg,
html[dir="rtl"] .site-header.espo-floating-header .espo-search-form__submit:focus-visible svg { transform:translateX(-2px); }

@media (max-width:767px) {
  .espo-premium-hero__content::before { width:36px;margin-bottom:.9rem; }
  .espo-premium-hero__visual:hover,
  html[dir="rtl"] .espo-premium-hero__visual:hover { transform:translateY(-4px); }
  .espo-premium-hero__visual:hover .espo-premium-hero__image img,
  .espo-premium-hero__visual:hover .espo-premium-hero__image video { transform:scale(1.035); }
  .site-header.espo-floating-header .espo-search-panel {
    width:calc(100% - 20px)!important;
    margin:8px auto 0!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .espo-premium-hero__ambient span,
  .espo-premium-hero__content::before { animation:none!important; }
  .espo-premium-hero__visual::after { display:none!important; }
}


/* ==========================================================
   2.5.1.42 — Definitive minimal search control
   Replaces accumulated search-panel rules with one anchored capsule.
   ========================================================== */
.site-header.espo-floating-header .espo-search-control {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.site-header.espo-floating-header .espo-search-control .espo-search-panel {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  width: 320px !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
  animation: espoSearchCapsuleIn .22s cubic-bezier(.22,1,.36,1) both !important;
  z-index: 70;
}
.site-header.espo-floating-header .espo-search-control .espo-search-panel[hidden] {
  display: none !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-panel::before {
  content: '' !important;
  position: absolute !important;
  top: -5px !important;
  right: 15px !important;
  left: auto !important;
  width: 10px !important;
  height: 10px !important;
  border: 1px solid rgba(20,25,31,.09) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: rgba(255,255,255,.98) !important;
  transform: rotate(45deg) !important;
  z-index: 2;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) 36px !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 5px 5px 5px 14px !important;
  border: 1px solid rgba(20,25,31,.09) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 18px 42px rgba(18,27,36,.13), inset 0 1px 0 rgba(255,255,255,.96) !important;
  backdrop-filter: blur(16px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(125%) !important;
  overflow: hidden !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form::after {
  content: '' !important;
  position: absolute !important;
  left: 14px !important;
  right: 48px !important;
  bottom: 0 !important;
  height: 1.5px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#f7c928,#0072bc,#e53935,#43a047) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform .3s cubic-bezier(.22,1,.36,1) !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form:focus-within {
  border-color: rgba(0,114,188,.22) !important;
  box-shadow: 0 20px 46px rgba(18,27,36,.15), 0 0 0 3px rgba(0,114,188,.055) !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form:focus-within::after {
  transform: scaleX(1) !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__icon {
  width: 18px !important;
  height: 18px !important;
  color: rgba(23,25,28,.42) !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__input {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--espo-ink) !important;
  font-size: .88rem !important;
  font-weight: 520 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__input::placeholder {
  color: rgba(23,25,28,.38) !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__submit {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  border: 1px solid rgba(23,25,28,.08) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: var(--espo-ink) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: transform .22s ease, background-color .22s ease, box-shadow .22s ease !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__submit::before {
  display: none !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__submit:hover {
  transform: translateY(-1px) !important;
  background: var(--espo-blue) !important;
  box-shadow: 0 8px 18px rgba(0,114,188,.18) !important;
}
.site-header.espo-floating-header .espo-search-control .espo-search-form__submit svg {
  transform: none !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-control .espo-search-panel {
  right: auto !important;
  left: 0 !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-control .espo-search-panel::before {
  right: auto !important;
  left: 15px !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-control .espo-search-form {
  padding: 5px 14px 5px 5px !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-control .espo-search-form::after {
  left: 48px !important;
  right: 14px !important;
  transform-origin: right !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-search-control .espo-search-form__submit svg {
  transform: rotate(180deg) !important;
}
@keyframes espoSearchCapsuleIn {
  from { opacity: 0; transform: translateY(-5px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 1023px) {
  .site-header.espo-floating-header .espo-search-control { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header.espo-floating-header .espo-search-control .espo-search-panel { animation: none !important; }
}


/* ================================================================
   ESPO 2.5.1.43 — Spotlight Search
   A full header-level search experience replacing all legacy popovers.
   ================================================================ */
.espo-search-control .espo-search-panel{display:none!important}
html.espo-search-is-open{overflow:hidden}
.espo-search-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:start center;padding:clamp(88px,12vh,148px) 20px 28px;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}
.espo-search-overlay[hidden]{display:none!important}
.espo-search-overlay.is-open{opacity:1;visibility:visible}
.espo-search-overlay__backdrop{position:absolute;inset:0;background:rgba(9,15,22,.42);backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}
.espo-search-overlay__shell{position:relative;width:min(760px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 120px));overflow:auto;background:rgba(252,253,254,.975);border:1px solid rgba(255,255,255,.72);border-radius:24px;box-shadow:0 34px 90px rgba(9,20,33,.24),0 2px 8px rgba(9,20,33,.08);padding:22px;transform:translateY(-18px) scale(.975);opacity:0;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .22s ease}
.espo-search-overlay.is-open .espo-search-overlay__shell{transform:none;opacity:1}
.espo-search-overlay__topline{position:absolute;inset:0 32px auto;height:2px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:0 0 999px 999px}
.espo-search-overlay__topline span:nth-child(1){background:#f4c430}.espo-search-overlay__topline span:nth-child(2){background:#0072bc}.espo-search-overlay__topline span:nth-child(3){background:#e53935}.espo-search-overlay__topline span:nth-child(4){background:#2eaf65}
.espo-search-overlay__close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:rgba(20,26,32,.55);background:transparent;transition:background .2s ease,color .2s ease,transform .25s ease}
.espo-search-overlay__close:hover{background:rgba(15,23,42,.06);color:#111820;transform:rotate(90deg)}
[dir=rtl] .espo-search-overlay__close{right:auto;left:14px}
.espo-spotlight-search{height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:14px 38px 0 0;padding:0 18px;border:1px solid rgba(17,28,40,.11);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(11,25,40,.06);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
[dir=rtl] .espo-spotlight-search{margin:14px 0 0 38px}
.espo-spotlight-search:focus-within{border-color:rgba(0,114,188,.38);box-shadow:0 15px 36px rgba(0,114,188,.11),0 0 0 4px rgba(0,114,188,.055);transform:translateY(-1px)}
.espo-spotlight-search__icon{display:grid;place-items:center;color:#0072bc;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.espo-spotlight-search:focus-within .espo-spotlight-search__icon{transform:scale(1.08) rotate(-7deg)}
.espo-spotlight-search input{min-width:0;width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:clamp(16px,2vw,20px);font-weight:560;color:#101820;padding:0!important;line-height:1.2}
.espo-spotlight-search input::placeholder{color:rgba(16,24,32,.38)}
.espo-spotlight-search kbd{font:600 10px/1 system-ui,sans-serif;letter-spacing:.08em;color:rgba(16,24,32,.42);border:1px solid rgba(16,24,32,.1);border-bottom-color:rgba(16,24,32,.2);border-radius:6px;padding:6px 7px;background:#f8fafb}
.espo-search-overlay__status{padding:18px 12px 7px;color:rgba(16,24,32,.45);font-size:12px;letter-spacing:.04em}
.espo-search-results{display:grid;gap:6px;margin-top:8px;transition:opacity .18s ease}
.espo-search-results.is-loading{opacity:.45}
.espo-search-result{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:10px 12px;border-radius:14px;color:#101820;opacity:0;transform:translateY(7px);animation:espoSearchResultIn .3s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--result-index) * 36ms);transition:background .22s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}
.espo-search-result:hover,.espo-search-result:focus-visible{background:#fff;transform:translateX(4px);box-shadow:0 9px 25px rgba(11,25,40,.07)}
[dir=rtl] .espo-search-result:hover,[dir=rtl] .espo-search-result:focus-visible{transform:translateX(-4px)}
.espo-search-result__media{width:52px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#edf5fa,#f7f8f9);color:#0072bc;font-size:11px;font-weight:800;letter-spacing:.08em}
.espo-search-result__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.espo-search-result:hover .espo-search-result__media img{transform:scale(1.07)}
.espo-search-result__copy{min-width:0;display:grid;gap:3px}
.espo-search-result__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700}
.espo-search-result__copy small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(16,24,32,.42)}
.espo-search-result__arrow{color:rgba(16,24,32,.28);font-size:20px;transition:color .2s ease,transform .25s ease}
.espo-search-result:hover .espo-search-result__arrow{color:#0072bc;transform:translateX(3px)}
[dir=rtl] .espo-search-result__arrow{transform:rotate(180deg)}
[dir=rtl] .espo-search-result:hover .espo-search-result__arrow{transform:rotate(180deg) translateX(3px)}
.espo-search-empty{padding:34px 12px;text-align:center;color:rgba(16,24,32,.48);font-size:14px}
.espo-search-toggle[aria-expanded=true]{color:#0072bc!important;background:rgba(0,114,188,.08)!important;box-shadow:inset 0 0 0 1px rgba(0,114,188,.12)}
@keyframes espoSearchResultIn{to{opacity:1;transform:none}}
@media(max-width:767px){.espo-search-overlay{padding:78px 12px 12px}.espo-search-overlay__shell{width:100%;max-height:calc(100vh - 90px);border-radius:20px;padding:16px}.espo-spotlight-search,[dir=rtl] .espo-spotlight-search{height:56px;margin:14px 32px 0 0;border-radius:14px;padding:0 14px;gap:10px}[dir=rtl] .espo-spotlight-search{margin:14px 0 0 32px}.espo-spotlight-search kbd{display:none}.espo-search-result{grid-template-columns:46px 1fr auto;padding:9px 8px}.espo-search-result__media{width:46px;height:38px}}
@media(prefers-reduced-motion:reduce){.espo-search-overlay,.espo-search-overlay__shell,.espo-search-result{transition:none!important;animation:none!important;opacity:1;transform:none}}

/* ESPO 2.5.1.44 — definitive compact search rewrite */
.espo-search-overlay,.espo-search-panel,.espo-search-form{display:none!important}
.espo-search-control{position:relative;z-index:120}
.espo-search-toggle{position:relative;width:38px!important;height:38px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#111820!important;color:#fff!important;border:1px solid rgba(17,24,32,.08)!important;box-shadow:0 8px 18px rgba(10,18,28,.12)!important;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background .28s ease!important}
.espo-search-toggle:hover,.espo-search-toggle:focus-visible{transform:translateY(-2px) rotate(-3deg)!important;background:#0072bc!important;box-shadow:0 13px 26px rgba(0,114,188,.22)!important}
.espo-search-toggle[aria-expanded="true"]{background:#0072bc!important;transform:rotate(0)!important}
.espo-search-popover{position:absolute;top:calc(100% + 12px);right:0;width:360px;max-width:calc(100vw - 32px);padding:10px;background:rgba(255,255,255,.97);border:1px solid rgba(17,24,32,.08);border-radius:18px;box-shadow:0 22px 55px rgba(9,20,33,.18),0 2px 8px rgba(9,20,33,.06);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);opacity:0;transform:translateY(-8px) scale(.985);transform-origin:top right;transition:opacity .18s ease,transform .25s cubic-bezier(.22,1,.36,1)}
.espo-search-popover[hidden]{display:none!important}
.espo-search-popover.is-open{opacity:1;transform:none}
.espo-search-popover:before{content:"";position:absolute;top:-5px;right:15px;width:10px;height:10px;background:rgba(255,255,255,.97);border-left:1px solid rgba(17,24,32,.08);border-top:1px solid rgba(17,24,32,.08);transform:rotate(45deg)}
.espo-search-capsule{position:relative;height:44px;display:flex;align-items:center;gap:9px;padding:0 10px 0 13px;border:1px solid rgba(17,24,32,.1);border-radius:13px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.espo-search-capsule:focus-within{border-color:rgba(0,114,188,.36);box-shadow:0 0 0 4px rgba(0,114,188,.08)}
.espo-search-capsule__icon{display:grid;place-items:center;color:#0072bc;flex:0 0 auto}
.espo-search-capsule input{min-width:0;flex:1;height:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:13px!important;color:#111820!important}
.espo-search-capsule input::placeholder{color:rgba(17,24,32,.42)}
.espo-search-capsule__close{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:rgba(17,24,32,.48);transition:background .2s ease,color .2s ease,transform .25s ease}
.espo-search-capsule__close:hover{background:rgba(17,24,32,.06);color:#111820;transform:rotate(90deg)}
.espo-search-popover__status{padding:10px 8px 4px;color:rgba(17,24,32,.46);font-size:11px;letter-spacing:.03em}
.espo-search-results{max-height:330px;overflow:auto;margin-top:4px;padding-right:2px}
.espo-search-results.is-loading{opacity:.55}
.espo-search-result{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border-radius:12px;color:#111820;transition:background .2s ease,transform .24s cubic-bezier(.22,1,.36,1)}
.espo-search-result:hover,.espo-search-result:focus-visible{background:rgba(0,114,188,.055);transform:translateX(3px)}
.espo-search-result__media{width:42px;height:34px;border-radius:9px;overflow:hidden;background:#f1f4f6;display:grid;place-items:center;color:#0072bc;font-weight:700;font-size:11px}
.espo-search-result__media img{width:100%;height:100%;object-fit:cover}
.espo-search-result__copy{min-width:0}
.espo-search-result__copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;line-height:1.25}
.espo-search-result__copy small{display:block;margin-top:2px;color:rgba(17,24,32,.45);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.espo-search-result__arrow{font-size:15px;color:rgba(17,24,32,.3);transition:transform .2s ease,color .2s ease}
.espo-search-result:hover .espo-search-result__arrow{color:#0072bc;transform:translateX(2px)}
.espo-search-empty{padding:18px 10px;text-align:center;color:rgba(17,24,32,.45);font-size:12px}
[dir="rtl"] .espo-search-popover{right:auto;left:0;transform-origin:top left}
[dir="rtl"] .espo-search-popover:before{right:auto;left:15px}
[dir="rtl"] .espo-search-capsule{padding:0 13px 0 10px}
[dir="rtl"] .espo-search-result:hover,[dir="rtl"] .espo-search-result:focus-visible{transform:translateX(-3px)}
[dir="rtl"] .espo-search-result__arrow{transform:scaleX(-1)}
[dir="rtl"] .espo-search-result:hover .espo-search-result__arrow{transform:scaleX(-1) translateX(2px)}
@media(max-width:1023px){.espo-search-popover{display:none!important}}
@media(prefers-reduced-motion:reduce){.espo-search-toggle,.espo-search-popover,.espo-search-capsule__close,.espo-search-result,.espo-search-result__arrow{transition:none!important;transform:none!important}}

/* ========================================================================== 
   ESPO 2.5.1.48 — conservative homepage visual alignment
   Scope is intentionally limited to the three homepage sections below.
   Existing layout, image ratios, responsive widths and WordPress data remain intact.
   ========================================================================== */
.home .espo-cohesive-section {
  position: relative;
  isolation: isolate;
}
.home .espo-cohesive-section > * {
  position: relative;
  z-index: 1;
}

/* Who we are — retain the original 7/5 grid and image ratio. */
.home .espo-cohesive-about {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  overflow: hidden;
  border: 1px solid rgba(17, 24, 32, .09);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 92% 14%, rgba(0, 114, 188, .10), transparent 28%),
    radial-gradient(circle at 7% 88%, rgba(255, 221, 0, .10), transparent 25%),
    linear-gradient(145deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: 0 26px 70px rgba(17, 24, 32, .07);
}
.home .espo-cohesive-about::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .38;
  background-image:
    linear-gradient(rgba(17,24,32,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,24,32,.045) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}
.home .espo-cohesive-about::after,
.home .espo-cohesive-services::after,
.home .espo-cohesive-work::after {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: 3;
  height: 4px;
  pointer-events: none;
  background: linear-gradient(90deg, #ffdd00 0 25%, #0072bc 25% 50%, #e51b23 50% 75%, #007439 75% 100%);
}
.home .espo-cohesive-about__copy {
  padding: clamp(.25rem, 1vw, 1rem) 0;
}
.home .espo-cohesive-about__stats > div {
  position: relative;
  min-width: 0;
  padding: 1rem 1.1rem;
  overflow: hidden;
  border: 1px solid rgba(17, 24, 32, .08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 12px 28px rgba(17, 24, 32, .05);
  backdrop-filter: blur(10px);
}
.home .espo-cohesive-about__stats > div::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 3rem;
  height: 3px;
  background: var(--espo-blue);
}
.home .espo-cohesive-about__stats > div:nth-child(2)::before { background: var(--espo-yellow); }
.home .espo-cohesive-about__visual .espo-engineering-visual {
  border-radius: 1.15rem;
  box-shadow: 0 24px 54px rgba(17, 24, 32, .15);
}
.home .espo-cohesive-about__visual .espo-engineering-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* What we do — preserve the original 2-column service grid and 16:9 media. */
.home .espo-cohesive-services {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%, rgba(238,46,36,.07), transparent 25%),
    radial-gradient(circle at 92% 78%, rgba(0,114,188,.08), transparent 28%),
    #f5f7f9;
}
.home .espo-cohesive-services::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  background-image: radial-gradient(rgba(17,24,32,.14) .65px, transparent .65px);
  background-size: 18px 18px;
}
.home .espo-cohesive-services__heading {
  align-items: end;
}
.home .espo-cohesive-service-card {
  overflow: hidden;
  border-radius: 1.15rem;
  border-color: rgba(17, 24, 32, .09);
  background: rgba(255,255,255,.90);
  box-shadow: 0 16px 42px rgba(17,24,32,.06);
  backdrop-filter: blur(8px);
}
.home .espo-cohesive-service-card:hover,
.home .espo-cohesive-service-card:focus-visible {
  box-shadow: 0 24px 58px rgba(17,24,32,.12);
}
.home .espo-cohesive-service-card .espo-service-image {
  border-radius: .8rem;
  background: #e8edf1;
}
.home .espo-cohesive-service-card .espo-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Selected work — keep the original horizontal rail and fixed card widths. */
.home .espo-cohesive-work {
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(0,114,188,.22), transparent 27%),
    radial-gradient(circle at 15% 82%, rgba(0,116,57,.15), transparent 30%),
    #111820;
}
.home .espo-cohesive-work::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
}
.home .espo-cohesive-work .text-espo-ink,
.home .espo-cohesive-work .espo-project-card-title { color: #fff; }
.home .espo-cohesive-work .text-espo-slate { color: rgba(255,255,255,.66); }
.home .espo-cohesive-work__heading .espo-btn {
  color: #fff;
  border-color: rgba(255,255,255,.32);
  background: rgba(255,255,255,.04);
}
.home .espo-cohesive-work__heading .espo-btn:hover,
.home .espo-cohesive-work__heading .espo-btn:focus-visible {
  color: #111820;
  border-color: #fff;
  background: #fff;
}
.home .espo-cohesive-work__rail {
  scrollbar-color: #47c57b rgba(255,255,255,.12);
}
.home .espo-cohesive-work__rail::-webkit-scrollbar-track { background: rgba(255,255,255,.10); }
.home .espo-cohesive-work__rail::-webkit-scrollbar-thumb { background: #47c57b; }
.home .espo-cohesive-work__card {
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 42px rgba(0,0,0,.20);
  backdrop-filter: blur(7px);
  transition: transform .35s ease, border-color .35s ease, background-color .35s ease;
}
.home .espo-cohesive-work__card:hover,
.home .espo-cohesive-work__card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(71,197,123,.70);
  background: rgba(255,255,255,.085);
}
.home .espo-cohesive-work__card > div:first-child {
  border-radius: .72rem;
}
.home .espo-cohesive-work__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home .espo-cohesive-work > .px-5.md\:hidden .espo-btn {
  color: #fff;
  border-color: rgba(255,255,255,.32);
}

html[dir="rtl"] .home .espo-cohesive-about::before {
  mask-image: linear-gradient(270deg, #000, transparent 76%);
}

@media (max-width: 1023px) {
  .home .espo-cohesive-about {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    border-radius: 1.15rem;
  }
}
@media (max-width: 767px) {
  .home .espo-cohesive-about {
    margin-inline: 1rem;
    width: auto;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .home .espo-cohesive-about::before { background-size: 32px 32px; }
  .home .espo-cohesive-about__stats { gap: .65rem; }
  .home .espo-cohesive-about__stats > div { padding: .85rem; border-radius: .8rem; }
  .home .espo-cohesive-services,
  .home .espo-cohesive-work { padding-top: 4rem; padding-bottom: 4rem; }
  .home .espo-cohesive-service-card { border-radius: .95rem; }
  .home .espo-cohesive-work__card { padding: .42rem; border-radius: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home .espo-cohesive-service-card,
  .home .espo-cohesive-work__card { transition: none !important; }
}

/* ========================================================================== 
   ESPO 2.5.1.49 — Homepage colour restraint and luxury balance
   Keeps the four-colour identity as a signature, not a repeated surface.
   Scope: homepage only. Layout, media ratios and content structure are untouched.
   ========================================================================== */
body.home {
  --espo-home-navy: #0b1724;
  --espo-home-ink: #132130;
  --espo-home-blue: #0b6da8;
  --espo-home-blue-soft: rgba(11,109,168,.08);
  --espo-home-gold: #b9953f;
  --espo-home-gold-soft: rgba(185,149,63,.10);
  --espo-home-paper: #f6f8f9;
  --espo-home-line: rgba(19,33,48,.10);
}

/* Section labels use one coherent accent language. */
.home .espo-section-label > span:first-child {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--espo-home-blue) !important;
  box-shadow: 0 0 0 4px rgba(11,109,168,.055);
}
.home [data-home-section="hero"] .espo-section-label > span:first-child,
.home [data-home-section="projects"] .espo-section-label > span:first-child,
.home [data-home-section="advantages"] .espo-section-label > span:first-child,
.home [data-home-section="oman"] .espo-section-label > span:first-child {
  background: var(--espo-home-gold) !important;
  box-shadow: 0 0 0 4px rgba(185,149,63,.06);
}

/* Hero — preserve energy, remove repeated rainbow treatments. */
.home .espo-premium-hero {
  background:
    radial-gradient(circle at 91% 72%, rgba(11,109,168,.075), transparent 25rem),
    radial-gradient(circle at 8% 20%, rgba(185,149,63,.035), transparent 19rem),
    linear-gradient(180deg, #fff 0%, #f8fafb 100%);
}
.home .espo-premium-hero__ambient span:first-child { border-color: rgba(11,109,168,.075); }
.home .espo-premium-hero__ambient span:last-child { border-color: rgba(185,149,63,.10); }
.home .espo-premium-hero__slogan::after {
  width: 38%;
  height: 2px;
  opacity: .72;
  background: linear-gradient(90deg, var(--espo-home-blue), rgba(185,149,63,.72), transparent 92%) !important;
}
[dir="rtl"] .home .espo-premium-hero__slogan::after {
  background: linear-gradient(270deg, var(--espo-home-blue), rgba(185,149,63,.72), transparent 92%) !important;
}
.home .espo-premium-hero__visual::before {
  background: linear-gradient(125deg, rgba(11,109,168,.72), rgba(255,255,255,.25) 52%, rgba(185,149,63,.68));
}
.home .espo-premium-hero__corner {
  width: 5.4rem;
  background: var(--espo-home-gold);
  box-shadow: 0 4px 14px rgba(185,149,63,.18);
}
.home .espo-premium-hero__stats::before { background: var(--espo-home-blue); }
.home .espo-premium-hero__brandline {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 7;
  width: min(340px, 48vw);
  height: 2px;
  overflow: hidden;
  border-radius: 999px 999px 0 0;
  opacity: .78;
  transform: translateX(-50%);
}

/* Compact architectural signature shared by the three aligned sections. */
.home .espo-cohesive-about::after,
.home .espo-cohesive-services::after,
.home .espo-cohesive-work::after {
  inset-inline-start: clamp(1.25rem, 4vw, 4rem);
  inset-inline-end: auto;
  width: 74px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--espo-home-blue) 0 72%, var(--espo-home-gold) 72% 100%);
}

/* Who we are — calm, architectural and warm without decorative colour noise. */
.home .espo-cohesive-about {
  border-color: var(--espo-home-line);
  background:
    radial-gradient(circle at 92% 14%, rgba(11,109,168,.065), transparent 29%),
    linear-gradient(145deg, #fff 0%, #f5f8fa 100%);
  box-shadow: 0 24px 68px rgba(19,33,48,.065);
}
.home .espo-cohesive-about__stats > div::before { background: var(--espo-home-blue); }
.home .espo-cohesive-about__stats > div:nth-child(2)::before { background: var(--espo-home-gold); }
.home .espo-cohesive-about__visual .espo-engineering-visual::before {
  border-top-color: var(--espo-home-blue);
  border-right-color: rgba(11,109,168,.28);
}
.home .espo-cohesive-about__visual .espo-engineering-visual::after {
  height: 3px;
  background: linear-gradient(90deg, var(--espo-home-blue), var(--espo-home-gold));
}

/* What we do — service colours remain as small identifiers only. */
.home .espo-cohesive-services {
  background:
    radial-gradient(circle at 91% 15%, rgba(11,109,168,.055), transparent 27%),
    #f4f6f7;
}
.home .espo-cohesive-services::before { opacity: .18; }
.home .espo-cohesive-service-card {
  border-color: rgba(19,33,48,.085);
  background: rgba(255,255,255,.94);
  box-shadow: 0 15px 38px rgba(19,33,48,.055);
}
.home .espo-cohesive-service-card .espo-service-accent,
.home .espo-cohesive-service-card:hover .espo-service-accent,
.home .espo-cohesive-service-card:focus-visible .espo-service-accent {
  width: 3.1rem !important;
  opacity: .58;
}
.home .espo-cohesive-service-card > .flex > .h-4.w-4 {
  width: 8px;
  height: 8px;
  margin-top: .85rem;
  border-radius: 50%;
  opacity: .62;
  box-shadow: 0 0 0 4px rgba(19,33,48,.04);
}
.home .espo-cohesive-service-card:hover,
.home .espo-cohesive-service-card:focus-visible {
  border-color: rgba(11,109,168,.16);
  box-shadow: 0 24px 54px rgba(19,33,48,.10);
}

/* Selected work — imagery remains the hero; colour is only an accent. */
.home .espo-cohesive-work {
  background:
    radial-gradient(circle at 86% 14%, rgba(11,109,168,.16), transparent 27%),
    linear-gradient(145deg, #0b1724 0%, #101d2a 58%, #0b141e 100%);
}
.home .espo-cohesive-work::before { opacity: .15; }
.home .espo-cohesive-work__rail { scrollbar-color: rgba(11,109,168,.85) rgba(255,255,255,.10); }
.home .espo-cohesive-work__rail::-webkit-scrollbar-thumb { background: rgba(11,109,168,.88); }
.home .espo-cohesive-work__card:hover,
.home .espo-cohesive-work__card:focus-visible {
  border-color: rgba(93,163,205,.58);
  background: rgba(255,255,255,.075);
}

/* Industry expertise — retain each sector colour as data, not decoration. */
.home .espo-sectors-section {
  background:
    linear-gradient(rgba(15,23,42,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.022) 1px, transparent 1px),
    radial-gradient(circle at 88% 13%, rgba(11,109,168,.06), transparent 31%),
    #f7f9fa;
  background-size: 52px 52px, 52px 52px, auto, auto;
}
.home .espo-sectors-section::before {
  width: 3px;
  background: var(--espo-home-blue);
}
.home .espo-sectors-orbit--one { border-color: rgba(11,109,168,.08); }
.home .espo-sectors-orbit--two { border-color: rgba(185,149,63,.10); }
.home .espo-sector-button:hover .espo-sector-symbol,
.home .espo-sector-button:focus-visible .espo-sector-symbol,
.home .espo-sector-button.is-active .espo-sector-symbol {
  color: var(--sector-color);
  background: color-mix(in srgb, var(--sector-color) 8%, white);
  border-color: color-mix(in srgb, var(--sector-color) 30%, transparent);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8);
}
.home .espo-sector-accent {
  width: 4.5rem;
  height: 3px;
  opacity: .74;
}

/* Why ESPO — blue and muted gold replace six competing accents. */
.home .espo-why-section {
  background:
    linear-gradient(90deg, rgba(17,24,39,.025) 1px, transparent 1px),
    linear-gradient(rgba(17,24,39,.025) 1px, transparent 1px),
    radial-gradient(circle at 86% 5%, rgba(11,109,168,.075), transparent 30%),
    linear-gradient(135deg, #f7f9fa 0%, #f1f5f7 100%);
  background-size: 72px 72px, 72px 72px, auto, auto;
}
.home .espo-why-section::before {
  width: 3px;
  background: var(--espo-home-blue);
}
.home .espo-why-mark span:nth-child(1) { background: var(--espo-home-gold); }
.home .espo-why-mark span:nth-child(2) { background: var(--espo-home-blue); }
.home .espo-why-mark span:nth-child(3),
.home .espo-why-mark span:nth-child(4) { background: rgba(19,33,48,.16); }
.home .espo-why-card { --why-color: var(--espo-home-blue) !important; }
.home .espo-why-card:nth-child(2),
.home .espo-why-card:nth-child(5) { --why-color: var(--espo-home-gold) !important; }
.home .espo-why-card::after { opacity: .45; }
.home .espo-why-card:hover::after { opacity: .58; }
.home .espo-why-card__line { width: 30px; height: 3px; }
.home .espo-why-card:hover .espo-why-card__line { width: 74px; }
.home .espo-why-card--feature {
  background: linear-gradient(145deg, #0c1825 0%, #14283b 62%, #0b5f8f 100%);
}
.home .espo-why-card--feature:hover {
  background: linear-gradient(145deg, #0a1520 0%, #14283b 58%, #096b9f 100%);
}

/* Clients and insights remain neutral, with a consistent editorial hover. */
.home [data-home-section="clients"] .espo-section-label > span:first-child,
.home [data-home-section="insights"] .espo-section-label > span:first-child {
  background: var(--espo-home-blue) !important;
}
.home [data-home-section="clients"] .grid > div,
.home [data-home-section="insights"] .grid > a {
  transition: border-color .28s ease, box-shadow .3s ease, transform .3s ease;
}
.home [data-home-section="clients"] .grid > div:hover,
.home [data-home-section="insights"] .grid > a:hover {
  border-color: rgba(11,109,168,.15);
  box-shadow: 0 16px 36px rgba(19,33,48,.07);
  transform: translateY(-3px);
}

/* OHEC — regional warmth without a full saturated yellow field. */
.home .espo-ohec-section {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.78), transparent 28%),
    radial-gradient(circle at 8% 86%, rgba(185,149,63,.09), transparent 26%),
    linear-gradient(135deg, #f6f2e8 0%, #f2f3ef 48%, #edf3f6 100%);
}
.home .espo-ohec-section__pattern { opacity: .56; }
.home .espo-ohec-shell {
  border-color: rgba(19,33,48,.10);
  background: rgba(255,255,255,.76);
  box-shadow: 0 26px 72px rgba(19,33,48,.085);
}
.home .espo-ohec-meta span:nth-child(1) { background: var(--espo-home-gold); }
.home .espo-ohec-meta span:nth-child(2) { background: var(--espo-home-blue); }
.home .espo-ohec-meta span:nth-child(3),
.home .espo-ohec-meta span:nth-child(4) { background: rgba(19,33,48,.18); }
.home .espo-ohec-image-wash {
  background: linear-gradient(135deg, rgba(11,109,168,.045), transparent 48%, rgba(185,149,63,.08));
}
.home .espo-ohec-caption__dot {
  background: var(--espo-home-gold);
  box-shadow: 0 0 0 4px rgba(185,149,63,.16);
}

/* Discuss Your Project — strong dark finish; yellow becomes a refined outline. */
.home .espo-final-cta {
  background:
    radial-gradient(circle at 18% 12%, rgba(11,109,168,.17), transparent 34%),
    radial-gradient(circle at 84% 82%, rgba(185,149,63,.055), transparent 30%),
    linear-gradient(135deg, #07131f 0%, #0b1c2c 52%, #071018 100%);
}
.home .espo-final-cta .espo-btn--accent {
  color: #f5e8bd;
  border: 1px solid rgba(185,149,63,.58);
  background: rgba(185,149,63,.055);
}
.home .espo-final-cta .espo-btn--accent:hover,
.home .espo-final-cta .espo-btn--accent:focus-visible {
  color: #0b1724;
  border-color: #d1b15d;
  background: #d1b15d;
}
.home .espo-cta-wordmark__letter--e { --wm-color: #d1b15d; }
.home .espo-cta-wordmark__letter--s,
.home .espo-cta-wordmark__letter--p,
.home .espo-cta-wordmark__letter--o { --wm-color: #5da3cd; }

/* Footer on the homepage — retain a quiet signature, not another rainbow. */
.home .espo-site-footer {
  background:
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(11,109,168,.085), transparent 30%),
    linear-gradient(135deg, #151b22 0%, #0f1720 55%, #0c141c 100%) !important;
  background-size: 72px 72px, 72px 72px, auto, auto !important;
}
.home .espo-footer-topline {
  grid-template-columns: 1fr 2fr;
  width: 64px;
}
.home .espo-footer-topline span:nth-child(1) { background: var(--espo-home-gold); }
.home .espo-footer-topline span:nth-child(2) { background: var(--espo-home-blue); }
.home .espo-footer-topline span:nth-child(3),
.home .espo-footer-topline span:nth-child(4) { display: none; }
.home .espo-footer-wordmark::after {
  background: linear-gradient(90deg, var(--espo-home-blue), var(--espo-home-gold));
}
.home .espo-footer-navgroup a::after,
.home .espo-footer-language::after,
.home .espo-footer-contactline .espo-contact-row::after { background: var(--espo-home-gold); }

@media (max-width: 639px) {
  .home .espo-premium-hero__brandline { width: min(230px, 62vw); }
  .home .espo-cohesive-about::after,
  .home .espo-cohesive-services::after,
  .home .espo-cohesive-work::after {
    inset-inline-start: 1.25rem;
    width: 58px;
  }
  .home .espo-sectors-section::before,
  .home .espo-why-section::before { width: 2px; }
}

/* ========================================================================== 
   ESPO 2.5.1.50 — Homepage editorial refinement
   Refines desktop service cards, restores the yellow OHEC identity, and gives
   the final CTA a quieter international-corporate signature. Homepage only.
   ========================================================================== */

/* What we do — a composed four-discipline editorial grid on wide screens. */
.home .espo-cohesive-services {
  background:
    radial-gradient(circle at 92% 10%, rgba(11,109,168,.055), transparent 27%),
    linear-gradient(180deg, #f7f8f8 0%, #f1f4f5 100%);
}
.home .espo-cohesive-services__heading {
  grid-template-columns: minmax(0, .95fr) minmax(22rem, .62fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: end;
}
.home .espo-cohesive-services__heading > div:first-child {
  max-width: 44rem;
}
.home .espo-services-intro {
  position: relative;
  max-width: 34rem;
  margin: 0;
  padding-inline-start: 1.35rem;
  color: #526273;
  font-size: clamp(.96rem, 1.05vw, 1.06rem);
  line-height: 1.82;
}
.home .espo-services-intro::before {
  content: "";
  position: absolute;
  inset-block: .25rem;
  inset-inline-start: 0;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(to bottom, var(--espo-home-blue), rgba(185,149,63,.72));
}
.home .espo-service-grid.espo-cohesive-services__grid {
  margin-top: clamp(2.5rem, 4vw, 3.75rem);
  gap: 1rem;
}
.home .espo-cohesive-service-card {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: 0 !important;
  border-radius: 1rem;
  background: rgba(255,255,255,.97);
  box-shadow: 0 14px 34px rgba(19,33,48,.055);
  transform: none;
}
.home .espo-cohesive-service-card .espo-service-accent {
  top: 0;
  inset-inline-start: 1.25rem;
  inset-inline-end: auto;
  width: 2.75rem !important;
  height: 2px;
  opacity: .72;
  border-radius: 0 0 999px 999px;
}
.home .espo-cohesive-service-card .espo-service-image {
  order: 1;
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 0;
  background: #e7ecef;
}
.home .espo-cohesive-service-card .espo-service-image img {
  filter: saturate(.84) contrast(1.025);
}
.home .espo-cohesive-service-card > .flex {
  order: 2;
  align-items: center;
  padding: 1.25rem 1.3rem 0;
}
.home .espo-cohesive-service-card .espo-service-number {
  color: #718092 !important;
  font-size: .72rem !important;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .18em;
}
.home .espo-cohesive-service-card > .flex > .h-4.w-4 {
  width: 1.9rem;
  height: 2px;
  margin: 0;
  border-radius: 999px;
  opacity: .62;
  box-shadow: none;
}
.home .espo-cohesive-service-card h3 {
  order: 3;
  margin: .75rem 0 0;
  padding-inline: 1.3rem;
  color: #132130;
  font-size: clamp(1.3rem, 1.65vw, 1.72rem) !important;
  font-weight: 690;
  line-height: 1.15;
  letter-spacing: -.026em;
}
.home .espo-cohesive-service-card p {
  order: 4;
  flex: 1 1 auto;
  min-height: 5.25rem;
  margin: .7rem 0 0;
  padding-inline: 1.3rem;
  color: #5c6875;
  font-size: .92rem;
  line-height: 1.72;
}
.home .espo-cohesive-service-card .espo-service-link {
  order: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  margin: 1.25rem 1.3rem 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(19,33,48,.085);
  color: #273747;
  font-size: .72rem;
  font-weight: 740;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.home .espo-cohesive-service-card .espo-service-link svg {
  color: var(--espo-home-blue);
}
.home .espo-cohesive-service-card:hover,
.home .espo-cohesive-service-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(11,109,168,.15);
  box-shadow: 0 22px 52px rgba(19,33,48,.105);
}
.home .espo-cohesive-service-card:hover .espo-service-image img,
.home .espo-cohesive-service-card:focus-visible .espo-service-image img {
  filter: saturate(.96) contrast(1.035);
  transform: scale(1.035);
}
@media (min-width: 1280px) {
  .home .espo-service-grid.espo-cohesive-services__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .home .espo-service-grid.espo-cohesive-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1023px) {
  .home .espo-cohesive-services__heading {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .home .espo-services-intro {
    max-width: 42rem;
  }
}
@media (max-width: 767px) {
  .home .espo-service-grid.espo-cohesive-services__grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .home .espo-cohesive-service-card p { min-height: 0; }
}

/* OHEC — restore its memorable yellow campaign identity, with editorial control. */
.home .espo-ohec-section {
  background:
    radial-gradient(circle at 89% 8%, rgba(255,255,255,.78), transparent 27%),
    radial-gradient(circle at 9% 88%, rgba(255,255,255,.24), transparent 24%),
    linear-gradient(135deg, #fff7bd 0%, #ffe574 48%, #ffd51f 100%);
  border-color: rgba(76,59,0,.10);
}
.home .espo-ohec-section__pattern {
  opacity: .26;
  background-image:
    linear-gradient(rgba(45,39,18,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(45,39,18,.055) 1px, transparent 1px);
}
.home .espo-ohec-shell {
  border-color: rgba(39,43,48,.10);
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 76px rgba(81,62,0,.145);
  backdrop-filter: blur(16px);
}
.home .espo-ohec-copy {
  padding: clamp(2.25rem, 4.4vw, 4.5rem);
}
.home .espo-ohec-title {
  max-width: 12ch;
  color: #101b27;
  font-weight: 740;
}
.home .espo-ohec-text {
  color: rgba(16,27,39,.70);
}
.home .espo-ohec-meta span:nth-child(1) { background: #efb900; }
.home .espo-ohec-meta span:nth-child(2) { background: #0b6da8; }
.home .espo-ohec-meta span:nth-child(3) { background: #d9473f; }
.home .espo-ohec-meta span:nth-child(4) { background: #2a7b52; }
.home .espo-ohec-image-wash {
  background: linear-gradient(135deg, rgba(11,109,168,.045), transparent 48%, rgba(255,213,31,.14));
}
.home .espo-ohec-actions .espo-btn--primary {
  color: #fff;
  border-color: #101b27;
  background: #101b27;
}
.home .espo-ohec-actions .espo-btn--primary:hover,
.home .espo-ohec-actions .espo-btn--primary:focus-visible {
  color: #101b27;
  border-color: #efc51b;
  background: #efc51b;
}
.home .espo-ohec-actions .espo-btn--dark {
  color: #101b27;
  border-color: rgba(16,27,39,.12);
  background: #fff;
}
.home .espo-ohec-actions .espo-btn--dark:hover,
.home .espo-ohec-actions .espo-btn--dark:focus-visible {
  border-color: rgba(16,27,39,.25);
  background: #f8f5e9;
}
.home .espo-ohec-actions .espo-btn--secondary {
  color: #101b27;
  border-color: rgba(16,27,39,.28);
  background: transparent;
}
.home .espo-ohec-actions .espo-btn--secondary:hover,
.home .espo-ohec-actions .espo-btn--secondary:focus-visible {
  color: #fff;
  border-color: #0b6da8;
  background: #0b6da8;
}
.home .espo-ohec-caption__dot {
  background: #ffd51f;
  box-shadow: 0 0 0 4px rgba(255,213,31,.20);
}

/* Discuss Your Project — quiet, precise and unmistakably corporate. */
.home .espo-final-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(11,109,168,.10), transparent 34%),
    linear-gradient(135deg, #0b1118 0%, #111a24 56%, #0a1016 100%);
}
.home .espo-final-cta__grid {
  opacity: .20;
  background-size: 64px 64px;
}
.home .espo-final-cta__orb {
  border-color: rgba(255,255,255,.055);
}
.home .espo-final-cta__panel {
  grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
  gap: clamp(2rem, 5vw, 4.75rem);
  padding: clamp(1.75rem, 3.6vw, 3.6rem);
  border-color: rgba(255,255,255,.095);
  border-radius: 1.15rem;
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: 0 30px 86px rgba(0,0,0,.27);
}
.home .espo-final-cta__eyebrow {
  color: rgba(255,255,255,.56);
  font-size: .68rem;
  letter-spacing: .20em;
}
.home .espo-final-cta__eyebrow::before {
  width: 1.45rem;
  height: 1px;
  background: #d5b753;
}
.home .espo-final-cta h2 {
  max-width: 14ch;
  font-size: clamp(2.1rem, 3.9vw, 3.65rem);
  font-weight: 610;
  letter-spacing: -.038em;
  line-height: 1.04;
}
.home .espo-final-cta__copy > p {
  max-width: 54ch;
  color: rgba(255,255,255,.61);
  line-height: 1.78;
}
.home .espo-final-cta__actions {
  gap: .65rem;
  margin-top: 1.85rem;
}
.home .espo-final-cta__actions .espo-btn {
  min-height: 2.85rem;
  border-radius: 999px;
  padding-inline: 1.15rem;
  font-size: .75rem;
}
.home .espo-final-cta__actions .espo-btn--primary {
  color: #0b131c;
  border-color: #f2f0e9;
  background: #f2f0e9;
}
.home .espo-final-cta__actions .espo-btn--primary:hover,
.home .espo-final-cta__actions .espo-btn--primary:focus-visible {
  color: #fff;
  border-color: #0b6da8;
  background: #0b6da8;
}
.home .espo-final-cta__actions .espo-btn--accent {
  color: #e7cf7d;
  border-color: rgba(213,183,83,.48);
  background: transparent;
}
.home .espo-final-cta__actions .espo-btn--accent:hover,
.home .espo-final-cta__actions .espo-btn--accent:focus-visible {
  color: #101820;
  border-color: #d5b753;
  background: #d5b753;
}
.home .espo-final-cta__actions .espo-button-on-dark {
  color: rgba(255,255,255,.72);
  border-color: rgba(255,255,255,.16);
  background: transparent;
}
.home .espo-final-cta__actions .espo-button-on-dark:hover,
.home .espo-final-cta__actions .espo-button-on-dark:focus-visible {
  color: #fff;
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.07);
}
.home .espo-final-cta__brand {
  min-height: 12.5rem;
  padding: 1.25rem 1rem;
  border-inline-start-color: rgba(255,255,255,.09);
}
.home .espo-cta-wordmark {
  width: min(100%, 18rem);
  gap: .12rem;
  padding: .85rem .5rem 1.35rem;
}
.home .espo-cta-wordmark__letter,
.home .espo-cta-wordmark__letter--e,
.home .espo-cta-wordmark__letter--s,
.home .espo-cta-wordmark__letter--p,
.home .espo-cta-wordmark__letter--o {
  --wm-color: rgba(255,255,255,.92);
  color: rgba(255,255,255,.92) !important;
  font-size: clamp(3.4rem, 5.7vw, 5.4rem);
  font-weight: 620;
  letter-spacing: -.095em;
  text-shadow: none;
}
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter,
.home .espo-final-cta__brand:focus-within .espo-cta-wordmark__letter,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--e,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--s,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--p,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--o {
  color: #fff !important;
  transform: translateY(-.035em) scale(1.005);
  text-shadow: none;
}
.home .espo-cta-wordmark__rail {
  left: 50%;
  right: auto;
  inset-inline: auto;
  bottom: .35rem;
  width: 5.5rem;
  height: 2px;
  gap: .15rem;
  transform: translateX(-50%);
}
.home .espo-cta-wordmark__rail i,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__rail i,
.home .espo-final-cta__brand:focus-within .espo-cta-wordmark__rail i {
  opacity: .72;
  transform: scaleX(1);
}
.home .espo-final-cta__brand-note {
  margin-top: .75rem;
  color: rgba(255,255,255,.36);
  font-size: .61rem;
  font-weight: 620;
  letter-spacing: .18em;
}
.home .espo-cta-inner.reveal.is-visible .espo-cta-wordmark__letter {
  animation: espo-cta-wordmark-soft-in .65s cubic-bezier(.22,1,.36,1) var(--wm-delay) both;
}
@keyframes espo-cta-wordmark-soft-in {
  from { opacity: 0; transform: translateY(.12em); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 900px) {
  .home .espo-final-cta__panel { grid-template-columns: 1fr; }
  .home .espo-final-cta__brand {
    min-height: auto;
    padding-top: 1.75rem;
  }
}
@media (max-width: 640px) {
  .home .espo-final-cta__panel { border-radius: .9rem; }
  .home .espo-final-cta__actions .espo-btn { border-radius: .75rem; }
  .home .espo-cta-wordmark { width: min(100%, 15rem); }
}

/* ========================================================================== 
   ESPO 2.5.1.51 — Homepage continuity system
   Unifies the complete homepage into a deliberate scroll narrative while
   retaining the established content, responsive structure and campaign colour.
   ========================================================================== */
body.home {
  --espo-flow-canvas: #f4f6f7;
  --espo-flow-surface: #ffffff;
  --espo-flow-surface-soft: #eef2f4;
  --espo-flow-ink: #111d29;
  --espo-flow-muted: #65717d;
  --espo-flow-blue: #0b6da8;
  --espo-flow-gold: #c6a23d;
  --espo-flow-line: rgba(17,29,41,.095);
  --espo-flow-radius: 1.15rem;
  --espo-flow-radius-lg: 1.45rem;
  --espo-flow-shadow: 0 22px 58px rgba(17,29,41,.075);
  --espo-flow-space: clamp(5rem, 7.4vw, 7.4rem);
}
.home .espo-home-sections {
  position: relative;
  overflow: clip;
  color: var(--espo-flow-ink);
  background: var(--espo-flow-canvas);
}
.home .espo-home-sections > section,
.home .espo-home-sections > [data-home-section] {
  position: relative;
}

/* Shared editorial grammar: one label, one heading rhythm, one button language. */
.home .espo-home-sections .espo-section-label {
  gap: .7rem;
  margin-bottom: 1rem;
}
.home .espo-home-sections .espo-section-label > span:first-child {
  width: 1.75rem;
  height: 2px;
  border-radius: 999px;
  background: var(--espo-flow-blue) !important;
  box-shadow: none;
}
.home .espo-home-sections .espo-section-label > span:last-child {
  color: #71808d;
  font-size: .68rem;
  font-weight: 730;
  letter-spacing: .18em;
}
.home [data-home-section="hero"] .espo-section-label > span:first-child,
.home [data-home-section="projects"] .espo-section-label > span:first-child,
.home [data-home-section="oman"] .espo-section-label > span:first-child {
  background: var(--espo-flow-gold) !important;
}
.home .espo-cohesive-about h2,
.home .espo-cohesive-services h2,
.home .espo-cohesive-work h2,
.home .espo-sectors-title,
.home .espo-why-title,
.home .espo-home-trust h2,
.home .espo-home-insights h2,
.home .espo-ohec-title {
  font-size: clamp(2.25rem, 4.15vw, 4.25rem) !important;
  font-weight: 680 !important;
  line-height: 1.03 !important;
  letter-spacing: -.043em !important;
  text-wrap: balance;
}
.home .espo-home-sections .espo-btn {
  min-height: 2.9rem;
  border-radius: 999px;
  padding-inline: 1.15rem;
  font-size: .76rem;
  font-weight: 720;
  letter-spacing: .015em;
}
.home .espo-home-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

/* Chapter one: Hero, Who We Are and What We Do share one calm light canvas. */
.home .espo-premium-hero {
  background:
    radial-gradient(circle at 89% 68%, rgba(11,109,168,.065), transparent 25rem),
    radial-gradient(circle at 9% 16%, rgba(198,162,61,.035), transparent 19rem),
    linear-gradient(180deg, #fff 0%, #f7f9fa 78%, var(--espo-flow-canvas) 100%);
}
.home .espo-premium-hero__brandline {
  width: min(260px, 42vw);
  height: 2px;
  opacity: .68;
}
.home .espo-cohesive-about {
  margin-top: 0;
  margin-bottom: 0;
  padding-block: var(--espo-flow-space) !important;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home .espo-cohesive-about::before {
  inset: 1.5rem 0;
  opacity: .14;
  background-image:
    linear-gradient(rgba(17,29,41,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.055) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 62%);
}
html[dir="rtl"] .home .espo-cohesive-about::before {
  mask-image: linear-gradient(270deg, #000 0%, transparent 62%);
}
.home .espo-cohesive-about::after,
.home .espo-cohesive-services::after,
.home .espo-cohesive-work::after {
  display: none;
}
.home .espo-cohesive-about__copy {
  padding-block: 0;
}
.home .espo-cohesive-about__copy > p {
  color: var(--espo-flow-muted);
  max-width: 60ch;
}
.home .espo-cohesive-about__stats > div {
  padding: 1.1rem 1.2rem;
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 34px rgba(17,29,41,.045);
}
.home .espo-cohesive-about__stats > div::before {
  width: 2.25rem;
  height: 2px;
  background: var(--espo-flow-blue);
}
.home .espo-cohesive-about__stats > div:nth-child(2)::before {
  background: var(--espo-flow-gold);
}
.home .espo-cohesive-about__visual .espo-engineering-visual {
  border: 1px solid rgba(17,29,41,.09);
  border-radius: var(--espo-flow-radius-lg);
  box-shadow: var(--espo-flow-shadow);
}
.home .espo-cohesive-services {
  padding-block: var(--espo-flow-space) !important;
  border: 0 !important;
  background:
    linear-gradient(rgba(17,29,41,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.025) 1px, transparent 1px),
    linear-gradient(180deg, var(--espo-flow-canvas) 0%, #eef2f4 100%);
  background-size: 58px 58px, 58px 58px, auto;
}
.home .espo-cohesive-services::before {
  display: none;
}
.home .espo-cohesive-services__heading {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-bottom: .5rem;
}
.home .espo-services-intro {
  color: var(--espo-flow-muted);
  max-width: 43rem;
}
.home .espo-service-grid.espo-cohesive-services__grid {
  gap: 1rem;
  margin-top: 2.8rem;
}
.home .espo-cohesive-service-card {
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  background: rgba(255,255,255,.93);
  box-shadow: 0 14px 38px rgba(17,29,41,.055);
  backdrop-filter: none;
}
.home .espo-cohesive-service-card .espo-service-image {
  background: #e5eaed;
}
.home .espo-cohesive-service-card h3 {
  color: var(--espo-flow-ink);
}
.home .espo-cohesive-service-card p {
  color: var(--espo-flow-muted);
}
.home .espo-cohesive-service-card:hover,
.home .espo-cohesive-service-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(11,109,168,.18);
  box-shadow: var(--espo-flow-shadow);
}

/* Chapter two: Selected Work is a deliberate dark interlude, not a new site. */
.home .espo-cohesive-work {
  padding-block: var(--espo-flow-space) !important;
  border: 0;
  background:
    radial-gradient(circle at 84% 12%, rgba(11,109,168,.15), transparent 28%),
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(145deg, #0a1520 0%, #101d29 55%, #0a141e 100%);
  background-size: auto, 64px 64px, 64px 64px, auto;
}
.home .espo-cohesive-work::before {
  display: none;
}
.home .espo-cohesive-work .espo-section-label > span:last-child {
  color: rgba(255,255,255,.55);
}
.home .espo-cohesive-work__rail {
  margin-top: 2.75rem;
}
.home .espo-cohesive-work__card {
  padding: .48rem;
  border-color: rgba(255,255,255,.11);
  border-radius: var(--espo-flow-radius);
  background: rgba(255,255,255,.045);
  box-shadow: 0 18px 46px rgba(0,0,0,.20);
  backdrop-filter: none;
}
.home .espo-cohesive-work__card > div:first-child {
  border-radius: calc(var(--espo-flow-radius) - .35rem);
}
.home .espo-cohesive-work__card:hover,
.home .espo-cohesive-work__card:focus-visible {
  border-color: rgba(93,163,205,.48);
  background: rgba(255,255,255,.07);
}

/* Industry Expertise and Why ESPO share the same architectural chapter. */
.home .espo-sectors-section {
  padding-block: var(--espo-flow-space);
  border: 0;
  background:
    linear-gradient(180deg, #0a141e 0, #0a141e 2.2rem, rgba(10,20,30,0) 8.5rem),
    linear-gradient(rgba(17,29,41,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.025) 1px, transparent 1px),
    radial-gradient(circle at 90% 12%, rgba(11,109,168,.055), transparent 30%),
    var(--espo-flow-canvas);
  background-size: auto, 58px 58px, 58px 58px, auto, auto;
}
.home .espo-sectors-section::before {
  display: none;
}
.home .espo-sectors-orbit {
  opacity: .55;
}
.home .espo-sectors-title {
  color: var(--espo-flow-ink);
}
.home .espo-sectors-intro {
  color: var(--espo-flow-muted);
}
.home .espo-sectors-list {
  border-top-color: var(--espo-flow-line);
}
.home .espo-sectors-list li {
  border-bottom-color: var(--espo-flow-line);
}
.home .espo-sectors-list li:has(.espo-sector-button:hover),
.home .espo-sectors-list li:has(.espo-sector-button:focus-visible),
.home .espo-sectors-list li:has(.espo-sector-button.is-active) {
  border-radius: .85rem;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 34px rgba(17,29,41,.055);
}
.home .espo-sectors-visual {
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius-lg);
  background: rgba(255,255,255,.82);
  box-shadow: var(--espo-flow-shadow);
}
.home .espo-sector-images {
  border-radius: calc(var(--espo-flow-radius-lg) - .45rem);
}
.home .espo-why-section {
  padding-block: var(--espo-flow-space);
  border-top: 1px solid var(--espo-flow-line);
  background:
    radial-gradient(circle at 84% 4%, rgba(11,109,168,.05), transparent 30%),
    var(--espo-flow-canvas);
  background-size: auto;
}
.home .espo-why-section::before {
  display: none;
}
.home .espo-why-orbit {
  opacity: .5;
}
.home .espo-why-heading {
  padding-bottom: clamp(2.4rem, 4.5vw, 4rem);
}
.home .espo-why-title {
  max-width: 17ch;
  color: var(--espo-flow-ink);
}
.home .espo-why-title span {
  color: var(--espo-flow-blue);
}
.home .espo-why-mark {
  border-color: var(--espo-flow-line);
  background: rgba(255,255,255,.72);
  box-shadow: none;
}
.home .espo-why-card {
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  box-shadow: 0 14px 38px rgba(17,29,41,.045);
}
.home .espo-why-card:not(.espo-why-card--feature) {
  background: rgba(255,255,255,.80);
}
.home .espo-why-card:hover {
  box-shadow: var(--espo-flow-shadow);
}

/* Chapter three: Trust and Insights read as one continuous editorial block. */
.home .espo-home-trust,
.home .espo-home-insights {
  padding-block: var(--espo-flow-space) !important;
  border: 0 !important;
  background: #fff;
}
.home .espo-home-trust {
  border-top: 1px solid var(--espo-flow-line) !important;
}
.home .espo-home-insights {
  padding-top: clamp(3.5rem, 5vw, 5rem) !important;
}
.home .espo-home-insights > div {
  padding-top: clamp(3.5rem, 5vw, 5rem);
  border-top: 1px solid var(--espo-flow-line);
}
.home .espo-home-client-grid {
  overflow: hidden;
  gap: 1px;
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  background: var(--espo-flow-line);
  box-shadow: 0 16px 42px rgba(17,29,41,.045);
}
.home .espo-home-client-card {
  min-height: 8.5rem;
  background: #fff;
  transition: background-color .28s ease, transform .3s ease;
}
.home .espo-home-client-card:hover {
  position: relative;
  z-index: 1;
  background: #f6f8f9;
  transform: none;
  box-shadow: none;
}
.home .espo-home-client-card img {
  opacity: .72;
  transition: filter .3s ease, opacity .3s ease, transform .3s ease;
}
.home .espo-home-client-card:hover img {
  opacity: 1;
  transform: scale(1.025);
}
.home .espo-home-insight-grid {
  gap: 1rem;
}
.home .espo-home-insight-card {
  overflow: hidden;
  padding: .65rem;
  border-color: var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  background: #fff;
  box-shadow: 0 14px 38px rgba(17,29,41,.045);
}
.home .espo-home-insight-card img {
  border-radius: calc(var(--espo-flow-radius) - .35rem);
  filter: saturate(.88) contrast(1.02);
  transition: transform .55s cubic-bezier(.22,1,.36,1), filter .3s ease;
}
.home .espo-home-insight-card > p,
.home .espo-home-insight-card > h3 {
  margin-inline: .65rem;
}
.home .espo-home-insight-card > p {
  margin-top: 1rem;
  color: #7a8792;
}
.home .espo-home-insight-card > h3 {
  margin-top: .35rem;
  margin-bottom: .85rem;
  color: var(--espo-flow-ink);
  line-height: 1.35;
}
.home .espo-home-insight-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,109,168,.16);
  box-shadow: var(--espo-flow-shadow);
}
.home .espo-home-insight-card:hover img {
  filter: saturate(1) contrast(1.03);
  transform: scale(1.025);
}

/* OHEC keeps its yellow identity, contained within the same page geometry. */
.home .espo-ohec-section {
  padding-block: var(--espo-flow-space);
  border: 0;
  background: #fff;
}
.home .espo-ohec-section__pattern {
  display: none;
}
.home .espo-ohec-section > .mx-auto {
  padding-block: 0 !important;
}
.home .espo-ohec-shell {
  min-height: 440px;
  border-color: rgba(94,72,18,.14);
  border-radius: var(--espo-flow-radius-lg);
  background:
    radial-gradient(circle at 12% 14%, rgba(255,255,255,.34), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.24), transparent 24%),
    linear-gradient(135deg, #f3e2af 0%, #e6cc85 30%, #d7b75c 64%, #caa64a 100%);
  box-shadow: 0 28px 72px rgba(91,68,0,.16);
  backdrop-filter: none;
}
.home .espo-ohec-copy {
  padding: clamp(2.35rem, 4.6vw, 4.65rem);
}
.home .espo-ohec-copy::after {
  background: linear-gradient(to bottom, transparent, rgba(39,35,20,.12), transparent);
}
.home .espo-ohec-title {
  max-width: 12ch;
  color: var(--espo-flow-ink);
}
.home .espo-ohec-text {
  color: rgba(17,29,41,.78);
}
.home .espo-ohec-meta {
  border-color: rgba(86,68,18,.12);
  background: rgba(255,255,255,.34);
}
.home .espo-ohec-visual {
  padding: .8rem;
}
.home .espo-ohec-image-wrap {
  border-radius: calc(var(--espo-flow-radius-lg) - .45rem);
  box-shadow: 0 18px 48px rgba(61,47,0,.15);
}

/* The CTA and footer form one composed dark ending. */
.home .espo-final-cta {
  border: 0;
  background:
    radial-gradient(circle at 14% 16%, rgba(11,109,168,.105), transparent 34%),
    linear-gradient(145deg, #0a141e 0%, #111c27 56%, #0a131c 100%);
}
.home .espo-final-cta__grid {
  opacity: .16;
  background-size: 64px 64px;
}
.home .espo-final-cta__panel {
  border-color: rgba(255,255,255,.09);
  border-radius: var(--espo-flow-radius-lg);
  background: rgba(255,255,255,.035);
  box-shadow: 0 30px 80px rgba(0,0,0,.22);
}
.home .espo-final-cta__eyebrow::before {
  background: var(--espo-flow-gold);
}
.home .espo-final-cta h2 {
  font-weight: 610;
}
.home .espo-site-footer {
  margin-top: -1px;
  border-top: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(145deg, #0a131c 0%, #0d1721 55%, #09121a 100%) !important;
  background-size: 64px 64px, 64px 64px, auto !important;
}

@media (max-width: 1279px) {
  .home .espo-service-grid.espo-cohesive-services__grid {
    gap: 1.15rem;
  }
}
@media (max-width: 1023px) {
  .home .espo-cohesive-services__heading {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .home .espo-sectors-section {
    background:
      linear-gradient(180deg, #0a141e 0, #0a141e 1.5rem, rgba(10,20,30,0) 6rem),
      var(--espo-flow-canvas);
  }
  .home .espo-home-section-heading {
    align-items: start;
  }
}
@media (max-width: 767px) {
  body.home { --espo-flow-space: 4rem; }
  .home .espo-cohesive-about {
    width: auto;
    margin-inline: 0;
    padding-inline: 1.25rem;
  }
  .home .espo-cohesive-about::before {
    inset-inline: 1rem;
    background-size: 38px 38px;
  }
  .home .espo-home-section-heading--action {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.25rem;
  }
  .home .espo-home-client-card {
    min-height: 7rem;
    padding: 1.15rem;
  }
  .home .espo-ohec-shell {
    border-radius: 1rem;
  }
  .home .espo-final-cta__panel {
    border-radius: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home .espo-home-client-card,
  .home .espo-home-client-card img,
  .home .espo-home-insight-card,
  .home .espo-home-insight-card img {
    transition: none !important;
  }
}

/* ========================================================================== 
   ESPO 2.5.1.52 — Homepage title scale & project transition correction
   Keeps the continuity system, but restores a restrained corporate title scale
   and replaces the artificial dark-to-light fade with a clean editorial cut.
   ========================================================================== */

/* More restrained title scale across homepage editorial sections. */
.home .espo-cohesive-about h2,
.home .espo-cohesive-services h2,
.home .espo-cohesive-work h2,
.home .espo-sectors-title,
.home .espo-why-title,
.home .espo-home-trust h2,
.home .espo-home-insights h2,
.home .espo-ohec-title {
  font-size: clamp(1.95rem, 3vw, 3.35rem) !important;
  font-weight: 650 !important;
  line-height: 1.09 !important;
  letter-spacing: -.032em !important;
}

/* Give long Persian/Arabic headings a little more natural rhythm. */
html[dir="rtl"] .home .espo-cohesive-about h2,
html[dir="rtl"] .home .espo-cohesive-services h2,
html[dir="rtl"] .home .espo-cohesive-work h2,
html[dir="rtl"] .home .espo-sectors-title,
html[dir="rtl"] .home .espo-why-title,
html[dir="rtl"] .home .espo-home-trust h2,
html[dir="rtl"] .home .espo-home-insights h2,
html[dir="rtl"] .home .espo-ohec-title {
  line-height: 1.2 !important;
  letter-spacing: -.018em !important;
}

/* End Selected Work as a deliberate solid chapter, without a fading tail. */
.home .espo-cohesive-work {
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 84% 12%, rgba(11,109,168,.13), transparent 28%),
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(145deg, #0a1520 0%, #101d29 55%, #0a141e 100%);
  background-size: auto, 64px 64px, 64px 64px, auto;
}

/* Start Industry Expertise on a clean light canvas: no black gradient/fade. */
.home .espo-sectors-section {
  border-top: 0;
  background:
    linear-gradient(rgba(17,29,41,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.025) 1px, transparent 1px),
    radial-gradient(circle at 90% 12%, rgba(11,109,168,.055), transparent 30%),
    var(--espo-flow-canvas);
  background-size: 58px 58px, 58px 58px, auto, auto;
  box-shadow: inset 0 1px 0 rgba(17,29,41,.055);
}

/* A short brand marker makes the chapter change intentional, not blended. */
.home .espo-sectors-section::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  inset-inline-start: max(1.25rem, calc((100% - 80rem) / 2));
  width: clamp(3.5rem, 7vw, 6rem);
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--espo-flow-blue) 0 66%, var(--espo-flow-gold) 66% 100%);
}

@media (max-width: 1023px) {
  .home .espo-sectors-section {
    background:
      linear-gradient(rgba(17,29,41,.022) 1px, transparent 1px),
      linear-gradient(90deg, rgba(17,29,41,.022) 1px, transparent 1px),
      var(--espo-flow-canvas);
    background-size: 48px 48px, 48px 48px, auto;
  }
}

@media (max-width: 767px) {
  .home .espo-cohesive-about h2,
  .home .espo-cohesive-services h2,
  .home .espo-cohesive-work h2,
  .home .espo-sectors-title,
  .home .espo-why-title,
  .home .espo-home-trust h2,
  .home .espo-home-insights h2,
  .home .espo-ohec-title {
    font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
  }
  .home .espo-sectors-section::after {
    inset-inline-start: 1.25rem;
    width: 3.75rem;
  }
}

/* ========================================================================== 
   ESPO 2.5.1.53 — Selected Work integration redesign
   Replaces the isolated dark interlude with a light editorial project gallery
   that shares the homepage canvas, card language and spacing system.
   ========================================================================== */

/* The project chapter now continues the architectural light canvas. */
.home .espo-cohesive-work {
  color: var(--espo-flow-ink);
  padding-block: var(--espo-flow-space) !important;
  border-top: 1px solid rgba(17,29,41,.055);
  border-bottom: 1px solid rgba(17,29,41,.06);
  background:
    radial-gradient(circle at 91% 10%, rgba(11,109,168,.075), transparent 25rem),
    radial-gradient(circle at 7% 88%, rgba(198,162,61,.045), transparent 19rem),
    linear-gradient(rgba(17,29,41,.024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.024) 1px, transparent 1px),
    linear-gradient(180deg, #eef2f4 0%, #f7f9fa 100%);
  background-size: auto, auto, 58px 58px, 58px 58px, auto;
}
.home .espo-cohesive-work::before,
.home .espo-cohesive-work::after {
  display: none !important;
}
.home .espo-cohesive-work__heading {
  align-items: end;
  gap: 2rem;
}
.home .espo-cohesive-work .espo-section-label > span:last-child {
  color: var(--espo-flow-muted);
}
.home .espo-cohesive-work .text-espo-ink,
.home .espo-cohesive-work .espo-project-card-title {
  color: var(--espo-flow-ink);
}
.home .espo-cohesive-work .text-espo-slate {
  color: var(--espo-flow-muted);
}
.home .espo-cohesive-work__heading .espo-btn {
  color: var(--espo-flow-ink);
  border-color: rgba(17,29,41,.18);
  background: rgba(255,255,255,.65);
  box-shadow: 0 8px 24px rgba(17,29,41,.035);
}
.home .espo-cohesive-work__heading .espo-btn:hover,
.home .espo-cohesive-work__heading .espo-btn:focus-visible {
  color: #fff;
  border-color: var(--espo-flow-blue);
  background: var(--espo-flow-blue);
  box-shadow: 0 12px 30px rgba(11,109,168,.18);
}

/* Project cards now use the same material language as services and insights. */
.home .espo-cohesive-work__rail {
  margin-top: 2.75rem;
  gap: 1rem;
  padding-inline: max(1.25rem, calc((100vw - 90rem) / 2 + 2rem));
  padding-bottom: 1.15rem;
  scrollbar-color: rgba(11,109,168,.72) rgba(17,29,41,.08);
}
.home .espo-cohesive-work__rail::-webkit-scrollbar-track {
  background: rgba(17,29,41,.07);
}
.home .espo-cohesive-work__rail::-webkit-scrollbar-thumb {
  background: rgba(11,109,168,.76);
}
.home .espo-cohesive-work__card {
  overflow: hidden;
  padding: .5rem;
  border: 1px solid var(--espo-flow-line);
  border-radius: var(--espo-flow-radius);
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 38px rgba(17,29,41,.055);
  backdrop-filter: none;
  transition: transform .32s cubic-bezier(.22,1,.36,1), border-color .32s ease, box-shadow .32s ease;
}
.home .espo-cohesive-work__card > div:first-child {
  aspect-ratio: 16 / 10 !important;
  border-radius: calc(var(--espo-flow-radius) - .38rem);
  background: #dfe5e8;
}
.home .espo-cohesive-work__card > div:last-child {
  margin-top: 0 !important;
  padding: 1rem .45rem .65rem;
}
.home .espo-cohesive-work__card img {
  transform: scale(1.001);
  transition-duration: .55s;
}
.home .espo-cohesive-work__card:hover,
.home .espo-cohesive-work__card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(11,109,168,.20);
  background: #fff;
  box-shadow: 0 22px 52px rgba(17,29,41,.105);
}
.home .espo-cohesive-work__card:hover img,
.home .espo-cohesive-work__card:focus-visible img {
  transform: scale(1.035);
}
.home .espo-cohesive-work__card .espo-project-card-title {
  margin-top: .45rem;
  font-size: 1.08rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.015em;
  transition: color .25s ease;
}
.home .espo-cohesive-work__card:hover .espo-project-card-title,
.home .espo-cohesive-work__card:focus-visible .espo-project-card-title {
  color: var(--espo-flow-blue);
}
.home .espo-cohesive-work__card > div:last-child > div:first-child {
  color: rgba(17,29,41,.52);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .09em;
}
.home .espo-cohesive-work__card > div:last-child > p {
  margin-top: .28rem;
  color: rgba(17,29,41,.56);
}
.home .espo-cohesive-work__card > div:first-child > span:first-of-type {
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 999px;
  color: #fff;
  background: rgba(10,21,32,.66) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.16);
  backdrop-filter: blur(8px);
}
.home .espo-cohesive-work__card > div:first-child > span:nth-of-type(2) {
  border-radius: 999px;
  background: #f1ca4a !important;
  color: #17212a !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.10);
}
.home .espo-cohesive-work > .px-5.md\:hidden .espo-btn {
  color: var(--espo-flow-ink);
  border-color: rgba(17,29,41,.20);
  background: rgba(255,255,255,.72);
}

/* Desktop and tablet become a calm project grid; mobile remains swipeable. */
@media (min-width: 768px) {
  .home .espo-cohesive-work__rail {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible !important;
    padding-bottom: 0;
    scroll-snap-type: none !important;
  }
  .home .espo-cohesive-work__card {
    width: auto !important;
    min-width: 0;
  }
}
@media (min-width: 1180px) {
  .home .espo-cohesive-work__rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .home .espo-cohesive-work {
    background:
      radial-gradient(circle at 100% 0%, rgba(11,109,168,.065), transparent 18rem),
      linear-gradient(180deg, #eef2f4 0%, #f7f9fa 100%);
  }
  .home .espo-cohesive-work__heading {
    align-items: flex-start;
  }
  .home .espo-cohesive-work__rail {
    gap: .85rem;
    padding-inline: 1.25rem;
  }
  .home .espo-cohesive-work__card {
    width: min(84vw, 22rem) !important;
    padding: .42rem;
  }
}

/* The following chapter starts on the exact same canvas, making the scroll seamless. */
.home .espo-sectors-section {
  border-top: 0;
  box-shadow: none;
  background:
    linear-gradient(rgba(17,29,41,.024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,29,41,.024) 1px, transparent 1px),
    radial-gradient(circle at 90% 12%, rgba(11,109,168,.055), transparent 30%),
    #f7f9fa;
  background-size: 58px 58px, 58px 58px, auto, auto;
}
.home .espo-sectors-section::after {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .home .espo-cohesive-work__card,
  .home .espo-cohesive-work__card img {
    transition: none !important;
  }
}

/* ========================================================================== 
   ESPO 2.5.1.54 — Lower-page harmony refinement
   Rebalances OHEC / CTA / Footer as one sequence, simplifies the footer,
   and turns the CTA wordmark into a quieter signature.
   ========================================================================== */

.home .espo-ohec-section {
  padding-top: clamp(2.8rem, 6vw, 4.6rem);
  padding-bottom: clamp(2.4rem, 5vw, 4rem);
}
.home .espo-ohec-shell {
  max-width: 86rem;
  margin-inline: auto;
  border-radius: 1.5rem;
}
.home .espo-ohec-copy,
.home .espo-ohec-visual {
  min-height: unset;
}
.home .espo-ohec-title {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  line-height: 1.04;
}
.home .espo-ohec-text {
  max-width: 56ch;
  font-size: .98rem;
  line-height: 1.82;
}

.home .espo-final-cta {
  padding-top: .35rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,109,168,.085), transparent 34%),
    linear-gradient(135deg, #0c1218 0%, #111a24 58%, #0b1118 100%);
}
.home .espo-final-cta__panel {
  border-radius: 1.45rem;
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  box-shadow: 0 28px 74px rgba(0,0,0,.24);
}
.home .espo-final-cta__copy > p {
  max-width: 58ch;
}
.home .espo-final-cta__brand {
  min-height: 10.75rem;
  align-items: center;
  justify-content: center;
  padding-inline: 1.2rem;
  border-inline-start-color: rgba(255,255,255,.08);
}
.home .espo-cta-wordmark {
  width: min(100%, 13rem);
  gap: .04rem;
  padding: .4rem .2rem .95rem;
}
.home .espo-cta-wordmark__letter,
.home .espo-cta-wordmark__letter--e,
.home .espo-cta-wordmark__letter--s,
.home .espo-cta-wordmark__letter--p,
.home .espo-cta-wordmark__letter--o {
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(2.5rem, 4.1vw, 3.75rem);
  font-weight: 560;
  letter-spacing: -.085em;
  transition: transform .28s cubic-bezier(.22,1,.36,1), color .28s ease, opacity .28s ease;
}
.home .espo-cta-wordmark__letter--e { color: rgba(226,197,103,.98) !important; }
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter,
.home .espo-final-cta__brand:focus-within .espo-cta-wordmark__letter,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--e,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--s,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--p,
.home .espo-final-cta__brand:hover .espo-cta-wordmark__letter--o {
  color: #fff !important;
  transform: translateY(-.06em);
}
.home .espo-cta-wordmark__rail {
  width: 4.4rem;
  height: 2px;
  bottom: .15rem;
  gap: .12rem;
}
.home .espo-cta-wordmark__rail i {
  opacity: .45;
  transform: scaleX(.82);
  transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .28s ease;
}
.home .espo-final-cta__brand:hover .espo-cta-wordmark__rail i,
.home .espo-final-cta__brand:focus-within .espo-cta-wordmark__rail i {
  opacity: .9;
  transform: scaleX(1);
}
.home .espo-final-cta__brand-note {
  margin-top: .5rem;
  color: rgba(255,255,255,.34);
  font-size: .58rem;
  letter-spacing: .16em;
}

.espo-site-footer {
  margin-top: -1px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    radial-gradient(circle at 14% 0%, rgba(0,114,188,.075), transparent 30%),
    radial-gradient(circle at 86% 100%, rgba(213,183,83,.04), transparent 28%),
    linear-gradient(135deg, #10171f 0%, #0c131a 54%, #0a1117 100%) !important;
  background-size: 76px 76px, 76px 76px, auto, auto, auto !important;
}
.espo-footer-shell {
  padding-top: 2.8rem !important;
  padding-bottom: 1.4rem !important;
}
.espo-footer-topline {
  width: 70px;
  margin-bottom: 1.55rem;
}
.espo-footer-brandrow {
  grid-template-columns: minmax(18rem, .95fr) minmax(0, 1.45fr);
  align-items: start;
  gap: clamp(1.5rem, 3.8vw, 4rem);
  padding-bottom: 1.6rem;
}
.espo-footer-wordmark {
  font-size: 1.5rem;
  font-weight: 760;
}
.espo-footer-brandmark p {
  max-width: 30rem;
  margin-top: .85rem;
  font-size: .78rem;
  line-height: 1.72;
}
.espo-footer-contactline {
  display: grid;
  gap: .95rem;
  justify-items: stretch;
}
.espo-footer-phonegrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.espo-footer-phonechip {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: .7rem;
  min-height: 3rem;
  padding: .72rem .85rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
  transition: transform .24s ease, border-color .24s ease, background .24s ease, box-shadow .24s ease;
}
.espo-footer-phonechip:hover,
.espo-footer-phonechip:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 34px rgba(0,0,0,.12);
}
.espo-footer-phonechip .espo-contact-flag {
  box-shadow: 0 0 0 1px rgba(255,255,255,.12);
}
.espo-footer-phonechip__copy {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.espo-footer-phonechip__copy small {
  display: block;
  color: rgba(255,255,255,.44);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.2;
}
.espo-footer-phonechip__copy strong {
  display: block;
  color: rgba(255,255,255,.90);
  font-size: .8rem;
  font-weight: 620;
  line-height: 1.35;
  white-space: nowrap;
}
.espo-footer-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1.1rem;
  padding-inline-start: .1rem;
}
.espo-footer-contactitem {
  color: rgba(255,255,255,.68);
  font-size: .74rem;
}
.espo-footer-address {
  max-width: 30rem;
}
.espo-footer-social {
  gap: .48rem;
}
.espo-footer-social a {
  width: 1.95rem;
  height: 1.95rem;
}
.espo-footer-navrow {
  grid-template-columns: minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,.8fr);
  gap: clamp(1.2rem, 2.4vw, 2.7rem);
  padding: 1.35rem 0 1.2rem;
}
.espo-footer-navgroup {
  display: grid;
  grid-template-columns: 5rem minmax(0,1fr);
  gap: .8rem;
}
.espo-footer-navgroup h3 {
  margin-top: .25rem !important;
}
.espo-footer-navgroup ul,
.espo-footer-languages {
  gap: .4rem .85rem !important;
}
.espo-footer-navgroup a,
.espo-footer-language {
  font-size: .74rem !important;
  color: rgba(255,255,255,.66) !important;
}
.espo-footer-bottom {
  padding-top: 1rem !important;
}

@media (max-width: 1100px) {
  .espo-footer-brandrow {
    grid-template-columns: 1fr;
  }
  .espo-footer-phonegrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .espo-footer-navrow {
    grid-template-columns: 1fr 1fr;
  }
  .espo-footer-navgroup:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 767px) {
  .home .espo-ohec-shell {
    border-radius: 1.2rem;
  }
  .home .espo-final-cta__brand {
    min-height: auto;
    padding-top: 1.1rem;
    border-inline-start: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .home .espo-cta-wordmark {
    width: min(100%, 10.5rem);
  }
  .espo-footer-shell {
    padding-top: 2.2rem !important;
    padding-bottom: 1.15rem !important;
  }
  .espo-footer-phonegrid {
    grid-template-columns: 1fr;
  }
  .espo-footer-secondary {
    align-items: flex-start;
  }
  .espo-footer-navrow {
    grid-template-columns: 1fr;
    gap: .95rem;
  }
  .espo-footer-navgroup,
  .espo-footer-navgroup:last-child {
    grid-column: auto;
    grid-template-columns: 5.15rem minmax(0,1fr);
  }
  .espo-footer-address {
    max-width: none;
  }
}
@media (max-width: 430px) {
  .espo-footer-navgroup {
    grid-template-columns: 1fr;
    gap: .38rem;
  }
  .espo-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: .45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .espo-footer-phonechip,
  .home .espo-cta-wordmark__letter,
  .home .espo-cta-wordmark__rail i {
    transition: none !important;
  }
}

/* ========================================================================== 
   ESPO 2.5.1.59 — Monochrome luxury CTA signature
   Replaces the multicolor accent with a refined gold-and-ivory plaque.
   ========================================================================== */
.home .espo-final-cta__brand {
  min-height: 12rem;
  padding: 1.25rem;
}
.home .espo-cta-signature {
  position: relative;
  isolation: isolate;
  display: grid;
  justify-items: center;
  align-content: center;
  width: min(100%, 15rem);
  min-height: 10.2rem;
  padding: 1.18rem 1.35rem .98rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.12rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.04), transparent 42%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 18px 42px rgba(0,0,0,.12);
  transition:
    transform .38s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    background .32s ease,
    box-shadow .32s ease;
}
.home .espo-cta-signature::before {
  content: "";
  position: absolute;
  inset: .5rem;
  border: 1px solid rgba(255,255,255,.035);
  border-radius: .82rem;
  pointer-events: none;
}
.home .espo-cta-signature__corner {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  opacity: .58;
  transition: opacity .28s ease, width .32s cubic-bezier(.22,1,.36,1), height .32s cubic-bezier(.22,1,.36,1);
}
.home .espo-cta-signature__corner--tl {
  top: .54rem;
  left: .54rem;
  border-top: 1px solid rgba(223,194,98,.78);
  border-left: 1px solid rgba(223,194,98,.78);
}
.home .espo-cta-signature__corner--br {
  right: .54rem;
  bottom: .54rem;
  border-right: 1px solid rgba(223,194,98,.46);
  border-bottom: 1px solid rgba(223,194,98,.46);
}
.home .espo-cta-signature__sheen {
  position: absolute;
  inset: -35% auto -35% -62%;
  width: 42%;
  z-index: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.065), transparent);
  transition: left .78s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.home .espo-cta-signature__topline {
  position: relative;
  z-index: 1;
  display: block;
  width: 3.6rem;
  height: 2px;
  margin-bottom: .92rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(223,194,98,.0) 0%, rgba(223,194,98,.84) 18%, rgba(247,238,214,.98) 50%, rgba(223,194,98,.84) 82%, rgba(223,194,98,0) 100%);
  box-shadow: 0 0 0 1px rgba(223,194,98,.03), 0 0 22px rgba(223,194,98,.08);
  transform: scaleX(.9);
  transition: transform .34s cubic-bezier(.22,1,.36,1), opacity .28s ease, box-shadow .28s ease;
}
.home .espo-cta-signature__word {
  position: relative;
  z-index: 1;
  display: block;
  color: rgba(255,255,255,.93);
  font-family: Manrope, Inter, sans-serif;
  font-size: clamp(2rem, 3.1vw, 2.66rem);
  font-weight: 570;
  line-height: 1;
  letter-spacing: .14em;
  text-indent: .14em;
  text-transform: uppercase;
  text-shadow: 0 6px 18px rgba(0,0,0,.12);
  transition: letter-spacing .38s cubic-bezier(.22,1,.36,1), color .28s ease, transform .38s cubic-bezier(.22,1,.36,1);
}
.home .espo-cta-signature__rule {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .42rem;
  width: 6.6rem;
  margin-top: .82rem;
}
.home .espo-cta-signature__rule i {
  display: block;
  height: 1px;
  background: rgba(255,255,255,.2);
  transform: scaleX(.72);
  transition: transform .38s cubic-bezier(.22,1,.36,1), background .28s ease;
}
.home .espo-cta-signature__rule b {
  display: block;
  width: .24rem;
  height: .24rem;
  border: 1px solid rgba(223,194,98,.72);
  background: rgba(223,194,98,.08);
  transform: rotate(45deg);
  transition: transform .38s cubic-bezier(.22,1,.36,1), background .28s ease, border-color .28s ease;
}
.home .espo-cta-signature__est {
  position: relative;
  z-index: 1;
  margin-top: .52rem;
  color: rgba(255,255,255,.37);
  font-size: .56rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
  transition: color .28s ease, letter-spacing .34s cubic-bezier(.22,1,.36,1);
}
.home .espo-final-cta__brand:hover .espo-cta-signature,
.home .espo-final-cta__brand:focus-within .espo-cta-signature {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.17);
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.018)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.07), transparent 42%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.065),
    0 24px 52px rgba(0,0,0,.18);
}
.home .espo-final-cta__brand:hover .espo-cta-signature__sheen,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__sheen {
  left: 118%;
}
.home .espo-final-cta__brand:hover .espo-cta-signature__corner,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__corner {
  width: 1.82rem;
  height: 1.82rem;
  opacity: .9;
}
.home .espo-final-cta__brand:hover .espo-cta-signature__topline,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__topline {
  transform: scaleX(1);
  box-shadow: 0 0 24px rgba(223,194,98,.12);
}
.home .espo-final-cta__brand:hover .espo-cta-signature__word,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__word {
  color: #fff;
  letter-spacing: .18em;
  transform: translateY(-.02em);
}
.home .espo-final-cta__brand:hover .espo-cta-signature__rule i,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__rule i {
  transform: scaleX(1);
  background: rgba(255,255,255,.42);
}
.home .espo-final-cta__brand:hover .espo-cta-signature__rule b,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__rule b {
  transform: rotate(135deg) scale(1.08);
  border-color: rgba(223,194,98,.92);
  background: rgba(223,194,98,.22);
}
.home .espo-final-cta__brand:hover .espo-cta-signature__est,
.home .espo-final-cta__brand:focus-within .espo-cta-signature__est {
  color: rgba(255,255,255,.6);
  letter-spacing: .28em;
}
.home .espo-final-cta__brand-note {
  margin-top: .78rem;
  max-width: 18rem;
  color: rgba(255,255,255,.32);
  font-size: .56rem;
  letter-spacing: .15em;
}

@media (max-width: 767px) {
  .home .espo-final-cta__brand {
    min-height: auto;
    padding: 1.35rem 0 .15rem;
  }
  .home .espo-cta-signature {
    width: min(100%, 13.4rem);
    min-height: 8.8rem;
    padding: 1rem 1.06rem .9rem;
  }
  .home .espo-cta-signature__topline {
    width: 3.1rem;
    margin-bottom: .8rem;
  }
  .home .espo-cta-signature__word {
    font-size: 1.95rem;
    letter-spacing: .12em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .espo-cta-signature,
  .home .espo-cta-signature *,
  .home .espo-cta-signature::before {
    transition: none !important;
    animation: none !important;
  }
}

/* ========================================================================== 
   ESPO 2.5.1.59 — CTA signature responsive polish
   Keeps the new plaque elegant across desktop, tablet and mobile.
   ========================================================================== */
.home .espo-cta-signature,
.espo-home-context .espo-cta-signature {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.home .espo-cta-signature__topline,
.home .espo-cta-signature__word,
.home .espo-cta-signature__rule,
.home .espo-cta-signature__est,
.espo-home-context .espo-cta-signature__topline,
.espo-home-context .espo-cta-signature__word,
.espo-home-context .espo-cta-signature__rule,
.espo-home-context .espo-cta-signature__est {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
  .home .espo-final-cta__panel,
  .espo-home-context .espo-final-cta__panel {
    grid-template-columns: 1fr !important;
  }
  .home .espo-final-cta__brand,
  .espo-home-context .espo-final-cta__brand {
    min-height: auto;
    padding: 1.6rem 0 .15rem;
    border-inline-start: 0;
    border-top: 1px solid rgba(255,255,255,.09);
  }
  .home .espo-cta-signature,
  .espo-home-context .espo-cta-signature {
    width: min(100%, 18rem);
    min-height: 9.15rem;
  }
}

@media (max-width: 767px) {
  .home .espo-final-cta__brand,
  .espo-home-context .espo-final-cta__brand {
    min-height: auto;
    padding: 1.4rem 0 .1rem;
    border-inline-start: 0;
    border-top: 1px solid rgba(255,255,255,.085);
  }
  .home .espo-cta-signature,
  .espo-home-context .espo-cta-signature {
    width: min(100%, 13.4rem);
    min-height: 8.8rem;
    padding: 1rem 1.06rem .9rem;
    border-radius: 1rem;
  }
  .home .espo-cta-signature__topline,
  .espo-home-context .espo-cta-signature__topline {
    width: 3.1rem;
    margin-bottom: .8rem;
  }
  .home .espo-cta-signature__word,
  .espo-home-context .espo-cta-signature__word {
    font-size: 1.95rem;
    letter-spacing: .12em;
  }
  .home .espo-cta-signature__rule,
  .espo-home-context .espo-cta-signature__rule {
    width: 6.1rem;
    margin-top: .7rem;
  }
  .home .espo-cta-signature__est,
  .espo-home-context .espo-cta-signature__est {
    font-size: .53rem;
  }
  .home .espo-final-cta__brand-note,
  .espo-home-context .espo-final-cta__brand-note {
    max-width: 16rem;
    text-align: center;
    line-height: 1.55;
  }
}


/* ========================================================================== 
   ESPO 2.5.1.58 — Persian & Arabic homepage typography system
   Language-specific display scale, paragraph rhythm and controlled justification.
   ========================================================================== */

html:lang(fa) body:is(.home, .espo-home-context),
html:lang(ar) body:is(.home, .espo-home-context) {
  font-synthesis: none;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

/* Connected scripts need no Latin tracking, tighter weights and more line room. */
html:lang(fa) body:is(.home, .espo-home-context) :is(h1, h2, h3),
html:lang(ar) body:is(.home, .espo-home-context) :is(h1, h2, h3) {
  letter-spacing: 0 !important;
  word-spacing: normal;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: pretty;
}

/* Hero: independent scales for Persian and Arabic. */
html:lang(fa) body:is(.home, .espo-home-context) .espo-premium-hero__content {
  max-width: 41rem;
}
html:lang(ar) body:is(.home, .espo-home-context) .espo-premium-hero__content {
  max-width: 42rem;
}
html:lang(fa) body:is(.home, .espo-home-context) .espo-premium-hero__brand {
  max-width: 19ch;
  font-size: clamp(1.42rem, 1.9vw, 2rem);
  font-weight: 570;
  line-height: 1.5;
}
html:lang(ar) body:is(.home, .espo-home-context) .espo-premium-hero__brand {
  max-width: 20ch;
  font-size: clamp(1.48rem, 2vw, 2.08rem);
  font-weight: 570;
  line-height: 1.48;
}
html:lang(fa) body:is(.home, .espo-home-context) .espo-premium-hero__slogan {
  max-width: 18ch;
  margin-top: .35rem;
  font-size: clamp(1.78rem, 2.55vw, 2.68rem);
  font-weight: 640;
  line-height: 1.42;
}
html:lang(ar) body:is(.home, .espo-home-context) .espo-premium-hero__slogan {
  max-width: 19ch;
  margin-top: .35rem;
  font-size: clamp(1.85rem, 2.65vw, 2.8rem);
  font-weight: 630;
  line-height: 1.38;
}

/* Restrained section title scale for the two RTL languages. */
html:lang(fa) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-about h2,
  .espo-cohesive-services h2,
  .espo-cohesive-work h2,
  .espo-sectors-title,
  .espo-why-title,
  .espo-home-trust h2,
  .espo-home-insights h2,
  .espo-ohec-title,
  .espo-final-cta h2
) {
  max-width: 22ch;
  font-size: clamp(1.55rem, 2.12vw, 2.38rem) !important;
  font-weight: 600 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
}
html:lang(ar) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-about h2,
  .espo-cohesive-services h2,
  .espo-cohesive-work h2,
  .espo-sectors-title,
  .espo-why-title,
  .espo-home-trust h2,
  .espo-home-insights h2,
  .espo-ohec-title,
  .espo-final-cta h2
) {
  max-width: 23ch;
  font-size: clamp(1.62rem, 2.2vw, 2.48rem) !important;
  font-weight: 600 !important;
  line-height: 1.43 !important;
  letter-spacing: 0 !important;
}

/* Card headings stay compact, avoiding oversized blocks in narrow columns. */
html:lang(fa) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-service-card h3,
  .espo-why-card h3,
  .espo-home-insight-card h3,
  .espo-project-card-title
) {
  font-size: clamp(1.03rem, 1.22vw, 1.3rem) !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
}
html:lang(ar) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-service-card h3,
  .espo-why-card h3,
  .espo-home-insight-card h3,
  .espo-project-card-title
) {
  font-size: clamp(1.06rem, 1.25vw, 1.34rem) !important;
  font-weight: 600 !important;
  line-height: 1.62 !important;
}

/* Paragraph hierarchy and comfortable connected-script rhythm. */
html:lang(fa) body:is(.home, .espo-home-context) :is(
  .espo-premium-hero__copy,
  .espo-cohesive-about__copy > p,
  .espo-services-intro,
  .espo-sectors-intro,
  .espo-ohec-text,
  .espo-final-cta__copy > p
) {
  max-width: 62ch;
  font-size: clamp(.96rem, .98vw, 1.04rem);
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: 0;
}
html:lang(ar) body:is(.home, .espo-home-context) :is(
  .espo-premium-hero__copy,
  .espo-cohesive-about__copy > p,
  .espo-services-intro,
  .espo-sectors-intro,
  .espo-ohec-text,
  .espo-final-cta__copy > p
) {
  max-width: 64ch;
  font-size: clamp(.97rem, 1vw, 1.06rem);
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0;
}

html:lang(fa) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-service-card p,
  .espo-why-card p,
  .espo-cohesive-work__card p
) {
  font-size: .92rem;
  line-height: 1.95;
  text-align: start;
}
html:lang(ar) body:is(.home, .espo-home-context) :is(
  .espo-cohesive-service-card p,
  .espo-why-card p,
  .espo-cohesive-work__card p
) {
  font-size: .93rem;
  line-height: 1.86;
  text-align: start;
}

/* Controlled justification: only broad text columns, never narrow cards/mobile. */
@media (min-width: 900px) {
  html:lang(fa) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ),
  html:lang(ar) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ) {
    text-align: justify;
    text-align-last: start;
    text-justify: inter-word;
    hyphens: none;
    overflow-wrap: break-word;
  }
}

/* Labels, controls and numbers should be quiet and consistent. */
html:lang(fa) body:is(.home, .espo-home-context) .espo-section-label > span:last-child,
html:lang(ar) body:is(.home, .espo-home-context) .espo-section-label > span:last-child {
  font-size: .72rem;
  font-weight: 520;
  letter-spacing: 0 !important;
  text-transform: none;
}
html:lang(fa) body:is(.home, .espo-home-context) :is(.espo-btn, button, .espo-service-link),
html:lang(ar) body:is(.home, .espo-home-context) :is(.espo-btn, button, .espo-service-link) {
  font-family: inherit;
  font-weight: 580;
  letter-spacing: 0 !important;
  line-height: 1.55;
}
html:lang(fa) body:is(.home, .espo-home-context) :is(
  .espo-premium-hero__stat strong,
  .espo-cohesive-about__stats .tabular-nums,
  .espo-service-number,
  .espo-project-index,
  .espo-why-card__number
),
html:lang(ar) body:is(.home, .espo-home-context) :is(
  .espo-premium-hero__stat strong,
  .espo-cohesive-about__stats .tabular-nums,
  .espo-service-number,
  .espo-project-index,
  .espo-why-card__number
) {
  font-family: var(--espo-font-latin);
  letter-spacing: -.02em !important;
}

/* Mobile/tablet: use natural alignment and a visibly smaller title scale. */
@media (max-width: 899px) {
  html:lang(fa) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ),
  html:lang(ar) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ) {
    text-align: start;
    text-align-last: auto;
  }
}
@media (max-width: 767px) {
  html:lang(fa) body:is(.home, .espo-home-context) .espo-premium-hero__brand {
    font-size: clamp(1.28rem, 5.5vw, 1.62rem);
    line-height: 1.55;
  }
  html:lang(ar) body:is(.home, .espo-home-context) .espo-premium-hero__brand {
    font-size: clamp(1.32rem, 5.7vw, 1.68rem);
    line-height: 1.5;
  }
  html:lang(fa) body:is(.home, .espo-home-context) .espo-premium-hero__slogan {
    max-width: 20ch;
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: 1.5;
  }
  html:lang(ar) body:is(.home, .espo-home-context) .espo-premium-hero__slogan {
    max-width: 21ch;
    font-size: clamp(1.6rem, 7.4vw, 2.06rem);
    line-height: 1.46;
  }
  html:lang(fa) body:is(.home, .espo-home-context) :is(
    .espo-cohesive-about h2,
    .espo-cohesive-services h2,
    .espo-cohesive-work h2,
    .espo-sectors-title,
    .espo-why-title,
    .espo-home-trust h2,
    .espo-home-insights h2,
    .espo-ohec-title,
    .espo-final-cta h2
  ) {
    font-size: clamp(1.4rem, 6.4vw, 1.82rem) !important;
    line-height: 1.55 !important;
  }
  html:lang(ar) body:is(.home, .espo-home-context) :is(
    .espo-cohesive-about h2,
    .espo-cohesive-services h2,
    .espo-cohesive-work h2,
    .espo-sectors-title,
    .espo-why-title,
    .espo-home-trust h2,
    .espo-home-insights h2,
    .espo-ohec-title,
    .espo-final-cta h2
  ) {
    font-size: clamp(1.45rem, 6.6vw, 1.88rem) !important;
    line-height: 1.5 !important;
  }
  html:lang(fa) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ) {
    font-size: .94rem;
    line-height: 2;
  }
  html:lang(ar) body:is(.home, .espo-home-context) :is(
    .espo-premium-hero__copy,
    .espo-cohesive-about__copy > p,
    .espo-services-intro,
    .espo-sectors-intro,
    .espo-ohec-text,
    .espo-final-cta__copy > p
  ) {
    font-size: .95rem;
    line-height: 1.9;
  }
}


/* ========================================================================== 
   ESPO 2.5.1.65 — Luxury language switcher refinement
   Removes colorful per-language accents in favor of a calm premium control.
   ========================================================================== */
.espo-language-dropdown__brand-ring {
  display: none !important;
}

.espo-language-dropdown--header,
.espo-language-dropdown--mobile-header {
  isolation: isolate;
}

.espo-language-dropdown--header .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  gap: 6px !important;
  border: 1px solid rgba(16, 24, 32, .09) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,240,.94)) !important;
  color: #16202b !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 8px 22px rgba(15,23,42,.06) !important;
}
.espo-language-dropdown--header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--header .espo-language-dropdown__toggle::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after {
  display: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--header.is-open .espo-language-dropdown__toggle,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle {
  color: #8f6a1f !important;
  border-color: rgba(184,145,67,.28) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,233,.98)) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 12px 28px rgba(15,23,42,.10) !important;
  transform: translateY(-1px) !important;
}
.espo-language-dropdown--header .espo-language-dropdown__toggle:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:focus-visible {
  outline: 2px solid rgba(184,145,67,.22) !important;
  outline-offset: 3px;
}
.espo-language-dropdown--header .espo-language-dropdown__globe,
.espo-language-dropdown--mobile-header .espo-language-dropdown__globe {
  color: #8f6a1f !important;
  transform: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__code,
.espo-language-dropdown--mobile-header .espo-language-dropdown__code {
  color: #16202b !important;
  letter-spacing: .11em !important;
}
.espo-language-dropdown--header .espo-language-dropdown__chevron,
.espo-language-dropdown--mobile-header .espo-language-dropdown__chevron {
  opacity: .58 !important;
}

.espo-language-dropdown--header .espo-language-dropdown__menu,
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  border: 1px solid rgba(16,24,32,.08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 56px rgba(15,23,42,.14), 0 2px 8px rgba(15,23,42,.05) !important;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.espo-language-dropdown--header .espo-language-dropdown__menu::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__menu::before {
  background: rgba(255,255,255,.98) !important;
  border-left: 1px solid rgba(16,24,32,.08) !important;
  border-top: 1px solid rgba(16,24,32,.08) !important;
}

.espo-language-dropdown--header .espo-language-dropdown__item,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  min-height: 39px;
  padding: 8px 12px 8px 12px !important;
  border-radius: 10px;
  color: #1b2430 !important;
  background: transparent !important;
  transform: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__item::before,
.espo-language-dropdown--header .espo-language-dropdown__item::after,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item::before,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item::after {
  display: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__item:hover,
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--header .espo-language-dropdown__item.is-current,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current {
  color: #8f6a1f !important;
  background: linear-gradient(90deg, rgba(184,145,67,.11), rgba(184,145,67,.03)) !important;
  transform: none !important;
}
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--header .espo-language-dropdown__item.is-current,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible,
html[dir="rtl"] .espo-language-dropdown--mobile-header .espo-language-dropdown__item.is-current {
  transform: none !important;
}
.espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible {
  outline: 2px solid rgba(184,145,67,.18) !important;
  outline-offset: -1px;
}
.espo-language-dropdown--header .espo-language-dropdown__name,
.espo-language-dropdown--mobile-header .espo-language-dropdown__name {
  font-size: 12.8px !important;
  font-weight: 630 !important;
}
.espo-language-dropdown--header .espo-language-dropdown__abbr,
.espo-language-dropdown--mobile-header .espo-language-dropdown__abbr {
  font-size: 9px !important;
  letter-spacing: .09em !important;
  opacity: .42 !important;
}
.espo-language-dropdown--header .espo-language-dropdown__check,
.espo-language-dropdown--mobile-header .espo-language-dropdown__check {
  width: 12px !important;
  height: 12px !important;
  color: #8f6a1f !important;
}

/* footer/mobile generic dropdowns should also stay neutral */
.espo-language-dropdown__item--en,
.espo-language-dropdown__item--fa,
.espo-language-dropdown__item--ar,
.espo-language-dropdown__item--tr {
  --espo-language-accent: #b89143 !important;
  --espo-language-rgb: 184,145,67 !important;
}

@media (max-width: 1023px) {
  .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    border-radius: 12px !important;
  }
}


/* ========================================================================== 
   ESPO 2.5.1.68 — About / Integrated Approach layout fix
   Uses stable semantic CSS instead of missing compiled col-span utilities.
   ========================================================================== */
.espo-about-approach {
  padding: clamp(4rem, 7vw, 6rem) 1.25rem;
  background: #fff;
}
.espo-about-approach__inner {
  width: min(100%, 90rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(16rem, .78fr) minmax(0, 1.72fr);
  gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
}
.espo-about-approach__intro {
  min-width: 0;
  position: sticky;
  top: 7.5rem;
}
.espo-about-approach__intro h2 {
  margin: 0;
  max-width: 15ch;
  color: var(--espo-ink);
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 760;
  line-height: 1.16;
  letter-spacing: -.035em;
}
.espo-about-approach__intro > p {
  margin: 1.25rem 0 0;
  max-width: 43ch;
  color: var(--espo-slate);
  font-size: 1rem;
  line-height: 1.85;
}
.espo-about-approach__grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--espo-line);
  background: var(--espo-line);
  gap: 1px;
  overflow: hidden;
}
.espo-about-approach__card {
  min-width: 0;
  min-height: 15rem;
  padding: clamp(1.5rem, 2.7vw, 2rem);
  background: #fff;
  transition: background-color .25s ease, transform .25s ease;
}
.espo-about-approach__card:hover {
  background: #fbfaf7;
}
.espo-about-approach__number {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--approach-accent, #b89143);
  font-family: var(--espo-font-latin, Manrope, sans-serif);
  font-size: .7rem;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .16em;
}
.espo-about-approach__number::after {
  content: "";
  width: 2.2rem;
  height: 1px;
  background: currentColor;
  opacity: .52;
}
.espo-about-approach__card h3 {
  margin: 1.15rem 0 0;
  color: var(--espo-ink);
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  font-weight: 720;
  line-height: 1.35;
  letter-spacing: -.018em;
}
.espo-about-approach__card p {
  margin: .8rem 0 0;
  color: var(--espo-slate);
  font-size: .96rem;
  line-height: 1.78;
}
html:lang(fa) .espo-about-approach__intro h2,
html:lang(ar) .espo-about-approach__intro h2 {
  max-width: 18ch;
  letter-spacing: 0;
  line-height: 1.48;
}
html:lang(fa) .espo-about-approach__intro > p,
html:lang(fa) .espo-about-approach__card p {
  line-height: 2;
}
html:lang(ar) .espo-about-approach__intro > p,
html:lang(ar) .espo-about-approach__card p {
  line-height: 1.9;
}
html:lang(fa) .espo-about-approach__card h3,
html:lang(ar) .espo-about-approach__card h3 {
  letter-spacing: 0;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  .espo-about-approach {
    padding-inline: 2rem;
  }
  .espo-about-approach__inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .espo-about-approach__intro {
    position: static;
  }
  .espo-about-approach__intro h2,
  .espo-about-approach__intro > p {
    max-width: 62ch;
  }
}
@media (max-width: 639px) {
  .espo-about-approach {
    padding: 3.5rem 1.25rem;
  }
  .espo-about-approach__grid {
    grid-template-columns: 1fr;
  }
  .espo-about-approach__card {
    min-height: auto;
    padding: 1.45rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .espo-about-approach__card {
    transition: none;
  }
}


/* ESPO 2.5.1.120 — complete single-post reading surface. */
.espo-single-post__header{max-width:58rem;margin:0 auto 2rem}.espo-single-post__meta{margin:0 0 .65rem;color:var(--espo-slate);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.espo-single-post__header h1{margin:0;color:var(--espo-ink);font-size:clamp(2rem,4.6vw,4rem);font-weight:650;letter-spacing:-.035em;line-height:1.12}.espo-single-post__excerpt{max-width:52rem;margin:1rem 0 0;color:var(--espo-slate);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.85}.espo-single-post__media{max-width:72rem;margin:0 auto 2.3rem}.espo-single-post__media img{display:block;width:100%;height:auto;max-height:46rem;object-fit:cover}.espo-single-post__content{max-width:58rem;margin:0 auto;color:var(--espo-ink);font-size:1rem;line-height:1.95}.espo-single-post__content>:first-child{margin-top:0}.espo-single-post__content>:last-child{margin-bottom:0}.espo-single-post__content p,.espo-single-post__content ul,.espo-single-post__content ol,.espo-single-post__content blockquote,.espo-single-post__content figure,.espo-single-post__content table{margin-block:1.1rem}.espo-single-post__content h2,.espo-single-post__content h3,.espo-single-post__content h4{margin:2rem 0 .7rem;color:var(--espo-ink);font-weight:650;line-height:1.35}.espo-single-post__content h2{font-size:clamp(1.5rem,2.4vw,2.2rem)}.espo-single-post__content h3{font-size:clamp(1.25rem,1.9vw,1.7rem)}.espo-single-post__content a{color:var(--espo-blue);text-decoration:underline;text-underline-offset:.16em}.espo-single-post__content img{max-width:100%;height:auto}.espo-single-post__content blockquote{padding-inline-start:1rem;border-inline-start:3px solid var(--espo-blue);color:var(--espo-slate)}.espo-single-post__nav{display:flex;justify-content:space-between;gap:1rem;max-width:58rem;margin:2.8rem auto 0;padding-top:1.15rem;border-top:1px solid var(--espo-line);font-size:.84rem;font-weight:700}.espo-single-post__nav>div:last-child{text-align:end}.espo-single-post__nav a{color:var(--espo-ink)}

/* ESPO 2.5.1.120 — fallback uses the approved four-color wordmark only. */
.espo-logo--wordmark{display:inline-flex;align-items:center;gap:.02em;font-size:1.55rem;font-weight:800;line-height:1;letter-spacing:-.07em}.espo-logo-letter{display:inline-block}.espo-logo-letter--e{color:#FFDD00}.espo-logo-letter--s{color:#0072BC}.espo-logo-letter--p{color:#EE2E24}.espo-logo-letter--o{color:#007439}

/* --------------------------------------------------------------------------
   2.5.1.123.22 — Header services dropdown single-line service labels
   -------------------------------------------------------------------------- */
.site-header.espo-floating-header .espo-services-dropdown a {
  align-items: center;
}
.site-header.espo-floating-header .espo-services-dropdown a > span:last-child {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}
.site-header.espo-floating-header .espo-services-dropdown a > span:last-child > span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
