/* =========================
   OUR WORK — tidy stylesheet
   ========================= */

/* ----- Card shell ----- */
.work-art.card.has-carousel{
  background:#fff;
  border-radius:22px;
  padding:32px;
  box-shadow:0 18px 50px rgba(15,77,158,.10);
  overflow:hidden;
  position:relative;
}

/* ----- Two-column layout inside the card ----- */
.work-inner{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;   /* carousel : text */
  gap:36px;
  align-items:center;
}

@media (max-width:980px){
  .work-inner{ grid-template-columns:1fr; gap:24px; }
  .work-copy{ order:-1; text-align:center; } /* text first on mobile */
  .device-frame{ order:2; }
}

/* ----- Carousel frame + slides ----- */
.device-frame{
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.08) inset, 0 8px 20px rgba(0,0,0,.06);
  overflow:hidden;
  min-width:0;
}

.work-swiper{ width:100%; max-width:100%; overflow:hidden; }
.work-swiper .swiper-wrapper{ width:auto; }
.work-swiper .swiper-slide{ width:100%; }
.work-swiper .swiper-slide img{
  display:block; width:100%; aspect-ratio:16/10; object-fit:cover;
  border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.08);
}

/* Pagination */
.work-swiper .swiper-pagination{ position:static; margin-top:10px; text-align:center; }
.work-swiper .swiper-pagination-bullet{
  width:7px; height:7px; background:#1E73BE; opacity:.35; transition:.2s;
}
.work-swiper .swiper-pagination-bullet-active{ opacity:1; transform:scale(1.15); }

/* ----- Section title (outside the card) ----- */
.section-title{
  margin:0 0 14px;
  font-size:clamp(26px,3.6vw,40px);
  letter-spacing:.2px;
  text-align:center;
}

/* ----- Right column (base) ----- */
.work-copy{ text-align:center; }
.work-project-title{
  margin:0 0 8px;
  font-size:clamp(20px,2.6vw,28px);
  line-height:1.25;
}

/* ----- Tags (auto-filled by JS) ----- */
.work-tags{
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:10px;
}
.work-tags .chip{
  display:inline-block; padding:8px 12px; border-radius:999px;
  background:#F0F7FF; color:#1E73BE; border:1px solid rgba(47,139,247,.15);
  font-weight:600; font-size:14px; box-shadow:0 2px 6px rgba(0,0,0,.04);
  white-space:nowrap;
}
@media (max-width:540px){ .work-tags .chip:nth-of-type(n+3){ display:none; } }

/* Right-side buttons inline and centered */
.work-actions-right{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:12px;
}

/* Outline button (fallback if theme lacks it) */
.btn-outline{
  background:#fff;
  color:#1E73BE;
  border:1px solid rgba(30,115,190,.35);
  box-shadow:0 3px 8px rgba(30,115,190,.12);
}
.btn-outline:hover{ background:#1E73BE; color:#fff; }

/* ----- CTA centered under BOTH columns ----- */
.work-cta{ text-align:center; margin-top:28px; }
.work-cta .btn{
  font-size:16px; padding:12px 28px; border-radius:999px;
  box-shadow:0 6px 16px rgba(30,115,190,.25); transition:.3s;
}
.work-cta .btn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(30,115,190,.35); }
@media (max-width:700px){
  .work-cta{ margin-top:22px; }
  .work-cta .btn{ font-size:15px; padding:10px 24px; }
}

/* ----- Section wave background (real .work-bg element) ----- */
.section.work{ position:relative; overflow:hidden; }
.section.work .work-bg{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.section.work .work-bg-wave{ width:100%; height:100%; display:block; opacity:.95; }
/* content above the wave */
.section.work .container,
.section.work .work-art{ position:relative; z-index:2; }

/* =========================
   DESKTOP REFINEMENTS (≥1024px)
   - bigger right side
   - REDUCED VERTICAL GAPS
   ========================= */
@media (min-width:1024px){
  /* enlarge the whole right block a touch */
  .work-copy{
    display:flex;                 /* vertical stacking */
    flex-direction:column;
    align-items:center;
    gap:10px;                     /* <<< controls vertical gaps */
    text-align:center;
    padding:0;                    /* no extra padding */
    transform:scale(1.1);
    transform-origin:center;
    max-width:560px;
  }

  .work-project-title{
    font-size:38px;
    margin:0 0 6px;               /* tighter under the title */
    font-weight:700;
    color:#0F172A;
    letter-spacing:.2px;
  }

  .work-copy p{
    font-size:18px;
    line-height:1.6;
    margin:6px 0 8px;             /* <<< smaller margins */
    max-width:520px;
    color:#475569;
  }

  .work-tags{
    gap:10px;
    margin:4px 0 6px;             /* <<< tighter around tags */
  }
  .work-tags .chip{
    font-size:15px;
    padding:8px 18px;
    border-radius:999px;
  }

  .work-actions-right{ margin-top:6px; } /* tighter above button */
  .work-actions-right .btn{ font-size:16px; padding:12px 26px; }
}
