
:root{
  --asw-deep:#043226;
  --asw-deeper:#021E17;
  --asw-green:#0A6647;
  --asw-accent:#25DF7C;
  --asw-accent-2:#8CF0B8;
  --asw-dark:#111915;
  --asw-text:#4A5950;
  --asw-soft:#F4F7F5;
  --asw-line:#DCE7E1;
  --asw-white:#FFFFFF;
  --asw-max:1280px;
  --asw-radius:28px;
  --asw-shadow:0 24px 70px rgba(3,45,31,.12);
}
.asw,.asw *{box-sizing:border-box}
.asw{
  width:100vw;
  max-width:none;
  margin-inline:calc(50% - 50vw);
  font-family:Manrope,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[dir="rtl"] .asw{
  font-family:"Noto Sans Arabic",Manrope,Arial,sans-serif;
}
.asw-shell{width:min(var(--asw-max),calc(100% - 64px));margin-inline:auto}
.asw-section{position:relative;padding:132px 0}
.asw-soft{background:linear-gradient(180deg,#F7FAF8 0%,#EFF5F1 100%)}
.asw-dark{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%,rgba(37,223,124,.10),transparent 28%),
    linear-gradient(135deg,#03271D 0%,#063D2D 65%,#054632 100%);
  color:#fff;
}
.asw-dark:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    linear-gradient(120deg,transparent 0 62%,rgba(255,255,255,.03) 62% 63%,transparent 63% 76%,rgba(37,223,124,.035) 76% 77%,transparent 77%);
}
.asw-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  line-height:1.25;
  letter-spacing:.20em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--asw-green);
  margin-bottom:18px;
}
.asw-eyebrow:before{
  content:"";
  width:28px;
  height:2px;
  border-radius:999px;
  background:var(--asw-accent);
}
.asw-dark .asw-eyebrow,.asw-hero .asw-eyebrow{color:var(--asw-accent-2)}
.asw-title{
  max-width:900px;
  font-size:clamp(42px,4.6vw,70px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:800;
  margin:0 0 26px;
  color:var(--asw-dark);
}
.asw-dark .asw-title,.asw-dark .asw-copy{color:#fff}
.asw-lead,.asw-copy{
  font-size:18px;
  line-height:1.78;
  color:var(--asw-text);
  max-width:780px;
  margin:0;
}
.asw-lead{font-size:20px}
.asw-light{color:rgba(255,255,255,.80)}
.asw-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.asw-btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  text-decoration:none;
  border-radius:999px;
  padding:15px 25px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.asw-btn:after{
  content:"";
  position:absolute;
  inset:-120% 45% -120% -35%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transition:transform .65s ease;
}
.asw-btn:hover:after{transform:translateX(220%) rotate(18deg)}
.asw-btn:hover{transform:translateY(-3px)}
.asw-btn-primary{
  color:#062318;
  background:linear-gradient(135deg,var(--asw-accent),#53EB95);
  box-shadow:0 12px 32px rgba(37,223,124,.22)
}
.asw-btn-ghost{
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(12px)
}
.asw-text-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:16px;
  text-decoration:none;
  color:var(--asw-green);
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.asw-text-link:after{
  content:"↗";
  font-size:16px;
  transition:transform .25s ease;
}
.asw-text-link:hover:after{transform:translate(3px,-3px)}

/* ===== HERO ===== */
.asw-hero{
  position:relative;
  overflow:hidden;
  padding:150px 0 92px;
  min-height:94vh;
  background:
    radial-gradient(circle at 75% 12%,rgba(37,223,124,.14),transparent 28%),
    radial-gradient(circle at 12% 92%,rgba(37,223,124,.07),transparent 34%),
    linear-gradient(132deg,#021812 0%,#043226 54%,#075239 100%);
  color:#fff;
}
.asw-hero:before{
  content:"";
  position:absolute;
  width:720px;
  height:720px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  right:-250px;
  top:-260px;
  box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012);
}
.asw-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.40;
  background:
    linear-gradient(118deg,transparent 0 57%,rgba(255,255,255,.025) 57% 58%,transparent 58% 72%,rgba(37,223,124,.04) 72% 73%,transparent 73%);
}
.asw-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:78px;
  align-items:center;
}
.asw-hero h1{
  max-width:720px;
  font-size:clamp(58px,6.35vw,96px);
  line-height:.91;
  letter-spacing:-.055em;
  font-weight:800;
  margin:0 0 28px;
  color:#fff;
}
.asw-hero h1 span{
  display:inline-block;
  color:var(--asw-accent);
  text-shadow:0 0 45px rgba(37,223,124,.16);
}
.asw-hero-media{
  position:relative;
  padding:14px 14px 0 0;
}
.asw-hero-media:before{
  content:"";
  position:absolute;
  inset:0 0 20px 18px;
  border-radius:34px;
  border:1px solid rgba(140,240,184,.25);
  transform:translate(16px,-16px);
}
.asw-hero-media:after{
  content:"RIYADH  •  KINGDOM OF SAUDI ARABIA";
  position:absolute;
  left:-28px;
  bottom:34px;
  z-index:3;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(3,31,23,.86);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  backdrop-filter:blur(12px);
}
.asw-hero-media img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:650px;
  object-fit:cover;
  object-position:66% center;
  border-radius:32px;
  box-shadow:0 38px 110px rgba(0,0,0,.42);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease;
}
.asw-hero-media:hover img{transform:scale(1.018);filter:saturate(1.03)}
.asw-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:34px}
.asw-pills span{
  position:relative;
  padding:10px 14px 10px 29px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);
  font-size:12px;
  color:rgba(255,255,255,.80);
  backdrop-filter:blur(10px);
}
.asw-pills span:before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--asw-accent);
  box-shadow:0 0 12px rgba(37,223,124,.55);
}

/* ===== FOUR DIVISIONS ===== */
.asw-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:52px
}
.asw-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  border:1px solid rgba(4,50,38,.08);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 42px rgba(3,45,31,.07);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease
}
.asw-card:hover{
  transform:translateY(-9px);
  border-color:rgba(37,223,124,.30);
  box-shadow:0 30px 70px rgba(3,45,31,.14)
}
.asw-card:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--asw-accent),transparent 72%);
  opacity:0;
  transition:opacity .3s ease
}
.asw-card:hover:before{opacity:1}
.asw-card img{
  display:block;
  width:100%;
  height:255px;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.8,.2,1)
}
.asw-card:hover img{transform:scale(1.045)}
.asw-card-body{padding:25px 25px 28px}
.asw-card h3,.asw-work h3,.asw-process h3{
  margin:0;
  color:var(--asw-dark);
  font-size:22px;
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:800
}
.asw-card p{
  font-size:14px;
  line-height:1.68;
  color:#64726A;
  margin:11px 0 12px
}

/* ===== SPLIT FEATURES ===== */
.asw-feature{overflow:hidden}
.asw-feature:not(.asw-dark):before{
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  border-radius:50%;
  right:-260px;
  top:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle,rgba(37,223,124,.05),transparent 68%);
  pointer-events:none
}
.asw-feature-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:78px;
  align-items:center
}
.asw-feature-reverse .asw-feature-media{order:2}
.asw-feature-reverse .asw-feature-copy{order:1}
.asw-feature-media{
  position:relative;
  padding:12px;
}
.asw-feature-media:before{
  content:"";
  position:absolute;
  inset:auto 0 0 auto;
  width:45%;
  height:45%;
  border-right:2px solid var(--asw-accent);
  border-bottom:2px solid var(--asw-accent);
  border-radius:0 0 26px 0;
  opacity:.55;
  transform:translate(8px,8px)
}
.asw-feature-media img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:560px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--asw-shadow);
  transition:transform .7s cubic-bezier(.2,.8,.2,1)
}
.asw-feature-media:hover img{transform:scale(1.012)}
.asw-feature-copy{max-width:600px}
.asw-chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 28px}
.asw-chips span{
  padding:10px 14px;
  border-radius:999px;
  background:#F5FAF7;
  border:1px solid #DCEBE3;
  color:var(--asw-green);
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em
}
.asw-dark .asw-chips span{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.14);
  color:#E8FFF1
}

/* ===== CLIENTS ===== */
.asw-client-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:46px
}
.asw-client{
  position:relative;
  min-height:170px;
  padding:28px;
  border:1px solid rgba(5,62,44,.10);
  border-radius:22px;
  background:rgba(255,255,255,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 16px 38px rgba(3,45,31,.055);
  transition:transform .3s ease,border-color .3s ease
}
.asw-client:after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,transparent,var(--asw-accent),transparent);
  opacity:.45
}
.asw-client:hover{transform:translateY(-5px);border-color:rgba(37,223,124,.28)}
.asw-client img{max-width:190px;max-height:82px;object-fit:contain}
.asw-client strong{font-size:19px;line-height:1.35;color:var(--asw-dark);font-weight:800}

/* ===== PROCESS ===== */
.asw-process-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:46px
}
.asw-process-grid:before{
  content:"";
  position:absolute;
  top:34px;
  left:7%;
  right:7%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(37,223,124,.38),transparent);
  pointer-events:none
}
.asw-process{
  position:relative;
  min-height:235px;
  padding:31px 28px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  backdrop-filter:blur(8px);
  transition:transform .3s ease,border-color .3s ease
}
.asw-process:hover{transform:translateY(-6px);border-color:rgba(37,223,124,.28)}
.asw-process small{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--asw-accent);
  color:#062319;
  font-weight:900;
  box-shadow:0 0 0 7px rgba(37,223,124,.075)
}
.asw-process h3{color:#fff;margin-top:24px;font-size:22px}
.asw-process p{color:rgba(255,255,255,.68);line-height:1.68;margin:10px 0 0;font-size:14px}

/* ===== WORK ===== */
.asw-work-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:24px;
  margin:46px 0 16px
}
.asw-work{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(4,50,38,.10);
  background:#fff;
  box-shadow:0 18px 45px rgba(3,45,31,.08)
}
.asw-work img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .5s ease
}
.asw-work:hover img{transform:scale(1.035);filter:saturate(1.04)}
.asw-work>div{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  padding:18px 20px;
  border-radius:18px;
  background:rgba(3,31,23,.82);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(12px)
}
.asw-work h3{color:#fff;font-size:19px}

/* ===== CTA ===== */
.asw-cta-wrap{padding:18px 0 38px;background:#fff}
.asw-cta{
  position:relative;
  overflow:hidden;
  padding:88px 60px;
  border-radius:34px;
  background:
    radial-gradient(circle at 90% 20%,rgba(37,223,124,.18),transparent 30%),
    linear-gradient(135deg,#031F17,#07563D);
  box-shadow:0 30px 80px rgba(3,45,31,.17)
}
.asw-cta:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-120px;
  bottom:-240px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 65px rgba(255,255,255,.02),0 0 0 130px rgba(255,255,255,.012)
}
.asw-cta .asw-title{position:relative;z-index:2;color:#fff;max-width:860px}
.asw-cta .asw-copy,.asw-cta .asw-actions,.asw-cta .asw-eyebrow{position:relative;z-index:2}
.asw-cta .asw-copy{color:rgba(255,255,255,.78)}

/* ===== SAFE MOTION ===== */
.asw-reveal{opacity:1;transform:none}
.js-asw .asw-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1)
}
.js-asw .asw-reveal.is-visible{opacity:1;transform:none}

/* ===== RTL ===== */
html[dir="rtl"] .asw{text-align:right}
html[dir="rtl"] .asw-actions,
html[dir="rtl"] .asw-pills,
html[dir="rtl"] .asw-chips{direction:rtl}
html[dir="rtl"] .asw-text-link:after{content:"↖"}
html[dir="rtl"] .asw-pills span{padding:10px 29px 10px 14px}
html[dir="rtl"] .asw-pills span:before{left:auto;right:13px}
html[dir="rtl"] .asw-hero-media:after{left:auto;right:-28px}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .asw-shell{width:min(var(--asw-max),calc(100% - 48px))}
  .asw-section{padding:100px 0}
  .asw-hero{padding:126px 0 76px}
  .asw-hero-grid,.asw-feature-grid{gap:42px}
  .asw-hero-media img{height:560px}
  .asw-feature-media img{height:470px}
  .asw-card-grid,.asw-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .asw-shell{width:min(var(--asw-max),calc(100% - 36px))}
  .asw-section{padding:76px 0}
  .asw-hero{padding:106px 0 64px;min-height:auto}
  .asw-hero-grid,
  .asw-feature-grid,
  .asw-card-grid,
  .asw-client-grid,
  .asw-process-grid,
  .asw-work-grid{grid-template-columns:1fr}
  .asw-feature-reverse .asw-feature-media{order:1}
  .asw-feature-reverse .asw-feature-copy{order:2}
  .asw-title{font-size:clamp(38px,11vw,54px)}
  .asw-hero h1{font-size:clamp(46px,13.5vw,64px)}
  .asw-lead{font-size:17px}
  .asw-hero-media{padding:8px}
  .asw-hero-media:before{display:none}
  .asw-hero-media:after{left:18px;right:auto;bottom:22px;font-size:9px}
  .asw-hero-media img{height:440px;border-radius:24px}
  .asw-feature-media img{height:380px;border-radius:24px}
  .asw-card img{height:240px}
  .asw-process-grid:before{display:none}
  .asw-work img{height:320px}
  .asw-cta{padding:62px 26px;border-radius:26px}
}
@media(prefers-reduced-motion:reduce){
  .js-asw .asw-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .asw-card,.asw-work img,.asw-feature-media img,.asw-hero-media img,.asw-btn{transition:none!important}
}


/* ===== v1.2 CINEMATIC MOTION + GRADIENT TITLES ===== */
.asw-gradient-text{
  display:inline-block;
  color:transparent;
  background:linear-gradient(110deg,#0B5E43 0%,#19D66B 30%,#86F2B7 48%,#16C966 68%,#075139 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:asw-gradient-flow 7s ease-in-out infinite;
}
.asw-dark .asw-gradient-text,.asw-hero .asw-gradient-text,.asw-cta .asw-gradient-text{
  background-image:linear-gradient(110deg,#FFFFFF 0%,#A4F5C7 24%,#25DF7C 46%,#D9FFEA 68%,#25DF7C 100%);
}
@keyframes asw-gradient-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.js-asw .asw-stagger{transition-delay:var(--asw-delay,0ms)}
.asw-title{position:relative}
.asw-title:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:20px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--asw-accent),rgba(37,223,124,0));
  transform-origin:left center;
  transition:width .45s ease;
}
.asw-section:hover .asw-title:after{width:92px}
html[dir="rtl"] .asw-title:after{transform-origin:right center}

/* image cinematic depth */
.asw-card img,.asw-feature-media img,.asw-work img,.asw-hero-media img{will-change:transform}
.asw-parallax{will-change:transform}

/* animated section ambience */
.asw-dark:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--asw-mx,80%) var(--asw-my,20%),rgba(37,223,124,.10),transparent 24%);
  opacity:.65;
  transition:opacity .4s ease;
}

