:root{
  --msm-blue:var(--wp--preset--color--msm-blue,#168CFF);
  --msm-blue-light:var(--wp--preset--color--msm-blue-light,#75C7FF);
  --msm-ink:var(--wp--preset--color--msm-ink,#070A0F);
  --msm-slate:var(--wp--preset--color--msm-slate,#151B23);
  --msm-mist:var(--wp--preset--color--msm-mist,#F1F4F7);
  --msm-paper:var(--wp--preset--color--msm-paper,#FAFBFC);
  --msm-white:var(--wp--preset--color--white,#fff);
  --msm-glass-alpha:.32;
  --msm-glass-blur:24px;
  --msm-header-gap:14px;
  --msm-header-radius:26px;
  --msm-hero-min:780px;
  --msm-hero-text-width:980px;
  --msm-radius:28px;
  --msm-line:rgba(7,10,15,.10);
  --msm-line-light:rgba(255,255,255,.15);
  --msm-shadow:0 28px 80px rgba(7,10,15,.16);
  --msm-shadow-soft:0 16px 44px rgba(7,10,15,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{overflow-x:hidden;background:var(--msm-mist)}
img,video{max-width:100%;height:auto}
p,h1,h2,h3,h4,h5,h6,li{word-break:normal;overflow-wrap:normal;hyphens:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--msm-blue-light);outline-offset:3px}

.msm-skip-link{position:fixed;z-index:100000;top:8px;left:8px;transform:translateY(-160%);padding:.7rem 1rem;border-radius:12px;background:#fff;color:#111!important;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.msm-skip-link:focus{transform:none}

/* --------------------------------------------------------------
   Header / Liquid Glass

   One simple rule set only:
   - the header floats above the first dark hero surface;
   - its OUTER visible surface is rounded;
   - the hero/page hero remains visible behind the translucent glass;
   - scrolling only increases the tint for readability.
-------------------------------------------------------------- */
.msm-site-header{
  position:fixed;
  z-index:1000;
  top:var(--msm-header-gap);
  left:0;
  right:0;
  width:100%;
  margin:0!important;
  padding:0 clamp(10px,1.6vw,20px)!important;
  background:transparent!important;
  pointer-events:none;
}
body.admin-bar .msm-site-header{top:calc(32px + var(--msm-header-gap))}

.msm-header-surface{
  position:relative;
  margin:0 auto!important;
  max-width:1440px!important;
  width:100%!important;
  overflow:visible!important;
  pointer-events:auto;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:var(--msm-header-radius)!important;
  background:transparent!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 42px rgba(0,0,0,.16)!important;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.msm-header-surface:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025) 45%,rgba(255,255,255,0) 78%),
    rgba(14,16,18,var(--msm-glass-alpha));
  backdrop-filter:blur(var(--msm-glass-blur)) saturate(155%);
  -webkit-backdrop-filter:blur(var(--msm-glass-blur)) saturate(155%);
  transition:background .22s ease;
}
.msm-header-inner{
  position:relative;
  z-index:1;
  min-height:72px;
  margin:0 auto!important;
  padding:10px clamp(1rem,2.5vw,1.6rem)!important;
  gap:1.2rem!important;
}
.msm-brand{min-width:0;gap:.75rem!important}
.msm-brand .wp-block-site-logo{flex:0 0 auto;margin:0}
.msm-brand .wp-block-site-logo img{display:block;width:auto;max-width:128px;max-height:50px;object-fit:contain}
.msm-brand .wp-block-site-title{margin:0;color:#fff;font-weight:650;white-space:normal;line-height:1.12;max-width:14rem;font-size:clamp(.72rem,1.15vw,.95rem)}
.msm-site-header a,.msm-site-header .wp-block-navigation-item__content{color:#fff!important}
.msm-main-nav .wp-block-navigation-item__content{opacity:.84;transition:opacity .18s ease,color .18s ease}
.msm-main-nav .wp-block-navigation-item__content:hover,.msm-main-nav .current-menu-item>.wp-block-navigation-item__content{opacity:1;color:var(--msm-blue-light)!important}

body.msm-scrolled .msm-header-surface{
  border-color:rgba(255,255,255,.19)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 18px 52px rgba(0,0,0,.24)!important;
  transform:translateY(-1px);
}
body.msm-scrolled .msm-header-surface:before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.02) 45%,rgba(255,255,255,0) 78%),
    rgba(12,14,16,.68);
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .msm-header-surface:before{background:rgba(13,15,17,.92)}
}

.msm-site-header .wp-block-navigation__responsive-container-open,
.msm-site-header .wp-block-navigation__responsive-container-close{color:#fff}
.msm-site-header .wp-block-navigation__responsive-container.is-menu-open{background:rgba(10,12,14,.98)!important;color:#fff;padding:2rem}
.msm-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:4rem}
.msm-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:clamp(1.35rem,5vw,2rem);font-weight:550}

/* --------------------------------------------------------------
   Hero
-------------------------------------------------------------- */
.msm-hero{position:relative;isolation:isolate;margin-top:0!important;min-height:var(--msm-hero-min)!important;display:flex;align-items:flex-end;overflow:hidden;background:
 radial-gradient(circle at 80% 13%,color-mix(in srgb,var(--msm-blue) 42%,transparent),transparent 26%),
 radial-gradient(circle at 12% 74%,rgba(255,255,255,.06),transparent 23%),
 linear-gradient(125deg,#090B0D 0%,#1B1F24 52%,#0A0C0E 100%)}
.msm-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(6,8,10,.86),rgba(6,8,10,.48) 54%,rgba(6,8,10,.64))!important;opacity:1!important}
.msm-hero:before{content:"";position:absolute;z-index:1;inset:-12%;background:repeating-linear-gradient(112deg,transparent 0 112px,rgba(255,255,255,.022) 113px,transparent 114px 224px);transform:rotate(-3deg);pointer-events:none}
.msm-hero:after{content:"";position:absolute;z-index:1;width:min(60vw,840px);aspect-ratio:1;right:-18vw;top:-22vw;border:1px solid color-mix(in srgb,var(--msm-blue-light) 25%,transparent);border-radius:50%;box-shadow:0 0 0 86px color-mix(in srgb,var(--msm-blue) 3%,transparent),0 0 0 190px color-mix(in srgb,var(--msm-blue) 2%,transparent);pointer-events:none}
.msm-hero .wp-block-cover__image-background,.msm-hero video.wp-block-cover__video-background{filter:saturate(.82) contrast(1.03)}
.msm-hero .wp-block-cover__inner-container{position:relative;z-index:3;width:100%}
.msm-hero-inner{width:100%;padding-top:clamp(9rem,14vw,13rem)!important;padding-bottom:clamp(4rem,7vw,7rem)!important}
.msm-hero-pos-top .msm-hero{align-items:flex-start}
.msm-hero-pos-center .msm-hero{align-items:center}
.msm-hero-pos-bottom .msm-hero{align-items:flex-end}
.msm-brand-line{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;color:rgba(255,255,255,.72)}
.msm-brand-line strong{color:var(--msm-blue-light)}
.msm-brand-line span{padding:0 .3rem;color:rgba(255,255,255,.34)}
.msm-hero h1{max-width:var(--msm-hero-text-width);margin:.75rem 0 1.45rem;color:#fff;font-size:clamp(3.25rem,7vw,7.15rem);letter-spacing:-.055em;line-height:.94}
.msm-blue-text{color:var(--msm-blue-light)}
.msm-hero .msm-lead{max-width:min(760px,var(--msm-hero-text-width));margin:0;color:rgba(255,255,255,.78);font-size:clamp(1.06rem,1.7vw,1.35rem)}
.msm-hero-note{margin-top:2.7rem;gap:.6rem!important}
.msm-hero-note p{margin:0;padding:.54rem .82rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.70);font-size:.77rem;letter-spacing:.035em}

/* --------------------------------------------------------------
   Safe layout primitives. These intentionally prevent columns from
   collapsing into letter-wide slivers when a width/margin is changed.
-------------------------------------------------------------- */
.msm-section{position:relative;padding-top:clamp(4.6rem,8vw,8rem);padding-bottom:clamp(4.6rem,8vw,8rem)}
.msm-section-light{background:var(--msm-mist)}
.msm-section-paper{background:var(--msm-paper)}
.msm-section-dark{background:var(--msm-ink);color:#fff}
.msm-section-gradient{background:linear-gradient(140deg,#121519,#252A30);color:#fff}
.msm-section-intro{max-width:760px;margin-bottom:clamp(2.2rem,4vw,3.5rem)!important}
.msm-eyebrow{margin-bottom:.8rem;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:760;color:var(--msm-blue)}
.msm-section-dark .msm-eyebrow,.msm-section-gradient .msm-eyebrow{color:var(--msm-blue-light)}
.msm-muted{color:#686C70}
.msm-section-dark .msm-muted,.msm-section-gradient .msm-muted{color:rgba(255,255,255,.68)}

.msm-flex-safe{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:clamp(1rem,2vw,1.35rem)!important}
.msm-flex-safe>.wp-block-column{min-width:min(100%,240px)!important}
.msm-flex-safe>.wp-block-column:not([style*="flex-basis"]){flex:1 1 260px}
.msm-flex-safe.msm-two-col>.wp-block-column{min-width:min(100%,300px)!important}
.msm-flex-safe.msm-two-col>.wp-block-column:not([style*="flex-basis"]){flex-basis:420px}
.msm-flex-safe.msm-three-col>.wp-block-column{min-width:min(100%,250px)!important}
.msm-flex-safe.msm-three-col>.wp-block-column:not([style*="flex-basis"]){flex-basis:300px}
.msm-flex-safe.msm-four-col>.wp-block-column{min-width:min(100%,225px)!important}
.msm-flex-safe.msm-four-col>.wp-block-column:not([style*="flex-basis"]){flex-basis:250px}
.msm-flex-safe>.wp-block-column>*:first-child{margin-top:0}
.msm-flex-safe>.wp-block-column>*:last-child{margin-bottom:0}

/* Editor-selectable safe column presets. Prefer these over manual pixel widths. */
.wp-block-columns.is-style-msm-safe-two,
.wp-block-columns.is-style-msm-split-60-40,
.wp-block-columns.is-style-msm-split-40-60,
.wp-block-columns.is-style-msm-safe-cards{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:clamp(1rem,2vw,1.35rem)!important}
.wp-block-columns.is-style-msm-safe-two>.wp-block-column,
.wp-block-columns.is-style-msm-safe-cards>.wp-block-column{flex:1 1 280px!important;min-width:min(100%,240px)!important}
.wp-block-columns.is-style-msm-split-60-40>.wp-block-column:first-child,
.wp-block-columns.is-style-msm-split-40-60>.wp-block-column:last-child{flex:1.5 1 500px!important;min-width:min(100%,300px)!important}
.wp-block-columns.is-style-msm-split-60-40>.wp-block-column:last-child,
.wp-block-columns.is-style-msm-split-40-60>.wp-block-column:first-child{flex:1 1 320px!important;min-width:min(100%,280px)!important}
.wp-block-columns.is-style-msm-safe-two>.wp-block-column>*:first-child,
.wp-block-columns.is-style-msm-split-60-40>.wp-block-column>*:first-child,
.wp-block-columns.is-style-msm-split-40-60>.wp-block-column>*:first-child,
.wp-block-columns.is-style-msm-safe-cards>.wp-block-column>*:first-child{margin-top:0}

.msm-glass-card,.is-style-msm-glass-card{height:100%;padding:clamp(1.6rem,3vw,2.35rem);border:1px solid rgba(16,18,20,.09);border-radius:var(--msm-radius);background:rgba(255,255,255,.72);box-shadow:var(--msm-shadow-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.msm-glass-card:hover,.is-style-msm-glass-card:hover{transform:translateY(-4px);box-shadow:var(--msm-shadow);border-color:color-mix(in srgb,var(--msm-blue) 26%,transparent)}
.msm-section-dark .msm-glass-card,.msm-section-gradient .msm-glass-card{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.055);box-shadow:none}
.msm-section-dark .msm-glass-card:hover,.msm-section-gradient .msm-glass-card:hover{border-color:color-mix(in srgb,var(--msm-blue-light) 38%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.msm-panel,.is-style-msm-panel{padding:clamp(2rem,4vw,3.4rem);border:1px solid rgba(16,18,20,.08);border-radius:var(--msm-radius);background:var(--msm-paper);box-shadow:var(--msm-shadow-soft)}
.msm-card-kicker{margin:0 0 1.1rem;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:780;color:var(--msm-blue)}
.msm-card-link{margin-top:1.7rem;font-weight:700}
.msm-card-link a:after{content:" →"}

/* --------------------------------------------------------------
   Content alignment

   Use logical "start" alignment instead of hard-coded left/right. This keeps
   German and English cleanly left-aligned and automatically becomes right-
   aligned when WordPress renders an RTL language such as Arabic.
-------------------------------------------------------------- */
.msm-hero-inner,
.msm-section-intro,
.msm-glass-card,
.is-style-msm-glass-card,
.msm-panel,
.is-style-msm-panel,
.msm-audience-card,
.msm-job-card,
.msm-post-card,
.msm-cta{
  text-align:start;
}

.msm-hero-inner .wp-block-buttons,
.msm-section-intro .wp-block-buttons,
.msm-glass-card .wp-block-buttons,
.is-style-msm-glass-card .wp-block-buttons,
.msm-panel .wp-block-buttons,
.is-style-msm-panel .wp-block-buttons,
.msm-audience-card .wp-block-buttons,
.msm-job-card .wp-block-buttons,
.msm-post-card .wp-block-buttons,
.msm-cta .wp-block-buttons{
  justify-content:flex-start;
}

[dir="rtl"] .msm-hero-inner .wp-block-buttons,
[dir="rtl"] .msm-section-intro .wp-block-buttons,
[dir="rtl"] .msm-glass-card .wp-block-buttons,
[dir="rtl"] .is-style-msm-glass-card .wp-block-buttons,
[dir="rtl"] .msm-panel .wp-block-buttons,
[dir="rtl"] .is-style-msm-panel .wp-block-buttons,
[dir="rtl"] .msm-audience-card .wp-block-buttons,
[dir="rtl"] .msm-job-card .wp-block-buttons,
[dir="rtl"] .msm-post-card .wp-block-buttons,
[dir="rtl"] .msm-cta .wp-block-buttons{
  justify-content:flex-end;
}

/* Keep headings and copy in service cards on a clean common rhythm. */
.msm-services-grid .msm-glass-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.msm-services-grid .msm-glass-card h3{
  width:100%;
  min-height:3.25em;
  margin-inline:0!important;
  text-align:start;
}
.msm-services-grid .msm-glass-card > p:not(.msm-service-number):not(.msm-card-link){
  width:100%;
  margin-inline:0!important;
  text-align:start;
}
.msm-services-grid .msm-card-link{
  width:100%;
  margin-top:auto;
  margin-inline:0!important;
  padding-top:1.35rem;
  text-align:start;
}

/* Audience cards overlap the hero slightly but remain robust. */
.msm-audiences{z-index:5;margin-top:clamp(-4rem,-5vw,-2rem)!important;padding-top:0!important}
.msm-audience-card{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.msm-audience-card:before{content:"";position:absolute;width:250px;height:250px;right:-110px;top:-130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--msm-blue) 20%,transparent),transparent 68%);pointer-events:none}

/* Services
   Auto-fit is used instead of forcing four narrow columns. This keeps long
   German job/service names readable at every content width. */
.msm-service-number{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;margin-bottom:1.2rem;border-radius:50%;background:color-mix(in srgb,var(--msm-blue) 12%,transparent);color:var(--msm-blue);font-size:.72rem;font-weight:800}
.msm-services-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(1rem,2vw,1.35rem)!important;
  align-items:stretch!important;
}
.msm-services-grid>.wp-block-column{
  width:auto!important;
  min-width:0!important;
  flex:none!important;
  margin:0!important;
}
.msm-services-grid .msm-glass-card{height:100%}
.msm-services-grid .msm-glass-card h3{
  font-size:clamp(1.2rem,1.35vw,1.65rem)!important;
  line-height:1.08;
  letter-spacing:-.025em;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
.msm-services-grid .msm-glass-card p{line-height:1.55}

/* About / brand */
.msm-brand-panel{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:calc(var(--msm-radius) + 8px);border:1px solid rgba(255,255,255,.12);background:linear-gradient(140deg,rgba(255,255,255,.06),rgba(255,255,255,.015)),repeating-linear-gradient(120deg,transparent 0 56px,rgba(255,255,255,.025) 57px,transparent 58px 112px);box-shadow:var(--msm-shadow)}
.msm-brand-panel:after{content:"";position:absolute;width:360px;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--msm-blue-light) 28%,transparent);border-radius:50%;box-shadow:0 0 0 60px color-mix(in srgb,var(--msm-blue) 3%,transparent)}
.msm-monogram{position:relative;z-index:2;text-align:center}
.msm-monogram strong{display:block;color:var(--msm-blue-light);font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.5rem,10vw,8rem);font-weight:400;line-height:.9;letter-spacing:-.08em}
.msm-monogram span{display:block;margin-top:1.1rem;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:rgba(255,255,255,.66)}

/* Job and post cards */
.msm-jobs-query,.msm-posts-query{margin-top:2.7rem}
.msm-job-card,.msm-post-card{height:100%;padding:1.8rem;border:1px solid rgba(16,18,20,.09);border-radius:calc(var(--msm-radius) - 4px);background:rgba(255,255,255,.80);box-shadow:var(--msm-shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.msm-job-card:hover,.msm-post-card:hover{transform:translateY(-4px);box-shadow:var(--msm-shadow);border-color:color-mix(in srgb,var(--msm-blue) 26%,transparent)}
.msm-section-dark .msm-job-card{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.055);box-shadow:none}
.msm-section-dark .msm-job-card:hover{border-color:color-mix(in srgb,var(--msm-blue-light) 38%,transparent)}
.msm-section-dark .msm-job-card a{color:#fff}
.msm-section-dark .msm-job-card .wp-block-post-excerpt{color:rgba(255,255,255,.68)}
.msm-job-card .wp-block-post-title,.msm-post-card .wp-block-post-title{margin-top:.6rem}
.msm-job-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0 1.1rem}
.msm-job-card-meta span{display:inline-flex;padding:.38rem .62rem;border-radius:999px;background:color-mix(in srgb,var(--msm-blue) 10%,transparent);color:inherit;font-size:.78rem}
.msm-section-dark .msm-job-card-meta span{background:rgba(255,255,255,.07);color:rgba(255,255,255,.74)}
.msm-post-card .wp-block-post-featured-image{margin:-1.8rem -1.8rem 1.4rem}
.msm-post-card .wp-block-post-featured-image img{border-radius:calc(var(--msm-radius) - 4px) calc(var(--msm-radius) - 4px) 0 0}
.msm-post-card .wp-block-post-date{color:#73777B}
.msm-empty-state{padding:2rem;border:1px dashed currentColor;border-radius:20px;opacity:.72}

/* CTA */
.msm-cta{position:relative;overflow:hidden;padding:clamp(2.7rem,6vw,5.5rem);border-radius:calc(var(--msm-radius) + 8px);background:linear-gradient(132deg,#15191D,#2A2F35);color:#fff;box-shadow:var(--msm-shadow)}
.msm-cta:after{content:"";position:absolute;width:520px;aspect-ratio:1;right:-180px;top:-290px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--msm-blue-light) 45%,transparent),transparent 68%);pointer-events:none}
.msm-cta>*{position:relative;z-index:2}

/* Inner pages */
.msm-page-shell{max-width:none!important;margin:0!important;padding:0 0 clamp(5rem,8vw,8rem)}
.msm-page-hero{max-width:none!important;margin:0 0 clamp(3rem,6vw,5rem)!important;padding:clamp(10rem,15vw,13rem) max(var(--wp--preset--spacing--30),calc((100vw - 1440px)/2)) clamp(3.5rem,6vw,5.5rem)!important;background:radial-gradient(circle at 82% 10%,color-mix(in srgb,var(--msm-blue) 34%,transparent),transparent 25%),linear-gradient(130deg,#0D1013,#22272D);color:#fff}
.msm-page-hero .wp-block-post-date{color:rgba(255,255,255,.62)}
.msm-page-content-wrap{padding-left:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30)}
.msm-content-panel{padding:clamp(2rem,5vw,4.5rem);border:1px solid rgba(16,18,20,.08);border-radius:var(--msm-radius);background:#fff;box-shadow:var(--msm-shadow-soft)}
.msm-wide-content{max-width:1440px!important;width:100%}
.msm-wide-content>.wp-block-post-content{max-width:none!important;width:100%}
.msm-wide-content>.wp-block-post-content>.wp-block-columns,
.msm-wide-content>.wp-block-post-content>.wp-block-group{max-width:none!important}
.msm-legal-content{max-width:860px!important}
.msm-content-panel>.wp-block-post-content>*:first-child{margin-top:0}

/* Job archive filtering */
.msm-job-filter{margin:2rem 0 2.7rem;padding:1rem;border:1px solid rgba(16,18,20,.09);border-radius:calc(var(--msm-radius) - 4px);background:rgba(255,255,255,.76);box-shadow:var(--msm-shadow-soft)}
.msm-job-filter-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(140px,1fr)) auto;gap:.7rem;align-items:end}
.msm-job-filter label{display:block;margin:0 0 .35rem;font-size:.72rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase;color:#666A6E}
.msm-job-filter input,.msm-job-filter select{width:100%;min-height:46px;padding:.65rem .75rem;border:1px solid #DAD6CE;border-radius:13px;background:#fff;color:var(--msm-ink);font:inherit}
.msm-job-filter-actions{display:flex;gap:.55rem;align-items:center}
.msm-job-filter button,.msm-job-filter .msm-filter-reset{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:999px;font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer}
.msm-job-filter button{border:1px solid var(--msm-blue);background:var(--msm-blue);color:var(--msm-ink)}
.msm-job-filter .msm-filter-reset{border:1px solid #D8D4CC;color:var(--msm-ink)}

/* Single job */
.msm-job-layout{gap:clamp(1.5rem,4vw,3rem)!important;align-items:flex-start!important}
.msm-job-layout>.wp-block-column:first-child{flex:1 1 620px!important;min-width:min(100%,320px)!important}
.msm-job-layout>.wp-block-column:last-child{flex:0 1 350px!important;min-width:min(100%,280px)!important}
.msm-job-meta-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.msm-job-meta-pill{display:inline-flex;gap:.3rem;padding:.52rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.06);font-size:.84rem;color:rgba(255,255,255,.82)}
.msm-job-apply{position:sticky;top:108px;padding:2rem;border-radius:var(--msm-radius);background:#171B1F;color:#fff;box-shadow:var(--msm-shadow)}
.msm-job-apply h3{margin-top:0;color:#fff}
.msm-job-apply p{color:rgba(255,255,255,.72)}
.msm-job-apply .msm-apply-button{display:inline-flex;width:100%;justify-content:center;margin-top:.7rem;padding:.85rem 1rem;border-radius:999px;background:var(--msm-blue);color:var(--msm-ink)!important;font-weight:750}
.msm-job-closed{padding:.8rem 1rem;border-radius:14px;background:rgba(255,255,255,.08);color:#fff;font-weight:650}

/* Buttons */
.wp-element-button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.wp-element-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.wp-block-button.is-style-msm-arrow .wp-block-button__link:after{content:"  ↗";display:inline-block;transition:transform .16s ease}
.wp-block-button.is-style-msm-arrow .wp-block-button__link:hover:after{transform:translate(2px,-2px)}

/* Footer */
.msm-site-footer{margin:0!important;background:#0A0C0E;color:rgba(255,255,255,.66)}
.msm-footer-inner{padding-top:clamp(3.5rem,7vw,6rem)!important;padding-bottom:2rem!important}
.msm-site-footer h3,.msm-site-footer h4{color:#fff}
.msm-site-footer a{color:rgba(255,255,255,.82)}
.msm-site-footer a:hover{color:var(--msm-blue-light)}
.msm-footer-grid{gap:2rem!important}
.msm-footer-bottom{gap:1rem!important}

/* Motion setting and user preference */
.msm-motion-reduced *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media (max-width:1040px){
  .msm-job-filter-grid{grid-template-columns:1fr 1fr}
  .msm-job-filter-actions{grid-column:1/-1}
}

@media (max-width:900px){
  .msm-main-nav{font-size:.84rem}
  .msm-job-apply{position:static}
  .msm-brand-panel{min-height:350px}
}

@media (max-width:782px){
  html{scroll-padding-top:82px}
  .msm-header-inner{min-height:66px;padding:8px 12px!important}
  .msm-brand .wp-block-site-logo img{max-height:44px;max-width:104px}
  .msm-site-header{top:10px;padding-left:8px!important;padding-right:8px!important}
  body.admin-bar .msm-site-header{top:56px}
  .msm-header-surface{border-radius:min(var(--msm-header-radius),22px)}
  .msm-hero{min-height:max(680px,88svh)!important}
  .msm-hero-inner{padding-top:8.8rem!important;padding-bottom:4.4rem!important}
  .msm-hero h1{font-size:clamp(3rem,14vw,5rem)}
  .msm-audiences{margin-top:-2rem!important}
  .msm-section{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
  .msm-page-hero{padding-top:9.5rem!important;padding-left:1.1rem!important;padding-right:1.1rem!important}
  .msm-page-content-wrap{padding-left:1rem;padding-right:1rem}
  .msm-content-panel{padding:1.5rem!important}
  .msm-post-card .wp-block-post-featured-image{margin:-1.8rem -1.8rem 1.3rem}
  .msm-job-filter{padding:.8rem}
  .msm-job-filter-grid{grid-template-columns:1fr}
  .msm-job-filter-actions{grid-column:auto;flex-wrap:wrap}
}

@media (max-width:520px){
  .msm-brand-line{font-size:.69rem}
  .msm-hero-note{display:none!important}
  .msm-glass-card,.is-style-msm-glass-card{padding:1.45rem!important}
  .msm-job-card,.msm-post-card{padding:1.45rem!important}
  .msm-post-card .wp-block-post-featured-image{margin:-1.45rem -1.45rem 1.2rem}
}

/* --------------------------------------------------------------
   v0.6.2 — Hero block alignment

   Gutenberg's constrained layout centers direct child blocks by assigning
   automatic inline margins. Keep each Hero element on one common logical
   start edge instead. Logical properties work for both LTR and RTL.
-------------------------------------------------------------- */
.msm-hero-inner > *{
  margin-inline-start:0!important;
  margin-inline-end:auto!important;
}

.msm-hero-inner > .wp-block-buttons{
  justify-content:flex-start!important;
}

/* Remove the old RTL button exception: flex-start already follows direction. */
[dir="rtl"] .msm-hero-inner > .wp-block-buttons{
  justify-content:flex-start!important;
}


.msm-header-actions{min-width:0;gap:clamp(.55rem,1.15vw,.9rem)!important}
.msm-language-switcher{display:inline-flex;align-items:center;gap:.4rem;direction:ltr;white-space:nowrap;font-size:.7rem;font-weight:740;letter-spacing:.045em;line-height:1}
.msm-language-switcher>span{color:rgba(255,255,255,.30)}
.msm-language-switcher .msm-language-link{color:rgba(255,255,255,.70)!important;text-decoration:none;opacity:1!important;transition:color .18s ease}
.msm-language-switcher .msm-language-link:hover{color:#fff!important}
.msm-language-switcher .msm-language-link.is-current{color:var(--msm-blue-light)!important}
.msm-language-switcher .msm-language-ar{letter-spacing:0;font-size:.82rem}

html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .msm-header-inner,html[dir="rtl"] .msm-footer-bottom{direction:rtl}
html[dir="rtl"] .msm-main-nav .wp-block-navigation__container{direction:rtl}
html[dir="rtl"] .msm-language-switcher{direction:ltr}
html[dir="rtl"] .msm-section-intro,html[dir="rtl"] .msm-glass-card,html[dir="rtl"] .msm-content-panel,html[dir="rtl"] .msm-job-card,html[dir="rtl"] .msm-post-card,html[dir="rtl"] .msm-cta{text-align:start}

@media (max-width:900px){
  .msm-header-actions{gap:.55rem!important}
  .msm-language-switcher{font-size:.66rem;gap:.3rem}
  .msm-brand .wp-block-site-title{max-width:10.5rem}
}
@media (max-width:600px){
  .msm-header-inner{gap:.55rem!important}
  .msm-header-actions{gap:.4rem!important}
  .msm-language-switcher{font-size:.62rem}
  .msm-language-switcher .msm-language-ar{font-size:.72rem}
  .msm-brand .wp-block-site-title{max-width:8rem;font-size:.68rem}
}

/* --------------------------------------------------------------
   v0.6.5 — MSM Business Manager visual integration

   The Business Manager owns contact/service data. The theme only styles the
   small data blocks, so page structure and Gutenberg content remain editable.
-------------------------------------------------------------- */
.msm-bm-contact-grid,
.msm-bm-request-wrap{
  --msm-bm-accent:var(--msm-blue,#168CFF);
  --msm-bm-accent-light:var(--msm-blue-light,#75C7FF);
  --msm-bm-ink:var(--msm-ink,#070A0F);
  --msm-bm-radius:var(--msm-radius,28px);
  color:var(--msm-bm-ink);
}

.msm-bm-contact-item{
  border-color:color-mix(in srgb,var(--msm-bm-ink) 10%,transparent)!important;
  border-radius:calc(var(--msm-bm-radius) - 6px)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:var(--msm-shadow-soft,0 16px 44px rgba(16,18,20,.08))!important;
}
.msm-bm-contact-item:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--msm-bm-accent) 34%,transparent)!important;
  box-shadow:var(--msm-shadow,0 28px 80px rgba(16,18,20,.14))!important;
}
.msm-bm-contact-icon{
  color:var(--msm-bm-accent);
  background:color-mix(in srgb,var(--msm-bm-accent) 10%,transparent);
}
.msm-bm-contact-label{color:color-mix(in srgb,var(--msm-bm-ink) 64%,transparent)!important}

.msm-bm-request-wrap{
  border-radius:var(--msm-bm-radius)!important;
  border-color:color-mix(in srgb,var(--msm-bm-ink) 9%,transparent)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:var(--msm-shadow-soft,0 16px 44px rgba(16,18,20,.08))!important;
}
.msm-bm-request-wrap input,
.msm-bm-request-wrap select,
.msm-bm-request-wrap textarea{
  border-color:color-mix(in srgb,var(--msm-bm-ink) 17%,transparent)!important;
}
.msm-bm-submit{
  background:var(--msm-bm-accent)!important;
  color:var(--msm-bm-ink)!important;
}

html[dir="rtl"] .msm-bm-contact-grid,
html[dir="rtl"] .msm-bm-request-wrap{text-align:right}


/* --------------------------------------------------------------
   v0.6.6 — independent Gutenberg homepages
   The homepage is now a normal WordPress page in each language. Keep the
   header-to-hero transition gapless without relying on content/fallback body
   classes.
-------------------------------------------------------------- */
.msm-front-page-shell{
  margin:0!important;
  margin-block-start:0!important;
  padding:0!important;
  max-width:none!important;
}
.msm-front-page-shell>.wp-block-post-content{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
}


/* --------------------------------------------------------------
   v0.6.7 — single job: one consistent content width
   Keep job details and application form in one vertical reading column.
   This avoids the application card dropping below as a narrow 350px column
   when the available wide-content area cannot fit both columns side by side.
-------------------------------------------------------------- */
.single-msm_job .msm-page-content-wrap,
body.single-msm_job .msm-page-content-wrap{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-msm_job .msm-job-layout,
body.single-msm_job .msm-job-layout{
  display:block!important;
  width:100%!important;
}
.single-msm_job .msm-job-layout>.wp-block-column,
body.single-msm_job .msm-job-layout>.wp-block-column{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
}
.single-msm_job .msm-job-layout>.wp-block-column+ .wp-block-column,
body.single-msm_job .msm-job-layout>.wp-block-column+ .wp-block-column{
  margin-top:clamp(1.5rem,3vw,2.5rem)!important;
}
.single-msm_job .msm-job-apply,
body.single-msm_job .msm-job-apply{
  position:static!important;
  width:100%!important;
  max-width:none!important;
}

/* --------------------------------------------------------------
   MSM Mobility 0.1.0 — mobility identity
-------------------------------------------------------------- */
:root{
  --msm-steel:var(--wp--preset--color--msm-steel,#AEB8C3);
  --msm-blue-deep:#0756B8;
}

.msm-hero{
  background:
    radial-gradient(circle at 78% 18%,rgba(22,140,255,.30),transparent 25%),
    radial-gradient(circle at 18% 78%,rgba(117,199,255,.09),transparent 24%),
    linear-gradient(122deg,#040609 0%,#0C1219 48%,#070A0F 100%)!important;
}
.msm-hero:before{
  inset:-18% -10%;
  background:
    linear-gradient(118deg,transparent 0 48%,rgba(255,255,255,.035) 48.2% 48.6%,transparent 48.8% 100%),
    repeating-linear-gradient(118deg,transparent 0 118px,rgba(117,199,255,.026) 119px,transparent 121px 238px);
  transform:rotate(-2deg);
}
.msm-hero:after{
  width:min(72vw,980px);
  right:-24vw;
  top:-32vw;
  border-color:rgba(117,199,255,.28);
  box-shadow:0 0 0 84px rgba(22,140,255,.035),0 0 0 190px rgba(22,140,255,.018);
}
.msm-road-mark{
  position:absolute;
  z-index:2;
  right:clamp(-4rem,2vw,2rem);
  bottom:-13rem;
  width:min(44vw,620px);
  height:650px;
  opacity:.34;
  pointer-events:none;
  transform:perspective(700px) rotateX(58deg) rotateZ(-14deg);
  transform-origin:center bottom;
  border-left:2px solid rgba(117,199,255,.22);
  border-right:2px solid rgba(117,199,255,.12);
  background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.16) 49% 51%,transparent 52%);
  mask-image:linear-gradient(to top,#000 15%,rgba(0,0,0,.85) 58%,transparent 100%);
}
.msm-road-mark:after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(to bottom,transparent 0 46px,rgba(117,199,255,.65) 47px 78px,transparent 79px 126px);
  width:5px;
  left:calc(50% - 2px);
}
.msm-brand-line{color:rgba(255,255,255,.68)}
.msm-brand-line strong{color:var(--msm-blue-light)}
.msm-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.msm-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  box-shadow:0 10px 28px rgba(22,140,255,.22);
}
.msm-chip-row{gap:.55rem!important;margin-top:2.1rem}
.msm-chip-row p{margin:0;padding:.52rem .78rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);font-size:.78rem}
.msm-service-number{background:rgba(22,140,255,.11);color:var(--msm-blue)}
.msm-brand-panel{background:
  radial-gradient(circle at 72% 25%,rgba(22,140,255,.20),transparent 30%),
  linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),
  repeating-linear-gradient(120deg,transparent 0 56px,rgba(255,255,255,.025) 57px,transparent 58px 112px)}
.msm-monogram strong{
  color:#eef4f8;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.10em;
  text-shadow:0 0 32px rgba(22,140,255,.16);
}
.msm-monogram span{color:var(--msm-blue-light)}
.msm-status-dot{display:inline-flex;align-items:center;gap:.55rem;font-size:.83rem;font-weight:700;color:#40505f}
.msm-status-dot:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--msm-blue);box-shadow:0 0 0 5px rgba(22,140,255,.09)}
.msm-feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.msm-feature-item{padding:1.35rem 1.45rem;border-top:1px solid rgba(7,10,15,.12)}
.msm-feature-item strong{display:block;margin-bottom:.4rem;font-size:1.05rem}

/* MSM Business Manager integration */
.msm-bm-contact-grid,
.msm-bm-request-wrap{
  --msm-bm-accent:var(--msm-blue,#168CFF)!important;
  --msm-bm-accent-light:var(--msm-blue-light,#75C7FF)!important;
  --msm-bm-ink:var(--msm-ink,#070A0F)!important;
}
.msm-bm-submit{color:#fff!important;box-shadow:0 10px 28px rgba(22,140,255,.18)}

@media (max-width:782px){
  .msm-road-mark{right:-16rem;width:540px;opacity:.22}
}
.msm-brand .wp-block-site-logo img{max-width:184px;max-height:54px}
.msm-brand:has(.wp-block-site-logo img) .wp-block-site-title{display:none}

/* Bundled logo fallback for a fresh MSM test installation. */
.msm-bundled-logo{display:inline-flex;align-items:center;line-height:0;text-decoration:none!important}
.msm-bundled-logo img{display:block;width:auto;max-width:100%;height:auto;object-fit:contain}
.msm-site-header .msm-bundled-logo img{max-height:54px}
.msm-site-footer .msm-bundled-logo img{max-height:60px}
.msm-brand:has(.msm-bundled-logo) .wp-block-site-title{display:none}
