/* =========================================================
   Good Entrepreneur SAS : proposition 2
   ========================================================= */
@font-face{font-family:"Bricolage";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;
  src:url(../fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2-variations"),url(../fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;
  src:url(../fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2-variations"),url(../fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* Couleurs reprises du logo Good Entrepreneur */
  --logo-cyan:#0BABBE;
  --logo-vert:#43A049;
  --logo-lime:#BECA36;
  --logo-jaune:#F8D73C;
  --logo-orange:#F68D0A;
  --logo-rouge:#E34940;
  /* Couleurs du site (noms historiques conservés) */
  --petrole:#143D2B;      /* vert forêt, base sombre */
  --petrole-2:#1E5139;
  --petrole-3:#2F7148;
  --soleil:#F68D0A;       /* orange du logo */
  --soleil-2:#FFA232;
  --ciel:#DCEFD8;         /* vert clair */
  --ciel-2:#EEF7EC;
  --fond:#F6F8F5;
  --blanc:#FFFFFF;
  --encre:#0F241A;
  --gris:#58705F;
  --trait:#DCE5DC;
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Bricolage",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;color:var(--encre);background:var(--fond);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
svg{flex-shrink:0}
:focus-visible{outline:3px solid var(--soleil);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:var(--soleil);color:var(--encre);padding:10px 16px;z-index:100;font-weight:700;border-radius:8px}
.skip:focus{left:12px;top:12px}

/* ---------- Type ---------- */
h1,h2,h3{font-weight:700;letter-spacing:-.025em;line-height:1.02}
h1{font-size:clamp(2.8rem,6.6vw,5.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:1.3rem;letter-spacing:-.01em;line-height:1.2}
p{max-width:64ch}
.lead{font-size:1.2rem;line-height:1.55;color:var(--gris);max-width:54ch}
.muted{color:var(--gris)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
.head p{color:var(--gris);justify-self:end;max-width:44ch}

/* ---------- Header : îlot flottant ---------- */
.site-head{position:sticky;top:0;z-index:40;padding:14px 0}
.island{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px) saturate(1.4);
  border:1px solid rgba(20,61,43,.08);border-radius:999px;padding:8px 8px 8px 20px;box-shadow:0 10px 30px -18px rgba(15,36,26,.45)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre)}
.logo-img{height:40px;width:auto}
footer .logo-img{height:44px;background:#fff;border-radius:14px;padding:6px 8px;box-sizing:content-box}
.logo-mark{width:36px;height:36px;border-radius:50%;background:var(--petrole);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;letter-spacing:-.02em;position:relative}
.logo-mark::after{content:"";position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:var(--soleil);border:2px solid #fff}
.logo-txt{font-weight:700;font-size:1.08rem;letter-spacing:-.02em;line-height:1}
.logo-txt small{font-weight:500;color:var(--gris);font-size:.8rem;margin-left:4px}
nav.menu{display:flex;align-items:center;gap:6px}
nav.menu ul{list-style:none;display:flex;gap:2px}
nav.menu ul a{display:block;padding:10px 14px;text-decoration:none;font-size:.95rem;font-weight:500;border-radius:999px;color:var(--gris)}
nav.menu ul a:hover{color:var(--encre);background:var(--ciel-2)}
nav.menu ul a[aria-current="page"]{color:var(--petrole);background:var(--ciel);font-weight:650}
.burger{display:none;background:var(--petrole);border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer;padding:11px 18px;border-radius:999px;align-items:center;gap:8px}
.burger svg{width:20px;height:20px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;font:inherit;font-weight:650;font-size:.98rem;text-decoration:none;
  border:1.5px solid transparent;border-radius:999px;cursor:pointer;background:none;line-height:1.2;transition:background .15s,border-color .15s,transform .15s}
.btn:active{transform:scale(.98)}
.btn svg{width:20px;height:20px}
.btn-soleil{background:var(--soleil);color:var(--encre)}
.btn-soleil:hover{background:var(--soleil-2)}
.btn-petrole{background:var(--petrole);color:#fff}
.btn-petrole:hover{background:var(--petrole-2)}
.btn-blanc{background:#fff;color:var(--petrole)}
.btn-blanc:hover{background:var(--ciel-2)}
.btn-line{border-color:rgba(255,255,255,.45);color:#fff}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-line-dark{border-color:var(--trait);color:var(--petrole);background:#fff}
.btn-line-dark:hover{border-color:var(--petrole)}
.btn-wa{background:#1F8A5B;color:#fff}
.btn-wa:hover{background:#18764D}
.btn-sm{padding:10px 16px;font-size:.92rem}
.btn-block{width:100%}
.link{font-weight:650;color:var(--petrole);text-decoration:none;display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-decoration-color:var(--soleil);text-decoration-thickness:2px;text-underline-offset:5px}
.link:hover{text-decoration-color:var(--petrole)}

/* ---------- Accueil : héros à deux chemins ---------- */
.hero{padding:40px 0 24px}
.hero-top{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:40px}
.hero-top > *{min-width:0}
.hero-top h1{max-width:13ch}
.hero-top .lead{justify-self:end}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--trait);padding:8px 14px;border-radius:999px;font-size:.92rem;font-weight:500}
.pill svg{width:18px;height:18px;color:var(--petrole-3)}

.paths{display:flex;gap:16px;min-height:520px}
.path{flex:1;position:relative;border-radius:36px;padding:40px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;
  transition:flex-grow .5s cubic-bezier(.3,.7,.2,1)}
.path:hover,.path:focus-within{flex-grow:1.35}
.path-a{background:var(--petrole);color:#fff}
.path-b{background:var(--soleil);color:var(--encre)}
.path .tag{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font-weight:600;font-size:.92rem;padding:7px 14px;border-radius:999px}
.path-a .tag{background:var(--petrole-2);color:var(--ciel)}
.path-b .tag{background:rgba(15,36,26,.1)}
.path .tag svg{width:18px;height:18px}
.path h2{font-size:clamp(2.2rem,4vw,3.4rem);margin:24px 0 16px;max-width:11ch}
.path p{max-width:38ch}
.path-a p{color:#BFD8C6}
.path ul{list-style:none;margin:22px 0 0;display:grid;gap:8px}
.path li{display:flex;gap:10px;align-items:center;font-weight:500}
.path li svg{width:20px;height:20px}
.path-a li svg{color:var(--soleil)}
.path .go{margin-top:auto;padding-top:32px;display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}
.path .art{position:absolute;right:-24px;top:-24px;width:260px;height:260px;opacity:.16;pointer-events:none}
.path-b .art{opacity:.14}
.path .art svg{width:100%;height:100%}

/* ---------- Sections ---------- */
section{padding:110px 0}
.bg-blanc{background:var(--blanc)}
.bg-petrole{background:var(--petrole);color:#fff}
.bg-petrole .muted,.bg-petrole .lead{color:#BFD8C6}

/* Route en trois étapes (vraie séquence) */
.route{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;counter-reset:s}
.route::before{content:"";position:absolute;left:30px;right:30px;top:29px;height:3px;
  background:repeating-linear-gradient(90deg,var(--soleil) 0 22px,transparent 22px 36px)}
.route li{position:relative;counter-increment:s}
.route.v{grid-template-columns:1fr;gap:18px}
.route.v::before{left:29px;right:auto;top:30px;bottom:30px;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--soleil) 0 22px,transparent 22px 36px)}
.route.v li{display:grid;grid-template-columns:60px 1fr;column-gap:20px}
.route.v li::before{grid-row:span 2;margin:0}
.bg-petrole .route li::before{border-color:var(--petrole);background:var(--soleil);color:var(--encre)}
.route li::before{content:counter(s);position:relative;z-index:1;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:var(--petrole);color:#fff;font-weight:700;font-size:1.3rem;border:6px solid var(--fond);margin-bottom:22px}
.bg-blanc .route li::before{border-color:#fff}
.route h3{margin-bottom:6px}
.route p{color:var(--gris)}

/* Index des activités */
.index{list-style:none;border-top:1px solid var(--trait)}
.index a{display:grid;grid-template-columns:72px 1.1fr 1.4fr 48px;gap:28px;align-items:center;padding:30px 20px;border-bottom:1px solid var(--trait);text-decoration:none;border-radius:20px;transition:background .2s}
.index a:hover{background:var(--ciel-2)}
.index .ic{width:72px;height:72px;border-radius:22px;background:var(--ciel);color:var(--petrole);display:grid;place-items:center}
.index .ic svg{width:32px;height:32px}
.index h3{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.02em}
.index small{display:block;color:var(--gris);font-size:.9rem;margin-top:6px}
.index p{color:var(--gris)}
.index .chev{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--trait);display:grid;place-items:center;color:var(--petrole);transition:background .2s,color .2s,border-color .2s}
.index a:hover .chev{background:var(--soleil);border-color:var(--soleil);color:var(--encre)}
.index .chev svg{width:20px;height:20px}

/* Carrousel flotte */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.rail > *{scroll-snap-align:start}

/* ---------- Cartes véhicule (générées par main.js) ---------- */
.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.car{background:#fff;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--trait)}
.car .photo{border-radius:0;min-height:220px}
.car-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.car-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.car h3{font-size:1.35rem}
.plate{font-weight:700;font-size:.85rem;background:var(--ciel);color:var(--petrole);padding:4px 10px;border-radius:999px;white-space:nowrap}
.specs{display:flex;gap:8px;flex-wrap:wrap}
.specs span{display:inline-flex;align-items:center;gap:6px;background:var(--fond);padding:6px 11px;border-radius:999px;font-size:.88rem;color:var(--gris)}
.specs svg{width:16px;height:16px}
.car .btn{margin-top:auto}

/* ---------- Photos (emplacements) ---------- */
.photo{position:relative;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),transparent 60%),linear-gradient(160deg,var(--ciel),#BFDDB8);
  border-radius:28px;display:flex;align-items:flex-end;color:var(--petrole);font-size:.85rem;min-height:220px;overflow:hidden}
.photo::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23143D2B' stroke-width='1.2' opacity='.22'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E") center/56px no-repeat}
.photo > span{position:relative;background:rgba(255,255,255,.9);padding:6px 12px;margin:14px;border-radius:999px}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* Réservation (bloc pétrole) */
.book{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.book h2{color:#fff}
.bg-petrole .form-card .muted{color:var(--gris)}
.form-card{background:#fff;color:var(--encre);border-radius:32px;padding:36px}
.form-card h2{font-size:2rem;margin-bottom:6px;color:var(--encre)}

/* Bandeau d'appel */
.cta{background:var(--soleil);border-radius:36px;padding:56px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;position:relative;overflow:hidden}
.cta h2{max-width:16ch}
.cta p{margin-top:12px;max-width:44ch}
.cta-wrap{padding:0 0 110px}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Pages intérieures ---------- */
.ph{padding:36px 0 72px}
.ph-card{background:var(--ciel);border-radius:40px;padding:56px 56px 60px;position:relative;overflow:hidden}
.ph-card::after{content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:var(--soleil);opacity:.9}
.ph-card::before{content:"";position:absolute;right:120px;bottom:-90px;width:180px;height:180px;border-radius:50%;border:28px solid var(--petrole);opacity:.12}
.ph-card > *{position:relative;z-index:1}
.crumbs{list-style:none;display:flex;gap:10px;font-size:.9rem;color:var(--petrole-3);margin-bottom:24px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:10px;opacity:.5}
.ph h1{color:var(--petrole);max-width:14ch}
.ph .lead{margin-top:20px;color:var(--petrole-2)}

/* Qui sommes-nous : frise horizontale */
.frise{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.frise::before{content:"";position:absolute;left:0;right:0;top:11px;height:3px;background:repeating-linear-gradient(90deg,var(--petrole) 0 22px,transparent 22px 36px);opacity:.35}
.frise li{position:relative;padding-top:44px}
.frise li::before{content:"";position:absolute;left:0;top:0;width:25px;height:25px;border-radius:50%;background:var(--soleil);border:5px solid var(--fond)}
.frise time{font-weight:700;color:var(--petrole-3);font-size:.95rem}
.frise h3{margin:6px 0}
.frise p{color:var(--gris);font-size:.97rem}

.mission{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.mission-txt{background:var(--petrole);color:#fff;border-radius:32px;padding:48px}
.mission-txt .lead{color:#fff;font-size:1.45rem;margin-top:20px;max-width:30ch}
.mission-txt p{color:#BFD8C6;margin-top:18px}
.mission .photo{min-height:360px;border-radius:32px}

.values{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.values article{background:var(--fond);border-radius:24px;padding:26px 22px}
.values .ic{width:46px;height:46px;border-radius:14px;background:var(--petrole);color:var(--soleil);display:grid;place-items:center;margin-bottom:20px}
.values .ic svg{width:22px;height:22px}
.values h3{font-size:1.15rem;margin-bottom:8px}
.values p{color:var(--gris);font-size:.95rem}

.goals{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 40px}
.goals li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--trait);font-weight:500}
.goals svg{width:22px;height:22px;color:var(--soleil);margin-top:2px}

/* Activités : onglets */
.act-tabs{display:flex;gap:8px;background:#fff;border:1px solid var(--trait);padding:6px;border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;margin-bottom:40px}
.act-tabs .tab{border:0;background:none;font:inherit;font-weight:600;padding:12px 22px;border-radius:999px;cursor:pointer;color:var(--gris);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.act-tabs .tab svg{width:18px;height:18px}
.act-tabs .tab[aria-selected="true"]{background:var(--petrole);color:#fff}
.act{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.act[hidden]{display:none}
.act .photo{min-height:520px;position:sticky;top:110px}
.since{display:inline-flex;align-items:center;gap:8px;background:var(--ciel);color:var(--petrole);padding:7px 14px;font-size:.9rem;font-weight:600;margin-bottom:20px;border-radius:999px}
.since svg{width:16px;height:16px}
.act h2{margin-bottom:18px}
.svc{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.svc li{background:#fff;border:1px solid var(--trait);border-radius:18px;padding:16px 18px;display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:.97rem}
.svc svg{width:20px;height:20px;color:var(--petrole-3);margin-top:2px}
.note{margin-top:20px;padding:18px 22px;background:var(--ciel-2);border-radius:18px}

/* Flotte : à bord */
.onboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.onboard article{background:var(--fond);border-radius:24px;padding:26px 22px}
.onboard .ic{width:46px;height:46px;border-radius:14px;background:var(--soleil);color:var(--encre);display:grid;place-items:center;margin-bottom:18px}
.onboard .ic svg{width:22px;height:22px}
.onboard h3{font-size:1.15rem;margin-bottom:6px}
.onboard p{color:var(--gris);font-size:.95rem}

/* Partenaires */
.audience{display:flex;flex-wrap:wrap;gap:10px}
.audience span{background:#fff;border:1px solid var(--trait);padding:12px 20px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:10px;font-size:1.02rem}
.audience svg{width:20px;height:20px;color:var(--petrole-3)}
.collab{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.collab article{border-radius:32px;padding:36px 32px;display:flex;flex-direction:column;min-height:340px}
.collab article:nth-child(1){background:var(--petrole);color:#fff}
.collab article:nth-child(1) p{color:#BFD8C6}
.collab article:nth-child(1) .link{color:#fff}
.collab article:nth-child(2){background:var(--ciel)}
.collab article:nth-child(3){background:var(--soleil)}
.collab article:nth-child(3) .link{text-decoration-color:var(--encre);color:var(--encre)}
.collab .ic{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;margin-bottom:26px}
.collab article:nth-child(2) .ic,.collab article:nth-child(3) .ic{background:rgba(255,255,255,.6)}
.collab .ic svg{width:24px;height:24px}
.collab h3{font-size:1.6rem;margin-bottom:12px}
.collab p{margin-bottom:24px}
.collab .link{margin-top:auto;align-self:flex-start}

/* Contact */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}
.coords{display:grid;gap:10px}
.coord{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--trait);border-radius:22px;padding:18px 20px;text-decoration:none}
a.coord:hover{border-color:var(--petrole)}
.coord .ic{width:48px;height:48px;border-radius:16px;background:var(--ciel);color:var(--petrole);display:grid;place-items:center}
.coord .ic svg{width:22px;height:22px}
.coord b{display:block;font-size:.88rem;color:var(--gris);font-weight:500}
.coord span{font-weight:600;font-size:1.05rem}
.coord span a{text-decoration:none}
.coord.wa .ic{background:#1F8A5B;color:#fff}
.map{min-height:260px;position:relative;border-radius:28px;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact .form-card{border:1px solid var(--trait)}

/* ---------- Formulaires ---------- */
.field{margin-top:16px}
label{display:block;font-weight:600;margin-bottom:7px;font-size:.92rem}
label .opt{font-weight:400;color:var(--gris)}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:14px 16px;border:1.5px solid var(--trait);border-radius:16px;background:var(--fond);color:var(--encre);transition:border-color .15s,box-shadow .15s,background .15s}
input:focus,select:focus,textarea:focus{border-color:var(--petrole);background:#fff;outline:none;box-shadow:0 0 0 4px rgba(20,61,43,.12)}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#C0392B}
textarea{min-height:140px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{margin:0;padding:10px 16px;border:1.5px solid var(--trait);border-radius:999px;cursor:pointer;font-weight:600;font-size:.93rem;background:#fff}
.chips input:checked + label{background:var(--petrole);border-color:var(--petrole);color:#fff}
.chips input:focus-visible + label{outline:3px solid var(--soleil);outline-offset:2px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.form-msg{margin-top:14px;font-weight:600;color:#1F8A5B;min-height:1.5em}
.form-msg.err{color:#C0392B}

/* ---------- Pied de page ---------- */
footer::before{content:"";display:block;height:6px;max-width:220px;margin:-80px auto 74px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--logo-cyan) 0 16.6%,var(--logo-vert) 0 33.3%,var(--logo-lime) 0 50%,var(--logo-jaune) 0 66.6%,var(--logo-orange) 0 83.3%,var(--logo-rouge) 0)}
footer{background:var(--encre);color:#A9BFB0;padding:80px 0 40px;font-size:.95rem;border-radius:40px 40px 0 0}
footer .wrap{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer .logo{color:#fff;margin-bottom:16px}
footer .logo-img{height:40px;width:auto}
footer .logo-img{height:44px;background:#fff;border-radius:14px;padding:6px 8px;box-sizing:content-box}
.logo-mark{background:#fff;color:var(--petrole)}
footer .logo-mark::after{border-color:var(--encre)}
footer .logo-txt small{color:#A9BFB0}
.foot-big{grid-column:1/-1;font-weight:700;letter-spacing:-.03em;font-size:clamp(2.2rem,6vw,4.8rem);line-height:1;color:#fff;margin-bottom:40px;max-width:18ch}
.foot-big span{color:var(--soleil)}
footer strong{color:#fff;display:block;margin-bottom:12px;font-weight:650}
footer ul{list-style:none}
footer li{padding:4px 0}
footer a{text-decoration:none}
footer a:hover{color:var(--soleil)}
.legal{grid-column:1/-1;border-top:1px solid #21402F;padding-top:24px;margin-top:20px;font-size:.85rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- Dock d'actions (toujours visible) ---------- */
.island-cta{margin-left:6px}
.mbar{display:none;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;gap:4px;background:var(--encre);padding:6px;border-radius:999px;box-shadow:0 16px 40px -10px rgba(15,36,26,.55)}
.mbar a{display:flex;align-items:center;gap:8px;padding:12px 18px;text-decoration:none;font-size:.93rem;font-weight:600;color:#fff;border-radius:999px}
.mbar a:hover{background:#1E3A2B}
.mbar a svg{width:20px;height:20px}
.mbar a.main{background:var(--soleil);color:var(--encre)}
.mbar a.main:hover{background:var(--soleil-2)}
.mbar a.wa svg{color:#6BD48A}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .values{grid-template-columns:repeat(3,1fr)}
  .onboard{grid-template-columns:repeat(2,1fr)}
  .fleet{grid-template-columns:repeat(2,1fr)}
  footer .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .burger{display:inline-flex}
  .island-cta{display:none}
  .mbar{display:flex}
  footer{padding-bottom:120px}
  nav.menu{position:absolute;top:calc(100% + 4px);left:28px;right:28px;background:#fff;border-radius:28px;display:none;flex-direction:column;align-items:stretch;padding:12px;box-shadow:0 20px 40px -16px rgba(15,36,26,.4)}
  nav.menu.open{display:flex}
  nav.menu ul{flex-direction:column;gap:2px}
  nav.menu ul a{padding:14px 18px;font-size:1.05rem;border-radius:18px}
  .site-head .wrap{position:relative}
  .hero-top,.head,.book,.act,.contact,.mission,.cta{grid-template-columns:1fr}
  .hero-top .lead,.head p{justify-self:start}
  .paths{flex-direction:column;min-height:0}
  .path{min-height:420px}
  .path:hover,.path:focus-within{flex-grow:1}
  .index a{grid-template-columns:56px 1fr 40px;gap:18px;padding:24px 8px}
  .index .ic{width:56px;height:56px;border-radius:18px}
  .index p{grid-column:2/3}
  .index .chev{grid-row:1;grid-column:3;width:40px;height:40px}
  .route,.collab,.frise{grid-template-columns:1fr}
  .route::before{left:29px;right:auto;top:30px;bottom:30px;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--soleil) 0 22px,transparent 22px 36px)}
  .route li{display:grid;grid-template-columns:60px 1fr;column-gap:20px}
  .route li::before{grid-row:span 2;margin:0}
  .frise::before{left:11px;right:auto;top:0;bottom:0;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--petrole) 0 22px,transparent 22px 36px)}
  .frise li{padding:0 0 8px 48px}
  .act .photo{position:relative;top:0;min-height:300px}
  .collab article{min-height:0}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  section{padding:72px 0}
  .cta-wrap{padding-bottom:72px}
  .island{padding:6px 6px 6px 14px}
  .logo-txt small{display:none}
  .logo-txt{white-space:nowrap;font-size:1rem}
  .logo-img{height:34px}
  .pills{gap:6px;flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px;scrollbar-width:none}
  .pill{white-space:nowrap}
  .hero-top .lead{font-size:1.05rem}
  .pill{font-size:.84rem;padding:6px 11px}
  .hero{padding-top:24px}
  .hero-top{gap:20px;margin-bottom:28px}
  nav.menu{left:18px;right:18px}
  .path{padding:30px 26px;border-radius:30px;min-height:0}
  .path .art{width:180px;height:180px}
  .ph-card{padding:36px 26px 40px;border-radius:30px}
  .ph-card::after{width:160px;height:160px;right:-50px;top:-50px}
  .values,.onboard,.fleet,.svc,.goals,.row{grid-template-columns:1fr}
  .form-card{padding:26px 20px;border-radius:26px}
  .cta{padding:36px 26px;border-radius:30px}
  .mission-txt{padding:32px 26px}
  footer .wrap{grid-template-columns:1fr}
  footer{border-radius:30px 30px 0 0}
  .mbar{left:12px;right:12px;transform:none;justify-content:space-between}
  .mbar a{flex:1;justify-content:center;padding:12px 8px;font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
