/* ================================================================
   SERVICES — Styles specifiques
   ================================================================ */

/* ===== SERVICE CARDS (variante Services) ===== */
.services { padding:100px 0; }
.services-header { text-align:center;max-width:680px;margin:0 auto 48px; }
.services-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:12px; }
.services-header p { color:var(--gray);font-size:17px;line-height:1.7; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:32px; }

.sc { 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;display:flex;flex-direction:column;position:relative; }
.sc:hover { transform:translateY(-6px);border-color:rgba(255,255,255,0.1);filter:brightness(1.08); }
.sc::before { content:'';position:absolute;inset:-1px;border-radius:12px;background:var(--glow);opacity:0;transition:opacity 0.4s;pointer-events:none;filter:blur(30px);z-index:0; }
.sc:hover::before { opacity:0.10; }
.sc-orange { --glow:var(--orange); } .sc-orange:hover { border-color:rgba(255,128,62,0.35);box-shadow:0 8px 40px rgba(255,128,62,0.14); }
.sc-blue { --glow:var(--blue); } .sc-blue:hover { border-color:rgba(21,168,254,0.35);box-shadow:0 8px 40px rgba(21,168,254,0.14); }
.sc-green { --glow:var(--green); } .sc-green:hover { border-color:rgba(104,232,141,0.35);box-shadow:0 8px 40px rgba(104,232,141,0.14); }

.sc-photo { height:200px;overflow:hidden;position:relative;border-bottom:5px solid var(--glow); }
.sc-photo img { width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1),filter 0.4s; }
.sc:hover .sc-photo img { transform:scale(1.03);filter:brightness(1.10); }
.sc-photo-cap { position:absolute;bottom:8px;right:12px;font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.4); }

.sc-body { padding:24px;flex:1;position:relative;z-index:1; }
.sc-phase { font-family:'Caveat',cursive;font-size:16px;color:var(--glow);margin-bottom:4px;opacity:0.8; }
.sc h3 { font-size:20px;font-weight:700;margin-bottom:6px; }
.sc-sub { font-family:'Caveat',cursive;font-size:16px;color:var(--glow);margin-bottom:12px;opacity:0.7; }
.sc p { color:var(--gray);font-size:16px;line-height:1.7; }

.sc-tags { display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px;position:relative;z-index:1; }
.sc-tag { font-size:12px;padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.6);transition:border-color 0.4s,color 0.4s; }
.sc:hover .sc-tag { border-color:var(--glow);color:var(--glow); }

.sc-cta { padding:0 24px 24px;position:relative;z-index:1; }
.sc-btn { display:block;text-align:center;font-family:'Ubuntu',sans-serif;font-weight:600;font-size:16px;padding:13px;border-radius:8px;transition:all 0.4s; }
.sc-orange .sc-btn { background:rgba(255,128,62,0.12);color:var(--orange); } .sc-orange .sc-btn:hover { background:var(--orange);color:var(--black); }
.sc-blue .sc-btn { background:rgba(21,168,254,0.12);color:var(--blue); } .sc-blue .sc-btn:hover { background:var(--blue);color:var(--black); }
.sc-green .sc-btn { background:rgba(104,232,141,0.12);color:var(--green); } .sc-green .sc-btn:hover { background:var(--green);color:var(--black); }

.sc-orange .sc-photo img { transform:scaleX(-1); }
.sc-orange:hover .sc-photo img { transform:scaleX(-1) scale(1.03);filter:brightness(1.12); }

.sc .card-glow { position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,transparent 70%);opacity:0;transition:opacity 0.4s;pointer-events:none;filter:blur(40px);transform:translate(-50%,-50%);z-index:0; }
.sc:hover .card-glow { opacity:0.14; }

/* ===== GANTT COMPACT ===== */
.gantt-section { padding:100px 0; }
.gantt-header { text-align:center;margin-bottom:32px; }
.gantt-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:8px; }
.gantt-header p { color:var(--gray);font-size:16px; }
.gantt { background:var(--black-light);border-radius:12px;padding:18px 22px;border:2px solid rgba(255,255,255,0.06);overflow-x:auto; }
.gr { display:grid;grid-template-columns:260px 1fr;align-items:center;min-height:26px; }
.g-head { border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:6px;margin-bottom:2px; }
.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(12,1fr);font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.25);text-align:center; }
.g-grp { margin-bottom:1px; }
.g-ph { background:rgba(255,255,255,0.02);border-radius:5px;padding:3px 10px;margin:3px 0 0;border-left:3px solid var(--gc); }
.g-ph .gl { font-size:15px; } .g-ph .gl strong { font-size:16px; }
.g-su { padding:0 10px; }
.g-su .gl { font-size:12px;color:var(--gray);padding-left:12px; }
.gb { position:relative;height:18px; }
.g-bar { position:absolute;top:3px;height:12px;border-radius:6px;opacity:0.85; }
.g-bar:hover { opacity:1; }
.g-bsub { position:absolute;top:4px;height:10px;border-radius:5px; }
.g-ph .gb { height:20px; } .g-ph .g-bar { top:4px;height:12px; }
.g-note { text-align:center;margin-top:10px;font-family:'Caveat',cursive;font-size:16px;color:var(--gray);opacity:0.5; }