/* ===== COMPANY PROFILE DOWNLOAD ===== */
.asw-profile-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 35%,rgba(37,223,124,.075),transparent 30%),
    linear-gradient(180deg,#FBFCFB 0%,#F4F7F5 100%);
}
.asw-profile-grid{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  gap:78px;
  align-items:center;
}
.asw-profile-visual{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1400px;
}
.asw-profile-visual:before{
  content:"";
  position:absolute;
  width:78%;
  height:70%;
  border-radius:36px;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(233,242,236,.75));
  border:1px solid rgba(4,50,38,.08);
  box-shadow:0 40px 90px rgba(3,45,31,.13);
  transform:rotate(-2.4deg);
}
.asw-profile-glow{
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(37,223,124,.18),transparent 66%);
  filter:blur(10px);
}
.asw-profile-visual img{
  position:relative;
  z-index:2;
  width:min(100%,680px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 34px rgba(3,45,31,.18));
  transform:rotateY(-4deg) rotateX(2deg);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.asw-profile-visual:hover img{transform:rotateY(0deg) rotateX(0deg) translateY(-8px) scale(1.018)}
.asw-profile-badge{
  position:absolute;
  z-index:4;
  top:68px;
  right:34px;
  min-width:78px;
  height:46px;
  padding:0 18px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#052F23;
  border:1px solid rgba(37,223,124,.42);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:0 12px 32px rgba(3,45,31,.20)
}
.asw-profile-pages{
  position:absolute;
  z-index:4;
  bottom:58px;
  left:50%;
  transform:translateX(-50%);
  padding:10px 17px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(4,50,38,.10);
  color:#234238;
  font-size:12px;
  font-weight:800;
  backdrop-filter:blur(12px);
  white-space:nowrap;
}
.asw-profile-copy{max-width:650px}
.asw-profile-highlights{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:30px 0 6px;
}
.asw-profile-highlight{
  min-height:64px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:16px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(4,50,38,.09);
  box-shadow:0 10px 26px rgba(3,45,31,.055);
  color:#14231C;
  font-size:14px;
  font-weight:750;
}
.asw-profile-highlight span{
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(37,223,124,.13);
  color:#0A774D;
  font-weight:900;
}
.asw-btn-dark{
  color:#fff;
  background:#052C22;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(3,45,31,.13)
}
.asw-profile-trust{
  margin-top:16px;
  font-size:12px;
  color:#839088;
  font-weight:650;
}

@media(max-width:1024px){
  .asw-profile-grid{gap:38px}
  .asw-profile-visual{min-height:520px}
}
@media(max-width:767px){
  .asw-profile-grid{grid-template-columns:1fr}
  .asw-profile-visual{min-height:440px;order:1}
  .asw-profile-copy{order:2}
  .asw-profile-highlight{min-height:58px}
  .asw-profile-highlights{grid-template-columns:1fr}
  .asw-profile-badge{top:38px;right:16px}
  .asw-profile-pages{bottom:28px}
}
@media(prefers-reduced-motion:reduce){
  .asw-gradient-text{animation:none!important;background-position:50% 50%!important}
  .asw-profile-visual img{transition:none!important}
}


/* ===== v1.2.1 CLIENT LOGO + NAME FIX ===== */
.asw-client{
  flex-direction:column;
  gap:16px;
  padding:18px 18px 20px;
  min-height:190px;
}
.asw-client-logo-stage{
  width:100%;
  min-height:112px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
  overflow:hidden;
  border:1px solid rgba(5,62,44,.08);
}
.asw-client-logo-light{
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FAF8 100%);
}
.asw-client-logo-dark{
  background:linear-gradient(135deg,#043226 0%,#07523B 100%);
  border-color:rgba(255,255,255,.08);
}
.asw-client-logo-stage img{
  display:block;
  width:auto;
  height:auto;
  max-width:190px;
  max-height:72px;
  object-fit:contain;
}
.asw-client-logo-placeholder{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  color:#91A099;
}
.asw-client-name{
  display:block;
  min-height:2.6em;
  font-size:15px!important;
  line-height:1.3!important;
  color:var(--asw-dark)!important;
  font-weight:800!important;
  text-align:center;
}
@media(max-width:767px){
  .asw-client{min-height:180px}
  .asw-client-logo-stage{min-height:105px}
}


/* =========================================================
   v1.3.0 — PROFILE FINAL POLISH + PREMIUM HEADER / FOOTER
   ========================================================= */

/* Profile final polish */
.asw-profile-section{
  padding-top:138px;
  padding-bottom:138px;
}
.asw-profile-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:92px;
}
.asw-profile-micro{
  display:inline-flex;
  padding:8px 11px;
  margin-bottom:14px;
  border-radius:999px;
  border:1px solid rgba(4,50,38,.09);
  background:rgba(255,255,255,.78);
  color:#60736A;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  box-shadow:0 8px 24px rgba(3,45,31,.045);
}
.asw-profile-copy .asw-title{
  max-width:720px;
  font-size:clamp(44px,4.6vw,68px);
}
.asw-profile-copy .asw-copy{
  max-width:670px;
}
.asw-profile-visual{
  min-height:590px;
}
.asw-profile-orbit{
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  border:1px solid rgba(4,50,38,.07);
  box-shadow:0 0 0 55px rgba(4,50,38,.02),0 0 0 110px rgba(37,223,124,.015);
  animation:asw-profile-orbit 12s ease-in-out infinite alternate;
}
@keyframes asw-profile-orbit{
  from{transform:translate3d(-8px,5px,0) scale(.98)}
  to{transform:translate3d(12px,-8px,0) scale(1.025)}
}
.asw-profile-frame{
  position:relative;
  z-index:2;
  width:min(100%,680px);
  padding:22px 22px 14px;
  border-radius:34px;
  border:1px solid rgba(4,50,38,.09);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,242,.88));
  box-shadow:0 40px 95px rgba(3,45,31,.15);
  transform:rotate(-2.2deg);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s ease;
}
.asw-profile-visual:hover .asw-profile-frame{
  transform:rotate(-.5deg) translateY(-8px);
  box-shadow:0 54px 110px rgba(3,45,31,.18);
}
.asw-profile-visual:before{display:none}
.asw-profile-visual img{
  width:100%;
  max-width:none;
  transform:none;
  filter:drop-shadow(0 20px 30px rgba(3,45,31,.15));
}
.asw-profile-visual:hover img{transform:none}
.asw-profile-badge{
  top:54px;
  right:26px;
  background:linear-gradient(135deg,#032B20,#07513A);
}
.asw-profile-pages{
  bottom:40px;
  background:rgba(255,255,255,.92);
}
.asw-profile-highlights{gap:14px;margin-top:32px}
.asw-profile-highlight{
  min-height:68px;
  padding:17px 18px;
  border-radius:18px;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.asw-profile-highlight:hover{
  transform:translateY(-4px);
  border-color:rgba(37,223,124,.24);
  box-shadow:0 16px 34px rgba(3,45,31,.08);
}
.asw-profile-trust{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:18px;
}

/* Header */
.asw-site-header,
.asw-site-header *{box-sizing:border-box}
.asw-site-header{
  position:sticky;
  top:0;
  z-index:9998;
  width:100%;
  background:rgba(3,30,23,.86);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.asw-site-header.is-scrolled{
  background:rgba(2,25,19,.94);
  border-color:rgba(37,223,124,.10);
  box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.asw-header-shell{
  width:min(var(--asw-max),calc(100% - 48px));
  min-height:84px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:210px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}
.asw-brand{
  display:flex;
  align-items:center;
  width:190px;
  height:62px;
  overflow:hidden;
  border-radius:12px;
  text-decoration:none;
}
.asw-brand img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
}
.asw-primary-nav{display:flex;justify-content:center}
.asw-nav-menu{
  list-style:none;
  display:flex;
  align-items:center;
  gap:30px;
  margin:0;
  padding:0;
}
.asw-nav-menu>li{position:relative}
.asw-nav-menu a{
  position:relative;
  display:block;
  padding:30px 0;
  color:rgba(255,255,255,.84);
  text-decoration:none;
  font-size:13px;
  font-weight:750;
  letter-spacing:.015em;
  transition:color .22s ease;
}
.asw-nav-menu>li>a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:22px;
  height:2px;
  border-radius:999px;
  background:var(--asw-accent);
  transition:right .25s ease;
}
.asw-nav-menu>li:hover>a,
.asw-nav-menu>li.current-menu-item>a{color:#fff}
.asw-nav-menu>li:hover>a:after,
.asw-nav-menu>li.current-menu-item>a:after{right:0}
.asw-nav-menu .sub-menu{
  position:absolute;
  top:72px;
  left:-22px;
  min-width:310px;
  list-style:none;
  margin:0;
  padding:10px;
  border-radius:18px;
  background:rgba(3,34,25,.98);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 60px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.22s ease;
}
.asw-nav-menu li:hover>.sub-menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
.asw-nav-menu .sub-menu a{
  padding:12px 13px;
  border-radius:11px;
  color:rgba(255,255,255,.76);
}
.asw-nav-menu .sub-menu a:hover{
  color:#fff;
  background:rgba(37,223,124,.08);
}
.asw-header-actions{
  display:flex;
  align-items:center;
  gap:11px;
}
.asw-lang{
  min-width:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
}
.asw-lang .gt_switcher,
.asw-footer-lang .gt_switcher{font-family:inherit!important}
.asw-header-phone{
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.asw-header-quote{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  color:#062318;
  background:linear-gradient(135deg,var(--asw-accent),#63EE9F);
  font-size:11px;
  font-weight:900;
  letter-spacing:.055em;
  white-space:nowrap;
  box-shadow:0 10px 26px rgba(37,223,124,.18);
  transition:transform .23s ease,box-shadow .23s ease;
}
.asw-header-quote:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(37,223,124,.26);
}
.asw-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.asw-menu-toggle span{
  width:17px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:.25s ease;
}
.asw-site-header.menu-open .asw-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.asw-site-header.menu-open .asw-menu-toggle span:nth-child(2){opacity:0}
.asw-site-header.menu-open .asw-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.asw-mobile-panel{
  display:none;
  overflow:hidden;
  max-height:0;
  background:rgba(2,25,19,.98);
  border-top:1px solid rgba(255,255,255,.07);
  transition:max-height .35s ease;
}
.asw-site-header.menu-open .asw-mobile-panel{max-height:720px}
.asw-mobile-panel-inner{
  width:min(var(--asw-max),calc(100% - 36px));
  margin-inline:auto;
  padding:18px 0 30px;
}
.asw-mobile-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.asw-mobile-menu a{
  display:block;
  padding:13px 2px;
  border-bottom:1px solid rgba(255,255,255,.07);
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
}
.asw-mobile-menu .sub-menu{
  list-style:none;
  padding-left:16px;
}
.asw-mobile-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}

/* Footer */
.asw-site-footer,
.asw-site-footer *{box-sizing:border-box}
.asw-site-footer{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:92px 0 26px;
  background:
    radial-gradient(circle at 14% 10%,rgba(37,223,124,.10),transparent 24%),
    linear-gradient(145deg,#021B14,#032D22 58%,#043A2B);
  color:#fff;
}
.asw-footer-glow{
  position:absolute;
  width:560px;
  height:560px;
  right:-260px;
  bottom:-330px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 0 0 75px rgba(255,255,255,.018),0 0 0 150px rgba(37,223,124,.012);
}
.asw-footer-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,.8fr));
  gap:54px;
}
.asw-footer-logo{
  display:block;
  width:210px;
  height:72px;
  overflow:hidden;
  border-radius:13px;
  margin-bottom:22px;
}
.asw-footer-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
}
.asw-footer-brand p{
  max-width:390px;
  margin:0 0 22px;
  color:rgba(255,255,255,.64);
  font-size:14px;
  line-height:1.75;
}
.asw-footer-lang{display:inline-block}
.asw-footer-column h3{
  margin:6px 0 18px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.asw-footer-column ul,
.asw-footer-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.asw-footer-column li{margin-bottom:11px}
.asw-footer-column a,
.asw-footer-column span{
  display:block;
  color:rgba(255,255,255,.66);
  text-decoration:none;
  font-size:13px;
  line-height:1.5;
  transition:color .22s ease,transform .22s ease;
}
.asw-footer-column a:hover{
  color:#fff;
  transform:translateX(3px);
}
.asw-footer-contact{
  display:flex;
  flex-direction:column;
  gap:11px;
}
.asw-footer-cta{
  margin-top:13px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.09);
  color:var(--asw-accent)!important;
  font-weight:800!important;
}
.asw-footer-cta span{display:inline;color:inherit}
.asw-footer-bottom{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:64px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
}
.asw-footer-bottom span{
  color:rgba(255,255,255,.43);
  font-size:11px;
  letter-spacing:.03em;
}

@media(max-width:1180px){
  .asw-header-shell{
    grid-template-columns:190px minmax(0,1fr) auto;
    gap:18px;
  }
  .asw-nav-menu{gap:20px}
  .asw-header-phone{display:none}
  .asw-footer-grid{grid-template-columns:1.2fr repeat(3,1fr);gap:34px}
}
@media(max-width:980px){
  .asw-header-shell{
    min-height:74px;
    grid-template-columns:180px 1fr;
  }
  .asw-primary-nav,
  .asw-header-phone,
  .asw-header-quote{display:none}
  .asw-header-actions{justify-self:end}
  .asw-menu-toggle{display:flex}
  .asw-mobile-panel{display:block}
  .asw-brand{height:56px;width:174px}
  .asw-footer-grid{grid-template-columns:1fr 1fr}
  .asw-footer-brand{grid-column:1/-1}
}
@media(max-width:767px){
  .asw-profile-section{padding-top:90px;padding-bottom:90px}
  .asw-profile-grid{gap:28px}
  .asw-profile-copy .asw-title{font-size:clamp(38px,11vw,52px)}
  .asw-profile-visual{min-height:410px}
  .asw-profile-frame{padding:15px 15px 10px;border-radius:25px}
  .asw-profile-orbit{width:300px;height:300px}
  .asw-profile-badge{top:28px;right:8px}
  .asw-profile-pages{bottom:18px}
  .asw-header-shell{width:calc(100% - 28px)}
  .asw-brand{width:160px;height:52px}
  .asw-lang{min-width:48px}
  .asw-mobile-actions{grid-template-columns:1fr}
  .asw-site-footer{padding-top:70px}
  .asw-footer-grid{grid-template-columns:1fr;gap:34px}
  .asw-footer-brand{grid-column:auto}
  .asw-footer-bottom{flex-direction:column;margin-top:44px}
}
@media(prefers-reduced-motion:reduce){
  .asw-profile-orbit{animation:none!important}
}


/* v1.3.1 Moumasi Web footer credit */
.asw-footer-bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.asw-footer-credit{
  text-align:center;
  color:rgba(255,255,255,.52)!important;
}
.asw-footer-credit a{
  display:inline!important;
  color:var(--asw-accent)!important;
  text-decoration:none!important;
  font-weight:800!important;
  transition:color .2s ease,opacity .2s ease;
}
.asw-footer-credit a:hover{
  color:#fff!important;
}
.asw-footer-tagline{
  text-align:right;
}
html[dir="rtl"] .asw-footer-tagline{
  text-align:left;
}
@media(max-width:767px){
  .asw-footer-bottom{
    grid-template-columns:1fr;
    gap:10px;
    text-align:center;
  }
  .asw-footer-credit,
  .asw-footer-tagline,
  html[dir="rtl"] .asw-footer-tagline{
    text-align:center;
  }
}


/* =========================================================
   v1.3.2 — PREMIUM HEADER REFINEMENT
   Phone visibility + GTranslate restyle + brand/nav polish
   ========================================================= */

.asw-site-header{
  background:
    linear-gradient(180deg,rgba(6,48,38,.96),rgba(4,38,30,.93))!important;
}
.asw-site-header:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(37,223,124,.56),transparent);
  opacity:.55;
  pointer-events:none;
}
.asw-site-header.is-scrolled{
  background:
    linear-gradient(180deg,rgba(3,35,27,.985),rgba(2,27,21,.975))!important;
}

/* Brand */
.asw-header-shell{
  grid-template-columns:260px minmax(0,1fr) auto!important;
  min-height:88px!important;
}
.asw-brand{
  width:auto!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  overflow:visible!important;
}
.asw-brand-mark{
  flex:0 0 104px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:13px;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(37,223,124,.04));
  border:1px solid rgba(255,255,255,.08);
}
.asw-brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:left center!important;
}
.asw-brand-text{
  max-width:128px;
  color:rgba(255,255,255,.78);
  font-size:10px;
  line-height:1.28;
  letter-spacing:.12em;
  font-weight:800;
  text-transform:uppercase;
}

/* Navigation */
.asw-nav-menu{
  gap:28px!important;
}
.asw-nav-menu a{
  font-size:12.5px!important;
  font-weight:800!important;
  letter-spacing:.018em!important;
}
.asw-nav-menu>li.menu-item-has-children>a{
  padding-right:15px!important;
}
.asw-nav-menu>li.menu-item-has-children>a:before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:6px;
  height:6px;
  margin-top:-5px;
  border-right:1.5px solid rgba(255,255,255,.65);
  border-bottom:1.5px solid rgba(255,255,255,.65);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.asw-nav-menu>li.menu-item-has-children:hover>a:before{
  transform:rotate(225deg);
  margin-top:-1px;
}

/* Phone — explicit pill prevents theme hover colors from disappearing into header */
.asw-header-phone,
.asw-header-phone:link,
.asw-header-phone:visited{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.055)!important;
  color:rgba(255,255,255,.88)!important;
  text-decoration:none!important;
  font-size:11.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  transition:
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .22s ease,
    box-shadow .22s ease!important;
}
.asw-header-phone:hover,
.asw-header-phone:focus{
  background:rgba(37,223,124,.11)!important;
  border-color:rgba(37,223,124,.36)!important;
  color:#FFFFFF!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14)!important;
}
.asw-phone-icon{
  width:25px;
  height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(37,223,124,.13);
  color:var(--asw-accent);
  flex:0 0 25px;
}
.asw-header-phone:hover .asw-phone-icon{
  background:var(--asw-accent);
  color:#062318;
}

/* Quote CTA subtle upgrade */
.asw-header-quote{
  min-height:44px!important;
  padding:0 19px!important;
  box-shadow:0 10px 28px rgba(37,223,124,.18)!important;
}
.asw-header-quote:hover{
  color:#052218!important;
  background:linear-gradient(135deg,#45E88D,#7AF2AE)!important;
}

/* Language wrapper */
.asw-lang{
  position:relative!important;
  min-width:auto!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border-radius:999px!important;
  background:transparent!important;
  overflow:visible!important;
}
.asw-lang:before{
  content:"";
  width:14px;
  height:14px;
  margin-right:6px;
  opacity:.9;
  background-repeat:no-repeat;
  background-size:14px 14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%2325DF7C' d='M12 2a10 10 0 1 0 0 20a10 10 0 0 0 0-20m6.92 6h-3.01a15.7 15.7 0 0 0-1.34-3.12A8.04 8.04 0 0 1 18.92 8M12 4c.83 1.2 1.47 2.54 1.87 4h-3.74A13.7 13.7 0 0 1 12 4M4.26 14a8.1 8.1 0 0 1 0-4h3.38a16.4 16.4 0 0 0 0 4zm.82 2h3.01c.3 1.1.75 2.15 1.34 3.12A8.04 8.04 0 0 1 5.08 16M8.09 8H5.08a8.04 8.04 0 0 1 4.35-3.12A15.7 15.7 0 0 0 8.09 8M12 20a13.7 13.7 0 0 1-1.87-4h3.74A13.7 13.7 0 0 1 12 20m2.3-6H9.7a14.4 14.4 0 0 1 0-4h4.6a14.4 14.4 0 0 1 0 4m.27 5.12A15.7 15.7 0 0 0 15.91 16h3.01a8.04 8.04 0 0 1-4.35 3.12M16.36 14a16.4 16.4 0 0 0 0-4h3.38a8.1 8.1 0 0 1 0 4z'/%3E%3C/svg%3E");
}

/* GTranslate — convert default white rectangle into a compact glass pill */
.asw-lang .gt_switcher{
  position:relative!important;
  width:96px!important;
  max-width:96px!important;
  font-family:inherit!important;
  background:transparent!important;
  overflow:visible!important;
}
.asw-lang .gt_switcher .gt_selected{
  background:transparent!important;
  border:0!important;
}
.asw-lang .gt_switcher .gt_selected a{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  text-decoration:none!important;
  background-image:none!important;
  box-shadow:none!important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.asw-lang .gt_switcher .gt_selected a:after{
  content:"";
  width:6px;
  height:6px;
  margin-left:1px;
  border-right:1.5px solid rgba(255,255,255,.78);
  border-bottom:1.5px solid rgba(255,255,255,.78);
  transform:translateY(-2px) rotate(45deg);
}
.asw-lang .gt_switcher .gt_selected a:hover{
  background:rgba(37,223,124,.10)!important;
  border-color:rgba(37,223,124,.32)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.13)!important;
}
.asw-lang .gt_switcher img{
  width:20px!important;
  max-width:20px!important;
  height:auto!important;
  margin:0!important;
}
.asw-lang .gt_switcher .gt_option{
  position:absolute!important;
  top:50px!important;
  right:0!important;
  left:auto!important;
  width:174px!important;
  max-height:260px!important;
  overflow-y:auto!important;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:16px!important;
  background:rgba(3,35,27,.985)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.30)!important;
  z-index:10020!important;
}
.asw-lang .gt_switcher .gt_option a{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:rgba(255,255,255,.83)!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
.asw-lang .gt_switcher .gt_option a:hover{
  background:rgba(37,223,124,.10)!important;
  color:#fff!important;
}
.asw-lang .gt_switcher .gt_option::-webkit-scrollbar{width:5px}
.asw-lang .gt_switcher .gt_option::-webkit-scrollbar-thumb{
  background:rgba(37,223,124,.30);
  border-radius:999px;
}

/* Also support GTranslate select mode if it is switched later */
.asw-lang select.gt_selector,
.asw-lang .gt_selector{
  min-height:42px!important;
  padding:0 34px 0 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background-color:rgba(255,255,255,.055)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  font-weight:800!important;
  outline:none!important;
}

/* RTL language/header */
html[dir="rtl"] .asw-lang:before{
  margin-right:0;
  margin-left:6px;
}
html[dir="rtl"] .asw-lang .gt_switcher .gt_option{
  right:auto!important;
  left:0!important;
}
html[dir="rtl"] .asw-nav-menu>li.menu-item-has-children>a{
  padding-right:0!important;
  padding-left:15px!important;
}
html[dir="rtl"] .asw-nav-menu>li.menu-item-has-children>a:before{
  right:auto;
  left:0;
}

/* Responsive */
@media(max-width:1250px){
  .asw-header-shell{
    grid-template-columns:220px minmax(0,1fr) auto!important;
  }
  .asw-brand-text{display:none}
  .asw-nav-menu{gap:20px!important}
}
@media(max-width:1080px){
  .asw-header-phone{display:none!important}
}
@media(max-width:980px){
  .asw-header-shell{
    grid-template-columns:180px 1fr!important;
    min-height:76px!important;
  }
  .asw-brand-mark{flex-basis:100px;height:54px}
  .asw-brand-text{display:none}
  .asw-lang:before{display:none}
  .asw-lang .gt_switcher{width:86px!important;max-width:86px!important}
}
@media(max-width:430px){
  .asw-brand-mark{flex-basis:88px;height:50px}
  .asw-lang .gt_switcher{width:80px!important;max-width:80px!important}
  .asw-lang .gt_switcher .gt_selected a{padding:0 9px!important}
}


/* =========================================================
   v1.3.3 — GTRANSLATE FLOAT SWITCHER EXACT FIX
   The active GTranslate Widget Look is "Float", whose markup
   uses .gt_float_switcher / .gt-selected / .gt-current-lang.
   ========================================================= */

.asw-lang .gtranslate_wrapper{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  min-width:0!important;
}

/* The real active float switcher */
.asw-lang .gt_float_switcher{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:auto!important;
  min-width:102px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  font-family:inherit!important;
  font-size:12px!important;
  z-index:10030!important;
}

/* Current-language selected button */
.asw-lang .gt_float_switcher .gt-selected{
  width:auto!important;
  min-width:102px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.asw-lang .gt_float_switcher .gt-selected .gt-current-lang{
  position:relative!important;
  width:auto!important;
  min-width:102px!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  padding:0 31px 0 12px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.085),
    rgba(255,255,255,.045)
  )!important;
  color:#FFFFFF!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 8px 22px rgba(0,0,0,.10)!important;
  cursor:pointer!important;
  transition:
    border-color .22s ease,
    background .22s ease,
    transform .22s ease,
    box-shadow .22s ease!important;
}

