/* Talent Club's home: editorial typography, paper, ink and Majorelle.
   Scoped to the landing page so the search application keeps its established controls. */
.tc-home { --tc-paper:#f8f7f2; --tc-white:#fff; --tc-ink:#20251e; --tc-muted:#676b62; --tc-line:#dddfd5; --tc-blue:#5141da; --tc-lime:#dfedaa; background:var(--tc-paper); color:var(--tc-ink); }
.dark .tc-home { --tc-paper:#191d19; --tc-white:#222922; --tc-ink:#f0f1e9; --tc-muted:#b4bbad; --tc-line:#3d453a; --tc-blue:#ac9fff; --tc-lime:#d7e7a5; }
.tc-home .site-header { position:relative; top:0; z-index:35; height:104px; padding:0 max(28px, calc((100vw - 1280px)/2)); gap:36px; border-bottom:1px solid var(--tc-line); background:var(--tc-paper); }
.tc-home .logo { gap:11px; }
.tc-home .logo-mark { width:44px; height:44px; color:var(--tc-blue); }
.tc-home .logo-word { font-size:22px; line-height:26px; letter-spacing:-.02em; }
.tc-home .lw-a,.tc-home .lw-b { color:var(--tc-ink); }
.tc-home .hdr-actions { gap:10px; }
.tc-home .hbtn { background:transparent; border:none; padding:0 8px; font-size:13px; font-weight:550; color:var(--tc-ink); }
.tc-home .hbtn-accent { background:var(--color-majorelle); color:var(--color-on-accent); padding:0 18px; border-radius:999px; }  /* the same CTA as on every page (UI audit D17) */
.tc-home .hbtn-accent:hover { background:var(--color-majorelle-dark); color:var(--color-on-accent); }
.tc-home .acct-btn { border-radius: var(--club-radius-control); background:transparent; }
.tc-topnav { display:flex; align-items:center; gap:26px; margin-left:36px; font-size:13px; font-weight:550; white-space:nowrap; }
.tc-topnav a { display:inline-flex; align-items:center; gap:6px; }
.tc-topnav .ic { width:15px; height:15px; }
.tc-home a:hover { text-decoration-color:currentColor; }
.tc-topnav a:hover,.tc-textlink:hover { color:var(--tc-blue); }
.tc-home .rail { display:none; }
.tc-home .shell,.tc-home .page { width:100%; min-width:0; }
.tc-container { width:min(1280px, calc(100% - 96px)); margin-inline:auto; }
.tc-hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:70px; padding:72px 0 54px; }
.tc-intro { min-width:0; align-self:stretch; display:flex; flex-direction:column; }
.tc-eyebrow,.tc-kicker { font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.12em; }
.tc-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:26px; }
.tc-eyebrow > span { width:8px; height:8px; background:var(--tc-blue); }
.tc-hero h1 { font-size:clamp(50px, 5.7vw, 82px); line-height:1.015; font-weight:650; letter-spacing:-.065em; margin:0; }
.tc-hero h1 em { font-family:inherit; font-weight:inherit; font-style:normal; color:var(--color-majorelle); }  /* charter: emphasis in a heading, same face and weight, in majorelle */
.tc-period { color:var(--tc-blue); }
.tc-lead { max-width:450px; font-size:16px; line-height:1.8; color:var(--tc-muted); margin:24px 0 19px; }
.tc-textlink { display:inline-flex; align-items:center; gap:18px; font-size:13px; font-weight:650; width:fit-content; }
.tc-textlink .ic { width:18px; height:18px; }
.tc-signature { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:35px; font-family:inherit; font-style:normal; font-size:14px; color:var(--tc-muted); }
.tc-signature-line { width:48px; height:1px; background:var(--tc-ink); }
.tc-search-stage { position:relative; min-width:0; padding-top:12px; }
.tc-search-card { position:relative; background:var(--tc-white); border:1px solid var(--tc-line); border-radius: var(--club-radius-panel); padding:27px 28px 22px; box-shadow:8px 8px 0 var(--tc-lime); }
.tc-card-cap { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.11em; color:var(--tc-muted); margin-bottom:22px; }
.tc-card-cap button { display:flex; gap:5px; align-items:center; font-size:11px; font-weight:500; text-transform:none; letter-spacing:0; cursor:pointer; }
.tc-card-cap .ic { width:13px; height:13px; }
.tc-search-card h2 { font-size:31px; line-height:1.12; letter-spacing:-.045em; font-weight:600; margin-bottom:22px; text-wrap:balance; }
.tc-search-modes { display:flex; gap:22px; border-bottom:1px solid var(--tc-line); margin-bottom:17px; font-size:11px; font-weight:550; }
.tc-search-modes a { display:flex; align-items:center; gap:4px; padding:0 0 10px; color:var(--tc-muted); }
.tc-search-modes .ic { width:13px; height:13px; }
.tc-search-modes a[aria-current] { color:var(--tc-blue); border-bottom:2px solid var(--tc-blue); margin-bottom:-1px; }
.tc-home .tc-prompt { display:block; width:100%; margin:0; padding:0; background:transparent; border:none; border-radius:0; box-shadow:none; }
.tc-home .tc-prompt:focus-within { border-color:transparent; box-shadow:none; }
.tc-home .tc-prompt .ai-field { padding:0; }
.tc-home .tc-prompt textarea { width:100%; height:84px; min-height:84px; padding:12px 14px; border:1px solid var(--tc-line); background:var(--tc-paper); border-radius: var(--club-radius-control); font-size:14px; line-height:1.7; color:var(--tc-ink); resize:vertical; outline:none; }
.tc-home .tc-prompt textarea::placeholder { color:var(--tc-muted); opacity:1; }
.tc-home .tc-prompt textarea:focus { border-color:var(--tc-blue); outline:2px solid var(--tc-blue); outline-offset:2px; }
/* The CV block is the card's headline action (owner, 2026-10-09): a large drop zone in Majorelle; the written
   request follows as the second way in, with an ink button. */
