:root{
  /* =========================================================
     PRIMARY PALETTE
  ========================================================= */

  --navy:#06283A;
  --navy-deep:#06283A;
  --navy-soft:#123B50;

  --blue:#3F7180;
  --blue-light:#5A8F9B;

  --gold:#AD8749;
  --gold-light:#C9A15D;

  --ivory:#F5F8F8;
  --paper:#FFFFFF;

  --ink:#19343B;
  --muted:#64777C;

  --line:#D5E0E2;
  --white:#FFFFFF;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:"DM Sans",sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}

::selection{
  background:var(--gold);
  color:var(--navy);
}

h1,
h2,
h3,
strong{
  font-family:"Manrope",sans-serif;
}

a{
  text-decoration:none;
  color:inherit;
}

button,
input,
select,
textarea{
  font:inherit;
}

.container{
  width:min(1200px,calc(100% - 48px));
  margin:auto;
}


/* =========================================================
   CURSOR GLOW
========================================================= */

.cursor-glow{
  position:fixed;
  width:340px;
  height:340px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;

  background:radial-gradient(
    circle,
    rgba(170,139,86,.13),
    transparent 68%
  );

  transform:translate(-50%,-50%);
  opacity:0;
  transition:opacity .3s;
}


/* =========================================================
   HEADER
========================================================= */

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;

  background:rgba(6,40,58,.98);

  backdrop-filter:blur(18px);

  border-bottom:1px solid rgba(208,176,109,.22);
}

.nav{
  height:82px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
}

.brand-logo{
  width:300px;
  height:auto;
  display:block;

  /* Logo background */
  background:#06283A;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:24px;

  font-size:12px;
  font-weight:700;

  color:#E7F0F2;
}

.nav-links>a:not(.nav-cta){
  color:#D8E5E8;
}

.nav-links>a:hover{
  color:var(--gold-light);
}

.nav-cta{
  background:var(--gold);
  color:var(--navy)!important;

  padding:12px 16px;
}

.nav-cta span{
  margin-left:10px;
}

.menu-toggle{
  display:none;
  background:none;
  border:0;

  width:32px;
  height:32px;
}

.menu-toggle span{
  display:block;
  width:22px;
  height:1px;

  background:#fff;

  margin:6px auto;
}

.progress-bar{
  height:2px;
  background:rgba(255,255,255,.08);
}

.progress-bar span{
  display:block;
  height:100%;
  width:0;

  background:var(--gold);
}


/* =========================================================
   HERO
========================================================= */

.hero{
  min-height:830px;
  padding-top:82px;

  background:#06283A;

  color:#fff;

  position:relative;
  overflow:hidden;
}

.hero-mesh{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 68% 35%,
      rgba(90,143,155,.20),
      transparent 28%
    ),

    linear-gradient(
      rgba(255,255,255,.035) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(255,255,255,.035) 1px,
      transparent 1px
    );

  background-size:auto,72px 72px,72px 72px;
}

.hero-line{
  position:absolute;

  border:1px solid rgba(208,176,109,.20);

  border-radius:50%;
}

.hero-line-1{
  width:780px;
  height:780px;

  right:-220px;
  top:58px;
}

.hero-line-2{
  width:520px;
  height:520px;

  right:-90px;
  top:188px;
}

.hero-layout{
  display:grid;

  grid-template-columns:1.15fr .7fr;

  gap:80px;

  align-items:center;

  min-height:700px;

  position:relative;
  z-index:2;
}

.eyebrow,
.section-id{
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;

  color:var(--gold);
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
}

.eyebrow span{
  width:26px;
  height:1px;

  background:var(--gold);
}

.hero h1{
  font-size:clamp(54px,6.8vw,88px);

  line-height:1.01;

  letter-spacing:-.058em;

  margin:25px 0;

  max-width:780px;
}

.hero h1 em{
  font-style:normal;
  color:var(--gold-light);
}

.hero-content>p{
  max-width:650px;

  color:#D5E2E5;

  font-size:17px;
}

.hero-actions{
  display:flex;

  gap:12px;

  margin-top:36px;
}

.btn{
  border:1px solid transparent;

  padding:14px 20px;

  font-size:12px;
  font-weight:800;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:18px;

  cursor:pointer;
}

.btn-gold{
  background:var(--gold);
  color:var(--navy);
}

.btn-line{
  border-color:rgba(255,255,255,.35);

  color:#fff;
}

.btn-line:hover{
  border-color:var(--gold);
  color:var(--gold-light);
}


/* =========================================================
   HERO PANEL
========================================================= */

.hero-panel{
  border:1px solid rgba(208,176,109,.25);

  background:rgba(255,255,255,.045);

  backdrop-filter:blur(8px);

  padding:20px;
}

.panel-top{
  display:flex;

  justify-content:space-between;

  font-size:9px;

  letter-spacing:.18em;

  color:#B9CED2;
}

.radar{
  height:360px;

  position:relative;

  display:grid;

  place-items:center;

  overflow:hidden;
}

.radar-ring{
  position:absolute;

  border:1px solid rgba(208,176,109,.25);

  border-radius:50%;
}

.r1{
  width:280px;
  height:280px;
}

.r2{
  width:190px;
  height:190px;
}

.r3{
  width:95px;
  height:95px;
}

.radar-axis{
  position:absolute;

  background:rgba(255,255,255,.1);
}

.radar-axis.x{
  height:1px;
  width:85%;
}

.radar-axis.y{
  width:1px;
  height:85%;
}

.radar-sweep{
  position:absolute;

  width:140px;
  height:140px;

  left:50%;
  top:50%;

  transform-origin:0 0;

  background:conic-gradient(
    from 0deg,
    rgba(170,139,86,.26),
    transparent 26%
  );

  animation:sweep 7s linear infinite;
}