/* Hide native/current text colors from plugin */
.asw-lang .gt_float_switcher .gt-selected .gt-current-lang,
.asw-lang .gt_float_switcher .gt-selected .gt-current-lang span{
  color:#FFFFFF!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.035em!important;
}

/* Current flag */
.asw-lang .gt_float_switcher .gt-selected .gt-current-lang img{
  width:21px!important;
  height:auto!important;
  max-width:21px!important;
  margin:0!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08)!important;
}

/* Replace Float widget's default arrow with a clean CSS chevron */
.asw-lang .gt_float_switcher .gt-selected .gt-current-lang:after{
  content:""!important;
  position:absolute!important;
  right:13px!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  margin-top:-5px!important;
  border-right:1.5px solid rgba(255,255,255,.78)!important;
  border-bottom:1.5px solid rgba(255,255,255,.78)!important;
  transform:rotate(45deg)!important;
  transition:transform .22s ease!important;
}
.asw-lang .gt_float_switcher:hover .gt-selected .gt-current-lang:after{
  transform:translateY(3px) rotate(225deg)!important;
}

.asw-lang .gt_float_switcher .gt-selected .gt-current-lang:hover{
  border-color:rgba(37,223,124,.42)!important;
  background:linear-gradient(
    180deg,
    rgba(37,223,124,.14),
    rgba(255,255,255,.055)
  )!important;
  transform:translateY(-1px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 28px rgba(0,0,0,.16)!important;
}

/* Remove default plugin-generated arrows/background assets */
.asw-lang .gt_float_switcher .gt-selected .gt-current-lang > span:after,
.asw-lang .gt_float_switcher .gt-selected a:after{
  display:none!important;
}

/* Float language list */
.asw-lang .gt_float_switcher .gt_options{
  position:absolute!important;
  top:50px!important;
  right:0!important;
  left:auto!important;
  width:188px!important;
  min-width:188px!important;
  max-width:188px!important;
  max-height:250px!important;
  overflow-y:auto!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:17px!important;
  background:rgba(3,35,27,.985)!important;
  box-shadow:0 26px 64px rgba(0,0,0,.32)!important;
  z-index:10050!important;
}

.asw-lang .gt_float_switcher .gt_options a{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:9px 11px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:rgba(255,255,255,.82)!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease!important;
}

.asw-lang .gt_float_switcher .gt_options a:hover{
  background:rgba(37,223,124,.105)!important;
  color:#FFFFFF!important;
}

.asw-lang .gt_float_switcher .gt_options img{
  width:20px!important;
  max-width:20px!important;
  height:auto!important;
  margin:0!important;
}

/* Only EN/Arabic are expected in this project; keep menu compact */
.asw-lang .gt_float_switcher .gt_options::-webkit-scrollbar{width:5px!important}
.asw-lang .gt_float_switcher .gt_options::-webkit-scrollbar-thumb{
  background:rgba(37,223,124,.28)!important;
  border-radius:999px!important;
}

/* RTL */
html[dir="rtl"] .asw-lang .gt_float_switcher .gt-selected .gt-current-lang{
  padding:0 12px 0 31px!important;
}
html[dir="rtl"] .asw-lang .gt_float_switcher .gt-selected .gt-current-lang:after{
  right:auto!important;
  left:13px!important;
}
html[dir="rtl"] .asw-lang .gt_float_switcher .gt_options{
  right:auto!important;
  left:0!important;
}

/* Editor/front-end consistency */
.elementor-editor-active .asw-lang .gt_float_switcher,
.elementor-editor-preview .asw-lang .gt_float_switcher{
  position:relative!important;
}

/* Small desktop/mobile */
@media(max-width:980px){
  .asw-lang .gt_float_switcher,
  .asw-lang .gt_float_switcher .gt-selected,
  .asw-lang .gt_float_switcher .gt-selected .gt-current-lang{
    min-width:88px!important;
  }
  .asw-lang .gt_float_switcher .gt-selected .gt-current-lang{
    padding-left:10px!important;
    padding-right:27px!important;
  }
}


/* =========================================================
   v1.3.4 — ZERO-GAP SHELL + PREMIUM FOOTER FINAL PASS
   ========================================================= */

/* Remove Hello Elementor / Theme Builder whitespace around header, page and footer */
html,
body{
  margin:0!important;
  padding:0!important;
}
body.elementor-page #page,
body.elementor-page .site,
body.elementor-page #content,
body.elementor-page .site-content,
body.elementor-page .content-area,
body.elementor-page main.site-main,
body.elementor-page .page-content{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.elementor-location-header,
.elementor-location-footer{
  margin:0!important;
  padding:0!important;
}
.elementor-location-header > .elementor-element,
.elementor-location-footer > .elementor-element,
.elementor-location-header > .e-con,
.elementor-location-footer > .e-con{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.elementor-location-header .elementor-widget-al_sharif_header,
.elementor-location-footer .elementor-widget-al_sharif_footer{
  margin:0!important;
  padding:0!important;
}
.elementor-location-header + #content,
.elementor-location-header + main,
.elementor-location-header + .site-main{
  margin-top:0!important;
  padding-top:0!important;
}
.asw-hero{
  margin-top:0!important;
}
.asw-cta-wrap{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
.asw-site-footer{
  margin-top:0!important;
}

/* When logged in, keep sticky header beneath WordPress admin bar without creating a white gap */
body.admin-bar .asw-site-header{
  top:32px!important;
}
@media(max-width:782px){
  body.admin-bar .asw-site-header{top:46px!important}
}

/* Footer visual upgrade */
.asw-site-footer{
  padding:86px 0 24px!important;
  background:
    radial-gradient(circle at 7% 0%,rgba(37,223,124,.12),transparent 28%),
    radial-gradient(circle at 92% 88%,rgba(37,223,124,.07),transparent 26%),
    linear-gradient(145deg,#011A13 0%,#032D22 55%,#043C2C 100%)!important;
  border-top:1px solid rgba(37,223,124,.16);
}
.asw-site-footer:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--asw-accent),transparent);
  opacity:.55;
}
.asw-footer-grid{
  gap:48px!important;
}
.asw-footer-brand{
  padding-right:24px;
}
.asw-footer-logo{
  width:214px!important;
  height:74px!important;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
.asw-footer-brand p{
  max-width:420px!important;
  color:rgba(255,255,255,.66)!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.asw-footer-brandline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:700;
}
.asw-footer-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--asw-accent);
  box-shadow:0 0 12px rgba(37,223,124,.45);
}
.asw-footer-column h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:22px!important;
}
.asw-footer-heading-icon{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(37,223,124,.09);
  color:var(--asw-accent);
}
.asw-footer-heading-icon svg{
  width:14px;
  height:14px;
}
.asw-footer-service-list li,
.asw-footer-menu li{
  position:relative;
  padding-left:14px;
}
.asw-footer-service-list li:before,
.asw-footer-menu li:before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(37,223,124,.65);
}
.asw-footer-column a{
  color:rgba(255,255,255,.66)!important;
}
.asw-footer-column a:hover{
  color:#fff!important;
}
.asw-footer-contact{
  gap:10px!important;
}
.asw-footer-contact-row{
  width:100%;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:10px!important;
  color:rgba(255,255,255,.68)!important;
}
.asw-footer-contact-row > span:last-child{
  padding-top:4px;
}
.asw-footer-contact-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(37,223,124,.09);
  color:var(--asw-accent)!important;
}
.asw-footer-contact-icon svg{
  width:14px;
  height:14px;
}
.asw-footer-cta{
  min-height:44px;
  margin-top:12px!important;
  padding:11px 13px!important;
  border:1px solid rgba(37,223,124,.18)!important;
  border-radius:13px;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  background:rgba(37,223,124,.055);
  color:var(--asw-accent)!important;
  text-decoration:none;
}
.asw-footer-cta:hover{
  background:rgba(37,223,124,.11);
  border-color:rgba(37,223,124,.34)!important;
  transform:none!important;
}
.asw-footer-cta-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--asw-accent);
  color:#062318!important;
}
.asw-footer-cta-icon svg{
  width:14px;
  height:14px;
}

/* Footer language switch intentionally removed in v1.3.4 */
.asw-footer-lang{
  display:none!important;
}

/* Bottom strip */
.asw-footer-bottom{
  margin-top:58px!important;
  padding-top:21px!important;
  border-top:1px solid rgba(255,255,255,.085)!important;
}
.asw-footer-credit a{
  text-shadow:0 0 18px rgba(37,223,124,.12);
}

/* RTL footer */
html[dir="rtl"] .asw-footer-brand{
  padding-right:0;
  padding-left:24px;
}
html[dir="rtl"] .asw-footer-service-list li,
html[dir="rtl"] .asw-footer-menu li{
  padding-left:0;
  padding-right:14px;
}
html[dir="rtl"] .asw-footer-service-list li:before,
html[dir="rtl"] .asw-footer-menu li:before{
  left:auto;
  right:0;
}

@media(max-width:980px){
  .asw-footer-brand{padding-right:0}
}
@media(max-width:767px){
  .asw-site-footer{padding-top:68px!important}
  .asw-footer-logo{width:190px!important;height:66px!important}
  .asw-footer-heading-icon{width:25px;height:25px}
}


/* =========================================================
   v1.4.0 — CINEMATIC PASS + COMPLETE SERVICE SPECTRUM
   ========================================================= */

/* stronger hero cinematic entrance without hiding content if JS fails */
@keyframes asw-hero-copy-in{
  from{opacity:0;transform:translate3d(0,36px,0);filter:blur(8px)}
  to{opacity:1;transform:none;filter:blur(0)}
}
@keyframes asw-hero-image-in{
  from{opacity:0;clip-path:inset(0 0 100% 0 round 32px);transform:scale(1.06)}
  to{opacity:1;clip-path:inset(0 0 0 0 round 32px);transform:scale(1)}
}
.js-asw .asw-hero-copy{
  animation:asw-hero-copy-in 1s cubic-bezier(.16,.8,.2,1) both;
}
.js-asw .asw-hero-media img{
  animation:asw-hero-image-in 1.15s .12s cubic-bezier(.16,.8,.2,1) both;
}

/* cinematic moving light across hero */
.asw-hero:after{
  background:
    linear-gradient(112deg,transparent 0 46%,rgba(255,255,255,.035) 49%,rgba(37,223,124,.055) 51%,transparent 55%),
    linear-gradient(118deg,transparent 0 57%,rgba(255,255,255,.025) 57% 58%,transparent 58% 72%,rgba(37,223,124,.04) 72% 73%,transparent 73%)!important;
  background-size:220% 100%,100% 100%!important;
  animation:asw-hero-sheen 13s ease-in-out infinite!important;
}
@keyframes asw-hero-sheen{
  0%,100%{background-position:130% 0,0 0}
  50%{background-position:-35% 0,0 0}
}