.tc-cv { display:flex; align-items:stretch; gap:8px; min-width:0; }
.tc-cv-drop { position:relative; flex:1; min-width:0; display:flex; align-items:center; gap:15px; padding:21px 18px 21px 17px; border:1.5px dashed color-mix(in srgb, var(--tc-blue) 55%, transparent); border-radius: var(--club-radius-control); background:color-mix(in srgb, var(--tc-blue) 5%, var(--tc-white)); color:var(--tc-ink); cursor:pointer; transition:background .15s, border-color .15s, box-shadow .15s; }
.tc-cv-drop:hover, .cv-drag .tc-cv-drop { border-color:var(--tc-blue); background:color-mix(in srgb, var(--tc-blue) 10%, var(--tc-white)); }
.cv-drag .tc-cv-drop { border-style:solid; box-shadow:0 0 0 4px color-mix(in srgb, var(--tc-blue) 18%, transparent); }
.tc-cv-drop:focus-within { outline:2px solid var(--tc-blue); outline-offset:3px; }
.tc-cv-icon { flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius: var(--club-radius-control); background:var(--tc-blue); color:#fff; }
.tc-cv-icon > span { display:grid; }
.tc-cv-icon .ic { width:22px; height:22px; }
.tc-cv-main { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.tc-cv-main b { font-size:18px; font-weight:650; letter-spacing:-.025em; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tc-cv-main small { font-size:11.5px; line-height:1.45; color:var(--tc-muted); }
.tc-cv-main u { color:var(--tc-blue); text-underline-offset:2px; font-weight:550; }
.tc-cv[data-cv-present="0"] .tc-cv-main b { white-space:normal; }  /* the action wraps; only a file name is cut */
.tc-cv-arrow { flex:none; display:grid; color:var(--tc-blue); }
.tc-cv-arrow .ic { width:20px; height:20px; }
.tc-cv[data-cv-present="1"] .tc-cv-if-empty, .tc-cv[data-cv-present="0"] .tc-cv-if-on { display:none; }
.tc-cv[data-cv-present="1"] .tc-cv-drop { border-style:solid; border-width:1px; border-color:var(--tc-line); background:var(--tc-paper); padding-block:12px; }
.tc-cv[data-cv-present="1"] .tc-cv-drop:hover { border-color:var(--tc-blue); }
.tc-cv[data-cv-present="1"] .tc-cv-icon { width:38px; height:38px; background:color-mix(in srgb, #557430 15%, transparent); color:#3f5a22; }
.dark .tc-cv[data-cv-present="1"] .tc-cv-icon { color:#c4dca0; }
.tc-cv[data-cv-present="1"] .tc-cv-icon .ic { width:19px; height:19px; }
.tc-cv[data-cv-present="1"] .tc-cv-main b { font-size:14px; }
.tc-cv[aria-busy="true"] { opacity:.65; }
.tc-cv-remove { flex:none; display:flex; align-items:center; gap:6px; padding:0 13px; border:1px solid var(--tc-line); border-radius: var(--club-radius-control); background:var(--tc-white); color:var(--tc-muted); font-size:11.5px; font-weight:550; cursor:pointer; }
.tc-cv-remove:hover { color:var(--tc-ink); border-color:var(--tc-ink); }
.tc-cv-remove .ic { flex:none; width:14px; height:14px; }
.tc-cv-remove[hidden], .tc-cv-benefits[hidden] { display:none; }
.tc-cv-benefits { display:grid; gap:6px; margin:13px 0 0; padding:0; list-style:none; font-size:12px; line-height:1.5; color:var(--tc-ink); }
.tc-cv-benefits li { display:flex; align-items:flex-start; gap:8px; }
.tc-cv-benefits .ic { flex:none; width:14px; height:14px; margin-top:2px; color:#557430; }
.dark .tc-cv-benefits .ic { color:#a9c77f; }
.tc-cv-terms { margin:10px 0 0; font-size:10.5px; line-height:1.5; color:var(--tc-muted); }
.tc-cv-terms a { text-decoration:underline; text-underline-offset:2px; }
.tc-cv-terms a:hover { color:var(--tc-blue); }
/* The composer (owner, 2026-10-09): one box with the description and, inside it, the CV attachment. */
.tc-home .tc-composer { padding:12px 12px 10px; border:1px solid var(--tc-line); border-radius:16px; background:var(--tc-paper); transition:border-color .15s, box-shadow .15s; }
.tc-home .tc-composer:focus-within { border-color:var(--tc-blue); box-shadow:0 0 0 3px color-mix(in srgb, var(--tc-blue) 18%, transparent); }
.tc-composer-label { display:block; margin:0 2px 4px; font-size:15px; line-height:1.35; font-weight:650; letter-spacing:-.015em; color:var(--tc-ink); }
.tc-home .tc-composer textarea { height:76px; min-height:76px; padding:2px; border:none; background:transparent; border-radius:0; font-size:15px; line-height:1.6; resize:none; }
.tc-home .tc-composer textarea:focus { outline:none; }
.tc-home .tc-composer .tc-cv { margin-top:8px; padding-top:10px; border-top:1px dashed var(--tc-line); }
.tc-home .tc-composer .tc-cv-drop { gap:10px; padding:7px 12px 7px 7px; border:1px solid color-mix(in srgb, var(--tc-blue) 40%, transparent); border-radius:12px; background:var(--tc-white); }
.tc-home .tc-composer .tc-cv-icon { width:34px; height:34px; border-radius:10px; }
.tc-home .tc-composer .tc-cv-icon .ic { width:18px; height:18px; }
.tc-home .tc-composer .tc-cv-main { gap:1px; }
.tc-home .tc-composer .tc-cv-main b { font-size:14.5px; white-space:nowrap; }
.tc-home .tc-composer .tc-cv-main small { font-size:11px; line-height:1.35; }
.tc-home .tc-composer .tc-cv[data-cv-present="1"] .tc-cv-drop { padding-block:7px; }
.tc-home .tc-composer .tc-cv[data-cv-present="1"] .tc-cv-icon { width:34px; height:34px; }
.tc-home .tc-composer .tc-cv-remove { min-width:44px; justify-content:center; }
.tc-home .cv-panel .cv-profile-go { display:none; }  /* the composer's « Trouver des offres » runs the CV's search */
@media (max-width:700px), (pointer:coarse) { .tc-cv-drag { display:none; } }  /* phones: a tap opens the file picker */
.tc-home .tc-send { display:flex; justify-content:space-between; align-items:center; width:100%; height:48px; margin:14px 0 0; padding:0 18px; background:var(--tc-ink); color:var(--tc-paper); border-radius: var(--club-radius-control); font-size:13px; font-weight:600; }
.tc-home .tc-send.is-empty { background:color-mix(in srgb, var(--tc-ink) 62%, var(--tc-white)); color:var(--tc-paper); }
.tc-home .tc-send:not(:disabled):hover { background:var(--tc-blue); color:#fff; }
.tc-home .tc-send .ic { width:20px; height:20px; }
.tc-search-note { display:flex; align-items:center; justify-content:center; gap:7px; font-size:10px; color:var(--tc-muted); margin-top:14px; }
.tc-search-note .ic { width:13px; height:13px; color:#557430; }
.tc-search-note a { text-decoration:underline; text-underline-offset:2px; }
.tc-search-note[hidden], .tc-home .cv-panel[hidden] { display:none; }
.tc-home .cv-status { margin:0; font-size:12px; text-align:left; }
.tc-home .cv-status:not(:empty) { padding-top:10px; }
/* « Votre CV »: what was read in the CV, right under it, with the profile search as its action. */
.tc-home .cv-panel { margin-top:12px; }
/* The profile search comes right after the summary line (before the chips), so it stays on the first screen. */
.tc-home .cv-profile { display:flex; flex-direction:column; margin-top:10px; padding:12px 13px 13px; border:1px solid var(--tc-line); border-radius: var(--club-radius-control); background:var(--tc-paper); }
.tc-home .cv-profile > form { order:1; }
.tc-home .cv-profile > .cv-chips { order:2; }
.tc-home .cv-profile-line { margin:0; font-size:12px; line-height:1.6; color:var(--tc-ink); overflow-wrap:anywhere; }
.tc-home .cv-profile-line b { font-weight:650; }
.tc-home .cv-profile-cap { display:inline-flex; align-items:center; gap:5px; font-weight:600; color:var(--tc-blue); }
.tc-home .cv-profile-cap .ic { width:13px; height:13px; }
.tc-home .cv-sep { color:var(--tc-muted); }
.tc-home .cv-chips { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 0; padding:0; list-style:none; }
.tc-home .cv-chips li { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:4px 8px; border:1px solid var(--tc-line); border-radius:999px; background:var(--tc-white); font-size:10.5px; line-height:1.3; color:var(--tc-ink); }
.tc-home .cv-chips .cv-chip-lang { display:inline-flex; align-items:center; gap:4px; border-color:transparent; background:color-mix(in srgb, var(--tc-blue) 10%, transparent); color:var(--tc-blue); }
.tc-home .cv-chip-lang .ic { width:12px; height:12px; }
.tc-home .cv-profile-go { display:flex; justify-content:space-between; align-items:center; width:100%; height:42px; margin-top:11px; padding:0 14px; border-radius: var(--club-radius-control); background:var(--tc-blue); color:#fff; font-size:13px; font-weight:600; cursor:pointer; }
.tc-home .cv-profile-go:hover { background:#3c2bbf; color:#fff; }
.tc-home .cv-profile-go:focus-visible { outline:2px solid var(--tc-blue); outline-offset:2px; }
.tc-home .cv-profile-go .ic { width:18px; height:18px; }
.tc-home .cv-profile.is-loading .cv-profile-line { display:flex; align-items:center; gap:8px; color:var(--tc-muted); }
.tc-home .cv-profile.is-loading .cv-chips li { width:62px; height:21px; padding:0; border:none; background:linear-gradient(90deg, var(--tc-line) 0%, var(--tc-white) 50%, var(--tc-line) 100%); background-size:200% 100%; animation:tc-cv-shimmer 1.2s linear infinite; }
.tc-home .cv-spin { flex:none; width:12px; height:12px; border:2px solid var(--tc-line); border-top-color:var(--tc-blue); border-radius:50%; animation:tc-cv-spin .8s linear infinite; }
@keyframes tc-cv-spin { to { transform:rotate(360deg); } }
@keyframes tc-cv-shimmer { to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .tc-home .cv-spin, .tc-home .cv-profile.is-loading .cv-chips li { animation:none; } }
.tc-examples { padding:22px 4px 0; }
.tc-examples p { font-size:10px; font-weight:550; color:var(--tc-muted); margin-bottom:8px; }
.tc-examples nav { display:flex; flex-wrap:wrap; gap:7px 13px; }
.tc-examples a { display:inline-flex; align-items:center; gap:5px; font-size:10px; border-bottom:1px solid var(--tc-line); padding-bottom:3px; }
.tc-examples .ic { width:12px; height:12px; }
.tc-live-strip { display:grid; grid-template-columns:1.3fr 1fr 1fr .75fr; padding:26px 0; border-top:1px solid var(--tc-line); border-bottom:1px solid var(--tc-line); }
.tc-live-label { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.65; color:var(--tc-muted); align-self:center; }
.tc-live-label > span { flex:none; width:7px; height:7px; border-radius:50%; background:#648042; margin-top:6px; box-shadow:0 0 0 4px rgb(100 128 66 / .09); }
.tc-live-strip > a { padding-left:30px; border-left:1px solid var(--tc-line); }
.tc-live-strip strong { display:block; font-size:31px; font-weight:600; line-height:1.2; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.tc-live-strip a > span { display:flex; align-items:center; gap:14px; margin-top:5px; font-size:11px; color:var(--tc-muted); }
.tc-live-strip .ic { width:13px; height:13px; }
.tc-section { padding:62px 0 0; }
.tc-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:25px; }
.tc-kicker { color:var(--tc-muted); margin-bottom:10px; }
.tc-section h2 { font-size:34px; line-height:1.15; font-weight:550; letter-spacing:-.045em; }
.tc-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tc-path { padding:24px; border-radius: var(--club-radius-panel); display:flex; flex-direction:column; min-width:0; min-height:340px; }
.tc-path-top { display:flex; align-items:center; gap:9px; font-size:10px; font-weight:550; margin-bottom:24px; }
.tc-path-top > a { display:grid; place-items:center; width:27px; height:27px; border:1px solid currentColor; border-radius:50%; margin-left:auto; }
.tc-path-top .ic { width:16px; height:16px; }
.tc-path h3 { font-size:32px; font-weight:500; line-height:1.13; letter-spacing:-.04em; margin-bottom:13px; }
.tc-path > p { font-size:13px; line-height:1.7; max-width:250px; opacity:.8; }
.tc-public { background:#252c24; color:#f2f2e8; }
.tc-first { background:var(--tc-lime); color:#283021; }
.tc-abroad { background:#e9e7f5; color:#413795; }
.dark .tc-abroad { background:#34304b; color:#dcd5ff; }
.tc-deadlines { margin:20px 0 24px; }
.tc-deadlines > a { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; padding:8px 0; border-bottom:1px solid #ffffff24; }
.tc-deadlines > a > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tc-deadlines b { flex:none; background:#d8ed86; color:#283021; padding:2px 6px; border-radius: var(--club-radius-badge); font-size:9px; font-weight:600; }
.tc-deadlines > p { font-size:11px; opacity:.7; }
.tc-path-link { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; font-size:11px; font-weight:650; }
.tc-path-link .ic { width:17px; height:17px; }
.tc-path-mini { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; padding:14px 0; margin-top:auto; }
.tc-path-mini span { font-size:17px; max-width:100px; }
.tc-path-mini svg { width:92px; height:65px; }
.tc-path-actions { display:flex; gap:17px; border-top:1px solid #28302130; padding-top:15px; font-size:10px; font-weight:650; }
.tc-path-actions a { display:flex; align-items:center; gap:7px; }
.tc-path-actions .ic { width:14px; height:14px; }
.tc-abroad-art { display:flex; align-items:flex-end; justify-content:space-between; margin:18px 0 10px; gap:12px; font-size:12px; font-weight:700; }
.tc-abroad-art > span { width:34px; height:34px; display:grid; place-items:center; border:1px solid #41379530; border-radius:50%; }
.tc-abroad-art svg { flex:1; width:120px; height:55px; }
.tc-categories { display:flex; gap:8px; overflow:auto; padding:1px 1px 16px; scrollbar-width:thin; }
.tc-categories a { display:flex; gap:7px; align-items:center; border:1px solid var(--tc-line); border-radius: var(--club-radius-control); padding:8px 12px; font-size:10px; white-space:nowrap; }
.tc-categories .ic { width:13px; height:13px; }
.tc-categories a:hover { border-color:var(--tc-blue); }
.tc-job-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tc-job { position:relative; display:flex; flex-direction:column; padding:21px; background:var(--tc-white); border:1px solid var(--tc-line); border-radius: var(--club-radius-card); min-width:0; transition:border-color .15s,transform .15s; }
.tc-job:hover { border-color:var(--tc-blue); transform:translateY(-2px); }
.tc-job-top { display:flex; align-items:center; gap:9px; font-size:11px; margin-bottom:20px; }
.tc-company-initial { display:grid; place-items:center; flex:none; width:31px; height:31px; background:var(--tc-paper); color:var(--tc-blue); border:1px solid var(--tc-line); font-family:inherit; font-size:20px; }
.tc-company { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--tc-muted); }
.tc-job-top .save-btn { margin-left:auto; flex:none; width:29px; height:29px; }
.tc-job h3 { font-size:15px; font-weight:600; line-height:1.5; letter-spacing:-.02em; margin-bottom:15px; }
.tc-job-location { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--tc-muted); margin-top:auto; }
.tc-job-location .ic { width:13px; height:13px; }
.tc-job-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; border-top:1px solid var(--tc-line); padding-top:13px; margin-top:17px; }
.tc-job-bottom > span { font-size:10px; background:var(--tc-paper); padding:3px 7px; }
.tc-job-bottom .ic { width:17px; height:17px; }
.tc-empty { padding:24px 0; grid-column:1/-1; font-size:14px; }
.tc-companion { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:42px; margin-top:64px; background:#252c24; color:#f2f2e8; border-radius: var(--club-radius-panel); }
.tc-companion .tc-kicker { color:#c6d0bf; }
.tc-companion h2 { font-size:42px; font-weight:500; letter-spacing:-.04em; line-height:1.2; margin:24px 0 30px; }
.tc-companion h2 em { font-family:inherit; font-weight:inherit; color:#dfedaa; font-style:normal }
.tc-companion-title > a { display:flex; align-items:center; gap:22px; width:fit-content; padding-bottom:8px; border-bottom:1px solid #f2f2e85c; font-size:12px; }
.tc-companion-title .ic { width:16px; height:16px; }
.tc-companion ol { display:grid; gap:20px; }
.tc-companion li { display:flex; gap:20px; border-bottom:1px solid #f2f2e826; padding-bottom:20px; }
.tc-companion li:last-child { border:none; padding-bottom:0; }
.tc-companion li > span { color:#dfedaa; font-size:20px; }
.tc-companion h3 { font-size:14px; font-weight:550; margin-bottom:6px; }
.tc-companion li p { font-size:13px; line-height:1.7; color:#c6d0bf; max-width:370px; }
.tc-explore { display:grid; grid-template-columns:1fr 1.5fr; gap:24px 80px; padding-bottom:58px; }
.tc-explore h2 { margin-bottom:25px; }
.tc-city-list { display:grid; grid-template-columns:1fr 1fr; gap:0 35px; align-content:start; }
.tc-city-list a { display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--tc-line); }
.tc-city-list a > span { font-size:13px; font-weight:550; }
.tc-city-list small { margin-left:auto; color:var(--tc-muted); font-size:10px; white-space:nowrap; }
.tc-city-list .ic { width:14px; height:14px; }
.tc-regions { grid-column:1/-1; border-top:1px solid var(--tc-line); padding-top:16px; margin-top:12px; }
.tc-regions > summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:550; list-style:none; }
.tc-regions > summary::-webkit-details-marker { display:none; }
.tc-regions .ic { width:15px; height:15px; }
.tc-regions > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 30px; padding:24px 0 0; font-size:12px; }
.tc-regions > div a { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.tc-home footer { margin-top:0; background:var(--tc-white); border-color:var(--tc-line); }
.tc-home footer .wrap { max-width:1280px; width:calc(100% - 96px); padding-block:42px; padding-inline:0; font-size:12px; }
.tc-home footer .logo-word { font-size:18px; line-height:22px; }
.tc-home footer .logo-mark { width:36px; height:36px; }
.tc-home .tc-history-panel { position:fixed; inset:0 auto 0 0; z-index:60; width:min(360px,90vw); height:100dvh; padding:65px 26px 26px; overflow-y:auto; background:var(--tc-white); transform:translateX(-110%); box-shadow:15px 0 80px #0002; visibility:hidden; transition:transform .2s, visibility 0s .2s; }
/* Closed, the drawer is hidden from keyboard and screen readers too (UI audit 2026-10-09, D15). */
.tc-home .tc-history-panel.is-open { transform:none; visibility:visible; transition:transform .2s, visibility 0s; }
.tc-home .tc-history-panel h2 { font-size:28px; letter-spacing:-.04em; font-weight:600; margin-bottom:20px; }
.tc-home .tc-history-panel .ai-panel-close { display:grid !important; }
.tc-home .ai-panel-backdrop:not([hidden]) { display:block !important; }
.tc-history-empty { font-size:13px; line-height:1.7; color:var(--tc-muted); margin-bottom:28px; }
.tc-history-panel:has([data-history]:not([hidden])) .tc-history-empty { display:none; }
.tc-history-panel .ai-history { margin:0 0 24px; padding:0; border:none; }
.tc-classic { display:grid; gap:16px; }
.tc-classic label { display:grid; gap:7px; font-size:12px; }
.tc-classic input,.tc-classic select { border:1px solid var(--tc-line); border-radius: var(--club-radius-control); padding:12px; background:var(--tc-paper); width:100%; }
.tc-home :is(a,button,summary):focus-visible { outline:2px solid var(--tc-blue); outline-offset:5px; }
@media (min-width:1500px) { .tc-hero h1 { font-size:86px; } }
@media (max-width:1200px) {
  .tc-topnav { margin-left:10px; gap:16px; }
  .tc-home .site-header { gap:20px; }
  .tc-home .hbtn-accent { display:none; }
  .tc-container { width:calc(100% - 64px); }
  .tc-hero { gap:38px; }
  .tc-search-card { padding:23px; }
  .tc-path { padding:21px; }
  .tc-path h3 { font-size:28px; }
}
@media (max-width:900px) {
  .tc-topnav { display:none; }
  .tc-home .site-header { height:82px; padding-inline:32px; }
  .tc-hero { gap:30px; padding-block:48px; }
  .tc-hero h1 { font-size:53px; }
  .tc-lead { font-size:13px; }
  .tc-desktop { display:none; }
  .tc-eyebrow { font-size:9px; letter-spacing:.09em; }
  .tc-search-card h2 { font-size:27px; }
  .tc-search-modes { gap:14px; font-size:10px; }
  .tc-paths { gap:12px; }
  .tc-path { padding:19px; }
  .tc-path h3 { font-size:24px; }
  .tc-path-actions { flex-wrap:wrap; gap:10px; }
  .tc-live-strip { grid-template-columns:1fr 1fr 1fr; }
  .tc-live-label { display:none; }
  .tc-live-strip > a:first-of-type { border:none; padding-left:0; }
  .tc-job-grid { grid-template-columns:1fr 1fr; }
  .tc-companion { padding:32px; gap:35px; }
  .tc-companion h2 { font-size:34px; }
  .tc-explore { gap:24px 35px; }
}
@media (max-width:700px) {
  .tc-home .site-header { height:77px; padding:0 21px; gap:12px; }
  .tc-home .logo-mark { width:34px; height:34px; }
  .tc-home .logo { gap:8px; }
  .tc-home .logo-word { font-size:21px; line-height:24px; }
  .tc-home .hdr-actions { gap:0; }
  .tc-home .hbtn-login { display:none; }
  .tc-home .acct-btn { padding:0 5px; min-width:40px; height:40px; justify-content:center; }
  .tc-home .acct-av:has(.ic) { display:none; }  /* a guest: ☰ only; a member keeps the initial, as on every page */
  .tc-home .acct-btn:has(.acct-av:not(:has(.ic))) { gap:6px; padding:0 4px 0 10px; }
  .tc-container { width:calc(100% - 42px); }
  /* Phones: the search card comes first, straight under the header, as on HiringCafe; the headline follows,
     smaller (docs/research/2026-10-08-phone-layout-proposal.md, option A). The DOM order is unchanged. */
  /* 20 px above the card (was 36): with the cookie notice of a first visit, « Trouver des offres » stays on the first
     375 x 745 screen now the card opens with « Analyser mon CV » (layout guard). */
  .tc-hero { display:flex; flex-direction:column; align-items:stretch; padding:20px 0 31px; }
  .tc-intro { margin-top:40px; }
  .tc-eyebrow { font-size:11px; letter-spacing:.1em; margin-bottom:16px; }  /* charter: nothing under 11 px */
  .tc-hero h1 { font-size:31px; line-height:1.08; letter-spacing:-.05em; text-wrap:balance; }
  .tc-lead { font-size:14px; line-height:1.7; margin:16px 0 14px; max-width:350px; }
  .tc-textlink { font-size:11px; gap:18px; }
  .tc-signature { display:none; }
  .tc-search-stage { order:-1; padding:0; margin-top:0; }
  .tc-search-card { padding:20px 18px 17px; box-shadow:5px 5px 0 var(--tc-lime); }
  .tc-card-cap { font-size:9px; margin-bottom:17px; }
  .tc-card-cap button { font-size:10px; }
  .tc-search-card h2 { font-size:24px; margin-bottom:14px; }
  .tc-search-card h2 br { display:none; }
  .tc-search-modes { gap:22px; margin-bottom:13px; font-size:10px; }
  .tc-cv-drop { gap:12px; padding:14px 12px 14px 12px; }
  .tc-cv-icon { width:42px; height:42px; }
  .tc-cv-main b { font-size:17px; }
  .tc-cv-main small { font-size:11px; }
  .tc-cv-remove { padding:0 12px; }
  .tc-cv-remove > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .tc-cv-uses { display:none; }
  .tc-cv[data-cv-present="1"] .tc-cv-drop { padding-block:10px; }
  .tc-cv[data-cv-present="1"] .tc-cv-icon { width:34px; height:34px; }
  /* With a CV, the reading stays compact so « Trouver des offres » remains above the tab bar: one row of chips,
     swiped sideways. */
  .tc-home .cv-chips { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-right:-12px; padding-right:12px; }
  .tc-home .cv-chips::-webkit-scrollbar { display:none; }
  .tc-home .cv-chips li { flex:none; }
  .tc-cv-benefits { gap:5px; margin-top:11px; font-size:11.5px; }
  .tc-cv-terms { margin-top:8px; font-size:10px; }
  .tc-home .tc-composer textarea { height:64px; min-height:64px; font-size:15px; line-height:1.55; }
  .tc-composer-label { font-size:14px; }
  .tc-home .tc-send { height:44px; padding:0 14px; font-size:12px; }
  .tc-search-note { gap:5px; font-size:9px; margin-top:12px; }
  .tc-home .cv-profile { padding:11px 12px 12px; }
  .tc-home .cv-profile-line { font-size:11.5px; }
  .tc-home .cv-chips li { font-size:10px; }
  .tc-home .cv-profile-go { height:42px; margin-top:10px; font-size:12.5px; }
  .tc-examples { padding-top:20px; }
  .tc-examples nav { gap:6px 13px; }
  .tc-live-strip { padding-block:21px; gap:10px; }
  .tc-live-strip > a { padding-left:13px; }
  .tc-live-strip strong { font-size:24px; }
  .tc-live-strip a > span { font-size:9px; gap:0; }
  .tc-live-strip .ic { display:none; }
  .tc-section { padding-top:37px; }
  .tc-section-head { align-items:flex-start; gap:12px; margin-bottom:20px; }
  .tc-kicker { font-size:9px; letter-spacing:.1em; margin-bottom:8px; }
  .tc-section h2 { font-size:27px; }
  .tc-section-head > .tc-textlink { font-size:9px; gap:5px; margin-top:23px; flex:none; }
  .tc-section-head > .tc-textlink .ic { width:13px; height:13px; }
  .tc-paths { grid-template-columns:1fr; gap:12px; }
  .tc-path { position:relative; padding:22px; min-height:0; }
  .tc-path-top { margin-bottom:17px; font-size:10px; }
  .tc-path h3 { font-size:29px; }
  .tc-path > p { max-width:265px; font-size:13px; }
  .tc-deadlines { margin:14px 0 8px; }
  .tc-path-mini { position:absolute; bottom:21px; right:21px; margin:0; padding:0; opacity:.55; }
  .tc-path-mini span { display:none; }
  .tc-path-mini svg { width:63px; height:60px; }
  .tc-path-actions { margin-top:23px; width:calc(100% - 70px); font-size:10px; gap:16px; }
  .tc-abroad-art { position:absolute; bottom:44px; right:23px; width:60px; transform:rotate(-35deg); }
  .tc-abroad-art > span { width:25px; height:25px; font-size:9px; }
  .tc-abroad-art svg { display:none; }
  .tc-abroad .tc-path-link { margin-top:20px; }
  .tc-categories { padding-bottom:12px; margin-right:-21px; padding-right:21px; }
  .tc-job-grid { grid-template-columns:1fr; gap:11px; }
  .tc-job:nth-child(n+4) { display:none; }
  .tc-job { padding:18px; }
  .tc-job-top { margin-bottom:13px; }
  .tc-job h3 { font-size:15px; margin-bottom:12px; }
  .tc-job-bottom { margin-top:13px; padding-top:11px; }
  .tc-companion { grid-template-columns:1fr; padding:26px 22px; gap:29px; margin-top:37px; }
  .tc-companion h2 { font-size:34px; margin:19px 0 20px; }
  .tc-companion-title > a { font-size:11px; }
  .tc-companion li { gap:15px; padding-bottom:17px; }
  .tc-companion h3 { font-size:13px; }
  .tc-companion li p { font-size:13px; line-height:1.7; }
  .tc-explore { grid-template-columns:1fr; gap:21px; padding-bottom:30px; }
  .tc-explore h2 br { display:none; }
  .tc-explore h2 { margin-bottom:15px; }
  .tc-city-list { grid-template-columns:1fr; }
  .tc-city-list a { padding:13px 0; }
  .tc-regions { margin-top:5px; }
  .tc-regions > div { grid-template-columns:1fr; gap:15px; font-size:11px; }
  .tc-home footer .wrap { width:calc(100% - 42px); padding-block:30px; gap:27px; font-size:11px; }
  .tc-home .tabbar { background:var(--tc-white); border-color:var(--tc-line); }
  .tc-home .tabbar a[aria-current] { color:var(--tc-blue); }
}
@media (prefers-reduced-motion:reduce) { .tc-job,.tc-home .tc-history-panel { transition:none; } }
/* The application hides these controls with component-layer !important rules on
   desktop. Keep the home drawer's overrides in that same layer. */
@layer components {
  .tc-home .tc-history-panel .ai-panel-close { display:grid !important; }
  .tc-home .ai-panel-backdrop:not([hidden]) { display:block !important; }
}
/* Identifiable pathways and the Club's working member tools. */
.tc-public-art { margin:18px 0 8px; }.tc-public-art svg { width:100%; height:100px; }.tc-public-art > span,.tc-first-art > span { display:block; font-family:inherit; font-style:normal; font-size:13px; margin:4px 0 12px; }
.tc-first-art { margin:12px 0 0; }.tc-first-art svg { width:100%; height:145px; overflow:visible; }.tc-first-art > span { text-align:right; margin:0 0 16px; }
.tc-home .tc-path { padding:24px; }.tc-home .tc-abroad { background:#e8ede4; }.dark .tc-home .tc-abroad { background:#263126; }
.tc-abroad .world-explorer { margin-top:20px; }.tc-abroad .world-map-surface { margin:0 -10px; width:calc(100% + 20px); aspect-ratio:720/310; background:transparent; }.tc-abroad .world-map { object-fit:contain; }.tc-abroad .world-pin { font-size:11px; padding:6px 9px; }.tc-abroad .world-controls { margin-top:8px; }.tc-abroad .world-controls select { font-size:11px; }.tc-abroad .world-controls p { font-size:10px; color:var(--tc-muted); }.tc-abroad .world-result-link { font-size:11px; }.tc-abroad .world-empty { font-size:11px; line-height:1.5; }.tc-home .tc-abroad > .tc-path-link { margin-top:18px; font-size:11px; }
.tc-job-top .employer-mark { width:70px; height:44px; }.tc-home .tc-company { font-size:12px; }
.tc-club { margin:70px 0; padding:48px; display:grid; grid-template-columns:1.2fr 1fr; gap:75px; align-items:center; background:var(--tc-lime); color:#20251e; border-radius: var(--club-radius-panel); }
.tc-club-copy h2 { font-size:40px; line-height:1.1; letter-spacing:-.05em; font-weight:600; margin:20px 0; }.tc-club-copy h2 em { font-family:inherit; font-weight:inherit; font-style:normal }.tc-club-copy > p:last-of-type { font-size:14px; line-height:1.9; max-width:470px; }.tc-club-copy > a { display:flex; align-items:center; justify-content:space-between; gap:18px; width:fit-content; background:#20251e; color:#f8f7f2; font-size:12px; font-weight:600; padding:14px 18px; margin-top:24px; border-radius: var(--club-radius-control); }.tc-club-copy > a.tc-club-details { background:transparent; color:#20251e; padding:0; margin-top:14px; text-decoration:underline; text-underline-offset:4px; font-weight:500; font-size:11px; }.tc-club .ic { width:17px; height:17px; }
.tc-dossier-preview { border-radius:var(--club-radius-card); background:#f8f7f2; border:1px solid #20251e; padding:24px; box-shadow:7px 7px 0 #20251e; transform:rotate(1.5deg); }.tc-dossier-cap { display:flex; justify-content:space-between; gap:10px; font-size:9px; letter-spacing:.04em; }.tc-dossier-cap > span:first-child { display:flex; align-items:center; gap:7px; font-weight:650; }.tc-dossier-cap > span:last-child { color:#676b62; }.tc-dossier-preview h3 { font-size:26px; line-height:1.2; font-weight:600; letter-spacing:-.04em; margin:25px 0; }.tc-dossier-preview li { display:flex; gap:10px; align-items:center; font-size:12px; border-top:1px solid #dddfd5; padding:13px 0; }.tc-dossier-preview li > .ic { color:#5141da; flex-shrink:0; }.tc-dossier-bottom { display:flex; justify-content:space-between; border-top:1px solid #20251e; margin-top:7px; padding-top:13px; font-family:inherit; font-style:normal; font-size:13px; }
@media(max-width:1100px) { .tc-topnav { gap:15px; margin-left:5px; font-size:11px; }.tc-club { gap:40px; padding:32px; }.tc-home .tc-path { padding:20px; }.tc-club-copy h2 { font-size:34px; } }
@media(max-width:900px) and (min-width:701px) { .tc-abroad .world-controls { display:block; }.tc-abroad .world-controls select { width:100%; }.tc-abroad .world-controls p { margin-top:7px; }.tc-abroad .world-pin span { display:none; }.tc-abroad .world-pin { padding:5px; }.tc-home .tc-path h3 { font-size:27px; } }
@media(max-width:700px) { .tc-club { grid-template-columns:1fr; gap:35px; padding:27px 23px; margin:45px 0; }.tc-club-copy h2 { font-size:33px; }.tc-dossier-preview { padding:20px; margin:0 5px 7px 0; }.tc-public-art svg { height:105px; }.tc-first-art svg { height:135px; }.tc-home .tc-path { padding:24px; }.tc-abroad .world-map-surface { aspect-ratio:720/280; }.tc-abroad .world-controls select { font-size:12px; } }
.tc-club .tc-kicker { color:#59634e; }
.tc-companion-title > p:not(.tc-kicker) { font-size:14px; line-height:1.8; max-width:260px; margin-top:22px; color:#b9c1af; }
.tc-companion li h3 a { display:inline-flex; align-items:center; gap:10px; }.tc-companion li h3 .ic { width:15px; height:15px; }
.tc-observatory h2 em { font-family:inherit; font-weight:inherit; color:var(--tc-blue); font-style:normal }.tc-observatory-lead { max-width:710px; font-size:16px; line-height:1.8; margin:0 0 25px; }.tc-observatory-date { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; font-size:11px; text-transform:uppercase; letter-spacing:.07em; padding:14px 0; border-top:1px solid var(--tc-line); }.tc-observatory-date > span:first-child { font-weight:650; }.tc-insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--tc-line); border-radius: var(--club-radius-panel); overflow:hidden; }.tc-insight { display:flex; flex-direction:column; padding:28px; min-width:0; background:var(--tc-paper); }.tc-insight + .tc-insight { border-left:1px solid var(--tc-line); }.tc-insight > span { font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--tc-blue); font-weight:650; }.tc-insight h3 { font-size:23px; line-height:1.25; font-weight:550; letter-spacing:-.04em; margin:20px 0 25px; min-height:58px; }.tc-insight strong { font-size:38px; font-weight:500; letter-spacing:-.05em; }.tc-insight small { font-size:12px; letter-spacing:0; }.tc-insight p { font-size:11px; margin:10px 0 30px; }.tc-insight b { display:flex; justify-content:space-between; font-size:12px; font-weight:600; align-items:center; margin-top:auto; }.tc-insight b .ic { width:17px; height:17px; }.tc-insight:hover { background:var(--tc-white); }.tc-observatory-method { font-size:11px; margin-top:15px; }.tc-observatory-method a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) { .tc-insight-grid { grid-template-columns:1fr; }.tc-insight { padding:25px; }.tc-insight + .tc-insight { border-left:0; border-top:1px solid var(--tc-line); }.tc-insight h3 { min-height:0; margin-bottom:16px; }.tc-insight p { margin-bottom:20px; } }
.tc-organisation-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.tc-organisation-grid > a { display:flex; flex-direction:column; padding:30px; background:var(--tc-white); border:1px solid var(--tc-line); border-radius: var(--club-radius-card); }.tc-organisation-grid > a > span { font-size:11px; color:var(--tc-blue); }.tc-organisation-grid h3 { font-size:27px; font-weight:550; letter-spacing:-.04em; margin:20px 0 15px; }.tc-organisation-grid p { font-size:14px; line-height:1.8; max-width:440px; margin-bottom:25px; }.tc-organisation-grid b { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; font-size:12px; font-weight:600; }.tc-organisation-grid .ic { width:18px; height:18px; }
@media(max-width:700px) { .tc-organisation-grid { grid-template-columns:1fr; }.tc-organisation-grid > a { padding:23px; }.tc-organisation-grid h3 { font-size:24px; } }

.tc-club-guest { font-size:12px; line-height:1.7; margin-top:20px; color:#59634e; }
.tc-club .career-tool-panels .tc-kicker { margin-bottom:10px; }
/* Phones: every control offers a 40 px target (UI audit 2026-10-09, D13). Small links grow their hit area and keep
   their place (negative margins); chips and round buttons simply grow. */
@media (max-width:767.98px) {
  .tc-textlink, .tc-card-cap button, .tc-club-details { min-height:40px; margin-block:-11px; }
  .tc-club-details { display:inline-flex; align-items:center; }
  .tc-job h3 a { display:flex; align-items:center; min-height:40px; }
  .tc-regions > summary, .tc-regions > div a { min-height:40px; }
  .tc-search-modes a { min-height:40px; padding:0; }
  .tc-examples nav { gap:8px; }
  .tc-examples a { min-height:40px; padding:0 12px; border:1px solid var(--tc-line); border-radius:999px; font-size:11px; }
  .tc-categories a { min-height:40px; }
  .tc-path-top > a { width:40px; height:40px; }
  .tc-path-link, .tc-deadlines > a { min-height:40px; }
  .tc-path-actions a { min-height:40px; }
  .tc-job-bottom a { display:grid; place-items:center; width:40px; height:40px; margin:-11px -11px -11px 0; }
  .tc-job .save-btn { width:40px; height:40px; }
}
/* CV first (owner, 9 Oct 2026: the CV upload is the headline action). The hero's button opens the card's file picker;
   on phones the card comes first and already leads with it, so the hero's copy is not repeated there. */
.tc-hero-cta { display:inline-flex; align-items:center; gap:10px; width:fit-content; min-height:50px; margin:0 0 18px; padding:0 22px; border-radius: var(--club-radius-control); background:var(--tc-blue); color:#fff; font-size:15px; font-weight:650; cursor:pointer; transition:box-shadow .15s; }
.dark .tc-hero-cta { color:#16133a; }
.tc-hero-cta:hover { box-shadow:0 0 0 4px color-mix(in srgb, var(--tc-blue) 22%, transparent); }
.tc-hero-cta .ic { width:18px; height:18px; }
.tc-home .tc-composer .tc-cv { margin:0 0 10px; padding:0 0 12px; border-top:none; border-bottom:1px dashed var(--tc-line); }
.tc-home .tc-composer .tc-cv[data-cv-present="0"] .tc-cv-drop { padding:10px 12px 10px 10px; border-width:1.5px; border-style:dashed; background:color-mix(in srgb, var(--tc-blue) 6%, var(--tc-white)); }
.tc-home .tc-composer .tc-cv[data-cv-present="0"] .tc-cv-icon { width:40px; height:40px; }
.tc-home .tc-composer .tc-cv[data-cv-present="0"] .tc-cv-main b { font-size:16px; }
.tc-deadlines > a > span small { display:block; overflow:hidden; text-overflow:ellipsis; font-size:10px; opacity:.72; }
@media (max-width:700px) { .tc-hero-cta { display:none; } }
