/* Additive corrections; original StartHub theme, colors and typography retained. */
html{scroll-behavior:smooth}body{overflow-x:clip}
.skip-link{position:absolute;left:16px;top:-100px;z-index:99999;background:#fff;color:#003e35;padding:12px 20px;border:2px solid #006b5c;border-radius:8px}.skip-link:focus{top:16px}
:focus-visible{outline:3px solid #007c6b;outline-offset:4px}
.field-label{display:block;font-size:14px;font-weight:600;margin:0 0 8px;color:#133d35}
.form-context,.form-privacy{font-size:14px;line-height:1.6;margin-bottom:24px}.form-context{padding:14px 18px;background:#edf6f1;border-left:3px solid #006b5c;border-radius:4px}
.form-status{margin:20px 0;line-height:1.6}.form-status.error{color:#a31f25}.form-status.success{color:#00553d}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.resource-content{max-width:860px;margin-inline:auto}.resource-content h2{font-size:30px;line-height:1.25;margin:42px 0 16px}.resource-content h3{font-size:23px}.resource-content p,.resource-content li{font-size:18px;line-height:1.8}.resource-content ul{padding-left:24px}.resource-content a:not(.tj-primary-btn),.form-privacy a{text-decoration:underline;text-underline-offset:4px}
.resource-lead{font-size:23px;line-height:1.6;color:#304c45;max-width:820px;margin-bottom:32px}.resource-eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:1.1px;color:#466259;display:block;margin-bottom:12px}.resource-image{width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:16px;margin:8px 0 20px}
.resource-callout{padding:8px 28px 28px;background:#edf4ef;border-radius:16px;margin-top:40px}.resource-intro{margin-bottom:46px}.lexicon-card{background:#f2f6f2;border:1px solid #dfe8df;border-radius:16px;padding:32px;height:100%}.lexicon-card h2{font-size:27px;margin-bottom:16px}.lexicon-card p{line-height:1.7}
.site-search{position:relative;margin-bottom:44px}.site-search label{display:block;font-weight:600;margin-bottom:12px}.search-row{display:flex;gap:12px}.search-row input{min-width:0;flex:1;border:1px solid #9cad9f;padding:16px 20px;border-radius:10px;background:#fff;color:#153d32}.search-row button{flex-shrink:0;min-width:64px;justify-content:center;padding:16px}.search-suggestions{position:absolute;top:100%;left:0;right:0;z-index:10;border:1px solid #d2dfd5;background:#fff;box-shadow:0 14px 30px #153d3214;border-radius:10px;max-height:340px;overflow:auto}.search-suggestions a{display:block;padding:14px 20px;text-decoration:none!important}.search-suggestions a:hover,.search-suggestions a:focus{background:#edf4ef}.search-result{padding:24px 0;border-bottom:1px solid #d9e4dc}.search-result h3{margin:8px 0}.map-link{display:flex;align-items:center;justify-content:center;min-height:150px;background:#edf4ef;padding:24px;text-decoration:underline}
.tj-page-title{overflow-wrap:anywhere}.tj-preloader{display:none!important}.banner-content .banner-title{overflow-wrap:normal}
.menu_bar[role=button]{cursor:pointer}.site_logo img,.hamburger_logo img{object-fit:contain}
.social-links:has(ul:empty){display:none}
@media(max-width:575px){.resource-content h2{font-size:26px}.resource-content p,.resource-content li{font-size:16px}.resource-lead{font-size:20px}.resource-callout,.lexicon-card{padding:22px}.tj-page-title{font-size:36px!important}.form-context{padding:12px}.search-row{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.wow{visibility:visible!important}}

/* Lecture des articles : justification et césure française. */
.sh-article-content .blog-text p{text-align:justify;text-align-last:start;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;overflow-wrap:break-word;text-wrap:pretty}

/* Article previews reserve one consistent frame regardless of source dimensions. */
.blog-item .blog-thumb{aspect-ratio:16 / 9;min-height:0;height:auto;overflow:hidden;position:relative}
.blog-item .blog-thumb>a{position:absolute;inset:0;display:block;width:100%;height:100%}
.blog-item .blog-thumb>a>img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}

/* Keep the dropdown chevron centred regardless of desktop header density. */
.mainmenu>ul>li:is(.menu-item-has-children,.has-dropdown)>a::after{top:50%;line-height:1;transform:translateY(-50%)}
.mainmenu>ul>li:is(.menu-item-has-children,.has-dropdown):hover>a::after{transform:translateY(-50%) rotate(-180deg)}
.sh-mobile-search{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin:24px 0 30px;padding:14px 16px;border:1px solid #c9d1d1;border-radius:8px;background:#edf2f2;color:#10282b;font:inherit;text-align:left}
.sh-mobile-search svg{flex-shrink:0}
@media(max-width:1199px){.header-wrapper>.sh-search-open{display:none}.header-area.header-1 .header-wrapper{padding:15px 0;min-height:80px}}

/* Homepage figures: keep each value intact within its existing column. */
.tj-countup-section .countup-item{padding-inline:24px;min-width:0}
.tj-countup-section .inline-content{font-size:clamp(48px,4.6vw,64px);white-space:nowrap;flex-wrap:nowrap;justify-content:center;max-width:100%;gap:2px}
.tj-countup-section .inline-content>.odometer,.tj-countup-section .count-plus{flex-shrink:0}
.tj-countup-section .odometer-inside{white-space:nowrap}
.tj-countup-section .countup-item:first-child .count-plus{font-size:.65em;margin-inline-start:8px}
.tj-countup-section .count-text{text-align:center}
@media(max-width:575px){.tj-countup-section .inline-content{font-size:55px}}

/* Home services: original dimensions and overlay, inverted photo reveal. */
.sh-home-services .service-item.style-1::before{background:var(--tj-color-theme-dark);opacity:.7}
.sh-home-services .service-item.style-1::after{opacity:.3}
.sh-home-services .service-item.style-1:hover::before,.sh-home-services .service-item.style-1:focus-within::before{background:var(--tj-color-theme-dark-2);opacity:1}
.sh-home-services .service-item.style-1:hover::after,.sh-home-services .service-item.style-1:focus-within::after{opacity:0}
.sh-home-services .service-item.style-1 .desc{text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word;word-break:normal}
.sh-home-services .service-item.style-1:focus-within .service-icon{transform:scale(0)}
.sh-home-services .service-item.style-1:focus-within .service-content{padding-bottom:95px}
.sh-home-services .service-item.style-1:focus-within .desc{opacity:1;visibility:visible;height:100%}
.sh-home-services .service-item.style-1:focus-within .text-btn{opacity:1;visibility:visible;bottom:40px}
.sh-home-services .service-item:focus-visible{outline:2px solid var(--tj-color-theme-primary);outline-offset:-2px}
@media (min-width:768px) and (max-width:1199px),(max-width:575px){.sh-home-services .service-item.style-1:focus-within .service-content{padding-bottom:80px}.sh-home-services .service-item.style-1:focus-within .text-btn{bottom:30px}}

/* Testimonials: natural French justification; signatures retain their alignment. */
.testimonial-item .desc,.testimonial-item .desc p{text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word;word-break:normal}

/* FAQ: French punctuation stays with the preceding word; answers remain readable. */
.tj-faq .faq-title{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:pretty}
.tj-faq .faq-text p{text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word;word-break:normal}
.tj-faq .faq-text p+p{margin-top:1em}

/* Desktop navigation centred independently from the unchanged edge controls. */
@media(min-width:1200px){
 .header-area.header-1 .header-wrapper{min-height:81px}
 .header-area.header-1 .menu-area{position:absolute;left:50%;transform:translateX(-50%);top:0}
 .header-area.header-1 .mainmenu>ul{flex-wrap:nowrap}
 .header-area.header-1 .mainmenu>ul>li>a{font-size:15.84px;padding-block:32.58px;white-space:nowrap}
 .header-area.header-1 .header-right-item{position:relative;margin-left:auto}
 .header-area.header-1 .header-right-item>.sh-search-open{position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%);color:var(--tj-color-heading-primary);margin:0}
}
@media(min-width:1200px) and (max-width:1279px){.header-area.header-1 .mainmenu>ul{column-gap:14px}}

/* Hero service shortcuts: preserve the original avatar dimensions and overlap. */
.customers-box .sh-service-shortcut {border-radius:50%;}
.customers-box .sh-service-shortcut:focus-visible {outline:2px solid var(--tj-color-theme-primary);outline-offset:3px;}
.customers-box .sh-service-shortcut-icon {width:59px;height:59px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:50%;box-shadow:0 0 0 2px var(--tj-color-common-white);background:linear-gradient(-45deg,rgba(30,138,138,.3) 0%,rgba(30,138,138,0) 50%,rgba(30,138,138,.3) 100%),var(--tj-color-common-white);color:var(--tj-color-theme-primary);font-size:40px;}
@media(min-width:992px) and (max-width:1399px),(min-width:576px) and (max-width:767px){.customers-box .sh-service-shortcut-icon{width:50px;height:50px;font-size:34px;}}
@media(max-width:575px){.customers-box .sh-service-shortcut-icon{width:40px;height:40px;font-size:27px;}}

/* Only the home quotation text; signature and icon retain their sizes. */
.about-bottom-area .client-review-cont .sh-home-quote-text{font-size:1.25em;}

/* Leave room for the expanded service descriptions on narrow phones. */
@media(max-width:420px){.sh-home-services .service-item.style-1{height:500px;}}
@media(max-width:360px){.sh-home-services .service-item.style-1{height:600px;}}

/* Home analyses: retain article cards, add only carousel controls. */
.sh-home-analyses .sh-analyses-carousel{position:relative;}
.sh-home-analyses .swiper-slide{height:auto;}
.sh-home-analyses .blog-item{height:100%;}
 .sh-home-analyses .sh-analyses-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(30,138,138,.2);border-radius:50%;background:rgba(255,255,255,.72);color:var(--tj-color-theme-primary);box-shadow:0 3px 12px rgba(16,40,43,.06);backdrop-filter:blur(8px);transition:background .2s,border-color .2s,box-shadow .2s;}
.sh-home-analyses .sh-analyses-arrow:hover{background:rgba(255,255,255,.96);border-color:rgba(30,138,138,.5);box-shadow:0 4px 14px rgba(16,40,43,.1);}
.sh-home-analyses .sh-analyses-arrow svg{display:block;width:22px;height:22px;flex:none;}
.sh-home-analyses .sh-analyses-prev{left:-60px;}
.sh-home-analyses .sh-analyses-next{right:-60px;}
@media(max-width:1300px){.sh-home-analyses .sh-analyses-arrow{width:44px;height:44px;}.sh-home-analyses .sh-analyses-prev{left:-10px;}.sh-home-analyses .sh-analyses-next{right:-10px;}}

/* Recent article sidebar: 18px reduced by 25%, five visible lines maximum. */
.tj-sidebar-widget.tj-recent-posts .post-content .post-title{font-size:13.5px;margin-bottom:6px;}
.tj-sidebar-widget.tj-recent-posts .post-content .post-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;max-height:7.22em;}

/* Reduce the two adjoining article/carousel paddings by 25%. */
.sh-article-detail.section-gap{padding-bottom:81px;}
.sh-article-detail + .sh-home-analyses.section-gap{padding-top:81px;}
@media(min-width:992px) and (max-width:1199px){.sh-article-detail.section-gap{padding-bottom:75px;}.sh-article-detail + .sh-home-analyses.section-gap{padding-top:75px;}}
@media(max-width:991px){.sh-article-detail.section-gap{padding-bottom:52.5px;}.sh-article-detail + .sh-home-analyses.section-gap{padding-top:52.5px;}}

/* Three equal service steps; retain the existing cards and typography. */
.details-content-box.sh-service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.sh-service-steps .service-details-item{width:100%;max-width:none;min-width:0;}
.sh-service-steps .service-details-item .desc p{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-break:normal;text-wrap:pretty;}
@media(max-width:767px){.details-content-box.sh-service-steps{grid-template-columns:minmax(0,1fr);}}

/* Shared CTA: preserve the full photograph and blend its edges into the panel. */
@media(min-width:992px){
 .tj-cta-section .cta-area .cta-content{position:relative;z-index:1}
 .tj-cta-section .cta-area .cta-img{position:absolute;inset:0 0 0 auto;width:58%;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
 .tj-cta-section .cta-area .cta-img img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
}
@media(max-width:991px){
 .tj-cta-section .cta-area .cta-img img{display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%);mask-image:linear-gradient(to bottom,transparent,#000 16%)}
}

/* Align the philosophy photograph with the full right-hand column. */
@media(min-width:992px){
 .sh-philosophy > .container > .row > [class*="col-"]{display:flex;flex-direction:column}
 .sh-philosophy .about-img-area.style-2{height:100%;width:100%}
 .sh-philosophy .about-bottom-area{flex:1;align-content:stretch}
 .sh-philosophy .mission-vision-box{display:flex;flex-direction:column}
 .sh-philosophy .about-content-area,.sh-philosophy .about-btn-area{flex-shrink:0}
}

/* Improve white text contrast while preserving the translucent panel. */
.sh-philosophy .about-img-area.style-2 .box-area.style-2 .progress-box{background-color:rgba(12,34,39,.58)}

/* Readable, justified privacy information. */
.sh-privacy-content p{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;overflow-wrap:break-word;word-break:normal;text-wrap:pretty}

/* Home experience content adapted to the green testimonial inset. */
.sh-experience-card{color:#fff;}
.sh-experience-links{display:flex;align-items:center;margin:0 0 20px;}
.sh-experience-links a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:2px solid var(--tj-color-theme-primary);background:linear-gradient(135deg,#cde5e5,#fff,#cde5e5);color:var(--tj-color-theme-primary);font-size:30px;position:relative;}
.sh-experience-links a+a{margin-left:-8px;}
.sh-experience-links a:last-child{background:var(--tj-color-theme-dark);color:#fff;font-size:20px;}
.sh-experience-links a:focus-visible{outline:2px solid #fff;outline-offset:2px;z-index:1;}
.sh-experience-card .sh-experience-number{font-size:52px;line-height:1.1;font-weight:600;letter-spacing:-2px;white-space:nowrap;margin-bottom:10px;color:#fff;}
.sh-experience-card .sh-experience-text{font-size:15px;line-height:1.5;color:#fff;margin:0;max-width:180px;text-wrap:pretty;}
@media(max-width:575px){.sh-experience-card .sh-experience-number{font-size:44px;}.sh-experience-links{margin-bottom:14px;}.sh-experience-links a{flex-basis:40px;width:40px;height:40px;font-size:26px;}}

/* High-contrast testimonial heading, scoped to the StartHub page. */
.sh-trust-heading .testimonial-img .sec-heading .sec-title{color:#fff;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.3);}
.sh-trust-heading .testimonial-img .sec-heading .sec-title span{color:#bce9e5;}

/* Slightly smaller titles in the shared article carousel. */
.sh-home-analyses .blog-item .blog-content .title{font-size:25px;}
@media(min-width:768px) and (max-width:991px){.sh-home-analyses .blog-item .blog-content .title{font-size:19.5px;}}
@media(max-width:767px){.sh-home-analyses .blog-item .blog-content .title{font-size:18px;}}

/* Use the full article width when there is no sharing column. */
.tj-tags-post > .tagcloud:only-child{width:100%;align-items:center;}

/* Three related readings on one row, with equal-height cards. */
@media(min-width:768px){.sh-related-reading .sh-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}.sh-related-reading .sh-related-grid>a{padding:22px 18px 0;}.sh-related-reading .sh-related-grid>a>strong{font-size:18px;overflow-wrap:break-word;}.sh-related-reading .sh-related-grid>a>.sh-related-action{margin-right:-18px;padding-inline:16px;gap:12px;}}

/* Keep the contact brand inside its actual sidebar width. */
.widget-feature-item .feature-box .feature-content{container-type:inline-size;}
.widget-feature-item .feature-box .feature-content .title{font-size:40px;font-size:clamp(26px,22cqi,64px);white-space:nowrap;line-height:1.1;}
.widget-feature-item .feature-box .feature-content .feature-contact span{font-size:clamp(13px,7.4cqi,18px);}
.sh-company-tools .btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.sh-company-tools .sh-company-search-icon{display:block;width:19px;height:19px;transform:none;color:#fff;}

/* Article metadata: keep each icon beside its text, never above it. */
.sh-article-detail .blog-category-two{align-items:stretch;}
.sh-article-detail .blog-category-two .category-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;flex-wrap:nowrap;padding:22px 16px;min-width:0;}
.sh-article-detail .blog-category-two .cate-images,
.sh-article-detail .blog-category-two .cate-icons{width:44px;height:44px;min-width:44px;}
.sh-article-detail .blog-category-two .cate-text{min-width:0;}
.sh-article-detail .blog-category-two .cate-text .degination{line-height:1.25;}
.sh-article-detail .blog-category-two .cate-text .title,
.sh-article-detail .blog-category-two .cate-text .text{font-size:16px;line-height:1.35;margin:0;overflow-wrap:break-word;}
@media(min-width:992px) and (max-width:1399px){
 .sh-article-detail .blog-category-two .category-item{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:20px 12px;}
 .sh-article-detail .blog-category-two .cate-images,
 .sh-article-detail .blog-category-two .cate-icons{width:36px;height:36px;min-width:36px;}
 .sh-article-detail .blog-category-two .cate-text .title,
 .sh-article-detail .blog-category-two .cate-text .text{font-size:14px;}
}
@media(max-width:767px){.sh-article-detail .blog-category-two .category-item{padding:0;}}