/* image reveal mask on service feature blocks */
.asw-feature-media{
  overflow:hidden;
}
.asw-feature-media:after{
  content:"";
  position:absolute;
  z-index:5;
  inset:12px;
  border-radius:28px;
  pointer-events:none;
  background:linear-gradient(135deg,#043226,#07523B);
  transform:scaleX(0);
  transform-origin:right center;
  opacity:0;
}
.js-asw .asw-feature-media.is-visible:after{
  animation:asw-image-wipe 1s cubic-bezier(.16,.8,.2,1) both;
}
@keyframes asw-image-wipe{
  0%{transform:scaleX(1);transform-origin:left center;opacity:1}
  45%{transform:scaleX(1);transform-origin:right center;opacity:1}
  100%{transform:scaleX(0);transform-origin:right center;opacity:1}
}

/* cards feel more alive */
.asw-card,
.asw-client,
.asw-process,
.asw-work{
  transform-style:preserve-3d;
}
.asw-card:hover,
.asw-client:hover,
.asw-process:hover{
  box-shadow:0 30px 74px rgba(3,45,31,.15)!important;
}

/* cinematic section separator line */
.asw-section:not(.asw-dark):not(.asw-soft):not(.asw-profile-section){
  background-image:
    linear-gradient(90deg,transparent,rgba(37,223,124,.06),transparent);
  background-size:100% 1px;
  background-repeat:no-repeat;
  background-position:center top;
}

/* ------- Complete Service Spectrum ------- */
.asw-service-spectrum{
  position:relative;
  overflow:hidden;
  padding:100px 0 92px;
  background:
    radial-gradient(circle at 18% 0%,rgba(37,223,124,.13),transparent 26%),
    radial-gradient(circle at 90% 100%,rgba(37,223,124,.08),transparent 28%),
    linear-gradient(135deg,#021A13 0%,#033326 58%,#064633 100%)!important;
  border-top:1px solid rgba(37,223,124,.12);
  border-bottom:1px solid rgba(37,223,124,.12);
}
.asw-service-spectrum:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent 0 64%,rgba(255,255,255,.035) 64% 65%,transparent 65% 78%,rgba(37,223,124,.035) 78% 79%,transparent 79%);
}
.asw-service-spectrum-orb{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.055);
  pointer-events:none;
}
.asw-service-spectrum-orb-a{
  width:520px;height:520px;left:-300px;top:-270px;
  box-shadow:0 0 0 70px rgba(255,255,255,.012),0 0 0 140px rgba(37,223,124,.009);
}
.asw-service-spectrum-orb-b{
  width:420px;height:420px;right:-250px;bottom:-260px;
  box-shadow:0 0 0 65px rgba(255,255,255,.012);
}
.asw-spectrum-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:56px;
  align-items:end;
  margin-bottom:48px!important;
}
.asw-spectrum-head .asw-title{
  margin-bottom:0!important;
  max-width:860px;
}
.asw-spectrum-head .asw-title:after{display:none}
.asw-spectrum-head .asw-copy{
  color:rgba(255,255,255,.66)!important;
  max-width:430px;
}
.asw-spectrum-rails{
  position:relative;
  z-index:3;
  display:grid;
  gap:14px;
}
.asw-marquee-viewport{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:3px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.asw-marquee-track{
  width:max-content;
  display:flex;
  will-change:transform;
  animation:asw-marquee-left var(--asw-marquee-speed,42s) linear infinite;
}
.asw-marquee-reverse{
  animation-name:asw-marquee-right;
}
.asw-marquee-pause:hover .asw-marquee-track{
  animation-play-state:paused;
}
.asw-marquee-group{
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:12px;
  padding-right:12px;
}
.asw-marquee-item{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 19px 0 12px;
  border:1px solid rgba(255,255,255,.105);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.067),rgba(255,255,255,.028));
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.asw-marquee-item:hover{
  transform:translateY(-2px);
  border-color:rgba(37,223,124,.34);
  background:linear-gradient(180deg,rgba(37,223,124,.13),rgba(255,255,255,.04));
  box-shadow:0 13px 28px rgba(0,0,0,.12);
}
.asw-marquee-num{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  border-radius:50%;
  background:rgba(37,223,124,.10);
  border:1px solid rgba(37,223,124,.17);
  color:var(--asw-accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.asw-marquee-label{
  font-size:13px;
  font-weight:800;
  letter-spacing:.015em;
  color:rgba(255,255,255,.87);
}
.asw-marquee-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;height:24px;
  margin-left:2px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.58);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.asw-marquee-item:hover .asw-marquee-arrow{
  background:var(--asw-accent);
  color:#062318;
  transform:translate(2px,-2px);
}
@keyframes asw-marquee-left{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@keyframes asw-marquee-right{
  from{transform:translate3d(-50%,0,0)}
  to{transform:translate3d(0,0,0)}
}
.asw-spectrum-footer{
  position:relative;
  z-index:3;
  margin-top:34px!important;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:center;
  gap:18px 30px;
  flex-wrap:wrap;
}
.asw-spectrum-footer span{
  position:relative;
  padding-left:13px;
  color:rgba(255,255,255,.50);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.asw-spectrum-footer span:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:5px;height:5px;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--asw-accent);
  box-shadow:0 0 9px rgba(37,223,124,.45);
}

/* RTL */
html[dir="rtl"] .asw-marquee-item{
  padding:0 12px 0 19px;
}
html[dir="rtl"] .asw-spectrum-footer span{
  padding-left:0;
  padding-right:13px;
}
html[dir="rtl"] .asw-spectrum-footer span:before{
  left:auto;right:0;
}

@media(max-width:900px){
  .asw-spectrum-head{
    grid-template-columns:1fr;
    gap:20px;
  }
  .asw-service-spectrum{padding:82px 0 76px}
}
@media(max-width:767px){
  .asw-service-spectrum{padding:70px 0 64px}
  .asw-spectrum-head{margin-bottom:34px!important}
  .asw-marquee-item{min-height:58px;padding-right:15px}
  .asw-marquee-num{width:36px;height:36px;flex-basis:36px}
  .asw-marquee-label{font-size:12px}
  .asw-spectrum-footer{gap:12px 18px}
}

/* Reduced motion: keep every service accessible and readable */
@media(prefers-reduced-motion:reduce){
  .asw-hero:after,
  .js-asw .asw-hero-copy,
  .js-asw .asw-hero-media img,
  .asw-marquee-track{
    animation:none!important;
  }
  .asw-marquee-viewport{
    overflow-x:auto!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .asw-marquee-track{transform:none!important}
}


/* =========================================================
   v1.5.0 ABOUT PAGE — EDITORIAL CORPORATE DOSSIER
   Distinct visual language from the homepage
   ========================================================= */

.asw-about-hero{
  position:relative;
  overflow:hidden;
  min-height:88vh;
  padding:118px 0 78px;
  background:
    radial-gradient(circle at 8% 18%,rgba(37,223,124,.09),transparent 28%),
    linear-gradient(128deg,#041A14 0%,#052E22 48%,#0B563D 100%);
  color:#fff;
}
.asw-about-hero-noise{
  position:absolute;inset:0;opacity:.16;pointer-events:none;
  background:
    linear-gradient(118deg,transparent 0 52%,rgba(255,255,255,.028) 52% 53%,transparent 53% 72%,rgba(37,223,124,.04) 72% 73%,transparent 73%);
}
.asw-about-hero-grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:72px;
  align-items:center;
}
.asw-about-hero h1{
  margin:0 0 28px;
  max-width:730px;
  color:#fff;
  font-size:clamp(58px,6vw,94px);
  line-height:.91;
  letter-spacing:-.055em;
  font-weight:800;
}
.asw-about-hero h1 span{
  color:var(--asw-accent);
  text-shadow:0 0 42px rgba(37,223,124,.15);
}
.asw-about-hero-intro{
  max-width:710px;
  margin:0 0 17px;
  color:rgba(255,255,255,.84);
  font-size:19px;
  line-height:1.7;
}
.asw-about-hero-sub{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:14px;
  line-height:1.72;
}
.asw-about-hero-facts{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.asw-about-hero-facts>div{
  min-height:102px;
  padding:17px 18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(10px);
}
.asw-about-hero-facts strong{
  display:block;color:#fff;font-size:22px;line-height:1.05;font-weight:800;
}
.asw-about-hero-facts span{
  display:block;margin-top:8px;color:rgba(255,255,255,.50);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.09em;
}
.asw-about-hero-media{position:relative;min-height:650px}
.asw-about-hero-frame{
  position:absolute;right:0;top:0;width:88%;height:620px;
  overflow:hidden;border-radius:180px 28px 28px 28px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 40px 100px rgba(0,0,0,.34);
}
.asw-about-hero-frame:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(2,26,20,.52));
  pointer-events:none;
}
.asw-about-hero-frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);
}
.asw-about-hero-frame:hover img{transform:scale(1.035)}
.asw-about-hero-word{
  position:absolute;z-index:4;left:-20px;bottom:44px;
  padding:18px 20px;border-radius:18px;
  background:rgba(3,28,21,.82);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(14px);
  color:#fff;font-size:13px;line-height:1.32;font-weight:800;letter-spacing:.12em;
}
.asw-about-hero-word span{color:var(--asw-accent)}
.asw-about-scroll-cue{
  position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);
  display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.40);font-size:9px;font-weight:800;letter-spacing:.16em;
}
.asw-about-scroll-cue span{width:38px;height:1px;background:linear-gradient(90deg,transparent,var(--asw-accent))}