/* =========================================================
   EXECUTIVE PROFILE IMAGE
========================================================= */

.profile-visual{
  position:relative;
}

.profile-visual h2{
  margin-top:18px;
}

.executive-image{
  position:relative;
  width:100%;
  height:300px;
  margin-top:38px;
  overflow:hidden;
  background:var(--navy);
}

.executive-image img{
  width:100%;
  height:100%;
  display:block;

  object-fit:cover;
  object-position:center;

  filter:saturate(.9) contrast(1.03);

  transition:
    transform .7s ease,
    filter .7s ease;
}

.executive-image:hover img{
  transform:scale(1.035);
  filter:saturate(1) contrast(1.05);
}

.executive-image-overlay{
  position:absolute;
  inset:0;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  padding:22px;

  background:
    linear-gradient(
      180deg,
      transparent 35%,
      rgba(6,40,58,.78) 100%
    );

  color:#fff;
}

.executive-image-overlay span{
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--gold-light);
}

.executive-image-overlay strong{
  margin-top:5px;
  font-size:14px;
  letter-spacing:-.01em;
}

.signal{
  position:absolute;

  width:7px;
  height:7px;

  background:var(--gold);

  border-radius:50%;

  box-shadow:
    0 0 0 7px rgba(170,139,86,.09);
}

.s1{
  left:37%;
  top:36%;
}

.s2{
  right:28%;
  top:44%;
}

.s3{
  left:31%;
  bottom:30%;
}

.s4{
  right:36%;
  bottom:24%;
}

.radar-label{
  font-family:Manrope;

  font-size:13px;

  letter-spacing:.15em;

  color:#E5EFF0;
}

.panel-data{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  border-top:1px solid rgba(255,255,255,.1);

  padding-top:18px;
}

.panel-data div{
  border-right:1px solid rgba(255,255,255,.08);

  padding-right:12px;

  margin-right:12px;
}

.panel-data div:last-child{
  border:0;
}

.panel-data strong{
  display:block;

  font-size:22px;
}

.panel-data span{
  font-size:9px;

  color:#B8C9CD;
}

@keyframes sweep{
  to{
    transform:rotate(360deg);
  }
}


/* =========================================================
   HERO FOOTER
========================================================= */

.hero-footer{
  position:absolute;

  bottom:24px;

  left:50%;

  transform:translateX(-50%);

  display:flex;

  justify-content:space-between;

  font-size:9px;

  text-transform:uppercase;

  letter-spacing:.18em;

  color:#A9C1C6;

  z-index:2;
}

.scroll-indicator{
  display:flex;

  align-items:center;

  gap:10px;
}

.scroll-indicator i{
  width:30px;
  height:1px;

  background:var(--gold);

  position:relative;
}

.scroll-indicator i:after{
  content:"";

  position:absolute;

  right:0;
  top:-2px;

  width:5px;
  height:5px;

  border-radius:50%;

  background:var(--gold);
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.section{
  padding:120px 0;
}

.split-heading,
.section-intro-grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:90px;
}

.section h2,
.contact-section h2{
  font-size:clamp(42px,4.8vw,65px);

  line-height:1.07;

  letter-spacing:-.05em;

  margin:0;
}

.section h2 span,
.contact-section h2 span{
  color:var(--gold);
}


/* =========================================================
   PROFILE
========================================================= */

.profile-copy{
  padding-top:36px;
}

.profile-copy .lead{
  font-family:Manrope;

  font-size:21px;

  line-height:1.45;

  color:#315E68;
}

.profile-copy>p:not(.lead){
  color:var(--muted);
}

.profile-tags{
  display:flex;

  flex-wrap:wrap;

  gap:8px;

  margin-top:28px;
}

.profile-tags span,
.market-facts span{
  border:1px solid var(--line);

  padding:7px 10px;

  font-size:10px;

  font-weight:700;

  color:#65777C;
}


/* =========================================================
   DARK TEA BLUE SECTIONS
========================================================= */

.dark,
.sectors{
  background:#06283A;

  color:#F4F8F8;
}

.section-intro{
  margin-bottom:60px;
}

.section-intro-grid p{
  align-self:end;

  color:var(--muted);

  max-width:480px;
}

.dark .section-intro-grid p,
.sectors .section-intro-grid p{
  color:#C5D7DA;
}

.light{
  color:var(--gold);
}


/* =========================================================
   ADVANTAGES
========================================================= */

.advantage-grid{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  border-top:1px solid rgba(255,255,255,.16);
}

.advantage-card{
  min-height:360px;

  padding:24px 22px 22px 0;

  border-right:1px solid rgba(255,255,255,.12);

  margin-right:22px;

  position:relative;
}

.advantage-card:last-child{
  border-right:0;
}

.card-meta{
  display:flex;

  align-items:center;

  gap:15px;

  color:var(--gold);

  font-size:10px;
}

.card-meta i{
  height:1px;

  flex:1;

  background:rgba(170,139,86,.35);
}

.advantage-card h3{
  font-size:21px;

  margin:95px 0 14px;
}

.advantage-card p{
  font-size:13px;

  color:#C5D7DA;
}

.card-arrow{
  position:absolute;

  bottom:18px;
  right:18px;

  color:var(--gold);

  font-size:18px;
}


/* =========================================================
   SERVICES
========================================================= */

.services{
  background:#FFFFFF;
}

.capability-list{
  border-top:1px solid var(--line);
}

.capability{
  display:grid;

  grid-template-columns:70px 1fr 1.5fr 45px;

  align-items:center;

  gap:25px;

  border-bottom:1px solid var(--line);

  padding:26px 0;

  transition:.3s;
}

.capability:hover{
  padding-left:12px;

  background:#EEF4F5;
}

.cap-num{
  font-size:10px;

  color:var(--gold);
}

