/* Mohaseb Site Home — redesigned "/" (local Noto Kufi, RTL, mobile-first) */
@font-face{
  font-family:"Noto Kufi Arabic";
  src:url("../fonts/noto-kufi-arabic/NotoKufiArabic-Variable.ttf") format("truetype");
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}

/* Light header polish when homepage is active — keep existing header HTML intact */
#wrapper:has(.msh-page) #header-container{
  background:#fff;
  box-shadow:0 1px 0 rgba(15,39,68,.06);
}
#wrapper:has(.msh-page).wrapper-with-transparent-header{
  padding-top:0;
}
#wrapper:has(.msh-page) #header-container.transparent-header{
  position:relative;
  background:#fff;
}

/* Mute classic theme intro styles if any leak inside homepage */
.msh-page .intro-banner,
.msh-page .intro-banner-search-form,
.msh-page .banner-headline{
  display:none!important;
}

.msh-page{
  --msh-blue:#2f80ed;
  --msh-blue-d:#1c6dd0;
  --msh-teal:#20c997;
  --msh-teal-d:#12b886;
  --msh-ink:#0f2744;
  --msh-muted:#5b6b7c;
  --msh-line:#e6eef6;
  --msh-bg:#f5f9fc;
  --msh-bg-soft:#eef6ff;
  --msh-white:#fff;
  --msh-radius:16px;
  --msh-radius-lg:20px;
  --msh-shadow:0 10px 30px rgba(15,39,68,.08);
  --msh-shadow-sm:0 4px 14px rgba(15,39,68,.06);
  --msh-shadow-hover:0 16px 36px rgba(15,39,68,.12);
  --msh-cat-blue:#e8f1ff;
  --msh-cat-cyan:#e0f7fa;
  --msh-cat-teal:#e6faf4;
  --msh-cat-purple:#efeaff;
  --msh-cat-orange:#fff1e6;
  --msh-cat-indigo:#ecebff;
  font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif;
  color:var(--msh-ink);
  background:var(--msh-white);
  direction:rtl;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.msh-page *,
.msh-page *::before,
.msh-page *::after{box-sizing:border-box}
.msh-page img{max-width:100%;height:auto;display:block}
.msh-page a{text-decoration:none;color:inherit}
.msh-page a:focus-visible,
.msh-page button:focus-visible,
.msh-page select:focus-visible{
  outline:3px solid rgba(47,128,237,.5);
  outline-offset:2px;
}
.msh-page button,
.msh-page select{
  font:inherit;
}
.msh-visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.msh-wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:0 16px;
}

/* ===== Section headers ===== */
.msh-sec-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px 20px;
  margin-bottom:24px;
}
.msh-sec-head--center{
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:28px;
}
.msh-sec-head__main{min-width:0;flex:1}
.msh-sec-title{
  margin:0;
  font-size:clamp(1.25rem,2.6vw,1.65rem);
  font-weight:700;
  color:var(--msh-ink);
  line-height:1.35;
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.msh-sec-head--center .msh-sec-title{justify-content:center}
.msh-sec-ico{flex-shrink:0}
.msh-sec-sub{
  margin:8px 0 0;
  color:var(--msh-muted);
  font-size:.95rem;
  line-height:1.7;
  max-width:36rem;
}
.msh-sec-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(32,201,151,.12);
  color:var(--msh-teal-d);
  font-size:.78rem;
  font-weight:700;
  margin-bottom:10px;
}
.msh-sec-more{
  margin-top:22px;
  text-align:center;
}
.msh-link-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:8px 4px;
  color:var(--msh-blue);
  font-weight:600;
  font-size:.92rem;
  transition:color .2s ease;
}
.msh-link-more:hover{color:var(--msh-blue-d)}
.msh-link-more svg{transform:scaleX(-1)}

