/* SoftWorX Global — isolated homepage work section upgrade
   Scope: .swx-work-showcase only. Existing global styles/backend remain untouched. */

.swx-work-showcase{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:104px 0 112px;
  background:
    radial-gradient(circle at 7% 15%,rgba(139,73,255,.14),transparent 31%),
    radial-gradient(circle at 95% 82%,rgba(100,44,204,.13),transparent 29%),
    linear-gradient(180deg,#08070d 0%,#0a0811 46%,#08070d 100%);
  color:#f8f6ff;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}

.swx-work-showcase:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,transparent,black 15%,black 82%,transparent);
}

.swx-work-glow{
  position:absolute;
  z-index:-1;
  border-radius:50%;
  filter:blur(28px);
  pointer-events:none;
}
.swx-work-glow-one{width:430px;height:430px;left:-255px;top:90px;background:rgba(130,66,255,.10)}
.swx-work-glow-two{width:520px;height:520px;right:-335px;bottom:-185px;background:rgba(151,71,255,.09)}

.swx-work-container{position:relative}

.swx-work-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr);
  gap:70px;
  align-items:end;
  margin-bottom:46px;
}

.swx-work-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:15px;
  color:#b879ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.swx-work-eyebrow i{display:block;width:28px;height:1px;background:linear-gradient(90deg,#a855f7,rgba(168,85,247,.12));box-shadow:0 0 12px rgba(168,85,247,.7)}

.swx-work-heading h2{
  margin:0;
  max-width:760px;
  color:#fff;
  font-family:var(--serif,'DM Serif Display',Georgia,serif);
  font-size:clamp(42px,4.5vw,66px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.02em;
}
.swx-work-heading h2 span{color:#eee8f8}

.swx-work-intro{padding-bottom:3px}
.swx-work-intro p{
  margin:0 0 22px;
  color:#aaa3b5;
  font-size:14px;
  line-height:1.8;
}
.swx-work-view-all{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#f6efff;
  font-size:12px;
  font-weight:700;
  transition:color .25s ease,transform .25s ease;
}
.swx-work-view-all span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(176,112,255,.35);
  border-radius:50%;
  background:rgba(126,63,217,.12);
  color:#c993ff;
}
.swx-work-view-all:hover{color:#c98cff;transform:translateX(3px)}

.swx-work-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:17px;
}

.swx-project{
  position:relative;
  overflow:hidden;
  display:flex;
  min-width:0;
  flex-direction:column;
  color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid rgba(157,105,226,.18);
  border-radius:19px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  transform:translateZ(0);
  transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .32s ease,box-shadow .32s ease,background .32s ease;
}
.swx-project:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.swx-project:hover{
  transform:translateY(-8px);
  border-color:rgba(177,104,255,.5);
  background:linear-gradient(180deg,rgba(123,56,214,.10),rgba(255,255,255,.025));
  box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 38px rgba(118,55,203,.11);
}

.swx-project-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10.4;
  background:linear-gradient(135deg,#201033,#0e0916 72%);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.swx-project-media>img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s ease;
}
.swx-project:hover .swx-project-media>img{transform:scale(1.045);filter:saturate(1.06) contrast(1.02)}

.swx-project-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(145,72,236,.23),transparent 31%),
    linear-gradient(135deg,#1a1028,#311654 56%,#160d24);
}
.swx-project-fallback:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:30px 30px;
}
.swx-project-fallback img{position:relative;width:68px;height:68px;object-fit:contain;opacity:.62;filter:drop-shadow(0 0 24px rgba(155,86,255,.44))}

.swx-project-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(6,4,10,.52));
  pointer-events:none;
}
.swx-project-number{
  position:absolute;
  left:15px;
  top:14px;
  z-index:1;
  display:grid;
  place-items:center;
  min-width:32px;
  height:25px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(8,6,13,.58);
  backdrop-filter:blur(9px);
  color:rgba(255,255,255,.72);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.swx-project-open{
  position:absolute;
  right:14px;
  top:14px;
  z-index:1;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  background:rgba(8,6,13,.7);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:15px;
  transition:background .25s ease,transform .25s ease,border-color .25s ease;
}
.swx-project:hover .swx-project-open{transform:rotate(7deg) scale(1.04);background:#8641db;border-color:#aa73ef}

.swx-project-content{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px 20px 19px;
}
.swx-project-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.swx-project-tag{
  overflow:hidden;
  max-width:74%;
  padding:6px 9px;
  border:1px solid rgba(157,92,233,.22);
  border-radius:999px;
  background:rgba(124,58,237,.11);
  color:#bf89fa;
  font-size:9px;
  font-weight:700;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.swx-project-label{color:#71697e;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}

.swx-project-content h3{
  margin:0 0 10px;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1.38;
  letter-spacing:-.01em;
}
.swx-project-content p{
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 20px;
  color:#948da0;
  font-size:12px;
  line-height:1.7;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
}
.swx-project-link{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#d8c6eb;
  font-size:10px;
  font-weight:700;
}
.swx-project-link b{color:#a65df1;font-size:14px;transition:transform .25s ease}
.swx-project:hover .swx-project-link b{transform:translateX(4px)}

@media(max-width:1100px){
  .swx-work-showcase{padding:90px 0 96px}
  .swx-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .swx-work-head{grid-template-columns:1fr minmax(280px,.62fr);gap:44px}
}

@media(max-width:760px){
  .swx-work-showcase{padding:74px 0 78px}
  .swx-work-head{grid-template-columns:1fr;gap:22px;margin-bottom:31px}
  .swx-work-intro{max-width:560px}
  .swx-work-heading h2{font-size:clamp(39px,11vw,52px)}
  .swx-work-grid{grid-template-columns:1fr}
  .swx-project{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .swx-project-media{height:100%;aspect-ratio:auto;min-height:245px;border-bottom:0;border-right:1px solid rgba(255,255,255,.055)}
  .swx-project-content{padding:22px}
}

@media(max-width:560px){
  .swx-work-showcase{padding:64px 0 68px}
  .swx-project{display:flex}
  .swx-project-media{aspect-ratio:16/10.3;min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}
  .swx-project-content{padding:19px}
  .swx-project-content h3{font-size:17px}
  .swx-work-intro p{font-size:13px;line-height:1.7}
}

@media(prefers-reduced-motion:reduce){
  .swx-project,.swx-project-media>img,.swx-project-open,.swx-work-view-all,.swx-project-link b{transition:none!important}
}
