/* FFPJ project detail page */
.project-detail-hero { min-height: 300px; text-align: left; }
.project-label { display:inline-block; padding:.45rem 1rem; border:1px solid rgba(255,255,255,.45); border-radius:999px; background:rgba(255,255,255,.12); font-size:.78rem; font-weight:700; letter-spacing:.14em; }
.project-subtitle { color:rgba(255,255,255,.88); font-size:1.1rem; }
.project-main-image { width:100%; border-radius:16px; box-shadow:0 14px 32px rgba(0,40,85,.16); }
.project-lead { font-size:1.08rem; line-height:1.95; }
.project-section-alt { background:#f4f8fc; }
.project-feature { position:relative; padding:2rem; background:#fff; border-top:4px solid #00a3e0; border-radius:14px; box-shadow:0 8px 24px rgba(0,45,85,.08); }
.project-feature-no { display:block; margin-bottom:.6rem; color:#00a3e0; font-size:.75rem; font-weight:700; letter-spacing:.1em; }
.project-feature h3 { color:#005aaa; font-weight:700; }
.project-feature p,.project-body,.project-approach { line-height:1.9; }
.project-body { max-width:1000px; }
.project-approach { padding:2rem; background:#fff; border-left:5px solid #00a3e0; border-radius:0 16px 16px 0; box-shadow:0 8px 24px rgba(0,45,85,.07); }
.project-keywords { padding:1.25rem 1.5rem; color:#405160; background:#eaf3f8; border-radius:10px; line-height:1.8; }
@media (max-width:768px) { .project-detail-hero { min-height:auto; padding:3.5rem 0; } .project-detail-hero h1 { font-size:2rem; } .project-feature { padding:1.5rem; } .project-approach { padding:1.5rem; } }

/* FFPJ Logo */

.project-logo-section {
  padding-top: 48px;
  padding-bottom: 10px;
  background: #fff;
}

.project-logo {
  display: inline-block;
  width: min(100%, 300px);
  max-height: 120px;
  object-fit: contain;
}
