/* ================================================================
   PROTOTYPE EXPRESS — Styles specifiques
   ================================================================ */

/* Hero override */
.hero-svc .hs-img { object-position:center 40%; }
.hero-svc .hs-ct { max-width:700px; }

/* ===== PROBLEME ===== */
.probleme { padding:100px 0; }
.probleme-grid { display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:start; }
.probleme h2 { font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.2;margin-bottom:28px; }
.pain-list { display:flex;flex-direction:column;gap:20px; }
.pain-item { display:flex;gap:16px;align-items:flex-start;padding:18px;background:var(--black-light);border-radius:12px;border:2px solid rgba(255,255,255,0.06);transition:transform 0.4s,border-color 0.4s; }
.pain-item:hover { transform:translateX(6px);border-color:rgba(21,168,254,0.2); }
.pain-num { font-family:'Caveat',cursive;font-size:28px;font-weight:700;color:var(--blue);flex-shrink:0;line-height:1;margin-top:2px; }
.pain-item p { font-size:16px;color:var(--gray);line-height:1.7; }
.pain-item strong { color:var(--white);font-weight:600; }

/* ===== GANTT METHODE ===== */
.methode-gantt { padding:100px 0; }
.methode-header { text-align:center;max-width:640px;margin:0 auto 40px; }
.methode-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:8px; }
.methode-header p { color:var(--gray);font-size:17px; }
.gantt { background:var(--black-light);border-radius:12px;padding:22px 26px;border:2px solid rgba(255,255,255,0.06);overflow-x:auto; }
.gr { display:grid;grid-template-columns:220px 1fr;align-items:center;min-height:34px; }
.g-head { border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:8px;margin-bottom:6px; }
.g-head .gl { font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--gray); }
.g-months { display:grid;grid-template-columns:repeat(14,1fr);font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.25);text-align:center; }
.g-ph { background:rgba(255,255,255,0.02);border-radius:6px;padding:6px 14px;margin:4px 0 0;border-left:3px solid var(--gc); }
.g-ph .gl { font-size:16px;white-space:nowrap; } .g-ph .gl strong { font-size:17px; }
.g-sub { padding:0 14px; }
.g-sub .gl { font-size:12px;color:var(--gray);padding-left:14px;font-style:italic;white-space:nowrap; }
.gb { position:relative;height:22px; }
.g-bar { position:absolute;top:5px;height:12px;border-radius:6px;opacity:0.85;transition:opacity 0.4s; }
.g-bar:hover { opacity:1; }
.g-note { text-align:center;margin-top:14px;font-family:'Caveat',cursive;font-size:17px;color:var(--gray);opacity:0.5; }

/* ===== FRISE HORIZONTALE ===== */
.cas-etude { padding:100px 0;overflow:hidden; }
.cas-header { text-align:center;max-width:640px;margin:0 auto 48px; }
.cas-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:8px; }
.cas-header p { color:var(--gray);font-size:17px; }
.frise-h { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;max-width:1100px;margin:0 auto;padding:0 40px; }
.frise-h::before { content:'';position:absolute;top:24px;left:calc(16.66% + 20px);right:calc(16.66% + 20px);height:2px;background:linear-gradient(to right,var(--orange),var(--blue),var(--green));opacity:0.3; }
.frise-h-step { position:relative;text-align:center; }
.frise-h-dot { width:48px;height:48px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-family:'Caveat',cursive;font-size:22px;font-weight:700;border:2px solid;position:relative;z-index:2; }
.frise-h-step:nth-child(1) .frise-h-dot { border-color:var(--orange);color:var(--orange);background:rgba(255,128,62,0.1); }
.frise-h-step:nth-child(2) .frise-h-dot { border-color:var(--blue);color:var(--blue);background:rgba(21,168,254,0.1); }
.frise-h-step:nth-child(3) .frise-h-dot { border-color:var(--green);color:var(--green);background:rgba(104,232,141,0.1); }
.frise-h-step h3 { font-size:17px;font-weight:700;margin-bottom:4px; }
.frise-h-step .step-tag { font-family:'Caveat',cursive;font-size:17px;margin-bottom:10px; }
.frise-h-step:nth-child(1) .step-tag { color:var(--orange); }
.frise-h-step:nth-child(2) .step-tag { color:var(--blue); }
.frise-h-step:nth-child(3) .step-tag { color:var(--green); }
.frise-h-step p { font-size:15px;color:var(--gray);line-height:1.6;text-align:left;margin-top:10px; }
.frise-h-step strong { color:var(--white);font-weight:600; }
.frise-img-frame { background:var(--black-light);padding:12px 12px 32px;border:2px solid rgba(255,255,255,0.08);border-radius:10px;position:relative;transition:transform 0.4s,box-shadow 0.4s,border-color 0.4s,filter 0.4s;margin-top:14px;overflow:hidden; }
.frise-img-frame:hover { box-shadow:0 8px 24px rgba(255,128,62,0.12),0 0 30px rgba(255,128,62,0.08);border-color:rgba(255,128,62,0.35);filter:brightness(1.06);transform:translateY(-4px); }
.frise-img-frame img { width:100%;object-fit:cover;border-radius:6px;aspect-ratio:4/3;transition:transform 0.5s,filter 0.4s; }
.frise-img-frame:hover img { transform:scale(1.02);filter:brightness(1.05); }
.frise-img-caption { position:absolute;bottom:6px;left:0;right:0;text-align:center;font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.22); }

