/* Dégradés : trop longs pour un jeton. --halo suit le thème. */
:root{--halo-petrole:radial-gradient(50% 60% at 88% 0%,rgba(53,119,138,.9) 0%,rgba(53,119,138,0) 70%),radial-gradient(45% 55% at 70% 100%,rgba(195,181,245,.45) 0%,rgba(195,181,245,0) 70%),linear-gradient(165deg,#1F4A57 0%,#12303A 100%);--halo-clair:radial-gradient(45% 55% at 12% 10%,rgba(53,119,138,.45) 0%,rgba(53,119,138,0) 70%),radial-gradient(45% 55% at 90% 92%,rgba(195,181,245,.9) 0%,rgba(195,181,245,0) 70%),radial-gradient(28% 34% at 50% 58%,rgba(255,201,74,.4) 0%,rgba(255,201,74,0) 70%),linear-gradient(#F3F4F6,#F3F4F6);--visuel-nuit:radial-gradient(60% 60% at 30% 25%,rgba(53,119,138,.9) 0%,rgba(53,119,138,0) 70%),linear-gradient(160deg,#1F4A57 0%,#12303A 100%);--halo:var(--halo-petrole);--halo-creme:var(--halo-petrole)}
[data-theme="clair"]{--halo:var(--halo-clair);--halo-creme:radial-gradient(45% 55% at 12% 10%,rgba(53,119,138,.45) 0%,rgba(53,119,138,0) 70%),radial-gradient(45% 55% at 90% 92%,rgba(195,181,245,.9) 0%,rgba(195,181,245,0) 70%),radial-gradient(28% 34% at 50% 58%,rgba(255,201,74,.4) 0%,rgba(255,201,74,0) 70%),linear-gradient(#F5F3EE,#F5F3EE)}

/* Base */
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--text);font:400 16px/24px var(--font-sans)}
h1,h2,h3,p,dl,dd,ol,ul,figure,blockquote{margin:0;padding:0}
a{color:inherit;text-decoration:none}
.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.accent{color:var(--accent)}
.stack{display:flex;flex-direction:column;gap:var(--space-3)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.push{margin-top:auto}
.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.clamp-2{-webkit-line-clamp:2;min-height:2lh}
.clamp-3{-webkit-line-clamp:3;min-height:3lh}

/* Layout */
.section{max-width:var(--container);margin:0 auto;padding:var(--space-7) 0;display:flex;flex-direction:column;gap:var(--space-5)}
.section-band{padding:var(--space-7) 0;border-block:1px solid var(--line)}
.split{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-5)}
.split>*{flex:1 1 360px;max-width:640px}
.split>:first-child{max-width:544px}
.split-center{align-items:center}
.grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:var(--space-5);align-items:stretch}
.grid-2{--cols:2}.grid-4{--cols:4}

/* Zone : un fond d'un bord à l'autre de l'écran, un contenu borné par container */
.zone{padding-block:var(--space-7)}
.zone-in{width:100%;max-width:calc(var(--container) + 2 * var(--space-9));margin:0 auto;padding-inline:var(--space-9);display:flex;flex-direction:column;gap:var(--space-5)}
.zone-surface{background:var(--surface)}
.zone-media{background:var(--media)}
.zone-line{border-top:1px solid var(--line)}
.zone .footer{padding:0;border-top:0}

/* Surface */
.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--pad,var(--space-4));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l)}
.card-lg{--pad:var(--space-11);border-radius:var(--radius-xl)}
.card-flat{padding:0;background:none;border:0}
.contrast{background:var(--contrast);color:var(--on-contrast);border-color:transparent;--text:var(--on-contrast);--text-2:var(--on-contrast-2);--text-3:var(--on-contrast-2);--accent:var(--accent-contrast);--link:var(--accent-contrast);--action:var(--action-contrast);--on-action:var(--on-action-contrast);--chip:var(--chip-contrast);--line:var(--chip-contrast)}
.panel{padding:var(--space-11);background:var(--media);border-radius:var(--radius-xl)}
.hero{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-7);min-height:700px;padding:var(--space-6);background:var(--halo);border-radius:var(--radius-xl)}
.hero-plain{min-height:832px;align-items:center;justify-content:center}
.hero-full{position:relative;z-index:1;isolation:isolate;display:flex;flex-direction:column;min-height:780px;background:var(--halo)}
.hero-body{flex:1;justify-content:flex-end;gap:var(--space-7);padding-block:64px 125px}
.hero-sm{min-height:520px}
.hero-sm .hero-body{padding-block:var(--space-7)}
.hero-dark{background:var(--halo-petrole);color:var(--blanc);--text:var(--blanc);--text-2:#ffffffc7;--text-3:#ffffffa3;--action:var(--blanc);--on-action:var(--minuit);--chip:#ffffff1f;--line:#ffffff40}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
img.hero-bg{filter:grayscale(1)}
.hero-dark .card{--text:var(--blanc);--text-2:#ffffffc7;--text-3:#ffffffa3;--line:#2C393D;--chip:#ffffff14;--action:var(--blanc);--on-action:var(--minuit);color:var(--text)}
[data-theme="clair"] .hero-dark .card{--text:var(--encre);--text-2:#555555;--text-3:#666666;--line:#33333326;--chip:#3333330f;--action:var(--petrole);--on-action:var(--blanc)}
.hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--petrole-nuit) 88%,transparent),color-mix(in srgb,var(--petrole-nuit) 40%,transparent))}
.cta{overflow:hidden;background:var(--halo-petrole);color:var(--blanc);border-radius:var(--radius-xl);--text:var(--blanc);--text-2:#ffffffc7;--text-3:#ffffffa3;--action:var(--blanc);--on-action:var(--minuit);--chip:#ffffff1f;--line:#ffffff40}
.cta-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4) var(--space-6);text-align:center}
.cta-body>p{max-width:440px}
.cta>.media{min-height:220px;border:0;border-radius:0;background:#00000040;color:#ffffffc7}
.halo-creme{background:var(--halo-creme)}

/* Media */
.media{display:flex;align-items:center;justify-content:center;min-height:var(--h,185px);overflow:hidden;background:var(--media);border:1px solid var(--line);border-radius:var(--radius-m);color:var(--text-3);font:400 12px/16px var(--font-mono);text-align:center}
.media img{width:100%;height:100%;object-fit:cover}
.media-l{border-radius:var(--radius-l)}
.media-photo{height:var(--h)}
.media-photo img{filter:grayscale(1)}
.media-visuel{background:var(--visuel-nuit);border:0;color:#ffffffc7}
.carousel{display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-1)}
.carousel>*{flex:0 0 min(880px,90%);scroll-snap-align:center}
.pager{display:flex;justify-content:center;gap:var(--space-1)}
.pager i,.pager button{display:block;width:6px;height:6px;padding:0;border:0;border-radius:3px;background:var(--line-strong)}
.pager button{cursor:pointer}
.pager .on{width:24px;background:var(--text)}

/* Control */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 26px;background:var(--action);color:var(--on-action);border:0;border-radius:var(--radius-pill);font:400 14px/20px var(--font-sans);cursor:pointer}
.btn-soleil{background:var(--soleil);color:var(--encre)}
.btn-line{padding:8px 24px;background:none;color:var(--text);border:2px solid var(--text)}
.btn-card{padding-left:var(--space-1);background:var(--media);color:var(--text)}
.btn-card .icon{background:var(--action);color:var(--on-action);border:0}
.btn-pill{border-radius:var(--radius-pill)}
.link{color:var(--link);font-size:16px;font-weight:500}
.link-up{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--link);font-size:14px;font-weight:500;text-transform:uppercase}
.tag{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:4px 8px;background:var(--chip);border:0;border-radius:var(--radius-s);font:400 12px/16px var(--font-mono);white-space:nowrap}
.tag-sm{height:20px;font-size:10px;line-height:12px}
.tag-soleil,.tag-lilas{color:var(--encre)}
.tag-soleil{background:var(--soleil)}.tag-lilas{background:var(--lilas)}
.tag-member{height:44px;padding:6px 14px 6px 6px;background:none;border:1px solid var(--line);border-radius:var(--radius-pill);font:400 14px/20px var(--font-sans)}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--media);border:1px solid var(--line)}
.avatar-lg{width:48px;height:48px}
.icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:var(--radius-m);font-size:14px}
.icon-lg{width:56px;height:56px;border-radius:var(--radius-m);font-size:20px}
.icon-fill{background:var(--petrole);border:0;color:var(--blanc)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);font-size:14px;font-weight:500}
.eyebrow .icon{width:24px;height:24px;font-size:12px}
.field{display:flex;flex:1 1 260px;flex-direction:column;gap:6px}
.field label{color:var(--text-2);font-size:14px}
.field input,.field select,.field textarea{height:44px;padding:0;background:none;border:0;border-bottom:1px solid var(--line-strong);color:var(--text);font:inherit;outline-offset:4px}
.field textarea{height:96px;padding:var(--space-1) 0}
.form{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-4);max-width:720px}
.form>.row{flex:1 1 100%}

