.home-intro{padding-bottom:45px}.home-intro .intro-grid,.home-platform .intro-grid,.platform-section .intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.home-intro h2{max-width:570px}.home-solutions{padding-top:45px}.home-more{margin-top:34px;text-align:center}.home-platform{padding-block:72px}.home-news{padding-top:72px}.home-news .section-heading{margin-bottom:30px}.text-link{display:inline-flex;align-items:center;gap:15px;color:var(--green);font-weight:700;font-size:16px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.news-preview-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-preview,.news-card{border-top:2px solid var(--green);padding:24px 0 10px}.news-date{color:var(--green);font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:18px}.news-preview h3,.news-card h3{font-size:25px;line-height:1.15;margin-bottom:15px}.news-preview h3 a:hover,.news-card h3 a:hover{color:var(--green)}.news-preview>p:not(.news-date),.news-card>p:not(.news-date){color:var(--muted);font-size:16px;line-height:1.55;margin-bottom:22px}.news-hero .hero-grid{padding-block:78px}.news-hero h1{max-width:650px}.news-hero-mark{width:250px;height:250px;border:1px solid #cddfda;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);justify-self:end;transform:rotate(8deg)}.news-hero-mark span{font-size:92px;font-weight:700;line-height:1;color:var(--navy);letter-spacing:-.08em}.news-hero-mark small{font-size:12px;letter-spacing:.18em;font-weight:700;margin-top:12px}.news-list{padding-bottom:78px}.news-list .section-heading{margin-bottom:52px}.news-card{min-height:245px}.news-card h3{font-size:28px}.news-page .platform-section{padding-block:72px}@media(max-width:760px){.home-intro .intro-grid,.home-platform .intro-grid,.platform-section .intro-grid{grid-template-columns:1fr;gap:28px}.home-solutions{padding-top:30px}.news-preview-grid,.news-grid{grid-template-columns:1fr;gap:34px}.news-preview,.news-card{min-height:0}.news-hero .hero-grid{padding-block:52px}.news-hero-mark{justify-self:start;width:170px;height:170px}.news-hero-mark span{font-size:62px}.news-page .platform-section{padding-block:54px}}

.home-page .news-preview{padding:26px;border:1px solid var(--line);border-top:3px solid #376dca;border-radius:12px;background:#fff;box-shadow:0 9px 25px rgba(30,65,133,.06)}.home-page .home-intro .editorial,.home-page .home-platform .editorial{max-width:600px}.home-page .home-news{background:#f8faff}.home-page .text-link{color:#2053ad}

/* Journal Trackoe */
.news-page .news-intro{background:linear-gradient(125deg,#e8f3ff,#f9fbff);border-bottom:1px solid #d3e4f7;padding:78px 0 62px}
.news-intro-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.news-intro-inner h1{max-width:760px}
.news-intro-inner>p{font-size:21px;color:var(--muted);max-width:410px;margin-bottom:8px}
.news-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:28px}
.news-heading .eyebrow{margin-bottom:12px}
.news-heading>p{color:var(--muted);max-width:365px}
.news-featured{padding-bottom:50px}
.news-carousel{border:1px solid #bfd2eb;border-radius:20px;overflow:hidden;background:#e8f1ff;box-shadow:0 22px 48px rgba(23,53,110,.13)}
.news-slide{display:grid;grid-template-columns:1.1fr .9fr;min-height:440px;animation:newsEnter .5s ease both}
.news-slide-media{min-width:0;min-height:440px;background:#d9e8fb;overflow:hidden}
.news-slide-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.news-slide:hover .news-slide-media img{transform:scale(1.025)}
.news-slide-content{display:flex;flex-direction:column;justify-content:center;align-items:start;padding:48px 55px;background:linear-gradient(125deg,#f9fcff,#e8f3ff)}
.news-slide-content h3{font-size:clamp(30px,3vw,44px);line-height:1.12;margin:12px 0 19px}
.news-slide-content h3 a:hover{color:#2058b9}
.news-slide-content>p:not(.news-date){color:var(--muted);font-size:18px;line-height:1.55;margin-bottom:27px}
.news-carousel-controls{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid #c5d9f0;background:#fff;gap:14px}
.news-carousel-controls>button{border:1px solid #b7cbea;background:#f4f8ff;color:#214d9b;border-radius:8px;padding:9px 17px;cursor:pointer;font-size:14px;font-weight:700}
.news-carousel-controls>button:hover{background:#dceaff}
.news-carousel-dots{display:flex;align-items:center;gap:9px}
.news-carousel-dots button{width:11px;height:11px;border-radius:50%;border:1px solid #5e88c9;background:#fff;cursor:pointer;padding:0}
.news-carousel-dots button[aria-current=true]{width:27px;border-radius:7px;background:#2c62bd}
.news-recent{background:#f7faff;border-top:1px solid #e0eaf7}
.news-recent .news-grid,.home-news .news-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.news-recent .news-card,.home-news .news-preview{padding:0;min-height:0;border:1px solid #d5e1f2;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(24,53,111,.08);transition:transform .25s ease,box-shadow .25s ease}
.news-recent .news-card:hover,.home-news .news-preview:hover{transform:translateY(-4px);box-shadow:0 19px 36px rgba(24,53,111,.13)}
.news-card-media{display:block;aspect-ratio:16/10;background:#dceafd;overflow:hidden;border-bottom:1px solid #d6e1f1}
.news-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.news-card:hover .news-card-media img,.news-preview:hover .news-card-media img{transform:scale(1.04)}
.news-card-body{padding:24px 25px 29px}
.news-card-body .news-date{margin-bottom:14px}
.news-card-body h3{font-size:24px;line-height:1.18;min-height:58px;margin:0 0 14px}
.news-card-body>p:not(.news-date){color:var(--muted);font-size:16px;line-height:1.55;margin:0 0 18px}
.news-card-body .text-link{color:#1f56b7}
.news-article-header{background:linear-gradient(135deg,#e8f3ff,#f9fbff);border-bottom:1px solid #d3e4f7;padding:68px 0 72px}
.news-article-header-inner{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.news-article-heading .back-link{margin-bottom:32px}
.news-article-heading h1{font-size:clamp(39px,4.3vw,66px);line-height:1.08}
.news-article-heading .lead{font-size:19px}
.news-article-cover{margin:0;overflow:hidden;border:1px solid #bcd1eb;border-radius:18px;background:#dceafa;box-shadow:0 24px 48px rgba(17,45,106,.16)}
.news-article-cover img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s ease}
.news-article-cover:hover img{transform:scale(1.025)}
.news-article-layout{display:grid;grid-template-columns:190px minmax(0,760px);gap:85px;padding-top:70px;padding-bottom:95px}
.news-article-side{position:sticky;top:135px;align-self:start;border-left:3px solid #73a3db;padding-left:21px;font-size:16px;color:var(--muted)}
.news-article-side .eyebrow{margin-bottom:8px}
.news-article-side time{color:var(--navy);font-weight:700}
.news-side-line{height:1px;background:#cbdcf1;margin:24px 0}
.news-article-side a{color:#1f56b7;text-decoration:underline;text-underline-offset:4px}
.news-article-body{font-size:19px;line-height:1.76;color:var(--navy)}
.news-article-body p{margin:0 0 24px;color:#33435e;max-width:70ch}
.news-article-body h2,.news-article-body h3{margin:45px 0 17px;line-height:1.2}
.news-article-body h2{font-size:34px}.news-article-body h3{font-size:26px}
.news-article-body .spip_documents{max-width:100%;margin:30px 18px 30px 0;border:1px solid #d6e2f2;border-radius:12px;overflow:hidden;box-shadow:0 12px 26px rgba(24,53,111,.08)}
.news-article-body .spip_documents img{max-width:100%;height:auto}
.news-article-body hr{border:0;border-top:1px solid #d5e2f2;margin:35px 0}
.news-article-body a{color:#1f56b7;text-decoration:underline;text-underline-offset:4px}
.news-article-end{background:#ecf5ff;border-top:1px solid #cfe0f3;padding:65px 0}
.news-article-end h2{margin-bottom:26px}
@keyframes newsEnter{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.news-slide{grid-template-columns:1fr 1fr}.news-slide-content{padding:35px}.news-article-layout{gap:40px}.news-recent .news-grid,.home-news .news-preview-grid{gap:16px}}
@media(max-width:760px){.news-intro{padding:55px 0 45px}.news-intro-inner,.news-article-header-inner,.news-slide{grid-template-columns:1fr;gap:25px}.news-intro-inner>p{font-size:18px}.news-heading{display:block}.news-heading>p{margin-top:17px}.news-slide-media{min-height:0;aspect-ratio:16/9}.news-slide-content{padding:30px;min-height:265px}.news-recent .news-grid,.home-news .news-preview-grid{grid-template-columns:1fr}.news-card-body h3{min-height:0}.news-article-header{padding:50px 0}.news-article-cover img{aspect-ratio:16/10}.news-article-layout{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:60px}.news-article-side{position:static}.news-article-body{font-size:18px}}
@media(max-width:480px){.news-slide-content{padding:24px}.news-carousel-controls{padding:12px}.news-carousel-controls>button{padding:8px 10px;font-size:13px}.news-article-heading h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.news-slide{animation:none}.news-slide:hover .news-slide-media img,.news-card:hover .news-card-media img,.news-article-cover:hover img{transform:none}}

.news-slide-media img,.news-card-media img,.news-article-cover img{object-fit:contain;background:#d9e9fc;padding:20px}.news-article-cover figcaption{padding:10px 20px;background:#fff;color:#596c8b;font-size:13px;border-top:1px solid #d6e2f3}

.home-platform{padding:90px 0;background:#fff;border-block:1px solid #e2e9f3}
.platform-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.platform-visual{position:relative;min-height:360px;display:grid;place-items:center;padding:28px;border:1px solid #d2e0f2;border-radius:22px;background:radial-gradient(circle at 58% 38%,#e1eeff 0,#f7f9fd 60%,#e9eef8 100%);box-shadow:0 22px 45px rgba(27,58,114,.12);overflow:hidden}
.platform-visual img{width:100%;max-height:315px;object-fit:contain;filter:drop-shadow(0 18px 15px #142e632b);transition:transform .55s}
.platform-visual:hover img{transform:translateY(-5px) scale(1.025)}
.platform-visual-note{position:absolute;left:20px;bottom:20px;background:#fff;border:1px solid #d6e3f2;border-radius:8px;padding:8px 13px;font-size:13px;color:#2455aa;font-weight:700;box-shadow:0 7px 19px #1b3a7222}
.platform-copy h2{max-width:590px}.platform-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin-top:25px;max-width:56ch}
.platform-points{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 27px}
.platform-points span{border:1px solid #cadcf2;border-radius:8px;background:#f1f6ff;color:#2759ae;padding:8px 11px;font-size:13px;font-weight:700}
.home-news{background:#f8f9fc}
.news-recent .news-card,.home-news .news-preview{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,border-color .32s}
.news-recent .news-card:hover,.news-recent .news-card:focus-within,.home-news .news-preview:hover,.home-news .news-preview:focus-within{transform:translateY(-7px);border-color:#a6c4ed;box-shadow:0 23px 40px rgba(24,53,111,.16)}
.news-card-body .text-link:focus-visible{outline-offset:3px}
@media(max-width:760px){.home-platform{padding:60px 0}.platform-layout{grid-template-columns:1fr;gap:35px}.platform-visual{min-height:260px}.platform-visual img{max-height:240px}}
@media(prefers-reduced-motion:reduce){.platform-visual:hover img,.news-recent .news-card:hover,.home-news .news-preview:hover{transform:none}}

/* Le bouton n’est pas un paragraphe : aucune largeur maximale de texte ne décale son centre. */
.home-page .home-more{width:100%;max-width:none;display:flex;justify-content:center;margin-inline:auto}

/* En-tête Actualité : les trois liens sont fournis par la boucle SPIP du gabarit. */
.news-page .news-intro{position:relative;overflow:hidden;padding:92px 0;background:linear-gradient(125deg,#112755 0%,#183e83 70%,#2355a8 100%);color:#fff;border-bottom:0}
.news-page .news-intro:before{content:'';position:absolute;width:550px;height:550px;right:-150px;top:-250px;border:1px solid #ffffff30;border-radius:50%;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff08;pointer-events:none}
.news-page .news-intro-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);gap:75px;align-items:center}
.news-page .news-intro-copy .eyebrow{color:#b9d3ff;margin-bottom:25px}
.news-page .news-intro-copy .status-dot{background:#90c2ff}
.news-page .news-intro h1{font-size:clamp(46px,5vw,72px);line-height:1.02;max-width:680px}
.news-page .news-intro h1 em{font-style:normal;color:#a9caff}
.news-page .news-intro-lead{max-width:510px;color:#dce8fb;font-size:20px;line-height:1.55;margin-top:27px}
.news-page .news-intro-link{display:inline-flex;margin-top:31px;padding:11px 0;border-bottom:2px solid #92c3ff;color:#fff;font-size:16px;font-weight:700}
.news-page .news-intro-link:hover{color:#bdd8ff}
.news-intro-panel{position:relative;padding:16px 27px 8px;border:1px solid #93b1e477;border-radius:17px;background:#ffffff12;box-shadow:0 24px 45px #07163352;backdrop-filter:blur(8px)}
.news-intro-panel-head{display:flex;justify-content:space-between;gap:20px;padding:8px 0 15px;border-bottom:1px solid #b9cff15c;color:#c5ddff;font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.news-intro-panel-head strong{color:#fff;white-space:nowrap}
.news-intro-item{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #b9cff13d;transition:padding-left .25s,background .25s}
.news-intro-item:last-child{border-bottom:0}
.news-intro-item:hover,.news-intro-item:focus-visible{padding-left:7px;background:#ffffff10}
.news-intro-item time{font-size:12px;color:#a9caff;font-weight:700;line-height:1.3;text-transform:uppercase}
.news-intro-item span{font-size:17px;line-height:1.3;font-weight:700}
/* Logos clients : piste continue en trois colonnes ; une ou deux cartes restent centrées. */
.client-section{padding:84px 0 94px;background:#fff;border-top:1px solid #e1e9f5}
.client-section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}
.client-section-head h2{max-width:600px}
.client-section-head>p{max-width:360px;color:var(--muted);font-size:17px}
.client-marquee{overflow:hidden;border:1px solid #d8e3f2;border-radius:18px;background:#f8fbff;padding:20px 0}
.client-marquee-track{display:flex;width:max-content}
.client-marquee-group{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:20px;padding:0 10px}
.client-marquee[data-count="1"] .client-marquee-group,.client-marquee[data-count="2"] .client-marquee-group{display:flex;justify-content:center}
.client-marquee.is-moving .client-marquee-track{animation:clientMarquee 28s linear infinite}
.client-marquee.is-paused .client-marquee-track{animation-play-state:paused}
.client-logo{min-height:160px;display:grid;place-items:center;padding:22px 30px;border:1px solid #d8e3f2;border-radius:16px;background:#fff;box-shadow:0 10px 25px #1a3d7c0c;transition:transform .3s,box-shadow .3s,border-color .3s}
.client-logo:hover{transform:translateY(-5px);border-color:#a6c4eb;box-shadow:0 20px 35px #1a3d7c20}
.client-logo img{max-width:100%;max-height:105px;object-fit:contain;filter:grayscale(1);transition:filter .3s,transform .3s}
.client-logo:hover img{filter:grayscale(0);transform:scale(1.03)}
.client-motion-note{margin:15px 0 0;text-align:center;color:#6b7f9e;font-size:13px}
@keyframes clientMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.client-section{padding:60px 0}.client-section-head{display:block}.client-section-head>p{margin-top:18px}.client-marquee-group{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.client-logo{min-height:140px;padding:16px}.client-marquee[data-count="1"] .client-marquee-group,.client-marquee[data-count="2"] .client-marquee-group{display:flex;justify-content:center}}
@media(prefers-reduced-motion:reduce){.client-logo:hover,.client-logo:hover img{transform:none}.client-marquee.is-moving .client-marquee-track{animation:none}}

/* Carrousel des modules dans le Hero : la mise en page du composant est conservée,
   seuls l’image centrale, le nom de l’encadré et leur destination changent. */
.trackoe .hero-carousel{--hero-slide-height:300px}
.trackoe .hero-slides{position:relative;width:min(100%,520px);height:var(--hero-slide-height);overflow:hidden;border:1px solid #d5e2f3;border-radius:18px;background:#edf4ff;box-shadow:0 22px 48px rgba(24,53,111,.16)}
.trackoe .hero-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .3s ease}
.trackoe .hero-slide.is-active{opacity:1;visibility:visible}
.trackoe .hero-slide .product-hero{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:none;filter:none;padding:12px}

.trackoe .hero-slide:focus-visible{outline:3px solid #245bc3;outline-offset:6px;border-radius:12px}
.trackoe .hero-caption-link{color:#2053ad;font-weight:700;text-decoration:none}
.trackoe .hero-caption-link:hover{text-decoration:underline;text-underline-offset:4px}
.trackoe .visual-caption>.hero-controls:last-child{display:flex;align-items:center;gap:5px;margin-left:22px;color:inherit}
.trackoe .hero-arrow{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #cfdcf0;border-radius:7px;background:#f4f8ff;color:#2053ad;font-size:17px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.trackoe .hero-arrow:hover{background:#e2ecff;border-color:#9bbcec}
.trackoe .hero-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px}
.trackoe .hero-dots button{width:8px;height:8px;padding:0;border:1px solid #8fb0e0;border-radius:50%;background:#fff;cursor:pointer;transition:width .25s,background .25s}
.trackoe .hero-dots button[aria-current=true]{width:20px;border-radius:5px;background:#2c62bd;border-color:#2c62bd}
.trackoe .hero-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1050px){.trackoe .hero-carousel{--hero-slide-height:250px}}
@media(max-width:760px){
  .trackoe .hero-carousel{--hero-slide-height:215px}
  .trackoe .hero-slide .product-hero{max-height:none}
  .trackoe .visual-caption>.hero-controls:last-child{margin-left:auto;gap:4px}
  .trackoe .hero-caption-link{min-width:0}
  .trackoe .hero-dots{gap:5px}
  .trackoe .hero-dots button{width:7px;height:7px}
  .trackoe .hero-dots button[aria-current=true]{width:16px}
}
@media(prefers-reduced-motion:reduce){.trackoe .hero-slide{transition:none}}

/* L’image pivotée déborde de sa zone : elle ne doit pas capter les clics de l’encadré. */
.trackoe .hero-carousel .product-hero{pointer-events:none}
.trackoe .hero-carousel .visual-caption{position:relative;z-index:2}
.trackoe .hero-carousel .hero-dots{position:relative;z-index:2}