/* ===== Hero — full-bleed card banner (matches design image 1) ===== */
.msh-hero{
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding:16px 0 20px;
  min-height:0;
}
.msh-hero__bg{
  position:absolute;
  /* Align with .msh-wrap horizontal padding so bg fills the “card” */
  top:16px;
  bottom:52px;
  left:16px;
  right:16px;
  z-index:0;
  overflow:hidden;
  border-radius:22px;
  background:
    radial-gradient(ellipse 50% 70% at 0% 40%,rgba(32,201,151,.12),transparent 55%),
    linear-gradient(105deg,#e8f3ff 0%,#f4f9ff 45%,#f7fbff 100%);
  pointer-events:none;
  box-shadow:0 10px 28px rgba(15,39,68,.06);
}
.msh-hero__bg-pic{
  position:absolute;
  inset:0;
  display:block;
}
.msh-hero__bg-pic img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
}
/* Soft fade: photo clear on left, readable text zone on right (RTL) */
.msh-hero__wash{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      270deg,
      rgba(244,249,255,.96) 0%,
      rgba(244,249,255,.9) 28%,
      rgba(244,249,255,.55) 48%,
      rgba(244,249,255,.18) 68%,
      transparent 88%
    );
}
.msh-hero:not(.msh-hero--has-bg) .msh-hero__wash{
  background:
    radial-gradient(ellipse 55% 70% at 0% 20%,rgba(32,201,151,.14),transparent 55%),
    radial-gradient(ellipse 50% 60% at 100% 0%,rgba(47,128,237,.16),transparent 50%),
    linear-gradient(180deg,#f0f7ff 0%,#fff 72%);
}
.msh-hero__inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding-top:40px;
  padding-bottom:12px;
  /* Extra inset so text/search sit away from the card edges */
  padding-inline:24px;
  min-height:280px;
  justify-content:space-between;
}
.msh-hero__copy{
  max-width:34rem;
  margin-inline-start:0;
  margin-inline-end:auto;
  padding-inline-end:8px;
}
.msh-hero__heading{
  margin:0 0 12px;
  font-size:clamp(1.85rem,6vw,2.85rem);
  font-weight:700;
  line-height:1.25;
  color:var(--msh-ink);
  letter-spacing:-.02em;
}
.msh-hero__hl{
  color:var(--msh-teal-d);
}
.msh-hero__desc{
  margin:0 0 8px;
  font-size:clamp(1rem,2.4vw,1.15rem);
  font-weight:600;
  color:var(--msh-ink);
  line-height:1.65;
}
.msh-hero__sub{
  margin:0;
  font-size:.95rem;
  color:var(--msh-muted);
  line-height:1.75;
  max-width:34rem;
}

/* Search — bottom of banner card, same side as text (RTL right) */
.msh-search{
  position:relative;
  z-index:3;
  width:100%;
  max-width:720px;
  margin-inline-start:0;
  margin-inline-end:auto;
  margin-top:8px;
  margin-bottom:-28px;
}
.msh-search__card{
  background:var(--msh-white);
  border-radius:16px;
  box-shadow:0 16px 44px rgba(15,39,68,.14);
  border:1px solid rgba(15,39,68,.05);
  padding:10px 12px;
}
.msh-search__tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:8px;
}
.msh-search__tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:6px 12px;
  border:1px solid var(--msh-line);
  border-radius:10px;
  background:var(--msh-bg);
  color:var(--msh-muted);
  cursor:pointer;
  font-size:.78rem;
  font-weight:600;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.msh-search__tab svg{flex-shrink:0}