/* Content */
.head{display:flex;align-items:center;gap:var(--space-2)}
.head-between{justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--line)}
.crumb{display:flex;gap:var(--space-1);color:var(--text-3);font-size:14px}
.pair{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:stretch}
.pair>*{flex:1 1 420px}
.list{border-top:1px solid var(--line)}
.list>*{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
.list .dim{opacity:.5}
.defs{padding:0;gap:0}
.defs>div{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-5)}
.defs>div+div{border-top:1px solid var(--line)}
.defs dt{flex:1 1 140px;font-size:14px;font-weight:500}
.defs dd{display:flex;flex:2 1 280px;flex-direction:column;gap:14px;color:var(--text-2);font-size:16px}
.logos{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;gap:var(--space-7);padding-right:var(--space-7)}
.brand-item{display:flex;align-items:center;gap:var(--space-1);white-space:nowrap}
.ico{width:28px;height:28px;flex:none;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none;width:auto}.marquee-group{flex-wrap:wrap;padding-right:0}.marquee-group[aria-hidden]{display:none}}
.matrix{display:grid;grid-template-columns:48px repeat(4,minmax(0,1fr));gap:6px}
.matrix>span{display:flex;align-items:center;justify-content:center;min-height:32px;font-size:14px}
.matrix>.cell{min-height:64px;border-radius:var(--radius-m)}
.matrix .on{outline:3px solid var(--action);outline-offset:2px}
.lv1{background:var(--chip);color:var(--text)}
.lv2{background:var(--lilas);color:var(--encre)}
.lv3{background:var(--petrole);color:var(--blanc)}
.lv4{background:var(--text);color:var(--page)}

