/* =============================================================
   arbusteo — offres (téo / arbusteo IA / arbusteo®), méthode
   métier, preuves terrain, matériel & logistique, bloc téo.
   Statuts : le libellé porte l'information (« Disponible » /
   « En développement »), doublé d'une forme (trait plein /
   pointillé) — jamais la couleur seule.
   ============================================================= */

/* ---------- statuts ---------------------------------------------------- */
.stat{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap}
.stat .material-symbols-outlined{font-size:15px}
.stat--ok{background:var(--olive-light);color:var(--green-deep);border:1.5px solid var(--green-dark)}
.stat--dev{background:#fff;color:#6c3a00;border:1.5px dashed var(--ocre)}
.stat--soon{background:var(--ocre);color:#fff;border:1.5px solid var(--ocre)}

/* ---------- les trois offres ------------------------------------------ */
.of-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto;gap:20px;align-items:stretch}
.of-card{grid-row:1/-1;display:grid;grid-template-rows:subgrid;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:clamp(22px,2.4vw,28px)}
.of-card--teo{border:1.5px solid var(--olive);box-shadow:var(--shadow-2)}
.of-id{display:flex;flex-direction:column;gap:6px}
.of-name{font-size:clamp(21px,2.1vw,25px);font-weight:700;letter-spacing:-.4px;color:var(--green-title);line-height:1.1}
.of-name .by{font-size:.6em;font-weight:600;color:var(--ink-soft);letter-spacing:0}
.of-name em{font-style:normal;color:var(--green-dark)}
.of-role{font-size:13.5px;line-height:1.4;color:var(--ink-soft)}
.of-promise{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--green-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;align-self:start;margin-top:2px}
.of-promise .material-symbols-outlined{font-size:22px;color:var(--olive)}
.of-body{font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.of-foot{display:flex;align-items:flex-end}
.of-note{margin:24px auto 0;max-width:70ch;text-align:center;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}

/* ---------- méthode métier (4 temps) ---------------------------------- */
.mth{margin-top:clamp(44px,5vw,72px);background:var(--cream);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(26px,3.4vw,44px)}
.mth-head{max-width:74ch}
.mth-h{margin-top:12px;font-size:clamp(22px,2.6vw,34px);font-weight:700;line-height:1.14;letter-spacing:-.6px;color:var(--green-title);text-wrap:balance}
.mth-lead{margin-top:14px;font-size:15.5px;line-height:1.6;color:var(--ink-soft);max-width:70ch}
.mth-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(26px,3vw,38px)}
.mth-step{display:flex;flex-direction:column;gap:7px;border-top:2px solid var(--olive);padding-top:14px}
.mth-n{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--green-dark)}
.mth-k{font-size:15px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--green-title)}
.mth-p{font-size:14px;line-height:1.55;color:var(--ink-soft)}
.mth-line{margin-top:clamp(22px,2.6vw,32px);padding-top:18px;border-top:1px solid var(--line);font-size:14px;font-weight:600;letter-spacing:.3px;color:var(--ink-soft)}
.mth-bens{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:clamp(24px,2.8vw,34px);padding-top:20px;border-top:1px solid var(--line)}
.mth-bens .k{font-size:11.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--ink-soft);margin-right:4px}
.ben{background:var(--olive-light);color:var(--green-deep);border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600}

