/* WASSIMVISUALS V3.0.6 — mobile menu portal + text rhythm.
 * Loaded last; does not change the Portfolio grid or its wipe interaction.
 */
.wv3-mobile-menu-backdrop[hidden],
body.wv3 .wv3-mobile-nav[hidden]{display:none!important}
.wv3-mobile-menu-backdrop{
  position:fixed;inset:0;z-index:2147482000;
  background:rgba(13,15,15,.52);
  -webkit-tap-highlight-color:transparent;
}
body.wv3 .wv3-mobile-nav{
  position:fixed!important;
  inset:auto!important;
  top:var(--wv-mobile-menu-top,80px)!important;
  left:var(--wv-mobile-menu-x,16px)!important;
  width:var(--wv-mobile-menu-width,calc(100vw - 32px))!important;
  right:auto!important;
  z-index:2147482001!important;
  box-sizing:border-box;
  margin:0!important;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - var(--wv-mobile-menu-top,80px) - 14px);
  overflow-y:auto;overscroll-behavior:contain;
  padding:18px clamp(17px,4vw,27px) 24px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:23px;
  background:#ededeb;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
  color:#1a1a1a;
  -webkit-transform:translateZ(0);transform:translateZ(0);
}
.wv3-menu-is-open{overflow:hidden!important}
body.wv3 .wv3-mobile-nav .wv3-mobile-menu-heading{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-bottom:9px;padding-bottom:12px;
  border-bottom:1px solid #bfc0bc;font-size:10px;
  font-weight:800;letter-spacing:.11em;direction:ltr
}
body.wv3 .wv3-mobile-nav .wv3-menu-close{
  width:36px;height:36px;flex:0 0 36px;
  display:grid;place-items:center;cursor:pointer;border-radius:50%;
  border:1px solid #ccccca;background:white;color:#181818;padding:0;
}
body.wv3 .wv3-mobile-nav .wv3-menu-close svg{width:18px;height:18px}
body.wv3 .wv3-mobile-nav>a{
  position:relative;display:flex;align-items:center;min-height:57px;
  padding:12px 2px;border-bottom:1px solid #d3d4d1;
  font-size:clamp(19px,5vw,25px);font-weight:700;line-height:1.45;
  text-decoration:none;white-space:normal;overflow-wrap:break-word
}
body.wv3 .wv3-mobile-nav>a:last-child{border-bottom:0}
body.wv3 .wv3-mobile-nav a:hover,body.wv3 .wv3-mobile-nav a:focus-visible{color:#686868}
html[dir="rtl"] body.wv3 .wv3-mobile-nav{text-align:right;direction:rtl}
html:is([lang="ar"],[lang="ary"]) body.wv3 .wv3-mobile-nav>a{letter-spacing:0;line-height:1.65}
/* The old "01 / 06 — Scroll to discover" footer was removed from Hero markup.
   The following Scroll Story retains its own section label and controls. */
body.wv3 .wv3-hero-title,
body.wv3 .wv3-hero-desc,
body.wv3 .wv3-section-heading h2,
body.wv3 .wv3-service h3,
body.wv3 .wv3-contact h2{
  min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal;
}
body.wv3 .wv3-hero-copy,
body.wv3 .wv3-hero-media,
body.wv3 .wv3-section-heading > div,
body.wv3 .wv3-portfolio-intro-grid > *{min-width:0}
body.wv3 .wv3-hero-title{text-wrap:balance;line-height:1.04}
body.wv3 .wv3-hero-desc{line-height:1.75}
body.wv3 .wv3-section-heading h2{line-height:1.14;text-wrap:balance}
body.wv3 .wv3-contact h2{line-height:1.15;text-wrap:balance}
body.wv3 .wv3-service h3{line-height:1.28}
html[lang="ar"] body.wv3 .wv3-hero-title{line-height:1.38;letter-spacing:0}
html[lang="ar"] body.wv3 :is(.wv3-section-heading h2,.wv3-contact h2,.wv3-service h3){line-height:1.5;letter-spacing:0}
@media(max-width:850px){
 body.wv3 .wv3-hero-copy{max-width:100%}
 body.wv3 .wv3-hero-main{gap:clamp(24px,5vw,40px)}
}
@media(max-width:600px){
 body.wv3 .wv3-hero-title{font-size:clamp(44px,11.6vw,71px);line-height:1.13;letter-spacing:-.07em}
 html[lang="ar"] body.wv3 .wv3-hero-title{font-size:clamp(33px,9vw,54px);line-height:1.6;letter-spacing:0}
 body.wv3 :is(.wv3-hero-desc,.wv3-section-heading p){line-height:1.85}
 body.wv3 .wv3-hero-main{padding-block:32px 40px}
 body.wv3 .wv3-service{row-gap:10px}
 body.wv3 .wv3-section-heading h2{line-height:1.22}
 html[lang="ar"] body.wv3 .wv3-section-heading h2{line-height:1.5}
}
@media(prefers-reduced-motion:reduce){body.wv3 .wv3-mobile-nav *{transition:none!important}}
