﻿/* ---------- Méga-menu « Nos services » */
nav.main>ul>li.has-mega{position:static;display:flex;align-items:center}
.mega-btn{background:none;border:0;color:var(--silver);width:26px;height:26px;margin-left:2px;display:grid;place-items:center;cursor:pointer;border-radius:6px}
.mega-btn svg{width:14px;height:14px;transition:transform .25s}
.mega-btn:hover{color:#fff}
.has-mega.open .mega-btn svg{transform:rotate(180deg)}
.has-mega.open>a{color:#fff;border-color:var(--primary)}
.mega{position:absolute;top:100%;left:50%;width:min(1000px,calc(100vw - 48px));transform:translate(-50%,10px);opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility 0s linear .22s;padding-top:10px;z-index:60}
.has-mega.open .mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.mega-in{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.1fr;gap:28px;background:rgba(10,29,48,.985);border:1px solid var(--line);border-radius:18px;padding:28px 30px;box-shadow:0 40px 80px -30px #000}
.mega-intro h3{font-family:var(--serif);font-weight:500;color:#fff;font-size:1.25rem;line-height:1.25;margin-bottom:10px}
.mega-intro p{font-size:.84rem;color:var(--silver);line-height:1.55}
.mega-intro .bar{display:block;width:44px;height:3px;border-radius:3px;margin:16px 0;background:linear-gradient(90deg,var(--primary),var(--bright))}
nav.main .mega-intro a.more{padding:0;border:0;font-size:.84rem;color:var(--bright);font-weight:600}
nav.main .mega-visual a.btn{padding:9px 18px;border:1px solid var(--primary);color:#fff;font-size:.82rem}
.mega-col h3{display:flex;align-items:center;gap:10px;color:#fff;font-size:.92rem;margin-bottom:12px}
.mega-col .ico{width:32px;height:32px}.mega-col .ico svg{width:17px;height:17px}
nav.main .mega-col ul{display:grid;gap:2px;flex-direction:column;align-items:stretch}
nav.main .mega-col a{display:block;padding:9px 12px;border-radius:9px;font-size:.88rem;color:var(--silver);border:0}
nav.main .mega-col a:hover,nav.main .mega-col a:focus-visible{background:rgba(23,105,170,.28);color:#fff}
nav.main .mega-col a[aria-current=page]{background:rgba(21,155,223,.2);color:#fff;font-weight:600}
.mega-visual{position:relative;border-radius:14px;overflow:hidden;min-height:190px;display:flex;align-items:flex-end;padding:14px;isolation:isolate;background:linear-gradient(145deg,var(--pro),var(--navy))}
.mega-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.mega-visual::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,29,48,.9),rgba(10,29,48,.1) 70%)}
@media (max-width:900px){
  nav.main>ul>li.has-mega{display:block;width:100%;position:relative}
  nav.main>ul>li.has-mega>a{display:inline-block}
  .mega-btn{position:absolute;right:0;top:-2px;width:40px;height:40px}
  .mega{position:static;width:auto;transform:none;opacity:1;visibility:visible;display:none;padding:10px 0 0}
  .has-mega.open .mega{display:block;transform:none}
  .mega-in{grid-template-columns:1fr;gap:14px;padding:14px;box-shadow:none;border-radius:12px}
  .mega-intro,.mega-visual{display:none}
}

/* ---------- Page service premium */
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.chip{display:grid;justify-items:center;gap:8px;text-align:center;background:#fff;border:1px solid #d8e3ee;border-radius:12px;padding:16px 8px;font-size:.84rem;font-weight:600;color:var(--navy);transition:transform .25s,border-color .25s}
.chip:hover{transform:translateY(-4px);border-color:var(--primary)}
.noimg.pic,.pic.noimg{display:grid;place-items:center;background:linear-gradient(145deg,var(--pro),var(--navy))}
.ico.big{width:90px;height:90px;background:rgba(10,29,48,.4);color:#fff}.ico.big svg{width:42px;height:42px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:var(--navy);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,border-color .35s,box-shadow .35s}
.svc-card:hover{transform:translateY(-8px);border-color:var(--bright);box-shadow:0 34px 60px -34px rgba(21,155,223,.55)}
.svc-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,var(--pro),var(--navy))}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .svc-media img{transform:scale(1.07)}
.svc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,42,67,.85),transparent 55%)}
.svc-media .ico{position:absolute;left:18px;bottom:14px;z-index:2;width:48px;height:48px;background:var(--navy);color:#fff;border-color:var(--bright);box-shadow:0 8px 20px -8px #000}
.svc-card.noimg .svc-media .ico{bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px}
.svc-card.noimg .svc-media .ico svg{width:32px;height:32px}
.svc-body{padding:22px 22px 22px;display:grid;gap:8px;flex:1;align-content:start}
.svc-body h3{font-family:var(--serif);font-weight:500;color:#fff;font-size:1.12rem;line-height:1.3}
.svc-body p{font-size:.88rem;color:var(--silver);line-height:1.6}
.svc-more{margin-top:8px;font-size:.84rem;font-weight:600;color:var(--bright);display:inline-flex;gap:8px;align-items:center}
.svc-more::after{content:"→";transition:transform .25s}
.svc-card:hover .svc-more::after{transform:translateX(6px)}
.env-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.env{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;isolation:isolate;border:1px solid #d8e3ee;background:linear-gradient(145deg,var(--pro),var(--navy))}
.env img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}
.env:hover img{transform:scale(1.07)}
.env::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,29,48,.92),rgba(10,29,48,.05) 70%)}
.env.noimg::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 70% 20%,rgba(21,155,223,.28),transparent 70%)}
.env .in{position:absolute;inset:auto 0 0 0;padding:16px 18px;display:flex;gap:12px;align-items:center;color:#fff;font-weight:600;font-size:.95rem}
.env .ico{width:40px;height:40px;flex:none;background:rgba(10,29,48,.6);color:#fff;border-color:rgba(255,255,255,.35)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;counter-reset:s;margin-top:10px}
.steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:38px;height:2px;background:linear-gradient(90deg,var(--primary),var(--bright),var(--primary));opacity:.55}
.step{position:relative;text-align:center;padding:0 8px}
.step .ico{width:76px;height:76px;margin:0 auto 14px;position:relative;z-index:1;background:var(--navy);border-color:var(--bright);color:#fff;box-shadow:0 0 0 8px rgba(23,105,170,.14);transition:transform .3s,box-shadow .3s}
.step:hover .ico{transform:translateY(-4px);box-shadow:0 0 0 12px rgba(21,155,223,.18)}
.step .ico svg{width:32px;height:32px}
.step .num{display:block;font-family:var(--serif);color:var(--bright);font-size:1.15rem;margin-bottom:4px}
.step h3{color:#fff;font-size:1rem;line-height:1.35;margin-bottom:6px}
.step p{font-size:.85rem;color:var(--silver)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-top:26px}
.why-i{display:flex;gap:14px;align-items:flex-start}
.why-i .ico{flex:none}
.why-i b{display:block;color:var(--navy);font-size:.95rem;margin-bottom:3px}
.why-i div>span{font-size:.86rem;color:var(--ink);line-height:1.55}
.final-p{color:var(--light);max-width:620px;margin:0 auto 28px}
@media (max-width:1180px){.svc-grid,.env-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:34px 16px}.steps::before{display:none}.why-grid{grid-template-columns:1fr}.chips{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr!important}}
@media (max-width:640px){.svc-grid,.env-grid,.steps{grid-template-columns:1fr}}
.steps{list-style:none;padding:0}

/* ---------- Offres d'emploi : fiche de poste */
.job{display:block}
.job-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.job .dept{font-size:.8rem;font-weight:600;color:var(--primary);margin-top:2px}
.job .clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.job-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn.line{background:#fff;color:var(--navy);border-color:#b8cbe0;box-shadow:none}
.btn.line:hover{background:var(--light);border-color:var(--primary);color:var(--navy)}
.sheet{margin-top:18px;border-top:1px solid #d8e3ee;padding-top:18px;color:var(--ink);font-size:.9rem;line-height:1.65}
.sheet h5{color:var(--navy);font-size:.95rem;margin:18px 0 6px}
.sheet h6{color:var(--primary);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin:12px 0 4px}
.sheet ul{margin:0 0 4px 20px;list-style:disc}
.sheet li{margin-bottom:4px}
.sheet-meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;background:var(--offwhite);border:1px solid #d8e3ee;border-radius:10px;padding:12px 16px}
.sheet-meta dt{font-weight:600;color:var(--navy)}
.sheet-risk{background:#e8f1fb;border-left:4px solid var(--primary);padding:10px 14px;border-radius:6px}
.jobdesc details{margin-top:8px;background:transparent;border:0;padding:0}
.jobdesc summary{color:var(--primary);font-weight:600;display:block}
.jobdesc summary::after{content:none}
.jobdesc .dept{font-size:.8rem;font-weight:600;color:var(--primary);margin-bottom:4px}
.jobdesc .sheet{border-top:0}
@media (max-width:640px){.sheet-meta{grid-template-columns:1fr}.job-act .btn{flex:1}}