.capability h3{
  font-size:18px;

  margin:0;
}

.capability p{
  font-size:13px;

  color:var(--muted);

  margin:0;
}

.cap-icon{
  font-size:17px;

  color:var(--gold);

  text-align:right;
}


/* =========================================================
   PROCESS
========================================================= */

.process{
  background:#E8F0F1;
}

.process-track{
  display:grid;

  grid-template-columns:repeat(5,1fr);

  position:relative;

  padding-top:30px;
}

.track-line{
  position:absolute;

  top:49px;

  left:0;
  right:0;

  height:1px;

  background:#B6C7CA;
}

.track-progress{
  display:block;

  width:0;
  height:100%;

  background:var(--gold);

  transition:width .6s ease;
}

.process-track article{
  padding-right:26px;

  position:relative;
}

.step-dot{
  width:40px;
  height:40px;

  border-radius:50%;

  border:1px solid #9FB3B8;

  background:#E8F0F1;

  font-size:10px;

  color:#526B72;

  font-weight:800;

  position:relative;

  z-index:2;

  cursor:pointer;

  transition:.3s;
}

.step-dot.active{
  background:var(--navy);

  border-color:var(--navy);

  color:#fff;

  box-shadow:
    0 0 0 6px rgba(6,40,58,.08);
}

.process-track h3{
  font-size:16px;

  margin:35px 0 8px;
}

.process-track p{
  font-size:12px;

  color:var(--muted);
}


/* =========================================================
   SECTORS
========================================================= */

.sector-showcase{
  display:grid;

  grid-template-columns:.7fr 1.3fr;

  border:1px solid rgba(208,176,109,.2);
}

.sector-nav{
  padding:10px;
}

.sector-btn{
  width:100%;

  background:transparent;

  border:0;

  border-bottom:1px solid rgba(255,255,255,.1);

  color:#B9CED2;

  padding:22px 16px;

  text-align:left;

  display:flex;

  gap:18px;

  cursor:pointer;

  font-weight:700;
}

.sector-btn span{
  font-size:9px;

  color:var(--gold);
}

.sector-btn.active,
.sector-btn:hover{
  color:#fff;

  background:rgba(255,255,255,.05);
}

.sector-visual{
  min-height:520px;

  position:relative;

  overflow:hidden;

  background:
    linear-gradient(
      135deg,
      #3F7180 0%,
      #173F50 48%,
      #041C29 100%
    );
}

.visual-grid{
  position:absolute;

  inset:0;

  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:44px 44px;
}

.visual-orbit{
  position:absolute;

  border:1px solid rgba(208,176,109,.25);

  border-radius:50%;
}

.v1{
  width:360px;
  height:360px;

  right:80px;
  top:60px;
}

.v2{
  width:220px;
  height:220px;

  right:150px;
  top:130px;
}

.facility{
  position:absolute;

  bottom:110px;

  background:var(--gold);

  opacity:.72;
}

.f1{
  width:28px;
  height:150px;

  right:310px;
}

.f2{
  width:70px;
  height:90px;

  right:225px;
}

.f3{
  width:110px;
  height:55px;

  right:100px;
}

.facility:after{
  content:"";

  position:absolute;

  left:-8px;
  right:-8px;

  top:-12px;

  height:1px;

  background:rgba(208,176,109,.55);
}

.sector-copy{
  position:absolute;

  left:38px;
  bottom:34px;

  max-width:430px;
}

.sector-code{
  font-size:9px;

  color:var(--gold);

  letter-spacing:.18em;
}

.sector-copy h3{
  font-size:29px;

  line-height:1.2;

  margin:8px 0;
}

.sector-copy p{
  color:#C7D7DA;

  font-size:13px;
}


/* =========================================================
   FOOTPRINT
========================================================= */

.footprint{
  background:#FFFFFF;
}

.map-layout{
  display:grid;

  grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);

  gap:24px;

  align-items:stretch;
}

.map-card{
  position:relative;

  border:1px solid var(--line);

  background:#F1F5F5 !important;

  padding:0;

  overflow:hidden;

  min-height:560px;
}

.map-header{
  position:absolute;

  top:0;
  left:0;
  right:0;

  z-index:5;

  display:flex;

  justify-content:space-between;

  align-items:flex-start;

  padding:22px 24px;

  pointer-events:none;
}

.map-header>div{
  display:flex;

  flex-direction:column;

  gap:4px;
}

.map-kicker{
  font-size:8px;

  font-weight:800;

  letter-spacing:.2em;

  color:var(--gold);
}

.map-header strong{
  font-family:"Manrope",sans-serif;

  font-size:12px;

  letter-spacing:.04em;

  color:var(--navy);
}

.map-scale{
  font-size:8px;

  font-weight:800;

  letter-spacing:.16em;

  color:#819196;
}

.map-stage{
  position:relative;

  width:100%;

  min-height:520px;

  overflow:hidden;
}

.mena-map{
  display:block;

  width:100%;

  height:auto;

  min-height:520px;
}

.map-water{
  fill:#c8eef2;
}

.map-graticule{
  fill:none;

  stroke:#a5c0c3;

  stroke-width:.55;

  stroke-opacity:.34;

  stroke-dasharray:2 5;
}

.country{
  fill:#DED9CD;

  stroke:#717e80;

  stroke-width:.8;

  stroke-linejoin:round;

  transition:
    fill .25s ease,
    stroke .25s ease;
}

.country:hover{
  fill:#D1C2A0;

  stroke:#AA8B56;

  stroke-width:1.3;

  cursor:pointer;
}

.country:focus{
  outline:none;

  fill:#A08C5F;

  stroke:#96650F;

  stroke-width:1.8;
}

.active-market-country{
  fill:#E2DED4;
}

.active-market-country:hover{
  fill:#D7C8A8;
}