/* ===== METHODE ===== */
.methode { padding:100px 0; }
.methode-header { text-align:center;max-width:600px;margin:0 auto 40px; }
.methode-header h2 { font-size:clamp(28px,3vw,38px);margin-bottom:8px; }
.fund-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:32px; }
.fg-card { display:flex;gap:20px;align-items:stretch;transition:transform 0.4s; }
.fg-card:hover { transform:translateY(-3px); }
.fg-frame { position:relative;background:var(--black-light);padding:12px 12px 32px;border:2px solid rgba(255,255,255,0.08);border-radius:10px;flex-shrink:0;width:calc(25vw - 40px);max-width:280px;min-width:200px;overflow:hidden;transition:box-shadow 0.4s,border-color 0.4s,filter 0.4s; }
.fg-card:hover .fg-frame { 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); }
.fg-frame img { width:100%;height:180px;object-fit:cover;border-radius:6px;transition:transform 0.5s,filter 0.4s; }
.fg-card:hover .fg-frame img { transform:scale(1.02);filter:brightness(1.05); }
.fg-cap { font-family:'Caveat',cursive;font-size:16px;color:rgba(255,255,255,0.22);text-align:center;margin-top:6px; }
.fg-body { flex:1;display:flex;flex-direction:column;justify-content:center; }
.fg-body h4 { font-size:16px;font-weight:700;margin-bottom:6px;line-height:1.3; }
.fg-body p { font-size:16px;color:var(--gray);line-height:1.7; }

/* ===== SC-LINK (wrapper <a> dans services-grid) ===== */
.sc-link { display:flex;flex-direction:column; }
.sc-link .sc { flex:1; }

/* ===== ADAPTABILITE ===== */
.adapt { padding:60px 0; }
.adapt-box { background:var(--black-light);border-radius:20px;padding:64px;border:2px solid rgba(255,255,255,0.06);display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;position:relative;transition:border-color 0.4s,box-shadow 0.4s; }
.adapt-box:hover { border-color:rgba(255,128,62,0.3);box-shadow:0 12px 50px rgba(0,0,0,0.25),0 0 30px rgba(255,128,62,0.08); }
.adapt-box::after { content:'';position:absolute;inset:-1px;border-radius:20px;background:linear-gradient(135deg,var(--orange),var(--blue),var(--green));opacity:0;transition:opacity 0.4s;pointer-events:none;filter:blur(40px);z-index:0; }
.adapt-box:hover::after { opacity:0.06; }
.adapt-box h2 { font-size:clamp(28px,3vw,38px);margin-bottom:12px; }
.adapt-box>div:first-child p { font-size:17px;color:var(--gray);line-height:1.7;margin-bottom:12px; }
.adapt-hand { font-family:'Caveat',cursive;font-size:16px;color:var(--green);opacity:0.7; }
.adapt-scenarios { display:flex;flex-direction:column;gap:8px; }
a.scenario { text-decoration:none;color:inherit; }
.scenario { display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:8px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);transition:border-color 0.4s,transform 0.4s,box-shadow 0.4s; }
.scenario:hover { border-color:rgba(255,128,62,0.3);transform:translateX(4px);background:rgba(255,255,255,0.04);box-shadow:0 4px 20px rgba(255,128,62,0.08); }
.scenario-icon { font-size:18px;flex-shrink:0;margin-top:1px; }
.scenario strong { font-size:17px;display:block;margin-bottom:1px; }
.scenario p { font-size:16px;color:var(--gray);line-height:1.7; }

/* ===== RESPONSIVE ===== */
@media (max-width:900px) {
  .services-grid { grid-template-columns:1fr;max-width:440px;margin:0 auto; }
  .fund-grid { grid-template-columns:1fr; } .fg-card { flex-direction:column; } .fg-frame { width:100%; } .fg-frame img { height:180px; }
  .adapt-box { grid-template-columns:1fr; }
  .gr { grid-template-columns:200px 1fr; }
}
@media (max-width:600px) {
  .gr { grid-template-columns:150px 1fr; }
}
