/* Le Flux : espace ressources. S'appuie sur les jetons de style.css (couleurs, polices). */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn-clair{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.fx-tag{display:inline-block;font:600 11px/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--taupe)}
.fx-tag-clair{color:#cdbfb3}

/* Bandeau d'ouverture */
.fx-hero{position:relative;overflow:hidden;background:#3A2E28;color:#F4EFEA;padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px)}
.fx-hero .wrap{position:relative}
.fx-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(36px,6vw,72px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 0;max-width:18ch;text-wrap:balance;color:#F4EFEA}
.fx-hero-accueil h1{font-size:clamp(56px,10vw,128px)}
.fx-accroche{font-size:clamp(17px,1.7vw,21px);line-height:1.5;color:#ece3da;max-width:58ch;margin:18px 0 0}
.fx-aussi{color:#b4a294;font-size:14px;margin:12px 0 0}
.fx-fil{font-size:13px;color:#b4a294;margin-bottom:18px}
.fx-fil a{color:#d8ccc2;text-decoration:none}.fx-fil a:hover{text-decoration:underline}
.fx-recherche{display:block;margin-top:28px;max-width:620px}
.fx-recherche input{width:100%;font:400 17px var(--body);padding:16px 18px;border-radius:3px;border:0;background:#F4EFEA;color:#3A2E28}
.fx-recherche input:focus-visible{outline:2px solid #9C8B7E;outline-offset:2px}
.fx-raccourcis{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fx-raccourcis a{color:#F4EFEA;text-decoration:none;border:1px solid #6b5a4f;border-radius:999px;padding:7px 14px;font-size:14px}
.fx-raccourcis a:hover{border-color:#F4EFEA}

/* Sections et grilles */
.fx-section{padding-block:clamp(48px,7vw,88px)}
.fx-fond{background:#F4EFEA}
.fx-titre{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.fx-titre h2{margin:0 0 6px}
.fx-filtres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.fx-filtres button{font:500 13px var(--body);background:transparent;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer}
.fx-filtres button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fx-filtres button:focus-visible{outline:2px solid var(--taupe);outline-offset:2px}
.fx-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}
.fx-grille-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.fx-pile{display:grid;gap:12px}
.fx-deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(20px,4vw,48px)}
.fx-public{font-family:var(--display);font-size:20px;margin:0 0 14px}
.fx-carte{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:22px;text-decoration:none;color:var(--ink);min-width:0;transition:border-color .2s ease,transform .2s ease}
.fx-carte:hover{border-color:var(--taupe);transform:translateY(-2px)}
.fx-carte:focus-visible{outline:2px solid var(--taupe);outline-offset:2px}
.fx-carte b{font-family:var(--display);font-size:19px;line-height:1.2}
.fx-carte>span:not(.fx-tag):not(.fx-repere){color:var(--ink-soft);font-size:15px}
.fx-repere{margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.fx-modele em{font-style:normal;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-top:auto;padding-top:8px}
.fx-gros{display:flex;flex-direction:column;gap:12px;background:#3A2E28;color:#F4EFEA;border-radius:4px;padding:clamp(26px,4vw,44px);text-decoration:none;min-width:0}
.fx-gros b{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);line-height:1.1}
.fx-gros span:not(.fx-tag){color:#ece3da}
.fx-gros em{font-style:normal;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:auto;align-self:start;border:1.5px solid currentColor;padding:10px 16px;border-radius:2px}
.fx-gros-clair{background:#9C8B7E;color:#221a16}
.fx-gros-clair span:not(.fx-tag){color:#221a16}
.fx-gros-clair .fx-tag{color:#3A2E28}
.fx-vide{color:var(--ink-soft);font-style:italic}

/* Fiche métier */
.fx-fiche{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,64px);padding-block:clamp(40px,6vw,72px)}
@media (max-width:900px){.fx-fiche{grid-template-columns:1fr}.fx-cote{order:-1}}
.fx-corps section{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.fx-corps h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 14px}
.fx-corps h3{font-size:16px;margin:20px 0 10px}
.fx-grand{font-size:clamp(18px,1.8vw,21px);line-height:1.55;margin:0;max-width:62ch}
.fx-liste{margin:0;padding-left:20px;display:grid;gap:8px}
.fx-liste li{max-width:68ch}
.fx-coches,.fx-fleches{list-style:none;padding-left:0}
.fx-coches li,.fx-fleches li{position:relative;padding-left:28px}
.fx-coches li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--taupe);border-bottom:2px solid var(--taupe);transform:rotate(-45deg)}
.fx-fleches li::before{content:"";position:absolute;left:2px;top:.62em;width:14px;height:2px;background:var(--taupe)}
.fx-journee{list-style:none;margin:0;padding:0;counter-reset:j;display:grid;gap:0}
.fx-journee li{counter-increment:j;position:relative;padding:0 0 18px 44px;max-width:64ch}
.fx-journee li::before{content:counter(j);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:#3A2E28;color:#F4EFEA;display:grid;place-items:center;font:700 13px var(--display)}
.fx-journee li::after{content:"";position:absolute;left:13px;top:28px;bottom:2px;width:2px;background:var(--line)}
.fx-journee li:last-child::after{display:none}
.fx-puces{display:flex;flex-wrap:wrap;gap:8px}
.fx-puces span{background:var(--chip);border-radius:999px;padding:7px 13px;font-size:14px;color:var(--ink)}
.fx-conseil{background:#3A2E28;color:#F4EFEA;border-radius:4px;padding:clamp(22px,3vw,32px)}
.fx-conseil p{margin:10px 0 0;font-size:18px;line-height:1.55}
.fx-cote{display:grid;gap:16px;align-content:start}
.fx-encart{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:20px}
.fx-encart h3{margin:0 0 12px;font-size:15px;font-family:var(--display)}
.fx-encart .fx-liste{font-size:14px}
.fx-sal{width:100%;border-collapse:collapse;font-size:15px}
.fx-sal th{text-align:left;font-weight:500;color:var(--ink-soft);padding:8px 0;border-top:1px solid var(--line)}
.fx-sal td{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;padding:8px 0;border-top:1px solid var(--line)}
.fx-note{font-size:13px;color:var(--muted);margin:12px 0 0}
.fx-note a{color:var(--ink)}
.fx-liees{padding-block:clamp(40px,6vw,72px);background:#F4EFEA}
.fx-liees h2{margin:0 0 20px}

/* Guide */
.fx-etroit{max-width:780px}
.fx-article{padding-block:clamp(36px,6vw,64px)}
.fx-article section{margin-top:34px}
.fx-article h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 12px}
.fx-article p{font-size:17px;line-height:1.7;margin:0 0 14px}
.fx-article .fx-liste{font-size:17px;line-height:1.6;margin-bottom:14px}
.fx-sommaire{background:#F4EFEA;border-radius:4px;padding:20px 24px;color:#3A2E28}
.fx-sommaire ol{margin:10px 0 0;padding-left:20px;display:grid;gap:6px}
.fx-sommaire a{color:#3A2E28}
.fx-retenir{margin-top:40px;background:#3A2E28;color:#F4EFEA;border-radius:4px;padding:26px 28px}
.fx-retenir b{font-family:var(--display);font-size:20px;display:block;margin-bottom:12px}
.fx-retenir .fx-coches li::before{border-color:#cdbfb3}

/* Salaires */
.fx-bloc{padding-block:clamp(36px,6vw,64px)}
.fx-tableau{overflow-x:auto;border:1px solid var(--line);border-radius:4px}
.fx-table{width:100%;border-collapse:collapse;font-size:15px;min-width:720px}
.fx-table thead th{background:#3A2E28;color:#F4EFEA;text-align:left;font-weight:600;padding:14px 16px;font-size:13px;letter-spacing:.04em}
.fx-table tbody th,.fx-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.fx-table tbody th a{color:var(--ink);font-weight:700;text-decoration:none}
.fx-table tbody th a:hover{text-decoration:underline}
.fx-table tbody th small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:3px}
.fx-table td{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.fx-table td.fx-com{white-space:normal;font-weight:400;color:var(--ink-soft);font-size:14px;min-width:240px}
.fx-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--chip) 45%,transparent)}
.fx-sources{font-size:12.5px;line-height:1.5;gap:6px;margin-top:12px}
.fx-details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.fx-details summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);list-style:none;display:inline-flex;align-items:center;gap:8px}
.fx-details summary::-webkit-details-marker{display:none}
.fx-details summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;font-size:13px;line-height:1}
.fx-details[open] summary::before{content:"\2212"}
.fx-details summary:focus-visible{outline:2px solid var(--taupe);outline-offset:3px}
.fx-sources a{color:var(--ink)}

/* Lexique */
.fx-az{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 74px);background:var(--bg);padding-block:10px;z-index:2}
.fx-az a{min-width:34px;text-align:center;padding:6px 8px;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.fx-az a:hover{background:var(--ink);color:var(--bg)}
.fx-lettre{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding-block:20px;scroll-margin-top:140px}
.fx-lettre h2{font-size:40px;margin:0;color:var(--taupe)}
.fx-lettre dl{margin:0;display:grid;gap:18px}
.fx-terme dt{font-family:var(--display);font-weight:700;font-size:18px}
.fx-terme dt small{font-family:var(--body);font-weight:400;font-size:14px;color:var(--muted);margin-left:6px}
.fx-terme dd{margin:4px 0 0;color:var(--ink-soft);max-width:72ch}
.fx-terme .fx-tag{margin-left:8px}
@media (max-width:520px){.fx-lettre{grid-template-columns:1fr}}

/* Appel à l'action */
.fx-cta{background:#1f1916;color:#F4EFEA;padding-block:clamp(40px,6vw,72px)}
.fx-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.fx-cta h2{margin:0 0 6px;color:#F4EFEA}
.fx-cta p{margin:0;color:#d8ccc2}
.fx-cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.fx-cta .btn{background:#F4EFEA;color:#3A2E28;border-radius:2px}
.fx-cta .btn-clair{background:transparent;color:#F4EFEA;border:1.5px solid #F4EFEA}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fx-fond,:root:not([data-theme="light"]) .fx-liees{background:#2a221e}:root:not([data-theme="light"]) .fx-sommaire{background:#2a221e;color:#F4EFEA}:root:not([data-theme="light"]) .fx-sommaire a{color:#F4EFEA}}
@media (prefers-reduced-motion:reduce){.fx-carte,.fx-carte:hover{transition:none;transform:none}}

/* Je suis une entreprise / candidat */
.fx-profils{padding-block:clamp(40px,6vw,64px) 0}
.fx-profils-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.fx-profil{display:flex;flex-direction:column;gap:12px;background:#9C8B7E;color:#221a16;border-radius:4px;padding:clamp(26px,4vw,40px);min-width:0}
.fx-profil .fx-tag{color:#3A2E28}
.fx-profil b{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);line-height:1.15}
.fx-profil ul{list-style:none;margin:4px 0 0;padding:0;display:grid}
.fx-profil li a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(34,26,22,.25);color:#221a16;text-decoration:none;font-weight:500}
.fx-profil li a::after{content:"\2192";font-weight:400}
.fx-profil li a:hover{text-decoration:underline}
.fx-profil-btn{margin-top:auto;align-self:start;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#221a16;text-decoration:none;border:1.5px solid #221a16;padding:10px 16px;border-radius:2px}
.fx-profil-btn:hover{background:#221a16;color:#F4EFEA}
.fx-profil a:focus-visible{outline:2px solid #221a16;outline-offset:3px}

/* Accueil des Ressources : onglets par public */
.fx-onglets-barre{position:sticky;top:calc(env(safe-area-inset-top,0px) + 66px);z-index:3;background:var(--bg);border-bottom:1px solid var(--line);scroll-margin-top:66px}
.fx-onglets{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.fx-onglets::-webkit-scrollbar{display:none}
.fx-onglets button{flex:none;font:600 15px var(--body);background:none;border:0;border-bottom:3px solid transparent;color:var(--ink-soft);padding:18px 16px 15px;cursor:pointer;white-space:nowrap}
.fx-onglets button[aria-selected="true"]{color:var(--ink);border-bottom-color:#3A2E28}
.fx-onglets button:hover{color:var(--ink)}
.fx-onglets button:focus-visible{outline:2px solid var(--taupe);outline-offset:-4px}
.fx-panneau{padding-block:clamp(32px,5vw,56px) clamp(48px,7vw,80px)}
.fx-intro{font-size:clamp(17px,1.6vw,19px);color:var(--ink-soft);max-width:60ch;margin:0 0 32px}
.fx-bloc-titre{margin-bottom:18px;scroll-margin-top:140px}
.fx-bloc-titre h2{margin:0 0 6px}
.fx-espace{margin-top:clamp(40px,6vw,64px)}
.fx-resultat{font-weight:600;padding-top:24px;margin:0 auto}
.fx-vide.wrap{margin:0 auto 48px}
.fx-familles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.fx-famille{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:20px 22px}
.fx-famille h3{margin:0 0 8px;font:600 12px/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--taupe)}
.fx-famille ul{list-style:none;margin:0;padding:0}
.fx-famille li a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.fx-famille li:first-child a{border-top:0}
.fx-famille li a b{font-weight:600;font-size:15px}
.fx-famille li a span{flex:none;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.fx-famille li a:hover b{text-decoration:underline}
.fx-grille-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.fx-suite{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.fx-suite .btn{border-radius:2px}
@media (max-width:440px){.fx-onglets-barre{top:calc(env(safe-area-inset-top,0px) + 58px)}.fx-onglets button{font-size:14px;padding-inline:10px}}

/* ===== Profondeur : transparences, volumes, lumière ===== */
.fx-hero{background:radial-gradient(760px 520px at 80% 15%,rgba(156,139,126,.36),transparent 62%),radial-gradient(620px 420px at 5% 115%,rgba(156,139,126,.2),transparent 60%),linear-gradient(160deg,#4b3c34 0%,#33281f 55%,#241b16 100%)}
.fx-recherche input{border-radius:999px;padding-inline:24px;background:rgba(244,239,234,.95);box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.fx-raccourcis a{background:rgba(244,239,234,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fx-onglets-barre{background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:saturate(170%) blur(16px);backdrop-filter:saturate(170%) blur(16px)}
.fx-carte,.fx-famille,.fx-encart{background:var(--verre);border:1px solid var(--verre-bord);border-radius:var(--rayon);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:var(--ombre)}
.fx-carte:hover{transform:translateY(-3px);box-shadow:var(--ombre-forte);border-color:var(--verre-bord)}
.fx-famille li a{border-top-color:color-mix(in srgb,var(--line) 70%,transparent)}
.fx-gros{background:radial-gradient(420px 300px at 90% 0%,rgba(156,139,126,.35),transparent 60%),linear-gradient(150deg,#4b3c34,#2a201b);border-radius:var(--rayon);box-shadow:var(--ombre-forte);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;transition:transform .25s ease}
.fx-gros::before{content:"";position:absolute;width:300px;height:300px;right:-110px;bottom:-150px;border-radius:50%;border:32px solid rgba(244,239,234,.07);pointer-events:none}
.fx-gros:hover{transform:translateY(-3px)}
.fx-gros-clair{background:linear-gradient(150deg,rgba(156,139,126,.8),rgba(156,139,126,.48));border:1px solid rgba(255,255,255,.45)}
.fx-gros em,.fx-profil-btn{border-radius:999px}
.fx-conseil,.fx-retenir{background:radial-gradient(420px 260px at 100% 0%,rgba(156,139,126,.35),transparent 60%),linear-gradient(150deg,#4b3c34,#2a201b);border-radius:var(--rayon);box-shadow:var(--ombre-forte)}
.fx-sommaire{background:var(--verre);border:1px solid var(--verre-bord);border-radius:var(--rayon);box-shadow:var(--ombre)}
.fx-tableau{border-radius:var(--rayon);border-color:var(--verre-bord);box-shadow:var(--ombre);background:var(--verre);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.fx-table thead th{background:linear-gradient(180deg,#4b3c34,#3A2E28)}
.fx-puces span{background:color-mix(in srgb,var(--chip) 70%,transparent);border:1px solid var(--verre-bord)}
.fx-journee li::before{background:linear-gradient(160deg,#5E4D43,#3A2E28);box-shadow:0 6px 14px -6px rgba(58,46,40,.6)}
.fx-fond,.fx-liees{background:linear-gradient(180deg,transparent,rgba(156,139,126,.12) 25%,rgba(156,139,126,.12) 75%,transparent)}
.fx-cta{background:radial-gradient(700px 400px at 85% 0%,rgba(156,139,126,.3),transparent 60%),linear-gradient(160deg,#2c221c,#1a1411)}
.fx-cta .btn{border-radius:999px}
.fx-az a{border-radius:10px;background:var(--verre)}
.fx-filtres button{background:var(--verre)}
.fx-filtres button[aria-pressed="true"]{background:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fx-sommaire{background:var(--verre)}}
/* Inspiration Terminal : bandeau arrondi sous le menu flottant */
.fx-hero{border-radius:0 0 clamp(24px,4vw,44px) clamp(24px,4vw,44px);padding-top:calc(clamp(48px,8vw,96px) + 86px)}
.fx-onglets-barre{top:calc(env(safe-area-inset-top,0px) + 92px)}
@media (max-width:440px){.fx-onglets-barre{top:calc(env(safe-area-inset-top,0px) + 80px)}}
/* Sobriété : aplats sans anneaux ni halos hors du grand bandeau */
.fx-gros::before{display:none}
.fx-gros{background:#3A2E28}
.fx-gros-clair{background:rgba(156,139,126,.55)}
.fx-conseil,.fx-retenir{background:#3A2E28}
.fx-cta{background:#241b16}
.fx-hero:not(.fx-hero-accueil){background:linear-gradient(160deg,#45372f,#2a201b)}
/* Photos (teintes Floor Hunting) */
.fx-carte-photo{overflow:hidden}
.fx-img{display:block;margin:-22px -22px 6px;width:calc(100% + 44px);max-width:none;height:150px;object-fit:cover;transition:transform .5s ease}
.fx-carte-photo:hover .fx-img{transform:scale(1.03)}
.fx-hero-guide{isolation:isolate}
.fx-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-1;opacity:.38}
.fx-hero-guide::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(42,32,27,.92) 0%,rgba(42,32,27,.72) 55%,rgba(42,32,27,.45) 100%)}
