/* Observatoire ISFB — Référentiel des grandes fonctions bancaires — charte isfb.ch/observatoire */
:root{
  --navy:#1C355E; --navy-2:#142a4b; --teal:#44ACBC; --teal-2:#2d8a9a; --teal-050:#EAF6F8; --teal-150:#c9e6ec;
  --ink:#333C4E; --muted:#6b7280; --line:#E2E5EA; --bg:#F8F7F6; --panel:#fff; --sand:#f1efeb;
  --blue-900:#1C355E; --blue-800:#1C355E; --blue-700:#2d8a9a; --blue-500:#44ACBC; --blue-300:#9fd3dc; --blue-150:#c9e6ec; --blue-050:#EAF6F8;
  --rh:#1C355E; --tech:#2d8a9a; --clients:#534AB7; --regl:#0F6E56; --eco:#993C1D; --durab:#5b7f2b;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif; --sans:"Open Sans","Helvetica Neue",Arial,sans-serif;
  --plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M13 9h2v10h-2zM9 13h10v2H9z' fill='%23ffffff' fill-opacity='.16'/%3E%3C/svg%3E");
  --plus-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M13 9h2v10h-2zM9 13h10v2H9z' fill='%231C355E' fill-opacity='.10'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--teal-2)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:700}
h1{font-size:2.3rem;letter-spacing:-.01em}
h2{font-size:1.55rem;margin-top:1.6em}
h3{font-size:1.15rem;margin-top:1.3em}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.wordmark{font-family:var(--serif);font-weight:700;font-size:1.9rem;color:var(--navy);letter-spacing:-.03em;line-height:1}
/* ---------- header ---------- */
.logo{height:40px;width:auto;display:block}
.logo-foot{height:54px;width:auto;background:#fff;padding:6px 10px;border-radius:8px;display:block}
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.head-row{display:flex;align-items:center;gap:22px;min-height:66px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt strong{font-size:.95rem;color:var(--navy)}
.brand-txt small{font-size:.72rem;color:var(--muted)}
.nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.nav a{text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:600;padding:9px 10px;border-radius:6px;white-space:nowrap}
.nav a:hover{background:var(--teal-050);color:var(--navy)}
.nav a.on{color:var(--teal-2);box-shadow:inset 0 -3px 0 var(--teal)}
.nav .menu{position:relative}
.nav .menu .car{font-size:.62rem;color:var(--muted);margin-left:1px}
.nav .menu .drop{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px rgba(4,44,83,.14);min-width:240px;padding:8px;z-index:60}
.nav .menu:hover .drop,.nav .menu:focus-within .drop{display:block}
.nav .menu .drop a{display:block;font-weight:500;padding:8px 11px;border-radius:6px;font-size:.86rem;box-shadow:none}
.nav .menu .drop a:hover{background:var(--teal-050)}
.nav .menu .drop a.on{color:var(--teal-2);font-weight:700;box-shadow:none}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:6px;font-size:1.3rem;padding:2px 10px;cursor:pointer}
.subnav{background:var(--sand);border-top:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.subnav a{font-size:.8rem;text-decoration:none;color:var(--navy);padding:4px 10px;border-radius:14px;border:1px solid transparent}
.subnav a:hover,.subnav a.on{background:#fff;border-color:var(--line)}
@media(max-width:960px){
.nav{display:none;position:absolute;left:0;right:0;top:66px;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(0,0,0,.06);max-height:calc(100vh - 66px);overflow-y:auto}
.nav.open{display:flex}.burger{display:block}
.nav .menu{position:static}
.nav .menu .car{display:none}
.nav .menu .mtop{display:block;color:var(--navy);border-bottom:1px solid var(--line);border-radius:0;margin-top:4px}
.nav .menu .drop{display:block;position:static;border:none;box-shadow:none;min-width:0;padding:2px 0 8px 14px}
}
/* ---------- hero ---------- */
.hero{background:var(--navy) var(--plus);color:#fff;padding:58px 0 52px}
.hero h1{color:#fff;font-size:2.7rem;max-width:820px}
.hero .lead{font-size:1.12rem;max-width:760px;color:#d9e4f2;margin-bottom:1.4em}
.hero .kicker,.kicker{display:inline-block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:14px}
.hero .kicker{color:#8fd6df}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:8px;border:1px solid var(--teal);background:var(--teal);color:#fff;transition:.15s}
.btn:hover{background:var(--teal-2);border-color:var(--teal-2)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.navy{background:var(--navy);border-color:var(--navy)}
.btn.light{background:#fff;color:var(--navy);border-color:var(--line)}
.btn.light:hover{background:var(--teal-050)}
.page-head{background:#fff var(--plus-dark);border-bottom:1px solid var(--line);padding:40px 0 30px}
.page-head h1{margin-bottom:.3em}
.page-head .lead{font-size:1.08rem;color:#4b5563;max-width:820px;margin:0}
.page-head.tinted{background-color:var(--teal-050)}
.angle-band{border-top:6px solid var(--ac,var(--teal))}
/* ---------- layout blocks ---------- */
section.block{padding:44px 0}
section.block.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.g4,.g5{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4,.g5{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 22px 18px;position:relative;transition:.15s;text-decoration:none;color:inherit;display:block}
a.card:hover{border-color:var(--teal);box-shadow:0 8px 26px rgba(28,53,94,.08);transform:translateY(-2px)}
.card h3{margin-top:0;font-size:1.08rem}
.card p{font-size:.92rem;color:#4b5563;margin-bottom:.4em}
.card .more{font-size:.82rem;color:var(--teal-2);font-weight:600}
.card.ac{border-top:4px solid var(--ac,var(--teal))}
.pill{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:12px;background:var(--teal-050);color:var(--teal-2);margin-bottom:8px}
.pill.navy{background:#e8edf5;color:var(--navy)}
.pill.rh{background:#e8edf5;color:var(--rh)}.pill.tech{background:#e4f3f5;color:var(--tech)}.pill.clients{background:#EEEDFE;color:var(--clients)}.pill.regl{background:#E1F5EE;color:var(--regl)}.pill.eco{background:#FAECE7;color:var(--eco)}.pill.durab{background:#edf3e3;color:var(--durab)}
.tag{display:inline-block;font-size:.74rem;padding:2px 9px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);margin:0 4px 4px 0}
/* ---------- KPI / signaux ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;border-left:5px solid var(--ac,var(--teal))}
.kpi .v{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--navy);line-height:1.05}
.kpi .l{font-size:.86rem;color:#4b5563;margin-top:6px}
.kpi .s{font-size:.74rem;color:var(--muted);margin-top:8px}
.kpi.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.kpi.dark .v{color:#fff}.kpi.dark .l{color:#d9e4f2}.kpi.dark .s,.kpi.dark .s a{color:#9fc3dc}
.signal{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.signal .dot{flex:0 0 12px;height:12px;border-radius:50%;background:var(--ac,var(--teal));margin-top:7px}
.signal b{color:var(--navy)}
.signal p{margin:0;font-size:.93rem}
.signal .s{font-size:.78rem;color:var(--muted);margin-top:4px}
/* ---------- citations ---------- */
.src-note{font-size:.84rem;color:var(--muted);border-left:3px solid var(--teal);padding:6px 12px;background:#fff;margin:18px 0}
blockquote{font-family:var(--serif);font-size:1.2rem;color:var(--navy);border-left:4px solid var(--teal);margin:1.4em 0;padding:6px 20px;line-height:1.45}
blockquote small{display:block;font-family:var(--sans);font-size:.8rem;color:var(--muted);margin-top:8px}
.prose{max-width:780px}
.prose p{font-size:1.02rem}
.prose ul{padding-left:20px}
.prose li{margin-bottom:.5em}
.facts{margin:0;padding:0;list-style:none}
.facts li{padding:12px 0 12px 22px;border-bottom:1px solid var(--line);position:relative;font-size:.97rem}
.facts li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;border-radius:50%;background:var(--ac,var(--teal))}
.facts li:last-child{border-bottom:none}
.facts .n{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:1.15rem;margin-right:6px}
/* ---------- tables ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tbl th{background:var(--sand);text-align:left;padding:10px 12px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.tbl td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.tbl-wrap{overflow-x:auto}
/* ---------- publication cards ---------- */
.pub-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:22px 0}
.pub-meta div b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-2)}
.pub-meta div{font-size:.9rem}
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;font-size:.9rem}
.toc ol{margin:6px 0 0;padding-left:20px}
.toc li{margin:3px 0}
.two{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.side-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:18px;font-size:.9rem}
.side-box h4{margin:0 0 10px;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-2)}
.side-box ul{margin:0;padding-left:18px}
.side-box li{margin-bottom:6px}
.sticky{position:sticky;top:84px}
/* ---------- référentiel ---------- */
.fam{--fc:var(--teal)}
.fam-PBAM{--fc:#185FA5;--fb:#E6F1FB}.fam-RETAIL{--fc:#534AB7;--fb:#EEEDFE}.fam-RISK{--fc:#0F6E56;--fb:#E1F5EE}.fam-SUPP{--fc:#993C1D;--fb:#FAECE7}.fam-MGMT{--fc:#993556;--fb:#FBEAF0}
.fn-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--fc);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;display:block;transition:.15s}
.fn-card:hover{border-color:var(--fc);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.fn-card b{color:var(--navy);font-size:.98rem;display:block}
.fn-card small{color:var(--muted);font-size:.78rem}
.fiche-head{background:var(--fb,var(--teal-050)) var(--plus-dark);border-bottom:1px solid var(--line);padding:36px 0 28px}
.fiche-head h1{color:var(--fc)}
.langs{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;color:var(--muted)}
.langs b{color:var(--ink);font-weight:600}
.comp-chip{display:inline-block;font-size:.82rem;padding:4px 11px;border-radius:16px;border:1px solid var(--line);background:#fff;margin:0 6px 6px 0;text-decoration:none;color:var(--navy)}
.comp-chip:hover{border-color:var(--teal);background:var(--teal-050)}
.comp-chip.inter{border-style:dashed}
.esco{font-size:.86rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.esco a{word-break:break-all}
/* ---------- footer ---------- */
.site-foot{background:var(--navy) var(--plus);color:#c9d6e6;padding:40px 0 30px;margin-top:60px;font-size:.86rem}
.site-foot .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
@media(max-width:800px){.site-foot .wrap{grid-template-columns:1fr}}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.site-foot h4{color:#8fd6df;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px}
.site-foot .wordmark{color:#fff}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:5px}
.foot-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:26px;padding-top:16px;font-size:.78rem;color:#9fb3cc}
/* ---------- misc ---------- */
.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:12px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--teal-2)}
.note{background:var(--teal-050);border:1px solid var(--teal-150);border-radius:10px;padding:14px 18px;font-size:.92rem}
.warn{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 18px;font-size:.9rem;color:#7c2d12}
.small{font-size:.86rem;color:var(--muted)}
.angle-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.angle-nav a{text-decoration:none;font-size:.84rem;font-weight:600;color:#fff;padding:6px 14px;border-radius:18px;background:var(--c)}
.angle-nav a:hover{filter:brightness(1.1)}
.next-prev{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.9rem}
.next-prev a{text-decoration:none;color:var(--navy);font-weight:600}
.search-box{width:100%;padding:12px 14px;font-size:1rem;border:1px solid var(--line);border-radius:8px;font-family:inherit}
.search-box:focus{outline:none;border-color:var(--teal)}
.hidden{display:none!important}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.filters button{font-family:inherit;font-size:.82rem;padding:6px 13px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}


/* ---------- public ---------- */
.brand{gap:14px}
.brand .obs{height:40px;width:auto;display:block}
.brand-sep{width:1px;height:34px;background:var(--line)}
.hero-obs{background:#fff;border-bottom:1px solid var(--line);padding:52px 0 44px}
.hero-obs .baseline{font-family:var(--serif);font-size:1.12rem;color:var(--teal-2);margin:0 0 18px;font-weight:600}
.hero-obs h1{font-size:2.5rem;max-width:900px;margin-bottom:.35em}
.hero-obs .lead{font-size:1.08rem;color:#4b5563;max-width:800px}
.hero-obs .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.fn-card small{display:block;margin-top:2px}
.fn-card .syn{display:block;margin-top:6px;font-size:.76rem;color:var(--muted)}
.sec-lead{max-width:820px;color:#4b5563}
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.chip-fam{font-family:inherit;font-size:.82rem;padding:6px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.chip-fam.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.rosace-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 22px}
#rosace text{font-family:var(--sans)}
.fn-slot text{paint-order:stroke;stroke:#fff;stroke-width:2.6px;stroke-linejoin:round;cursor:pointer}
.fn-slot:hover text{text-decoration:underline}
.petal{cursor:pointer;transition:opacity .12s}
.rosace-legend{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:10px}
.tooltip{position:fixed;pointer-events:none;z-index:50;background:var(--navy);color:#fff;border-radius:8px;padding:9px 12px;font-size:12px;line-height:1.55;box-shadow:0 6px 22px rgba(4,44,83,.28);opacity:0;transition:opacity .12s;max-width:250px}
.tooltip .tr{display:flex;justify-content:space-between;gap:14px;margin-top:3px;color:#cfe0f1}
.fiche-head{padding:40px 0 32px}
.fiche-head .langs{margin-top:10px}
.meta-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:0 0 26px}
.meta-row div b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-2);margin-bottom:2px}
.meta-row div{font-size:.92rem}
.fam-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.fam-nav a{text-decoration:none;font-size:.82rem;font-weight:600;padding:6px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.fam-nav a:hover,.fam-nav a.on{background:var(--fc,var(--navy));color:#fff;border-color:var(--fc,var(--navy))}
.version-note{background:rgba(255,255,255,.06);border-radius:12px;padding:20px 24px;margin:0 0 26px}
.version-note h4{margin:0 0 10px}
.version-note p{margin:0 0 12px;max-width:none;color:#c9d6e6}
.version-note p:last-child{margin-bottom:0}
.version-note b{color:#fff}
.site-foot .wrap.cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
@media(max-width:800px){.site-foot .wrap.cols{grid-template-columns:1fr}}
.prev-next{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem}
.prev-next a{text-decoration:none;color:var(--navy);font-weight:600}
.site-foot .wrap.solo{display:block}
.lnk-ext{font-size:.72em;margin-left:3px;color:var(--teal-2)}
.facts a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--teal-150);font-weight:600}
.facts a:hover{color:var(--teal-2);border-bottom-color:var(--teal)}
.presta{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.presta a{font-weight:600;color:var(--teal-2);text-decoration:none;border-bottom:1px solid var(--teal-150)}
/* ---------- impression et PDF (v0.9 révisée) ---------- */
.print-meta{display:none}
.print-meta .pm-logo{height:11mm;width:auto;max-width:60mm;object-fit:contain;flex:none}
.print-meta .pm-obs{height:13mm;max-width:70mm}
.btn-print{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:.84rem;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.btn-print:hover{background:var(--teal-050);border-color:var(--teal)}
.btn-print::before{content:"⎙";font-size:1rem;line-height:1}
.fiche-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fiche-actions a.btn-print::before{content:none}
/* comparateur */
.cmp-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:22px}
.cmp-form label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-2);font-weight:700;flex:1;min-width:220px}
.cmp-form select{font-family:var(--sans);font-size:.9rem;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400}
.cmp-form button{font-family:var(--sans);cursor:pointer}
.cmp-tbl{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.88rem;table-layout:fixed}
.cmp-tbl th,.cmp-tbl td{padding:12px 14px;vertical-align:top;border-top:1px solid var(--line);text-align:left}
.cmp-tbl thead th{border-top:none;background:var(--fb,var(--sand));border-bottom:3px solid var(--fc,var(--navy))}
.cmp-tbl thead th a{font-family:var(--serif);font-size:1.08rem;color:var(--fc,var(--navy));text-decoration:none}
.cmp-tbl thead th small{display:block;font-size:.74rem;color:var(--muted);font-weight:400;margin-top:3px}
.cmp-tbl th.rub{width:170px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-2);background:#fcfcfb}
.cmp-tbl ul{margin:0;padding-left:16px}
.cmp-tbl li{margin:0 0 5px}
.cmp-tbl .c{display:inline-block;font-size:.8rem;padding:3px 9px;border-radius:14px;border:1px solid var(--line);background:#fff;margin:0 5px 5px 0;color:var(--navy)}
.cmp-tbl .c.all{background:var(--navy);border-color:var(--navy);color:#fff}
.cmp-tbl .c.some{background:var(--teal-150);border-color:var(--teal)}
.cmp-leg{display:flex;flex-wrap:wrap;gap:14px;font-size:.82rem;color:var(--muted);margin:0 0 14px;align-items:center}
.cmp-leg .c{display:inline-block;font-size:.76rem;padding:2px 9px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.cmp-leg .c.all{background:var(--navy);border-color:var(--navy);color:#fff}
.cmp-leg .c.some{background:var(--teal-150);border-color:var(--teal)}
.cmp-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 22px}
.cmp-sum .box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.88rem}
.cmp-sum .box b.v{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--navy);line-height:1.1}
@media(max-width:760px){.cmp-scroll{overflow-x:auto}.cmp-tbl{min-width:720px}}
@media print{
  @page{margin:14mm 12mm}
  body{background:#fff;font-size:11pt}
  .site-head,.site-foot,.burger,.no-print,.btn-print,.fiche-actions,.subnav,.prev-next,aside{display:none !important}
  .print-meta{display:flex;align-items:center;gap:14px;font-size:8.5pt;color:#555;border-bottom:1px solid #ccc;padding:0 0 7px;margin:0 0 12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-meta .pm-logo{height:11mm;width:auto;flex:none}
  .print-meta .pm-obs{height:13mm}
  .print-meta .pm-txt{margin-left:auto;text-align:right;line-height:1.35}
  .wrap{max-width:none;padding:0}
  .two{display:block}
  .block{padding:10px 0}
  .fiche-head,.page-head{background:#fff !important;padding:6px 0 10px;border-bottom:1px solid #ccc}
  a{color:inherit;text-decoration:none}
  .lnk-ext{display:none}
  h2{break-after:avoid;margin-top:14px}
  .facts li{padding:5px 0 5px 16px;break-inside:avoid}
  .facts li::before{top:12px;width:7px;height:7px}
  .comp-chip{font-size:8.5pt;padding:1px 7px;margin:0 3px 3px 0}
  .esco a{word-break:normal}
  .cmp-tbl{font-size:8.5pt;table-layout:auto}
  .cmp-tbl th,.cmp-tbl td{padding:6px 7px}
  .cmp-tbl th.rub{width:auto}
  .cmp-tbl tr{break-inside:avoid}
  .cmp-tbl .c,.cmp-leg .c,.cmp-tbl .c.all,.cmp-tbl .c.some{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cmp-form{display:none}
}
/* accueil : familles sous le texte */
.fam-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.fam-grid .fn-card{display:flex;flex-direction:column;justify-content:space-between;min-height:92px}
@media(max-width:1000px){.fam-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.fam-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.fam-grid{grid-template-columns:1fr}}

/* ---------- recherche ---------- */
.search-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:10px;
  border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);cursor:pointer;flex:none;transition:.15s}
.search-btn:hover{border-color:var(--teal);color:var(--teal-2);background:var(--teal-050)}
.search-ov[hidden]{display:none}
.search-ov{position:fixed;inset:0;background:rgba(12,32,60,.34);z-index:200;display:flex;justify-content:center;
  align-items:flex-start;padding:10vh 18px 18px}
.search-panel{background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(4,44,83,.28);width:100%;max-width:660px;
  overflow:hidden;display:flex;flex-direction:column;max-height:76vh}
.search-top{display:flex;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.search-top input{flex:1;border:none;outline:none;font-family:var(--sans);font-size:1.02rem;color:var(--ink);background:none}
.search-top input::placeholder{color:#9aa4b2}
.search-top input::-webkit-search-cancel-button,.search-top input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.search-close{border:none;background:none;color:var(--muted);font-size:1.05rem;cursor:pointer;padding:4px 6px;border-radius:6px}
.search-close:hover{background:var(--teal-050);color:var(--navy)}
.search-flt{display:flex;flex-wrap:wrap;gap:6px 16px;padding:11px 18px;border-bottom:1px solid var(--line);background:#fcfcfb}
.search-flt label{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);cursor:pointer}
.search-flt input{accent-color:var(--teal-2);width:14px;height:14px;cursor:pointer}
.search-flt label:hover{color:var(--navy)}
.search-res{overflow-y:auto;padding:6px}
.search-res .grp{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-2);font-weight:700;padding:12px 14px 6px}
.search-res a{display:block;padding:9px 14px;border-radius:9px;text-decoration:none;color:var(--ink)}
.search-res a:hover,.search-res a.on{background:var(--teal-050)}
.search-res a b{display:block;color:var(--navy);font-size:.95rem;font-weight:600;margin-bottom:2px}
.search-res a small{display:block;color:var(--muted);font-size:.8rem;line-height:1.45;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.search-res mark{background:var(--teal-150);color:var(--navy);padding:0 2px;border-radius:3px}
.search-plus{display:block;width:100%;margin:2px 0 6px;padding:9px 14px;border:none;border-top:1px solid var(--line);
  background:none;color:var(--teal-2);font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;cursor:pointer;text-align:center;transition:.14s}
.search-plus::after{content:" ↓";font-weight:400;letter-spacing:0}
.search-plus:hover{background:var(--teal-050);color:var(--navy)}
.search-res .grp span{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);font-size:.72rem}
.res-form{padding:9px 14px;border-radius:9px}
.res-form b{display:block;color:var(--navy);font-size:.95rem;font-weight:600;margin-bottom:2px}
.res-form small{display:block;color:var(--muted);font-size:.8rem}
.res-fns{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.res-fns a{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:14px;font-size:.78rem;
  color:var(--navy);text-decoration:none;background:#fff}
.res-fns a:hover,.res-fns a.on{background:var(--teal-050);border-color:var(--teal)}
.res-suite{font-size:.76rem;color:var(--muted);align-self:center}
.search-res .vide{padding:20px 14px;font-size:.88rem;color:var(--muted)}
.search-res .astuce{padding:16px 14px;font-size:.86rem;color:var(--muted);line-height:1.6}
.search-foot{border-top:1px solid var(--line);padding:10px 16px;font-size:.74rem;color:var(--muted);
  display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap}
.search-foot span{white-space:nowrap}
@media(max-width:700px){.search-ov{padding:0}.search-panel{max-width:none;border-radius:0;max-height:100vh;height:100%}
  .search-foot span{display:none}}
@media print{.search-btn,.search-ov{display:none !important}}