/* Navigation */
.announce{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 var(--space-4);background:var(--soleil);color:var(--encre);font-size:14px;font-weight:500}
/* Annonce : une seule ligne. Fixe et centrée ; elle défile quand elle dépasse la largeur disponible (la classe is-running, ajoutée par le script du site). */
.announce .marquee{flex:1;min-width:0;-webkit-mask-image:none;mask-image:none}
.announce .marquee-track{width:100%;justify-content:center;animation:none}
.announce .marquee-group{gap:12px;padding-right:0;white-space:nowrap}
.announce .marquee-group[aria-hidden]{display:none}
.announce.is-running .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.announce.is-running .marquee-track{width:max-content;justify-content:flex-start;animation:marquee 20s linear infinite}
.announce.is-running .marquee-group{padding-right:var(--space-7)}
.announce.is-running .marquee-group[aria-hidden]{display:flex}
@media (prefers-reduced-motion:reduce){.announce.is-running .marquee{-webkit-mask-image:none;mask-image:none}.announce.is-running .marquee-track{width:100%;justify-content:center;animation:none}.announce.is-running .marquee-group{flex-wrap:wrap;justify-content:center;padding-right:0;white-space:normal}.announce.is-running .marquee-group[aria-hidden]{display:none}}
.nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}
.scrim{position:fixed;inset:0;z-index:4}
.nav-scrim{display:none}
.nav-t{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none}
.nav-links{display:flex;gap:var(--space-1);font-size:14px;line-height:20px;font-weight:400}
.nav-links a{padding:6px 12px;border-radius:var(--radius-pill)}
.nav-links .on{background:var(--chip)}
.menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-5);width:min(640px,100%)}
.menu a{display:flex;flex-direction:column;padding:var(--space-1) 0}
.menu .link{grid-column:1/-1;padding-top:var(--space-2);border-top:1px solid var(--line)}
.footer{display:flex;flex-direction:column;gap:var(--space-10);padding:var(--space-7) 0;border-top:1px solid var(--line)}
.footer-cols{display:flex;flex-wrap:wrap;flex:1 1 520px;max-width:640px;gap:var(--space-5)}
.footer-cols>nav{flex:1 1 140px;display:flex;flex-direction:column}
.footer-cols>nav>a{padding:7.5px 0;font-size:16px;line-height:24px}