.country-label-layer{
  pointer-events:none;
}

.country-label{
  font-family:"DM Sans",sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.1em;

  text-anchor:middle;

  fill:#3D474A;

  opacity:.78;
}

.map-region-label{
  font-family:"Manrope",sans-serif;

  font-size:10px;

  font-weight:800;

  letter-spacing:.2em;

  fill:#A28A5D;
}

.market-pin-layer{
  overflow:visible;
}

.market-pin{
  cursor:pointer;

  outline:none;

  overflow:visible;
}

.market-pin .pin-pulse-ring{
  fill:none;

  stroke:#3E311A;

  stroke-width:1;

  opacity:.15;
}

.market-pin .pin-outer{
  fill:rgba(170,139,86,.10);

  stroke:#473618;

  stroke-width:1.2;

  transition:
    fill .25s ease,
    stroke .25s ease;
}

.market-pin .pin-core{
  fill:#6B532A;
}

.market-pin.active .pin-outer{
  fill:#06283A;

  stroke:#06283A;
}

.market-pin.active .pin-core{
  fill:#D0B06D;
}

.market-pin:hover .pin-outer,
.market-pin:focus .pin-outer{
  fill:#06283A;

  stroke:#AA8B56;

  stroke-width:1.5;
}

.market-pin:hover .pin-core,
.market-pin:focus .pin-core{
  fill:#D0B06D;
}

.pin-pulse-ring{
  animation:mapPulse 2.8s ease-out infinite;
}

.market-pin.active .pin-pulse-ring{
  opacity:.3;
}

@keyframes mapPulse{
  0%{
    r:16;
    opacity:.35;
  }

  70%{
    r:26;
    opacity:0;
  }

  100%{
    r:26;
    opacity:0;
  }
}

.market-pin.pin-pulse .pin-pulse-ring{
  animation:selectedPulse .65s ease-out;
}

@keyframes selectedPulse{
  0%{
    r:15;
    opacity:.8;
  }

  100%{
    r:34;
    opacity:0;
  }
}

.market-label{
  pointer-events:none;

  font-family:"DM Sans",sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.1em;

  fill:#50676D;

  paint-order:stroke;

  stroke:#F1F5F5;

  stroke-width:3px;

  stroke-linejoin:round;
}

.market-pin.active .market-label{
  fill:#06283A;
}

.map-loading{
  position:absolute;

  inset:0;

  z-index:20;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:#F1F5F5;

  color:#60757B;

  font-size:10px;

  font-weight:700;

  letter-spacing:.08em;

  transition:
    opacity .3s ease,
    visibility .3s ease;
}

.map-loading.hidden{
  opacity:0;

  visibility:hidden;

  pointer-events:none;
}

.loading-dot{
  width:7px;
  height:7px;

  border-radius:50%;

  background:var(--gold);

  animation:loadingPulse 1s ease-in-out infinite;
}

@keyframes loadingPulse{
  0%,100%{
    transform:scale(.7);
    opacity:.4;
  }

  50%{
    transform:scale(1);
    opacity:1;
  }
}

.map-error{
  color:#8B665B;
}

.map-legend{
  position:absolute;

  bottom:0;

  left:0;
  right:0;

  z-index:5;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:18px;

  padding:13px 20px;

  border-top:1px solid rgba(6,40,58,.09);

  background:rgba(245,248,248,.94);

  backdrop-filter:blur(8px);

  font-size:8px;

  font-weight:700;

  letter-spacing:.08em;

  color:#728389;
}

.legend-market{
  display:flex;

  align-items:center;

  gap:7px;
}

.legend-market i{
  display:block;

  width:7px;
  height:7px;

  border-radius:50%;

  background:var(--gold);

  box-shadow:
    0 0 0 4px rgba(170,139,86,.10);
}

.legend-country{
  display:flex;

  align-items:center;

  gap:7px;
}

.legend-country::before{
  content:"";

  display:block;

  width:15px;
  height:8px;

  border:1px solid #AEBFC2;

  background:#DED9CD;
}

.market-detail{
  background:#06283A !important;

  color:#fff;

  padding:34px;

  min-height:560px;

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  position:relative;

  overflow:hidden;
}

.market-detail::before{
  content:"";

  position:absolute;

  width:360px;
  height:360px;

  right:-180px;
  bottom:-180px;

  border:1px solid rgba(208,176,109,.18);

  border-radius:50%;
}

.market-detail::after{
  content:"";

  position:absolute;

  width:220px;
  height:220px;

  right:-110px;
  bottom:-110px;

  border:1px solid rgba(208,176,109,.13);

  border-radius:50%;
}

.market-number{
  position:relative;

  z-index:2;

  font-size:9px;

  font-weight:800;

  letter-spacing:.18em;

  color:var(--gold);

  margin-bottom:0;
}

.market-content{
  position:relative;

  z-index:2;
}

.market-status{
  display:flex;

  align-items:center;

  gap:8px;

  margin-bottom:14px;

  font-size:8px;

  font-weight:800;

  letter-spacing:.15em;

  color:#9FB9BE;
}

.market-status span{
  width:6px;
  height:6px;

  border-radius:50%;

  background:var(--gold);

  box-shadow:
    0 0 0 4px rgba(170,139,86,.12);
}

.market-detail h3{
  font-size:34px;

  line-height:1.12;

  letter-spacing:-.04em;

  margin:0 0 14px;
}

.market-detail>.market-content>p{
  font-size:13px;

  line-height:1.75;

  color:#C5D7DA;

  margin:0;

  max-width:430px;
}

.market-facts{
  display:flex;

  flex-wrap:wrap;

  gap:7px;

  margin-top:24px;
}

.market-facts span{
  border:1px solid rgba(255,255,255,.15);

  padding:7px 9px;

  font-size:9px;

  font-weight:700;

  color:#D2DFE1;

  background:rgba(255,255,255,.025);
}

