/* ===== Section header ===== */
.u-section-portfolio .u-sheet-1{ padding-left:30px; padding-right:30px; }
.u-section-portfolio .u-text-1{ font-size:2.25rem; font-weight:700; margin:40px auto 8px; text-align:center }
.u-section-portfolio .u-text-2{ max-width:860px; margin:0 auto 24px; color:#475569; text-align:center }

/* ===== Hybrid case-study layout ===== */
.pf-project{ margin-bottom: 24px; }

.pf-card-summary{
  display:flex; gap:16px; align-items:center; cursor:pointer;
  background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 2px 6px rgba(2,8,23,.05); padding:12px 14px;
  transition:box-shadow .2s ease, transform .2s ease;
}
.pf-card-summary:hover{ box-shadow:0 10px 24px rgba(2,8,23,.10); transform: translateY(-1px); }
.pf-card-summary img{ max-width:180px; border-radius:6px; display:block; }
.pf-card-text{ flex:1; }
.pf-card-text h3{ margin:0 0 6px; font-size:1.15rem; }
.pf-expand-btn{ background:#478ac9; color:#fff; padding:6px 12px; font-size:.9rem; border:none; border-radius:4px; cursor:pointer; }
.pf-expand-btn:hover{ background:#37649b; }

/* Expanded panel */
.pf-case{
  display:none; position:relative; background:#fff; border-left:4px solid #478ac9;
  padding:16px; margin-top:12px; border-radius:8px; box-shadow:0 2px 10px rgba(2,8,23,.06);
}
.pf-case.open{ display:block; animation: fadeIn .25s ease; }
.pf-close-btn{ position:absolute; top:8px; right:12px; background:transparent; border:none; font-size:28px; color:#334155; cursor:pointer; }

.pf-case-content{ display:flex; flex-wrap:wrap; gap:16px; }
.pf-case-text{ flex:1 1 360px; }
.pf-case-text h4{ margin:10px 0 4px; }
.pf-case-text ul{ margin:8px 0 0 16px; }
.pf-tags{ margin-top:10px; }
.pf-tags span{
  display:inline-block; background:#e6f0fa; color:#2770b9; padding:3px 8px; font-size:.8rem;
  border-radius:999px; margin-right:6px; margin-bottom:6px;
}

.pf-case-images{ flex:1 1 300px; display:flex; flex-direction:column; gap:8px; }
.pf-case-images img{ width:100%; border-radius:6px; cursor:zoom-in; object-fit:cover; }

/* Light animation */
@keyframes fadeIn{ from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:translateY(0)} }

/* ===== Universal lightbox (style only) ===== */
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(2px);display:none;z-index:99999}
.lb-open{display:block}
.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.lb-img{max-width:92vw;max-height:84vh;box-shadow:0 10px 40px rgba(0,0,0,.5);border-radius:6px}
.lb-cap{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;color:#f1f5f9;font-size:15px;max-width:90vw;text-align:center}
.lb-x,.lb-prev,.lb-next{position:fixed;top:14px;line-height:1;background:transparent;border:none;color:#e5e7eb;font-size:34px;cursor:pointer}
.lb-x{right:18px}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:42px}
.lb-prev{left:18px}
.lb-next{right:18px}
.lb-btn:hover{color:#fff}

.designed-by {
  font-size: 0.8rem;
  color: #64748b;
}
.designed-by:hover {
  color: #478ac9;
}

