/* =====================================================
   NexaKit v1.2.0 Frontend CSS | NexaiIT
   ===================================================== */
body.nk-no-scroll { overflow: hidden !important; }
.nk-portfolio-wrapper *, .nk-testimonial-wrapper *, .nk-stats-wrapper *,
.nk-service-cards *, .nk-case-tabs-wrapper *, .nk-cta-banner * { box-sizing: border-box; }

/* ── Filter bar ── */
.nk-filter-wrapper { position: relative; }
.nk-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 28px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  padding: 4px 2px 6px;
}
.nk-filter-bar::-webkit-scrollbar { display: none; }
.nk-filter-wrapper.nk-filter-overflow .nk-filter-bar {
  -webkit-mask-image: linear-gradient(to right, transparent, black 24px, black calc(100% - 24px), transparent);
  mask-image: linear-gradient(to right, transparent, black 24px, black calc(100% - 24px), transparent);
}
.nk-filter-btn {
  flex-shrink: 0;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  border: 1px solid #D1D5DB;
  cursor: pointer;
  background: #ffffff;
  color: #6B7280;
  transition: all .2s ease;
  line-height: 1;
  white-space: nowrap;
}
.nk-filter-btn:hover, .nk-filter-btn.active {
  background: #2563EB; color: #ffffff; border-color: #2563EB;
}

/* ── Portfolio Grid ── */
.nk-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.nk-portfolio-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nk-portfolio-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.12);
  border-color: #BFDBFE;
}