.market-footer{
  position:relative;

  z-index:2;

  display:flex;

  justify-content:space-between;

  align-items:center;

  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.1);
}

.market-coordinates{
  font-family:"DM Sans",sans-serif;

  font-size:9px;

  letter-spacing:.08em;

  color:#8FA9AE;
}

.market-arrow{
  color:var(--gold);

  font-size:20px;
}


/* =========================================================
   LEADERSHIP
========================================================= */

.leadership{
  background:#FFFFFF;
  position:relative;
  overflow:hidden;
}

.leadership-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  align-items:stretch;
}


/* ---------------------------------------------------------
   LEADER CARD
--------------------------------------------------------- */

.leader-card{
  position:relative;

  display:flex;
  flex-direction:column;

  min-height:520px;

  padding:26px 24px 22px;

  background:#FFFFFF;

  border:1px solid var(--line);

  overflow:hidden;

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}


/* subtle gold top accent */

.leader-card::before{
  content:"";

  position:absolute;

  top:0;
  left:0;

  width:0;
  height:2px;

  background:var(--gold);

  transition:width .4s ease;
}


/* subtle background detail */

.leader-card::after{
  content:"";

  position:absolute;

  width:180px;
  height:180px;

  right:-110px;
  bottom:-110px;

  border:1px solid rgba(173,135,73,.10);

  border-radius:50%;

  pointer-events:none;
}


.leader-card:hover{
  transform:translateY(-8px);

  border-color:#C9D5D8;

  box-shadow:
    0 22px 50px rgba(6,40,58,.11);
}

.leader-card:hover::before{
  width:72px;
}


/* ---------------------------------------------------------
   TOP
--------------------------------------------------------- */

.leader-top{
  display:flex;

  align-items:flex-start;

  justify-content:space-between;

  position:relative;

  z-index:2;
}


.leader-monogram{
  width:58px;
  height:58px;

  display:grid;
  place-items:center;

  border:1px solid var(--gold);

  background:
    linear-gradient(
      135deg,
      rgba(173,135,73,.08),
      rgba(173,135,73,.02)
    );

  color:#967743;

  font-family:"Manrope",sans-serif;

  font-size:13px;
  font-weight:800;

  letter-spacing:.04em;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}


.leader-card:hover .leader-monogram{
  background:var(--navy);

  color:var(--gold-light);

  transform:translateY(-2px);
}


.leader-number{
  font-family:"DM Sans",sans-serif;

  font-size:9px;

  font-weight:800;

  letter-spacing:.18em;

  color:#AAB8BB;

  padding-top:5px;
}


/* ---------------------------------------------------------
   ROLE
--------------------------------------------------------- */

.leader-role{
  position:relative;

  margin-top:40px;

  display:flex;

  align-items:center;

  gap:10px;

  font-size:9px;

  line-height:1;

  letter-spacing:.16em;

  color:#967743;

  font-weight:800;
}


.leader-role::before{
  content:"";

  width:22px;
  height:1px;

  background:var(--gold);

  flex:none;
}


/* ---------------------------------------------------------
   NAME
--------------------------------------------------------- */

.leader-card h3{
  position:relative;
  z-index:2;

  font-size:20px;

  line-height:1.25;

  letter-spacing:-.025em;

  color:var(--navy);

  margin:12px 0 17px;
}


/* ---------------------------------------------------------
   DIVIDER
--------------------------------------------------------- */

.leader-divider{
  width:100%;

  height:1px;

  background:var(--line);

  margin-bottom:18px;
}


/* ---------------------------------------------------------
   BIOGRAPHY LIST
--------------------------------------------------------- */

.leader-list{
  position:relative;
  z-index:2;

  list-style:none;

  padding:0;
  margin:0;

  display:flex;

  flex-direction:column;

  gap:11px;
}


.leader-list li{
  position:relative;

  padding-left:15px;

  color:#66777C;

  font-size:11px;

  line-height:1.55;
}


.leader-list li::before{
  content:"";

  position:absolute;

  left:0;
  top:.65em;

  width:4px;
  height:4px;

  border-radius:50%;

  background:var(--gold);
}


/* ---------------------------------------------------------
   CARD FOOTER
--------------------------------------------------------- */

.leader-footer{
  position:relative;
  z-index:2;

  display:flex;

  align-items:center;

  justify-content:space-between;

  margin-top:auto;

  padding-top:20px;

  border-top:1px solid var(--line);
}


.leader-footer span{
  font-size:8px;

  font-weight:800;

  letter-spacing:.14em;

  color:#829196;
}


.leader-footer i{
  display:grid;

  place-items:center;

  width:28px;
  height:28px;

  border:1px solid var(--line);

  color:var(--gold);

  font-size:14px;

  font-style:normal;

  transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease;
}


.leader-card:hover .leader-footer i{
  background:var(--gold);

  border-color:var(--gold);

  color:var(--navy);
}


/* =========================================================
   LEADERSHIP — TABLET
========================================================= */

@media(max-width:980px){

  .leadership-grid{
    grid-template-columns:1fr 1fr;

    gap:16px;
  }

  .leader-card{
    min-height:480px;
  }

}


/* =========================================================
   LEADERSHIP — MOBILE
========================================================= */

@media(max-width:720px){

  .leadership-grid{
    grid-template-columns:1fr;

    gap:14px;
  }

  .leader-card{
    min-height:auto;

    padding:24px 22px 20px;
  }

  .leader-role{
    margin-top:32px;
  }

  .leader-card h3{
    font-size:19px;
  }

  .leader-list{
    gap:10px;
  }

  .leader-list li{
    font-size:11px;
  }

}

/* =========================================================
   CONTACT
========================================================= */

.contact-section{
  background:#06283A;

  color:#fff;

  padding:120px 0;
}

