/* ==========================================================================
   SYNCXELL — composants du guide de correction v4 (octobre 2026)
   Blocs partagés générés par service/site.php. Chaque agent de page ajoute
   ses règles propres dans une section balisée « === <page> === » en fin de
   fichier, sans modifier les sections des autres.
   ========================================================================== */

.sx-cta-buttons { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 8px; }
.sx-cta-buttons .prt-btn { margin:0 !important; }

.sx-who-we-serve { margin:24px 0 0; padding:16px 20px; border-left:3px solid var(--sx-gold); background:var(--sx-gray-light); line-height:1.8; }
.sx-who-we-serve a { color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }

.sx-frameworks { margin:28px 0; }
.sx-frameworks-list { line-height:1.9; color:var(--sx-text); }
.sx-attestation { font-size:.9rem; font-style:italic; color:var(--sx-gray); margin-top:8px; }

.sx-related-services { margin:32px 0 0; padding-top:20px; border-top:1px solid #e5e7eb; }
.sx-related-services a { color:var(--sx-blue); font-weight:600; }

.sx-faq { margin:40px 0 0; }
.sx-faq-title { font-size:1.6rem; margin-bottom:16px; }
.sx-faq-item { border:1px solid #e5e7eb; border-radius:8px; margin-bottom:10px; background:#fff; }
.sx-faq-item summary { cursor:pointer; padding:14px 18px; font-weight:600; color:var(--sx-blue); list-style:none; min-height:44px; }
.sx-faq-item summary::-webkit-details-marker { display:none; }
.sx-faq-item summary::after { content:'+'; float:right; font-weight:700; }
.sx-faq-item[open] summary::after { content:'–'; }
.sx-faq-item summary:focus-visible { outline:2px solid var(--sx-gold); outline-offset:2px; }
.sx-faq-answer { padding:0 18px 16px; }

.sx-facts-bar { display:flex; flex-wrap:wrap; gap:8px 24px; padding:12px 16px; margin:0 0 16px; background:var(--sx-gray-light); border-radius:6px; font-size:.9rem; }
.sx-facts-bar strong { color:var(--sx-blue); }

.sx-notice { font-size:.85rem; color:var(--sx-gray); margin-top:6px; }

/* === past performance & case studies === */
/* Past Performance (D.35) */
.sx-pp-disclaimer { border-left:4px solid var(--sx-gold); padding:22px 26px; background:var(--sx-gray-light); margin-bottom:40px; }
.sx-pp-disclaimer a, .sx-pp-more a, .sx-pp-contracts a { color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-pp-project { margin-bottom:40px; padding-bottom:32px; border-bottom:1px solid #e5e7eb; }
.sx-pp-project-title { font-size:1.6rem; margin-bottom:12px; }
.sx-pp-subtitle { font-size:1.15rem; margin-top:20px; }
.sx-pp-kp-line { color:var(--sx-gray); margin-bottom:8px; }
.sx-pp-more { margin-top:12px; font-weight:600; }
.sx-pp-contracts { margin-top:16px; }
.sx-pp-contracts h2 { font-size:1.6rem; }
.sx-pp-contract-list { list-style:none; padding:0; }
.sx-pp-contract-list li { margin-bottom:16px; }
.sx-pp-contract-list .sx-facts-bar { margin-top:8px; }
.sx-pp-cta h2.sx-pp-cta-title { color:#fff; font-size:1.6rem; }
.sx-pp-cta p { color:rgba(255,255,255,.85); }
.sx-pp-cta p a { color:#fff; text-decoration:underline; }

/* Case Studies index (D.36) */
.sx-cs-intro { margin:12px 0 0; max-width:760px; color:inherit; font-size:1.05rem; }
.sx-cs-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 20px; }
.sx-cs-filter button { min-height:44px; padding:8px 18px; border:1px solid var(--sx-blue); border-radius:999px; background:#fff; color:var(--sx-blue); font-weight:600; cursor:pointer; }
.sx-cs-filter button[aria-pressed="true"] { background:var(--sx-blue); color:#fff; }
.sx-cs-filter button:focus-visible { outline:2px solid var(--sx-gold); outline-offset:2px; }
.sx-cs-count { text-align:center; color:var(--sx-gray); font-size:.9rem; margin-bottom:24px; }
.sx-cs-card { height:100%; display:flex; flex-direction:column; background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; }
.sx-cs-card-img img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.sx-cs-card-body { display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.sx-cs-card-sector { margin:0 0 6px; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--sx-gold); }
.sx-cs-card-title { font-size:1.2rem; line-height:1.35; margin:0 0 10px; }
.sx-cs-card-title a { color:var(--sx-blue); }
.sx-cs-card-result { margin:0 0 16px; color:var(--sx-text); }
.sx-cs-card-link { margin-top:auto; font-weight:600; color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-cs-pp-link { text-align:center; margin-top:10px; }
.sx-cs-pp-link a { color:var(--sx-blue); text-decoration:underline; }
.sx-cs-empty { padding:60px 0; }
.sx-cs-index .sx-cta-buttons { justify-content:center; }

/* Case study detail (D.37–D.39) */
.sx-csd-cover { width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.sx-csd-kp-line { color:var(--sx-gray); }
.sx-csd-list { padding-left:20px; }
.sx-csd-list li { margin-bottom:6px; }
.sx-csd-ctas { display:flex; flex-wrap:wrap; gap:12px; }
.sx-csd-ctas .prt-btn { margin:0 !important; }
.sx-csd-related a, .sx-csd-capability a { font-weight:600; color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-csd-facts { margin:40px 0 0; padding:24px; background:#fff; border-radius:12px; }
.sx-csd-facts > div { padding:12px 0; border-bottom:1px solid #e5e7eb; }
.sx-csd-facts > div:last-child { border-bottom:0; }
.sx-csd-facts dt { font-size:.85rem; font-weight:500; color:var(--sx-gray); }
.sx-csd-facts dd { margin:2px 0 0; font-size:1.05rem; font-weight:600; color:var(--sx-blue); }
.sx-csd-facts dd a { color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
@media (max-width: 991px) { .sx-csd-facts { margin-top:24px; } }
.sx-pp-cta .prt-btn-style-border { color:#fff !important; border-color:#fff !important; }
.sx-pp-cta .sx-cta-buttons { justify-content:center; }

/* === service pages, gov hub, enterprise === */
/* Pages service et sous-service */
.sx-svc .sx-svc-h2 { font-size:1.5rem; line-height:1.3; margin:0 0 14px; }
.sx-svc .sx-svc-subhead { font-size:1.15rem; margin:20px 0 10px; }
.sx-svc-tagline { font-size:1.1rem; font-style:italic; color:var(--sx-text); margin:0 0 20px; }
.sx-svc-hero { width:100%; height:auto; aspect-ratio:1200 / 630; object-fit:cover; }
.sx-svc-card { height:100%; padding:24px; border:1px solid #e5e7eb; border-radius:8px; background:#fff; transition:border-color .2s; }
.sx-svc-card:hover, .sx-svc-card:focus-within { border-color:var(--sx-gold); }
.sx-svc-card-title { font-size:1.1rem; margin:0 0 8px; }
.sx-svc-card-title a { color:var(--sx-blue); }
.sx-svc-card-title a:hover, .sx-svc-card-title a:focus-visible { color:var(--sx-gold); text-decoration:underline; }
.sx-svc-card-text { font-size:.95rem; color:var(--sx-gray); margin-bottom:12px; }
.sx-svc-card-list { margin:0; padding:0; }
.sx-svc-card-list li { font-size:.9rem; }
.sx-svc-tech { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.sx-svc-tech li { padding:4px 12px; border:1px solid #d1d5db; border-radius:999px; font-size:.9rem; background:var(--sx-gray-light); }
.sx-svc .sx-related-services h3 { font-size:1.15rem; margin-bottom:8px; }
.sidebar-right .widget-title-style01 { font-size:1.35rem; }
.sx-svc-banner-text { color:#fff; margin:8px 0 14px; }

/* Government Hub */
.sx-gh-hero img { width:100%; height:auto; aspect-ratio:505 / 524; object-fit:cover; }
.sx-gh-frameworks { margin:0; padding:0; }
.cta-section-style02 .featured-iconbox-style02 .sx-gh-fw-name { font-size:20px; line-height:30px; font-weight:500; margin:0; color:#fff; }
.sx-gh-attestation { position:relative; z-index:2; margin:24px 0 0; font-size:.9rem; font-style:italic; color:rgba(255,255,255,.85); }
.sx-gh-capability { border-left:4px solid var(--sx-gold); padding:20px 24px; background:var(--sx-gray-light); margin-bottom:26px; }
.sx-gh-list { list-style:none; margin:0; padding:0; }
.sx-gh-list li { position:relative; padding-left:30px; margin-bottom:12px; }
.sx-gh-list li::before { content:'\2713'; position:absolute; left:0; top:0; font-weight:700; color:var(--sx-gold); }
.sx-gh-codes { margin-top:28px; }
.sx-gh-codes h3 { font-size:1.25rem; margin-bottom:12px; }
.sx-gh-codes-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.sx-gh-codes-table th, .sx-gh-codes-table td { padding:7px 10px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
.sx-gh-codes-table thead th { color:var(--sx-blue); border-bottom:2px solid var(--sx-blue); }
.sx-gh-codes-table tbody th[scope="row"] { white-space:nowrap; font-weight:600; color:var(--sx-blue); }
.sx-gh-codes-group th { background:var(--sx-gray-light); font-weight:700; color:var(--sx-text); }
.sx-gh-primary { font-weight:400; color:var(--sx-gray); font-size:.85em; }
.sx-gh-tablist { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.sx-gh-tab { min-height:44px; padding:8px 18px; border:1px solid var(--sx-blue); border-radius:999px; background:#fff; color:var(--sx-blue); font-weight:600; cursor:pointer; }
.sx-gh-tab[aria-selected="true"] { background:var(--sx-blue); color:#fff; }
.sx-gh-tab:focus-visible, .sx-gh-panel:focus-visible { outline:2px solid var(--sx-gold); outline-offset:2px; }
.sx-gh-panel + .sx-gh-panel { margin-top:28px; }
.sx-gh-panel-title { font-size:1.2rem; margin-bottom:12px; }
.sx-gh-panel .sx-faq { margin-top:0; }

/* Enterprise & Compliance */
.sx-ent-compliance { font-size:.92rem; color:var(--sx-text); }
.sx-ent-more a { font-weight:600; color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-ent-block { height:100%; padding:28px; background:#fff; border-radius:8px; border-top:3px solid var(--sx-gold); }
.sx-ent-block h2 { font-size:1.5rem; margin-bottom:10px; }
.sx-ent-cta h2 { color:#fff; font-size:1.6rem; }
.sx-ent-cta p { color:rgba(255,255,255,.85); }
.sx-ent-cta .sx-cta-buttons { justify-content:center; }
.sx-ent-cta .prt-btn-style-border { color:#fff !important; border-color:#fff !important; }

/* === home/about/services === */
/* Hero (D.1) : bandeau visuel en texte, H1 unique en dessous */
.home-page .hero-section .hero-slide.slide-1 { background-image:linear-gradient(rgba(13,21,32,.62),rgba(13,21,32,.62)),url('../images/pages/home-hero.webp'); }
.home-page .hero-section .hero-slide.slide-2 { background-image:linear-gradient(rgba(13,21,32,.6),rgba(13,21,32,.6)),url('../images/pages/home-feature-cloud.webp'); }
.home-page .hero-section .hero-slide.slide-3 { background-image:linear-gradient(rgba(13,21,32,.6),rgba(13,21,32,.6)),url('../images/pages/home-feature-data.webp'); }
.home-page .sx-eyebrow { font-family:'Inter',sans-serif; font-size:.9rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--sx-gold) !important; margin:0 0 8px; }
.home-page .hero-section .section-title .sx-hero-tagline { font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(2.1rem,6.2vw,86px); line-height:1.08; margin:0 0 14px; }
.home-page .hero-section .sx-home-h1 { font-family:'Inter',sans-serif; font-size:clamp(1.15rem,2.2vw,1.6rem); line-height:1.35; font-weight:600; color:#fff; margin:0 0 16px; }
.home-page .sx-hero-body { font-size:15px; line-height:1.6; letter-spacing:.3px; opacity:.88; }
.home-page .sx-hero-tech { font-size:13px; font-weight:500; line-height:1.5; letter-spacing:.6px; opacity:.7; }
.home-page .sx-hero-textlink { margin:14px 0 0; }
.home-page .sx-hero-textlink a { color:#fff; text-decoration:underline; text-underline-offset:3px; font-size:.95rem; }
.home-page .hero-section .prt-btn-waprre .sx-btn-ghost { background-color:transparent !important; border-color:#fff !important; }
.home-page .sx-hero-line2 { display:block; }

/* About (home) */
.sx-home-about-img img, .sx-about-img img { width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.sx-location-line { font-weight:600; color:var(--sx-blue); }

/* Cartes de services (Home, Solutions) */
.sx-service-card { height:calc(100% - 30px); }
.sx-service-card .service-imagebox img { width:64px; height:64px; }
.sx-service-card .service-title h3 { font-size:1.15rem; line-height:1.35; }
.sx-service-card .prt-bottom-buttonbox a { font-weight:600; }
.sx-card-grid { row-gap:30px; }
.sx-widget-line { font-size:1.15rem; font-weight:600; color:var(--sx-blue); }
.sx-widget-line a { color:var(--sx-gold); text-decoration:underline; }
.sx-more-services-title { font-size:1.8rem; margin:50px 0 30px; }
.sx-services-intro p { max-width:860px; margin:16px auto 0; }

/* Bandeau de chiffres (B.5) — valeurs en <p>, plus de faux titres */
.sx-stats-section { padding:70px 0; }
.prt-fid.style3 .prt-fid-contents .sx-stat-value { margin:0; font-family:"Inter Tight",sans-serif; }
.prt-fid.style3 .prt-fid-contents .sx-stat-value span { color:#001746; font-size:54px; font-weight:600; line-height:60px; }
.prt-fid.style3 .prt-fid-contents .sx-stat-label { margin:0; padding-top:5px; color:#001746; font-size:18px; line-height:26px; }
.sx-stat-note { font-size:.8rem; color:var(--sx-gray); }

/* Frameworks & platforms (B.6) — texte simple */
.sx-platforms-title { color:#fff; font-size:1.25rem; font-family:'Inter',sans-serif; margin-bottom:10px; }
.sx-platforms-list { color:rgba(255,255,255,.85); line-height:1.9; margin:0; }

/* Why agencies and businesses choose SYNCXELL (D.1 ligne 39) */
.sx-why-section { padding:70px 0 40px; }
.sx-why-section .section-title .title { font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:30px; }
.sx-why-tile { height:calc(100% - 24px); margin-bottom:24px; padding:24px 22px; border-top:3px solid var(--sx-gold); background:var(--sx-gray-light); border-radius:10px; }
.sx-why-tile h3 { font-size:1.1rem; margin-bottom:8px; }
.sx-why-tile p { margin:0; }

/* Énoncé du modèle de delivery (B.6 ligne 2) */
.sx-delivery-model { max-width:900px; margin:0 auto 40px; padding:22px 26px; border-left:4px solid var(--sx-gold); background:var(--sx-gray-light); border-radius:6px; font-size:1.05rem; }
.sx-delivery-model-label { margin:0 0 6px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; font-size:.8rem; color:var(--sx-gold); }

/* Secteurs liés (D.1 ligne 25) */
.sx-sector-list { list-style:none; padding:0; }
.sx-sector-link { display:block; padding:10px 0 10px 14px; font-size:.82rem; font-weight:600; color:#fff; line-height:1.3; border-left:2px solid var(--sx-gold); }
.sx-sector-link:hover, .sx-sector-link:focus { color:var(--sx-gold); text-decoration:underline; }

/* Bandeau affiché une seule fois (D.1 ligne 30, D.2 ligne 8) */
.sx-banner-strip { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 32px; padding:22px 0; margin:0; color:#fff; font-weight:600; font-size:1.1rem; text-align:center; }
.sx-banner-strip--list { display:block; line-height:1.8; }
.sx-banner-lead { font-family:'Inter',sans-serif; font-size:1.4rem; }
.sx-banner-btn { padding:8px 20px; border:2px solid #fff; border-radius:30px; color:#fff; }
.sx-banner-btn:hover, .sx-banner-btn:focus { background:#fff; color:var(--sx-gold); }

/* Case studies + insights (Home) */
.sx-cs-result { color:rgba(255,255,255,.9); font-size:.95rem; margin:8px 0 0; }
.sx-text-link { font-weight:600; color:var(--sx-blue); text-decoration:underline; }

/* Technology & Frameworks (D.1 ligne 34) */
.sx-tech-card { background:var(--sx-gray-light); padding:26px 24px; border-radius:12px; }
.sx-tech-card .featured-title h3 { font-size:1.05rem; }
.sx-tech-list { margin:12px 0 0; padding:0; list-style:none; }
.sx-tech-list li { padding:3px 0; font-size:14px; color:#4b5563; }

/* Partenaire (D.1 lignes 35–37) */
.home-page .sx-home-partner { background-image:linear-gradient(rgba(13,21,32,.78),rgba(13,21,32,.78)),url('../images/pages/home-partner.webp') !important; background-size:cover; background-position:center; }
.sx-home-partner .prt-featured-content .prt-featured-title h3 { color:#fff; font-size:20px; line-height:25px; font-weight:500; margin:0; }

/* FAQ + CTA de fin de page */
.sx-home-faq { padding:70px 0; }
.sx-cta-on-dark .prt-btn-style-border { color:#fff !important; border-color:#fff !important; }

/* About (D.2) */
.about-page .about-section-02 .prt-featured-title.style1 h4 { font-size:20px; line-height:25px; font-weight:500; margin-bottom:8px; }
.about-page .prt-pricing-plan .prt-p_table-head .prt-p_table-title h4 { font-size:16px; line-height:26px; font-weight:400; color:#afafaf; margin:0; text-align:center; }
.about-page .sx-why-text { color:rgba(255,255,255,.85); margin:8px 0 0; }
.about-page .sx-attestation { margin-top:24px; }
.sx-about-card { padding:30px; background:#fff; border-radius:12px; box-shadow:0 2px 14px rgba(0,23,70,.08); }
.sx-about-card h2 { font-size:1.6rem; margin-bottom:12px; }
.sx-about-card h3 { font-size:1.1rem; color:var(--sx-gold); margin-bottom:10px; }
.sx-company-facts h2 { font-size:1.8rem; margin-bottom:18px; }
.sx-facts-table { width:100%; border-collapse:collapse; }
.sx-facts-table th, .sx-facts-table td { padding:12px 14px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
.sx-facts-table thead th { background:var(--sx-blue); color:#fff; }
.sx-facts-table tbody th { width:32%; color:var(--sx-blue); font-weight:600; }
.sx-facts-table a { color:var(--sx-blue); text-decoration:underline; }

/* Solutions (D.3) — « How you can buy » */
.sx-how-to-buy { padding:28px 0; text-align:center; }

@media (max-width:767px) {
  .sx-facts-table tbody th { width:auto; }
  .sx-facts-table th, .sx-facts-table td { padding:10px 8px; font-size:.92rem; }
  .sx-banner-strip { font-size:1rem; gap:8px 18px; }
}
.sx-visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* === contact, rfq, legal, blog === */

/* Contact (D.44) */
.sx-contact-subheading { font-size:1.35rem; color:#fff; margin:10px 0 4px; font-weight:500; }
.sx-contact-location { color:rgba(255,255,255,.8); margin:0; }
.sx-contact-form label { display:block; color:#fff; font-weight:500; font-size:.92rem; margin:0 0 6px; }
.sx-contact-form .sx-form-required-note { color:rgba(255,255,255,.7); font-size:.85rem; margin:-6px 0 16px; }
.sx-contact-form select { width:100%; min-height:48px; padding:10px 14px; border-radius:6px; border:1px solid rgba(255,255,255,.35); background:#fff; color:#1f2937; }
.sx-contact-form select:focus-visible, .sx-contact-form input:focus-visible, .sx-contact-form textarea:focus-visible { outline:2px solid var(--sx-gold); outline-offset:2px; }
.sx-contact-form .sx-contact-check { margin-bottom:15px; }
.sx-contact-form .rfq-consent-label { display:flex; gap:10px; align-items:flex-start; font-weight:400; }
.sx-contact-form .rfq-consent-label input { margin-top:4px; min-width:18px; min-height:18px; }
.sx-contact-form .rfq-consent-label a { color:#fff; text-decoration:underline; }
.sx-contact-form #contact-alert { margin-bottom:15px; }
.sx-contact-response { font-size:13px; color:rgba(255,255,255,.75); }
.sx-contact-card-wrap { margin-bottom:10px; }
.sx-contact-card { border:1px solid rgba(255,255,255,.65) !important; border-radius:8px; padding:16px 18px !important; }
.sx-contact-card:hover { border-color:#fff !important; }
.sx-contact-card a { word-break:break-word; }
.sx-contact-subject { font-size:.85rem; margin:8px 0 0; opacity:.9; }
.faq-section .sx-faq { margin-top:0; }
.faq-section .sx-faq-title { text-align:center; }
.sx-contact-cta { justify-content:center; }

/* Request a Quote (D.45) */
.sx-rfq-h2 { font-size:1.5rem; }
.sx-rfq-set-aside { margin-top:12px; }
.sx-quote-area { height:calc(100% - 20px); }
.sx-quote-area h3 { font-size:1.1rem; }
.rfq-page .sx-contact-card { border-color:#e5e7eb !important; }
.sx-rfq-capability { margin-top:6px; }
.sx-rfq-capability .prt-btn { width:100%; text-align:center; }

/* Blog index & article (D.40 – D.43) */
.sx-blog-intro { max-width:760px; margin:14px 0 0; color:rgba(255,255,255,.88); font-size:1.05rem; line-height:1.6; }
.sx-blog-card .featured-thumbnail img { aspect-ratio:1200/630; object-fit:cover; width:100%; height:auto; }
.sx-blog-card-title { font-size:1.45rem; line-height:1.3; margin:0; }
.sx-blog-card-title a { color:inherit; }
.sx-blog-meta .prt-meta-line + .prt-meta-line::before { content:'·'; margin:0 8px; }
.sx-blog-empty { padding:60px 0; }
.sx-blog-filter-status a { text-decoration:underline; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.widget-categories li.active > a, .tag-cloud-link.active { font-weight:700; }
.tag-cloud-link.active { background:var(--sx-blue); color:#fff !important; }
.sx-recent-thumb { aspect-ratio:1200/630; object-fit:cover; }
.prt-recent-post-list li.sx-no-thumb .post-detail { padding-left:0; margin-left:0; }
.sx-crumb-current { display:inline-block; max-width:42ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:bottom; }

.sx-blog-byline { margin:0 0 24px; color:var(--sx-gray); font-size:.95rem; }
.sx-blog-byline .sx-blog-cat { color:var(--sx-blue); font-weight:600; }
.sx-blog-updated { font-size:.88rem; font-style:italic; }
.sx-blog-body { line-height:1.75; }
.sx-blog-body h2 { font-size:1.6rem; margin:34px 0 12px; }
.sx-blog-body h3 { font-size:1.25rem; margin:26px 0 10px; }
.sx-blog-body a { color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-blog-body ul, .sx-blog-body ol { padding-left:1.4em; margin-bottom:1em; }
.sx-blog-body li { margin-bottom:.35em; }
.sx-blog-body table { width:100%; border-collapse:collapse; margin:20px 0; font-size:.95rem; display:block; overflow-x:auto; }
.sx-blog-body th, .sx-blog-body td { border:1px solid #e5e7eb; padding:8px 12px; text-align:left; vertical-align:top; }
.sx-blog-body th { background:var(--sx-gray-light); }
.sx-blog-body blockquote { border-left:3px solid var(--sx-gold); padding:8px 16px; margin:20px 0; background:var(--sx-gray-light); }
.sx-blog-body img { max-width:100%; height:auto; }
/* Encadré d'appel rédigé dans le contenu Strapi : <div class="sx-cta-box"> … </div> (ou .cta-box / aside) */
.sx-blog-body .sx-cta-box, .sx-blog-body .cta-box, .sx-blog-body aside { margin:32px 0; padding:22px 24px; border-radius:10px; background:var(--sx-blue); color:#fff; }
.sx-blog-body .sx-cta-box *, .sx-blog-body .cta-box *, .sx-blog-body aside * { color:#fff; }
.sx-blog-body .sx-cta-box a, .sx-blog-body .cta-box a, .sx-blog-body aside a { font-weight:700; text-decoration:underline; }
.sx-blog-body .sx-cta-box p:last-child, .sx-blog-body .cta-box p:last-child, .sx-blog-body aside p:last-child { margin-bottom:0; }

.sx-blog-footer-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin:32px 0 8px; padding-top:20px; border-top:1px solid #e5e7eb; }
.sx-blog-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sx-blog-tags .tag-cloud-link { margin:0; }
.sx-share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sx-share-title { font-weight:600; }
.sx-share-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.sx-share-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:8px 14px; border:1px solid #d1d5db; border-radius:6px; color:var(--sx-blue); font-size:.9rem; font-weight:600; }
.sx-share-link:hover, .sx-share-link:focus-visible { background:var(--sx-blue); border-color:var(--sx-blue); color:#fff; }
.sx-share-link:focus-visible { outline:2px solid var(--sx-gold); outline-offset:2px; }
.sx-post-nav { display:flex; justify-content:space-between; gap:16px; margin:24px 0 8px; }
.sx-post-nav-item { flex:1 1 0; min-width:0; }
.sx-post-nav-next { text-align:right; }
.sx-post-nav a { display:block; color:inherit; }
.sx-post-nav-label { display:block; font-size:.85rem; color:var(--sx-gray); text-transform:uppercase; letter-spacing:.04em; }
.sx-post-nav-title { display:block; font-weight:600; color:var(--sx-blue); }
.sx-blog-bottom-box { margin-top:32px; }
.sx-blog-bottom-title { font-size:1.5rem; }

@media (max-width:575px) {
  .sx-post-nav { flex-direction:column; }
  .sx-post-nav-next { text-align:left; }
  .sx-blog-card-title { font-size:1.25rem; }
  .sx-crumb-current { max-width:22ch; }
}

/* Pages légales (D.46, D.47) */
.legal-page .site-main h2 { font-size:1.35rem; margin:28px 0 10px; }

/* === new Part E pages === */
/* Pages industrie (E.1–E.6), NAICS & PSC, Teaming, Careers, Capability Statement, Accessibility (E.15–E.19). */
.sx-pe-page .sx-pe-h2 { font-size:1.6rem; margin:32px 0 14px; color:var(--sx-blue); }
.sx-pe-page .sx-pe-body .sx-pe-h2:first-child,
.sx-pe-page .sx-pe-services > .container > .sx-pe-h2:first-child,
.sx-pe-page .sx-pe-cta .sx-pe-h2:first-child { margin-top:0; }
.sx-pe-page .sx-pe-h3 { font-size:1.2rem; color:var(--sx-blue); }
.sx-pe-page .lead { font-size:1.15rem; line-height:1.7; color:var(--sx-text); }

.sx-pe-list { list-style:none; margin:0 0 20px; padding:0; }
.sx-pe-list li { position:relative; padding:6px 0 6px 28px; line-height:1.6; border-bottom:1px solid #eef0f3; }
.sx-pe-list li::before { content:''; position:absolute; left:4px; top:14px; width:10px; height:10px; border-radius:50%; background:var(--sx-gold); }

.sx-pe-tags { list-style:none; margin:0 0 20px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.sx-pe-tags li { padding:6px 14px; border:1px solid #d9dde3; border-radius:20px; background:#fff; font-size:.95rem; }

.sx-pe-figure { margin:0; }
.sx-pe-figure img { width:100%; height:auto; border-radius:16px; }

.sx-pe-card { height:100%; padding:24px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; transition:box-shadow .2s ease; }
.sx-pe-card:hover, .sx-pe-card:focus-within { box-shadow:0 8px 24px rgba(17,29,53,.08); }
.sx-pe-card-icon { display:block; width:48px; height:48px; margin-bottom:14px; color:var(--sx-gold); }
.sx-pe-card h3 { font-size:1.15rem; margin:0 0 10px; }
.sx-pe-card h3 a { color:var(--sx-blue); }
.sx-pe-card h3 a:hover, .sx-pe-card h3 a:focus-visible { color:var(--sx-gold); text-decoration:underline; }
.sx-pe-card p { margin:0; font-size:.95rem; line-height:1.6; }

.sx-pe-steps { margin:0; padding-left:22px; }
.sx-pe-steps li { margin-bottom:14px; }
.sx-pe-steps li::marker { color:var(--sx-gold); font-weight:700; }
.sx-pe-steps h3 { font-size:1.1rem; margin:0 0 4px; color:var(--sx-blue); }
.sx-pe-steps p { margin:0; }
.sx-pe-page .sx-frameworks h3 { font-size:1.1rem; color:var(--sx-blue); }

.sx-pe-contact { padding:24px; background:#fff; border-left:3px solid var(--sx-gold); border-radius:8px; }
.sx-pe-contact h2 { font-size:1.4rem; margin:0 0 12px; color:var(--sx-blue); }
.sx-pe-contact a, .sx-pe-company-line a, .sx-pe-body p a, .sx-pe-cta p a { color:var(--sx-blue); text-decoration:underline; text-underline-offset:2px; }
.sx-pe-muted { color:var(--sx-gray); font-size:.9rem; margin-bottom:0; }

.sx-pe-table, .sx-pe-facts { width:100%; border-collapse:collapse; margin:0 0 20px; background:#fff; }
.sx-pe-table th, .sx-pe-table td, .sx-pe-facts th, .sx-pe-facts td { padding:10px 14px; border:1px solid #e5e7eb; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.sx-pe-table thead th, .sx-pe-facts thead th { background:var(--sx-blue); color:#fff; font-weight:600; }
.sx-pe-table tbody th, .sx-pe-facts tbody th { color:var(--sx-blue); font-weight:600; white-space:nowrap; }
.sx-pe-facts a { color:var(--sx-blue); text-decoration:underline; }
.sx-pe-company-line { padding:14px 18px; background:var(--sx-gray-light); border-radius:6px; line-height:1.9; }

.sx-pe-download { margin:24px 0 32px; }
.sx-pe-download .prt-btn { font-size:1.1rem; padding:16px 32px; min-height:44px; }
.sx-pe-filesize { font-weight:400; opacity:.85; }
.sx-pe-eoe { margin-top:24px; }
.sx-pe-cta .sx-related-services h3 { font-size:1.1rem; margin:16px 0 6px; color:var(--sx-blue); }
.sx-pe-cta .sx-related-services h3:first-child { margin-top:0; }

@media (max-width: 575px) {
  .sx-pe-page .sx-pe-h2 { font-size:1.35rem; }
  .sx-pe-table tbody th, .sx-pe-facts tbody th { white-space:normal; }
  .sx-pe-table th, .sx-pe-table td, .sx-pe-facts th, .sx-pe-facts td { padding:8px 10px; }
  .sx-pe-download .prt-btn { display:block; text-align:center; }
}

/* === refonte visuelle (retour client, octobre 2026) === */
/* Cartes de services : icône au-dessus, texte complet, lien court */
.sx-service-card .service-iconbox-inner { display:flex; flex-direction:column; align-items:flex-start; gap:18px; height:100%; padding:30px 26px; }
.sx-service-card .service-imagebox img { width:52px; height:52px; min-width:0; }
.sx-service-card .service-content-box { display:flex; flex-direction:column; flex:1; width:100%; padding:0 !important; }
.sx-service-card .service-title h3 { font-size:1.2rem; line-height:1.35; font-weight:600; margin-bottom:10px; }
.sx-service-card .service-des p { display:block; -webkit-line-clamp:unset; overflow:visible; font-size:.95rem; line-height:1.6; color:#4b5563; }
.sx-service-card .prt-bottom-buttonbox { margin-top:auto; padding-top:16px; }
.sx-service-card .prt-bottom-buttonbox a { text-decoration:none; color:var(--sx-blue); }

/* Hero : slogan lisible, H1 mis en avant */
.home-page .hero-section .section-title .sx-hero-tagline { font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(2rem,4.2vw,56px); line-height:1.12; letter-spacing:-.5px; max-width:760px; }
.home-page .hero-section .sx-home-h1 { font-size:clamp(1.2rem,2vw,1.55rem); color:var(--sx-gold); }
.home-page .sx-hero-body { max-width:640px; }

/* Partenaire : titre sur une seule graisse */
.sx-home-partner h2 { font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.2; color:#fff; }
.sx-home-partner h2 span { font-weight:700; color:var(--sx-gold); }
.sx-home-partner .prt-featured-content .prt-featured-title h3 { font-family:'Inter',sans-serif; font-size:1.05rem; }

/* Colonnes technologies */
.sx-tech-card { padding:26px 26px 20px; border:1px solid #e5e7eb; background:#fff; box-shadow:0 2px 12px rgba(0,23,70,.05); }
.sx-tech-card .featured-title h3 { font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:700; padding-bottom:10px; border-bottom:2px solid var(--sx-gold); display:inline-block; }
.sx-service-card { display:flex; } .sx-service-card .service-iconbox-inner { flex:1; }
/* Colonnes technologies : marge intérieure réelle (le thème l'écrase) */
.featured-icon-box.style3.sx-tech-card { padding:26px 28px 22px !important; }
/* Partenaire : titre ramené à deux lignes */
.cta-section.sx-home-partner .section-big-title h2,
.cta-section.sx-home-partner .section-big-title h2 span { font-size:clamp(1.9rem,3.6vw,3rem) !important; line-height:1.18 !important; letter-spacing:-.5px; }
.cta-section.sx-home-partner .section-big-title h2 span { display:inline; }
/* Cartes « Latest Insights » : ligne d'auteur compacte, titres entiers */
.blog-section .featured-imagebox-post.style3 .prt-authorbox { display:flex; align-items:center; gap:10px; }
.blog-section .featured-imagebox-post.style3 .prt-authorbox img { width:32px; height:32px; }
.blog-section .featured-imagebox-post.style3 .prt-user-name { display:flex; flex-wrap:wrap; gap:2px 8px; font-size:.85rem; line-height:1.4; }
.blog-section .featured-imagebox-post.style3 .prt-user-name .post-time-ago::before { content:'·'; margin-right:8px; }
.blog-section .featured-imagebox-post.style3 .post-title h3 { display:block; -webkit-line-clamp:unset; overflow:visible; white-space:normal; text-overflow:clip; font-size:1.1rem; line-height:1.4; }
.blog-section .featured-imagebox-post.style3 .post-title h3 a { white-space:normal; }
.featured-imagebox-post.style3 .featured-content .post-title h3 a { display:block; -webkit-line-clamp:unset; -webkit-box-orient:unset; overflow:visible; white-space:normal; text-overflow:clip; }
.sx-service-card, .sx-service-card .service-iconbox-inner { height:auto !important; max-height:none !important; overflow:visible !important; }
.sx-service-card { min-height:calc(100% - 30px); }
/* Hero allégé (retour client) : slogan sur deux lignes, rythme resserré */
.home-page .hero-section .section-title .sx-hero-tagline { font-size:clamp(1.9rem,3.3vw,46px); line-height:1.15; max-width:820px; margin:0 0 12px; }
.home-page .hero-section .sx-home-h1 { font-size:clamp(1.05rem,1.6vw,1.3rem); margin:0 0 14px; }
.home-page .sx-hero-body { font-size:15px; line-height:1.6; max-width:600px; margin-bottom:22px; }
.home-page .hero-section .sx-eyebrow { font-size:.78rem; letter-spacing:2.5px; padding-left:0; }
.home-page .hero-section .subtitle-wrapper .subtitle:before,
.home-page .hero-section .subtitle-wrapper .subtitle::before,
.home-page .hero-section .subtitle-wrapper:before { display:none !important; }
.home-page .hero-section .sx-hero-textlink { margin:12px 0 0; font-size:.9rem; }
.home-page .hero-section .sx-hero-tech { margin:14px 0 0; max-width:640px; font-size:11.5px; letter-spacing:.5px; opacity:.55; }
.home-page .hero-section .subtitle-wrapper .subtitle *::before, .home-page .hero-section .subtitle-wrapper .subtitle *:before { display:none !important; content:none !important; }
/* Écrans portables (1200–1439 px) : menu sur une ligne, hero décollé du bord */
@media (min-width:1200px) and (max-width:1439px) {
  #site-header-menu nav.main-menu ul.menu > li > a,
  #site-header-menu nav.main-menu ul.menu > li > button { padding-left:9px !important; padding-right:9px !important; margin-left:0 !important; margin-right:0 !important; font-size:14px !important; }
  #site-header-menu .header_btn .prt-btn { white-space:nowrap; padding-left:18px !important; padding-right:18px !important; font-size:14px !important; }
  #site-header-menu nav.main-menu ul.menu > li { margin:0 !important; padding:0 1px !important; }
}
@media (max-width:1439px) {
  .home-page .hero-section .hero-slide > .container { padding-left:max(24px,5vw); padding-right:24px; }
}