/* ── Browser chrome ── */
.nk-browser-chrome { background:#F3F4F6; padding:8px 12px; display:flex; align-items:center; gap:8px; border-bottom:1px solid #E5E7EB; }
.nk-chrome-dots { display:flex; gap:5px; flex-shrink:0; }
.nk-dot { width:10px; height:10px; border-radius:50%; display:block; }
.nk-dot-r { background:#FF5F57; } .nk-dot-y { background:#FFBD2E; } .nk-dot-g { background:#28CA42; }
.nk-chrome-url { flex:1; background:#fff; border:1px solid #E5E7EB; border-radius:4px; padding:3px 8px; font-size:11px; color:#9CA3AF; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }

/* ── Screenshot slider — pixel-based ── */
.nk-card-screenshots { position:relative; height:200px; overflow:hidden; background:#EEF2FF; flex-shrink:0; }
.nk-screenshots-track { display:flex; height:100%; transition:transform .5s ease; will-change:transform; }
.nk-screenshot-slide { flex-shrink:0; height:100%; }
.nk-screenshot-img { width:100%; height:100%; object-fit:contain; display:block; }
.nk-screenshot-placeholder { background:linear-gradient(135deg,#EFF6FF,#C7D2FE); display:flex; align-items:center; justify-content:center; font-size:13px; color:#6B7280; font-weight:500; padding:16px; }
.nk-slide-dots { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); display:flex; gap:4px; z-index:2; }
.nk-slide-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.5); transition:all .2s; cursor:pointer; }
.nk-slide-dot.active { background:rgba(255,255,255,.95); transform:scale(1.4); }
.nk-card-hover-overlay { position:absolute; inset:0; background:rgba(37,99,235,.85); opacity:0; transition:opacity .22s ease; display:flex; align-items:center; justify-content:center; z-index:1; }
.nk-portfolio-card:hover .nk-card-hover-overlay { opacity:1; }
.nk-hover-text { color:#fff; font-size:14px; font-weight:600; letter-spacing:.02em; }
@media (hover:none) { .nk-card-hover-overlay { opacity:0; } }

/* ── Card content ── */
.nk-card-content { padding:14px; }
.nk-cat-badge { display:inline-block; font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; margin-bottom:8px; letter-spacing:.02em; }
.nk-card-title { font-size:15px; font-weight:700; color:#111827; margin:0 0 6px; line-height:1.4; }
.nk-card-desc  { font-size:13px; color:#6B7280; margin:0 0 10px; line-height:1.5; }
.nk-tech-tags  { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:12px; }
.nk-tech-tag   { font-size:11px; padding:3px 8px; background:#F3F4F6; border:1px solid #E5E7EB; border-radius:4px; color:#6B7280; font-weight:500; }

/* ── Half-star rating (v1.2.0) ── */
.nk-star { display:inline-block; position:relative; }
.nk-star.filled { color:#FBBF24; }
.nk-star.empty  { color:#D1D5DB; }
.nk-star.half   { color:#D1D5DB; }
.nk-star.half::before {
  content:'★';
  position:absolute;
  left:0; top:0;
  right:0; bottom:0;
  color:#FBBF24;
  clip-path:inset(0 50% 0 0);
  pointer-events:none;
}

/* ── Card rating ── */
.nk-card-rating { margin-top:10px; padding-top:10px; border-top:1px solid #F3F4F6; }
.nk-card-stars  { display:flex; align-items:center; gap:2px; margin-bottom:5px; flex-wrap:wrap; }
.nk-card-stars .nk-star { font-size:15px; line-height:1; }
.nk-rating-num  { font-size:12px; font-weight:700; color:#92400E; background:#FEF3C7; padding:2px 7px; border-radius:12px; margin-left:4px; }
.nk-card-review { font-size:12px; color:#6B7280; font-style:italic; margin:0; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ── View button ── */
.nk-view-btn { display:block; width:100%; padding:10px 16px; background:#2563EB; color:#fff; border:none; border-radius:8px; font-size:13px; font-weight:600; font-family:inherit; cursor:pointer; text-align:center; text-decoration:none; transition:background .15s ease; letter-spacing:.01em; line-height:1.4; }
.nk-view-btn:hover { background:#1D4ED8; color:#fff; }

/* ── Modal ── */
.nk-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.75); z-index:999999; display:none; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(4px); }
.nk-modal-overlay.nk-open { display:flex !important; }
.nk-modal-container { background:#fff; border-radius:16px; width:100%; max-width:720px; max-height:90vh; overflow-y:auto; position:relative; animation:nkSlideUp .28s cubic-bezier(.4,0,.2,1); scrollbar-width:thin; }
@keyframes nkSlideUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.nk-modal-close { position:sticky; top:12px; float:right; margin:12px 12px 0 0; background:#F3F4F6; border:none; border-radius:50%; width:32px; height:32px; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; color:#374151; transition:background .15s; font-family:inherit; }
.nk-modal-close:hover { background:#E5E7EB; }

/* ── Inline detail ── */
.nk-inline-detail { margin-top:20px; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; background:#F9FAFB; animation:nkSlideDown .25s ease; display:none; }
@keyframes nkSlideDown { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.nk-inline-close { display:flex; align-items:center; gap:6px; width:100%; padding:12px 20px; background:#F3F4F6; border:none; border-bottom:1px solid #E5E7EB; text-align:left; cursor:pointer; font-size:13px; color:#6B7280; font-family:inherit; transition:background .15s; }
.nk-inline-close:hover { background:#E5E7EB; }

/* ── Detail inner ── */
.nk-detail-inner { padding:24px; }
.nk-detail-header { margin-bottom:16px; }
.nk-detail-title  { font-size:22px; font-weight:700; color:#111827; margin:8px 0 0; line-height:1.3; }
.nk-detail-meta   { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:20px 0; }
.nk-meta-item     { background:#F9FAFB; border:1px solid #F3F4F6; border-radius:8px; padding:10px 14px; }
.nk-meta-label    { display:block; font-size:10px; color:#9CA3AF; font-weight:600; margin-bottom:3px; text-transform:uppercase; letter-spacing:.07em; }
.nk-meta-val      { display:block; font-size:14px; font-weight:600; color:#111827; }
.nk-detail-section { margin-bottom:16px; }
.nk-section-label  { font-size:10px; font-weight:700; color:#9CA3AF; text-transform:uppercase; letter-spacing:.07em; margin-bottom:8px; }
.nk-detail-desc    { font-size:14px; color:#374151; line-height:1.75; }
.nk-detail-desc p  { margin:0 0 8px; } .nk-detail-desc p:last-child { margin:0; }
.nk-detail-tech .nk-tech-tag { font-size:12px; padding:5px 12px; background:#EFF6FF; border-color:#BFDBFE; color:#1D4ED8; }
.nk-detail-result  { background:#ECFDF5; border-left:3px solid #059669; border-radius:0 8px 8px 0; padding:14px 18px; font-size:14px; color:#065F46; line-height:1.65; margin-top:16px; }
.nk-detail-actions { margin-top:20px; }
.nk-detail-link    { display:inline-block; padding:10px 20px; background:#2563EB; color:#fff; border-radius:8px; text-decoration:none; font-size:13px; font-weight:600; transition:background .15s; }
.nk-detail-link:hover { background:#1D4ED8; color:#fff; }

/* ── Modal image carousel (v1.1+) ── */
.nk-modal-img-carousel {
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:#0D1117;
  margin-bottom:20px;
  height:55vh;
  max-height:440px;
  min-height:180px;
}
.nk-mic-track {
  display:flex;
  height:100%;
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.nk-mic-slide {
  flex-shrink:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0D1117;
  /* width set by JS */
}
.nk-mic-img {
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  cursor:zoom-in !important;
  transition:opacity .2s ease;
  border-radius:4px;
}
.nk-mic-prev, .nk-mic-next {
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.55); color:#fff;
  font-size:17px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-family:inherit; transition:background .15s; backdrop-filter:blur(4px);
}
.nk-mic-prev { left:10px; } .nk-mic-next { right:10px; }
.nk-mic-prev:hover,.nk-mic-next:hover { background:rgba(255,255,255,.2); }
.nk-mic-dots { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:5px; z-index:5; }
.nk-mic-dot  { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.35); cursor:pointer; transition:all .2s ease; }
.nk-mic-dot.active { background:#fff; transform:scale(1.4); }
.nk-mic-counter  { position:absolute; top:10px; right:10px; z-index:5; font-size:12px; color:rgba(255,255,255,.9); background:rgba(0,0,0,.5); padding:3px 8px; border-radius:12px; }
.nk-mic-zoom-hint{ position:absolute; bottom:10px; right:10px; z-index:5; font-size:11px; color:rgba(255,255,255,.7); background:rgba(0,0,0,.45); padding:3px 8px; border-radius:12px; }

/* ── Lightbox ── */
.nk-lightbox { position:fixed; inset:0; z-index:9999999; display:none; flex-direction:column; align-items:center; justify-content:center; }
.nk-lightbox.nk-lb-open { display:flex; }
.nk-lb-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.93); cursor:zoom-out; }
.nk-lb-stage { position:relative; z-index:1; max-width:94vw; max-height:90vh; display:flex; align-items:center; justify-content:center; }
.nk-lb-img   { max-width:92vw; max-height:88vh; width:auto; height:auto; object-fit:contain; border-radius:8px; transition:opacity .22s ease; display:block; }
.nk-lb-loader{ position:absolute; inset:0; display:none; align-items:center; justify-content:center; color:rgba(255,255,255,.6); font-size:14px; }
.nk-lb-close { position:fixed; top:16px; right:16px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.6); color:#fff; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; font-family:inherit; backdrop-filter:blur(4px); }
.nk-lb-close:hover { background:rgba(255,255,255,.2); }
.nk-lb-prev,.nk-lb-next { position:fixed; top:50%; transform:translateY(-50%); z-index:2; width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.6); color:#fff; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-family:inherit; backdrop-filter:blur(4px); transition:background .15s, transform .15s; }
.nk-lb-prev { left:16px; } .nk-lb-next { right:16px; }
.nk-lb-prev:hover { background:rgba(255,255,255,.18); transform:translateY(-50%) translateX(-2px); }
.nk-lb-next:hover { background:rgba(255,255,255,.18); transform:translateY(-50%) translateX(2px); }
.nk-lb-counter { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:2; font-size:14px; color:rgba(255,255,255,.8); background:rgba(0,0,0,.5); padding:5px 16px; border-radius:20px; backdrop-filter:blur(4px); }
@media (max-width:600px) {
  .nk-lb-prev{left:8px;width:40px;height:40px;font-size:18px;}
  .nk-lb-next{right:8px;width:40px;height:40px;font-size:18px;}
  .nk-lb-close{top:10px;right:10px;}
}

/* ── Review card ── */
.nk-review-card { background:linear-gradient(135deg,#FFFBEB,#FEF3C7); border:1px solid #FDE68A; border-radius:12px; padding:18px 20px; }
.nk-review-header { display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.nk-review-stars  { display:flex; gap:3px; }
.nk-review-stars .nk-star { font-size:20px; }
.nk-review-score  { font-size:13px; font-weight:700; color:#92400E; background:#fff; border:1px solid #FDE68A; padding:3px 10px; border-radius:20px; }
.nk-review-quote  { font-size:15px; font-style:italic; color:#374151; margin:0 0 14px; line-height:1.75; padding-left:14px; border-left:3px solid #FBBF24; }
.nk-review-author { display:flex; align-items:center; gap:10px; }
.nk-review-avatar { width:36px; height:36px; border-radius:50%; background:#2563EB; color:#fff; font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nk-review-name   { font-size:14px; font-weight:700; color:#111827; }
.nk-review-role   { font-size:13px; color:#6B7280; }

/* ── Pagination (v1.2.0) ── */
.nk-pagination { margin-top:32px; width:100%; }
.nk-page-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:6px; justify-content:center; }
.nk-page-btn {
  min-width:38px; height:38px; padding:0 10px;
  border:1px solid #E5E7EB; border-radius:8px;
  background:#fff; color:#374151;
  font-size:14px; font-weight:600; font-family:inherit;
  cursor:pointer; transition:all .18s ease;
  display:flex; align-items:center; justify-content:center;
}
.nk-page-btn:hover { border-color:#2563EB; color:#2563EB; background:#EFF6FF; }
.nk-page-btn.active { background:#2563EB; color:#fff; border-color:#2563EB; }
.nk-page-btn.disabled { opacity:.4; cursor:default; pointer-events:none; }
.nk-page-btn.nk-page-nav { font-size:16px; }
.nk-page-ellipsis { padding:0 4px; color:#9CA3AF; font-size:14px; display:flex; align-items:center; height:38px; }
.nk-load-more-btn {
  display:block; width:auto; margin:0 auto;
  padding:14px 40px; background:#2563EB; color:#fff;
  border:none; border-radius:50px;
  font-size:15px; font-weight:700; font-family:inherit; cursor:pointer;
  transition:background .15s, transform .15s;
}
.nk-load-more-btn:hover { background:#1D4ED8; transform:translateY(-2px); }
.nk-all-loaded { text-align:center; color:#9CA3AF; font-size:14px; margin:0; padding:12px; }

/* ═══ Testimonial Carousel ═══ */
.nk-testimonial-wrapper { position:relative; overflow:hidden; width:100%; padding-bottom:8px; }
.nk-testimonial-track   { display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); will-change:transform; }
.nk-testimonial-slide   { min-width:100%; display:flex; justify-content:center; padding:4px 8px; }
.nk-testimonial-card    { background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:32px; width:100%; max-width:720px; }
.nk-tc-stars  { display:flex; gap:3px; margin-bottom:12px; }
.nk-tc-star.filled { color:#FBBF24; } .nk-tc-star.empty { color:#E5E7EB; } .nk-tc-star { font-size:18px; }
.nk-quote-mark { font-size:48px; color:#BFDBFE; line-height:1; margin-bottom:8px; font-family:Georgia,serif; }
.nk-testimonial-quote { font-size:15px; color:#374151; line-height:1.8; margin:0 0 24px; font-style:italic; }
.nk-testimonial-author { display:flex; align-items:center; gap:14px; }
.nk-author-avatar   { width:48px; height:48px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.nk-author-initials { width:48px; height:48px; border-radius:50%; background:#2563EB; color:#fff; font-size:16px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nk-author-info { flex:1; min-width:0; }
.nk-author-name { font-size:15px; font-weight:700; color:#111827; margin:0 0 2px; }
.nk-author-role { font-size:13px; color:#9CA3AF; margin:0; }
.nk-tc-nav { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:20px; }
.nk-tc-prev,.nk-tc-next { width:40px; height:40px; border-radius:50%; border:1px solid #E5E7EB; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; color:#374151; font-family:inherit; transition:all .18s ease; }
.nk-tc-prev:hover,.nk-tc-next:hover { background:#2563EB; color:#fff; border-color:#2563EB; }
.nk-tc-dots { display:flex; gap:6px; }
.nk-tc-dot { width:8px; height:8px; border-radius:50%; background:#D1D5DB; cursor:pointer; transition:all .2s ease; }
.nk-tc-dot.active { background:#2563EB; transform:scale(1.3); }

/* ═══ Stats Counter ═══ */
.nk-stats-wrapper { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.nk-stat-item     { text-align:center; padding:28px 20px; transition:transform .25s ease; }
.nk-stat-item:hover { transform:translateY(-3px); }
.nk-stat-icon     { font-size:32px; display:block; margin-bottom:12px; line-height:1; }
.nk-stat-number   { display:block; font-size:48px; font-weight:800; line-height:1; margin-bottom:8px; color:#2563EB; letter-spacing:-.02em; transition:all .1s; }
.nk-stat-label    { display:block; font-size:15px; font-weight:600; color:#111827; margin-bottom:4px; }
.nk-stat-desc     { display:block; font-size:12px; color:#9CA3AF; }

/* ═══ Service Cards ═══ */
.nk-service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nk-service-card  { position:relative; padding:32px 24px; border-radius:12px; border:1px solid #E5E7EB; background:#fff; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; text-decoration:none; display:block; color:inherit; }
.nk-service-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.1); border-color:#BFDBFE; }
.nk-service-badge { position:absolute; top:16px; right:16px; font-size:10px; font-weight:700; padding:3px 8px; background:#2563EB; color:#fff; border-radius:20px; text-transform:uppercase; letter-spacing:.05em; }
.nk-service-icon  { width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:20px; flex-shrink:0; }
.nk-service-title { font-size:18px; font-weight:700; color:#111827; margin:0 0 10px; line-height:1.3; }
.nk-service-desc  { font-size:14px; color:#6B7280; line-height:1.7; margin:0; }

/* ═══ Case Tabs ═══ */
.nk-tabs-nav { display:flex; border-bottom:2px solid #E5E7EB; gap:0; margin-bottom:28px; overflow-x:auto; scrollbar-width:none; }
.nk-tabs-nav::-webkit-scrollbar { display:none; }
.nk-tab-btn  { padding:12px 24px; font-size:14px; font-weight:600; color:#9CA3AF; border:none; background:none; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s ease; white-space:nowrap; font-family:inherit; display:flex; align-items:center; gap:6px; }
.nk-tab-btn:hover { color:#374151; } .nk-tab-btn.active { color:#2563EB; border-bottom-color:#2563EB; }
.nk-tab-panel { display:none; }
.nk-tab-panel.active { display:block; animation:nkFadeIn .22s ease; }
@keyframes nkFadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

/* ═══ CTA Banner ═══ */
.nk-cta-banner { border-radius:20px; padding:80px 48px; position:relative; overflow:hidden; background:linear-gradient(135deg,#1E40AF,#2563EB); display:flex; align-items:center; justify-content:center; }
.nk-cta-banner::before { content:''; position:absolute; width:300px; height:300px; background:rgba(255,255,255,.06); border-radius:50%; top:-80px; right:-80px; pointer-events:none; }
.nk-cta-inner   { position:relative; z-index:1; text-align:center; max-width:720px; width:100%; }
.nk-cta-badge   { display:inline-block; background:rgba(255,255,255,.15); color:#fff; font-size:13px; font-weight:600; padding:6px 18px; border-radius:50px; margin-bottom:20px; backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.2); }
.nk-cta-title   { font-size:36px; font-weight:700; color:#fff; margin:0 0 16px; line-height:1.25; }
.nk-cta-subtitle{ font-size:17px; color:rgba(255,255,255,.85); margin:0 0 36px; line-height:1.65; }
.nk-cta-buttons { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; align-items:center; }
.nk-cta-btn     { display:inline-flex; align-items:center; gap:8px; padding:16px 40px; border-radius:50px; font-size:15px; font-weight:700; text-decoration:none; cursor:pointer; border:2px solid transparent; transition:all .2s ease; line-height:1; font-family:inherit; }
.nk-cta-btn-primary   { background:#fff; color:#1D4ED8; border-color:#fff; }
.nk-cta-btn-primary:hover { background:#F3F4F6; color:#1D4ED8; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.15); }
.nk-cta-btn-secondary { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.nk-cta-btn-secondary:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.8); color:#fff; }

/* ═══ Responsive ═══ */
@media (max-width:1024px) {
  .nk-portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .nk-service-cards  { grid-template-columns:repeat(2,1fr); }
  .nk-stats-wrapper  { grid-template-columns:repeat(2,1fr); }
  .nk-cta-title { font-size:28px; } .nk-cta-banner { padding:60px 32px; }
}
@media (max-width:768px) {
  .nk-service-cards { grid-template-columns:1fr; }
  .nk-stat-number   { font-size:36px; }
  .nk-cta-title     { font-size:24px; } .nk-cta-banner { padding:48px 24px; }
  .nk-detail-meta   { grid-template-columns:1fr; }
  .nk-modal-img-carousel { height:45vh; }
}
@media (max-width:480px) {
  .nk-portfolio-grid { grid-template-columns:1fr; }
  .nk-stats-wrapper  { grid-template-columns:1fr 1fr; }
  .nk-cta-buttons    { flex-direction:column; align-items:stretch; }
  .nk-cta-btn        { text-align:center; justify-content:center; }
  .nk-modal-img-carousel { height:40vh; min-height:150px; }
  .nk-page-btn       { min-width:32px; height:32px; font-size:13px; }
}