/* Marque : monogramme et signature en deux variantes, une par thème */
.brand{display:inline-flex;align-items:center;gap:12px}
.logo{display:block;height:36px;width:auto}
.signature{display:block;height:84px;width:auto}
.v-clair{display:none}
[data-theme="clair"] .v-sombre{display:none}
[data-theme="clair"] .v-clair{display:block}
.hero-dark .v-sombre{display:block}
.hero-dark .v-clair{display:none}

/* Écrans étroits : les grilles se replient, les marges latérales se réduisent */
@media (max-width:1024px){.grid-4{--cols:2}.zone-in{padding-inline:var(--space-5)}}
@media (max-width:640px){
.grid,.grid-2,.grid-4{--cols:1}
.zone{padding-block:var(--space-4)}.zone-in{padding-inline:var(--space-4);gap:var(--space-3)}.section{padding:var(--space-4) 0;gap:var(--space-3)}
.hero-full{min-height:max(560px,85svh)}.hero-body{padding-block:60px var(--space-7)}
.hero-sm{min-height:360px}.hero-sm .hero-body{padding-block:var(--space-5)}
.split{gap:var(--space-3)}
.card-lg{--pad:var(--space-4)}.panel{padding:var(--space-4)}
.grid,.pair,.carousel{gap:var(--space-3)}.btn{width:100%}.nav .btn,.btn-pill{width:auto}
.footer{gap:var(--space-5);padding:var(--space-4) 0}.footer-cols{gap:var(--space-3)}
.nav{flex-wrap:wrap}.nav .btn{display:none}.nav-links{display:none}
.nav-burger{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin-left:auto;border:1px solid var(--line-strong);border-radius:var(--radius-m);font-size:20px;cursor:pointer}
.nav-burger::before{content:"☰"}
.nav-t:checked+.nav-burger::before{content:"✕"}
.nav-t:focus-visible+.nav-burger{outline:2px solid var(--text);outline-offset:2px}
.nav-t:checked~.nav-links{display:flex;flex-direction:column;order:3;flex-basis:100%;gap:0}
.nav-t:checked~.nav-links a{padding:12px 0;border-radius:0}
.nav-t:checked~.btn{display:inline-flex;order:4;flex-basis:100%;width:100%}
.nav-t:checked~.nav-scrim{display:block;z-index:-1}
.h1,.stat{font-size:28px;line-height:36px}.h2,.title{font-size:24px;line-height:32px}.h4{font-size:14px;line-height:22px}.lead{font-size:16px;line-height:24px}
}