.msh-search__tab:hover{
  border-color:rgba(47,128,237,.35);
  color:var(--msh-blue);
}
.msh-search__tab.is-active{
  background:var(--msh-blue);
  border-color:var(--msh-blue);
  color:#fff;
  box-shadow:0 6px 16px rgba(47,128,237,.28);
}
.msh-search__panel{display:none}
.msh-search__panel.is-active{display:block}
.msh-search__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:start;
}
.msh-search__field{
  position:relative;
  display:block;
  margin:0;
}
.msh-search__field-icon{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  color:var(--msh-muted);
  pointer-events:none;
  display:flex;
}
.msh-search__field-icon svg{
  width:16px;
  height:16px;
}
.msh-search__field select{
  width:100%;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:0 40px 0 12px;
  border:1px solid var(--msh-line);
  border-radius:10px;
  background:var(--msh-bg);
  color:var(--msh-ink);
  font-size:.9rem;
  line-height:42px;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235b6b7c' d='M1.2 1.2L6 6l4.8-4.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:left 12px center;
  cursor:pointer;
}
.msh-search__field select:focus{
  border-color:var(--msh-blue);
  background-color:#fff;
  box-shadow:0 0 0 3px rgba(47,128,237,.15);
  outline:none;
}
.msh-search__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  background:linear-gradient(180deg,var(--msh-blue) 0%,var(--msh-blue-d) 100%);
  color:#fff;
  font-weight:700;
  font-size:.9rem;
  line-height:1;
  box-sizing:border-box;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(47,128,237,.28);
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease;
  -webkit-tap-highlight-color:transparent;
  text-align:center;
  width:100%;
  align-self:start;
  margin-top:0;
}
.msh-search__btn svg{
  width:16px;
  height:16px;
  flex-shrink:0;
}
.msh-search__btn:hover{
  background:linear-gradient(180deg,var(--msh-blue-d) 0%,#1557b0 100%);
  box-shadow:0 10px 24px rgba(47,128,237,.36);
}
.msh-search__btn:active{transform:translateY(1px)}
.msh-search__btn--link,
.msh-page a.msh-search__btn,
.msh-page a.msh-search__btn span{
  text-decoration:none;
  color:#fff !important;
}
.msh-search__btn--link{
  flex-wrap:nowrap;
  white-space:nowrap;
  font-size:.78rem;
  padding-inline:14px;
  gap:5px;
}
.msh-search__btn--link span{
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.2;
}
.msh-search__hint{
  margin:6px 2px 0;
  font-size:.75rem;
  color:var(--msh-muted);
}
.msh-search__hint strong{color:var(--msh-ink);font-weight:600}
.msh-search__advanced{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding:2px;
}
.msh-search__advanced-text{
  margin:0;
  color:var(--msh-muted);
  font-size:.92rem;
  line-height:1.7;
}

/* ===== Trust ===== */
.msh-trust{
  padding:28px 0 4px;
  background:linear-gradient(180deg,#fff 0%,var(--msh-bg) 100%);
}
.msh-trust__grid{
  list-style:none;
  margin:0;
  padding:18px 8px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 12px;
  background:var(--msh-white);
  border-radius:var(--msh-radius);
  border:1px solid rgba(15,39,68,.05);
  box-shadow:var(--msh-shadow-sm);
}
.msh-trust__item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:6px 8px;
  min-width:0;
}
.msh-trust__icon{
  flex-shrink:0;
  width:48px;height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(32,201,151,.1);
  color:var(--msh-teal-d);
}
.msh-trust__item:nth-child(2) .msh-trust__icon{
  background:rgba(47,128,237,.1);
  color:var(--msh-blue);
}
.msh-trust__text{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.msh-trust__title{
  font-weight:700;
  font-size:.92rem;
  color:var(--msh-ink);
  line-height:1.4;
}
.msh-trust__sub{
  font-size:.8rem;
  color:var(--msh-muted);
  line-height:1.45;
}

/* ===== Categories ===== */
.msh-cats{
  padding:16px 0 16px;
  background:var(--msh-bg);
}
.msh-cats__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.msh-cat{
  border-radius:var(--msh-radius);
  background:var(--msh-cat-blue);
  min-height:100%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.msh-cat:hover{
  transform:translateY(-3px);
  box-shadow:var(--msh-shadow-sm);
}
.msh-cat--blue{background:linear-gradient(165deg,#e8f1ff 0%,#f5f9ff 100%)}
.msh-cat--cyan{background:linear-gradient(165deg,#e0f7fa 0%,#f2fcfd 100%)}
.msh-cat--teal{background:linear-gradient(165deg,#e6faf4 0%,#f3fcf9 100%)}
.msh-cat--purple{background:linear-gradient(165deg,#efeaff 0%,#f8f5ff 100%)}
.msh-cat--orange{background:linear-gradient(165deg,#fff1e6 0%,#fff8f2 100%)}
.msh-cat--indigo{background:linear-gradient(165deg,#ecebff 0%,#f5f4ff 100%)}
.msh-cat__link{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:22px 14px 18px;
  min-height:210px;
  height:100%;
  border-radius:inherit;
}
.msh-cat__icon{
  width:72px;height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}
.msh-cat__icon img{
  width:64px;height:64px;
  object-fit:contain;
}
.msh-cat__name{
  margin:0 0 6px;
  font-size:.98rem;
  font-weight:700;
  color:var(--msh-ink);
  line-height:1.4;
}
.msh-cat__count{
  margin:0 0 14px;
  font-size:.78rem;
  color:var(--msh-muted);
}
.msh-cat__arrow{
  margin-top:auto;
  width:36px;height:36px;
  border-radius:50%;
  background:var(--msh-white);
  box-shadow:0 4px 12px rgba(15,39,68,.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--msh-blue);
  transition:background .2s ease,color .2s ease;
}
.msh-cat__arrow svg{transform:none}
.msh-cat:hover .msh-cat__arrow{
  background:var(--msh-blue);
  color:#fff;
}

/* ===== Accountants ===== */
.msh-acc{
  padding:20px 0 16px;
  background:var(--msh-white);
}
.msh-sec-head__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.msh-slider-nav{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.msh-slider-nav[hidden]{display:none!important}
.msh-slider-nav__btn{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--msh-line);
  background:var(--msh-white);
  color:var(--msh-ink);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--msh-shadow-sm);
  transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;
}
.msh-slider-nav__btn:hover:not(:disabled){
  border-color:var(--msh-blue);
  color:var(--msh-blue);
  background:#f5f9ff;
}
.msh-slider-nav__btn:disabled{
  opacity:.35;
  cursor:default;
}
.msh-acc__viewport{
  overflow:hidden;
  margin-inline:-4px;
  padding-inline:4px;
}
.msh-acc__grid{
  display:flex;
  flex-direction:row;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 10px;
  scrollbar-width:none;
}
.msh-acc__grid::-webkit-scrollbar{display:none}
.msh-acc-card{
  background:var(--msh-white);
  border:1px solid rgba(15,39,68,.07);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,39,68,.07);
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:hidden;
  transition:box-shadow .22s ease,transform .22s ease;
  flex:0 0 min(86%,300px);
  max-width:320px;
  scroll-snap-align:start;
  min-height:100%;
}
.msh-acc-card:hover{
  box-shadow:0 16px 36px rgba(15,39,68,.12);
  transform:translateY(-3px);
}
.msh-acc-card__media{
  position:relative;
  aspect-ratio:5 / 3.6;
  background:linear-gradient(145deg,#e8f1ff 0%,#f3f7fc 55%,#eef2f7 100%);
  overflow:hidden;
}
.msh-acc-card__photo-link{
  display:block;
  width:100%;
  height:100%;
}
.msh-acc-card__photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.msh-acc-card__media-curve{
  position:absolute;
  inset-inline-start:0;
  bottom:-1px;
  width:108px;
  height:34px;
  background:var(--msh-white);
  border-start-end-radius:22px;
  z-index:1;
  pointer-events:none;
}
.msh-acc-card__fav{
  position:absolute;
  top:12px;
  inset-inline-end:12px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:#1e3a5f;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(15,39,68,.12);
  z-index:2;
  padding:0;
  transition:transform .15s ease,color .15s ease;
}
.msh-acc-card__fav:hover{
  color:#e11d48;
  transform:scale(1.06);
}
.msh-acc-card__avail{
  position:absolute;
  top:12px;
  inset-inline-start:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  background:#22c55e;
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  line-height:1;
  box-shadow:0 4px 12px rgba(34,197,94,.28);
  z-index:2;
  white-space:nowrap;
}
.msh-acc-card__avail-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.35);
  flex-shrink:0;
}
.msh-acc-card__rating{
  position:absolute;
  bottom:10px;
  inset-inline-start:14px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 10px;
  border-radius:10px;
  background:var(--msh-white);
  font-size:.8rem;
  font-weight:700;
  color:var(--msh-ink);
  box-shadow:0 4px 12px rgba(15,39,68,.1);
  z-index:2;
}
.msh-acc-card__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px 16px;
  flex:1;
  text-align:start;
}
.msh-acc-card__name{
  margin:0;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.4;
  color:var(--msh-ink);
}
.msh-acc-card__name a{color:var(--msh-ink)}
.msh-acc-card__name a:hover{color:var(--msh-blue)}
.msh-acc-card__title{
  margin:0;
  font-size:.86rem;
  color:#7b8794;
  line-height:1.45;
}
.msh-acc-card__loc{
  margin:2px 0 0;
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.8rem;
  color:#8a96a3;
}
.msh-acc-card__loc svg{flex-shrink:0;opacity:.85}
.msh-acc-card__tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:6px;
}
.msh-tag{
  display:inline-flex;
  align-items:center;
  padding:5px 11px;
  border-radius:999px;
  background:#eaf2ff;
  color:#2f80ed;
  font-size:.72rem;
  font-weight:600;
  border:0;
  line-height:1.2;
  max-width:100%;
}
.msh-tag--more{
  background:#eef2f6;
  color:#6b7785;
  font-weight:700;
  min-width:2rem;
  justify-content:center;
}
.msh-acc-card__price{
  margin:4px 0 0;
  font-weight:700;
  color:var(--msh-teal-d);
  font-size:.92rem;
}
.msh-acc-card__cta{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:10px 16px;
  border-radius:12px;
  background:linear-gradient(90deg,#1c6dd0 0%,#2f80ed 48%,#4a9bff 100%);
  color:#fff!important;
  font-weight:700;
  font-size:.92rem;
  transition:filter .2s ease,box-shadow .2s ease,transform .15s ease;
  box-shadow:0 8px 18px rgba(47,128,237,.28);
}
.msh-acc-card__cta svg{flex-shrink:0}
.msh-acc-card__cta:hover{
  filter:brightness(1.04);
  box-shadow:0 10px 22px rgba(47,128,237,.36);
  transform:translateY(-1px);
}

/* ===== Jobs ===== */
.msh-jobs{
  padding:28px 0 20px;
  background:linear-gradient(180deg,#f3f8fd 0%,#f7fafc 100%);
}
.msh-slider-nav--jobs .msh-slider-nav__btn{
  background:#e8f1ff;
  border-color:#d4e4fb;
  color:var(--msh-blue-d);
  box-shadow:none;
}
.msh-slider-nav--jobs .msh-slider-nav__btn:hover:not(:disabled){
  background:#d9e9ff;
  border-color:var(--msh-blue);
  color:var(--msh-blue-d);
}
.msh-jobs__view-all{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 16px;
  border-radius:999px;
  border:1px solid #cfe0f7;
  background:#eef5ff;
  color:var(--msh-blue);
  font-size:.86rem;
  font-weight:700;
  white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.msh-jobs__view-all svg{transform:scaleX(-1);flex-shrink:0}
.msh-jobs__view-all:hover{
  background:#e0edff;
  border-color:var(--msh-blue);
  color:var(--msh-blue-d);
}
.msh-jobs__viewport{
  overflow:hidden;
  margin-inline:-4px;
  padding-inline:4px;
}
.msh-jobs__grid{
  display:flex;
  flex-direction:row;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 10px;
  scrollbar-width:none;
}
.msh-jobs__grid::-webkit-scrollbar{display:none}
.msh-job{
  --job-tint:#e8f1ff;
  --job-tint-strong:#2f80ed;
  --job-badge-bg:#e8f1ff;
  --job-badge-fg:#1c6dd0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  background:var(--msh-white);
  border:1px solid rgba(15,39,68,.06);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(15,39,68,.06);
  padding:18px 16px 16px;
  transition:box-shadow .2s ease,transform .2s ease;
  flex:0 0 min(86%,280px);
  max-width:300px;
  scroll-snap-align:start;
  min-height:100%;
}
.msh-job--blue{
  --job-tint:#e8f1ff;
  --job-tint-strong:#2f80ed;
  --job-badge-bg:#e8f1ff;
  --job-badge-fg:#1c6dd0;
}
.msh-job--orange{
  --job-tint:#fff1e6;
  --job-tint-strong:#f08c3c;
  --job-badge-bg:#fff1e6;
  --job-badge-fg:#d97706;
}
.msh-job--green{
  --job-tint:#e6faf4;
  --job-tint-strong:#12b886;
  --job-badge-bg:#e6faf4;
  --job-badge-fg:#0f9f75;
}
.msh-job--purple{
  --job-tint:#efeaff;
  --job-tint-strong:#7c5cfc;
  --job-badge-bg:#efeaff;
  --job-badge-fg:#6d4ce3;
}
.msh-job:hover{
  box-shadow:0 14px 30px rgba(15,39,68,.1);
  transform:translateY(-2px);
}
.msh-job__top{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.msh-job__logo-wrap{
  width:48px;
  height:48px;
  border-radius:12px;
  background:var(--job-tint);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:hidden;
  border:1px solid rgba(15,39,68,.04);
}
.msh-job__logo{
  width:100%;
  height:100%;
  object-fit:cover;
}
.msh-job__intro{flex:1;min-width:0}
.msh-job__title{
  margin:0 0 4px;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  color:var(--msh-ink);
}
.msh-job__title a{color:inherit}
.msh-job__title a:hover{color:var(--msh-blue)}
.msh-job__company{
  margin:0;
  font-size:.84rem;
  color:#8a96a3;
  line-height:1.4;
}
.msh-job__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  font-size:.78rem;
  color:#8a96a3;
}
.msh-job__loc,
.msh-job__date{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.msh-job__loc svg,
.msh-job__date svg{flex-shrink:0;opacity:.85}
.msh-job__type{
  align-self:flex-start;
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background:var(--job-badge-bg);
  color:var(--job-badge-fg);
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}

/* ===== Promo ===== */
.msh-promo{
  padding:48px 0 56px;
  background:var(--msh-white);
}
.msh-promo__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.msh-promo-card{
  border-radius:var(--msh-radius);
  padding:24px 20px;
  color:#fff;
  background:linear-gradient(135deg,var(--msh-blue) 0%,var(--msh-blue-d) 100%);
  box-shadow:var(--msh-shadow);
  min-height:160px;
  display:flex;
  align-items:stretch;
}
.msh-promo-card--academy{
  background:linear-gradient(135deg,#2f80ed 0%,#1c6dd0 55%,#1557b0 100%);
}
.msh-promo-card--cashcloud{
  background:linear-gradient(135deg,#20c997 0%,#12b886 55%,#0ca678 100%);
}
.msh-promo-card__body{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}
.msh-promo-card__title{
  margin:0;
  font-size:1.2rem;
  font-weight:700;
  line-height:1.35;
}
.msh-promo-card__sub{
  margin:0;
  opacity:.92;
  font-size:.92rem;
  line-height:1.6;
}
.msh-promo-card__btn{
  margin-top:auto;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:12px;
  background:rgba(255,255,255,.95);
  color:var(--msh-ink)!important;
  font-weight:700;
  font-size:.9rem;
  transition:transform .15s ease,background .2s ease;
}
.msh-promo-card__btn:hover{
  background:#fff;
  transform:translateY(-1px);
}

/* ===== Tablet 768+ ===== */
@media (min-width:768px){
  .msh-wrap{padding:0 24px}
  .msh-hero{
    padding:20px 0 24px;
  }
  .msh-hero__bg{
    top:20px;
    bottom:60px;
    left:24px;
    right:24px;
    border-radius:28px;
  }
  .msh-hero__bg-pic img{
    object-position:left center;
  }
  .msh-hero__wash{
    background:
      linear-gradient(
        270deg,
        rgba(244,249,255,.97) 0%,
        rgba(244,249,255,.9) 30%,
        rgba(244,249,255,.5) 50%,
        rgba(244,249,255,.12) 70%,
        transparent 90%
      );
  }
  .msh-hero__inner{
    min-height:360px;
    padding-top:52px;
    padding-bottom:12px;
    padding-inline:36px;
    gap:28px;
    justify-content:space-between;
  }
  .msh-hero__copy{
    max-width:26rem;
    padding-inline-end:12px;
  }
  .msh-search{
    max-width:640px;
    margin-top:12px;
    margin-bottom:-32px;
  }
  .msh-search__card{padding:12px 14px}
  .msh-search__fields{
    grid-template-columns:1fr 1fr auto;
    align-items:start;
    gap:8px;
  }
  .msh-search__fields--specialty{
    grid-template-columns:1fr auto;
  }
  .msh-search__btn{
    width:auto;
    min-width:130px;
    padding-inline:22px;
    height:42px;
    min-height:42px;
    max-height:42px;
  }
  .msh-search__field select{
    height:42px;
    min-height:42px;
    max-height:42px;
  }
  .msh-search__advanced{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .msh-search__btn--link{width:auto}
  .msh-trust{padding:24px 0 4px}
  .msh-cats{padding:18px 0 10px}
  .msh-trust__grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    padding:22px 8px;
  }
  .msh-trust__item{
    padding:8px 16px;
    position:relative;
  }
  .msh-trust__item:not(:last-child)::after{
    content:"";
    position:absolute;
    left:0;
    top:18%;
    bottom:18%;
    width:1px;
    background:var(--msh-line);
  }
  .msh-cats__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
  .msh-acc-card{
    flex-basis:calc((100% - 16px) / 2);
    max-width:none;
  }
  .msh-job{
    flex-basis:calc((100% - 16px) / 2);
    max-width:none;
  }
  .msh-promo__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }
}

/* ===== Desktop 1024+ ===== */
@media (min-width:1024px){
  .msh-wrap{padding:0 28px}
  .msh-hero{
    padding:24px 0 28px;
  }
  .msh-hero__bg{
    top:24px;
    bottom:68px;
    left:max(28px, calc((100% - 1280px) / 2 + 28px));
    right:max(28px, calc((100% - 1280px) / 2 + 28px));
    border-radius:28px;
  }
  .msh-hero__inner{
    min-height:420px;
    padding-top:64px;
    padding-bottom:16px;
    padding-inline:48px;
    gap:32px;
  }
  .msh-hero__copy{
    max-width:28rem;
    padding-inline-end:16px;
  }
  .msh-hero__heading{font-size:2.85rem}
  .msh-search{
    max-width:680px;
    margin-top:8px;
    margin-bottom:-36px;
  }
  .msh-search__card{padding:12px 16px;border-radius:16px}
  .msh-search__tabs{gap:8px;margin-bottom:10px}
  .msh-search__tab{padding:7px 14px;font-size:.82rem;min-height:36px}
  .msh-cats{padding:20px 0 12px}
  .msh-cats__grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:16px;
  }
  .msh-cat__link{min-height:230px;padding:24px 12px 20px}
  .msh-acc{padding:24px 0 24px}
  .msh-acc-card{
    flex-basis:calc((100% - 48px) / 4);
    max-width:none;
  }
  .msh-jobs{padding:32px 0 28px}
  .msh-job{
    flex-basis:calc((100% - 48px) / 4);
    max-width:none;
  }
  .msh-promo{padding:64px 0 72px}
}

/* Narrow phones */
@media (max-width:430px){
  .msh-wrap{padding:0 14px}
  .msh-hero{padding:12px 0 18px}
  .msh-hero__bg{
    top:12px;
    bottom:44px;
    left:14px;
    right:14px;
    border-radius:18px;
  }
  .msh-hero__inner{
    padding-top:32px;
    padding-inline:20px;
    min-height:260px;
    gap:14px;
  }
  .msh-hero__bg-pic img{
    object-position:22% center;
  }
  .msh-hero__wash{
    background:
      linear-gradient(
        180deg,
        rgba(244,249,255,.82) 0%,
        rgba(244,249,255,.72) 35%,
        rgba(244,249,255,.45) 65%,
        rgba(244,249,255,.15) 100%
      );
  }
  .msh-search{max-width:100%;margin-bottom:-22px}
  .msh-trust{padding:22px 0 2px}
  .msh-cats{padding:12px 0 16px}
  .msh-search__tab span{font-size:.72rem}
  .msh-search__tab{padding:5px 8px;gap:4px;min-height:32px}
  .msh-acc-card__cta{min-height:48px}
  .msh-search__btn{
    height:42px;
    min-height:42px;
    max-height:42px;
  }
}

/* Prefer reduced motion */
@media (prefers-reduced-motion:reduce){
  .msh-page *,
  .msh-page *::before,
  .msh-page *::after{
    transition:none!important;
    animation:none!important;
  }
}
