
/* ═══════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════ */
:root {
  --black:   #0d0d0d;
  --ink:     #111111;
  --deep:    #161616;
  --panel:   #1a1a1a;
  --card:    #1f1f1f;
  --lift:    #242424;
  --border:  #2a2a2a;
  --border2: #333333;
  --muted:   #666666;
  --dim:     #444444;
  --text:    #e8e4dc;
  --soft:    #a09888;
  --lime:    #c8e645;
  --lime2:   #d4ed5c;
  --amber:   #e8a020;
  --red:     #e84040;
  --accent:  #c8e645;    /* default, overridden per sector */
  --acc-dim: rgba(200,230,69,0.08);
}

/* ── THÈME FOREST (4forests blanc/vert) ── */
[data-theme="forest"] {
  --black:   #ffffff;
  --ink:     #f5f5f0;
  --deep:    #eef2ec;
  --panel:   #e8f0e5;
  --card:    #f0f5ee;
  --lift:    #e0eadd;
  --border:  #c8ddc2;
  --border2: #aecaa6;
  --muted:   #6a9a6a;
  --dim:     #4a7a4a;
  --text:    #1a2e1a;
  --soft:    #4a7050;
  --lime:    #3d8546;
  --lime2:   #4a9e55;
  --amber:   #b86000;
  --red:     #c82020;
  --accent:  #3d8546;
  --acc-dim: rgba(61,133,70,0.10);
}
[data-theme="forest"] body { background:#f5f8f2; }
[data-theme="forest"] body::before { display:none; }
[data-theme="forest"] .topbar { background:#fff; border-bottom:1px solid #c8ddc2; }
[data-theme="forest"] .logo { color:#083326; }
[data-theme="forest"] .logo-mark { background:#3d8546; }
[data-theme="forest"] .meta-pill { background:#e8f0e5; color:#3d8546; border-color:#c8ddc2; }
[data-theme="forest"] .home-wrap { background:#f5f8f2; }
[data-theme="forest"] .hero-h1 { color:#083326; }
[data-theme="forest"] .hero-h1 em { color:#3d8546; }
[data-theme="forest"] .hero-sub { color:#3a5a3a; }
[data-theme="forest"] .hbadge { background:#e8f0e5; color:#2d6030; border-color:#c8ddc2; }
[data-theme="forest"] .sc { background:#fff; border-color:#c8ddc2; }
[data-theme="forest"] .sc:hover { border-color:#3d8546; background:#f0f8f0; }
[data-theme="forest"] .sc-num { color:#b8d0b8; }
[data-theme="forest"] .sc-name { color:#083326; }
[data-theme="forest"] .sc-desc { color:#4a6a4a; }
[data-theme="forest"] .sc-tag { background:#e8f0e5; color:#2d6030; }
[data-theme="forest"] .sim-wrap { background:#f5f8f2; }
[data-theme="forest"] .rcard,
[data-theme="forest"] .ecard,
[data-theme="forest"] .rccard,
[data-theme="forest"] .pcard { background:#fff; border-color:#c8ddc2; }
[data-theme="forest"] .blk { background:#fff; border-color:#c8ddc2; }
[data-theme="forest"] .blk-title { color:#083326; }
[data-theme="forest"] .blk-sub { color:#6a9a6a; }
[data-theme="forest"] .field-label { color:#3a5a3a; }
[data-theme="forest"] input[type=range]::-webkit-slider-thumb { background:#3d8546; }
[data-theme="forest"] .r-total { color:#3d8546; }
[data-theme="forest"] .rcard-top { background:linear-gradient(135deg,#083326 0%,#0d3d1e 100%); }
[data-theme="forest"] .r-eyebrow, [data-theme="forest"] .r-unit { color:#6a9a6a; }
[data-theme="forest"] .sec-lbl { color:#6a9a6a; }
[data-theme="forest"] .step-btn { background:#f0f5ee; color:#3a5a3a; }
[data-theme="forest"] .step-btn.active { background:#3d8546; color:#fff; }
[data-theme="forest"] .step-btn.done { background:#e8f0e5; color:#2d6030; }
[data-theme="forest"] .back-btn { color:#3d8546; }
[data-theme="forest"] .kpi { background:#f0f5ee; }
[data-theme="forest"] .kpi-l { color:#6a9a6a; }
[data-theme="forest"] .kpi-v { color:#083326; }
[data-theme="forest"] .tsrc-fill { background:#3d8546; }
[data-theme="forest"] .rchead { color:#083326; }
[data-theme="forest"] .rcico svg { stroke:#3d8546; }
[data-theme="forest"] .export-btn { background:#3d8546; color:#fff; }
[data-theme="forest"] .export-btn:hover { background:#4a9e55; }
[data-theme="forest"] .gauge-bg { background:#e8f0e5; }

/* ── THÈME LIGHT (blanc pro) ── */
[data-theme="light"] {
  --black:   #ffffff;
  --ink:     #fafafa;
  --deep:    #f4f4f4;
  --panel:   #eeeeee;
  --card:    #f8f8f8;
  --lift:    #e8e8e8;
  --border:  #d8d8d8;
  --border2: #c0c0c0;
  --muted:   #888888;
  --dim:     #555555;
  --text:    #111111;
  --soft:    #666666;
  --lime:    #c8e645;
  --lime2:   #d4ed5c;
  --amber:   #e8a020;
  --red:     #e84040;
  --accent:  #c8e645;
  --acc-dim: rgba(200,230,69,0.12);
}
[data-theme="light"] body { background:#f4f4f4; }
[data-theme="light"] body::before { display:none; }
[data-theme="light"] .topbar { background:#fff; border-bottom:1px solid #e0e0e0; }
[data-theme="light"] .logo { color:#111; }
[data-theme="light"] .logo-mark { background:#111; }
[data-theme="light"] .meta-pill { background:#f0f0f0; color:#555; border-color:#ddd; }
[data-theme="light"] .home-wrap { background:#f4f4f4; }
[data-theme="light"] .hero-h1 { color:#111; }
[data-theme="light"] .hero-sub { color:#555; }
[data-theme="light"] .hbadge { background:#eee; color:#444; border-color:#ddd; }
[data-theme="light"] .sc { background:#fff; border-color:#e0e0e0; }
[data-theme="light"] .sc:hover { border-color:#111; background:#fff; }
[data-theme="light"] .sc-num { color:#ccc; }
[data-theme="light"] .sc-name { color:#111; }
[data-theme="light"] .sc-desc { color:#666; }
[data-theme="light"] .sc-tag { background:#f0f0f0; color:#444; }
[data-theme="light"] .sim-wrap { background:#f4f4f4; }
[data-theme="light"] .rcard,
[data-theme="light"] .ecard,
[data-theme="light"] .rccard,
[data-theme="light"] .pcard { background:#fff; border-color:#e0e0e0; }
[data-theme="light"] .blk { background:#fff; border-color:#e0e0e0; }
[data-theme="light"] .blk-title { color:#111; }
[data-theme="light"] .field-label { color:#333; }
[data-theme="light"] .r-total { color:#111; }
[data-theme="light"] .rcard-top { background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 100%); }
[data-theme="light"] .r-eyebrow, [data-theme="light"] .r-unit { color:#888; }
[data-theme="light"] .sec-lbl { color:#888; }
[data-theme="light"] .step-btn { background:#eee; color:#444; }
[data-theme="light"] .step-btn.active { background:#111; color:#c8e645; }
[data-theme="light"] .step-btn.done { background:#e0e0e0; color:#333; }
[data-theme="light"] .back-btn { color:#333; }
[data-theme="light"] .kpi { background:#f0f0f0; }
[data-theme="light"] .kpi-l { color:#888; }
[data-theme="light"] .kpi-v { color:#111; }
[data-theme="light"] .tsrc-fill { background:#111; }
[data-theme="light"] .rchead { color:#111; }
[data-theme="light"] .rcico svg { stroke:#111; }
[data-theme="light"] .export-btn { background:#111; color:#c8e645; }
[data-theme="light"] .export-btn:hover { background:#222; }
[data-theme="light"] .gauge-bg { background:#e8e8e8; }

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{
  font-family:'Archivo',sans-serif;
  background:var(--black);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
}

/* Subtle grid bg */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;z-index:0;
}

/* ═══════════════════════════════════════════
   SCREENS
═══════════════════════════════════════════ */
.screen{display:none;position:relative;z-index:1;}
.screen.active{display:block;}

/* ═══════════════════════════════════════════
   TOPBAR
═══════════════════════════════════════════ */
.topbar{
  position:sticky;top:0;z-index:200;
  background:rgba(13,13,13,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:0 2.5rem;
  height:56px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:0.01em;
  display:flex;align-items:center;gap:0.7rem;
}
.logo-mark{
  width:26px;height:26px;
  border:1.5px solid var(--lime);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.logo-mark::after{
  content:'';
  width:8px;height:8px;
  background:var(--lime);
  transform:rotate(45deg);
}
.topbar-meta{
  display:flex;align-items:center;gap:1rem;
}
.meta-pill{
  font-family:'Roboto Mono',monospace;
  font-size:0.58rem;
  letter-spacing:0.1em;
  color:var(--muted);
  border:1px solid var(--border);
  padding:0.2rem 0.6rem;
  text-transform:uppercase;
}
.back-btn{
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;gap:0.5rem;
  font-family:'Roboto Mono',monospace;
  font-size:0.62rem;
  color:var(--muted);
  letter-spacing:0.05em;
  text-transform:uppercase;
  transition:color .2s;
  padding:0;
}
.back-btn:hover{color:var(--text);}
.back-btn svg{transition:transform .2s;}
.back-btn:hover svg{transform:translateX(-3px);}
.sector-pill{
  font-family:'Roboto Mono',monospace;
  font-size:0.58rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.25rem 0.7rem;
  border:1px solid var(--accent);
  color:var(--accent);
  background:var(--acc-dim);
}

/* ═══════════════════════════════════════════
   HOME - HERO
═══════════════════════════════════════════ */
.home-wrap{
  max-width:1160px;
  margin:0 auto;
  padding:5rem 2.5rem 6rem;
}
.hero-kicker{
  font-family:'Roboto Mono',monospace;
  font-size:0.6rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--lime);
  margin-bottom:1.6rem;
  display:flex;align-items:center;gap:0.8rem;
}
.hero-kicker::before{
  content:'';
  width:32px;height:1px;
  background:var(--lime);
  display:inline-block;
}
.hero-h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:1.0;
  letter-spacing:-0.03em;
  font-weight:900;
  margin-bottom:1.4rem;
  max-width:820px;
}
.hero-h1 em{
  font-style:italic;
  color:var(--lime);
}
.hero-sub{
  max-width:480px;
  font-size:0.88rem;
  font-weight:300;
  color:var(--soft);
  line-height:1.8;
  margin-bottom:2.5rem;
}
.hero-badges{
  display:flex;flex-wrap:wrap;gap:0.5rem;
  margin-bottom:5rem;
}
.hbadge{
  font-family:'Roboto Mono',monospace;
  font-size:0.58rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:0.3rem 0.7rem;
  border:1px solid var(--border2);
  color:var(--dim);
}

/* ═══════════════════════════════════════════
   SECTOR GRID
═══════════════════════════════════════════ */
.grid-label{
  font-family:'Roboto Mono',monospace;
  font-size:0.58rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1.2rem;
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:0.8rem;
  border-bottom:1px solid var(--border);
}
.sector-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border);
}
.sc{
  padding:2rem 1.8rem 1.8rem;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:background .25s;
  background:var(--panel);
  display:flex;
  flex-direction:column;
}
.sc-tags{margin-top:auto;padding-top:1rem;}.sc:nth-child(3n){border-right:none;}
/* Dernière ligne = cartes 7, 8, 9 */
.sc:nth-child(7),.sc:nth-child(8),.sc:nth-child(9){border-bottom:none;}
/* Cellule vide : pas de hover, pas de barre animée */
.sc-empty{pointer-events:none;}
.sc-empty::before{display:none;}
.sc:hover{background:var(--card);}

/* animated left bar */
.sc::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--s-color,var(--lime));
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.sc:hover::before{transform:scaleY(1);}

/* top-right number */
.sc-num{
  position:absolute;
  top:1.4rem;right:1.6rem;
  font-family:'Roboto Mono',monospace;
  font-size:0.6rem;
  color:transparent;
  letter-spacing:0.05em;
  transition:color .25s;
}
.sc:hover .sc-num{color:var(--s-color,var(--lime));}
/* Carte particulier */
.sc--particulier::before{
  content:'PARTICULIER';
  position:absolute;bottom:.7rem;left:1rem;
  font-family:'Roboto Mono',monospace;font-size:.44rem;
  letter-spacing:.12em;color:var(--muted);
}

.sc-icon-wrap{
  width:44px;height:44px;
  border:1px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.4rem;
  transition:border-color .25s;
}
.sc:hover .sc-icon-wrap{border-color:var(--s-color,var(--lime));}
.sc-icon-wrap svg{
  width:22px;height:22px;
  stroke:var(--soft);
  fill:none;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:stroke .25s;
}
.sc:hover .sc-icon-wrap svg{stroke:var(--s-color,var(--lime));}

.sc-name{
  font-family:'Playfair Display',serif;
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
  margin-bottom:0.6rem;
}
.sc-desc{
  font-size:0.75rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:1.4rem;
  font-weight:300;
}
.sc-tags{
  display:flex;flex-wrap:wrap;gap:0.3rem;
  margin-top:auto;padding-top:1rem;
}
.sc-tag{
  font-family:'Roboto Mono',monospace;
  font-size:0.55rem;
  letter-spacing:0.04em;
  padding:0.18rem 0.45rem;
  border:1px solid var(--border);
  color:var(--muted);
  text-transform:uppercase;
}

/* ═══════════════════════════════════════════
   SIMULATOR LAYOUT
═══════════════════════════════════════════ */
.sim-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:2rem 2.5rem 5rem;
  display:grid;
  grid-template-columns:1fr 380px;
  gap:2.5rem;
  align-items:start;
}

/* steps bar */
.steps-bar{
  grid-column:1/-1;
  display:flex;
  border:1px solid var(--border);
  background:var(--panel);
  overflow:hidden;
  margin-bottom:0.5rem;
}
.step-btn{
  flex:1;
  padding:0.75rem 1rem;
  background:none;border:none;
  border-right:1px solid var(--border);
  cursor:pointer;
  font-family:'Roboto Mono',monospace;
  font-size:0.6rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex;align-items:center;gap:0.5rem;
  transition:background .15s,color .15s;
  white-space:nowrap;
}
.step-btn:last-child{border-right:none;}
.step-btn:hover{background:var(--card);color:var(--text);}
.step-btn.active{background:var(--accent);color:var(--black);}
.step-btn.done{color:var(--accent);}
.step-dot{
  width:16px;height:16px;
  border-radius:50%;
  border:1px solid currentColor;
  display:flex;align-items:center;justify-content:center;
  font-size:0.5rem;
  flex-shrink:0;
}
.step-btn.done .step-dot{background:var(--accent);border-color:var(--accent);color:var(--black);}
.step-btn.active .step-dot{background:var(--black);border-color:var(--black);color:var(--accent);}

/* panels */
.sim-panel{display:none;}
.sim-panel.active{display:block;}

/* block card */
.blk{
  background:var(--panel);
  border:1px solid var(--border);
  margin-bottom:1rem;
  animation:slideUp .3s ease both;
}
@keyframes slideUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.blk:nth-child(1){animation-delay:.02s;}
.blk:nth-child(2){animation-delay:.06s;}
.blk:nth-child(3){animation-delay:.10s;}
.blk:nth-child(4){animation-delay:.14s;}

.blk-head{
  display:flex;align-items:center;gap:0.9rem;
  padding:1rem 1.3rem;
  border-bottom:1px solid var(--border);
  background:var(--card);
}
.blk-icon{
  width:30px;height:30px;
  border:1px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.blk-icon svg{width:14px;height:14px;stroke:var(--soft);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.blk-title{
  font-family:'Playfair Display',serif;
  font-size:0.92rem;
  font-weight:700;
  flex:1;
}
.blk-sub{
  font-size:0.65rem;
  color:var(--muted);
  margin-top:0.1rem;
  font-family:'Roboto Mono',monospace;
  letter-spacing:0.03em;
}
.scope-tag{
  font-family:'Roboto Mono',monospace;
  font-size:0.52rem;
  padding:0.18rem 0.45rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.s1t{background:rgba(34,120,60,0.12);color:#4ade80;border:1px solid rgba(74,222,128,0.2);}
.s2t{background:rgba(232,160,32,0.1);color:#e8a020;border:1px solid rgba(232,160,32,0.2);}
.s3t{background:rgba(100,160,255,0.08);color:#64a0ff;border:1px solid rgba(100,160,255,0.2);}
.s12t{background:rgba(34,120,60,0.08);color:#86efac;border:1px solid rgba(134,239,172,0.15);}

.blk-body{padding:1.1rem 1.3rem;}

/* form rows */
.fr{
  display:grid;
  grid-template-columns:1fr 95px 68px;
  gap:0.6rem;align-items:center;
  padding:0.6rem 0;
  border-bottom:1px solid var(--border);
}
.fr.fr-heat{grid-template-columns:1fr 148px 90px 68px;}
.fr:last-child{border-bottom:none;padding-bottom:0;}
.fr:first-child{padding-top:0;}
.fr-lbl{font-size:0.8rem;color:var(--text);font-weight:400;}
.fr-hint{font-size:0.63rem;color:var(--muted);margin-top:0.1rem;font-style:italic;}
.fr-unit{font-family:'Roboto Mono',monospace;font-size:0.6rem;color:var(--muted);}

input[type="number"],input[type="text"],select{
  width:100%;
  background:var(--deep);
  border:1px solid var(--border2);
  color:var(--text);
  font-family:'Roboto Mono',monospace;
  font-size:0.75rem;
  padding:0.45rem 0.6rem;
  outline:none;
  transition:border-color .15s,background .15s;
  -moz-appearance:textfield;
}
input[type="number"]::-webkit-inner-spin-button{display:none;}
input[type="number"]:focus,input[type="text"]:focus,select:focus{
  border-color:var(--accent);
  background:var(--ink);
}
input[type="number"]{text-align:right;}
select{cursor:pointer;text-align:left;}

/* slider */
.slr{padding:0.7rem 0;border-bottom:1px solid var(--border);}
.slr:last-child{border-bottom:none;}
.slr-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.5rem;}
.slr-name{font-size:0.8rem;}
.slr-val{font-family:'Roboto Mono',monospace;font-size:0.72rem;color:var(--accent);}
input[type="range"]{
  -webkit-appearance:none;
  width:100%;height:2px;
  background:var(--border2);
  outline:none;cursor:pointer;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:12px;height:12px;
  background:var(--accent);
  border-radius:50%;cursor:pointer;
}

/* company grid */
.cg{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-bottom:1rem;}
.cf{display:flex;flex-direction:column;gap:0.3rem;}
.cf-lbl{font-family:'Roboto Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
input.fw,select.fw{width:100%;text-align:left;}

/* infobox */
.ib{
  margin-top:0.9rem;
  padding:0.7rem 1rem;
  border-left:2px solid var(--accent);
  background:var(--acc-dim);
  font-size:0.7rem;
  color:var(--soft);
  line-height:1.65;
  font-style:italic;
}

/* nav */
.nav-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:1.2rem;
}
.btn{
  font-family:'Roboto Mono',monospace;
  font-size:0.65rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:0.65rem 1.5rem;
  border:none;cursor:pointer;
  transition:all .15s;
}
.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--muted);}
.btn-ghost:hover{border-color:var(--text);color:var(--text);}
.btn-prime{background:var(--accent);color:var(--black);font-weight:500;}
.btn-prime:hover{background:var(--lime2);}

/* ═══════════════════════════════════════════
   RESULTS SIDEBAR
═══════════════════════════════════════════ */
.res-col{position:sticky;top:72px;}

/* main result card */
.rcard{
  background:var(--deep);
  border:1px solid var(--border);
  margin-bottom:0.8rem;
  overflow:hidden;
}
.rcard-top{
  padding:1.6rem;
  background:linear-gradient(135deg,var(--ink) 0%,#1a1f10 100%);
  position:relative;overflow:hidden;
}
.rcard-top::after{
  content:'';
  position:absolute;
  top:-60px;right:-60px;
  width:180px;height:180px;
  border-radius:50%;
  border:1px solid rgba(200,230,69,0.06);
}
.r-eyebrow{
  font-family:'Roboto Mono',monospace;
  font-size:0.52rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:0.6rem;
}
.r-total{
  font-family:'Playfair Display',serif;
  font-size:3.4rem;
  line-height:1;
  letter-spacing:-0.04em;
  font-weight:900;
  transition:color .4s;
}
.r-unit{
  font-family:'Roboto Mono',monospace;
  font-size:0.6rem;
  letter-spacing:0.04em;
  color:var(--muted);
  margin-top:0.3rem;
}
.r-sector{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:0.8rem;
  color:var(--muted);
  margin-top:0.8rem;
}

/* scope rows */
.scope-sec{padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);}
.sec-lbl{
  font-family:'Roboto Mono',monospace;
  font-size:0.5rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:0.9rem;
}
.sr{display:flex;align-items:center;gap:0.7rem;margin-bottom:0.7rem;}
.sr-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.sr-name{flex:1;font-size:0.72rem;color:var(--soft);}
.sr-track{width:42px;height:2px;background:var(--border2);overflow:hidden;}
.sr-fill{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);}
.sr-val{font-family:'Roboto Mono',monospace;font-size:0.68rem;min-width:34px;text-align:right;}
.sr-pct{font-family:'Roboto Mono',monospace;font-size:0.6rem;color:var(--muted);min-width:26px;text-align:right;}

/* gauge */
.gauge-sec{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);}
.gauge-track{
  height:4px;
  background:linear-gradient(90deg,#22783c,#e8a020,#e84040);
  position:relative;margin:.5rem 0;
}
.gauge-needle{
  position:absolute;top:-5px;
  width:2px;height:14px;
  background:var(--text);
  transition:left .5s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 6px rgba(255,255,255,.4);
}
.gauge-lbls{
  font-family:'Roboto Mono',monospace;
  font-size:0.5rem;color:var(--muted);
  display:flex;justify-content:space-between;
}
.perf-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:0.5rem;
  font-family:'Roboto Mono',monospace;font-size:0.58rem;
}
.perf-left{color:var(--muted);}
.perf-badge{
  padding:0.2rem 0.55rem;
  font-size:0.58rem;font-weight:500;
  font-family:'Roboto Mono',monospace;
  letter-spacing:0.04em;
}

/* kpi grid */
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;}
.kpi{
  padding:0.9rem 1.2rem;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.kpi:nth-child(2n){border-right:none;}
.kpi:nth-last-child(-n+2){border-bottom:none;}
.kpi-l{font-family:'Roboto Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.25rem;}
.kpi-v{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;line-height:1.1;}
.kpi-s{font-size:0.58rem;color:var(--muted);margin-top:0.1rem;}

/* top sources */
.top-sec{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);}
.tsrc{display:flex;align-items:center;gap:0.55rem;margin-bottom:0.55rem;font-size:0.7rem;}
.tsrc-n{font-family:'Roboto Mono',monospace;font-size:0.48rem;color:var(--muted);min-width:12px;}
.tsrc-name{flex:1;color:var(--soft);font-size:0.7rem;}
.tsrc-track{width:32px;height:1px;background:var(--border2);overflow:hidden;}
.tsrc-fill{height:100%;background:var(--text);opacity:.5;transition:width .4s;}
.tsrc-val{font-family:'Roboto Mono',monospace;font-size:0.65rem;color:var(--text);}

/* equiv card */
.ecard{background:var(--panel);border:1px solid var(--border);margin-bottom:.8rem;overflow:hidden;}
.ehead{padding:.65rem 1.2rem;border-bottom:1px solid var(--border);background:var(--card);font-family:'Roboto Mono',monospace;font-size:0.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.egrid{display:grid;grid-template-columns:1fr 1fr;}
.ecell{
  padding:.85rem 1rem;text-align:center;
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
}
.ecell:nth-child(2n){border-right:none;}
.ecell:nth-last-child(-n+2){border-bottom:none;}
.eico{
  width:28px;height:28px;margin:0 auto 0.4rem;
  display:flex;align-items:center;justify-content:center;
}
.eico svg{width:18px;height:18px;stroke:var(--soft);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.enum{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;}
.etxt{font-size:0.6rem;color:var(--muted);line-height:1.4;margin-top:.1rem;}

/* reco card */
.rccard{background:var(--panel);border:1px solid var(--border);margin-bottom:.8rem;overflow:hidden;}
.rchead{padding:.65rem 1.2rem;border-bottom:1px solid var(--border);background:var(--card);font-family:'Roboto Mono',monospace;font-size:0.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.rclist{padding:.7rem 1.2rem;}
.rcitem{
  display:flex;gap:.6rem;align-items:flex-start;
  font-size:0.72rem;line-height:1.55;color:var(--soft);
  padding:.45rem 0;border-bottom:1px solid var(--border);
}
.rcitem:last-child{border-bottom:none;}
.rcico{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;margin-top:.15rem;}
.rcico svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

/* plan card */
.pcard{background:var(--panel);border:1px solid var(--border);margin-bottom:.8rem;overflow:hidden;}
.phead{
  padding:.65rem 1.2rem;border-bottom:1px solid var(--border);
  background:rgba(200,230,69,0.05);
  font-family:'Roboto Mono',monospace;font-size:0.5rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lime);
  display:flex;align-items:center;gap:.5rem;
}
.phead svg{width:12px;height:12px;stroke:var(--lime);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.pbody{padding:.8rem 1.2rem;}
.pitem{display:flex;gap:.6rem;align-items:flex-start;padding:.35rem 0;font-size:0.7rem;line-height:1.5;color:var(--soft);}
.phor{
  font-family:'Roboto Mono',monospace;font-size:0.52rem;
  padding:.15rem .45rem;background:var(--card);border:1px solid var(--border);
  color:var(--muted);white-space:nowrap;flex-shrink:0;letter-spacing:.03em;
}

/* ═══ 4FORESTS TRIGGER BUTTON ═══ */
.forests-trigger{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:.85rem 1rem;
  background:linear-gradient(135deg,#083326 0%,#0d4a35 100%);
  border:1px solid #1a5c38;
  cursor:pointer;margin-bottom:.8rem;
  transition:all .2s;gap:.5rem;
  color:#c8e8b8;
}
.forests-trigger:hover{background:linear-gradient(135deg,#0d4a35 0%,#155c40 100%);border-color:#2a7a50;}
.forests-trigger-left{display:flex;align-items:center;gap:.7rem;text-align:left;}
.forests-trigger-title{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:#c8e8b8;margin-bottom:.1rem;}
.forests-trigger-sub{font-size:.58rem;color:#7ab87a;letter-spacing:.02em;}
.forests-trigger svg{flex-shrink:0;stroke:#7ab87a;}

/* ═══ 4FORESTS SCREEN 3 ═══ */
.f3-wrap{
  max-width:820px;margin:0 auto;
  padding:1.5rem 1.2rem 3rem;
}

/* Hero */
.f3-hero{
  display:flex;justify-content:space-between;align-items:flex-start;
  background:linear-gradient(135deg,#083326 0%,#0a3d2a 60%,#0d4a35 100%);
  padding:1.6rem 1.8rem;margin-bottom:1.5rem;
  border-bottom:3px solid #3d8546;
}
.f3-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;}
.f3-logo svg{stroke:#a8d5a2;}
.f3-logo span{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.02em;}
.f3-title{font-size:1.4rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:.3rem;}
.f3-subtitle{font-size:.75rem;color:#7ab87a;letter-spacing:.04em;}
.f3-hero-right{text-align:right;}
.f3-total-lbl{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:#7ab87a;margin-bottom:.3rem;}
.f3-total-v{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;font-family:'Playfair Display',serif;}
.f3-total-unit{font-size:.7rem;color:#a8d5a2;letter-spacing:.04em;}

/* Section label */
.f3-section-label{
  font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;
  color:#3d8546;font-weight:700;
  border-bottom:1px solid #1a3d20;
  padding-bottom:.5rem;margin:1.5rem 0 .8rem;
}

/* Rate selector */
.f3-rate-selector{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1.2rem;}
.f3-rate-btn{
  background:#111;border:1.5px solid #1e3a22;
  padding:1rem .8rem;cursor:pointer;text-align:left;
  transition:all .2s;color:var(--text);
}
.f3-rate-btn:hover{border-color:#3d8546;background:#0d1f10;}
.f3-rate-btn--active{border-color:#3d8546 !important;background:#0a2010 !important;box-shadow:0 0 0 1px #3d8546;}
.f3-rate-pct{font-size:1.8rem;font-weight:900;color:#3d8546;line-height:1;font-family:'Playfair Display',serif;margin-bottom:.3rem;}
.f3-rate-btn--active .f3-rate-pct{color:#5ab835;}
.f3-rate-name{font-size:.72rem;font-weight:700;color:#c8e8b8;margin-bottom:.3rem;}
.f3-rate-desc{font-size:.6rem;color:#7a9a7a;line-height:1.4;}

/* Result grid */
.f3-result-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1rem;margin-bottom:1rem;
}
.f3-result-main{
  background:#0a2010;border:1px solid #1e4a24;
  padding:1.4rem 1.2rem;
}
.f3-result-lbl{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:#5a8a5a;margin-bottom:.5rem;}
.f3-result-big{
  font-size:3rem;font-weight:900;color:#3d8546;line-height:1;
  font-family:'Playfair Display',serif;margin-bottom:.3rem;
}
.f3-result-sub{font-size:.65rem;color:#7a9a7a;margin-bottom:.5rem;}
.f3-result-context{font-size:.7rem;color:#a0c0a0;line-height:1.5;}

.f3-result-side{display:flex;flex-direction:column;gap:.8rem;}
.f3-kpi-block{background:#0d1a0e;border:1px solid #1a3520;padding:.85rem 1rem;}
.f3-kpi-l{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:#5a7a5a;margin-bottom:.3rem;}
.f3-kpi-v{font-size:1.3rem;font-weight:700;color:#c8e8b8;font-family:'Playfair Display',serif;}
.f3-kpi-v.f3-kpi-green{color:#5ab835;}
.f3-kpi-s{font-size:.58rem;color:#5a7a5a;margin-top:.15rem;}

/* Split bar */
.f3-split-bar-wrap{margin-bottom:1rem;}
.f3-split-track{height:10px;display:flex;overflow:hidden;border-radius:2px;margin-bottom:.5rem;}
.f3-split-agri{background:#3d8546;transition:width .4s;}
.f3-split-4f{background:#083326;flex:1;}
.f3-split-legend{display:flex;gap:1.5rem;font-size:.62rem;color:#7a9a7a;}
.f3-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle;}
.f3-dot-agri{background:#3d8546;}
.f3-dot-4f{background:#1a5a2a;}

/* Volume note */
.f3-volume-note{
  display:flex;align-items:flex-start;gap:.5rem;
  background:#0a2a0e;border:1px solid #2a5a2a;border-left:3px solid #3d8546;
  padding:.7rem .9rem;margin-bottom:1rem;
  font-size:.7rem;color:#a0c8a0;line-height:1.5;
}
.f3-volume-note svg{flex-shrink:0;stroke:#5ab835;margin-top:.1rem;}

/* Scenarios comparison */
.f3-scenarios{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1.4rem;}
.f3-scenario{
  background:#0d1a0e;border:1px solid #1a3520;
  padding:1rem .9rem;text-align:center;cursor:pointer;
  transition:all .2s;
}
.f3-scenario:hover{border-color:#3d8546;}
.f3-scenario--highlight{border-color:#3d8546;background:#0a2010;}
.f3-sc-rate{font-size:1.5rem;font-weight:900;color:#3d8546;font-family:'Playfair Display',serif;line-height:1;}
.f3-scenario--highlight .f3-sc-rate{color:#5ab835;}
.f3-sc-name{font-size:.6rem;color:#7a9a7a;margin:.25rem 0 .7rem;line-height:1.3;}
.f3-sc-km{font-size:1.1rem;font-weight:700;color:#c8e8b8;}
.f3-sc-price{font-size:.85rem;font-weight:600;color:#7ab87a;margin-top:.2rem;}
.f3-sc-unit{font-size:.55rem;color:#5a7a5a;margin-bottom:.15rem;}
.f3-sc-horizon{
  font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;
  color:#3d8546;margin-top:.5rem;border-top:1px solid #1a3520;padding-top:.4rem;
}

/* Impact grid */
.f3-impact-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.7rem;margin-bottom:.5rem;}
.f3-impact-cell{background:#0d1a0e;border:1px solid #1a3520;padding:.9rem .7rem;text-align:center;}
.f3-impact-ico{font-size:1.3rem;margin-bottom:.4rem;}
.f3-impact-v{font-size:1.1rem;font-weight:700;color:#5ab835;font-family:'Playfair Display',serif;}
.f3-impact-lbl{font-size:.55rem;color:#5a7a5a;margin-top:.2rem;line-height:1.3;}
.f3-footnote{font-size:.55rem;color:#3d5a3d;margin-bottom:1.4rem;line-height:1.5;padding:.4rem .5rem;border-left:2px solid #1a3520;}

/* CTA */
.f3-cta-block{display:flex;gap:.8rem;margin-bottom:1rem;flex-wrap:wrap;}
.f3-cta-primary{
  flex:1;min-width:200px;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.4rem;
  background:#3d8546;color:#fff;
  font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:pointer;
  transition:background .15s;
}
.f3-cta-primary:hover{background:#4a9e55;}
.f3-cta-secondary{
  flex:1;min-width:160px;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.2rem;
  background:transparent;color:#a0c0a0;
  font-weight:500;font-size:.7rem;letter-spacing:.04em;
  border:1px solid #1e4a24;cursor:pointer;
  transition:all .15s;
}
.f3-cta-secondary:hover{border-color:#3d8546;color:#c8e8b8;}
.f3-certif{
  text-align:center;font-size:.58rem;color:#3d6040;
  padding:.6rem;border-top:1px solid #1a3520;
  display:flex;align-items:center;justify-content:center;gap:.4rem;
}

/* export btn */
.export-btn{
  display:block;width:100%;
  padding:.8rem;
  background:var(--accent);
  color:var(--black);
  font-family:'Roboto Mono',monospace;
  font-size:0.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:none;cursor:pointer;
  font-weight:500;
  transition:background .15s;
  text-align:center;
  margin-bottom:.8rem;
}
.export-btn:hover{background:var(--lime2);}

/* ═══════════════════════════════════════════
   PRINT / PDF REPORT
═══════════════════════════════════════════ */
#pdf-report{display:none;}

@media print{
  .topbar, .screen, #scr-home, #scr-sim{display:none !important;}
  #pdf-report{
    display:block !important;
    visibility:visible !important;
    font-family:'Arial',sans-serif;
    color:#111;background:#fff;
    padding:0;margin:0;
    font-size:10pt;
    line-height:1.5;
  }
  .pr-page{
    width:100%;max-width:100%;
    padding:2cm 2.2cm;
    box-sizing:border-box;
  }
  .pr-page + .pr-page{page-break-before:always;}

  /* Header */
  .pr-head{
    display:flex;justify-content:space-between;align-items:flex-start;
    border-bottom:2px solid #111;padding-bottom:1rem;margin-bottom:1.5rem;
  }
  .pr-logo{font-size:18pt;font-weight:900;letter-spacing:-.03em;}
  .pr-logo span{font-size:10pt;font-weight:400;display:block;color:#555;margin-top:.1rem;letter-spacing:.05em;text-transform:uppercase;}
  .pr-meta{text-align:right;font-size:8pt;color:#555;line-height:1.8;}
  .pr-meta strong{color:#111;font-size:9pt;}

  /* Section titles */
  .pr-section{
    font-size:7pt;letter-spacing:.12em;text-transform:uppercase;
    color:#888;margin:1.4rem 0 .6rem;
    border-bottom:1px solid #ddd;padding-bottom:.3rem;
  }

  /* Total hero */
  .pr-total{
    display:flex;align-items:baseline;gap:.8rem;
    margin:.6rem 0 1rem;
  }
  .pr-total-n{font-size:36pt;font-weight:900;line-height:1;}
  .pr-total-u{font-size:11pt;color:#444;}
  .pr-total-badge{
    font-size:7.5pt;padding:.2rem .6rem;border-radius:2px;
    font-weight:700;letter-spacing:.04em;
  }
  .badge-green{background:#e8f5e9;color:#2e7d32;}
  .badge-orange{background:#fff3e0;color:#e65100;}
  .badge-red{background:#ffebee;color:#c62828;}

  /* Scopes row */
  .pr-scopes{display:flex;gap:1.5rem;margin:.6rem 0 1rem;}
  .pr-scope{flex:1;border:1px solid #e0e0e0;padding:.6rem .8rem;}
  .pr-scope-l{font-size:6.5pt;text-transform:uppercase;letter-spacing:.1em;color:#888;}
  .pr-scope-v{font-size:13pt;font-weight:700;margin:.15rem 0 0;}
  .pr-scope-p{font-size:7pt;color:#888;}
  .sc1{border-top:3px solid #e53935;}
  .sc2{border-top:3px solid #fb8c00;}
  .sc3{border-top:3px solid #1e88e5;}

  /* Bar chart */
  .pr-bar-row{display:flex;align-items:center;gap:.6rem;margin:.35rem 0;}
  .pr-bar-lbl{width:140pt;font-size:8pt;color:#333;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
  .pr-bar-track{flex:1;height:7pt;background:#f0f0f0;}
  .pr-bar-fill{height:100%;background:#1a1a1a;}
  .pr-bar-val{width:45pt;text-align:right;font-size:7.5pt;font-weight:700;flex-shrink:0;}

  /* KPI grid */
  .pr-kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin:.6rem 0;}
  .pr-kpi{border:1px solid #e0e0e0;padding:.6rem .8rem;}
  .pr-kpi-l{font-size:6.5pt;text-transform:uppercase;letter-spacing:.08em;color:#888;}
  .pr-kpi-v{font-size:13pt;font-weight:700;margin-top:.1rem;}
  .pr-kpi-s{font-size:7pt;color:#888;}

  /* Benchmark gauge */
  .pr-bm{margin:.6rem 0 1rem;}
  .pr-bm-track{height:10pt;background:#f0f0f0;position:relative;border-radius:1px;}
  .pr-bm-med{position:absolute;height:100%;background:#e8f5e9;left:0;}
  .pr-bm-high{position:absolute;height:100%;background:#fff3e0;}
  .pr-bm-cur{position:absolute;top:-3pt;width:2px;height:16pt;background:#111;}
  .pr-bm-labels{display:flex;justify-content:space-between;font-size:6.5pt;color:#888;margin-top:.3rem;}

  /* Recos */
  .pr-reco{display:flex;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #eee;font-size:8.5pt;color:#333;line-height:1.5;}
  .pr-reco-n{flex-shrink:0;font-weight:700;color:#111;}
  .pr-reco:last-child{border-bottom:none;}

  /* Plan */
  .pr-plan-row{display:flex;gap:.8rem;padding:.4rem 0;border-bottom:1px solid #eee;font-size:8.5pt;align-items:baseline;}
  .pr-plan-hor{flex-shrink:0;width:55pt;font-size:7pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#888;}
  .pr-plan-row:last-child{border-bottom:none;}

  /* Footer */
  .pr-footer{
    margin-top:2rem;padding-top:.6rem;border-top:1px solid #ddd;
    font-size:7pt;color:#999;display:flex;justify-content:space-between;
  }

  /* Methodology table */
  .pr-table{width:100%;border-collapse:collapse;font-size:8pt;margin:.5rem 0;}
  .pr-table th{background:#f5f5f5;font-weight:700;text-align:left;padding:.35rem .5rem;border:1px solid #ddd;font-size:7pt;text-transform:uppercase;letter-spacing:.05em;}
  .pr-table td{padding:.35rem .5rem;border:1px solid #ddd;vertical-align:top;}
  .pr-table tr:nth-child(even) td{background:#fafafa;}
}

/* ── BILAN FULL-BTN ── */
.bilan-full-btn{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  width:100%;margin-top:1rem;padding:.65rem 1rem;
  background:var(--lift);border:1px solid var(--border2);
  color:var(--text);cursor:pointer;
  font-family:'Roboto Mono',monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;
  transition:all .18s;
}
.bilan-full-btn:hover{background:var(--accent);color:var(--black);}

/* ── F4-MINI (bloc enrichi colonne résultats) ── */
.f4-mini{
  background:linear-gradient(135deg,#071f12 0%,#0a2a17 100%);
  border:1px solid #1e4a2a;margin-bottom:.8rem;overflow:hidden;
}
.f4-mini-head{
  display:flex;align-items:center;gap:.5rem;
  padding:.7rem 1rem .5rem;
  font-family:'Roboto Mono',monospace;font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:#a8d5a2;
  border-bottom:1px solid #1a3a22;
}
.f4-mini-badge{
  margin-left:auto;background:#1a4a28;color:#7ab87a;
  padding:.15rem .5rem;font-size:.5rem;letter-spacing:.08em;
}
.f4-mini-body{padding:.8rem 1rem 1rem;}
.f4-mini-intro{font-size:.68rem;color:#8ab88a;line-height:1.5;margin-bottom:.8rem;}
.f4-mini-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.8rem;}
.f4-mini-kpi{background:#0a2010;padding:.5rem;text-align:center;}
.f4-mini-kpi-v{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;line-height:1;}
.f4-mini-kpi-l{font-size:.52rem;color:#6a9a6a;margin-top:.2rem;line-height:1.3;}
.f4-mini-kpi--green .f4-mini-kpi-v{color:#5ab835;}
.f4-mini-facts{margin-bottom:.9rem;}
.f4-mini-fact{font-size:.62rem;color:#7a9a7a;padding:.2rem 0;display:flex;gap:.4rem;align-items:flex-start;}
.f4-mini-cta{
  width:100%;padding:.65rem;
  background:linear-gradient(135deg,#2a6030 0%,#3d8546 100%);
  border:none;color:#fff;cursor:pointer;
  font-family:'Roboto Mono',monospace;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  transition:all .18s;
}
.f4-mini-cta:hover{background:linear-gradient(135deg,#3d8546 0%,#5ab835 100%);}

/* ── ÉCRAN BILAN COMPLET ── */
.bilan-wrap{
  max-width:960px;margin:0 auto;padding:1.5rem 1.5rem 3rem;
}
.bilan-hero{
  display:flex;justify-content:space-between;align-items:flex-start;
  background:var(--card);border:1px solid var(--border);
  padding:1.5rem 1.8rem;margin-bottom:1.2rem;
}
.bilan-company{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:.2rem;}
.bilan-sector{font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem;}
.bilan-year{font-size:.58rem;color:var(--muted);letter-spacing:.04em;}
.bilan-hero-right{text-align:right;}
.bilan-total-lbl{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.3rem;}
.bilan-total-v{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:900;color:var(--accent);line-height:1;}
.bilan-total-unit{font-size:.65rem;color:var(--muted);letter-spacing:.06em;margin-bottom:.4rem;}
.bilan-badge{display:inline-block;background:var(--acc-dim);color:var(--accent);padding:.2rem .7rem;font-size:.6rem;letter-spacing:.08em;}

.bilan-scopes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1rem;}
.bilan-scope{background:var(--card);border:1px solid var(--border);padding:1rem 1.2rem;}
.bilan-scope--s1{border-top:3px solid #4ade80;}
.bilan-scope--s2{border-top:3px solid #e8a020;}
.bilan-scope--s3{border-top:3px solid #64a0ff;}
.bilan-scope-label{font-family:'Roboto Mono',monospace;font-size:.65rem;font-weight:700;color:var(--text);letter-spacing:.04em;margin-bottom:.6rem;}
.bilan-scope-label span{display:block;font-size:.55rem;color:var(--muted);font-weight:400;margin-top:.1rem;}
.bilan-scope-v{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--text);line-height:1;}
.bilan-scope-pct{font-size:.65rem;color:var(--muted);margin:.2rem 0 .5rem;}
.bilan-scope-bar{height:3px;background:var(--border);margin-bottom:.6rem;}
.bilan-scope-fill{height:100%;transition:width .4s;}
.bilan-scope--s1 .bilan-scope-fill{background:#4ade80;}
.bilan-scope--s2 .bilan-scope-fill{background:#e8a020;}
.bilan-scope--s3 .bilan-scope-fill{background:#64a0ff;}
.bilan-scope-desc{font-size:.58rem;color:var(--muted);line-height:1.4;}

.bilan-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.2rem;}
.bilan-kpi{background:var(--card);border:1px solid var(--border);padding:.8rem 1rem;text-align:center;}
.bilan-kpi-l{font-size:.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;}
.bilan-kpi-v{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--text);line-height:1;}
.bilan-kpi-s{font-size:.55rem;color:var(--muted);margin-top:.2rem;}

.bilan-section-title{
  font-family:'Roboto Mono',monospace;font-size:.6rem;
  text-transform:uppercase;letter-spacing:.15em;color:var(--muted);
  border-bottom:1px solid var(--border);padding-bottom:.5rem;margin:1.4rem 0 .8rem;
}

.bilan-gauge-wrap{margin-bottom:1.2rem;}
.bilan-gauge-track{position:relative;height:14px;background:var(--panel);margin-bottom:.4rem;overflow:hidden;}
.bilan-gauge-zone{position:absolute;top:0;height:100%;}
.bilan-gz-good{background:rgba(74,222,128,.25);left:0;}
.bilan-gz-mid{background:rgba(232,160,32,.25);}
.bilan-gz-high{background:rgba(232,64,64,.25);right:0;}
.bilan-gauge-needle{position:absolute;top:-2px;width:3px;height:18px;background:var(--text);transform:translateX(-50%);transition:left .5s;}
.bilan-gauge-labels{display:flex;justify-content:space-between;font-size:.55rem;color:var(--muted);margin-bottom:.4rem;}
.bilan-gauge-legend{display:flex;gap:1.2rem;}
.bilan-gl-item{display:flex;align-items:center;gap:.3rem;font-size:.58rem;color:var(--muted);}
.bilan-gl-dot{width:8px;height:8px;border-radius:50%;}

.bilan-sources{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.4rem;}
.bilan-source-row{
  display:grid;grid-template-columns:1.5rem 1fr 4rem 4rem;align-items:center;gap:.8rem;
  background:var(--card);border:1px solid var(--border);padding:.5rem .8rem;
}
.bilan-src-rank{font-family:'Playfair Display',serif;font-size:.9rem;color:var(--muted);}
.bilan-src-name{font-size:.65rem;color:var(--text);}
.bilan-src-scope{font-size:.52rem;color:var(--muted);background:var(--panel);padding:.1rem .3rem;}
.bilan-src-bar-wrap{display:flex;align-items:center;gap:.4rem;}
.bilan-src-bar{flex:1;height:4px;background:var(--border);}
.bilan-src-fill{height:100%;background:var(--accent);transition:width .4s;}
.bilan-src-val{font-size:.62rem;color:var(--text);text-align:right;white-space:nowrap;}

.bilan-recos-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.4rem;}
.bilan-reco-item{
  background:var(--card);border:1px solid var(--border);
  border-left:3px solid var(--accent);padding:.7rem .9rem;
}
.bilan-reco-title{font-size:.68rem;font-weight:700;color:var(--text);margin-bottom:.2rem;}
.bilan-reco-detail{font-size:.6rem;color:var(--muted);line-height:1.4;}
.bilan-reco-gain{font-size:.58rem;color:var(--accent);margin-top:.3rem;}

.bilan-plan{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-bottom:1.4rem;
}
.bilan-plan-step{background:var(--card);border:1px solid var(--border);padding:.8rem 1rem;}
.bilan-plan-hor{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.3rem;}
.bilan-plan-txt{font-size:.63rem;color:var(--text);line-height:1.5;}

.bilan-contribution-wrap{
  background:var(--card);border:1px solid var(--border);
  margin-bottom:.4rem;overflow:hidden;
}
.bilan-comp-steps{
  display:flex;align-items:flex-start;gap:.5rem;
  padding:1rem 1.2rem .8rem;
  border-bottom:1px solid var(--border);
}
.bilan-comp-step{display:flex;align-items:flex-start;gap:.6rem;flex:1;}
.bilan-comp-step-num{
  width:22px;height:22px;flex-shrink:0;
  background:var(--accent);color:var(--black);
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;font-weight:700;font-family:'Roboto Mono',monospace;
  border-radius:50%;margin-top:1px;
}
.bilan-comp-step-title{font-size:.68rem;font-weight:700;color:var(--text);margin-bottom:.2rem;}
.bilan-comp-step-desc{font-size:.6rem;color:var(--muted);line-height:1.5;}
.bilan-comp-arrow{font-size:1.2rem;color:var(--border2);padding-top:.1rem;flex-shrink:0;}
.bilan-comp-4f-header{
  display:flex;align-items:center;gap:.5rem;
  padding:.7rem 1.2rem .5rem;
  background:linear-gradient(135deg,#071812 0%,#0a2010 100%);
  font-family:'Roboto Mono',monospace;font-size:.6rem;
  text-transform:uppercase;letter-spacing:.08em;color:#a8d5a2;
  border-top:1px solid var(--border);
}
.bilan-comp-4f-header svg{stroke:#5ab835;flex-shrink:0;}
.bilan-comp-4f-badge{
  margin-left:auto;background:#1a4a28;color:#7ab87a;
  padding:.15rem .5rem;font-size:.5rem;letter-spacing:.08em;
}
.bilan-comp-tiers{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  background:linear-gradient(135deg,#071812 0%,#0a2010 100%);
  border-top:1px solid #1a3a22;
}
.bilan-comp-tier{
  padding:.9rem 1rem 1rem;cursor:pointer;
  border-right:1px solid #1a3a22;position:relative;
  transition:background .15s;
}
.bilan-comp-tier:last-child{border-right:none;}
.bilan-comp-tier:hover{background:rgba(61,133,70,.08);}
.bilan-comp-tier--active{
  background:rgba(61,133,70,.12);
  border-top:2px solid #3d8546;margin-top:-1px;
}
.bilan-comp-tier-badge-top{
  position:absolute;top:.5rem;right:.7rem;
  background:#3d8546;color:#fff;
  font-size:.48rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.15rem .4rem;
}
.bilan-comp-tier-scope{
  display:flex;align-items:center;gap:.4rem;
  font-family:'Roboto Mono',monospace;font-size:.58rem;
  font-weight:700;color:#c8e8b8;margin-bottom:.4rem;
}
.bilan-comp-tier-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
}
.bilan-comp-tier-desc{
  font-size:.58rem;color:#6a9a6a;line-height:1.4;
  margin-bottom:.7rem;min-height:2.8rem;
}
.bilan-comp-tier-nums{
  display:flex;gap:.6rem;margin-bottom:.7rem;
}
.bilan-comp-tier-kpi{text-align:center;flex:1;}
.bilan-comp-tier-v{
  font-family:'Playfair Display',serif;font-size:1.1rem;
  font-weight:700;color:#fff;line-height:1;
}
.bilan-comp-tier-v--km{color:#a8d5a2;}
.bilan-comp-tier-v--price{color:#5ab835;}
.bilan-comp-tier-l{font-size:.5rem;color:#5a8a6a;margin-top:.15rem;}
.bilan-comp-tier-cta{
  font-family:'Roboto Mono',monospace;font-size:.55rem;
  letter-spacing:.05em;color:#5ab835;text-transform:uppercase;
  border-top:1px solid #1a3a22;padding-top:.5rem;margin-top:.2rem;
  transition:color .15s;
}
.bilan-comp-tier:hover .bilan-comp-tier-cta{color:#a8d5a2;}

@media(max-width:700px){
  .bilan-comp-tiers{grid-template-columns:1fr;}
  .bilan-comp-tier{border-right:none;border-bottom:1px solid #1a3a22;}
}

.bilan-ctas{display:flex;gap:.8rem;margin-top:1.4rem;}
.bilan-cta-primary{
  flex:1;padding:.8rem;
  background:linear-gradient(135deg,#1a4a28 0%,#3d8546 100%);
  border:none;color:#fff;cursor:pointer;
  font-family:'Roboto Mono',monospace;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  transition:all .18s;
}
.bilan-cta-primary:hover{background:linear-gradient(135deg,#3d8546 0%,#5ab835 100%);}
.bilan-cta-secondary{
  flex:1;padding:.8rem;
  background:var(--lift);border:1px solid var(--border2);
  color:var(--text);cursor:pointer;
  font-family:'Roboto Mono',monospace;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  transition:all .18s;
}
.bilan-cta-secondary:hover{background:var(--acc-dim);border-color:var(--accent);}

/* ── F3 FORESTS REDESIGN ── */
.f3-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.4rem;}
.f3-why-card{background:#0a2010;border:1px solid #1e3a22;padding:.9rem 1rem;}
.f3-why-ico{font-size:1.4rem;margin-bottom:.4rem;}
.f3-why-title{font-size:.7rem;font-weight:700;color:#c8e8b8;margin-bottom:.3rem;}
.f3-why-desc{font-size:.62rem;color:#7a9a7a;line-height:1.5;}
.f3-why-desc strong{color:#a8d5a2;}

.f3-devis-col--highlight{background:#0d2a14;border:1px solid #2a5a30;padding:.6rem .4rem;margin:-.2rem -.2rem;}
.f3-devis-sublbl{font-size:.52rem;color:#4a7a4a;margin:.25rem 0 .1rem;text-transform:uppercase;letter-spacing:.06em;}
.f3-devis-monthly{font-size:1rem;font-weight:700;color:#5ab835;font-family:'Playfair Display',serif;line-height:1;}
.f3-devis-wrap{background:#0a2010;border:1px solid #1e3a22;padding:1.2rem;margin-bottom:1.4rem;}
.f3-devis-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:1rem;}
.f3-devis-col{text-align:center;}
.f3-devis-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:#6a9a6a;margin-bottom:.4rem;}
.f3-devis-v{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:#fff;line-height:1;}
.f3-devis-v--accent{color:#5ab835;}
.f3-devis-v--green{color:#7ab87a;}
.f3-devis-tarif{font-size:.6rem;color:#6a8a6a;text-align:center;margin-bottom:1rem;min-height:.9rem;}

.f3-repartition{margin-top:.6rem;}
.f3-rep-label{font-size:.58rem;color:#6a9a6a;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em;}
.f3-rep-track{display:flex;height:28px;overflow:hidden;}
.f3-rep-agri{background:#3d8546;display:flex;align-items:center;justify-content:center;transition:width .4s;}
.f3-rep-4f{background:#1a5a28;display:flex;align-items:center;justify-content:center;transition:width .4s;}
.f3-rep-agri span,.f3-rep-4f span{font-size:.55rem;color:#fff;white-space:nowrap;letter-spacing:.04em;}

.f3-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;}
.f3-impact-item{background:#0d2a12;border:1px solid #1a3a1a;padding:.8rem;text-align:center;}
.f3-impact-v{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#a8d5a2;line-height:1;}
.f3-impact-l{font-size:.55rem;color:#6a9a6a;margin-top:.3rem;line-height:1.3;}

/* Paliers forests */
.f3-paliers{margin-bottom:1rem;}
.f3-paliers-title{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:#6a9a6a;margin-bottom:.6rem;}
.f3-paliers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;}
.f3-palier{
  background:#0a2010;border:1.5px solid #1a3a22;
  padding:.7rem .6rem;cursor:pointer;position:relative;
  transition:all .15s;text-align:center;
}
.f3-palier:hover{border-color:#3d8546;background:#0d2a14;}
.f3-palier--active{
  border-color:#3d8546 !important;background:#0d2a14 !important;
  box-shadow:0 0 0 1px #3d8546;
}
.f3-palier--custom.f3-palier--active{border-color:#888 !important;box-shadow:0 0 0 1px #888;}
.f3-palier-badge{
  position:absolute;top:-.55rem;left:50%;transform:translateX(-50%);
  background:#3d8546;color:#fff;
  font-size:.48rem;letter-spacing:.07em;text-transform:uppercase;
  padding:.12rem .5rem;white-space:nowrap;
}
.f3-palier-dot{width:7px;height:7px;border-radius:50%;margin:0 auto .35rem;}
.f3-palier-name{font-size:.62rem;font-weight:700;color:#c8e8b8;margin-bottom:.15rem;}
.f3-palier-sub{font-size:.52rem;color:#5a8a6a;margin-bottom:.4rem;line-height:1.3;}
.f3-palier-t{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:#5ab835;line-height:1;}
.f3-palier--active .f3-palier-t{color:#fff;}
.f3-slider-wrap{
  background:#071f12;border:1px solid #1a3a22;
  padding:.9rem 1rem 1rem;margin-bottom:1rem;
}
.f3-slider-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem;}
.f3-slider-title{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#a8d5a2;font-weight:700;}
.f3-slider-pct-lbl{font-size:.6rem;color:#5ab835;font-weight:700;}
.f3-slider-row{display:flex;align-items:center;gap:.8rem;margin-bottom:.35rem;}
.f3-slider{
  flex:1;-webkit-appearance:none;appearance:none;
  height:4px;background:#1a3a22;outline:none;cursor:pointer;
  border-radius:2px;
}
.f3-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;
  background:#3d8546;border-radius:50%;cursor:pointer;
  transition:background .15s;box-shadow:0 0 0 3px rgba(61,133,70,.25);
}
.f3-slider::-webkit-slider-thumb:hover{background:#5ab835;}
.f3-slider-input-wrap{display:flex;align-items:center;gap:.3rem;flex-shrink:0;}
.f3-slider-num{
  width:70px;background:#0a2010;border:1px solid #1e3a22;
  padding:.3rem .4rem;color:#e8f5e8;font-size:.7rem;
  font-family:'Roboto Mono',monospace;outline:none;text-align:right;
  transition:border-color .15s;
}
.f3-slider-num:focus{border-color:#3d8546;}
.f3-slider-unit{font-size:.58rem;color:#6a9a6a;white-space:nowrap;}
.f3-slider-ticks{
  display:flex;justify-content:space-between;
  font-size:.52rem;color:#3a5a3a;margin-top:.2rem;
}
.f3-contact-email-bar{
  display:flex;align-items:center;gap:.5rem;
  background:#0a2010;border:1px solid #1e4a28;
  padding:.55rem .9rem;margin-bottom:1rem;
  font-size:.65rem;color:#8ab88a;
}
.f3-contact-email-link{
  color:#5ab835;font-weight:700;text-decoration:none;
  border-bottom:1px solid #3a7a30;padding-bottom:1px;
  transition:color .15s;
}
.f3-contact-email-link:hover{color:#a8d5a2;}
.f3-contact-wrap{background:#071812;border:1px solid #1a3a22;padding:1.2rem;margin-bottom:1.4rem;}
.f3-contact-intro{font-size:.65rem;color:#8ab88a;line-height:1.5;margin-bottom:1rem;}
.f3-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}
.f3-field{display:flex;flex-direction:column;gap:.3rem;}
.f3-field-lbl{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#6a9a6a;}
.f3-input{
  background:#0a2010;border:1px solid #1e3a22;
  padding:.5rem .6rem;color:#e8f5e8;font-size:.68rem;outline:none;
  font-family:'Roboto Mono',monospace;
  transition:border-color .15s;
}
.f3-input:focus{border-color:#3d8546;}
.f3-textarea{resize:vertical;min-height:52px;}
.f3-contact-actions{display:flex;gap:.8rem;align-items:center;margin-top:1rem;}
.f3-export-btn{
  display:flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,#2a6030 0%,#3d8546 100%);
  border:none;color:#fff;cursor:pointer;padding:.65rem 1.1rem;
  font-family:'Roboto Mono',monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;
  transition:all .18s;
}
.f3-export-btn:hover{background:linear-gradient(135deg,#3d8546 0%,#5ab835 100%);}
.f3-contact-cta{
  display:flex;align-items:center;gap:.4rem;
  font-family:'Roboto Mono',monospace;font-size:.6rem;letter-spacing:.06em;
  color:#7ab87a;text-decoration:none;text-transform:uppercase;
  border-bottom:1px solid #1e4a28;padding-bottom:1px;
  transition:color .15s;
}
.f3-contact-cta:hover{color:#a8d5a2;}

/* Responsive bilan */
@media(max-width:700px){
  .bilan-scopes{grid-template-columns:1fr;}
  .bilan-kpis{grid-template-columns:1fr 1fr;}
  .bilan-recos-grid{grid-template-columns:1fr;}
  .bilan-plan{grid-template-columns:1fr;}
  .bilan-ctas{flex-direction:column;}
  .f3-devis-grid{grid-template-columns:1fr 1fr;}
  .f3-contact-grid{grid-template-columns:1fr;}
  .f3-why-grid{grid-template-columns:1fr;}
  .f3-impact-grid{grid-template-columns:1fr 1fr;}
}

/* ── THEME SWITCHER ── */
.theme-switcher{
  display:flex;align-items:center;gap:2px;
  background:var(--panel);
  border:1px solid var(--border);
  padding:2px;
}
.theme-btn{
  display:flex;align-items:center;gap:4px;
  padding:.22rem .55rem;
  background:transparent;border:none;cursor:pointer;
  font-family:'Roboto Mono',monospace;font-size:.52rem;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);transition:all .15s;
  white-space:nowrap;
}
.theme-btn:hover{color:var(--text);background:var(--lift);}
.theme-btn--active{background:var(--lift);color:var(--text);}
.theme-dot{
  display:inline-block;width:7px;height:7px;
  border-radius:50%;flex-shrink:0;
}
/* Responsive */
@media(max-width:1000px){
  .sim-wrap{grid-template-columns:1fr;padding:1rem 1.2rem 3rem;}
  .res-col{position:static;}
  .sector-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .topbar{padding:0 1.2rem;}
  .home-wrap{padding:3rem 1.2rem 4rem;}
  .sector-grid{grid-template-columns:1fr;}
  .cg{grid-template-columns:1fr;}
}

a.logo.cs-retour{text-decoration:none;color:inherit}
