
  :root{--red:#cb1d2c;--red-dark:#a81220;--ink:#202229;--muted:#626672;--line:#e5e5e7;--bg:#f8f8f8;--yellow:#ffdb19;--shadow:0 20px 56px rgba(20,20,28,.09)}
  *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5}
  a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffc400;outline-offset:3px}img{display:block;max-width:100%}
  .skip{position:absolute;left:-999px;top:0;background:white;padding:12px;z-index:100}.skip:focus{left:10px}
  .prototype{font-size:11px;letter-spacing:.10em;color:#656565;background:#fff;display:flex;justify-content:center;gap:8px;align-items:center;min-height:29px;border-bottom:1px solid #eee;text-align:center;padding:4px 12px;font-weight:700}
  .dot{width:7px;height:7px;background:#d72232;display:inline-block;border-radius:50%}
  .masthead{height:160px;overflow:hidden;position:relative;background:#cf1d2c}
  .masthead::before{content:'';position:absolute;inset:0;background-image:url('../img/bandeau-cgt06.webp');background-size:cover;background-position:center;transform:scale(1.005)}
  .masthead::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(110,0,0,.36),transparent 75%)}
  .mast-content{max-width:1260px;margin:auto;position:relative;z-index:1;display:flex;height:100%;align-items:center;padding:0 30px}
  .mast-brand{font-size:clamp(20px,2.5vw,34px);font-weight:950;text-transform:uppercase;letter-spacing:.02em;color:#fff;text-shadow:0 3px 20px #69070a;max-width:550px;line-height:1.09}
  .mast-brand span{display:block;font-size:.45em;letter-spacing:.25em;margin-top:10px;font-weight:800}
  .nav-wrap{background:white;border-bottom:1px solid var(--line);box-shadow:0 5px 20px #14141808;position:sticky;top:0;z-index:20}
  .nav{max-width:1260px;margin:auto;min-height:86px;display:flex;align-items:center;gap:18px;padding:0 26px}
  .id{display:flex;align-items:center;gap:12px;min-width:184px}
  .id-img{width:54px;height:65px;border-radius:4px;object-fit:cover;object-position:center;box-shadow:0 2px 8px #0002}
  .id-text{font-size:12px;color:#57575f;font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.02em}.id-text b{font-size:16px;color:var(--ink);display:block;letter-spacing:.01em}
  .menu{margin-left:auto;display:flex;align-items:center;gap:3px}
  .menu>a{font-size:12px;font-weight:750;white-space:nowrap;padding:13px 10px;border-radius:8px;transition:.18s}.menu>a:hover{color:var(--red);background:#fff3f4}.menu a.active{color:var(--red)}
  .social{display:flex;gap:7px;margin-left:6px}
  .icon-link,.search-toggle{width:35px;height:35px;background:#f6f6f6;border:1px solid #e8e8e8;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#222;transition:.18s}
  .icon-link:hover,.search-toggle:hover{background:#ffecee;color:var(--red);transform:translateY(-1px)}
  .icon-link svg,.search-toggle svg{width:17px;height:17px;fill:currentColor}
  .join{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;background:var(--red);color:white;font-size:12px;font-weight:850;white-space:nowrap;border-radius:8px;box-shadow:0 4px 0 #7c0e1a;transition:.18s}.join:hover{background:var(--red-dark);transform:translateY(1px)}
  .mobile-toggle{display:none;border:0;background:#f6f6f6;border-radius:8px;width:42px;height:42px;font-size:24px}
  .search-box{display:none;position:absolute;right:max(30px,calc((100vw - 1260px)/2));top:85px;background:#fff;padding:15px;box-shadow:var(--shadow);border-radius:0 0 12px 12px;width:min(410px,calc(100vw - 30px));border:1px solid #e8e8e8}.search-box.open{display:block}.search-box label{font-size:12px;font-weight:750;display:block;margin-bottom:6px}.search-box input{width:100%;padding:11px 12px;border:1px solid #ddd;border-radius:7px}
  .container{max-width:1210px;padding:0 28px;margin:0 auto}
  .hero{margin:36px auto 42px;display:grid;grid-template-columns:1.02fr .98fr;min-height:390px;overflow:hidden;border-radius:20px;background:#fff;box-shadow:var(--shadow)}
  .hero-copy{padding:54px 48px 50px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--red);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em}
  .eyebrow::before{content:'';height:2px;width:22px;background:var(--red)}
  h1{font-size:clamp(31px,3.65vw,51px);line-height:1.09;letter-spacing:-.044em;margin:19px 0 17px;font-weight:900}h1 em{font-style:normal;color:var(--red)}
  .hero-copy p{font-size:15px;line-height:1.65;color:#5f6067;margin:0 0 26px;max-width:410px}
  .actions{display:flex;gap:12px;flex-wrap:wrap}.btn{padding:13px 18px;border-radius:8px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:8px}.btn-primary{color:#fff;background:var(--red)}.btn-primary:hover{background:var(--red-dark)}.btn-light{background:#f2f2f3}.btn-light:hover{background:#e8e8e8}
  .hero-visual{position:relative;min-height:350px;background:#b30f21;overflow:hidden}.hero-visual:before{content:'';position:absolute;inset:-40px;background-image:url('../img/bandeau-cgt06.webp');background-size:auto 100%;background-position:51% center;filter:contrast(1.13) saturate(1.15);transform:scale(1.13)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(91,0,12,.96) 0%,rgba(124,0,13,.40) 72%,rgba(124,0,13,.04))}
  .feature{position:absolute;bottom:26px;left:30px;right:30px;color:#fff;z-index:1}.feature small{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#ffe7e8}.feature h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;max-width:560px;margin:12px 0 16px}.feature a{font-size:13px;font-weight:800;border-bottom:2px solid var(--yellow);padding-bottom:3px}.feature a:hover{color:var(--yellow)}
  .band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:52px}.quick{background:#fff;border:1px solid #e7e7e8;border-radius:12px;padding:21px;display:flex;align-items:center;gap:17px;min-height:94px;transition:.2s}.quick:hover{transform:translateY(-3px);box-shadow:0 12px 24px #12121412;border-color:#eac8ce}.qico{height:47px;width:47px;border-radius:12px;background:#fff0f1;color:var(--red);display:flex;align-items:center;justify-content:center;font-size:25px;flex-shrink:0}.quick b{font-size:15px;display:block}.quick span.desc{font-size:11px;color:#696970;display:block;margin-top:2px}
  .sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 17px}.sectionhead h2{font-size:29px;letter-spacing:-.04em;margin:0 0 5px;font-weight:900}.sectionhead p{color:#65656d;margin:0;font-size:13px}.more{color:var(--red);font-size:13px;font-weight:800;white-space:nowrap}.more:hover{text-decoration:underline}
  .tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 20px}.tabs button{background:#fff;border:1px solid #e5e5e6;padding:8px 13px;border-radius:22px;font-size:12px;font-weight:750;color:#52535d}.tabs button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:white}
  .stories{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:62px}.story{background:#fff;border-radius:13px;border:1px solid #ececed;overflow:hidden;transition:transform .2s, box-shadow .2s}.story:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.story.hide{display:none}.story-top{height:145px;background:#f0e6e5;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:18px}.story-top::before{content:'';position:absolute;inset:0;background-image:url('../img/bandeau-cgt06.webp');background-size:cover;background-position:center;filter:brightness(.72) saturate(1.1)}.story-top.shield:before{background-image:linear-gradient(135deg,#222 0%,#a71829 45%,#e4383c 100%)}.story-top.may:before{background-image:linear-gradient(135deg,#cf2530,#f45c57,#960f22)}.article-kind{position:relative;z-index:1;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;background:#0008;border-radius:4px;padding:5px 8px}.story-body{padding:22px 20px}.story time{font-size:11px;font-weight:800;color:var(--red)}.story h3{font-size:18px;line-height:1.28;letter-spacing:-.018em;margin:10px 0 14px;min-height:72px}.story p{color:#62646c;font-size:12px;line-height:1.65;min-height:60px}.story-link{font-size:12px;font-weight:850;color:var(--red);display:inline-block;margin-top:6px}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:62px}.pane{padding:30px 32px;border-radius:17px}.pane.dark{color:white;background:#212124}.pane.rose{background:#ffe8ea;border:1px solid #f5c9ce}.pane .eyebrow{font-size:10px}.pane h2{font-size:29px;line-height:1.15;letter-spacing:-.03em;margin:15px 0 10px}.pane p{color:inherit;opacity:.82;font-size:13px;line-height:1.6;margin-bottom:20px}.pane a{display:inline-block;font-size:13px;font-weight:900;border-bottom:2px solid currentColor;padding-bottom:4px}.pane.dark .eyebrow{color:#ffe54b}.pane.dark .eyebrow:before{background:#ffe54b}
  .newsletter{background:#fff;border-radius:16px;border:1px solid #eee;display:flex;gap:24px;justify-content:space-between;align-items:center;padding:30px;margin-bottom:62px}.newsletter .tag{font-size:11px;font-weight:850;text-transform:uppercase;color:var(--red);letter-spacing:.09em}.newsletter h2{font-size:22px;letter-spacing:-.025em;margin:5px 0}.newsletter p{font-size:13px;color:#666;margin:0;max-width:670px}.pill{display:inline-block;background:#f6f0da;color:#685a18;font-weight:850;font-size:11px;padding:8px 13px;border-radius:20px;white-space:nowrap}
  footer{background:#1e1f22;color:#fff;padding:44px 0 24px}footer .footergrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}footer p{color:#b5b5b8;font-size:13px;max-width:360px}footer h3{font-size:14px;margin:0 0 13px}footer a{display:block;font-size:13px;color:#dbdcdf;margin:8px 0}footer a:hover{color:#ffdb19}footer .social-footer{display:flex;gap:8px}footer .social-footer a{width:auto;border-radius:30px;border:1px solid #515259;padding:9px 15px;font-weight:800}footer .legal{margin-top:30px;border-top:1px solid #45464a;padding-top:20px;color:#a4a4a8;font-size:11px}
  .note{font-size:10px;color:#85858b;max-width:1210px;padding:0 28px;margin:-40px auto 30px}
  @media(max-width:1160px){.menu>a{font-size:11px;padding:12px 7px}.id{min-width:158px}.nav{gap:9px;padding:0 18px}.join{padding:11px 12px}}
  @media(max-width:990px){.nav{min-height:70px}.mobile-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto}.id-img{width:44px;height:52px}.menu{display:none;position:absolute;left:0;right:0;top:70px;background:white;padding:13px 22px 18px;box-shadow:0 10px 15px #0002;flex-direction:column;align-items:stretch;margin:0;gap:0}.menu.open{display:flex}.menu>a{padding:12px 8px;font-size:14px;border-bottom:1px solid #f1f1f1}.social{margin:0 0 0 8px}.search-box{top:70px}.join{margin:0 0 0 3px}}
  @media(max-width:750px){.masthead{height:122px}.mast-content{padding:0 20px}.mast-brand{font-size:21px}.mast-brand span{font-size:11px;letter-spacing:.1em}.container{padding:0 17px}.hero{grid-template-columns:1fr;margin:20px auto 28px;min-height:0}.hero-copy{padding:31px 26px}.hero-copy h1{font-size:35px;margin-top:13px}.hero-visual{min-height:300px}.band{grid-template-columns:1fr;gap:9px;margin-bottom:38px}.quick{min-height:78px;padding:13px 15px}.stories{grid-template-columns:1fr;gap:13px;margin-bottom:42px}.story-top{height:136px}.story h3{min-height:0}.story p{min-height:0}.split{grid-template-columns:1fr;margin-bottom:42px}.newsletter{flex-direction:column;align-items:flex-start;gap:14px;padding:24px;margin-bottom:42px}.sectionhead h2{font-size:25px}footer .footergrid{grid-template-columns:1fr 1fr;gap:25px}footer .footergrid>div:first-child{grid-column:span 2}.note{margin:-25px 0 20px;padding:0 20px}}
  @media(max-width:490px){.masthead{height:105px}.mast-brand{font-size:18px}.nav{padding:0 12px;gap:5px}.id{min-width:0;gap:8px}.id-img{width:39px;height:45px}.id-text{font-size:10px}.id-text b{font-size:12px}.join{display:none}.social{gap:5px}.icon-link,.search-toggle{width:32px;height:32px}.social .icon-link{width:31px;height:31px}.hero-copy{padding:27px 24px}.hero-copy h1{font-size:32px}.hero-copy p{font-size:13px}.feature{left:23px;right:23px;bottom:26px}.feature h2{font-size:23px}.sectionhead{align-items:flex-start}.more{font-size:11px}.pane{padding:26px}.pane h2{font-size:25px}.newsletter h2{font-size:20px}}

/* V2 : identité institutionnelle agrandie et hiérarchie graphique centrée sur le logo */
.masthead{height:245px;background:#bd1724;overflow:hidden}
.masthead::before{background-size:cover;background-position:center 49%;filter:saturate(1.02)}
.masthead::after{background:linear-gradient(90deg,rgba(67,0,6,.5) 0%,rgba(75,0,6,.55) 47%,rgba(50,0,0,.21) 100%)}
.mast-content{max-width:1260px;padding:0 30px;display:flex;gap:45px;align-items:center;justify-content:flex-start}
.mast-logo{flex:0 0 auto;display:block;background:#fff;border:7px solid #fff;border-radius:12px;padding:0;box-shadow:0 14px 38px rgba(54,0,0,.45),0 0 0 1px rgba(255,255,255,.4);transform:translateY(0);transition:transform .2s,box-shadow .2s;outline-offset:5px;position:relative;z-index:2}
.mast-logo:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(54,0,0,.54)}
.mast-logo img{width:174px;height:218px;object-fit:cover;display:block;border-radius:4px}
.mast-info{color:#fff;max-width:800px;padding:6px 0;text-shadow:0 2px 19px rgba(43,0,0,.65)}
.mast-kicker{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#fff0f1}
.mast-line{display:block;width:29px;height:4px;background:#ffda10;flex:none;border-radius:2px}
.mast-brand{font-size:clamp(31px,3.15vw,46px);line-height:1.08;margin:14px 0 12px;font-weight:900;max-width:750px;letter-spacing:-.025em;text-transform:none}
.mast-brand strong{font-weight:950;white-space:nowrap}
.mast-subline{font-weight:650;font-size:15px;color:#fff0f1;letter-spacing:.015em}
.nav{min-height:76px;gap:12px}
.nav-label{display:inline-flex;align-items:center;gap:5px;color:#585960;font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;margin-right:auto}
.nav-label b{display:inline-block;background:#cb1d2c;color:#fff;border-radius:4px;padding:2px 5px;letter-spacing:0}
.menu{margin-left:auto}
@media(max-width:1160px){.mast-content{gap:28px}.mast-logo img{width:166px;height:207px}.mast-brand{font-size:34px}.nav-label{font-size:11px;letter-spacing:.05em}}
@media(max-width:990px){.masthead{height:210px}.mast-content{gap:26px;padding:0 24px}.mast-logo{border-width:6px}.mast-logo img{width:140px;height:176px}.mast-brand{font-size:32px}.mast-kicker{font-size:12px}.mast-subline{font-size:13px}.nav{min-height:70px}.nav-label{margin-right:0}.mobile-toggle{margin-left:auto}}
@media(max-width:750px){.masthead{height:195px}.mast-content{padding:0 20px;gap:19px}.mast-logo img{width:126px;height:159px}.mast-logo{border-width:5px;border-radius:9px}.mast-brand{font-size:26px;line-height:1.1;margin:11px 0 8px}.mast-kicker{font-size:10px;letter-spacing:.1em;gap:7px}.mast-line{width:15px;height:3px}.mast-subline{font-size:11px}.nav-label{font-size:11px}}
@media(max-width:490px){.masthead{height:180px}.masthead::after{background:linear-gradient(90deg,rgba(83,0,5,.60),rgba(75,0,6,.50))}.mast-content{padding:0 14px;gap:14px}.mast-logo{border-width:4px;border-radius:7px}.mast-logo img{width:103px;height:133px;border-radius:3px}.mast-info{min-width:0}.mast-brand{font-size:21px;line-height:1.08;letter-spacing:-.025em;margin:10px 0 7px}.mast-kicker{font-size:9px;letter-spacing:.07em}.mast-subline{font-size:10px;line-height:1.32}.nav{min-height:68px;padding:0 12px;gap:8px}.nav-label{font-size:11px;white-space:nowrap}.mobile-toggle{width:39px;height:39px}.social{gap:4px;margin:0}.icon-link,.search-toggle{width:30px;height:30px}.social .icon-link{width:30px;height:30px}.menu{top:68px}.search-box{top:68px}}
@media(max-width:365px){.mast-content{gap:10px;padding:0 10px}.mast-logo img{width:95px;height:122px}.mast-brand{font-size:19px}.mast-subline{font-size:9px}.social .icon-link{width:28px;height:28px}.icon-link,.search-toggle{width:28px;height:28px}.nav-label{font-size:10px}.nav{gap:5px}}

/* V3 : gabarits éditoriaux, recherche documentaire, annuaire et responsive */
[hidden]{display:none!important}
.page-view{min-height:460px}
.page-top{padding:46px 0 27px}
.crumb{font-size:12px;font-weight:650;color:#777883;margin-bottom:20px}
.crumb a{color:#ab1825;text-decoration:underline;text-underline-offset:3px}
.page-top .eyebrow{margin-bottom:4px}
.page-top h1{font-size:clamp(34px,4vw,49px);margin:14px 0 12px;letter-spacing:-.045em;max-width:860px}
.page-lead{font-size:16px;line-height:1.7;max-width:760px;color:#60616b;margin:0 0 10px}
.page-banner{height:120px;border-radius:16px;margin:16px 0 28px;overflow:hidden;background:linear-gradient(90deg,rgba(60,0,6,.78),rgba(153,0,10,.15)),url('../img/bandeau-cgt06.webp') center/cover}
.stack{display:grid;gap:16px;margin-bottom:60px}
.content-card{background:white;border:1px solid #e8e8e9;border-radius:15px;padding:24px;box-shadow:0 8px 26px rgba(0,0,0,.03)}
.content-card h2,.content-card h3{margin:0 0 11px;line-height:1.24;letter-spacing:-.018em}
.content-card h2{font-size:25px}.content-card h3{font-size:18px}
.content-card p{color:#60616b;margin:0 0 14px;line-height:1.65;font-size:14px}
.content-card .muted{font-size:12px;color:#777883}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:18px 0 54px}
.info-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-grid .content-card{height:100%}
.line-action{color:#b71f2a;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.link-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.link-list li{border-bottom:1px solid #ececee;padding-bottom:10px;font-size:14px}
.link-list li:last-child{border:0;padding-bottom:0}
.link-list a{font-weight:750;color:#b61927}
.toolsbar{display:flex;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e5e5e7;border-radius:14px;padding:15px;margin:0 0 22px;align-items:center}
.toolsbar input,.toolsbar select{font:inherit;min-height:45px;border:1px solid #d6d7da;border-radius:8px;background:white;color:#25262c;padding:0 13px}
.toolsbar input{flex:2 1 280px;min-width:0}.toolsbar select{flex:1 1 175px}
.result-count{font-size:12px;color:#64656a;white-space:nowrap;font-weight:700}
.news-line{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:19px;align-items:start;padding:22px 24px;background:#fff;border:1px solid #e7e7e9;border-radius:13px}
.news-day{display:flex;flex-direction:column;align-items:center;background:#ffe9e9;border-radius:10px;padding:11px 5px;color:#ba1828;font-weight:800}
.news-day strong{font-size:26px;line-height:1.05}.news-day small{font-size:11px;text-transform:uppercase}
.news-line h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:5px 0 9px}
.news-line p{margin:0 0 12px;color:#65656e;font-size:13px;line-height:1.6}
.news-line .tag-mini{display:inline-block;color:#b71e2b;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.news-open{color:#aa1424;font-weight:800;font-size:13px;white-space:nowrap;margin-top:7px}
.ul-card{padding:24px}.ul-card-top{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.city-flag{width:44px;height:44px;display:grid;place-items:center;background:#ffe6e8;border-radius:11px;color:#b61a27;font-weight:900;flex:none;font-size:18px}
.ul-card address{font-size:13px;font-style:normal;line-height:1.7;color:#4c4e54;margin-bottom:12px}
.ul-links{display:flex;gap:11px;flex-wrap:wrap}.ul-links a{font-size:12px;font-weight:800;color:#a90d1f}
.doc-list{display:grid;gap:13px;margin-bottom:65px}
.doc-line{background:#fff;border:1px solid #e4e4e5;border-radius:12px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;padding:16px 19px}
.fileicon{background:#fff0f1;color:#b21724;width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-size:21px;font-weight:900}
.doc-line h3{margin:0 0 3px;font-size:15px}.doc-line small{color:#777981}
.doc-line a{background:#fff2f3;padding:9px 12px;color:#af1725;font-size:12px;font-weight:800;border-radius:7px;white-space:nowrap}
.notice{background:#fff5dc;border:1px solid #eedda5;color:#53421c;padding:15px 17px;border-radius:11px;font-size:13px;line-height:1.6;margin-bottom:26px}
.columns-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:23px;margin:0 0 58px;align-items:start}
.copy-body h2{font-size:24px;letter-spacing:-.028em;margin:24px 0 14px}
.copy-body p{font-size:15px;line-height:1.85;color:#454750}
.aside-panel{background:#fff;border:1px solid #e7e7e8;border-radius:15px;padding:24px}
.aside-panel h3{margin:0 0 15px;font-size:19px}
.aside-panel a{display:block;margin:10px 0;color:#aa1424;font-size:13px;font-weight:800}
.footnote{font-size:11px;color:#777881;margin:-37px 0 65px}
.empty-state{display:none;background:white;border:1px dashed #e7b7b9;padding:28px;border-radius:13px;text-align:center;color:#666;margin:0 0 30px}
.beyond{background:#fff;border:1px solid #eee;border-radius:12px;padding:22px;margin:0 0 55px}
.beyond b{color:#be1828}
@media(max-width:900px){.news-line{grid-template-columns:75px 1fr}.news-open{grid-column:2;margin-top:0}.info-grid.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}.columns-page{grid-template-columns:1fr}}
@media(max-width:650px){.page-top{padding-top:26px}.page-banner{height:90px}.info-grid,.info-grid.cols3{grid-template-columns:1fr}.content-card{padding:20px}.news-line{padding:17px;grid-template-columns:57px 1fr;gap:12px}.news-day strong{font-size:21px}.news-line h2{font-size:16px}.doc-line{grid-template-columns:43px 1fr;gap:9px;padding:14px}.doc-line a{grid-column:2;width:max-content}.fileicon{width:40px;height:40px}.toolsbar input,.toolsbar select{flex:1 1 100%;width:100%}.result-count{width:100%}}

/* V4 : composants WordPress, navigation administrable, pages publiques réelles */
body {overflow-wrap:anywhere;}
.site-main{min-height:55vh}
.nav .menu{list-style:none;padding:0}
.menu li{list-style:none;position:relative}
.menu li a{display:block;font-size:12px;font-weight:750;white-space:nowrap;padding:13px 10px;border-radius:8px;transition:.18s}
.menu li a:hover,.menu li.current-menu-item>a,.menu li.current_page_item>a,.menu li.current-menu-ancestor>a{color:var(--red);background:#fff3f4}
.menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:235px;box-shadow:0 12px 30px #0002;list-style:none;margin:0;padding:8px;border:1px solid #eee;border-radius:8px;z-index:30}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}
.menu .sub-menu a{white-space:normal;font-size:12px;line-height:1.4}
.content-prose{font-size:16px;line-height:1.8;max-width:100%;overflow-wrap:anywhere}
.content-prose h2,.content-prose h3{line-height:1.22;letter-spacing:-.02em;margin-top:1.5em}
.content-prose a{color:#af1325;text-decoration:underline;text-underline-offset:3px}
.content-prose p{margin:0 0 1.3em}
.content-prose img{height:auto}
.content-prose iframe,.content-prose video{max-width:100%}
.content-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.content-prose th,.content-prose td{border:1px solid #e7e7e7;padding:9px 12px}
.content-prose figure{max-width:100%;margin:1.5em 0}
.content-prose .wp-block-file{background:#fff4f4;padding:14px;border-radius:8px;margin:12px 0}
.wp-block-image img{border-radius:8px;height:auto}
.wp-caption{max-width:100%}.wp-caption-text{font-size:.8em;color:#666}
.alignleft{float:left;margin:0 22px 22px 0}.alignright{float:right;margin:0 0 22px 22px}.aligncenter{display:block;margin:0 auto 22px}
.entry-shell{margin:18px 0 70px}.entry-paper{background:#fff;border:1px solid #e9e9e9;border-radius:16px;padding:clamp(20px,4vw,42px)}
.meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#777;margin:-2px 0 20px}
.meta a{color:#b31b2b}
.story-top.has-image::before{background-image:none!important}
.story-top.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-top.has-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent)}
.story h3{min-height:0}.story p{min-height:0}
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:28px 0 75px}
.pagination .page-numbers{background:#fff;padding:10px 15px;border:1px solid #e2e2e2;border-radius:7px;font-weight:700}
.pagination .current{background:var(--red);color:#fff}
.search-form{display:flex;gap:8px}
.search-form input[type=search]{width:100%;min-width:0;padding:12px;border:1px solid #ccc;border-radius:6px}
.search-form button{background:var(--red);color:#fff;border:0;border-radius:6px;padding:0 16px;font-weight:800}
.search-box .search-form label{display:block;flex:1;margin:0}
.page-heading{margin:37px 0 21px}
.page-heading h1{margin:7px 0 10px;font-size:clamp(29px,4vw,46px)}
.empty-result{background:#fff;border:1px solid #e3e3e3;padding:30px;border-radius:12px;margin-bottom:65px}
.footergrid li{list-style:none}.footergrid ul{padding:0;margin:0}
.nav-social-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.search-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.newsletter p{max-width:670px}
#primary-menu.open{display:flex}
@media (max-width:1160px){.menu li a{font-size:11px;padding:12px 7px}}
@media (max-width:990px){
 .nav .menu{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;padding:13px 22px 18px;box-shadow:0 10px 15px #0002;flex-direction:column;align-items:stretch;margin:0;gap:0;max-height:calc(100vh - 70px);overflow-y:auto}
 .nav .menu.open{display:flex}
 .menu li a{padding:12px 8px;font-size:14px;border-bottom:1px solid #f1f1f1;white-space:normal}
 .menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 20px;min-width:0}
 .menu .sub-menu li a{font-size:13px}
}
@media(max-width:490px){.nav .menu{top:68px}}
@media(max-width:550px){.entry-paper{padding:19px}.alignleft,.alignright{float:none;display:block;margin:16px auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* V5 — image véritable à la une, cartes harmonisées, lecture responsive.
   Les fichiers logo et bandeau officiels sont conservés à l'identique. */
@media (min-width: 1300px) {
  .container { max-width: 1380px; }
  .mast-content, .nav { max-width: 1380px; }
}
.hero-visual.has-featured-image::before { display: none; }
.hero-visual .feature-media {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.hero-visual.has-featured-image::after {
  background: linear-gradient(0deg, rgba(30, 0, 7, .93) 0%, rgba(47, 0, 8, .74) 34%, rgba(40, 0, 8, .22) 100%);
}
/* Flex layout prevents longer article titles from escaping the feature panel. */
.hero-visual { display: flex; align-items: flex-end; }
.hero-visual .feature {
  position: relative; left: auto; right: auto; bottom: auto;
  padding: 30px; width: 100%; margin-top: auto;
}
.feature h2 { overflow-wrap: anywhere; }
.stories { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.story { display: flex; flex-direction: column; min-width: 0; }
.story-top { height: 180px; flex-shrink: 0; }
.story-body { display: flex; flex: 1 1 auto; flex-direction: column; }
.story-body .story-link { margin-top: auto; align-self: flex-start; }
.story h3 { margin-bottom: 12px; }
.story p { margin: 0 0 20px; }
/* Consistent two-column grid on medium screens instead of narrow three-column cards. */
@media (max-width: 1050px) and (min-width: 651px) {
  .stories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-top { height: 190px; }
}
@media (max-width: 750px) {
  .hero-visual { min-height: 290px; }
  .hero-visual .feature { padding: 25px; }
}
@media (max-width: 650px) {
  .stories { grid-template-columns: 1fr; }
  .story-top { height: clamp(175px, 46vw, 240px); }
  .story-body { padding: 20px; }
  .hero-visual { min-height: 270px; }
  .hero-visual .feature { padding: 22px; }
  .feature h2 { font-size: clamp(20px, 5.2vw, 26px); }
  .sectionhead { flex-wrap: wrap; }
}
@media (max-width: 390px) {
  .mast-brand { font-size: 18px; }
  .mast-subline { font-size: 9px; }
  .nav-label { font-size: 10px; }
}


/* ========================================================================== 
   CGT 06 V6 — ergonomie mobile (écrans desktop et identité préservés)
   ========================================================================== */
/* Réseaux sociaux accessibles dans le menu mobile, mais non dupliqués sur PC. */
#primary-menu .mobile-social-item { display: none; }
@media (max-width: 990px) {
  #primary-menu .mobile-social-item { display: list-item; }
  #primary-menu .mobile-social-item:first-of-type { border-top: 1px solid #eee; }
  .nav .menu { z-index: 25; }
  .nav .menu a { min-height: 44px; display: flex; align-items: center; }
  .nav .menu li.mobile-social-item a { color: #ad1525; font-weight: 800; }
}
/* Dégradé un peu moins appuyé, sans perte de lisibilité des textes blancs. */
.hero-visual.has-featured-image::after {
  background: linear-gradient(0deg,rgba(30,0,7,.88) 0%,rgba(47,0,8,.59) 37%,rgba(40,0,8,.12) 100%);
}
@media (max-width: 750px) {
  .prototype { min-height: 22px; padding: 3px 7px; font-size: 9px; letter-spacing: .06em; }
  .hero { margin: 16px auto 22px; border-radius: 16px; }
  .hero-copy { padding: 26px 25px 23px; }
  .hero-copy h1 { font-size: clamp(27px, 5vw, 34px); line-height: 1.12; margin: 12px 0 13px; }
  .hero-copy p { font-size: 13px; line-height: 1.53; margin-bottom: 18px; max-width: none; }
  .hero .actions { gap: 8px; }
  .hero .btn { padding: 11px 13px; font-size: 12px; min-height: 42px; }
  .hero-visual { min-height: 240px; }
  .hero-visual .feature { padding: 20px 24px; }
  .hero-visual .feature h2 { font-size: clamp(20px, 3.8vw, 25px); line-height: 1.22; margin: 8px 0 10px; }
  .band { margin-bottom: 28px; gap: 8px; }
  .quick { min-height: 70px; padding: 10px 13px; gap: 13px; }
  .qico { width: 42px; height: 42px; border-radius: 10px; font-size: 22px; }
  .sectionhead { margin-bottom: 12px; }
  .sectionhead h2 { font-size: 24px; }
  .stories { gap: 13px; margin-bottom: 36px; }
  .story-top { height: clamp(160px, 45vw, 230px); }
  .story-body { padding: 18px 18px 19px; }
}
@media (max-width: 650px) {
  /* Barre compacte : accès à l'adhésion toujours visible. Réseaux dans le menu. */
  .masthead { height: 151px; }
  .mast-content { padding: 0 15px; gap: 15px; }
  .mast-logo { border-width: 3px; border-radius: 8px; }
  .mast-logo img { width: 94px; height: 121px; }
  .mast-kicker { font-size: 9px; letter-spacing: .08em; gap: 7px; }
  .mast-line { width: 15px; height: 3px; }
  .mast-brand { font-size: clamp(18px, 4.7vw, 24px); line-height: 1.12; margin: 8px 0 7px; }
  .mast-subline { font-size: 10px; line-height: 1.35; }
  .nav { min-height: 60px; padding: 0 12px; gap: 7px; }
  .nav-label { font-size: 10px; letter-spacing: .04em; }
  .mobile-toggle { width: 40px; height: 40px; min-width: 40px; font-size: 23px; }
  .social { margin: 0; }
  .social .icon-link { display: none; }
  .social .search-toggle { width: 40px; height: 40px; }
  .join { display: inline-flex; margin: 0; min-height: 40px; padding: 9px 10px; font-size: 11px; line-height: 1.1; box-shadow: 0 3px 0 #7c0e1a; }
  .nav .menu { top: 60px; padding: 6px 16px 14px; max-height: calc(100dvh - 60px); }
  .search-box { top: 60px; right: 8px; }
  .hero-visual { min-height: 225px; }
  .feature small { font-size: 9px; }
  .feature a { font-size: 12px; }
  .sectionhead p { font-size: 12px; }
  .more { font-size: 12px; }
}
@media (max-width: 490px) {
  .container { padding: 0 12px; }
  .masthead { height: 145px; }
  .mast-content { padding: 0 12px; gap: 11px; }
  .mast-logo img { width: 89px; height: 115px; }
  .mast-brand { font-size: clamp(17px, 4.75vw, 21px); margin: 7px 0 6px; }
  .mast-subline { font-size: 9px; }
  .nav { padding: 0 9px; gap: 6px; }
  .nav-label { font-size: 10px; letter-spacing: .01em; }
  .hero { margin-top: 13px; margin-bottom: 18px; border-radius: 15px; }
  .hero-copy { padding: 23px 21px 21px; }
  .hero-copy .eyebrow { font-size: 10px; }
  .hero-copy h1 { font-size: clamp(26px, 7.3vw, 33px); margin: 11px 0 12px; }
  .hero-copy p { font-size: 13px; margin-bottom: 17px; }
  .hero .actions { width: 100%; gap: 8px; }
  .hero .btn { min-height: 40px; padding: 10px 12px; font-size: 11px; white-space: normal; }
  .hero-visual { min-height: 219px; }
  .hero-visual .feature { padding: 17px 19px; }
  .hero-visual .feature h2 { font-size: 21px; }
  .quick { min-height: 64px; }
  .quick b { font-size: 14px; }
  .quick span.desc { font-size: 11px; }
  .band { margin-bottom: 25px; }
  .sectionhead h2 { font-size: 23px; }
}
@media (max-width: 365px) {
  .masthead { height: 136px; }
  .mast-content { padding: 0 9px; gap: 9px; }
  .mast-logo img { width: 81px; height: 105px; }
  .mast-brand { font-size: 16px; }
  .mast-subline { font-size: 8px; }
  .nav-label { font-size: 9px; }
  .nav { padding: 0 7px; gap: 5px; }
  .mobile-toggle { width: 36px; min-width: 36px; height: 40px; }
  .social .search-toggle { width: 36px; height: 40px; }
  .join { padding: 8px; font-size: 10px; }
  .hero-copy { padding: 21px 18px 20px; }
  .hero-copy h1 { font-size: 26px; }
  .hero .btn { padding: 9px 10px; }
}


/* ========================================================================== 
   CGT 06 V7 — titre des pages intérieures dans le bandeau rouge
   ========================================================================== */
.page-breadcrumb {
  margin: 33px 0 17px;
  font-size: 12px;
  line-height: 1.5;
}
.crumb-separator { margin: 0 6px; color: #777883; }
.page-banner--titled {
  position: relative;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  min-height: 235px;
  height: auto;
  margin: 0 0 20px;
  overflow: hidden;
  border-radius: 16px;
  background-image: linear-gradient(90deg, rgba(40,0,8,.88) 0%, rgba(61,0,9,.64) 53%, rgba(72,0,5,.22) 100%), url('../img/bandeau-cgt06.webp');
  background-position: center;
  background-size: cover;
  background-color: #931321;
}
.page-banner__content { width: 100%; min-width: 0; padding: 34px clamp(25px,4vw,48px); }
.page-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.page-banner__eyebrow::before { content: ''; display: inline-block; height: 3px; width: 27px; background: #ffe044; }
.page-banner__title {
  max-width: 950px;
  margin: 0;
  color: #fff;
  font-size: clamp(33px,4.3vw,55px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.035em;
  text-shadow: 0 3px 17px rgba(0,0,0,.43);
  overflow-wrap: anywhere;
}
@media (max-width: 650px) {
  .page-breadcrumb { margin: 22px 0 14px; font-size: 11px; }
  .page-banner--titled { min-height: 165px; margin-bottom: 15px; border-radius: 12px; background-position: 51% center; }
  .page-banner__content { padding: 23px 20px; }
  .page-banner__eyebrow { font-size: 10px; margin-bottom: 9px; }
  .page-banner__title { font-size: clamp(28px,7vw,38px); line-height: 1.12; }
  .page-banner--titled + .entry-shell { margin-top: 14px; }
}
@media (max-width: 365px) {
  .page-banner__content { padding: 19px 16px; }
  .page-banner__title { font-size: 28px; }
}