/* Story */
.asw-about-story{padding:135px 0;background:#fff}
.asw-about-story-grid{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:96px;align-items:center;
}
.asw-about-story-media{position:relative;padding:14px 0 0 14px}
.asw-about-story-media:before{
  content:"";position:absolute;inset:0 12% 14% 0;border-radius:30px;border:1px solid rgba(4,50,38,.10);transform:translate(-12px,-12px);
}
.asw-about-story-media img{
  position:relative;z-index:2;display:block;width:100%;height:620px;object-fit:cover;border-radius:30px;box-shadow:0 28px 80px rgba(3,45,31,.13);
}
.asw-about-story-index{
  position:absolute;z-index:3;right:-22px;top:35px;
  font-size:112px;line-height:1;font-weight:800;letter-spacing:-.06em;color:#EFF5F1;
}
.asw-about-story-copy .asw-title{max-width:700px}
.asw-about-steps{margin-top:34px;border-top:1px solid var(--asw-line)}
.asw-about-steps article{
  display:grid;grid-template-columns:70px 1fr;gap:15px;padding:23px 0;border-bottom:1px solid var(--asw-line);
}
.asw-about-steps b{color:var(--asw-accent);font-size:12px;letter-spacing:.11em}
.asw-about-steps h3{margin:0 0 6px;font-size:17px;color:var(--asw-dark)}
.asw-about-steps p{margin:0;color:#6B786F;font-size:13px;line-height:1.6}

/* Purpose / values */
.asw-about-purpose{
  position:relative;overflow:hidden;padding:132px 0;color:#fff;
  background-image:linear-gradient(115deg,rgba(2,28,21,.96),rgba(4,57,41,.87)),var(--asw-purpose-bg);
  background-size:cover;background-position:center;
}
.asw-about-purpose-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 88% 12%,rgba(37,223,124,.14),transparent 27%),
    linear-gradient(120deg,transparent 0 68%,rgba(255,255,255,.035) 68% 69%,transparent 69%);
}
.asw-about-purpose .asw-shell{position:relative;z-index:2}
.asw-about-purpose-head{max-width:850px;margin-bottom:48px}
.asw-about-purpose-head h2{
  margin:0;color:#fff;font-size:clamp(46px,5vw,76px);line-height:.96;letter-spacing:-.05em;
}
.asw-about-purpose-head h2 span{color:var(--asw-accent)}
.asw-about-purpose-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.asw-about-purpose-card{
  min-height:220px;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));backdrop-filter:blur(10px);
}
.asw-about-purpose-card small{color:var(--asw-accent);font-size:10px;font-weight:900;letter-spacing:.17em}
.asw-about-purpose-card p{margin:26px 0 0;max-width:520px;color:#fff;font-size:21px;line-height:1.5;font-weight:650}
.asw-about-values{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;
}
.asw-about-value{
  min-height:115px;padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.12);
}
.asw-about-value span{display:block;color:rgba(37,223,124,.64);font-size:10px;font-weight:900;letter-spacing:.12em}
.asw-about-value strong{display:block;margin-top:20px;color:#fff;font-size:15px}

/* Credentials */
.asw-about-credentials{position:relative;overflow:hidden;padding:138px 0;background:linear-gradient(180deg,#F8FAF8,#EEF4F0)}
.asw-about-credentials:after{
  content:"";position:absolute;width:620px;height:620px;right:-350px;top:-300px;border-radius:50%;
  border:1px solid rgba(4,50,38,.06);box-shadow:0 0 0 80px rgba(4,50,38,.018),0 0 0 160px rgba(37,223,124,.012);
}
.asw-about-credentials .asw-shell{position:relative;z-index:2}
.asw-about-credentials-head{
  display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:60px;
}
.asw-about-credentials-head h2{margin:0;font-size:clamp(44px,4.7vw,70px);line-height:.97;letter-spacing:-.045em;color:var(--asw-dark)}
.asw-about-credentials-head h2 span{color:var(--asw-green)}
.asw-about-credentials-head p{margin:0;color:#68766E;font-size:14px;line-height:1.7}
.asw-about-credentials-grid{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:72px;align-items:center;
}
.asw-about-doc-stack{position:relative;min-height:650px}
.asw-about-doc{
  position:absolute;width:82%;margin:0;padding:12px;border-radius:24px;background:#fff;border:1px solid rgba(4,50,38,.10);box-shadow:0 30px 80px rgba(3,45,31,.13);
}
.asw-about-doc img{width:100%;display:block;border-radius:16px}
.asw-about-doc figcaption{padding:11px 7px 4px;color:#617068;font-size:11px;font-weight:800;letter-spacing:.04em}
.asw-about-doc-a{top:0;left:0;transform:rotate(-4deg)}
.asw-about-doc-b{right:0;bottom:0;transform:rotate(4deg)}
.asw-about-credential-list{
  overflow:hidden;border-radius:28px;border:1px solid rgba(4,50,38,.10);background:rgba(255,255,255,.78);box-shadow:0 20px 56px rgba(3,45,31,.08)
}
.asw-about-credential-row{
  display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;padding:19px 22px;border-bottom:1px solid rgba(4,50,38,.075)
}
.asw-about-credential-row small{color:#718078;font-size:9px;line-height:1.4;letter-spacing:.11em;font-weight:900}
.asw-about-credential-row strong{color:var(--asw-dark);font-size:15px;line-height:1.35}
.asw-about-vat{background:linear-gradient(90deg,rgba(37,223,124,.06),transparent)}
.asw-about-credential-mini{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(4,50,38,.075)}
.asw-about-credential-mini>div{padding:19px 22px;background:#fff}
.asw-about-credential-mini small{display:block;color:#718078;font-size:9px;letter-spacing:.09em;font-weight:900}
.asw-about-credential-mini b{display:block;margin-top:8px;color:var(--asw-green);font-size:16px}

/* Divisions lanes */
.asw-about-divisions{padding:130px 0;background:#07120F;color:#fff}
.asw-about-divisions-head{margin-bottom:46px}
.asw-about-divisions-head h2{margin:0;color:#fff;font-size:clamp(46px,5.1vw,78px);line-height:.94;letter-spacing:-.05em}
.asw-about-divisions-head h2 span{color:var(--asw-accent)}
.asw-about-division-list{border-top:1px solid rgba(255,255,255,.10)}
.asw-about-division{
  min-height:120px;display:grid;grid-template-columns:90px minmax(220px,.9fr) minmax(240px,1fr) 50px;gap:24px;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.10);text-decoration:none;color:#fff;transition:background .3s ease,padding .3s ease;
}
.asw-about-division:hover{background:linear-gradient(90deg,rgba(37,223,124,.08),transparent 70%);padding-inline:16px}
.asw-about-division-num{color:var(--asw-accent);font-size:11px;font-weight:900;letter-spacing:.13em}
.asw-about-division strong{font-size:28px;line-height:1.1;letter-spacing:-.03em}
.asw-about-division em{font-style:normal;color:rgba(255,255,255,.48);font-size:13px}
.asw-about-division b{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62)
}
.asw-about-division:hover b{background:var(--asw-accent);color:#07120F;border-color:var(--asw-accent)}

/* CTA */
.asw-about-cta{
  position:relative;overflow:hidden;padding:128px 0;color:#fff;
  background-image:linear-gradient(90deg,rgba(2,26,20,.95) 0%,rgba(2,26,20,.78) 52%,rgba(2,26,20,.44) 100%),var(--asw-about-cta-bg);
  background-size:cover;background-position:center;
}
.asw-about-cta-overlay{position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(37,223,124,.09),transparent 32%)}
.asw-about-cta-inner{position:relative;z-index:2;max-width:920px;margin-left:max(calc((100vw - var(--asw-max))/2),32px)}
.asw-about-cta h2{margin:0;color:#fff;font-size:clamp(48px,5.4vw,80px);line-height:.93;letter-spacing:-.052em}
.asw-about-cta h2 span{color:var(--asw-accent)}
.asw-about-cta p{max-width:650px;margin:24px 0 0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.7}

/* About responsive */
@media(max-width:1024px){
  .asw-about-hero-grid,.asw-about-story-grid,.asw-about-credentials-grid{gap:44px}
  .asw-about-hero-frame{width:100%}
  .asw-about-purpose{padding:105px 0}
  .asw-about-values{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .asw-about-hero{padding:96px 0 70px;min-height:auto}
  .asw-about-hero-grid,.asw-about-story-grid,.asw-about-purpose-grid,.asw-about-credentials-head,.asw-about-credentials-grid{grid-template-columns:1fr}
  .asw-about-hero-grid{gap:38px}
  .asw-about-hero h1{font-size:clamp(48px,13vw,66px)}
  .asw-about-hero-facts{grid-template-columns:1fr}
  .asw-about-hero-media{min-height:470px}
  .asw-about-hero-frame{position:relative;height:450px;border-radius:100px 24px 24px 24px}
  .asw-about-hero-word{left:10px;bottom:20px}
  .asw-about-story{padding:88px 0}
  .asw-about-story-media img{height:430px}
  .asw-about-story-index{right:0;font-size:78px}
  .asw-about-purpose-grid{gap:12px}
  .asw-about-values{grid-template-columns:1fr 1fr}
  .asw-about-credentials{padding:92px 0}
  .asw-about-doc-stack{min-height:530px}
  .asw-about-doc{width:88%}
  .asw-about-credential-row{grid-template-columns:1fr;gap:7px}
  .asw-about-credential-mini{grid-template-columns:1fr}
  .asw-about-divisions{padding:90px 0}
  .asw-about-division{grid-template-columns:48px 1fr 40px;gap:12px;padding:18px 0}
  .asw-about-division em{grid-column:2/3}
  .asw-about-cta{padding:90px 0;background-position:65% center}
  .asw-about-cta-inner{margin-left:0}
}


/* =========================================================
   v1.6.0 OUR SERVICES — SERVICE ATLAS
   White editorial hero + chapter system + capability index.
   ========================================================= */

.asw-services-hero{
  position:relative;overflow:hidden;padding:120px 0 92px;background:#F5F2EA;color:var(--asw-dark);
}
.asw-services-hero:before{
  content:"";position:absolute;right:-260px;top:-330px;width:720px;height:720px;border-radius:50%;
  border:1px solid rgba(4,50,38,.07);box-shadow:0 0 0 90px rgba(4,50,38,.02),0 0 0 180px rgba(37,223,124,.012);
}
.asw-services-hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:74px;align-items:center;
}
.asw-services-hero h1{
  margin:0 0 28px;font-size:clamp(58px,6.3vw,96px);line-height:.9;letter-spacing:-.057em;color:#102019;font-weight:800;
}
.asw-services-hero h1 span{color:var(--asw-green)}
.asw-services-hero-copy>p{max-width:670px;margin:0;color:#59685F;font-size:18px;line-height:1.75}
.asw-services-scope{
  display:flex;align-items:center;gap:11px;margin-top:30px;color:#617067;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
}
.asw-services-scope span{width:42px;height:2px;background:var(--asw-accent)}
.asw-services-hero-visual{
  position:relative;min-height:600px;
}
.asw-services-hero-visual>img{
  position:absolute;top:0;right:0;width:82%;height:570px;object-fit:cover;border-radius:28px;box-shadow:0 34px 90px rgba(3,45,31,.14);
}
.asw-services-hero-index{
  position:absolute;z-index:4;left:0;bottom:22px;width:56%;padding:11px;border-radius:22px;background:#071C15;box-shadow:0 24px 60px rgba(0,0,0,.20)
}
.asw-services-hero-index>div{
  min-height:58px;display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08)
}
.asw-services-hero-index>div:last-child{border-bottom:0}
.asw-services-hero-index b{color:var(--asw-accent);font-size:10px;letter-spacing:.1em}
.asw-services-hero-index span{color:#fff;font-size:13px;font-weight:750}

/* Atlas chapters */
.asw-services-atlas{padding:132px 0;background:#fff}
.asw-services-atlas-head{max-width:960px;margin-bottom:56px}
.asw-services-atlas-head h2{
  margin:0;color:var(--asw-dark);font-size:clamp(46px,5.2vw,78px);line-height:.94;letter-spacing:-.05em
}
.asw-services-atlas-head h2 span{color:var(--asw-green)}
.asw-service-chapters{display:grid;gap:24px}
.asw-service-chapter{
  position:relative;overflow:hidden;border:1px solid var(--asw-line);border-radius:30px;background:#F8FAF8;color:var(--asw-dark)
}
.asw-service-chapter-dark{
  background:linear-gradient(135deg,#061D16,#063A2B);border-color:rgba(255,255,255,.08);color:#fff
}
.asw-service-chapter-head{
  min-height:120px;display:grid;grid-template-columns:100px 1fr auto;gap:22px;align-items:center;padding:0 34px;border-bottom:1px solid rgba(4,50,38,.08)
}
.asw-service-chapter-dark .asw-service-chapter-head{border-color:rgba(255,255,255,.09)}
.asw-service-chapter-head>span{
  font-size:52px;line-height:1;font-weight:800;letter-spacing:-.05em;color:#DCE8E1
}
.asw-service-chapter-dark .asw-service-chapter-head>span{color:rgba(255,255,255,.10)}
.asw-service-chapter-head small{
  display:block;margin-bottom:6px;color:var(--asw-green);font-size:9px;font-weight:900;letter-spacing:.14em
}
.asw-service-chapter-dark .asw-service-chapter-head small{color:var(--asw-accent)}
.asw-service-chapter-head h3{margin:0;font-size:31px;line-height:1.05;letter-spacing:-.03em;color:inherit}
.asw-service-chapter-head>a{
  display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.12em
}
.asw-service-chapter-head>a b{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--asw-accent);color:#061D16
}
.asw-service-chapter-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.asw-service-chapter-media{min-height:430px;overflow:hidden}
.asw-service-chapter-media img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block;transition:transform .7s ease}
.asw-service-chapter:hover .asw-service-chapter-media img{transform:scale(1.025)}
.asw-service-chapter-copy{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}
.asw-service-chapter-copy>p{margin:0 0 30px;color:#5F6E65;font-size:15px;line-height:1.75}
.asw-service-chapter-dark .asw-service-chapter-copy>p{color:rgba(255,255,255,.64)}
.asw-service-chapter-copy ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(4,50,38,.09)}
.asw-service-chapter-dark .asw-service-chapter-copy ul{border-color:rgba(255,255,255,.09)}
.asw-service-chapter-copy li{
  position:relative;padding:13px 0 13px 18px;border-bottom:1px solid rgba(4,50,38,.075);font-size:13px;font-weight:750
}
.asw-service-chapter-dark .asw-service-chapter-copy li{border-color:rgba(255,255,255,.07)}
.asw-service-chapter-copy li:before{
  content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;transform:translateY(-50%);background:var(--asw-accent)
}

/* Capability Index */
.asw-capability-index{
  padding:130px 0;background:#F2EFE7;
}
.asw-cap-index-head{
  display:grid;grid-template-columns:1fr .4fr;gap:50px;align-items:end;margin-bottom:48px
}
.asw-cap-index-head h2{
  grid-column:1/2;margin:0;color:var(--asw-dark);font-size:clamp(44px,4.9vw,72px);line-height:.95;letter-spacing:-.048em
}
.asw-cap-index-head h2 span{color:var(--asw-green)}
.asw-cap-index-head p{grid-column:2/3;margin:0;color:#6A776F;font-size:13px;line-height:1.65}
.asw-cap-index-list{border-top:1px solid rgba(4,50,38,.14)}
.asw-cap-index-row{
  min-height:82px;display:grid;grid-template-columns:70px minmax(240px,1fr) 180px 45px;gap:20px;align-items:center;
  border-bottom:1px solid rgba(4,50,38,.12);transition:background .25s ease,padding .25s ease
}
.asw-cap-index-row:hover{padding-inline:14px;background:rgba(255,255,255,.50)}
.asw-cap-index-row>span{color:var(--asw-green);font-size:10px;font-weight:900;letter-spacing:.13em}
.asw-cap-index-row strong{color:var(--asw-dark);font-size:19px;letter-spacing:-.02em}
.asw-cap-index-row em{font-style:normal;color:#7A867F;font-size:9px;font-weight:900;letter-spacing:.12em}
.asw-cap-index-row b{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(4,50,38,.13);border-radius:50%;color:var(--asw-green)
}

/* Process */
.asw-services-process{
  position:relative;overflow:hidden;padding:128px 0;color:#fff;
  background-image:linear-gradient(100deg,rgba(2,27,20,.97),rgba(2,27,20,.76)),var(--asw-process-bg);
  background-size:cover;background-position:center
}
.asw-services-process-overlay{
  position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(37,223,124,.12),transparent 25%)
}
.asw-services-process .asw-shell{position:relative;z-index:2}
.asw-services-process-head{max-width:900px;margin-bottom:52px}
.asw-services-process-head h2{
  margin:0;color:#fff;font-size:clamp(46px,5.2vw,78px);line-height:.94;letter-spacing:-.05em
}
.asw-services-process-head h2 span{color:var(--asw-accent)}
.asw-services-process-head p{margin:18px 0 0;color:rgba(255,255,255,.58);font-size:13px}
.asw-services-process-track{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.10)
}
.asw-services-process-step{min-height:230px;padding:32px;background:rgba(2,27,20,.78);backdrop-filter:blur(8px)}
.asw-services-process-step>b{
  display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--asw-accent);color:#062318;font-size:10px
}
.asw-services-process-step h3{margin:28px 0 8px;color:#fff;font-size:20px}
.asw-services-process-step p{margin:0;color:rgba(255,255,255,.60);font-size:13px;line-height:1.65}

/* CTA */
.asw-services-cta{padding:92px 0;background:#0B1511;color:#fff}
.asw-services-cta-inner{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:70px;align-items:end
}
.asw-services-cta h2{margin:0;color:#fff;font-size:clamp(42px,4.8vw,70px);line-height:.95;letter-spacing:-.047em}
.asw-services-cta h2 span{color:var(--asw-accent)}
.asw-services-cta-side>p{margin:0;color:rgba(255,255,255,.62);font-size:15px;line-height:1.7}

/* Responsive */
@media(max-width:1024px){
  .asw-services-hero-grid{gap:42px}
  .asw-service-chapter-grid{grid-template-columns:1fr}
  .asw-service-chapter-media{min-height:370px}
  .asw-services-process-track{grid-template-columns:1fr 1fr}
  .asw-services-cta-inner{gap:40px}
}
@media(max-width:767px){
  .asw-services-hero{padding:92px 0 70px}
  .asw-services-hero-grid,.asw-cap-index-head,.asw-services-cta-inner{grid-template-columns:1fr}
  .asw-services-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-services-hero-visual{min-height:480px}
  .asw-services-hero-visual>img{width:100%;height:440px}
  .asw-services-hero-index{width:86%;left:7%;bottom:0}
  .asw-services-atlas{padding:90px 0}
  .asw-service-chapter-head{grid-template-columns:56px 1fr;min-height:108px;padding:16px 20px}
  .asw-service-chapter-head>a{grid-column:2/3}
  .asw-service-chapter-head>span{font-size:40px}
  .asw-service-chapter-copy{padding:30px 22px}
  .asw-capability-index{padding:88px 0}
  .asw-cap-index-head h2,.asw-cap-index-head p{grid-column:auto}
  .asw-cap-index-row{grid-template-columns:45px 1fr 34px;min-height:76px}
  .asw-cap-index-row em{grid-column:2/3}
  .asw-cap-index-row b{grid-column:3/4;grid-row:1/3}
  .asw-services-process{padding:90px 0}
  .asw-services-process-track{grid-template-columns:1fr}
  .asw-services-cta{padding:78px 0}
}


/* =========================================================
   v1.7.0 FACILITIES & MAINTENANCE — OPERATIONS COMMAND
   ========================================================= */

.asw-fm-hero{
  position:relative;overflow:hidden;min-height:90vh;padding:126px 0 90px;
  background:
    radial-gradient(circle at 78% 18%,rgba(37,223,124,.11),transparent 24%),
    linear-gradient(135deg,#031912 0%,#042B21 46%,#073F2E 100%);
  color:#fff;
}
.asw-fm-gridlines{
  position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 72%);
  mask-image:linear-gradient(90deg,#000 0%,transparent 72%);
}
.asw-fm-scan{
  position:absolute;z-index:1;left:0;top:0;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,var(--asw-accent),transparent);
  box-shadow:0 0 40px rgba(37,223,124,.30);
  animation:asw-fm-scan 9s linear infinite;
  opacity:.42
}
@keyframes asw-fm-scan{from{left:6%}to{left:96%}}
.asw-fm-hero-grid{
  position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:72px;align-items:center
}
.asw-fm-hero h1{
  margin:0 0 27px;color:#fff;font-size:clamp(58px,6.1vw,94px);line-height:.91;letter-spacing:-.055em;font-weight:800
}
.asw-fm-hero h1 span{color:var(--asw-accent)}
.asw-fm-hero-copy>p{max-width:690px;margin:0;color:rgba(255,255,255,.73);font-size:18px;line-height:1.72}
.asw-fm-live-rail{
  margin-top:30px;display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(0,0,0,.12)
}
.asw-fm-live-rail strong{font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.67)}
.asw-fm-pulse{width:8px;height:8px;border-radius:50%;background:var(--asw-accent);box-shadow:0 0 0 0 rgba(37,223,124,.42);animation:asw-fm-pulse 2s infinite}
@keyframes asw-fm-pulse{70%{box-shadow:0 0 0 10px rgba(37,223,124,0)}100%{box-shadow:0 0 0 0 rgba(37,223,124,0)}}
.asw-fm-hero-modes{
  margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)
}
.asw-fm-hero-modes>div{padding:17px 14px;border-right:1px solid rgba(255,255,255,.08)}
.asw-fm-hero-modes>div:last-child{border-right:0}
.asw-fm-hero-modes b{display:block;color:var(--asw-accent);font-size:10px;letter-spacing:.11em}
.asw-fm-hero-modes span{display:block;margin-top:8px;color:#fff;font-size:11px;font-weight:800}
.asw-fm-hero-visual{position:relative;min-height:620px}
.asw-fm-visual-frame{
  position:absolute;right:0;top:0;width:90%;height:590px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:34px 34px 120px 34px;background:rgba(255,255,255,.025)
}
.asw-fm-visual-frame img{width:100%;height:100%;object-fit:cover;display:block;border-radius:24px 24px 108px 24px;filter:saturate(.92)}
.asw-fm-visual-note{
  position:absolute;z-index:4;left:0;bottom:45px;min-width:250px;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(2,24,18,.88);backdrop-filter:blur(12px)
}
.asw-fm-visual-note small{display:block;color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-fm-visual-note strong{display:block;margin-top:8px;color:#fff;font-size:14px}
.asw-fm-corner-lines{
  position:absolute;right:-14px;top:-14px;width:140px;height:140px;border-top:1px solid rgba(37,223,124,.55);border-right:1px solid rgba(37,223,124,.55);border-radius:0 24px 0 0
}

/* Operations flow */
.asw-fm-operations{padding:132px 0;background:#F1F5F2}
.asw-fm-section-head{display:grid;grid-template-columns:1fr .55fr;gap:62px;align-items:end;margin-bottom:62px}
.asw-fm-section-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-fm-section-head h2 span{color:var(--asw-green)}
.asw-fm-section-head p{margin:0;color:#68766E;font-size:13px;line-height:1.7}
.asw-fm-flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.asw-fm-flow:before{
  content:"";position:absolute;left:6%;right:6%;top:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(10,102,71,.28),transparent)
}
.asw-fm-flow-step{position:relative;z-index:2;padding:0 10px}
.asw-fm-flow-node{
  width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(10,102,71,.18);background:#fff;box-shadow:0 16px 34px rgba(3,45,31,.07)
}
.asw-fm-flow-node span{color:var(--asw-green);font-size:11px;font-weight:900;letter-spacing:.12em}
.asw-fm-flow-step h3{margin:23px 0 8px;color:var(--asw-dark);font-size:18px}
.asw-fm-flow-step p{margin:0;color:#718078;font-size:13px;line-height:1.65}

/* Hard / Soft matrix */
.asw-fm-matrix{padding:130px 0;background:#0A1511;color:#fff}
.asw-fm-matrix-head{
  display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:46px
}
.asw-fm-matrix-head h2{margin:0;color:#fff;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-fm-matrix-head h2 span{color:var(--asw-accent)}
.asw-fm-matrix-head>p{margin:0;color:rgba(255,255,255,.56);font-size:14px;line-height:1.7}
.asw-fm-matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.asw-fm-matrix-card{overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.09);background:#10221A}
.asw-fm-matrix-media{position:relative;height:360px;overflow:hidden}
.asw-fm-matrix-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.asw-fm-matrix-card:hover img{transform:scale(1.025)}
.asw-fm-matrix-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,24,18,.66))}
.asw-fm-matrix-media>span{
  position:absolute;z-index:3;left:22px;bottom:18px;color:rgba(255,255,255,.92);font-size:44px;line-height:1;font-weight:800;letter-spacing:-.05em
}
.asw-fm-matrix-body{padding:30px}
.asw-fm-matrix-body small{color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.15em}
.asw-fm-matrix-body h3{margin:9px 0 15px;color:#fff;font-size:29px;letter-spacing:-.035em}
.asw-fm-matrix-body>p{margin:0 0 22px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}
.asw-fm-matrix-body ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.08)}
.asw-fm-matrix-body li{position:relative;padding:12px 0 12px 16px;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px;color:rgba(255,255,255,.82)}
.asw-fm-matrix-body li:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;transform:translateY(-50%);background:var(--asw-accent)}
.asw-fm-scope-note{margin-top:20px;padding:12px 14px;border-radius:12px;background:rgba(37,223,124,.07);border:1px solid rgba(37,223,124,.12);color:#CFF7DF;font-size:11px;line-height:1.5}

/* Maintenance lab */
.asw-fm-lab{padding:132px 0;background:#fff}
.asw-fm-lab-head{max-width:940px;margin-bottom:50px}
.asw-fm-lab-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-fm-lab-head h2 span{color:var(--asw-green)}
.asw-fm-lab-head p{margin:18px 0 0;color:#68766E;font-size:14px}
.asw-fm-lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.asw-fm-lab-panel{display:grid;grid-template-columns:.9fr 1.1fr;min-height:390px;overflow:hidden;border:1px solid var(--asw-line);border-radius:26px;background:#F8FAF8}
.asw-fm-lab-image{position:relative;overflow:hidden}
.asw-fm-lab-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.asw-fm-lab-panel:hover img{transform:scale(1.025)}
.asw-fm-lab-image>span{
  position:absolute;left:18px;top:18px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#06251A;color:var(--asw-accent);font-size:10px;font-weight:900
}
.asw-fm-lab-copy{padding:28px;display:flex;flex-direction:column;justify-content:center}
.asw-fm-lab-copy h3{margin:0;color:var(--asw-dark);font-size:21px;line-height:1.12;letter-spacing:-.025em}
.asw-fm-lab-copy>p{margin:13px 0 18px;color:#67756D;font-size:13px;line-height:1.65}
.asw-fm-lab-tags{display:flex;flex-wrap:wrap;gap:7px}
.asw-fm-lab-tags span{padding:7px 9px;border-radius:999px;border:1px solid #DDE8E2;background:#fff;color:var(--asw-green);font-size:9px;font-weight:800}
.asw-fm-lab-copy>small{display:block;margin-top:16px;color:#7B8881;font-size:10px;line-height:1.5}

/* Scope guardrails */
.asw-fm-guardrails{padding:118px 0;background:linear-gradient(180deg,#EAF1ED,#F7F9F7)}
.asw-fm-guardrail-head{margin-bottom:42px}
.asw-fm-guardrail-head h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,4.8vw,72px);line-height:.95;letter-spacing:-.048em}
.asw-fm-guardrail-head h2 span{color:var(--asw-green)}
.asw-fm-guardrail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.asw-fm-guardrail{min-height:230px;padding:28px;border:1px solid rgba(4,50,38,.10);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(3,45,31,.05)}
.asw-fm-guardrail>b{color:var(--asw-green);font-size:10px;letter-spacing:.12em}
.asw-fm-guardrail h3{margin:40px 0 10px;color:var(--asw-dark);font-size:18px}
.asw-fm-guardrail p{margin:0;color:#6F7C75;font-size:12px;line-height:1.65}

/* CTA */
.asw-fm-cta{position:relative;overflow:hidden;padding:96px 0;background:#031912;color:#fff}
.asw-fm-cta-beam{position:absolute;right:-20%;top:-65%;width:60%;height:230%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(37,223,124,.06),transparent)}
.asw-fm-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}
.asw-fm-cta h2{margin:0;color:#fff;font-size:clamp(44px,5vw,74px);line-height:.94;letter-spacing:-.05em}
.asw-fm-cta h2 span{color:var(--asw-accent)}
.asw-fm-cta-grid>div:last-child>p{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}

/* responsive */
@media(max-width:1024px){
  .asw-fm-hero-grid,.asw-fm-section-head,.asw-fm-matrix-head,.asw-fm-cta-grid{gap:40px}
  .asw-fm-lab-grid{grid-template-columns:1fr}
  .asw-fm-guardrail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .asw-fm-hero{padding:96px 0 68px;min-height:auto}
  .asw-fm-hero-grid,.asw-fm-section-head,.asw-fm-matrix-head,.asw-fm-matrix-grid,.asw-fm-cta-grid{grid-template-columns:1fr}
  .asw-fm-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-fm-hero-modes{grid-template-columns:1fr 1fr}
  .asw-fm-hero-visual{min-height:470px}
  .asw-fm-visual-frame{width:100%;height:440px}
  .asw-fm-flow{grid-template-columns:1fr}
  .asw-fm-flow:before{display:none}
  .asw-fm-flow-step{display:grid;grid-template-columns:68px 1fr;gap:16px;padding:10px 0}
  .asw-fm-flow-step h3{margin-top:6px}
  .asw-fm-lab{padding:90px 0}
  .asw-fm-lab-panel{grid-template-columns:1fr;min-height:auto}
  .asw-fm-lab-image{height:300px}
  .asw-fm-guardrail-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .asw-fm-scan,.asw-fm-pulse{animation:none!important}
}


/* =========================================================
   v1.8.0 CLEANING — CLEAN MOTION / SURFACE STUDIO
   ========================================================= */

.asw-clean-hero{
  position:relative;overflow:hidden;min-height:88vh;padding:118px 0 86px;
  background:
    radial-gradient(circle at 77% 16%,rgba(37,223,124,.12),transparent 23%),
    linear-gradient(135deg,#F7FAF7 0%,#EEF5F0 55%,#E2EFE7 100%);
  color:var(--asw-dark);
}
.asw-clean-orb{
  position:absolute;border-radius:50%;border:1px solid rgba(10,102,71,.10);pointer-events:none;
}
.asw-clean-orb-a{width:640px;height:640px;right:-280px;top:-300px;box-shadow:0 0 0 80px rgba(10,102,71,.02),0 0 0 160px rgba(37,223,124,.015)}
.asw-clean-orb-b{width:340px;height:340px;left:-200px;bottom:-180px}
.asw-clean-hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:78px;align-items:center
}
.asw-clean-hero h1{
  margin:0 0 28px;color:#102019;font-size:clamp(58px,6.2vw,96px);line-height:.9;letter-spacing:-.057em;font-weight:800
}
.asw-clean-hero h1 span{
  background:linear-gradient(90deg,#0B7B54,#25DF7C,#0B7B54);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:asw-clean-gradient 6s linear infinite
}
@keyframes asw-clean-gradient{to{background-position:200% center}}
.asw-clean-hero-copy>p{max-width:690px;margin:0;color:#57665D;font-size:18px;line-height:1.75}
.asw-clean-mode-rail{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.asw-clean-mode-rail>div{
  min-height:54px;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid rgba(4,50,38,.09);border-radius:16px;background:rgba(255,255,255,.70);box-shadow:0 12px 26px rgba(3,45,31,.04)
}
.asw-clean-mode-rail b{color:var(--asw-green);font-size:10px;letter-spacing:.1em}
.asw-clean-mode-rail span{color:var(--asw-dark);font-size:12px;font-weight:800}
.asw-clean-hero-visual{position:relative;min-height:620px}
.asw-clean-hero-ring{
  position:absolute;right:0;top:0;width:570px;height:570px;border-radius:50%;
  border:1px solid rgba(10,102,71,.14);box-shadow:0 0 0 28px rgba(10,102,71,.025),0 0 0 56px rgba(37,223,124,.012);
  animation:asw-clean-ring 10s ease-in-out infinite alternate
}
@keyframes asw-clean-ring{from{transform:scale(.97)}to{transform:scale(1.025)}}
.asw-clean-hero-image{
  position:absolute;right:34px;top:34px;width:505px;height:505px;border-radius:50%;overflow:hidden;
  box-shadow:0 36px 90px rgba(3,45,31,.16);border:10px solid rgba(255,255,255,.88)
}
.asw-clean-hero-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}
.asw-clean-hero-image:hover img{transform:scale(1.035)}
.asw-clean-stamp{
  position:absolute;z-index:4;left:0;bottom:55px;padding:17px 20px;border-radius:18px;background:#052D21;color:#fff;box-shadow:0 20px 44px rgba(3,45,31,.17)
}
.asw-clean-stamp small{display:block;color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-clean-stamp strong{display:block;margin-top:8px;font-size:14px}

/* Method wheel */
.asw-clean-methods{padding:128px 0;background:#fff}
.asw-clean-method-head{
  display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:50px
}
.asw-clean-method-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-clean-method-head h2 span{color:var(--asw-green)}
.asw-clean-method-head>p{margin:0;color:#68766E;font-size:14px;line-height:1.7}
.asw-clean-wheel-wrap{position:relative;min-height:650px;display:flex;align-items:center;justify-content:center}
.asw-clean-wheel-wrap:before{
  content:"";position:absolute;width:530px;height:530px;border-radius:50%;border:1px dashed rgba(10,102,71,.18);animation:asw-clean-spin 42s linear infinite
}
.asw-clean-wheel-wrap:after{
  content:"";position:absolute;width:385px;height:385px;border-radius:50%;border:1px solid rgba(10,102,71,.10)
}
@keyframes asw-clean-spin{to{transform:rotate(360deg)}}
.asw-clean-wheel-core{
  position:relative;z-index:3;width:220px;height:220px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(145deg,#063A2B,#0A6041);box-shadow:0 28px 70px rgba(3,45,31,.16);color:#fff
}
.asw-clean-wheel-core span{font-size:9px;letter-spacing:.18em;color:var(--asw-accent)}
.asw-clean-wheel-core strong{margin-top:7px;font-size:28px;letter-spacing:-.03em}
.asw-clean-wheel-core em{margin-top:7px;font-style:normal;color:rgba(255,255,255,.58);font-size:11px}
.asw-clean-wheel-card{
  position:absolute;z-index:4;width:255px;min-height:150px;padding:22px;border:1px solid rgba(4,50,38,.09);border-radius:22px;background:#F9FBF9;box-shadow:0 18px 46px rgba(3,45,31,.07)
}
.asw-clean-wheel-card-1{left:4%;top:3%}
.asw-clean-wheel-card-2{right:4%;top:3%}
.asw-clean-wheel-card-3{left:4%;bottom:3%}
.asw-clean-wheel-card-4{right:4%;bottom:3%}
.asw-clean-wheel-card>b{color:var(--asw-green);font-size:10px;letter-spacing:.12em}
.asw-clean-wheel-card h3{margin:26px 0 8px;color:var(--asw-dark);font-size:18px}
.asw-clean-wheel-card p{margin:0;color:#6C7972;font-size:12px;line-height:1.6}

/* Cleaning studio */
.asw-clean-studio{padding:128px 0;background:linear-gradient(180deg,#EDF5F0,#F8FAF8)}
.asw-clean-studio-head{max-width:920px;margin-bottom:48px}
.asw-clean-studio-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-clean-studio-head h2 span{color:var(--asw-green)}
.asw-clean-studio-head>p{margin:17px 0 0;color:#68766E;font-size:14px}
.asw-clean-studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.asw-clean-studio-card{
  overflow:hidden;border-radius:30px;border:1px solid rgba(4,50,38,.09);box-shadow:0 20px 50px rgba(3,45,31,.07)
}
.asw-clean-studio-light{background:#fff;color:var(--asw-dark)}
.asw-clean-studio-dark{background:linear-gradient(135deg,#05291F,#074431);color:#fff;border-color:rgba(255,255,255,.07)}
.asw-clean-studio-media{position:relative;height:360px;overflow:hidden}
.asw-clean-studio-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .75s ease}
.asw-clean-studio-card:hover img{transform:scale(1.03)}
.asw-clean-studio-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(2,24,18,.62))}
.asw-clean-studio-media>span{
  position:absolute;z-index:3;left:20px;bottom:17px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--asw-accent);color:#05261C;font-size:10px;font-weight:900
}
.asw-clean-studio-copy{padding:29px}
.asw-clean-studio-copy small{color:var(--asw-green);font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-clean-studio-dark .asw-clean-studio-copy small{color:var(--asw-accent)}
.asw-clean-studio-copy h3{margin:9px 0 13px;color:inherit;font-size:26px;line-height:1.06;letter-spacing:-.03em}
.asw-clean-studio-copy>p{margin:0;color:#64726A;font-size:13px;line-height:1.7}
.asw-clean-studio-dark .asw-clean-studio-copy>p{color:rgba(255,255,255,.62)}
.asw-clean-studio-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.asw-clean-studio-tags span{padding:8px 10px;border-radius:999px;border:1px solid rgba(4,50,38,.10);background:#F7FAF8;color:var(--asw-green);font-size:9px;font-weight:800}
.asw-clean-studio-dark .asw-clean-studio-tags span{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:#DBF7E6}

/* Surface matrix */
.asw-clean-surfaces{padding:126px 0;background:#0A1712;color:#fff}
.asw-clean-surfaces-head{
  display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:46px
}
.asw-clean-surfaces-head h2{margin:0;color:#fff;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-clean-surfaces-head h2 span{color:var(--asw-accent)}
.asw-clean-surfaces-head>p{margin:0;color:rgba(255,255,255,.57);font-size:14px;line-height:1.7}
.asw-clean-surface-list{border-top:1px solid rgba(255,255,255,.10)}
.asw-clean-surface-row{
  min-height:105px;display:grid;grid-template-columns:70px minmax(240px,.8fr) minmax(280px,1fr) 42px;gap:26px;align-items:center;border-bottom:1px solid rgba(255,255,255,.09);transition:background .25s ease,padding .25s ease
}
.asw-clean-surface-row:hover{padding-inline:14px;background:linear-gradient(90deg,rgba(37,223,124,.07),transparent)}
.asw-clean-surface-row>span{color:var(--asw-accent);font-size:10px;font-weight:900;letter-spacing:.12em}
.asw-clean-surface-row strong{font-size:22px;line-height:1.1;color:#fff}
.asw-clean-surface-row p{margin:0;color:rgba(255,255,255,.53);font-size:12px;line-height:1.65}
.asw-clean-surface-row>b{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.62)
}
.asw-clean-surface-row:hover>b{background:var(--asw-accent);color:#05261C;border-color:var(--asw-accent)}

/* Cleaning guardrails */
.asw-clean-guardrails{padding:116px 0;background:#F6F8F6}
.asw-clean-guard-head{margin-bottom:40px}
.asw-clean-guard-head h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,4.8vw,72px);line-height:.95;letter-spacing:-.048em}
.asw-clean-guard-head h2 span{color:var(--asw-green)}
.asw-clean-guard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.asw-clean-guard{
  min-height:225px;padding:27px;border-radius:24px;border:1px solid rgba(4,50,38,.09);background:#fff;box-shadow:0 15px 36px rgba(3,45,31,.05)
}
.asw-clean-guard>b{color:var(--asw-green);font-size:10px;letter-spacing:.12em}
.asw-clean-guard h3{margin:42px 0 9px;color:var(--asw-dark);font-size:18px}
.asw-clean-guard p{margin:0;color:#6B7971;font-size:12px;line-height:1.65}

/* CTA */
.asw-clean-cta{
  position:relative;overflow:hidden;padding:95px 0;background:linear-gradient(135deg,#E6F2EA,#F7FAF8);color:var(--asw-dark)
}
.asw-clean-cta-wave{
  position:absolute;right:-120px;top:-230px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(10,102,71,.10);box-shadow:0 0 0 70px rgba(10,102,71,.025),0 0 0 140px rgba(37,223,124,.014)
}
.asw-clean-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}
.asw-clean-cta h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,5vw,74px);line-height:.94;letter-spacing:-.05em}
.asw-clean-cta h2 span{color:var(--asw-green)}
.asw-clean-cta-grid>div:last-child>p{margin:0;color:#64726A;font-size:14px;line-height:1.7}
.asw-btn-clean-ghost{
  border:1px solid rgba(4,50,38,.15)!important;background:#fff!important;color:var(--asw-green)!important
}

/* Responsive */
@media(max-width:1024px){
  .asw-clean-hero-grid,.asw-clean-method-head,.asw-clean-surfaces-head,.asw-clean-cta-grid{gap:40px}
  .asw-clean-guard-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .asw-clean-hero{padding:96px 0 68px;min-height:auto}
  .asw-clean-hero-grid,.asw-clean-method-head,.asw-clean-studio-grid,.asw-clean-surfaces-head,.asw-clean-cta-grid{grid-template-columns:1fr}
  .asw-clean-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-clean-hero-visual{min-height:470px}
  .asw-clean-hero-ring{width:420px;height:420px;right:50%;transform:translateX(50%)}
  .asw-clean-hero-image{width:360px;height:360px;right:50%;top:30px;transform:translateX(50%)}
  .asw-clean-stamp{left:18px;bottom:28px}
  .asw-clean-wheel-wrap{min-height:auto;display:grid;grid-template-columns:1fr;gap:12px}
  .asw-clean-wheel-wrap:before,.asw-clean-wheel-wrap:after,.asw-clean-wheel-core{display:none}
  .asw-clean-wheel-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%}
  .asw-clean-studio{padding:90px 0}
  .asw-clean-studio-media{height:300px}
  .asw-clean-surface-row{grid-template-columns:44px 1fr 36px;gap:12px;padding:18px 0}
  .asw-clean-surface-row p{grid-column:2/3}
  .asw-clean-surface-row>b{grid-column:3/4;grid-row:1/3}
  .asw-clean-guard-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .asw-clean-hero h1 span,.asw-clean-hero-ring,.asw-clean-wheel-wrap:before{animation:none!important}
}


/* =========================================================
   v1.9.0 CONSTRUCTION, PROJECTS & CLIENTS
   BLUEPRINT / SITE LEDGER / EVIDENCE WALL
   ========================================================= */

.asw-build-hero{
  position:relative;overflow:hidden;min-height:89vh;padding:122px 0 86px;
  background:#EDEBE3;color:#102019;
}
.asw-build-blueprint{
  position:absolute;inset:0;opacity:.18;pointer-events:none;
  background-image:
    linear-gradient(rgba(8,74,52,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,74,52,.10) 1px,transparent 1px),
    linear-gradient(rgba(8,74,52,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,74,52,.045) 1px,transparent 1px);
  background-size:80px 80px,80px 80px,16px 16px,16px 16px;
}
.asw-build-axis{position:absolute;background:#0B8057;opacity:.25}
.asw-build-axis-a{left:7%;top:0;width:1px;height:100%}
.asw-build-axis-b{left:0;top:21%;height:1px;width:100%}
.asw-build-hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:72px;align-items:center
}
.asw-build-hero h1{
  margin:0 0 28px;font-size:clamp(58px,6vw,92px);line-height:.91;letter-spacing:-.055em;color:#102019;font-weight:800
}
.asw-build-hero h1 span{color:var(--asw-green)}
.asw-build-hero-copy>p{max-width:700px;margin:0;color:#58675E;font-size:18px;line-height:1.74}
.asw-build-packages{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:34px}
.asw-build-packages>div{
  min-height:58px;display:flex;align-items:center;gap:12px;padding:0 14px;background:rgba(255,255,255,.72);border:1px solid rgba(4,50,38,.10);box-shadow:0 8px 24px rgba(3,45,31,.04)
}
.asw-build-packages b{color:var(--asw-green);font-size:10px;letter-spacing:.12em}
.asw-build-packages span{font-size:12px;font-weight:800;color:#17231D}
.asw-build-hero-media{position:relative;min-height:620px}
.asw-build-hero-frame{
  position:absolute;right:0;top:20px;width:88%;height:555px;overflow:hidden;background:#fff;border:1px solid rgba(4,50,38,.12);padding:12px;box-shadow:0 30px 80px rgba(3,45,31,.13)
}
.asw-build-hero-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
.asw-build-datum{
  position:absolute;z-index:4;left:0;bottom:54px;max-width:340px;padding:17px 19px;background:#06291E;color:#fff;border-left:4px solid var(--asw-accent)
}
.asw-build-datum span{display:block;color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-build-datum strong{display:block;margin-top:8px;font-size:11px;line-height:1.55;letter-spacing:.04em}
.asw-build-measure{
  position:absolute;right:0;bottom:14px;color:#577068;font-size:9px;font-weight:900;letter-spacing:.13em
}

/* scope */
.asw-build-scope{padding:130px 0;background:#fff}
.asw-build-scope-head{
  display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:48px
}
.asw-build-scope-head h2{margin:0;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em;color:var(--asw-dark)}
.asw-build-scope-head h2 span{color:var(--asw-green)}
.asw-build-scope-head>p{margin:0;color:#68766E;font-size:13px;line-height:1.7}
.asw-build-scope-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}
.asw-build-scope-media{position:relative;min-height:580px;overflow:hidden;background:#EAEFEA}
.asw-build-scope-media img{width:100%;height:100%;min-height:580px;object-fit:cover;display:block;transition:transform .75s ease}
.asw-build-scope-media:hover img{transform:scale(1.025)}
.asw-build-scope-label{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:rgba(3,31,23,.88);color:#fff;font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-build-scope-list{border-top:1px solid rgba(4,50,38,.12)}
.asw-build-scope-row{display:grid;grid-template-columns:65px 1fr;gap:14px;padding:25px 2px;border-bottom:1px solid rgba(4,50,38,.11)}
.asw-build-scope-row>span{color:var(--asw-green);font-size:10px;font-weight:900;letter-spacing:.12em}
.asw-build-scope-row h3{margin:0 0 7px;color:var(--asw-dark);font-size:20px}
.asw-build-scope-row p{margin:0;color:#6A7870;font-size:12px;line-height:1.65}

/* finishing */
.asw-build-finish{position:relative;overflow:hidden;padding:126px 0;background:#091510;color:#fff}
.asw-build-finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.asw-build-finish h2{margin:0;color:#fff;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-build-finish h2 span{color:var(--asw-accent)}
.asw-build-finish-copy>p{max-width:650px;margin:23px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.72}
.asw-build-finish-rail{margin-top:32px;border-top:1px solid rgba(255,255,255,.10)}
.asw-build-finish-rail>div{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.asw-build-finish-rail b{color:var(--asw-accent);font-size:9px;letter-spacing:.11em}
.asw-build-finish-rail span{font-size:12px;font-weight:800;color:rgba(255,255,255,.82)}
.asw-build-finish-media{position:relative;padding:28px 0 0 34px}
.asw-build-finish-media img{width:100%;height:560px;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.09);box-shadow:0 34px 80px rgba(0,0,0,.28)}
.asw-build-finish-sheet{
  position:absolute;z-index:4;left:0;top:0;width:140px;height:90px;border:1px solid rgba(37,223,124,.32);background:#061F17;display:flex;align-items:center;justify-content:center
}
.asw-build-finish-sheet span{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--asw-accent)}

/* epoxy */
.asw-build-epoxy{padding:132px 0;background:#F1EFE8}
.asw-build-epoxy-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:48px}
.asw-build-epoxy-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-build-epoxy-head h2 span{color:var(--asw-green)}
.asw-build-epoxy-head>p{margin:0;color:#68766E;font-size:14px;line-height:1.7}
.asw-build-epoxy-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px}
.asw-build-epoxy-media{position:relative;min-height:560px;overflow:hidden}
.asw-build-epoxy-media img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block}
.asw-build-epoxy-note{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 15px;background:rgba(3,31,23,.88);color:#fff;font-size:10px;line-height:1.5}
.asw-build-epoxy-steps{display:grid;gap:12px}
.asw-build-epoxy-step{padding:24px;border:1px solid rgba(4,50,38,.10);background:#fff;box-shadow:0 13px 30px rgba(3,45,31,.04)}
.asw-build-epoxy-step>b{color:var(--asw-green);font-size:10px;letter-spacing:.11em}
.asw-build-epoxy-step h3{margin:20px 0 7px;font-size:19px;color:var(--asw-dark)}
.asw-build-epoxy-step p{margin:0;color:#6B7971;font-size:12px;line-height:1.65}
.asw-build-epoxy-caution{padding:15px 17px;background:#0A2D21;color:#D8F3E3;font-size:10px;line-height:1.6;border-left:4px solid var(--asw-accent)}

/* environments */
.asw-build-environments{padding:126px 0;background:#0B1712;color:#fff}
.asw-build-env-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:44px}
.asw-build-env-head h2{margin:0;color:#fff;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-build-env-head h2 span{color:var(--asw-accent)}
.asw-build-env-head>p{margin:0;color:rgba(255,255,255,.58);font-size:14px;line-height:1.7}
.asw-build-env-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px}
.asw-build-env-image{min-height:500px;overflow:hidden}
.asw-build-env-image img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.asw-build-env-list{border-top:1px solid rgba(255,255,255,.10)}
.asw-build-env-row{min-height:94px;display:grid;grid-template-columns:58px 1fr 38px;gap:15px;align-items:center;border-bottom:1px solid rgba(255,255,255,.09);transition:padding .25s ease,background .25s ease}
.asw-build-env-row:hover{padding-inline:12px;background:linear-gradient(90deg,rgba(37,223,124,.07),transparent)}
.asw-build-env-row span{color:var(--asw-accent);font-size:10px;font-weight:900;letter-spacing:.11em}
.asw-build-env-row strong{font-size:17px;color:#fff}
.asw-build-env-row b{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.65)}
.asw-build-env-note{margin:18px 0 0;color:rgba(255,255,255,.42);font-size:10px;line-height:1.6}

/* clients */
.asw-build-clients{padding:124px 0;background:#F7F9F7}
.asw-build-client-head{max-width:930px;margin-bottom:44px}
.asw-build-client-head h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,4.8vw,72px);line-height:.95;letter-spacing:-.048em}
.asw-build-client-head h2 span{color:var(--asw-green)}
.asw-build-client-head>p{max-width:760px;margin:18px 0 0;color:#6A7870;font-size:12px;line-height:1.65}
.asw-build-client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.asw-build-client{position:relative;min-height:260px;padding:18px;border:1px solid rgba(4,50,38,.09);background:#fff;box-shadow:0 18px 44px rgba(3,45,31,.05)}
.asw-build-client-num{position:absolute;right:15px;top:10px;font-size:46px;font-weight:800;color:#EEF4F0;letter-spacing:-.05em}
.asw-build-client-logo{position:relative;z-index:2;height:150px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid rgba(4,50,38,.07)}
.asw-build-client-logo-light{background:#F8FAF8}
.asw-build-client-logo-dark{background:linear-gradient(135deg,#043226,#07523B)}
.asw-build-client-logo img{max-width:190px;max-height:82px;object-fit:contain}
.asw-build-client-logo span{font-size:10px;letter-spacing:.15em;color:#8E9D95;font-weight:900}
.asw-build-client>strong{position:relative;z-index:2;display:block;margin-top:17px;color:var(--asw-dark);font-size:15px;line-height:1.35}

/* evidence */
.asw-build-evidence{padding:128px 0;background:#EFECE4}
.asw-build-evidence-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:44px}
.asw-build-evidence-head h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,4.9vw,74px);line-height:.95;letter-spacing:-.05em}
.asw-build-evidence-head h2 span{color:var(--asw-green)}
.asw-build-evidence-head>p{margin:0;color:#68766E;font-size:12px;line-height:1.7}
.asw-build-evidence-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.asw-build-evidence-card{position:relative;margin:0;overflow:hidden;background:#fff;border:1px solid rgba(4,50,38,.09)}
.asw-build-evidence-card img{width:100%;height:420px;object-fit:cover;display:block;transition:transform .7s ease}
.asw-build-evidence-card:hover img{transform:scale(1.025)}
.asw-build-evidence-card figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:13px 15px;background:rgba(3,31,23,.86);display:flex;align-items:center;gap:12px;color:#fff}
.asw-build-evidence-card figcaption span{color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.11em}
.asw-build-evidence-card figcaption strong{font-size:11px}
.asw-build-why{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(4,50,38,.10)}
.asw-build-why span{min-height:76px;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;background:#fff;color:var(--asw-green);font-size:9px;font-weight:900;letter-spacing:.08em}

/* CTA */
.asw-build-cta{position:relative;overflow:hidden;padding:96px 0;background:#031912;color:#fff}
.asw-build-cta-gridlines{position:absolute;inset:0;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px}
.asw-build-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:end}
.asw-build-cta h2{margin:0;color:#fff;font-size:clamp(44px,5vw,74px);line-height:.94;letter-spacing:-.05em}
.asw-build-cta h2 span{color:var(--asw-accent)}
.asw-build-cta-inner>div:last-child>p{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}

/* Responsive */
@media(max-width:1024px){
  .asw-build-hero-grid,.asw-build-scope-head,.asw-build-epoxy-head,.asw-build-env-head,.asw-build-evidence-head,.asw-build-cta-inner{gap:40px}
}
@media(max-width:767px){
  .asw-build-hero{padding:96px 0 68px;min-height:auto}
  .asw-build-hero-grid,.asw-build-scope-head,.asw-build-scope-grid,.asw-build-finish-grid,.asw-build-epoxy-head,.asw-build-epoxy-grid,.asw-build-env-head,.asw-build-env-grid,.asw-build-evidence-head,.asw-build-evidence-grid,.asw-build-cta-inner{grid-template-columns:1fr}
  .asw-build-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-build-packages{grid-template-columns:1fr}
  .asw-build-hero-media{min-height:470px}
  .asw-build-hero-frame{width:100%;height:430px}
  .asw-build-finish{padding:90px 0}
  .asw-build-finish-media img{height:430px}
  .asw-build-client-grid{grid-template-columns:1fr}
  .asw-build-evidence-card img{height:320px}
  .asw-build-why{grid-template-columns:1fr 1fr}
}


/* =========================================================
   v2.0.0 CONTACT / RFQ — CONCIERGE / CONTACT DESK
   ========================================================= */

.asw-contact-hero{
  position:relative;overflow:hidden;min-height:82vh;padding:126px 0 92px;
  background:
    radial-gradient(circle at var(--asw-mx,78%) var(--asw-my,18%),rgba(37,223,124,.14),transparent 24%),
    linear-gradient(135deg,#021B14 0%,#043327 58%,#07513A 100%);
  color:#fff;
}
.asw-contact-orbit{
  position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06);pointer-events:none
}
.asw-contact-orbit-a{width:690px;height:690px;right:-330px;top:-360px;box-shadow:0 0 0 85px rgba(255,255,255,.012),0 0 0 170px rgba(37,223,124,.009)}
.asw-contact-orbit-b{width:300px;height:300px;left:-170px;bottom:-180px}
.asw-contact-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:86px;align-items:center}
.asw-contact-hero h1{margin:0 0 28px;color:#fff;font-size:clamp(58px,6.3vw,96px);line-height:.9;letter-spacing:-.057em;font-weight:800}
.asw-contact-hero h1 span{color:var(--asw-accent);text-shadow:0 0 45px rgba(37,223,124,.16)}
.asw-contact-hero-copy>p{max-width:720px;margin:0;color:rgba(255,255,255,.72);font-size:18px;line-height:1.75}
.asw-contact-service-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.asw-contact-service-line span{padding:8px 11px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.70);font-size:9px;font-weight:800;letter-spacing:.05em}
.asw-contact-hero-desk{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(1,20,15,.58);box-shadow:0 36px 90px rgba(0,0,0,.24);backdrop-filter:blur(14px)}
.asw-contact-desk-top{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.asw-contact-desk-top small{color:var(--asw-accent);font-size:9px;font-weight:900;letter-spacing:.16em}
.asw-contact-desk-top b{font-size:42px;color:rgba(255,255,255,.10);letter-spacing:-.05em}
.asw-contact-hero-desk>a,.asw-contact-desk-location{
  min-height:88px;display:grid;grid-template-columns:86px 1fr 32px;gap:12px;align-items:center;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none;color:#fff;transition:background .22s ease,padding .22s ease
}
.asw-contact-hero-desk>a:hover{background:rgba(37,223,124,.07);padding-inline:27px}
.asw-contact-hero-desk>a>span,.asw-contact-desk-location>span{color:rgba(255,255,255,.38);font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-contact-hero-desk>a>strong,.asw-contact-desk-location>strong{font-size:14px;color:#fff;word-break:break-word}
.asw-contact-hero-desk>a>em{font-style:normal;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.06);color:var(--asw-accent)}
.asw-contact-desk-location{grid-template-columns:86px 1fr}
.asw-contact-desk-status{display:flex;align-items:center;gap:9px;padding:18px 22px;color:rgba(255,255,255,.54);font-size:10px}
.asw-contact-desk-status i{width:8px;height:8px;border-radius:50%;background:var(--asw-accent);box-shadow:0 0 14px rgba(37,223,124,.45)}

/* Routes */
.asw-contact-routes{padding:124px 0;background:#F3F6F3}
.asw-contact-routes-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:46px}
.asw-contact-routes-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-contact-routes-head h2 span{color:var(--asw-green)}
.asw-contact-routes-head>p{margin:0;color:#68766E;font-size:14px;line-height:1.7}
.asw-contact-route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.asw-contact-route{position:relative;min-height:290px;padding:24px;border:1px solid rgba(4,50,38,.09);background:#fff;text-decoration:none;color:var(--asw-dark);box-shadow:0 16px 40px rgba(3,45,31,.05);transition:transform .25s ease,box-shadow .25s ease}
.asw-contact-route:hover{transform:translateY(-5px);box-shadow:0 28px 62px rgba(3,45,31,.10)}
.asw-contact-route-green{background:linear-gradient(145deg,#063C2C,#07563D);color:#fff;border-color:rgba(255,255,255,.08)}
.asw-contact-route>b{position:absolute;right:18px;top:13px;color:#EEF4F0;font-size:48px;letter-spacing:-.05em}
.asw-contact-route-green>b{color:rgba(255,255,255,.09)}
.asw-contact-route-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#EAF5EE;color:var(--asw-green);font-size:18px}
.asw-contact-route-green .asw-contact-route-icon{background:rgba(37,223,124,.12);color:var(--asw-accent)}
.asw-contact-route small{display:block;margin-top:46px;color:#829088;font-size:9px;font-weight:900;letter-spacing:.13em}
.asw-contact-route-green small{color:rgba(255,255,255,.42)}
.asw-contact-route strong{display:block;margin-top:9px;font-size:17px;line-height:1.35;color:inherit;word-break:break-word}
.asw-contact-route>span{display:block;margin-top:25px;color:var(--asw-green);font-size:10px;font-weight:900}
.asw-contact-route-green>span{color:var(--asw-accent)}

/* RFQ */
.asw-contact-quote{padding:130px 0;background:#0A1511;color:#fff}
.asw-contact-quote-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:start}
.asw-contact-quote-guide{position:sticky;top:125px}
.asw-contact-quote-guide h2{margin:0;color:#fff;font-size:clamp(48px,5.2vw,78px);line-height:.93;letter-spacing:-.052em}
.asw-contact-quote-guide h2 span{color:var(--asw-accent)}
.asw-contact-quote-guide>p{max-width:540px;margin:22px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.72}
.asw-contact-brief{margin-top:34px;border-top:1px solid rgba(255,255,255,.09)}
.asw-contact-brief>div{display:grid;grid-template-columns:46px 84px 1fr;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.asw-contact-brief b{color:var(--asw-accent);font-size:9px;letter-spacing:.11em}
.asw-contact-brief span{color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}
.asw-contact-brief small{color:rgba(255,255,255,.46);font-size:10px;line-height:1.45}
.asw-contact-privacy{margin-top:22px;padding:14px 16px;border-left:3px solid var(--asw-accent);background:rgba(37,223,124,.045);color:rgba(255,255,255,.50);font-size:10px;line-height:1.6}
.asw-contact-form-card{overflow:hidden;border-radius:28px;background:#F5F7F4;color:var(--asw-dark);box-shadow:0 35px 85px rgba(0,0,0,.25)}
.asw-contact-form-top{min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#E9EFEB;border-bottom:1px solid rgba(4,50,38,.09)}
.asw-contact-form-top small{display:block;color:#78877F;font-size:9px;font-weight:900;letter-spacing:.12em}
.asw-contact-form-top strong{display:block;margin-top:5px;color:var(--asw-dark);font-size:13px;letter-spacing:.05em}
.asw-contact-form-top>span{color:var(--asw-green);font-size:10px;font-weight:900;letter-spacing:.15em}
.asw-contact-form{padding:29px}
.asw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.asw-contact-form label{display:block}
.asw-contact-form label>span{display:block;margin-bottom:8px;color:#65736B;font-size:8.5px;font-weight:900;letter-spacing:.105em}
.asw-contact-form input,.asw-contact-form select,.asw-contact-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #D7E1DB;border-radius:13px;background:#fff;color:#17231D;font:inherit;font-size:13px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease
}
.asw-contact-form input,.asw-contact-form select{height:51px;padding:0 14px}
.asw-contact-form textarea{padding:14px;resize:vertical;min-height:150px}
.asw-contact-form input:focus,.asw-contact-form select:focus,.asw-contact-form textarea:focus{border-color:rgba(10,128,87,.55);box-shadow:0 0 0 4px rgba(37,223,124,.08)}
.asw-form-full{grid-column:1/-1}
.asw-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.asw-form-submit-row{margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.asw-form-submit-row button{
  min-height:52px;border:0;border-radius:999px;padding:0 19px 0 22px;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--asw-accent),#6AF1A6);color:#062318;font-size:10px;font-weight:900;letter-spacing:.07em;cursor:pointer;box-shadow:0 12px 28px rgba(37,223,124,.16)
}
.asw-form-submit-row button b{width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(6,35,24,.09)}
.asw-form-submit-row button[disabled]{opacity:.62;cursor:wait}
.asw-form-status{min-height:22px;color:#53645B;font-size:11px;line-height:1.5}
.asw-form-status.is-success{color:#0C704D}
.asw-form-status.is-error{color:#A13B2A}

/* Map */
.asw-contact-map{padding:126px 0;background:#EEF3EF}
.asw-contact-map-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:68px;align-items:center}
.asw-contact-map-copy h2{margin:0;color:var(--asw-dark);font-size:clamp(44px,4.8vw,72px);line-height:.95;letter-spacing:-.048em}
.asw-contact-map-copy h2 span{color:var(--asw-green)}
.asw-contact-map-copy>p{max-width:540px;margin:20px 0 0;color:#68766E;font-size:13px;line-height:1.7}
.asw-contact-map-link{display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:var(--asw-green);text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.10em}
.asw-contact-map-link b{width:31px;height:31px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1px solid rgba(4,50,38,.10)}
.asw-contact-map-frame{position:relative;min-height:520px;padding:12px;border-radius:32px;background:#fff;border:1px solid rgba(4,50,38,.09);box-shadow:0 24px 60px rgba(3,45,31,.08)}
.asw-contact-map-frame iframe{display:block;width:100%;height:496px;border:0;border-radius:22px;filter:saturate(.65) contrast(.96)}
.asw-contact-map-badge{position:absolute;left:30px;bottom:30px;padding:14px 17px;border-radius:14px;background:rgba(3,37,27,.90);color:#fff;backdrop-filter:blur(8px)}
.asw-contact-map-badge span{display:block;color:var(--asw-accent);font-size:8px;font-weight:900;letter-spacing:.13em}
.asw-contact-map-badge strong{display:block;margin-top:6px;font-size:12px}

/* Closing */
.asw-contact-closing{position:relative;overflow:hidden;padding:100px 0;background:linear-gradient(135deg,#021A13,#043B2C);color:#fff}
.asw-contact-closing-sweep{position:absolute;right:-10%;top:-100%;width:54%;height:300%;transform:rotate(19deg);background:linear-gradient(90deg,transparent,rgba(37,223,124,.06),transparent)}
.asw-contact-closing-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}
.asw-contact-closing h2{margin:0;color:#fff;font-size:clamp(48px,5.5vw,82px);line-height:.92;letter-spacing:-.055em}
.asw-contact-closing h2 span{color:var(--asw-accent)}
.asw-contact-closing-grid>div:last-child>p{margin:0;color:rgba(255,255,255,.58);font-size:14px;line-height:1.7}
.asw-contact-closing-grid>div:last-child>a{display:inline-flex;align-items:center;gap:14px;margin-top:22px;color:#fff;text-decoration:none;font-size:20px;font-weight:800}
.asw-contact-closing-grid>div:last-child>a b{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--asw-accent);color:#05261C;font-size:13px}

/* RTL */
html[dir="rtl"] .asw-contact-brief>div{grid-template-columns:46px 84px 1fr}
html[dir="rtl"] .asw-contact-privacy{border-left:0;border-right:3px solid var(--asw-accent)}

/* Responsive */
@media(max-width:1024px){
  .asw-contact-hero-grid,.asw-contact-routes-head,.asw-contact-quote-grid,.asw-contact-map-grid,.asw-contact-closing-grid{gap:42px}
  .asw-contact-route-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .asw-contact-hero{padding:96px 0 68px;min-height:auto}
  .asw-contact-hero-grid,.asw-contact-routes-head,.asw-contact-quote-grid,.asw-contact-map-grid,.asw-contact-closing-grid{grid-template-columns:1fr}
  .asw-contact-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-contact-route-grid{grid-template-columns:1fr}
  .asw-contact-route{min-height:235px}
  .asw-contact-quote{padding:90px 0}
  .asw-contact-quote-guide{position:relative;top:auto}
  .asw-form-grid{grid-template-columns:1fr}
  .asw-form-full{grid-column:auto}
  .asw-form-submit-row{grid-template-columns:1fr}
  .asw-form-submit-row button{justify-content:center}
  .asw-contact-map{padding:90px 0}
  .asw-contact-map-frame{min-height:400px}
  .asw-contact-map-frame iframe{height:376px}
}


/* =========================================================
   v2.1.0 GALLERY — VISUAL ARCHIVE / CINEMATIC MOSAIC
   ========================================================= */

.asw-gallery-hero{
  position:relative;overflow:hidden;min-height:84vh;padding:122px 0 88px;
  background:
    radial-gradient(circle at 80% 15%,rgba(37,223,124,.11),transparent 24%),
    linear-gradient(135deg,#07110E 0%,#09261D 52%,#0A4632 100%);
  color:#fff;
}
.asw-gallery-hero-gridlines{
  position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:74px 74px;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 78%);
  mask-image:linear-gradient(90deg,#000 0%,transparent 78%);
}
.asw-gallery-hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:74px;align-items:center
}
.asw-gallery-hero h1{
  margin:0 0 28px;color:#fff;font-size:clamp(58px,6vw,92px);line-height:.91;letter-spacing:-.055em;font-weight:800
}
.asw-gallery-hero h1 span{color:var(--asw-accent)}
.asw-gallery-hero-copy>p{max-width:650px;margin:0;color:rgba(255,255,255,.68);font-size:17px;line-height:1.75}
.asw-gallery-hero-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:31px}
.asw-gallery-hero-index span{padding:8px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;color:rgba(255,255,255,.62);font-size:8.5px;font-weight:900;letter-spacing:.08em}
.asw-gallery-film{position:relative;min-height:650px}
.asw-gallery-film figure{position:absolute;margin:0;overflow:hidden;border:10px solid rgba(255,255,255,.92);background:#fff;box-shadow:0 34px 80px rgba(0,0,0,.25)}
.asw-gallery-film figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.asw-gallery-film figure:hover img{transform:scale(1.035)}
.asw-gallery-film-a{left:4%;top:0;width:57%;height:410px;transform:rotate(-3deg)}
.asw-gallery-film-b{right:0;top:74px;width:47%;height:350px;transform:rotate(4deg)}
.asw-gallery-film-c{left:24%;bottom:0;width:53%;height:300px;transform:rotate(1.5deg)}
.asw-gallery-film-label{position:absolute;z-index:5;right:6%;bottom:28px;padding:15px 18px;border-left:4px solid var(--asw-accent);background:rgba(2,25,18,.90);color:#fff}
.asw-gallery-film-label small{display:block;color:var(--asw-accent);font-size:8px;font-weight:900;letter-spacing:.14em}
.asw-gallery-film-label strong{display:block;margin-top:6px;font-size:11px;letter-spacing:.08em}

/* Archive */
.asw-gallery-archive{padding:128px 0;background:#F1F3EE}
.asw-gallery-archive-head{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end;margin-bottom:42px}
.asw-gallery-archive-head h2{margin:0;color:var(--asw-dark);font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.05em}
.asw-gallery-archive-head h2 span{color:var(--asw-green)}
.asw-gallery-archive-head>p{margin:0;color:#68766E;font-size:13px;line-height:1.7}
.asw-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid rgba(4,50,38,.12)}
.asw-gallery-filters{display:flex;flex-wrap:wrap;gap:7px}
.asw-gallery-filters button{
  min-height:38px;padding:0 13px;border:1px solid rgba(4,50,38,.10);border-radius:999px;background:#fff;color:#58675E;font-size:8.5px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease
}
.asw-gallery-filters button:hover,.asw-gallery-filters button.is-active{background:#073D2D;color:#fff;border-color:#073D2D}
.asw-gallery-view-label{display:flex;align-items:center;gap:9px;color:#75847C;font-size:8.5px;font-weight:900;letter-spacing:.12em;white-space:nowrap}
.asw-gallery-view-label span{width:32px;height:1px;background:var(--asw-accent)}

.asw-gallery-mosaic{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:56px;
  gap:12px;
}
.asw-gallery-tile{position:relative;margin:0;grid-column:span 4;grid-row:span 5;overflow:hidden;background:#DCE4DF}
.asw-gallery-tile.asw-gallery-wide{grid-column:span 8;grid-row:span 6}
.asw-gallery-tile.asw-gallery-tall{grid-column:span 4;grid-row:span 8}
.asw-gallery-tile.asw-gallery-feature{grid-column:span 6;grid-row:span 7}
.asw-gallery-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.asw-gallery-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.asw-gallery-tile:hover .asw-gallery-open img{transform:scale(1.035);filter:saturate(1.05)}
.asw-gallery-tile-overlay{
  position:absolute;left:12px;right:12px;bottom:12px;min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:rgba(3,31,23,.83);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff;transform:translateY(8px);opacity:.88;transition:transform .25s ease,opacity .25s ease
}
.asw-gallery-tile:hover .asw-gallery-tile-overlay{transform:none;opacity:1}
.asw-gallery-tile-overlay small{color:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
.asw-gallery-tile-overlay b{color:var(--asw-accent);font-size:8px;letter-spacing:.09em}
.asw-gallery-tile figcaption{display:none}
.asw-gallery-tile.is-filter-hidden,.asw-gallery-tile.is-load-hidden{display:none!important}

.asw-gallery-more-wrap{display:flex;justify-content:center;margin-top:34px}
.asw-gallery-more{
  min-height:48px;padding:0 16px 0 20px;border:1px solid rgba(4,50,38,.12);border-radius:999px;background:#fff;color:var(--asw-green);display:flex;align-items:center;gap:12px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer;box-shadow:0 12px 28px rgba(3,45,31,.05)
}
.asw-gallery-more b{width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#EAF5EE}
.asw-gallery-more.is-hidden{display:none}
.asw-gallery-note{margin-top:54px;display:grid;grid-template-columns:120px 1fr;gap:26px;padding-top:24px;border-top:1px solid rgba(4,50,38,.11)}
.asw-gallery-note span{color:var(--asw-green);font-size:9px;font-weight:900;letter-spacing:.12em}
.asw-gallery-note p{max-width:850px;margin:0;color:#6D7A73;font-size:11px;line-height:1.7}

/* Lightbox */
.asw-gallery-lightbox{
  position:fixed;z-index:100000;inset:0;display:none;align-items:center;justify-content:center;padding:54px 78px;background:rgba(1,13,10,.94);backdrop-filter:blur(12px)
}
.asw-gallery-lightbox.is-open{display:flex}
body.asw-gallery-lightbox-open{overflow:hidden!important}
.asw-gallery-lightbox-stage{position:relative;max-width:min(1280px,84vw);max-height:84vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.asw-gallery-lightbox-stage img{display:block;max-width:100%;max-height:76vh;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.asw-gallery-lightbox-meta{width:100%;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff}
.asw-gallery-lightbox-meta small{color:var(--asw-accent);font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.asw-gallery-lightbox-meta strong{color:rgba(255,255,255,.68);font-size:11px;font-weight:700}
.asw-gallery-lightbox-close,.asw-gallery-lightbox-prev,.asw-gallery-lightbox-next{
  position:absolute;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer
}
.asw-gallery-lightbox-close{right:24px;top:24px;width:46px;height:46px;border-radius:50%;font-size:24px}
.asw-gallery-lightbox-prev,.asw-gallery-lightbox-next{top:50%;width:48px;height:48px;border-radius:50%;transform:translateY(-50%);font-size:18px}
.asw-gallery-lightbox-prev{left:20px}
.asw-gallery-lightbox-next{right:20px}
.asw-gallery-lightbox-close:hover,.asw-gallery-lightbox-prev:hover,.asw-gallery-lightbox-next:hover{background:var(--asw-accent);color:#05261C;border-color:var(--asw-accent)}

/* CTA */
.asw-gallery-cta{position:relative;overflow:hidden;padding:98px 0;background:#041B14;color:#fff}
.asw-gallery-cta-reel{
  position:absolute;left:-5%;right:-5%;top:20px;height:30px;opacity:.12;
  background:repeating-linear-gradient(90deg,#fff 0 30px,transparent 30px 42px);
  transform:rotate(-1.5deg)
}
.asw-gallery-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:65px;align-items:end}
.asw-gallery-cta h2{margin:0;color:#fff;font-size:clamp(46px,5.1vw,76px);line-height:.94;letter-spacing:-.052em}
.asw-gallery-cta h2 span{color:var(--asw-accent)}
.asw-gallery-cta-grid>div:last-child>p{margin:0;color:rgba(255,255,255,.60);font-size:14px;line-height:1.7}

/* RTL */
html[dir="rtl"] .asw-gallery-tile-overlay{text-align:right}
html[dir="rtl"] .asw-gallery-note{grid-template-columns:1fr 120px}
html[dir="rtl"] .asw-gallery-note span{grid-column:2/3;grid-row:1}
html[dir="rtl"] .asw-gallery-note p{grid-column:1/2;grid-row:1}

/* Responsive */
@media(max-width:1024px){
  .asw-gallery-hero-grid,.asw-gallery-archive-head,.asw-gallery-cta-grid{gap:42px}
  .asw-gallery-mosaic{grid-template-columns:repeat(8,minmax(0,1fr))}
  .asw-gallery-tile{grid-column:span 4}
  .asw-gallery-tile.asw-gallery-wide{grid-column:span 8}
  .asw-gallery-tile.asw-gallery-feature{grid-column:span 4}
}
@media(max-width:767px){
  .asw-gallery-hero{padding:96px 0 70px;min-height:auto}
  .asw-gallery-hero-grid,.asw-gallery-archive-head,.asw-gallery-cta-grid{grid-template-columns:1fr}
  .asw-gallery-hero h1{font-size:clamp(46px,13vw,64px)}
  .asw-gallery-film{min-height:510px}
  .asw-gallery-film-a{width:68%;height:300px}
  .asw-gallery-film-b{width:52%;height:260px}
  .asw-gallery-film-c{left:15%;width:66%;height:235px}
  .asw-gallery-archive{padding:90px 0}
  .asw-gallery-toolbar{align-items:flex-start;flex-direction:column}
  .asw-gallery-view-label{display:none}
  .asw-gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:auto}
  .asw-gallery-tile,.asw-gallery-tile.asw-gallery-wide,.asw-gallery-tile.asw-gallery-tall,.asw-gallery-tile.asw-gallery-feature{grid-column:auto;grid-row:auto;height:300px}
  .asw-gallery-tile.asw-gallery-tall{height:430px}
  .asw-gallery-note{grid-template-columns:1fr;gap:10px}
  html[dir="rtl"] .asw-gallery-note span,html[dir="rtl"] .asw-gallery-note p{grid-column:auto;grid-row:auto}
  .asw-gallery-lightbox{padding:70px 14px 30px}
  .asw-gallery-lightbox-stage{max-width:100%;max-height:86vh}
  .asw-gallery-lightbox-stage img{max-height:72vh}
  .asw-gallery-lightbox-prev{left:8px}
  .asw-gallery-lightbox-next{right:8px}
  .asw-gallery-lightbox-close{right:12px;top:12px}
}


/* =========================================================
   v2.1.2 — MOBILE ACCEPTANCE HOTFIX
   Fixes:
   1) horizontal document drift / white side area
   2) profile download section staying two-column on phones
   3) mobile header actions overflowing off-screen
   4) footer excessive height / weak mobile grouping
   5) general mobile media containment
   ========================================================= */

/* Hard stop for accidental horizontal page scrolling */
html,
body,
#page,
.site{
  width:100%;
  max-width:100%;
  overflow-x:clip!important;
}
@supports not (overflow:clip){
  html,
  body,
  #page,
  .site{overflow-x:hidden!important}
}

/* The original full-bleed 100vw breakout can create a sideways document
   on narrow Android/Elementor layouts. Keep desktop unchanged; normalize mobile. */
@media(max-width:767px){
  body.elementor-page,
  body.elementor-page #page,
  body.elementor-page .site,
  body.elementor-page #content,
  body.elementor-page .site-content,
  body.elementor-page .content-area,
  body.elementor-page main.site-main,
  body.elementor-page .page-content,
  .elementor,
  .elementor-section-wrap,
  .elementor-location-header,
  .elementor-location-footer{
    width:100%!important;
    max-width:100%!important;
    overflow-x:clip!important;
  }

  .asw{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-inline:0!important;
  }

  .asw img,
  .asw video,
  .asw iframe,
  .asw svg{
    max-width:100%;
  }

  .asw-shell{
    width:calc(100% - 32px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-inline:auto!important;
  }
}

/* ===== Mobile header: logo + language + hamburger must always fit ===== */
@media(max-width:767px){
  .asw-site-header{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .asw-header-shell{
    width:calc(100% - 20px)!important;
    max-width:100%!important;
    min-height:68px!important;
    grid-template-columns:minmax(76px,1fr) auto!important;
    gap:8px!important;
  }

  .asw-brand{
    min-width:0!important;
    max-width:92px!important;
    gap:0!important;
  }

  .asw-brand-mark{
    flex:0 0 84px!important;
    width:84px!important;
    height:48px!important;
  }

  .asw-brand-text{
    display:none!important;
  }

  .asw-header-actions{
    min-width:0!important;
    max-width:100%!important;
    gap:7px!important;
    justify-content:flex-end!important;
  }

  /* Direct call remains available in mobile menu; do not crowd sticky bar. */
  .asw-header-phone,
  .asw-header-quote{
    display:none!important;
  }

  .asw-lang{
    min-width:0!important;
    max-width:78px!important;
    flex:0 1 78px!important;
  }

  .asw-lang .gt_float_switcher,
  .asw-lang .gt_float_switcher .gt-selected,
  .asw-lang .gt_float_switcher .gt-selected .gt-current-lang,
  .asw-lang .gt_switcher{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
  }

  .asw-lang .gt_float_switcher .gt-selected .gt-current-lang{
    min-height:40px!important;
    padding:0 25px 0 8px!important;
  }

  .asw-lang .gt_float_switcher .gt-selected .gt-current-lang img{
    width:18px!important;
    max-width:18px!important;
  }

  .asw-menu-toggle{
    display:flex!important;
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }

  .asw-mobile-panel{
    width:100%!important;
    max-width:100%!important;
  }

  .asw-mobile-panel-inner{
    width:calc(100% - 32px)!important;
    max-width:100%!important;
    padding:14px 0 24px!important;
  }

  .asw-mobile-menu a{
    padding:12px 2px!important;
    font-size:15px!important;
  }

  .asw-mobile-actions{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .asw-mobile-actions .asw-btn{
    width:100%!important;
    min-height:48px!important;
  }
}

/* ===== Homepage hero: prevent headline/chips touching viewport edge ===== */
@media(max-width:767px){
  .asw-hero h1{
    font-size:clamp(43px,12.2vw,58px)!important;
    line-height:.94!important;
    overflow-wrap:break-word;
  }

  .asw-hero-copy,
  .asw-feature-copy,
  .asw-profile-copy{
    min-width:0!important;
    max-width:100%!important;
  }

  .asw-chips{
    gap:8px!important;
  }

  .asw-chips span{
    max-width:100%!important;
    padding:8px 11px!important;
    font-size:10.5px!important;
  }
}

/* ===== Profile Download: force true single-column mobile composition ===== */
/* v1.3.0 re-declared the desktop grid after the old responsive rule.
   This final rule intentionally wins. */
@media(max-width:767px){
  .asw-profile-section{
    padding-top:78px!important;
    padding-bottom:78px!important;
    overflow:hidden!important;
  }

  .asw-profile-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
    align-items:start!important;
  }

  .asw-profile-visual{
    order:1!important;
    width:100%!important;
    min-width:0!important;
    min-height:390px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .asw-profile-copy{
    order:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .asw-profile-frame{
    width:min(88vw,350px)!important;
    max-width:100%!important;
    padding:13px 13px 9px!important;
    border-radius:24px!important;
    transform:rotate(-1.25deg)!important;
  }

  .asw-profile-frame img,
  .asw-profile-visual img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }

  .asw-profile-orbit{
    width:290px!important;
    height:290px!important;
    max-width:82vw!important;
    max-height:82vw!important;
  }

  .asw-profile-badge{
    top:20px!important;
    right:6px!important;
    min-width:68px!important;
    height:40px!important;
    padding:0 13px!important;
    font-size:10px!important;
  }

  .asw-profile-pages{
    bottom:15px!important;
    max-width:calc(100% - 28px)!important;
    padding:8px 12px!important;
    font-size:10px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .asw-profile-micro{
    margin-bottom:12px!important;
    font-size:9px!important;
  }

  .asw-profile-copy .asw-title{
    max-width:100%!important;
    font-size:clamp(36px,10.2vw,46px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
  }

  .asw-profile-copy .asw-copy{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.68!important;
  }

  .asw-profile-highlights{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:24px!important;
  }

  .asw-profile-highlight{
    min-width:0!important;
    min-height:70px!important;
    padding:12px!important;
    gap:9px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  .asw-profile-highlight span{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }

  .asw-profile-section .asw-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    margin-top:24px!important;
  }

  .asw-profile-section .asw-btn{
    width:100%!important;
    min-height:48px!important;
  }

  .asw-profile-trust{
    margin-top:12px!important;
    font-size:10.5px!important;
    line-height:1.5!important;
  }
}

@media(max-width:390px){
  .asw-profile-highlights{
    grid-template-columns:1fr!important;
  }
}

/* ===== Work, client and delivery sections: contain every grid item ===== */
@media(max-width:767px){
  .asw-client-grid,
  .asw-work-grid,
  .asw-process-grid,
  .asw-card-grid,
  .asw-feature-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .asw-client,
  .asw-work,
  .asw-card,
  .asw-feature-media{
    min-width:0!important;
    max-width:100%!important;
  }

  .asw-client-logo-stage img{
    max-width:min(190px,80%)!important;
  }

  .asw-marquee-viewport{
    overflow:hidden!important;
    max-width:100%!important;
  }
}

/* ===== Footer: shorter, clearer mobile grouping ===== */
@media(max-width:767px){
  .asw-site-footer{
    width:100%!important;
    max-width:100%!important;
    padding:56px 0 20px!important;
    overflow:hidden!important;
  }

  .asw-footer-grid{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:28px 18px!important;
  }

  .asw-footer-brand{
    grid-column:1/-1!important;
    padding:0!important;
  }

  .asw-footer-logo{
    width:164px!important;
    height:58px!important;
    margin-bottom:16px!important;
  }

  .asw-footer-brand p{
    max-width:100%!important;
    margin-bottom:16px!important;
    font-size:12.5px!important;
    line-height:1.7!important;
  }

  .asw-footer-brandline{
    max-width:100%!important;
    padding:7px 10px!important;
    font-size:9px!important;
  }

  .asw-footer-column{
    min-width:0!important;
    max-width:100%!important;
  }

  .asw-footer-column h3{
    margin:0 0 15px!important;
    font-size:11px!important;
    letter-spacing:.10em!important;
  }

  .asw-footer-column li{
    margin-bottom:8px!important;
  }

  .asw-footer-column a,
  .asw-footer-column span{
    font-size:11.5px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere;
  }

  .asw-footer-contact{
    grid-column:1/-1!important;
    padding-top:4px!important;
  }

  .asw-footer-contact-row{
    max-width:100%!important;
  }

  .asw-footer-cta{
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
  }

  .asw-footer-bottom{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:30px!important;
    padding-top:17px!important;
    text-align:center!important;
  }

  .asw-footer-bottom span,
  .asw-footer-credit,
  .asw-footer-tagline{
    max-width:100%!important;
    text-align:center!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }

  .asw-footer-glow{
    width:360px!important;
    height:360px!important;
    right:-210px!important;
    bottom:-230px!important;
  }
}