.contact-grid{
  display:grid;

  grid-template-columns:.85fr 1.15fr;

  gap:90px;
}

.contact-copy>p{
  color:#C5D7DA;

  max-width:520px;
}

.contact-meta{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:22px;

  margin-top:50px;
}

.contact-meta small{
  font-size:8px;

  color:var(--gold);

  letter-spacing:.16em;
}

.contact-meta p{
  font-size:12px;

  color:#C9D8DA;
}


/* =========================================================
   FORM
========================================================= */

.inquiry-form{
  border:1px solid rgba(208,176,109,.24);

  padding:28px;

  background:rgba(255,255,255,.045);
}

.form-heading{
  display:flex;

  justify-content:space-between;

  border-bottom:1px solid rgba(255,255,255,.1);

  padding-bottom:20px;

  margin-bottom:24px;

  font-size:9px;

  letter-spacing:.15em;

  color:#B9CED2;
}

.form-row{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:18px;
}

.inquiry-form label{
  display:block;

  font-size:10px;

  color:#C5D7DA;

  margin-bottom:18px;
}

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea{
  width:100%;

  margin-top:7px;

  background:#041F2E;

  color:#fff;

  border:1px solid rgba(255,255,255,.17);

  padding:13px 14px;

  outline:none;

  border-radius:0;
}

.inquiry-form input::placeholder,
.inquiry-form textarea::placeholder{
  color:#8FA9AE;
}

.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus{
  border-color:var(--gold);

  background:#103646;
}

.inquiry-form textarea{
  resize:vertical;
}

.consent{
  display:flex!important;

  gap:10px;

  align-items:flex-start;
}

.consent input{
  width:auto;

  margin-top:2px;
}

.submit-btn{
  width:100%;

  border:0;
}

.form-status{
  min-height:20px;

  font-size:11px;

  margin-top:12px;

  color:#D0DDE0;
}

.form-status.error{
  color:#E0B5A8;
}

.form-status.success{
  color:#CBD9B2;
}

.honeypot{
  position:absolute!important;

  left:-10000px!important;

  width:1px!important;

  height:1px!important;

  opacity:0!important;

  pointer-events:none!important;
}

.submit-btn:disabled{
  opacity:.65;

  cursor:wait;
}


/* =========================================================
   FOOTER
========================================================= */

.footer-grid{
  display:grid;

  grid-template-columns:1fr 1.3fr .5fr;

  align-items:center;

  gap:30px;
}

.footer-brand{
  display:flex;

  align-items:center;
}

.footer-logo{
  width:185px;

  height:auto;

  display:block;

  /* Logo background */
  background:#06283A;
}

.footer-grid p{
  font-size:10px;

  max-width:440px;
}

.footer-links{
  display:flex;

  justify-content:flex-end;

  gap:20px;

  font-size:10px;
}

.footer-links a{
  color:var(--gold);
}

footer{
  background:#041C29;

  color:#A8BEC3;

  padding:28px 0;

  border-top:1px solid rgba(208,176,109,.16);
}


/* =========================================================
   REVEAL ANIMATION
========================================================= */

.reveal{
  opacity:0;

  transform:translateY(28px);

  transition:
    opacity .8s ease,
    transform .8s ease;
}

.reveal.visible{
  opacity:1;

  transform:none;
}

.delay-1{
  transition-delay:.12s;
}

.delay-2{
  transition-delay:.22s;
}

.delay-3{
  transition-delay:.32s;
}


/* =========================================================
   FORCE PRIMARY #06283A PALETTE
========================================================= */

body{
  background:#F5F8F8 !important;
}

.site-header{
  background:#06283A !important;
}

.hero{
  background:#06283A !important;
}

.dark{
  background:#06283A !important;
}

.sectors{
  background:#06283A !important;
}

.sector-visual{
  background:
    linear-gradient(
      135deg,
      #3F7180 0%,
      #173F50 48%,
      #041C29 100%
    ) !important;
}

.market-detail{
  background:#06283A !important;
}

.contact-section{
  background:#06283A !important;
}

footer{
  background:#082639 !important;
}

.services,
.leadership,
.footprint{
  background:#FFFFFF !important;
}

.process{
  background:#E8F0F1 !important;
}

.map-card{
  background:#EEF4F5 !important;
}

