/* ReadyGo shared chrome: ribbon, masthead, navigation, services menu, footer.
   Source of truth for every page. Extracted from the approved V7 homepage on 2026-10-18. Edit here, never in a page. */
:root{--ink:#151515;--muted:#62625d;--paper:#f8f7f2;--white:#fffefa;--line:#d6d4ca;--yellow:#f9d51b;--accent:#f4c900;--font:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
.shell{max-width:1600px;margin:auto;background:var(--white);min-height:100vh;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.utility{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:36px;padding:0 clamp(16px,2.3vw,38px);border-bottom:1px solid var(--ink);font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.masthead{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:end;padding:22px clamp(16px,2.3vw,38px) 19px;border-bottom:4px double var(--ink)}
.masthead-side{font-size:10px;text-transform:uppercase;letter-spacing:.18em;line-height:1.55;padding-bottom:6px;font-weight:700}
.masthead-side:last-child{text-align:right}
.brand{font-size:clamp(53px,7vw,108px);font-weight:950;letter-spacing:-.105em;line-height:.82;text-decoration:none;white-space:nowrap;padding-right:.08em}
.brand-dot{color:#efc700}
.nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(175px,1.45fr);border-bottom:1px solid var(--ink);min-height:49px}
.nav a{display:flex;justify-content:center;align-items:center;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:800;border-right:1px solid var(--line);transition:background .2s,color .2s}
.nav a:hover,.nav a:focus-visible{background:var(--ink);color:var(--white)}
.nav a.primary-nav{background:var(--yellow);border-right:0;color:var(--ink)}
.nav a.primary-nav:hover{background:var(--ink);color:var(--yellow)}
.mobile-header{display:none}
.mobile-menu{display:none}
@media(max-width:1050px){.masthead-side{font-size:8px}.nav{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(140px,1.4fr)}}
@media(max-width:690px){.shell{border:0}.utility{grid-template-columns:1fr auto;padding:0 15px;min-height:36px;font-size:9px}.utility .date{display:none}.masthead{display:none}.nav{display:none}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 15px;border-bottom:4px double var(--ink);position:relative;z-index:40;background:var(--white)}.mobile-header .brand{font-size:43px;letter-spacing:-.11em}.mobile-header-actions{display:flex;gap:8px;align-items:center}.mobile-header-actions>a{font-size:10px;text-decoration:none;font-weight:bold;border-bottom:1px solid}.menu-button{width:38px;height:36px;background:var(--yellow);border:1px solid var(--ink);font-size:20px;line-height:1}.mobile-menu.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:2px solid var(--ink);box-shadow:0 15px 25px #0002}.mobile-menu a{padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px;font-weight:bold;text-decoration:none}}
@media(max-width:390px){.brand{font-size:37px!important}}
.utility{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0;padding:0;min-height:42px;background:#171717;color:#fbfaf5;border-bottom:0;overflow:hidden;letter-spacing:.09em}
.utility-bulletin{height:100%;display:flex;align-items:center;gap:9px;padding:0 21px;font-size:11px;font-weight:900;background:var(--yellow);color:var(--ink);border-right:1px solid var(--ink);white-space:nowrap}
.utility-bulletin span{font-size:17px}
.offer-viewport{min-width:0;overflow:hidden;white-space:nowrap;display:flex;align-items:center;mask-image:linear-gradient(to right,transparent 0%,#000 3%,#000 97%,transparent 100%)}
.offer-track{display:flex;width:max-content;animation:news-flow 24s linear infinite;align-items:center;will-change:transform}
.offer-viewport:hover .offer-track,.offer-viewport:focus-within .offer-track{animation-play-state:paused}
.offer-copy{flex:none;display:inline-block;padding-right:60px;font-size:11px;font-weight:800;letter-spacing:.06em}
.offer-copy b{color:var(--yellow);padding:0 14px}
.offer-copy a{text-decoration:underline;text-underline-offset:3px}
.utility-date{display:flex;align-items:center;gap:11px;background:#fffefa;color:#151515;border-left:2px solid var(--yellow);padding:0 20px;white-space:nowrap;font-size:11px;font-weight:900;letter-spacing:.025em}
.date-caption{color:#78756f;font-size:9px;letter-spacing:.1em}
.utility-date #dateShort{display:none}
@media(max-width:1050px){.utility-date .date-caption{display:none}}
@media(max-width:690px){.utility{grid-template-columns:auto minmax(0,1fr) auto;min-height:38px;padding:0}.utility-bulletin{padding:0 9px;font-size:9px}.utility-bulletin span{display:none}.offer-copy{font-size:9px}.offer-copy b{padding:0 8px}.utility-date{padding:0 9px;font-size:9px}.utility-date #dateFull{display:none}.utility-date #dateShort{display:inline}}
@media(max-width:390px){.utility-date{padding:0 6px;font-size:8px}.utility-bulletin{font-size:8px}}
@media(prefers-reduced-motion:reduce){.offer-track{animation:none;transform:none}}
.rg-footer{background:#f8f7f2;padding:0 clamp(16px,3vw,48px);border-top:4px double var(--ink)}
.ft-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:30px 0 25px;border-bottom:2px solid var(--ink)}
.ft-logo{font-size:clamp(55px,9.2vw,137px);line-height:.8;font-weight:950;letter-spacing:-.12em;text-decoration:none;white-space:nowrap;padding-right:.12em}
.ft-logo b{color:#dfbb00}
.ft-edition{text-align:right;font-size:10px;text-transform:uppercase;letter-spacing:.15em;line-height:1.8;font-weight:800}
.ft-cols{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:20px;padding:29px 0 37px;border-bottom:1px solid var(--ink)}
.ft-col{display:flex;flex-direction:column;gap:11px;align-items:flex-start}
.ft-col h3{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid var(--ink);padding-bottom:9px;width:100%;margin:0 0 4px}
.ft-col a{font-size:12px;line-height:1.5;text-decoration:none}
.ft-col a:hover{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#d2aa00}
.ft-col p{font-size:12px;line-height:1.6;color:#5e5c56;max-width:310px;margin:0}
.ft-col .ft-contact{font-weight:900;font-size:14px}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:19px 0 24px;font-size:10px;color:#666159}
.ft-bottom a{font-size:10px;text-decoration:none;border-bottom:1px solid #bbb6ac;margin-right:14px}
.ft-bottom a:last-child{margin-right:0}
.ft-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.ft-social a{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:3px}
@media(max-width:760px){.rg-footer{padding:0 17px}.ft-heading{grid-template-columns:1fr;gap:15px}.ft-logo{font-size:clamp(57px,14vw,100px)}.ft-edition{text-align:left}.ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.ft-col:first-child{grid-column:1 / -1}.ft-col a{font-size:12px}.ft-bottom{line-height:1.7}}
@media(max-width:360px){.ft-logo{font-size:51px}}


/* Lock the chrome to the homepage tokens, so a page's own :root can never tint the header or footer */
.utility,header,footer{--ink:#151515;--muted:#62625d;--paper:#f8f7f2;--white:#fffefa;--line:#d6d4ca;--yellow:#f9d51b;--accent:#f4c900;--font:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}

/* Full-width layout (Boss 2026-10-18): no centred column, small side gutters come from each section */
.shell{max-width:none;border-left:0;border-right:0;overflow-x:clip}

/* Current page in the main navigation */
.nav a[aria-current="page"],.nav .nav-services.is-current{background:var(--ink);color:var(--white)}

/* Services button: same cell as the other nav links */
header{position:relative}
.nav .nav-services{display:flex;justify-content:center;align-items:center;gap:7px;font:800 10px var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:transparent;border:0;border-right:1px solid var(--line);cursor:pointer;padding:0;transition:background .2s,color .2s}
.nav .nav-services:hover,.nav .nav-services:focus-visible,.nav .nav-services[aria-expanded="true"]{background:var(--ink);color:var(--white)}
.nav .nav-services:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}
.nav-caret{display:inline-block;font-size:9px;transition:transform .2s}
.nav-services[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}

/* Services panel: the newspaper "sommaire" */
.services-panel{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--white);border-bottom:4px double var(--ink);box-shadow:0 18px 40px rgba(21,21,21,.14)}
.services-panel[hidden]{display:none}
.sp-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,2.3vw,38px);border-bottom:1px solid var(--ink);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.sp-top span b{color:#b9a000}
.sp-top a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.sp-top a:hover,.sp-top a:focus-visible{background:var(--yellow)}
.sp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.sp-item{position:relative;display:flex;flex-direction:column;gap:9px;padding:20px clamp(14px,1.4vw,24px) 22px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:190px;transition:background .2s}
.sp-item:last-child{border-right:0}
.sp-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:#8a7700}
.sp-title{font:700 clamp(19px,1.55vw,25px)/1.05 var(--serif);letter-spacing:-.03em}
.sp-desc{font-size:12px;line-height:1.5;color:var(--muted)}
.sp-more{margin-top:auto;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:10px}
a.sp-item:hover,a.sp-item:focus-visible{background:var(--yellow)}
a.sp-item:hover .sp-desc,a.sp-item:focus-visible .sp-desc{color:var(--ink)}
a.sp-item:hover .sp-kicker,a.sp-item:focus-visible .sp-kicker{color:var(--ink)}
.sp-item:focus-visible,.sp-links a:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.sp-links{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--line)}
.sp-links a{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.sp-links a:hover,.sp-links a:focus-visible{background:var(--yellow);padding-left:6px;padding-right:6px}
.sp-item [aria-current="page"],.sp-item[aria-current="page"]{box-shadow:inset 0 -4px 0 var(--yellow)}
@media(max-width:1050px){.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-item:nth-child(3n){border-right:0}.sp-item:nth-child(-n+3){border-bottom:1px solid var(--line)}.sp-item{min-height:0}}

/* Mobile menu: services accordion */
.mobile-menu .mm-services{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:bold 13px var(--font);text-align:left;cursor:pointer}
.mobile-menu .mm-services[aria-expanded="true"]{background:var(--ink);color:var(--white)}
.mm-services .mm-sign{font-size:18px;line-height:1}
.mm-list{display:flex;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--ink)}
.mm-list[hidden]{display:none}
.mm-group{padding:12px 20px 4px 32px;font-size:9px;font-weight:900;letter-spacing:.14em;color:#8a7700;text-transform:uppercase}
.mobile-menu .mm-list a{padding:11px 20px 11px 32px;font-size:12px;border-bottom:1px solid var(--line)}
.mobile-menu .mm-list a[aria-current="page"]{background:var(--yellow)}
@media(prefers-reduced-motion:reduce){.nav-caret,.sp-item{transition:none}}
/* chrome text colour comes from the locked tokens, never from the page body */
:where(.utility,header,footer){color:var(--ink)}  /* zero specificity: the chrome's own colours (.utility light text on black) always win */
/* chrome base: the header/footer carry their own element defaults (same as the homepage base),
   so pages whose own base rules are scoped to their <main> (pages.css) still render them identically */
:where(.utility,header,footer){font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
:where(.utility,header,footer),:where(.utility,header,footer) *{box-sizing:border-box}
:where(.utility,header,footer) :where(a,button){font:inherit}
:where(.utility,header,footer) a{color:inherit}
:where(.utility,header,footer) button{cursor:pointer}
:where(.utility,header,footer) :where(a,button):focus-visible{outline:3px solid #9b7200;outline-offset:3px}
.menu-button{color:#000}  /* as on the original V7.2 homepage, whatever the page sets for buttons */

/* footer: cookie settings link (button styled like the legal links) */
.ft-bottom .ft-cookies{font:inherit;font-size:10px;color:inherit;background:none;border:0;border-bottom:1px solid #bbb6ac;padding:0;margin-left:14px;cursor:pointer}
/* cookie consent: a small newspaper notice, bottom left; trackers load only after "Accepter" */
.rg-consent{position:fixed;left:16px;bottom:16px;z-index:9990;width:min(420px,calc(100vw - 32px));background:#fffefa;color:#151515;border:1px solid #151515;box-shadow:7px 7px 0 #f9d51b;padding:16px 18px 18px;font:13px/1.55 Arial,Helvetica,sans-serif}
.rg-consent[hidden]{display:none}
.rg-consent .rc-kicker{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;border-bottom:3px double #151515;padding-bottom:8px;margin-bottom:10px}
.rg-consent .rc-kicker b{color:#b88f00}
.rg-consent p{margin:0 0 14px}
.rg-consent a{color:inherit;text-decoration:underline}
.rg-consent .rc-actions{display:flex;gap:8px}
.rg-consent button{flex:1 1 0;font:700 12px Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:11px 12px;border:1px solid #151515;cursor:pointer}
.rg-consent .rc-yes{background:#151515;color:#fffefa}
.rg-consent .rc-yes:hover{background:#f9d51b;color:#151515}
.rg-consent .rc-no{background:transparent;color:#151515}
.rg-consent .rc-no:hover{background:#efede4}
.rg-consent button:focus-visible{outline:3px solid #9b7200;outline-offset:2px}
@media(prefers-reduced-motion:no-preference){.rg-consent{animation:rc-in .35s ease both}@keyframes rc-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}

/* logo image (Boss 2026-10-19): sized in em so every place keeps its own scale (header, mobile header, footer, loading screen) */
.brand picture,.ft-logo picture,.reveal-logo picture{display:block}
.brand .logo-img,.ft-logo .logo-img,.reveal-logo .logo-img{display:block;height:.94em;width:auto;max-width:100%}
.brand,.ft-logo{letter-spacing:0}