/* ===== 3 TYPES DE PROTOTYPES ===== */
.types { padding:100px 0; }
.types-header { text-align:center;max-width:700px;margin:0 auto 48px; }
.types-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:8px; }
.types-header p { color:var(--gray);font-size:17px; }
.types-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.type-card { background:var(--black-light);border-radius:16px;padding:32px 24px;border:2px solid rgba(255,255,255,0.06);position:relative;overflow:hidden;transition:transform 0.4s,box-shadow 0.4s,border-color 0.4s,filter 0.4s;display:flex;flex-direction:column; }
.type-card:hover { transform:translateY(-6px);filter:brightness(1.06); }
.type-card::before { content:'';position:absolute;inset:-1px;border-radius:17px;background:var(--tc);opacity:0;transition:opacity 0.4s;pointer-events:none;filter:blur(30px); }
.type-card:hover::before { opacity:0.10; }
.type-card:nth-child(1) { border-top:3px solid var(--orange);--tc:var(--orange); }
.type-card:nth-child(1):hover { box-shadow:0 8px 40px rgba(255,128,62,0.14); }
.type-card:nth-child(2) { border-top:3px solid var(--blue);--tc:var(--blue); }
.type-card:nth-child(2):hover { box-shadow:0 8px 40px rgba(21,168,254,0.14); }
.type-card:nth-child(3) { border-top:3px solid var(--green);--tc:var(--green); }
.type-card:nth-child(3):hover { box-shadow:0 8px 40px rgba(104,232,141,0.14); }
.type-tag { font-family:'Caveat',cursive;font-size:16px;margin-bottom:4px; }
.type-card:nth-child(1) .type-tag { color:var(--orange); }
.type-card:nth-child(2) .type-tag { color:var(--blue); }
.type-card:nth-child(3) .type-tag { color:var(--green); }
.type-card h3 { font-size:20px;font-weight:700;margin-bottom:4px;min-height:28px; }
.type-obj { font-size:15px;font-weight:400;margin-bottom:18px;font-style:italic;min-height:40px;display:flex;align-items:center; }
.type-card:nth-child(1) .type-obj { color:var(--orange); }
.type-card:nth-child(2) .type-obj { color:var(--blue); }
.type-card:nth-child(3) .type-obj { color:var(--green); }
.type-list { list-style:none;margin-bottom:auto;padding-bottom:20px; }
.type-list li { padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:15px;color:var(--gray);display:flex;align-items:flex-start;gap:10px;line-height:1.6; }
.type-list li::before { content:'\2713';font-weight:700;flex-shrink:0; }
.type-card:nth-child(1) .type-list li::before { color:var(--orange); }
.type-card:nth-child(2) .type-list li::before { color:var(--blue); }
.type-card:nth-child(3) .type-list li::before { color:var(--green); }
.type-footer { margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px; }
.type-delay { display:inline-flex;align-items:center;gap:6px;font-family:'Ubuntu',sans-serif;font-size:15px;font-weight:600;padding:6px 14px;border-radius:20px;margin-bottom:0; }
.type-card:nth-child(1) .type-delay { background:rgba(255,128,62,0.1);color:var(--orange); }
.type-card:nth-child(2) .type-delay { background:rgba(21,168,254,0.1);color:var(--blue); }
.type-card:nth-child(3) .type-delay { background:rgba(104,232,141,0.1);color:var(--green); }
.type-ideal { font-family:'Caveat',cursive;font-size:17px;color:var(--green);transform:rotate(-1deg);display:inline-block; }

/* ===== FAQ override: smaller radius ===== */
.fi { border-radius:10px; }

/* ===== RESPONSIVE ===== */
@media (max-width:900px) {
  .probleme-grid { grid-template-columns:1fr;gap:32px; }
  .frise-h { grid-template-columns:1fr;gap:32px;padding:0; }
  .frise-h::before { display:none; }
  .types-grid { grid-template-columns:1fr; }
  .gr { grid-template-columns:160px 1fr; }
  .g-sub .gl { white-space:normal; }
}
@media (max-width:600px) {
  .hero-svc { margin-top:60px; }
  .hs-wrap { margin:0 16px;border-radius:8px; }
}