.water-cut{
  fill:#EEF4F5 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:980px){

  .nav-links{
    gap:14px;
  }

  .hero-layout{
    grid-template-columns:1fr .65fr;

    gap:35px;
  }

  .advantage-grid,
  .leadership-grid{
    grid-template-columns:1fr 1fr;
  }

  .advantage-card{
    min-height:300px;
  }

  .process-track{
    grid-template-columns:1fr 1fr;

    gap:30px;
  }

  .track-line{
    display:none;
  }

  .process-track article{
    padding-bottom:15px;
  }

  .sector-showcase,
  .map-layout{
    grid-template-columns:1fr;
  }

  .sector-nav{
    display:grid;

    grid-template-columns:1fr 1fr;
  }

  .sector-visual{
    min-height:440px;
  }

  .contact-grid{
    gap:40px;
  }

  .nav-links>a:not(.nav-cta){
    display:none;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:720px){

  .container{
    width:min(100% - 32px,1200px);
  }

  .nav{
    height:70px;
  }

  .site-header{
    height:70px;
  }

  .brand-logo{
    width:172px;

    background:#06283A;
  }

  .menu-toggle{
    display:block;
  }

  .nav-links{
    display:none;

    position:absolute;

    top:70px;

    left:0;
    right:0;

    background:#06283A !important;

    padding:16px;

    flex-direction:column;

    align-items:stretch;

    border-bottom:1px solid rgba(208,176,109,.2);
  }

  .nav-links.open{
    display:flex;
  }

  .nav-links>a:not(.nav-cta){
    display:block;

    padding:10px;

    color:#D9E5E7;
  }

  .nav-cta{
    text-align:center;
  }

  .hero{
    padding-top:70px;

    min-height:auto;
  }

  .hero-layout{
    grid-template-columns:1fr;

    padding:78px 0 100px;
  }

  .hero h1{
    font-size:49px;
  }

  .hero-panel{
    display:none;
  }

  .hero-footer{
    bottom:18px;
  }

  .split-heading,
  .section-intro-grid,
  .contact-grid{
    grid-template-columns:1fr;

    gap:28px;
  }

  .section,
  .contact-section{
    padding:80px 0;
  }

  .profile-copy{
    padding-top:0;
  }

  .advantage-grid,
  .leadership-grid{
    grid-template-columns:1fr;
  }

  .advantage-card{
    min-height:270px;

    margin-right:0;

    border-right:0;

    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .capability{
    grid-template-columns:42px 1fr 34px;

    gap:15px;
  }

  .capability p{
    grid-column:2 / 4;
  }

  .process-track{
    grid-template-columns:1fr;
  }

  .sector-showcase{
    border:0;
  }

  .sector-nav{
    grid-template-columns:1fr;

    padding:0;
  }

  .sector-visual{
    min-height:390px;
  }

  .v1{
    right:-60px;
  }

  .v2{
    right:10px;
  }

  .f1{
    right:210px;
  }

  .f2{
    right:125px;
  }

  .f3{
    right:10px;
  }

  .sector-copy{
    left:22px;

    right:20px;
  }

  .market-detail{
    min-height:340px;
  }

  .leader-card{
    min-height:390px;
  }

  .form-row,
  .contact-meta{
    grid-template-columns:1fr;
  }

  .inquiry-form{
    padding:20px;
  }

  .footer-grid{
    grid-template-columns:1fr;

    gap:18px;
  }

  .footer-links{
    justify-content:flex-start;
  }

  .hero-line-1{
    right:-600px;
  }

  .hero-line-2{
    right:-340px;
  }

  .cursor-glow{
    display:none;
  }

}


/* =========================================================
   REAL GEOGRAPHIC FOOTPRINT MAP
   Overrides the original schematic map styling.
========================================================= */

.map-layout{
  display:grid;

  grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);

  gap:24px;

  align-items:stretch;
}

.map-card{
  position:relative;

  border:1px solid var(--line);

  background:#F1F5F5 !important;

  padding:0;

  overflow:hidden;

  min-height:560px;
}

.map-header{
  position:absolute;

  top:0;
  left:0;
  right:0;

  z-index:5;

  display:flex;

  justify-content:space-between;

  align-items:flex-start;

  padding:22px 24px;

  pointer-events:none;
}

.map-header>div{
  display:flex;

  flex-direction:column;

  gap:4px;
}

.map-kicker{
  font-size:8px;

  font-weight:800;

  letter-spacing:.2em;

  color:var(--gold);
}

.map-header strong{
  font-family:"Manrope",sans-serif;

  font-size:12px;

  letter-spacing:.04em;

  color:var(--navy);
}

.map-scale{
  font-size:8px;

  font-weight:800;

  letter-spacing:.16em;

  color:#819196;
}

.map-stage{
  position:relative;

  width:100%;

  min-height:520px;

  overflow:hidden;
}

.mena-map{
  display:block;

  width:100%;

  height:auto;

  min-height:520px;
}

.map-water{
  fill:#c8eef2;
}

.map-graticule{
  fill:none;

  stroke:#a5c0c3;

  stroke-width:.55;

  stroke-opacity:.34;

  stroke-dasharray:2 5;
}

.country{
  fill:#DED9CD;

  stroke:#717e80;

  stroke-width:.8;

  stroke-linejoin:round;

  transition:
    fill .25s ease,
    stroke .25s ease;
}

.country:hover{
  fill:#D1C2A0;

  stroke:#AA8B56;

  stroke-width:1.3;

  cursor:pointer;
}

.country:focus{
  outline:none;

  fill:#A08C5F;

  stroke:#96650F;

  stroke-width:1.8;
}

.active-market-country{
  fill:#E2DED4;
}

.active-market-country:hover{
  fill:#D7C8A8;
}

.country-label-layer{
  pointer-events:none;
}

.country-label{
  font-family:"DM Sans",sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.1em;

  text-anchor:middle;

  fill:#3D474A;

  opacity:.78;
}

.map-region-label{
  font-family:"Manrope",sans-serif;

  font-size:10px;

  font-weight:800;

  letter-spacing:.2em;

  fill:#A28A5D;
}

.market-pin-layer{
  overflow:visible;
}

.market-pin{
  cursor:pointer;

  outline:none;

  overflow:visible;
}

.market-pin .pin-pulse-ring{
  fill:none;

  stroke:#3E311A;

  stroke-width:1;

  opacity:.15;
}

.market-pin .pin-outer{
  fill:rgba(170,139,86,.10);

  stroke:#473618;

  stroke-width:1.2;

  transition:
    fill .25s ease,
    stroke .25s ease;
}

.market-pin .pin-core{
  fill:#6B532A;
}

.market-pin.active .pin-outer{
  fill:#06283A;

  stroke:#06283A;
}

.market-pin.active .pin-core{
  fill:#D0B06D;
}

.market-pin:hover .pin-outer,
.market-pin:focus .pin-outer{
  fill:#06283A;

  stroke:#AA8B56;

  stroke-width:1.5;
}

.market-pin:hover .pin-core,
.market-pin:focus .pin-core{
  fill:#D0B06D;
}

.pin-pulse-ring{
  animation:mapPulse 2.8s ease-out infinite;
}

.market-pin.active .pin-pulse-ring{
  opacity:.3;
}

@keyframes mapPulse{
  0%{
    r:16;
    opacity:.35;
  }

  70%{
    r:26;
    opacity:0;
  }

  100%{
    r:26;
    opacity:0;
  }
}

.market-pin.pin-pulse .pin-pulse-ring{
  animation:selectedPulse .65s ease-out;
}

@keyframes selectedPulse{
  0%{
    r:15;
    opacity:.8;
  }

  100%{
    r:34;
    opacity:0;
  }
}

.market-label{
  pointer-events:none;

  font-family:"DM Sans",sans-serif;

  font-size:8px;

  font-weight:800;

  letter-spacing:.1em;

  fill:#50676D;

  paint-order:stroke;

  stroke:#F1F5F5;

  stroke-width:3px;

  stroke-linejoin:round;
}

.market-pin.active .market-label{
  fill:#06283A;
}

.map-loading{
  position:absolute;

  inset:0;

  z-index:20;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:#F1F5F5;

  color:#60757B;

  font-size:10px;

  font-weight:700;

  letter-spacing:.08em;

  transition:
    opacity .3s ease,
    visibility .3s ease;
}

.map-loading.hidden{
  opacity:0;

  visibility:hidden;

  pointer-events:none;
}

.loading-dot{
  width:7px;
  height:7px;

  border-radius:50%;

  background:var(--gold);

  animation:loadingPulse 1s ease-in-out infinite;
}

@keyframes loadingPulse{
  0%,100%{
    transform:scale(.7);
    opacity:.4;
  }

  50%{
    transform:scale(1);
    opacity:1;
  }
}

.map-error{
  color:#8B665B;
}

.map-legend{
  position:absolute;

  bottom:0;

  left:0;
  right:0;

  z-index:5;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:18px;

  padding:13px 20px;

  border-top:1px solid rgba(6,40,58,.09);

  background:rgba(245,248,248,.94);

  backdrop-filter:blur(8px);

  font-size:8px;

  font-weight:700;

  letter-spacing:.08em;

  color:#728389;
}

.legend-market{
  display:flex;

  align-items:center;

  gap:7px;
}

.legend-market i{
  display:block;

  width:7px;
  height:7px;

  border-radius:50%;

  background:var(--gold);

  box-shadow:
    0 0 0 4px rgba(170,139,86,.10);
}

.legend-country{
  display:flex;

  align-items:center;

  gap:7px;
}

.legend-country::before{
  content:"";

  display:block;

  width:15px;
  height:8px;

  border:1px solid #AEBFC2;

  background:#DED9CD;
}

.market-detail{
  background:#06283A !important;

  color:#fff;

  padding:34px;

  min-height:560px;

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  position:relative;

  overflow:hidden;
}

.market-detail::before{
  content:"";

  position:absolute;

  width:360px;
  height:360px;

  right:-180px;
  bottom:-180px;

  border:1px solid rgba(208,176,109,.18);

  border-radius:50%;
}

.market-detail::after{
  content:"";

  position:absolute;

  width:220px;
  height:220px;

  right:-110px;
  bottom:-110px;

  border:1px solid rgba(208,176,109,.13);

  border-radius:50%;
}

.market-number{
  position:relative;

  z-index:2;

  font-size:9px;

  font-weight:800;

  letter-spacing:.18em;

  color:var(--gold);

  margin-bottom:0;
}

.market-content{
  position:relative;

  z-index:2;
}

.market-status{
  display:flex;

  align-items:center;

  gap:8px;

  margin-bottom:14px;

  font-size:8px;

  font-weight:800;

  letter-spacing:.15em;

  color:#9FB9BE;
}

.market-status span{
  width:6px;
  height:6px;

  border-radius:50%;

  background:var(--gold);

  box-shadow:
    0 0 0 4px rgba(170,139,86,.12);
}

.market-detail h3{
  font-size:34px;

  line-height:1.12;

  letter-spacing:-.04em;

  margin:0 0 14px;
}

.market-detail>.market-content>p{
  font-size:13px;

  line-height:1.75;

  color:#C5D7DA;

  margin:0;

  max-width:430px;
}

.market-facts{
  display:flex;

  flex-wrap:wrap;

  gap:7px;

  margin-top:24px;
}

.market-facts span{
  border:1px solid rgba(255,255,255,.15);

  padding:7px 9px;

  font-size:9px;

  font-weight:700;

  color:#D2DFE1;

  background:rgba(255,255,255,.025);
}

.market-footer{
  position:relative;

  z-index:2;

  display:flex;

  justify-content:space-between;

  align-items:center;

  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.1);
}

.market-coordinates{
  font-family:"DM Sans",sans-serif;

  font-size:9px;

  letter-spacing:.08em;

  color:#8FA9AE;
}

.market-arrow{
  color:var(--gold);

  font-size:20px;
}


/* =========================================================
   RESPONSIVE MAP
========================================================= */

@media(max-width:980px){

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

  .map-card{
    min-height:520px;
  }

  .map-stage{
    min-height:480px;
  }

  .mena-map{
    min-height:480px;
  }

  .market-detail{
    min-height:380px;
  }

}


@media(max-width:720px){

  .map-card{
    min-height:auto;
  }

  .map-header{
    padding:17px;
  }

  .map-header strong{
    font-size:10px;
  }

  .map-scale{
    display:none;
  }

  .map-stage{
    min-height:360px;
  }

  .mena-map{
    min-height:360px;
  }

  .map-legend{
    flex-wrap:wrap;

    justify-content:flex-start;

    gap:10px 18px;

    padding:11px 14px;
  }

  .map-legend>span:last-child{
    width:100%;
  }

  .market-detail{
    min-height:350px;

    padding:28px;
  }

  .market-detail h3{
    font-size:30px;
  }

  .market-label,
  .country-label{
    font-size:7px;
  }

}