/* ---------- bureau & terrain ------------------------------------------ */
.field-hint-line{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--ink-soft)}
.field-hint-line .material-symbols-outlined{font-size:20px;color:var(--olive)}
.map-roadmap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:760px;margin:clamp(20px,2.4vw,28px) auto 0;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 18px;font-size:14px;line-height:1.55;color:var(--ink-soft);text-align:left}
.map-roadmap > .material-symbols-outlined{font-size:21px;color:var(--olive);flex:none}
.map-roadmap > span:nth-child(2){flex:1 1 320px;min-width:0}
.field{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,3vw,44px);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:clamp(24px,3vw,36px);margin-bottom:clamp(44px,5vw,68px)}
.field-base{margin-top:12px;font-size:clamp(20px,2.3vw,30px);font-weight:700;line-height:1.12;letter-spacing:-.5px;color:var(--green-title);text-wrap:balance}
.field-sub{margin-top:12px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fl{display:flex;gap:10px;align-items:flex-start;background:var(--cream-light);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;font-size:14px;line-height:1.45;color:var(--ink)}
.fl .material-symbols-outlined{font-size:21px;color:var(--olive);flex:none}
.field.field--solo{display:block;text-align:center;padding:clamp(28px,3.4vw,44px)}
.field.field--solo .field-base{margin-top:12px;font-size:clamp(24px,3.2vw,40px);max-width:22ch;margin-inline:auto}

/* ---------- matériel -------------------------------------------------- */
.mat-head{margin-top:clamp(44px,5vw,72px);max-width:68ch}
.mat-title{margin-top:10px;font-size:clamp(21px,2.4vw,31px);font-weight:700;line-height:1.15;letter-spacing:-.5px;color:var(--green-title)}
.mat{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.mat--stack{grid-template-columns:minmax(0,1fr)}
.mat-soon{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--ocre-bg);border:1.5px solid var(--ocre);border-radius:var(--r-md);padding:15px 18px}
.mat-soon > .material-symbols-outlined{font-size:24px;color:var(--ocre);flex:none}
.mat-soon .ms-txt{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.5;color:#6b4d2a}
.mat-soon .ms-txt b{font-size:15.5px;font-weight:700;color:#6c3a00}
.mat-card{border-radius:var(--r-card);padding:clamp(22px,2.6vw,30px);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-1)}
.mat-card--dev{background:var(--ocre-bg);border:1.5px dashed var(--ocre);box-shadow:none}
.mat-card--soon{background:var(--ocre-bg);border:1.5px solid var(--ocre);box-shadow:none}
.mat-card--soon .mat-ico{background:#fff;color:var(--ocre)}
.mat-card--soon h4{color:#6c3a00}
.mat-card--soon .mat-list li{color:#6b4d2a}
.mat-card--soon .mat-list .material-symbols-outlined{color:var(--ocre)}
.mat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.mat-ico{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--olive-light);color:var(--green-deep)}
.mat-card--dev .mat-ico{background:#fff;color:var(--ocre)}
.mat-ico .material-symbols-outlined{font-size:27px}
.mat-card h4{margin:0;font-size:19px;font-weight:600;letter-spacing:-.2px;color:var(--green-title)}
.mat-card--dev h4{color:#6c3a00}
.mat-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.mat-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-soft)}
.mat-card--dev .mat-list li{color:#6b4d2a}
.mat-list .material-symbols-outlined{font-size:19px;color:var(--olive);flex:none;margin-top:1px}
.mat-card--dev .mat-list .material-symbols-outlined{color:var(--ocre)}
.mat-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--ink-soft)}
.mat-card--dev .mat-note{border-top:1px dashed var(--ocre);color:#6b4d2a}
.mat-ex{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.mat-ex .material-symbols-outlined{font-size:21px;color:var(--ocre);flex:none}

/* pictogrammes dessinés (broyeur, rondins, camion-benne) */
.ico-svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- bloc téo (dans la section IA) ----------------------------- */
.teo{margin-top:clamp(34px,4vw,56px);background:var(--olive-light);border:1.5px solid var(--olive);border-radius:var(--r-card);padding:clamp(28px,3.6vw,46px)}
.teo--sober{padding:clamp(22px,2.6vw,32px)}
.teo--sober .teo-head h3{font-size:clamp(19px,2vw,25px)}
.teo--sober .teo-head p{font-size:15px}
.teo--sober .teo-steps{margin-top:clamp(18px,2vw,24px)}
.teo-head{text-align:center;max-width:68ch;margin:0 auto}
.teo-head h3{margin-top:14px;font-size:clamp(21px,2.3vw,29px);font-weight:700;line-height:1.18;letter-spacing:-.4px;color:var(--green-title);text-wrap:balance}
.teo-head p{margin:14px auto 0;font-size:16px;line-height:1.6;color:#3f4a2c}
.teo-head .stat--ok{background:#fff}
.teo-method{margin-top:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;align-items:center;gap:16px}
.teo-mlabel{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--green-dark)}
.teo-mlabel .material-symbols-outlined{font-size:18px}
.teo-steps{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px}
.teo-step{background:#fff;border:1px solid var(--olive);color:var(--green-dark);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:600}
.teo-arrow{color:var(--green-dark);font-size:18px}
.teo-concl{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--green-deep)}
.teo-concl .material-symbols-outlined{font-size:20px}

/* ---------- valorisation : ajustements -------------------------------- */
.vd-read{flex-wrap:wrap}
.vd-read .stat{font-size:9.5px;padding:3px 8px;letter-spacing:.2px}
.vd-read .stat .material-symbols-outlined{font-size:12px}
.vl .stat{align-self:flex-start}
.vb-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.vbc{background:var(--cream-light);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--green-dark)}

@media (max-width:900px){
  .of-grid{grid-template-columns:1fr;grid-template-rows:none}
  .of-card{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column;gap:14px}
  .mth-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .field{grid-template-columns:1fr}
  .mat{grid-template-columns:1fr}
}
@media (max-width:560px){
  .mth-steps{grid-template-columns:1fr}
  .field-list{grid-template-columns:1fr}
  .teo-arrow{transform:rotate(90deg)}
  .teo-steps{flex-direction:column}
}
