/* ================================================================
   REALISATIONS — Styles specifiques
   ================================================================ */

/* ===== HERO CINEMASCOPE (50vh, different from hero-svc) ===== */
.hero-real {
  position:relative;display:flex;align-items:flex-end;
  overflow:hidden;margin-top:74px;margin-bottom:60px;
  height:calc(100vh - 134px);min-height:360px;
}
.hr-img-wrap { position:absolute;inset:0;margin:0 40px;overflow:hidden;border-radius:12px; }
.hr-img { width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;transition:transform 8s ease;filter:brightness(1.2) contrast(1.1); }
.hero-real:hover .hr-img { transform:scale(1.03); }
.hr-overlay {
  position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(23,24,22,0.92) 0%, rgba(23,24,22,0.5) 35%, rgba(23,24,22,0.05) 60%, transparent 100%),
    linear-gradient(to right, rgba(23,24,22,0.88) 0%, rgba(23,24,22,0.55) 35%, transparent 60%);
}
.hr-content { position:absolute;bottom:0;left:0;z-index:2;max-width:680px;padding:0 80px 36px; }
.hero-real .hero-pretitle {
  font-family:'Caveat',cursive;font-size:24px;color:var(--orange);
  margin-bottom:8px;transform:rotate(-0.8deg);display:inline-block;
  opacity:0;animation:fadeUp 0.7s 0.2s forwards;
}
.hero-real h1 {
  font-size:clamp(38px,5vw,62px);font-weight:700;line-height:1.0;
  letter-spacing:-1.5px;margin-bottom:14px;
  text-shadow:0 2px 40px rgba(0,0,0,0.4);
  opacity:0;animation:fadeUp 0.7s 0.4s forwards;
}
.hr-desc { font-size:16px;color:rgba(255,255,255,0.95);max-width:520px;opacity:0;animation:fadeUp 0.7s 0.55s forwards; }
.hr-fig { position:absolute;bottom:12px;right:60px;z-index:2;font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.18); }

/* ===== PROJECT GRID ===== */
.projects-section { padding:100px 0; }
.projects-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.project-tile {
  display:flex;flex-direction:column;background:var(--black-light);border-radius:12px;overflow:hidden;
  border:2px solid rgba(255,255,255,0.06);
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),border-color 0.4s,box-shadow 0.4s,filter 0.4s;
  position:relative;text-decoration:none;color:inherit;
  height:100%;
}
.project-tile:hover { transform:translateY(-6px);border-color:rgba(255,128,62,0.35);box-shadow:0 16px 50px rgba(0,0,0,0.35),0 8px 40px rgba(255,128,62,0.12);filter:brightness(1.1); }
.pt-img-wrap { position:relative;overflow:hidden;background:var(--black);aspect-ratio:4/3;flex-shrink:0; }
.pt-img-wrap img { width:100%;height:100%;object-fit:cover;transition:transform 0.6s,filter 0.4s; }
.project-tile:hover .pt-img-wrap img { transform:scale(1.03);filter:brightness(1.10); }
.pt-fig { position:absolute;bottom:8px;right:12px;font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.25);z-index:2; }
.pt-info { padding:20px;flex:1;display:flex;flex-direction:column; }
.pt-sector { font-family:'Caveat',cursive;font-size:17px;color:rgba(255,255,255,0.35);margin-bottom:4px; }
.pt-info h3 { font-size:17px;font-weight:700;line-height:1.3;margin-bottom:10px; }
.pt-pills { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px; }
.project-pill {
  font-family:'Caveat',cursive;font-size:16px;
  padding:2px 10px;border-radius:20px;border:1px solid;line-height:1.4;
  color:var(--blue);transition:all 0.4s;
}
.pt-info p { font-size:15px;color:var(--gray);line-height:1.65;margin-top:auto;margin-bottom:0; }

/* ===== RESPONSIVE ===== */
@media (max-width:900px) {
  .hr-img-wrap { margin:0 20px; }
  .hr-content { padding:0 40px 28px; }
  .projects-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .hr-img-wrap { margin:0 12px; }
  .hero-real { height:calc(100vh - 100px);min-height:280px; }
  .hr-content { padding:0 28px 20px; }
  .hero-real h1 { font-size:30px; }
  .projects-grid { grid-template-columns:1fr; }
}