
@font-face {
 font-family: 'Exo 2';
 src: url('assets/fonts/Exo2-Variable.woff2') format('woff2-variations'),
 url('assets/fonts/Exo2-Variable.woff2') format('woff2');
 font-weight: 100 900;
 font-style: normal;
 font-display: swap;
}
@font-face {
 font-family: 'Exo 2';
 src: url('assets/fonts/Exo2-Variable-Italic.woff2') format('woff2-variations'),
 url('assets/fonts/Exo2-Variable-Italic.woff2') format('woff2');
 font-weight: 100 900;
 font-style: italic;
 font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
 --blue-dark: #0C3B6E;
 --blue-mid: #185FA5;
 --blue-light: #378ADD;
 --blue-sky: #2AA8D8;
 --cyan: #1dbfff;
 --orange: #D85A30;
 --white: #ffffff;
 --bg-soft: #F4F8FD;
 --bg-soft2: #EAF2FB;
 --border: #E1EAF5;
 --gray-text: #5b6b80;
 --ink: #0d1b2e;
}
html { scroll-behavior: smooth; }
body {
 font-family: 'Exo 2', sans-serif;
 background: var(--white);
 color: var(--ink);
 overflow-x: hidden;
 font-size: 16px;
 -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }

/* Corporate text selection. Keep selection enabled for accessibility and easy copy/paste. */
::selection { background: var(--blue-mid); color: var(--white); }
::-moz-selection { background: var(--blue-mid); color: var(--white); }

/* Running copy is justified; short UI labels, headings and buttons stay naturally aligned. */
p, .svc-features li {
 text-align: justify;
 text-justify: inter-word;
 hyphens: auto;
}
section[id] { scroll-margin-top: 76px; }

/* ============ SPLASH / LOGO INTRO ============ */
#splash {
 position: fixed; inset: 0; z-index: 9999;
 background: var(--white);
 display: flex; align-items: center; justify-content: center;
 transition: background 0.6s ease;
}
#splash.fade-bg { background: rgba(255,255,255,0); pointer-events: none; }
#splash-logo {
 width: min(220px, 42vw);
 height: min(220px, 42vw);
 opacity: 0;
 transform: scale(0.85);
 transition: opacity 0.6s ease, transform 0.6s ease;
 will-change: transform, opacity;
}
#splash-logo.show { opacity: 1; transform: scale(1); }
#splash-logo.fly {
 transition: transform 0.9s cubic-bezier(.65,0,.35,1), opacity 0.5s ease 0.4s;
}

/* ============ NAV ============ */
nav {
 position: fixed; top: 0; left: 0; right: 0; z-index: 100;
 display: flex; align-items: center; justify-content: space-between;
 padding: 0 5vw; height: 76px;
 background: rgba(255,255,255,0.92);
 backdrop-filter: blur(14px);
 border-bottom: 1px solid var(--border);
}
.nav-logo {
 display: flex; align-items: center; gap: 12px;
 text-decoration: none;
}
#nav-logo-img {
 height: 40px; width: auto; max-width: 200px;
 opacity: 1;
}
.nav-links { display: flex; align-items: center; gap: 34px; }
.nav-links a {
 font-size: 0.84rem; font-weight: 600;
 color: var(--gray-text); text-decoration: none;
 letter-spacing: 0.5px;
 transition: color 0.2s;
}
.nav-links a:hover { color: var(--blue-dark); }
.nav-cta {
 background: var(--blue-mid); color: white !important;
 padding: 11px 24px; border-radius: 8px;
 font-weight: 700; font-size: 0.84rem;
 transition: background 0.2s, transform 0.2s;
}
.nav-cta:hover { background: var(--blue-dark); transform: translateY(-1px); }

/* ============ HERO ============ */
.hero {
 min-height: 88vh;
 display: flex; align-items: center;
 padding: 110px 5vw 60px;
 position: relative; overflow: hidden;
 background: linear-gradient(180deg, #ffffff 0%, var(--bg-soft) 55%, var(--bg-soft2) 100%);
}
/* hex dotted pattern, left side - like the banner */
.hero-hexpattern {
 position: absolute; top: 0; left: -5%; width: 45%; height: 100%;
 opacity: 0.55; pointer-events: none;
}
/* big diagonal chevron / hex block, right side - like the banner */
.hero-chevron {
 position: absolute;
 top: 0;
 right: 0;
 width: clamp(380px, 46vw, 760px);
 height: 100%;
 max-width: none;
 pointer-events: none;
}
.hero-curve {
 position: absolute; bottom: 0; left: 0; width: 60%; height: 40%;
 opacity: 0.5; pointer-events: none;
}

.hero-inner { position: relative; z-index: 2; max-width: 620px; }
.hero h1 {
 font-size: clamp(2.4rem, 4.6vw, 3.6rem);
 font-weight: 800; line-height: 1.12;
 color: var(--blue-dark);
 letter-spacing: -0.5px;
 margin-bottom: 22px;
}
.hero h1 em { color: var(--cyan); font-style: normal; }
.hero p.lead {
 font-size: 1.08rem; font-weight: 400;
 color: var(--gray-text); line-height: 1.75;
 margin-bottom: 36px; max-width: 520px;
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 36px; }
.btn-primary {
 display: inline-flex; align-items: center; gap: 8px;
 background: var(--blue-mid); color: white;
 padding: 16px 30px; border-radius: 10px;
 font-weight: 700; font-size: 0.95rem;
 text-decoration: none;
 box-shadow: 0 10px 30px rgba(24,95,165,0.25);
 transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(24,95,165,0.32); background: var(--blue-dark); }

/* ============ SECTIONS ============ */
.section { padding: 110px 5vw; position: relative; }
.section-soft { background: var(--bg-soft); }
.section h2 {
 font-size: clamp(1.9rem, 3.4vw, 2.7rem);
 font-weight: 800; color: var(--blue-dark);
 line-height: 1.15; margin-bottom: 16px;
 letter-spacing: -0.5px;
}
.section-lead {
 font-size: 1.02rem; color: var(--gray-text);
 max-width: 560px; line-height: 1.75; margin-bottom: 56px;
}

/* ============ SERVICES ============ */
.svc-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 22px;
 max-width: 1180px; margin: 0 auto;
}
.svc-card {
 background: white;
 border: 1px solid var(--border);
 border-radius: 16px;
 padding: 36px 30px;
 position: relative; overflow: hidden;
 transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.svc-card::before {
 content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
 background: linear-gradient(90deg, var(--blue-mid), var(--cyan));
 transform: scaleX(0); transform-origin: left;
 transition: transform 0.35s;
}
.svc-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(12,59,110,0.12); border-color: rgba(29,191,255,0.3); }
.svc-card:hover::before { transform: scaleX(1); }
.svc-card-hex {
 position: absolute; top: -28px; right: -28px;
 opacity: 0.06; pointer-events: none;
}
.svc-icon { font-size: 2rem; margin-bottom: 16px; }
.svc-title {
 font-size: 1.25rem; font-weight: 800; color: var(--blue-dark);
 letter-spacing: -0.2px; margin-bottom: 12px;
}
.svc-desc { font-size: 0.88rem; color: var(--gray-text); line-height: 1.7; margin-bottom: 24px; }
.svc-features { list-style: none; margin-bottom: 26px; }
.svc-features li {
 font-size: 0.84rem; color: #44546b;
 padding: 7px 0; border-bottom: 1px solid var(--border);
 display: flex; align-items: center; gap: 9px;
}
.svc-features li::before { content: ''; width: 5px; height: 5px; background: var(--cyan); border-radius: 50%; flex-shrink: 0; }
.svc-price {
 display: flex; align-items: baseline; gap: 6px;
 flex-wrap: wrap; width: 100%;
}
.svc-price-num {
 font-size: clamp(1.35rem, 1.8vw, 1.6rem);
 font-weight: 800; color: var(--blue-mid);
 white-space: nowrap; flex: 0 0 auto;
}
.svc-price-unit {
 font-size: 0.74rem; color: var(--gray-text); font-weight: 500;
 line-height: 1.2; min-width: 0;
}

/* ============ CTA / CONTACT ============ */
.cta-section {
 background: linear-gradient(160deg, #ffffff 0%, var(--bg-soft) 100%);
 padding: 110px 5vw;
 position: relative;
 overflow: hidden;
}
.contact-wrap {
 max-width: 1040px;
 margin: 0 auto;
 text-align: center;
}
.contact-wrap > h2 {
 font-size: clamp(1.9rem, 3.4vw, 2.7rem);
 font-weight: 800;
 color: var(--blue-dark);
 line-height: 1.15;
 margin-bottom: 16px;
}
.contact-intro {
 max-width: 650px;
 margin: 0 auto 42px;
 color: var(--gray-text);
 font-size: 1rem;
 line-height: 1.75;
}
.contact-actions {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 24px;
 align-items: stretch;
}
.contact-card {
 min-height: 220px;
 padding: clamp(30px, 4vw, 44px);
 border: 1px solid var(--border);
 border-radius: 18px;
 background: var(--white);
 box-shadow: 0 18px 44px rgba(12,59,110,0.08);
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
}
.contact-card.primary {
 background: var(--blue-dark);
 border-color: var(--blue-dark);
 color: var(--white);
}
.contact-card-label {
 font-size: 0.76rem;
 font-weight: 700;
 letter-spacing: 1.8px;
 text-transform: uppercase;
 color: var(--blue-mid);
 margin-bottom: 14px;
}
.contact-card.primary .contact-card-label { color: rgba(255,255,255,0.72); }
.contact-card-link {
 font-size: clamp(1.25rem, 2.2vw, 1.9rem);
 font-weight: 800;
 line-height: 1.2;
 text-decoration: none;
 color: var(--blue-dark);
 overflow-wrap: anywhere;
 transition: color .2s ease, transform .2s ease;
}
.contact-card.primary .contact-card-link { color: var(--white); }
.contact-card-link:hover { color: var(--blue-mid); transform: translateY(-1px); }
.contact-card.primary .contact-card-link:hover { color: var(--cyan); }
.contact-card p {
 max-width: 360px;
 margin-top: 16px;
 color: var(--gray-text);
 font-size: 0.9rem;
 line-height: 1.65;
}
.contact-card.primary p { color: rgba(255,255,255,0.76); }
.contact-meta {
 margin-top: 24px;
 padding: 18px 24px;
 border: 1px solid var(--border);
 border-radius: 14px;
 background: rgba(255,255,255,0.68);
 color: var(--gray-text);
 font-size: 0.88rem;
 line-height: 1.6;
 text-align: center;
}

/* ============ FOOTER ============ */
footer {
 background: var(--blue-dark);
 padding: 38px 5vw;
 display: flex; justify-content: space-between; align-items: center;
 flex-wrap: wrap; gap: 16px;
}
.footer-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.footer-logo img { height: 34px; width: auto; max-width: 65vw; }
footer p { font-size: 0.8rem; color: rgba(255,255,255,0.6); }

/* ============ REVEAL ============ */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

@media (max-width: 980px) {
 .nav-links { gap: 20px; }
 .nav-links a:not(.nav-cta) { display: none; }
 .hero-chevron { width: clamp(340px, 44vw, 520px); height: 100%; opacity: 0.7; }
 .hero-hexpattern { width: 35%; }
 .svc-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}
@media (max-width: 640px) {
 .section { padding: 72px 5vw; }
 .hero { padding: 120px 5vw 50px; text-align: center; }
 .hero-inner { margin: 0 auto; }
 .hero-actions { justify-content: center; }
 .hero p.lead { margin-left: auto; margin-right: auto; }
 nav { padding: 0 5vw; }
 #nav-logo-img { height: 34px; max-width: 45vw; }
 .section h2, .section-lead, .pourquoi-section h2, .pourquoi-section > .section-inner > p {
 text-align: center; margin-left: auto; margin-right: auto;
 }
 footer { flex-direction: column; text-align: center; justify-content: center; }
 footer p { text-align: center; }
}
@media (max-width: 480px) {
 .hero-hexpattern { display: none; }
 .hero-chevron { width: clamp(300px, 72vw, 420px); height: 100%; opacity: 0.45; }
 .hero-actions { flex-direction: column; align-items: stretch; }
 .btn-primary { justify-content: center; }
 #nav-logo-img { max-width: 50vw; }
 .footer-logo img { max-width: 60vw; }
 .svc-card { padding: 28px 24px; }
}


.pourquoi-section {
 padding: 110px 5vw;
 background: var(--white);
}
.approach-grid {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 24px;
 margin-top: 44px;
 align-items: stretch;
}
.approach-grid > * { height: 100%; }

/* Five services: one balanced row on wide screens, then 3+2, never 4+1. */
.svc-grid {
 grid-template-columns: repeat(5, minmax(0, 1fr));
 max-width: 1500px;
 align-items: stretch;
}
.svc-card {
 min-width: 0;
 display: flex;
 flex-direction: column;
}
.svc-card .svc-price { margin-top: auto; }

/* Keep page content on a shared visual axis. */
.section > h2,
.section > .section-lead {
 max-width: 1500px;
 margin-left: auto;
 margin-right: auto;
}
.section > .section-lead { margin-bottom: 56px; }

/* Splash target is initially hidden; it fades in exactly as the flying icon lands. */
#nav-logo-img {
 opacity: 0;
 transition: opacity .22s ease;
}
body.intro-done #nav-logo-img { opacity: 1; }
#splash-logo.fly {
 transition:
 transform .82s cubic-bezier(.22,.75,.2,1),
 opacity .18s ease .66s;
}
#splash-logo.land { opacity: 0; }



@media (max-width: 1240px) {
 .svc-grid {
 grid-template-columns: repeat(6, minmax(0, 1fr));
 max-width: 980px;
 }
 .svc-grid > .svc-card { grid-column: span 2; }
 /* True centered 3 + 2 composition: no lone fifth card. */
 .svc-grid > .svc-card:nth-last-child(2) { grid-column: 2 / span 2; }
 .svc-grid > .svc-card:last-child { grid-column: 4 / span 2; }
}

@media (max-width: 980px) {
 .pourquoi-section { padding: 88px 5vw; }
 .approach-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
 .svc-grid {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 max-width: 720px;
 gap: 16px;
 }
 .svc-grid > .svc-card,
 .svc-grid > .svc-card:nth-last-child(2) { grid-column: auto; }
 .svc-grid > .svc-card:last-child {
 grid-column: 1 / -1;
 width: min(100%, calc(50% - 8px));
 justify-self: center;
 }
}

@media (max-width: 520px) {
 .svc-grid { grid-template-columns: 1fr; }
 .svc-grid > .svc-card,
 .svc-grid > .svc-card:nth-last-child(2),
 .svc-grid > .svc-card:last-child {
 grid-column: auto;
 width: 100%;
 }
}

@media (max-width: 640px) {
 .contact-actions { grid-template-columns: 1fr; gap: 16px; }
 .contact-card { min-height: 0; }
 .pourquoi-section { padding: 72px 5vw; }
 .approach-grid { grid-template-columns: 1fr; gap: 16px; }
 .svc-card { min-height: 0; }
 .hero { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
 #splash { display: none !important; }
 #nav-logo-img { opacity: 1 !important; }
 .reveal { opacity: 1; transform: none; transition: none; }
}

/* ===== DESIGN REFINEMENT V4 ===== */
:root { --content-max: 1500px; --reading-max: 760px; }

/* Shared visual axis for the two main commercial sections */
.pourquoi-section,
.section#services { padding-left: 5vw; padding-right: 5vw; }
.pourquoi-section > .section-inner,
.section#services > h2,
.section#services > .section-lead,
.section#services > .svc-grid {
 width: 100%;
 max-width: var(--content-max);
 margin-left: auto;
 margin-right: auto;
}
.pourquoi-section > .section-inner { max-width: var(--content-max) !important; }
.pourquoi-section > .section-inner > h2,
.pourquoi-section > .section-inner > p,
.section#services > h2,
.section#services > .section-lead {
 max-width: 680px;
}
.pourquoi-section > .section-inner > p { margin-left: 0; }
.section#services > .section-lead { margin-left: auto; margin-right: auto; }
.section#services > h2 { margin-left: auto; margin-right: auto; }
.approach-grid { margin-top: 44px; }

/* FAQ becomes a compact accordion instead of a long wall of text */
.faq-section { background: var(--bg-soft); padding: 92px 5vw; }
.faq-wrap { max-width: 920px; margin: 0 auto; }
.faq-heading { text-align: center; margin-bottom: 34px; }
.faq-heading h2 {
 font-size: clamp(1.9rem, 3.4vw, 2.7rem);
 font-weight: 800; color: var(--blue-dark);
 line-height: 1.15; margin-bottom: 10px;
}
.faq-heading p { color: var(--gray-text); text-align: center; }
.faq-list { display: grid; gap: 12px; }
.faq-item {
 background: var(--white);
 border: 1px solid var(--border);
 border-radius: 12px;
 overflow: hidden;
}
.faq-item summary {
 list-style: none;
 cursor: pointer;
 position: relative;
 padding: 20px 54px 20px 22px;
 color: var(--blue-dark);
 font-size: 1rem;
 font-weight: 700;
 text-align: left;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
 content: '+';
 position: absolute;
 right: 22px; top: 50%;
 transform: translateY(-50%);
 color: var(--blue-mid);
 font-size: 1.45rem; font-weight: 500;
}
.faq-item[open] summary::after { content: '−'; }
.faq-answer { padding: 0 22px 20px; }
.faq-answer p { color: var(--gray-text); line-height: 1.7; margin: 0; }

/* Mobile hero: copy never occupies more than 60% of the viewport.
 Artwork remains anchored to the right and spans the full banner height. */
@media (max-width: 640px) {
 .hero {
 min-height: 620px;
 padding: 112px 5vw 48px;
 align-items: center;
 text-align: left;
 }
 .hero-inner {
 width: 60vw;
 max-width: 60vw;
 margin: 0;
 }
 .hero h1 {
 font-size: clamp(1.75rem, 8.2vw, 2.45rem);
 line-height: 1.08;
 }
 .hero p.lead {
 font-size: .92rem;
 line-height: 1.55;
 margin-left: 0;
 margin-right: 0;
 }
 .hero-actions { justify-content: flex-start; }
 .hero .btn-primary { padding: 13px 18px; font-size: .88rem; }
 .hero-chevron {
 display: block;
 top: 0; right: 0; bottom: 0;
 height: 100%;
 width: 52vw;
 min-width: 0;
 opacity: .72;
 }
 .hero-chevron polygon:first-child { opacity: .98; }
 .hero-curve { width: 70%; opacity: .35; }

 .pourquoi-section > .section-inner > h2,
 .pourquoi-section > .section-inner > p,
 .section#services > h2,
 .section#services > .section-lead {
 text-align: left;
 margin-left: 0;
 margin-right: 0;
 }
 .faq-section { padding: 72px 5vw; }
}
@media (max-width: 420px) {
 .hero-inner { width: 58vw; max-width: 58vw; }
 .hero h1 { font-size: clamp(1.55rem, 7.8vw, 2rem); }
 .hero p.lead { font-size: .84rem; }
 .hero-chevron { width: 55vw; }
}

.trust-section{padding:100px 5vw;position:relative}.trust-section.alt{background:var(--bg-soft)}
.trust-inner{width:100%;max-width:1500px;margin:0 auto}.trust-head{max-width:720px;margin-bottom:42px}
.trust-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.15;color:var(--blue-dark);font-weight:800;letter-spacing:-.5px;margin-bottom:14px}
.trust-head p{color:var(--gray-text);line-height:1.75;font-size:1rem}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.principle-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:30px 28px;position:relative;overflow:hidden}
.principle-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue-mid),var(--cyan))}
.principle-kicker{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-soft2);color:var(--blue-mid);font-weight:800;margin-bottom:18px}
.principle-card h3{color:var(--blue-dark);font-size:1.05rem;margin-bottom:10px}.principle-card p{color:var(--gray-text);line-height:1.68;font-size:.92rem}
.operating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.operating-item{border-left:3px solid var(--blue-mid);padding:8px 18px 8px 20px}.operating-item:nth-child(2){border-left-color:var(--cyan)}.operating-item:nth-child(3){border-left-color:var(--blue-sky)}.operating-item:nth-child(4){border-left-color:var(--orange)}
.operating-item h3{font-size:1rem;color:var(--blue-dark);margin-bottom:8px}.operating-item p{color:var(--gray-text);font-size:.9rem;line-height:1.65}
.independence-band{margin-top:34px;background:var(--blue-dark);color:var(--white);border-radius:14px;padding:24px 28px;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:26px;align-items:center}
.independence-band strong{font-size:1.08rem}.independence-band p{color:rgba(255,255,255,.8);line-height:1.65;font-size:.9rem}
.handover{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}.handover:before{content:"";position:absolute;top:24px;left:8%;right:8%;height:1px;background:var(--border)}
.handover-step{padding:0 18px;position:relative;z-index:1}.handover-num{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;background:var(--white);border:2px solid var(--blue-mid);color:var(--blue-mid);font-weight:800}
.handover-step h3{font-size:1rem;color:var(--blue-dark);margin-bottom:8px}.handover-step p{color:var(--gray-text);font-size:.88rem;line-height:1.65}
.tech-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tech-chip{min-height:70px;border:1px solid var(--border);background:var(--white);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:12px 10px;text-align:center;font-size:.82rem;font-weight:700;color:var(--blue-dark)}
.tech-note{margin-top:16px;color:var(--gray-text);font-size:.82rem;line-height:1.6}
.founder-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:42px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:18px;padding:clamp(28px,4vw,48px)}
.founder-photo-wrap{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--bg-soft2),var(--bg-soft));position:relative;min-height:240px}
.founder-photo{width:100%;height:100%;object-fit:cover;display:block}.founder-photo-wrap:after{content:"GT";position:absolute;inset:0;display:none;place-items:center;color:var(--blue-mid);font-size:3rem;font-weight:800}.founder-photo-wrap.photo-missing:after{display:grid}.founder-photo-wrap.photo-missing .founder-photo{display:none}
.founder-copy h2{color:var(--blue-dark);font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:8px}.founder-name{color:var(--blue-mid);font-weight:800;margin-bottom:18px}
.founder-copy p{color:var(--gray-text);line-height:1.72;margin-bottom:12px}
.trust-section p,.founder-copy p,.principle-card p,.operating-item p,.handover-step p,.tech-note,.faq-answer p{text-align:justify;text-justify:inter-word}
@media(max-width:1100px){.operating-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tech-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.principles-grid{grid-template-columns:1fr}.handover{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 0}.handover:before{display:none}.founder-card{grid-template-columns:1fr}.founder-photo-wrap{max-width:360px}}
@media(max-width:640px){.trust-section{padding:72px 5vw}.operating-grid{grid-template-columns:1fr}.independence-band{grid-template-columns:1fr;gap:10px}.handover{grid-template-columns:1fr;gap:28px}.handover-step{padding:0}.tech-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-head{margin-bottom:30px}.founder-card{padding:24px}}

.svc-price-num{letter-spacing:-.35px}.svc-price-unit{max-width:115px}

.svc-price-num{line-height:1.05}

/* Alignement précis et responsive des cartes Services */
.svc-grid{
 align-items:stretch;
}
.svc-card{
 display:grid;
 grid-template-rows:
 44px
 64px
 126px
 minmax(190px,1fr)
 74px;
 height:100%;
}
.svc-card .svc-icon{
 align-self:start;
}
.svc-card .svc-title{
 min-height:0;
 align-self:end;
 display:flex;
 align-items:flex-end;
 margin:0 0 14px;
}
.svc-card .svc-desc{
 min-height:0;
 margin:0;
 align-self:start;
 text-align:left;
 text-align-last:auto;
 hyphens:none;
}
.svc-card .svc-features{
 min-height:0;
 margin:0;
 padding-top:14px;
 align-self:start;
}
.svc-card .svc-features li{
 text-align:left;
 text-align-last:auto;
 hyphens:none;
 word-spacing:normal;
}
.svc-card .svc-price{
 min-height:0;
 margin:0;
 align-self:end;
 display:flex;
 align-items:flex-end;
}
.svc-card .svc-price-num{
 white-space:nowrap;
}

/* Desktop large: 5 cards on one balanced row */
@media (min-width:1241px){
 .svc-grid{
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:22px;
 }
}

/* Medium desktop / small laptop: 2 x 2 */
@media (min-width:901px) and (max-width:1240px){
 .svc-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
 max-width:900px;
 gap:20px;
 }
 .svc-grid > .svc-card{
 grid-column:auto;
 }
 .svc-card{
 grid-template-rows:44px auto auto 1fr auto;
 }
 .svc-card .svc-title{margin-top:14px}
 .svc-card .svc-desc{margin-top:10px}
 .svc-card .svc-features{padding-top:14px}
 .svc-card .svc-price{margin-top:24px}
}

/* Tablet: 2 columns, last card full width but centered and same visual width */
@media (min-width:641px) and (max-width:900px){
 .svc-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
 max-width:760px;
 gap:18px;
 }
 .svc-card{
 grid-template-rows:
 44px
 auto
 auto
 1fr
 auto;
 }
 .svc-card .svc-title{
 margin-top:14px;
 }
 .svc-card .svc-desc{
 margin-top:10px;
 }
 .svc-card .svc-features{
 padding-top:14px;
 }
 .svc-card .svc-price{
 margin-top:24px;
 }
}

/* Mobile: single column, natural content flow */
@media (max-width:640px){
 .svc-grid{
 grid-template-columns:1fr;
 max-width:100%;
 gap:16px;
 }
 .svc-grid > .svc-card{
 width:100%;
 grid-column:auto;
 justify-self:stretch;
 }
 .svc-card{
 display:flex;
 flex-direction:column;
 height:auto;
 padding:28px 24px;
 }
 .svc-card .svc-title{
 margin:14px 0 0;
 min-height:0;
 }
 .svc-card .svc-desc{
 margin-top:12px;
 }
 .svc-card .svc-features{
 padding-top:14px;
 }
 .svc-card .svc-price{
 margin-top:24px;
 }
 .svc-price{
 flex-wrap:wrap;
 gap:6px;
 }
 .svc-price-unit{
 max-width:none;
 }
}

/* Very narrow mobile */
@media (max-width:420px){
 .svc-card{
 padding:24px 20px;
 }
 .svc-title{
 font-size:1.12rem;
 }
 .svc-desc,
 .svc-features li{
 font-size:.84rem;
 }
 .svc-price-num{
 font-size:1.35rem;
 }
}

/* Cartes services : explication naturelle et alignement */
@media (min-width:1241px){
 .svc-card{
 grid-template-rows:44px 78px 142px minmax(190px,1fr) 74px;
 }
}

/* Lecture plus naturelle pour les contenus courts */
.svc-desc,
.svc-features li,
.faq-answer p,
.approach-card p,
.principle-card p,
.step-card p,
.independence-band p,
.contact-card p{
 text-align:left;
 text-align-last:auto;
 hyphens:none;
 word-spacing:normal;
}

/* Lisibilité responsive : ne jamais couper les mots artificiellement */
body, p, li, h1, h2, h3, h4, a, span, div {
 overflow-wrap: normal;
 word-break: normal;
 hyphens: none;
}
p, li {
 text-wrap: pretty;
}
h1, h2, h3, .svc-title, .faq-item summary {
 text-wrap: balance;
}

/* Mettre davantage en évidence les conclusions importantes */
.independence-band,
.model-proof {
 border-radius: 16px;
 box-shadow: 0 14px 34px rgba(12,59,110,.10);
}
.independence-band strong,
.model-proof strong {
 font-size: clamp(1.12rem,1.6vw,1.32rem);
 line-height: 1.25;
}
.independence-band p,
.model-proof p {
 font-size: .95rem;
 line-height: 1.65;
 max-width: 920px;
}

/* Déroulement du démarrage */
.start-flow {
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:18px;
 position:relative;
}
.start-step {
 background:var(--white);
 border:1px solid var(--border);
 border-radius:14px;
 padding:22px 18px;
 min-height:190px;
 display:flex;
 flex-direction:column;
}
.start-num {
 color:var(--blue-mid);
 font-weight:800;
 font-size:.78rem;
 letter-spacing:1px;
 margin-bottom:14px;
}
.start-step h3 {
 color:var(--blue-dark);
 font-size:1rem;
 margin-bottom:10px;
}
.start-step p {
 color:var(--gray-text);
 font-size:.88rem;
 line-height:1.6;
 text-align:left;
}
.start-billing {
 margin-top:24px;
 padding:18px 22px;
 border-left:4px solid var(--cyan);
 background:var(--bg-soft);
 border-radius:10px;
 color:var(--blue-dark);
 font-size:.92rem;
 line-height:1.6;
}
@media(max-width:1100px){
 .start-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .start-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 .start-flow{grid-template-columns:1fr}
 .start-step{min-height:0}
}

.founder-proof{
 display:inline-block;
 margin:8px 0 16px;
 padding:7px 11px;
 border-radius:999px;
 background:var(--bg-soft2);
 color:var(--blue-dark);
 font-size:.78rem;
 font-weight:700;
 line-height:1.35;
}
.contact-secondary{
 margin-top:18px;
 text-align:center;
 font-size:.88rem;
 color:var(--gray-text);
}
.contact-secondary a{
 color:var(--blue-mid);
 font-weight:700;
 text-decoration:underline;
 text-underline-offset:3px;
}

/* ===== Cohérence V22 ===== */
.approach-card-clean{
 background:var(--white);
 border:1px solid var(--border);
 border-top:3px solid var(--blue-mid);
 border-radius:14px;
 padding:26px 24px;
}
.approach-card-clean h3{font-size:.95rem;color:var(--blue-dark);margin-bottom:9px}
.approach-card-clean p{font-size:.9rem;color:var(--gray-text);line-height:1.65;text-align:left}

.svc-grid-no-price .svc-card{
 grid-template-rows:44px 66px 125px minmax(155px,1fr)!important;
}
.svc-grid-no-price .svc-price{display:none!important}
.svc-grid-no-price .svc-desc,.svc-grid-no-price li{text-align:left}

.model-section-clean{background:var(--white)}
.model-visual{display:grid;gap:22px;max-width:980px}
.model-line{border:1px solid var(--border);border-radius:14px;padding:22px;background:var(--bg-soft)}
.model-line-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:14px}
.model-line-head strong{color:var(--blue-dark)}
.model-line-head span{color:var(--gray-text);font-size:.8rem;text-align:right}
.model-bar{display:flex;height:58px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--border)}
.model-bar span{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;text-align:center;padding:5px}
.traditional-bar .bar-base{width:48%;background:var(--blue-dark);color:#fff}
.traditional-bar .bar-add{flex:1;background:rgba(29,191,255,.25);color:var(--blue-dark);border-left:1px solid rgba(255,255,255,.7)}
.synectech-bar{width:78%}
.synectech-bar .bar-base{width:100%;background:var(--blue-mid);color:#fff}
.synectech-bar .bar-included{width:22%;background:rgba(29,191,255,.16);color:var(--blue-dark)}
.model-note{max-width:980px;color:var(--gray-text);font-size:.74rem;margin:10px 0 30px;text-align:left}
.model-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.model-principle{border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--bg-soft)}
.model-principle h3{color:var(--blue-dark);font-size:1rem;margin-bottom:9px}
.model-principle p{color:var(--gray-text);font-size:.88rem;line-height:1.62;text-align:left}
.model-conclusion{margin-top:22px;padding:28px 30px;border-radius:16px;background:var(--blue-dark);display:flex;justify-content:space-between;gap:30px;align-items:center}
.model-conclusion strong{color:#fff;font-size:clamp(1.2rem,2vw,1.55rem)}
.model-conclusion span{color:var(--cyan);font-weight:700;text-align:right}

.pricing-section{padding:96px 5vw;background:var(--bg-soft)}
.pricing-inner{max-width:1320px;margin:0 auto}
.pricing-head{max-width:740px;margin-bottom:34px}
.pricing-head h2{color:var(--blue-dark);font-size:clamp(1.9rem,3.2vw,2.55rem);line-height:1.15;margin-bottom:13px}
.pricing-head p,.pricing-note{color:var(--gray-text);line-height:1.65;text-align:left}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.price-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:150px}
.price-card h3{color:var(--blue-dark);font-size:.98rem;line-height:1.3;margin-bottom:24px}
.price-value{color:var(--blue-mid);font-size:1.45rem;font-weight:800;line-height:1.15}
.price-value small{display:block;color:var(--gray-text);font-size:.72rem;font-weight:500;margin-top:5px}
.pricing-note{font-size:.82rem;margin-top:18px;max-width:760px}

.continuity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.continuity-card{border:1px solid var(--border);border-radius:14px;padding:24px;background:#fff}
.continuity-card h3{color:var(--blue-dark);font-size:1rem;margin-bottom:8px}
.continuity-card p{color:var(--gray-text);font-size:.88rem;line-height:1.6;text-align:left}

.compact-tech{padding-top:76px;padding-bottom:76px}
.compact-tech .trust-head{margin-bottom:24px}

@media(max-width:1050px){
 .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .model-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .model-principles .model-principle:last-child{grid-column:1/-1}
}
@media(max-width:760px){
 .svc-grid-no-price .svc-card{display:flex!important}
 .model-line-head{display:block}
 .model-line-head span{display:block;text-align:left;margin-top:4px}
 .model-bar{height:52px}
 .model-bar span{font-size:.64rem}
 .synectech-bar{width:86%}
 .model-principles,.continuity-grid{grid-template-columns:1fr}
 .model-principles .model-principle:last-child{grid-column:auto}
 .model-conclusion{display:block}
 .model-conclusion span{display:block;text-align:left;margin-top:8px}
 .pricing-grid{grid-template-columns:1fr}
 .price-card{min-height:0}
}
@media(max-width:480px){
 .traditional-bar .bar-add:nth-last-child(-n+2){display:none}
 .traditional-bar .bar-base{width:55%}
 .synectech-bar{width:92%}
}

/* ===== V23 : progression commerciale ===== */
.desire-head{max-width:760px;margin-bottom:34px}
.desire-head h2{font-size:clamp(1.9rem,3.3vw,2.55rem);line-height:1.15;color:var(--blue-dark);margin:0}
.desire-head h2 span{color:var(--blue-mid)}
.desire-head p{margin-top:14px;color:var(--gray-text);font-size:1rem;line-height:1.7;text-align:left}
.desire-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.desire-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--blue-mid);border-radius:14px;padding:25px 22px;min-width:0}
.desire-card h3{color:var(--blue-dark);font-size:.97rem;line-height:1.3;margin-bottom:9px}
.desire-card p{color:var(--gray-text);font-size:.88rem;line-height:1.62;text-align:left}

.services-head{max-width:760px;margin:0 0 36px}
.services-head h2{color:var(--blue-dark);font-size:clamp(1.9rem,3.2vw,2.55rem);line-height:1.15;margin-bottom:13px}
.services-head p{color:var(--gray-text);line-height:1.65;text-align:left}
.services-price-note{max-width:760px;margin:22px 0 0;color:var(--gray-text);font-size:.82rem;line-height:1.6;text-align:left}

.svc-grid{align-items:stretch}
.svc-card{
 display:grid!important;
 grid-template-rows:44px 72px 132px minmax(155px,1fr) 72px!important;
 height:100%;
}
.svc-title{align-self:end}
.svc-desc{margin:0!important;text-align:left}
.svc-features{margin:0!important;padding-top:14px}
.svc-features li{text-align:left}
.svc-price{margin-top:auto!important;align-self:end!important}

.model-section-clean .trust-head{max-width:760px}
.model-principles{margin-bottom:28px}
.model-visual{margin-top:8px}
.model-conclusion strong{white-space:nowrap}
.model-conclusion span{max-width:700px}

@media(max-width:1100px){
 .desire-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .svc-card{grid-template-rows:auto auto auto 1fr auto!important}
 .svc-title{margin-top:14px}
 .svc-desc{margin-top:10px!important}
 .svc-price{margin-top:24px!important}
}
@media(max-width:680px){
 .desire-grid{grid-template-columns:1fr}
 .svc-card{display:flex!important;flex-direction:column}
 .model-conclusion strong{white-space:normal}
}

/* ===== V24 : valeur, sincérité et prévention ===== */

.problem-solution-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:20px;
}
.ps-card{
 min-width:0;
 border:1px solid var(--border);
 border-radius:16px;
 overflow:hidden;
 background:#fff;
}
.ps-problem,.ps-solution{
 padding:24px;
}
.ps-problem{
 background:var(--bg-soft);
 border-bottom:1px solid var(--border);
}
.ps-solution{
 background:#fff;
}
.ps-label{
 display:block;
 font-size:.67rem;
 font-weight:800;
 letter-spacing:1px;
 color:var(--gray-text);
 margin-bottom:8px;
}
.ps-solution .ps-label{
 color:var(--blue-mid);
}
.ps-card h3{
 color:var(--blue-dark);
 font-size:1.02rem;
 line-height:1.3;
 margin-bottom:8px;
}
.ps-card p{
 color:var(--gray-text);
 font-size:.87rem;
 line-height:1.6;
 text-align:left;
}
.ps-gain{
 display:block;
 margin-top:14px;
 color:var(--blue-mid);
 font-size:.82rem;
 line-height:1.45;
}

.model-wide{
 max-width:1360px;
}
.model-head-centered{
 max-width:900px!important;
 margin-left:auto;
 margin-right:auto;
 text-align:center;
}
.model-head-centered p{
 text-align:center;
 margin-left:auto;
 margin-right:auto;
}
.model-principles-wide{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.model-principle{
 display:flex;
 flex-direction:column;
 min-height:245px;
}
.model-problem{
 display:block;
 color:var(--gray-text);
 font-size:.72rem;
 font-weight:700;
 letter-spacing:.2px;
 margin-bottom:7px;
}
.model-client-gain{
 display:block;
 margin-top:auto;
 padding-top:16px;
 color:var(--blue-mid);
 font-size:.82rem;
 line-height:1.45;
}
.model-visual{
 max-width:1100px;
 margin:32px auto 0;
}
.model-note{
 max-width:1100px;
 margin-left:auto!important;
 margin-right:auto!important;
}
.model-conclusion-strong{
 max-width:1100px;
 margin:26px auto 0;
 padding:34px 38px!important;
 display:block!important;
 text-align:center;
 background:linear-gradient(135deg,var(--blue-dark),var(--blue-mid))!important;
}
.model-conclusion-strong strong{
 display:block;
 color:#fff;
 font-size:clamp(1.45rem,2.8vw,2.25rem)!important;
 line-height:1.2;
 margin-bottom:8px;
 white-space:normal!important;
}
.model-conclusion-strong span{
 display:block;
 max-width:none;
 color:#fff!important;
 font-size:clamp(1rem,1.8vw,1.28rem);
 line-height:1.4;
 text-align:center!important;
}

@media(max-width:900px){
 .problem-solution-grid{
 grid-template-columns:1fr;
 }
 .model-principles-wide{
 grid-template-columns:1fr!important;
 }
 .model-principle{
 min-height:0;
 }
}
@media(max-width:640px){
 
 
 .ps-problem,.ps-solution{
 padding:20px;
 }
 .model-head-centered,
 .model-head-centered p{
 text-align:left;
 }
 .model-conclusion-strong{
 padding:28px 22px!important;
 text-align:left;
 }
 .model-conclusion-strong span{
 text-align:left!important;
 }
}

/* ===== V30 — finition alignement et responsive ===== */

/* Hero selling points */

/* Differentiator sections */
#pourquoi .trust-head,
#independance .trust-head,
#proximite .trust-head{
 max-width:840px;
 margin-bottom:26px;
}
#pourquoi .trust-head p,
#independance .trust-head p,
#proximite .trust-head p{
 max-width:760px;
}
.differentiation-solution{
 max-width:1040px;
 margin-top:0!important;
 padding:28px 30px;
}
.differentiation-solution strong{
 display:block;
 margin-bottom:8px;
 color:var(--blue-dark);
 font-size:clamp(1.08rem,1.8vw,1.32rem);
 line-height:1.3;
}
.differentiation-solution p{
 margin:0;
 max-width:900px;
 font-size:.92rem;
 line-height:1.65;
 text-align:left;
}

/* Model section */
.model-wide{
 max-width:1360px;
}
.model-head-centered{
 max-width:900px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 text-align:center;
}
.model-head-centered p{
 max-width:820px;
 margin-left:auto;
 margin-right:auto;
 text-align:center;
}
.model-visual{
 max-width:1100px;
 margin-left:auto;
 margin-right:auto;
}
.model-note{
 max-width:1100px;
 margin-left:auto!important;
 margin-right:auto!important;
}
.model-conclusion-strong{
 max-width:1100px;
 margin-left:auto!important;
 margin-right:auto!important;
}

/* Services */
.services-head{
 max-width:780px;
}
.svc-grid{
 align-items:stretch;
}
.svc-card{
 height:100%;
}
.svc-title,
.svc-desc,
.svc-features,
.svc-price{
 min-width:0;
}
.svc-desc,
.svc-features li{
 text-align:left;
 text-align-last:auto;
 word-break:normal;
 overflow-wrap:normal;
 hyphens:none;
}

/* Continuity */
.continuity-intro{
 max-width:820px;
 margin-bottom:26px;
}
.continuity-intro .section-label{
 display:block;
 margin-bottom:8px;
}
.continuity-intro p{
 margin:0;
 color:var(--gray-text);
 font-size:.96rem;
 line-height:1.65;
 text-align:left;
}
.continuity-grid{
 align-items:stretch;
}
.continuity-card{
 height:100%;
}

/* Start flow */
.start-flow{
 align-items:stretch;
}
.start-step{
 height:100%;
}

/* Generic no-word-splitting guard */
h1,h2,h3,h4,p,li,span,a,strong{
 word-break:normal;
 overflow-wrap:normal;
 hyphens:none;
}

/* Responsive */
@media(max-width:1100px){
 
}

@media(max-width:900px){
 

 .differentiation-solution{
 max-width:none;
 }

 .model-head-centered,
 .model-head-centered p{
 text-align:left;
 }

 .svc-grid{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

 .svc-card{
 display:flex!important;
 flex-direction:column;
 }

 .svc-price{
 margin-top:auto!important;
 padding-top:22px;
 }

 .continuity-grid{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

 .continuity-grid .continuity-card:last-child{
 grid-column:1 / -1;
 width:calc(50% - 9px);
 justify-self:center;
 }

 .start-flow{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

 .start-flow .start-step:last-child{
 grid-column:1 / -1;
 width:calc(50% - 9px);
 justify-self:center;
 }
}

@media(max-width:640px){
 
 

 #pourquoi .trust-head,
 #independance .trust-head,
 #proximite .trust-head{
 margin-bottom:20px;
 }

 .differentiation-solution{
 padding:22px 20px;
 }

 .svc-grid,
 .continuity-grid,
 .start-flow{
 grid-template-columns:1fr!important;
 }

 .continuity-grid .continuity-card:last-child,
 .start-flow .start-step:last-child{
 grid-column:auto;
 width:100%;
 justify-self:stretch;
 }

 .model-line-head{
 display:block;
 }
 .model-line-head span{
 display:block;
 margin-top:5px;
 text-align:left;
 }

 .model-conclusion-strong{
 text-align:left!important;
 }
 .model-conclusion-strong span{
 text-align:left!important;
 }
}

/* ===== V31 — harmonisation globale de la mise en page ===== */
:root{
 --page-max: 1240px;
 --page-pad: clamp(20px,5vw,72px);
 --section-y: clamp(72px,8vw,112px);
 --text-max: 760px;
}

/* Une seule largeur de contenu pour tout le site */
.hero,
.trust-section,
.section,
.cta-section,
.faq-section{
 padding-left:var(--page-pad);
 padding-right:var(--page-pad);
}
.hero-inner,
.trust-inner,
.section#services > .services-head,
.section#services > .svc-grid,
.section#services > .services-price-note,
.contact-wrap,
.faq-wrap{
 width:100%;
 max-width:var(--page-max);
 margin-left:auto;
 margin-right:auto;
}

/* Rythme vertical uniforme */
.trust-section,
.section,
.cta-section{
 padding-top:var(--section-y);
 padding-bottom:var(--section-y);
}
.faq-section{
 padding-top:clamp(72px,7vw,96px);
 padding-bottom:clamp(72px,7vw,96px);
}
.compact-tech{
 padding-top:clamp(64px,6vw,82px);
 padding-bottom:clamp(64px,6vw,82px);
}

/* Titres et paragraphes introductifs : alignés à gauche sur desktop */
.trust-head,
.services-head,
.continuity-intro{
 max-width:var(--text-max);
 margin-left:0;
 margin-right:0;
}
.trust-head h2,
.services-head h2,
.continuity-intro h2,
.trust-head p,
.services-head p,
.continuity-intro p{
 text-align:left;
}

/* Hero : même axe visuel que les sections */
.hero{
 min-height:760px;
 padding-top:132px;
 padding-bottom:72px;
}
.hero-inner{
 max-width:var(--page-max);
}
.hero-inner > h1,
.hero-inner > .lead,
.hero-inner > .hero-trust-points,
.hero-inner > .hero-actions{
 max-width:620px;
}
.hero p.lead{
 text-align:left;
}

/* Blocs de différenciation : largeur maîtrisée et cohérente */
.differentiation-solution{
 width:min(100%,1040px);
 margin-left:0!important;
 margin-right:0!important;
}

/* Modèle économique : volontairement centré, car c'est une démonstration */
.model-head-centered{
 text-align:center!important;
}
.model-head-centered p{
 text-align:center!important;
}
.model-visual,
.model-note,
.model-conclusion-strong{
 width:min(100%,1100px);
}

/* Services : 4 cartes propres, avec contenu naturel et prix aligné en bas */
.svc-grid{
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:22px!important;
}
.svc-card{
 display:flex!important;
 flex-direction:column;
 min-height:100%;
 padding:32px 28px;
}
.svc-card .svc-icon{margin-bottom:18px}
.svc-card .svc-title{
 margin:0 0 12px!important;
 min-height:0!important;
 align-items:flex-start;
}
.svc-card .svc-desc{
 margin:0 0 18px!important;
}
.svc-card .svc-features{
 margin:0!important;
 padding-top:0!important;
}
.svc-card .svc-price{
 margin-top:auto!important;
 padding-top:24px;
 align-items:baseline!important;
}
.services-price-note{
 max-width:var(--text-max)!important;
 margin-top:24px!important;
}

/* Cartes génériques */
.continuity-grid{gap:20px}
.continuity-card,
.start-step,
.price-card,
.principle-card,
.approach-card-clean{
 height:100%;
}
.start-flow{gap:18px}

/* Technologies : distribution régulière */
.tech-strip{
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:12px;
}
.tech-chip{min-height:72px}

/* Fondateur : meilleure proportion */
.founder-card{
 grid-template-columns:minmax(260px,360px) minmax(0,1fr);
 gap:clamp(34px,5vw,64px);
}
.founder-photo-wrap{
 width:100%;
 max-width:360px;
 justify-self:start;
}

/* FAQ et contact : centrés car ce sont des blocs de conclusion */
.faq-wrap{max-width:920px}
.contact-wrap{max-width:1040px}
.contact-intro,
.contact-card p,
.contact-meta{
 text-align:center;
}

/* Navigation */
nav{
 padding-left:var(--page-pad);
 padding-right:var(--page-pad);
}

/* Tablet */
@media(max-width:1100px){
 .hero{min-height:700px}
 .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:900px!important}
 .continuity-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .start-flow{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .start-flow .start-step:last-child{
 grid-column:auto!important;
 width:auto!important;
 justify-self:stretch!important;
 }
}

@media(max-width:900px){
 .hero{min-height:640px}
 .founder-card{grid-template-columns:1fr}
 .founder-photo-wrap{justify-self:center}
 .continuity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .continuity-grid .continuity-card:last-child{
 grid-column:1/-1;
 width:calc(50% - 10px);
 justify-self:center;
 }
 .start-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .start-flow .start-step:last-child{
 grid-column:1/-1!important;
 width:calc(50% - 9px)!important;
 justify-self:center!important;
 }
 .tech-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Mobile : tout devient simple, vertical et lisible */
@media(max-width:640px){
 :root{--page-pad:20px;--section-y:72px}
 nav{height:68px}
 section[id]{scroll-margin-top:68px}
 .hero{
 min-height:auto!important;
 padding-top:108px!important;
 padding-bottom:56px!important;
 text-align:left!important;
 }
 .hero-inner{
 width:100%!important;
 max-width:100%!important;
 margin:0!important;
 }
 .hero-inner > h1,
 .hero-inner > .lead,
 .hero-inner > .hero-trust-points,
 .hero-inner > .hero-actions{
 max-width:min(76vw,440px);
 }
 .hero h1{font-size:clamp(2rem,9.5vw,2.8rem)!important}
 .hero p.lead{font-size:.95rem!important;line-height:1.6!important}
 .hero-actions{justify-content:flex-start!important}
 
 
 .hero-chevron{width:50vw!important;opacity:.48!important}
 .hero-hexpattern{display:none}

 .trust-head,
 .services-head,
 .continuity-intro{
 max-width:100%;
 margin-bottom:28px;
 }
 .model-head-centered,
 .model-head-centered p{
 text-align:left!important;
 }
 .svc-grid,
 .continuity-grid,
 .start-flow,
 .tech-strip{
 grid-template-columns:1fr!important;
 max-width:100%!important;
 }
 .svc-card{padding:26px 22px}
 .continuity-grid .continuity-card:last-child,
 .start-flow .start-step:last-child{
 grid-column:auto!important;
 width:100%!important;
 justify-self:stretch!important;
 }
 .tech-chip{min-height:60px}
 .founder-card{padding:24px}
 .founder-photo-wrap{max-width:300px}
 .contact-actions{grid-template-columns:1fr}
 footer{padding-left:var(--page-pad);padding-right:var(--page-pad)}
}

@media(max-width:420px){
 .hero-inner > h1,
 .hero-inner > .lead,
 .hero-inner > .hero-trust-points,
 .hero-inner > .hero-actions{max-width:82vw}
 .hero-chevron{width:46vw!important;opacity:.4!important}
 
 
}

/* ==========================================================================\n SYNECTECH — FINAL LAYOUT PASS V31\n Cette couche est volontairement placée en dernier et remplace les anciens\n ajustements contradictoires sans modifier l'identité visuelle du site.\n ========================================================================== */
:root{
 --layout-max: 1320px;
 --copy-max: 720px;
 --page-gutter: clamp(22px, 5vw, 72px);
 --section-space: clamp(76px, 8vw, 112px);
}

/* ---------- Base de lecture ---------- */
body p,
body li,
body .svc-desc,
body .svc-features li,
body .trust-head p,
body .founder-copy p,
body .faq-answer p{
 text-align:left !important;
 text-justify:auto !important;
 hyphens:none !important;
 word-break:normal !important;
 overflow-wrap:normal !important;
}

body .section,
body .trust-section,
body .faq-section,
body .cta-section{
 padding-left:var(--page-gutter) !important;
 padding-right:var(--page-gutter) !important;
}
body .section,
body .trust-section{
 padding-top:var(--section-space) !important;
 padding-bottom:var(--section-space) !important;
}
body .trust-inner,
body .section#services > .services-head,
body .section#services > .svc-grid,
body .section#services > .services-price-note{
 width:100% !important;
 max-width:var(--layout-max) !important;
 margin-left:auto !important;
 margin-right:auto !important;
}

/* ---------- Navigation ---------- */
body nav{
 height:76px;
 padding-left:var(--page-gutter) !important;
 padding-right:var(--page-gutter) !important;
}

/* ---------- HERO ---------- */
body .hero{
 min-height:720px !important;
 padding:140px var(--page-gutter) 92px !important;
 align-items:center !important;
}
body .hero-inner{
 width:min(100%, var(--layout-max)) !important;
 max-width:var(--layout-max) !important;
 margin:0 auto !important;
}
body .hero-inner > h1,
body .hero-inner > .lead,
body .hero-inner > .hero-trust-points,
body .hero-inner > .hero-actions{
 width:min(100%, 630px) !important;
 max-width:630px !important;
}
body .hero h1{
 margin:0 0 24px !important;
}
body .hero p.lead{
 margin:0 0 30px !important;
 line-height:1.72 !important;
}
body 
body 
body .hero-actions{
 margin:0 !important;
}
body .hero .btn-primary{
 min-height:52px;
 padding:15px 28px !important;
}
body .hero-chevron{
 width:clamp(430px,44vw,720px) !important;
}

/* ---------- Différenciateurs / Approche ---------- */
body .differentiator-section .trust-inner{
 display:grid !important;
 grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
 gap:clamp(48px,7vw,96px) !important;
 align-items:center !important;
}
body .differentiator-section .trust-head{
 max-width:610px !important;
 margin:0 !important;
}
body .differentiator-section .trust-head h2{
 margin-bottom:18px !important;
}
body .differentiator-section .trust-head p{
 max-width:590px !important;
 margin:0 !important;
 font-size:1rem !important;
 line-height:1.72 !important;
}
body .differentiator-section .differentiation-solution{
 width:100% !important;
 max-width:none !important;
 min-height:220px !important;
 margin:0 !important;
 padding:34px 36px !important;
 display:flex !important;
 flex-direction:column !important;
 justify-content:center !important;
 border-radius:18px !important;
 box-shadow:0 18px 42px rgba(12,59,110,.12) !important;
}
body .differentiator-section .differentiation-solution strong{
 margin:0 0 14px !important;
 color:#fff !important;
 font-size:clamp(1.18rem,1.6vw,1.42rem) !important;
 line-height:1.35 !important;
}
body .differentiator-section .differentiation-solution p{
 color:rgba(255,255,255,.82) !important;
 font-size:.95rem !important;
 line-height:1.72 !important;
 margin:0 !important;
}

/* ---------- Modèle économique ---------- */
body .model-section-clean .trust-inner{
 max-width:var(--layout-max) !important;
}
body .model-head-centered{
 max-width:860px !important;
 margin:0 auto 46px !important;
 text-align:center !important;
}
body .model-head-centered p{
 max-width:760px !important;
 margin:14px auto 0 !important;
 text-align:center !important;
}
body .model-visual{
 width:min(100%,1050px) !important;
 max-width:1050px !important;
 margin:0 auto !important;
}
body .model-line{
 padding:26px !important;
}
body .model-line + .model-line{
 margin-top:18px;
}
body .model-note{
 width:min(100%,1050px) !important;
 max-width:1050px !important;
 margin:14px auto 34px !important;
}
body .model-benefits{
 width:min(100%,1050px);
 margin:0 auto 28px;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:16px;
}
body .model-benefits > div{
 min-height:132px;
 padding:24px 22px;
 background:#fff;
 border:1px solid var(--border);
 border-radius:14px;
 display:flex;
 flex-direction:column;
 justify-content:center;
}
body .model-benefits strong{
 display:block;
 color:var(--blue-dark);
 font-size:1rem;
 line-height:1.3;
 margin-bottom:7px;
}
body .model-benefits span{
 color:var(--gray-text);
 font-size:.86rem;
 line-height:1.55;
}
body .model-conclusion-strong{
 width:min(100%,1050px) !important;
 max-width:1050px !important;
 margin:0 auto !important;
}

/* ---------- Services ---------- */
body #services .services-head{
 margin:0 auto 46px !important;
}
body #services .services-head h2{
 margin-bottom:14px !important;
}
body #services .services-head p{
 max-width:720px !important;
 line-height:1.7 !important;
}
body #services .svc-grid{
 display:grid !important;
 grid-template-columns:repeat(4,minmax(0,1fr)) !important;
 gap:22px !important;
 align-items:stretch !important;
}
body #services .svc-card{
 display:flex !important;
 flex-direction:column !important;
 height:100% !important;
 min-height:520px !important;
 padding:30px 26px !important;
}
body #services .svc-icon{
 height:38px !important;
 margin:0 0 22px !important;
 display:flex !important;
 align-items:center !important;
 justify-content:flex-start !important;
 line-height:1 !important;
 color:var(--ink);
}
body #services .svc-title{
 display:block !important;
 min-height:auto !important;
 margin:0 0 14px !important;
 align-self:auto !important;
 text-align:left !important;
 font-size:1.17rem !important;
 line-height:1.3 !important;
}
body #services .svc-desc{
 min-height:130px !important;
 margin:0 0 16px !important;
 font-size:.88rem !important;
 line-height:1.68 !important;
}
body #services .svc-features{
 margin:0 !important;
 padding:0 !important;
}
body #services .svc-features li{
 min-height:38px;
 padding:8px 0 !important;
 align-items:flex-start !important;
 line-height:1.45 !important;
}
body #services .svc-features li::before{
 margin-top:.5em;
}
body #services .svc-price{
 margin-top:auto !important;
 padding-top:28px !important;
 align-items:baseline !important;
}
body #services .services-price-note{
 margin-top:26px !important;
}

/* ---------- Continuité / démarrage / technologies ---------- */
body .continuity-intro,
body #demarrage .trust-head,
body #technologies .trust-head{
 max-width:760px !important;
 margin-bottom:36px !important;
}
body .continuity-grid{
 grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 gap:20px !important;
}
body .continuity-card{
 padding:26px !important;
}
body .start-flow{
 grid-template-columns:repeat(5,minmax(0,1fr)) !important;
 gap:16px !important;
}
body .start-step{
 min-height:220px !important;
 padding:24px 20px !important;
}
body .start-billing{
 margin-top:28px !important;
}
body .tech-strip{
 grid-template-columns:repeat(5,minmax(0,1fr)) !important;
 gap:12px !important;
}

/* ---------- Fondateur ---------- */
body .founder-card{
 grid-template-columns:minmax(280px,360px) minmax(0,1fr) !important;
 gap:clamp(42px,6vw,78px) !important;
 align-items:center !important;
}
body .founder-photo-wrap{
 max-width:360px !important;
}

/* ---------- Tablette ---------- */
@media (max-width:1100px){
 body .hero{
 min-height:650px !important;
 }
 body .differentiator-section .trust-inner{
 grid-template-columns:1fr 1fr !important;
 gap:40px !important;
 }
 body #services .svc-grid{
 grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 max-width:900px !important;
 }
 body #services .svc-card{
 min-height:0 !important;
 }
 body #services .svc-desc{
 min-height:0 !important;
 }
 body .start-flow{
 grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
 body .start-step{
 min-height:0 !important;
 }
 body .tech-strip{
 grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
}

/* ---------- Mobile / petit tablette ---------- */
@media (max-width:760px){
 :root{
 --page-gutter:22px;
 --section-space:72px;
 }
 body nav{
 height:68px !important;
 }
 body section[id]{scroll-margin-top:68px}

 body .hero{
 min-height:0 !important;
 padding:112px var(--page-gutter) 72px !important;
 text-align:left !important;
 overflow:hidden !important;
 }
 body .hero::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:1;
 pointer-events:none;
 background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 58%,rgba(255,255,255,.42) 100%);
 }
 body .hero-inner{
 position:relative !important;
 z-index:3 !important;
 width:100% !important;
 max-width:100% !important;
 margin:0 !important;
 }
 body .hero-inner > h1,
 body .hero-inner > .lead,
 body .hero-inner > .hero-trust-points,
 body .hero-inner > .hero-actions{
 width:100% !important;
 max-width:520px !important;
 }
 body .hero h1{
 font-size:clamp(2.25rem,10vw,3.15rem) !important;
 line-height:1.06 !important;
 margin-bottom:22px !important;
 }
 body .hero p.lead{
 max-width:500px !important;
 margin-bottom:26px !important;
 font-size:.98rem !important;
 line-height:1.65 !important;
 }
 body 
 body 
 body .hero-actions{
 display:flex !important;
 width:auto !important;
 }
 body .hero .btn-primary{
 width:auto !important;
 min-width:190px !important;
 justify-content:center !important;
 }
 body .hero-chevron{
 display:block !important;
 width:48vw !important;
 min-width:210px !important;
 opacity:.24 !important;
 z-index:0 !important;
 }
 body .hero-curve{
 opacity:.28 !important;
 }
 body .hero-hexpattern{
 display:none !important;
 }

 body .differentiator-section .trust-inner{
 display:block !important;
 }
 body .differentiator-section .trust-head{
 max-width:100% !important;
 margin-bottom:30px !important;
 }
 body .differentiator-section .differentiation-solution{
 min-height:0 !important;
 padding:28px 24px !important;
 }

 body .model-head-centered,
 body .model-head-centered p{
 text-align:left !important;
 margin-left:0 !important;
 margin-right:0 !important;
 }
 body .model-head-centered{
 margin-bottom:34px !important;
 }
 body .model-line{
 padding:20px !important;
 }
 body .model-line-head{
 display:block !important;
 }
 body .model-line-head span{
 display:block !important;
 margin-top:5px !important;
 text-align:left !important;
 }
 body .model-benefits{
 grid-template-columns:1fr !important;
 }
 body .model-benefits > div{
 min-height:0 !important;
 }
 body .model-conclusion-strong{
 padding:28px 24px !important;
 text-align:left !important;
 }
 body .model-conclusion-strong span{
 text-align:left !important;
 }

 body #services .services-head{
 margin-bottom:32px !important;
 }
 body #services .svc-grid{
 grid-template-columns:1fr !important;
 max-width:100% !important;
 gap:18px !important;
 }
 body #services .svc-card{
 display:flex !important;
 flex-direction:column !important;
 width:100% !important;
 min-height:0 !important;
 padding:26px 22px !important;
 text-align:left !important;
 }
 body #services .svc-icon{
 height:auto !important;
 margin:0 0 16px !important;
 justify-content:flex-start !important;
 }
 body #services .svc-title{
 display:block !important;
 width:100% !important;
 margin:0 0 12px !important;
 text-align:left !important;
 align-self:stretch !important;
 font-size:1.15rem !important;
 }
 body #services .svc-desc{
 min-height:0 !important;
 margin:0 0 12px !important;
 }
 body #services .svc-features{
 width:100% !important;
 }
 body #services .svc-price{
 width:100% !important;
 margin-top:0 !important;
 padding-top:24px !important;
 justify-content:flex-start !important;
 }

 body .continuity-grid,
 body .start-flow,
 body .tech-strip{
 grid-template-columns:1fr !important;
 }
 body .continuity-grid .continuity-card:last-child,
 body .start-flow .start-step:last-child{
 grid-column:auto !important;
 width:100% !important;
 justify-self:stretch !important;
 }
 body .tech-chip{
 min-height:58px !important;
 }
 body .founder-card{
 grid-template-columns:1fr !important;
 gap:28px !important;
 padding:24px !important;
 }
 body .founder-photo-wrap{
 max-width:300px !important;
 justify-self:start !important;
 }
 body .contact-actions{
 grid-template-columns:1fr !important;
 }
}

/* ---------- Très petit mobile ---------- */
@media (max-width:430px){
 :root{--page-gutter:20px}
 body .hero{
 padding-top:104px !important;
 padding-bottom:64px !important;
 }
 body .hero h1{
 font-size:clamp(2rem,10.5vw,2.65rem) !important;
 }
 body 
 body .hero-trust-points span:nth-child(3){
 grid-column:1 / -1;
 justify-self:start;
 }
 body .hero-chevron{
 width:52vw !important;
 opacity:.18 !important;
 }
 body .model-bar{
 height:50px !important;
 }
 body .model-bar span{
 font-size:.61rem !important;
 padding:4px !important;
 }
 body #services .svc-card{
 padding:24px 20px !important;
 }
}

/* ===== V31 — differentiation sequence + requested continuity removal ===== */

/* The 3 commercial arguments now read as a sequence rather than identical stacked bands. */
.differentiator-section{
 padding:clamp(78px,8vw,118px) 5vw;
 overflow:hidden;
}
.differentiator-section .trust-inner{
 position:relative;
 display:grid;
 grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
 gap:clamp(54px,7vw,110px);
 align-items:center;
 max-width:1320px;
}
.differentiator-section .trust-inner::after{
 content:"";
 position:absolute;
 width:260px;
 height:260px;
 border:1px solid rgba(24,95,165,.08);
 border-radius:50%;
 right:-115px;
 top:50%;
 transform:translateY(-50%);
 pointer-events:none;
}
.differentiator-section .trust-head{
 position:relative;
 max-width:590px!important;
 margin:0!important;
 padding:8px 0 8px 22px;
}
.differentiator-section .trust-head::before{
 content:"01";
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:42px;
 height:28px;
 margin-bottom:18px;
 border-radius:999px;
 background:var(--bg-soft2);
 color:var(--blue-mid);
 font-size:.72rem;
 font-weight:800;
 letter-spacing:1px;
}
#independance .trust-head::before{content:"02"}
#proximite .trust-head::before{content:"03"}
.differentiator-section .trust-head::after{
 content:"";
 position:absolute;
 left:0;
 top:51px;
 bottom:8px;
 width:3px;
 border-radius:3px;
 background:linear-gradient(180deg,var(--cyan),rgba(29,191,255,0));
}
.differentiator-section .trust-head h2{
 margin-bottom:20px;
 max-width:560px;
}
.differentiator-section .trust-head p{
 max-width:540px!important;
 margin:0;
 font-size:.98rem;
 line-height:1.75;
 text-align:left;
}
.differentiator-section .differentiation-solution{
 position:relative;
 z-index:1;
 width:100%;
 max-width:none;
 min-height:250px;
 margin:0!important;
 padding:clamp(34px,4vw,48px);
 border-radius:22px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 box-shadow:0 24px 60px rgba(12,59,110,.13);
}
.differentiator-section .differentiation-solution::before{
 content:"";
 position:absolute;
 width:86px;
 height:86px;
 right:26px;
 top:22px;
 border-radius:20px;
 border:1px solid rgba(255,255,255,.10);
 transform:rotate(18deg);
 pointer-events:none;
}
.differentiator-section .differentiation-solution strong{
 max-width:560px;
 margin-bottom:24px;
 color:#fff;
 font-size:clamp(1.12rem,1.6vw,1.36rem);
 line-height:1.35;
}
.differentiator-section .differentiation-solution p{
 max-width:620px;
 color:rgba(255,255,255,.86);
 font-size:.94rem;
 line-height:1.75;
 text-align:left;
}

/* Alternate the second argument to avoid the repetitive left/right pattern. */
#independance .trust-head{
 grid-column:2;
 grid-row:1;
}
#independance .differentiation-solution{
 grid-column:1;
 grid-row:1;
}
#independance .trust-inner::after{
 right:auto;
 left:-115px;
}

/* Slight vertical offsets make the sequence feel editorial, not like a table. */
#pourquoi .differentiation-solution{transform:translateY(18px)}
#independance .differentiation-solution{transform:translateY(-10px)}
#proximite .differentiation-solution{transform:translateY(12px)}

/* Prevent legacy rules from forcing the old narrow band look. */
#pourquoi .differentiation-solution,
#independance .differentiation-solution,
#proximite .differentiation-solution{
 background:linear-gradient(145deg,#123f75 0%,#214a82 100%);
 border:1px solid rgba(255,255,255,.05);
}

@media(max-width:900px){
 .differentiator-section{
 padding:76px 5vw;
 }
 .differentiator-section .trust-inner{
 grid-template-columns:1fr;
 gap:30px;
 max-width:720px;
 }
 .differentiator-section .trust-head,
 #independance .trust-head{
 grid-column:1;
 grid-row:auto;
 max-width:640px!important;
 }
 .differentiator-section .differentiation-solution,
 #independance .differentiation-solution{
 grid-column:1;
 grid-row:auto;
 min-height:0;
 transform:none!important;
 }
 .differentiator-section .trust-inner::after{
 width:200px;
 height:200px;
 right:-110px!important;
 left:auto!important;
 top:auto;
 bottom:-70px;
 transform:none;
 }
}

@media(max-width:640px){
 .differentiator-section{
 padding:64px 5vw;
 }
 .differentiator-section .trust-inner{
 gap:24px;
 }
 .differentiator-section .trust-head{
 padding:0;
 }
 .differentiator-section .trust-head::after{
 display:none;
 }
 .differentiator-section .trust-head::before{
 margin-bottom:14px;
 }
 .differentiator-section .trust-head h2{
 font-size:clamp(1.75rem,7vw,2.2rem);
 margin-bottom:14px;
 }
 .differentiator-section .trust-head p{
 font-size:.92rem;
 line-height:1.65;
 }
 .differentiator-section .differentiation-solution{
 padding:27px 24px 29px;
 border-radius:17px;
 box-shadow:0 16px 38px rgba(12,59,110,.12);
 }
 .differentiator-section .differentiation-solution::before{
 width:58px;
 height:58px;
 right:17px;
 top:16px;
 border-radius:15px;
 }
 .differentiator-section .differentiation-solution strong{
 max-width:85%;
 margin-bottom:17px;
 font-size:1.05rem;
 }
 .differentiator-section .differentiation-solution p{
 font-size:.88rem;
 line-height:1.65;
 }
}

/* ===== V4 — finition alignements, lecture et mobile ===== */

/* Transition douce entre le Hero et l'approche */
.hero-transition{
 padding:44px 5vw 34px;
 background:var(--white);
}
.hero-transition-inner{
 width:100%;
 max-width:920px;
 margin:0 auto;
 text-align:center;
}
.hero-transition-kicker{
 display:inline-block;
 margin-bottom:10px;
 color:var(--blue-mid);
 font-size:.72rem;
 font-weight:800;
 letter-spacing:1.5px;
}
.hero-transition p{
 margin:0;
 color:var(--gray-text);
 font-size:clamp(.98rem,1.4vw,1.08rem);
 line-height:1.7;
 text-align:center;
}

/* Hero trust points : plus visibles et mieux structurés */

/* Business model : axe commun, vrai centrage */
#modele .trust-inner{
 max-width:1360px;
 margin:0 auto;
}
#modele .model-head-centered{
 width:100%;
 max-width:920px!important;
 margin:0 auto 34px!important;
 text-align:center!important;
}
#modele .model-head-centered h2{
 margin-left:auto;
 margin-right:auto;
 text-align:center;
}
#modele .model-head-centered p{
 max-width:820px!important;
 margin:14px auto 0!important;
 text-align:center!important;
}
#modele .model-visual,
#modele .model-note,
#modele .model-benefits,
#modele .model-conclusion{
 width:100%;
 max-width:1100px;
 margin-left:auto!important;
 margin-right:auto!important;
}

/* Justification uniquement pour les paragraphes de lecture */
.trust-head > p,
.founder-copy p,
.faq-answer p,
.contact-intro,
.hero-transition p{
 text-align:justify;
 text-justify:inter-word;
}
.hero-transition p,
#modele .model-head-centered p,
.contact-card p,
.model-note{
 text-align:center;
}
.svc-desc,
.svc-features li,
.start-step p,
.continuity-card p,
.differentiation-solution p,
.model-principle p{
 text-align:left;
}

/* Responsive : recentrer davantage les composants */
@media(max-width:900px){
 .hero-transition{padding:36px 6vw 28px}
 
 #modele .model-head-centered,
 #modele .model-head-centered h2,
 #modele .model-head-centered p{
 text-align:center!important;
 }
}

@media(max-width:640px){
 .hero{
 text-align:center!important;
 }
 .hero-inner{
 width:100%!important;
 max-width:100%!important;
 margin:0 auto!important;
 padding-left:4vw;
 padding-right:4vw;
 }
 .hero h1,
 .hero p.lead{
 text-align:center!important;
 margin-left:auto!important;
 margin-right:auto!important;
 }
 .hero p.lead{
 max-width:520px;
 }
 
 
 .hero-actions{
 justify-content:center!important;
 margin-top:18px;
 }
 .hero .btn-primary{
 width:min(100%,360px);
 justify-content:center;
 }
 .hero-transition{
 padding:32px 7vw 28px;
 }
 .hero-transition-inner{
 max-width:520px;
 }
 .hero-transition p{
 text-align:center!important;
 }

 .trust-section,
 .section,
 .pricing-section,
 .faq-section,
 .cta-section{
 padding-left:7vw!important;
 padding-right:7vw!important;
 }
 .trust-inner,
 .section > *,
 .pricing-inner,
 .faq-wrap,
 .contact-wrap{
 width:100%;
 margin-left:auto!important;
 margin-right:auto!important;
 }
 .trust-head,
 .services-head,
 .pricing-head,
 .continuity-intro{
 max-width:520px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 text-align:center!important;
 }
 .trust-head h2,
 .trust-head p,
 .services-head h2,
 .services-head p,
 .pricing-head h2,
 .pricing-head p,
 .continuity-intro p{
 text-align:center!important;
 }

 .differentiation-solution{
 max-width:520px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 text-align:center!important;
 }
 .differentiation-solution strong,
 .differentiation-solution p{
 text-align:center!important;
 }

 #modele .model-head-centered{
 max-width:520px!important;
 margin-bottom:28px!important;
 }
 #modele .model-head-centered h2,
 #modele .model-head-centered p{
 text-align:center!important;
 }
 .model-line{
 padding:18px;
 }
 .model-line-head,
 .model-line-head strong,
 .model-line-head span{
 text-align:center!important;
 }
 .model-bar{
 margin-left:auto;
 margin-right:auto;
 }
 .model-note{
 text-align:center!important;
 }
 .model-conclusion-strong{
 text-align:center!important;
 }
 .model-conclusion-strong span{
 text-align:center!important;
 }

 .svc-card,
 .start-step,
 .continuity-card,
 .price-card,
 .principle-card,
 .model-principle{
 max-width:520px;
 margin-left:auto;
 margin-right:auto;
 }
 .svc-icon{
 display:flex;
 justify-content:center;
 }
 .svc-title{
 justify-content:center;
 text-align:center!important;
 }
 .svc-desc{
 text-align:center!important;
 }
 .svc-features{
 width:100%;
 max-width:360px;
 margin-left:auto!important;
 margin-right:auto!important;
 }
 .svc-features li{
 text-align:left!important;
 }
 .svc-price{
 justify-content:center!important;
 text-align:center!important;
 }

 .founder-card{
 text-align:center;
 }
 .founder-photo-wrap{
 margin-left:auto;
 margin-right:auto;
 }
 .founder-copy h2,
 .founder-name{
 text-align:center;
 }
 .founder-copy p{
 text-align:justify!important;
 }

 .contact-card{
 max-width:520px;
 margin-left:auto;
 margin-right:auto;
 }
}

@media(max-width:420px){
 
 .hero .btn-primary{width:100%}
 .trust-section,
 .section,
 .faq-section,
 .cta-section{
 padding-left:6vw!important;
 padding-right:6vw!important;
 }
}

/* ===== V5 — hiérarchie visuelle et responsive cohérent ===== */

:root{--model-width:1050px;}

/* ---------- Hero : mots-clés comme idée de fond, pas comme boutons ---------- */
.hero{isolation:isolate;}
.hero-inner{z-index:4;}
.hero-trust-points span:nth-child(1){
 left:3%; top:22%;
 font-size:clamp(2.3rem,5.8vw,5.6rem)!important;
 transform:rotate(-8deg);
}
.hero-trust-points span:nth-child(2){
 left:28%; bottom:9%;
 font-size:clamp(1.75rem,3.8vw,3.9rem)!important;
 transform:rotate(4deg);
 opacity:.085;
}
.hero-trust-points span:nth-child(3){
 left:48%; top:18%;
 font-size:clamp(2rem,4.5vw,4.6rem)!important;
 transform:rotate(-3deg);
 opacity:.09;
}
.hero-actions{margin-top:32px!important;}

/* ---------- Transition / philosophie ---------- */
.hero-transition{
 padding:58px 5vw 62px!important;
 background:var(--white);
 border-bottom:1px solid var(--border);
}
.hero-transition-inner{
 max-width:860px!important;
 text-align:center;
}
.hero-transition h2{
 margin:0 auto 16px;
 color:var(--blue-dark);
 font-size:clamp(1.55rem,2.6vw,2.15rem);
 line-height:1.2;
 font-weight:800;
 letter-spacing:-.35px;
 text-align:center;
}
.hero-transition p{
 max-width:800px;
 margin:0 auto!important;
 color:var(--gray-text);
 font-size:1rem;
 line-height:1.75;
 text-align:justify!important;
 text-align-last:center;
}
.hero-transition-kicker{display:none!important;}

/* ---------- Modèle : tous les éléments sur EXACTEMENT le même axe ---------- */
#modele .model-head-centered,
#modele .model-visual,
#modele .model-benefits,
#modele .model-conclusion-strong{
 width:min(100%,var(--model-width))!important;
 max-width:var(--model-width)!important;
 margin-left:auto!important;
 margin-right:auto!important;
}
#modele .model-head-centered{margin-bottom:34px!important;}
#modele .model-benefits{
 box-sizing:border-box!important;
 margin-top:26px!important;
 margin-bottom:26px!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:16px!important;
 padding:0!important;
}
#modele .model-benefits > div{
 width:100%!important;
 min-width:0!important;
 margin:0!important;
 box-sizing:border-box!important;
}
#modele .model-conclusion-strong{box-sizing:border-box!important;}

/* ---------- Paragraphes : justification seulement là où elle est utile ---------- */
.trust-head > p,
.differentiation-solution p,
.hero-transition p,
.founder-copy p,
.faq-answer p,
.start-step p,
.svc-desc,
.contact-intro{
 text-align:justify!important;
 text-justify:inter-word;
 hyphens:auto;
}
.svc-features li,
.tech-chip,
.model-line-head,
.model-benefits,
.contact-card p{
 hyphens:none;
}

/* ---------- Mobile / tablette : une logique unique ---------- */
@media(max-width:900px){
 .hero-trust-points span:nth-child(1){left:1%;top:24%;font-size:clamp(2rem,8vw,4.1rem)!important;}
 .hero-trust-points span:nth-child(2){left:20%;bottom:10%;font-size:clamp(1.55rem,5.5vw,2.8rem)!important;}
 .hero-trust-points span:nth-child(3){left:49%;top:19%;font-size:clamp(1.7rem,6.5vw,3.3rem)!important;}
 #modele .model-benefits{grid-template-columns:1fr!important;}
}

@media(max-width:640px){
 /* Un même axe horizontal et une même logique visuelle partout */
 .hero,
 .trust-section,
 .section,
 .pricing-section,
 .faq-section,
 .cta-section,
 .hero-transition{
 padding-left:6vw!important;
 padding-right:6vw!important;
 }

 .hero{
 min-height:590px!important;
 padding-top:116px!important;
 padding-bottom:64px!important;
 text-align:center!important;
 }
 .hero-inner{
 width:100%!important;
 max-width:520px!important;
 margin:0 auto!important;
 padding:0!important;
 }
 .hero h1,
 .hero p.lead{
 text-align:center!important;
 margin-left:auto!important;
 margin-right:auto!important;
 }
 .hero p.lead{
 max-width:390px!important;
 text-align:center!important;
 }
 .hero-actions{
 justify-content:center!important;
 margin:30px auto 0!important;
 }
 .hero .btn-primary{
 width:min(100%,330px)!important;
 justify-content:center!important;
 }

 /* Brainstorm discret derrière le contenu sans devenir illisible */
 
 .hero-trust-points span:nth-child(1){left:-6%;top:24%;font-size:3.1rem!important;transform:rotate(-9deg);}
 .hero-trust-points span:nth-child(2){left:8%;bottom:12%;font-size:2rem!important;transform:rotate(5deg);opacity:.065;}
 .hero-trust-points span:nth-child(3){right:-8%;left:auto;top:43%;font-size:2.55rem!important;transform:rotate(-4deg);opacity:.07;}

 .hero-transition{padding-top:44px!important;padding-bottom:46px!important;}
 .hero-transition-inner{max-width:520px!important;}
 .hero-transition h2{text-align:center!important;font-size:1.55rem;}
 .hero-transition p{
 text-align:justify!important;
 text-align-last:center!important;
 font-size:.93rem;
 line-height:1.7;
 }

 /* Titres / blocs centrés ; textes de lecture justifiés */
 .trust-head,
 .services-head,
 .pricing-head,
 .faq-heading,
 .contact-wrap,
 #modele .model-head-centered{
 width:100%!important;
 max-width:520px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 text-align:center!important;
 }
 .trust-head h2,
 .services-head h2,
 .pricing-head h2,
 .faq-heading h2,
 #modele .model-head-centered h2,
 #modele .model-head-centered p{
 text-align:center!important;
 }
 .trust-head > p,
 .services-head > p,
 .pricing-head > p,
 .contact-intro{
 text-align:justify!important;
 text-align-last:center!important;
 }

 .differentiator-section .trust-inner{
 grid-template-columns:1fr!important;
 max-width:520px!important;
 margin:0 auto!important;
 }
 .differentiator-section .trust-head,
 .differentiator-section .differentiation-solution{
 width:100%!important;
 max-width:520px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 }
 .differentiation-solution{
 text-align:center!important;
 }
 .differentiation-solution strong{text-align:center!important;}
 .differentiation-solution p{
 text-align:justify!important;
 text-align-last:center!important;
 }

 /* Modèle économique */
 #modele .model-head-centered,
 #modele .model-visual,
 #modele .model-benefits,
 #modele .model-conclusion-strong{
 width:100%!important;
 max-width:520px!important;
 }
 #modele .model-line-head,
 #modele .model-line-head strong,
 #modele .model-line-head span{
 text-align:center!important;
 }
 #modele .model-benefits{gap:12px!important;}
 #modele .model-benefits > div{
 min-height:0!important;
 padding:20px!important;
 text-align:center!important;
 }
 #modele .model-benefits strong,
 #modele .model-benefits span{text-align:center!important;}
 #modele .model-conclusion-strong,
 #modele .model-conclusion-strong strong,
 #modele .model-conclusion-strong span{text-align:center!important;}

 /* Services : carte centrée, contenu structuré */
 #services .svc-grid{width:100%!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
 .svc-card{width:100%!important;max-width:520px!important;margin:0 auto!important;}
 .svc-icon{justify-content:center!important;text-align:center!important;}
 .svc-title{justify-content:center!important;text-align:center!important;}
 .svc-desc{
 max-width:430px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 text-align:justify!important;
 text-align-last:center!important;
 }
 .svc-features{max-width:390px!important;margin-left:auto!important;margin-right:auto!important;}
 .svc-features li{text-align:left!important;}
 .svc-price{justify-content:center!important;text-align:center!important;}

 /* Démarrage, techno, fondateur, FAQ, contact */
 .start-flow,
 .tech-strip,
 .contact-actions{width:100%!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
 .start-step,
 .contact-card,
 .founder-card{width:100%!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
 .start-step{text-align:center!important;}
 .start-step h3,.start-num{text-align:center!important;}
 .start-step p{text-align:justify!important;text-align-last:center!important;}
 .start-billing{max-width:520px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
 .founder-copy{text-align:center!important;}
 .founder-copy p{text-align:justify!important;text-align-last:center!important;}
 .faq-item summary{text-align:left!important;}
 .faq-answer p{text-align:justify!important;}
 .contact-card p{text-align:center!important;}
}

@media(max-width:420px){
 .hero{min-height:560px!important;}
 .hero h1{font-size:clamp(2rem,10vw,2.55rem)!important;}
 .hero-transition h2{font-size:1.42rem;}
 .trust-section,.section,.faq-section,.cta-section,.hero-transition{padding-left:5.5vw!important;padding-right:5.5vw!important;}
 .model-bar span{font-size:.61rem!important;padding:4px!important;}
}

/* ===== V7 — approche narrative inspirée de la présentation synectech.ch ===== */
.approach-narrative-section{
 padding:clamp(82px,8vw,118px) 5vw;
 background:var(--bg-soft);
}
.approach-narrative-inner{
 width:100%;
 max-width:1180px;
 margin:0 auto;
}
.approach-narrative-head{
 max-width:760px;
 margin:0 0 46px;
}
.approach-narrative-head h2{
 margin:0;
 color:var(--blue-dark);
 font-size:clamp(1.9rem,3.4vw,2.7rem);
 font-weight:800;
 line-height:1.12;
 letter-spacing:-.5px;
}
.approach-narrative-head h2 span{color:var(--blue-mid)}
.approach-narrative-head p{
 max-width:680px;
 margin:18px 0 0;
 color:var(--gray-text);
 font-size:1rem;
 line-height:1.75;
 text-align:justify;
 text-justify:inter-word;
}
.approach-narrative-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:22px;
 align-items:stretch;
}
.approach-narrative-card{
 position:relative;
 min-width:0;
 height:100%;
 padding:30px 28px 32px;
 border:1.5px solid var(--border);
 border-top:4px solid var(--cyan);
 border-radius:16px;
 background:var(--white);
 box-shadow:0 12px 30px rgba(12,59,110,.055);
 transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.approach-narrative-card:nth-child(2){border-top-color:var(--blue-mid)}
.approach-narrative-card:nth-child(3){border-top-color:var(--blue-sky)}
.approach-narrative-card:hover{
 transform:translateY(-4px);
 box-shadow:0 20px 42px rgba(12,59,110,.10);
}
.approach-narrative-card h3{
 min-height:2.6em;
 margin:0 0 18px;
 color:var(--blue-dark);
 font-size:1.03rem;
 font-weight:800;
 line-height:1.3;
 letter-spacing:.15px;
 text-transform:uppercase;
}
.approach-narrative-card p{
 margin:0;
 color:var(--gray-text);
 font-size:.92rem;
 line-height:1.72;
 text-align:justify;
 text-justify:inter-word;
}
.approach-narrative-card p + p{
 position:relative;
 margin-top:22px;
 padding-top:22px;
 color:#324a67;
}
.approach-narrative-card p + p::before{
 content:"";
 position:absolute;
 top:0;
 left:0;
 width:42px;
 height:2px;
 border-radius:2px;
 background:var(--blue-mid);
 opacity:.65;
}
@media(max-width:960px){
 .approach-narrative-inner{max-width:760px}
 .approach-narrative-grid{grid-template-columns:1fr;gap:16px}
 .approach-narrative-card h3{min-height:0}
}
@media(max-width:640px){
 .approach-narrative-section{padding:68px 6vw}
 .approach-narrative-head{margin:0 auto 32px;text-align:center}
 .approach-narrative-head h2{text-align:center}
 .approach-narrative-head p{
 margin:16px auto 0;
 text-align:justify;
 text-align-last:center;
 line-height:1.7;
 }
 .approach-narrative-grid{gap:14px}
 .approach-narrative-card{padding:26px 22px 28px}
 .approach-narrative-card h3{
 text-align:center;
 font-size:.96rem;
 margin-bottom:16px;
 }
 .approach-narrative-card p{
 font-size:.9rem;
 text-align:justify;
 text-align-last:left;
 }
 .approach-narrative-card p + p::before{
 left:50%;
 transform:translateX(-50%);
 }
}

/* ===== V9 — contact intégré, sans élément flottant ===== */
.contact-redesign .contact-wrap{max-width:900px}
.contact-redesign .contact-intro{max-width:620px;margin-bottom:34px;text-align:center}
.contact-quick-actions{display:none}
.contact-desktop-email{max-width:720px;margin:0 auto}
.contact-desktop-main{
 display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px;align-items:center;
 padding:24px 26px;border-radius:16px;background:var(--blue-dark);color:#fff;text-decoration:none;
 box-shadow:0 18px 44px rgba(12,59,110,.14);transition:transform .2s ease,box-shadow .2s ease
}
.contact-desktop-main:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(12,59,110,.20)}
.contact-desktop-icon{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.contact-desktop-icon svg{width:25px;height:25px}
.contact-desktop-main strong{display:block;font-size:1.08rem;margin-bottom:4px}
.contact-desktop-main small{display:block;color:rgba(255,255,255,.72);font-size:.84rem;line-height:1.45;font-weight:500}
.contact-desktop-arrow{font-size:1.5rem;color:var(--cyan)}
.contact-desktop-email>p{margin-top:15px;text-align:center;color:var(--gray-text);font-size:.88rem}
.contact-desktop-email>p a{color:var(--blue-mid);font-weight:700;text-decoration:none}

@media(max-width:640px){
 .contact-redesign{padding-top:72px!important;padding-bottom:72px!important}
 .contact-redesign .contact-wrap>h2{text-align:center!important}
 .contact-redesign .contact-intro{margin:0 auto 26px!important;text-align:center!important;text-align-last:center!important;max-width:360px!important}
 .contact-desktop-email{display:none}
 .contact-quick-actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:390px;margin:0 auto}
 .contact-quick-action{
 min-height:82px;padding:15px 18px;border:1px solid var(--border);border-radius:14px;background:#fff;
 display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;
 text-decoration:none;text-align:left;color:var(--blue-dark);box-shadow:0 10px 26px rgba(12,59,110,.06)
 }
 .contact-quick-icon{grid-row:1/3;width:46px;height:46px;border-radius:12px;background:var(--bg-soft2);display:flex;align-items:center;justify-content:center;color:var(--blue-mid)}
 .contact-quick-icon svg{width:22px;height:22px}
 .contact-quick-action strong{align-self:end;font-size:.98rem;line-height:1.2}
 .contact-quick-action>span:last-child{align-self:start;color:var(--gray-text);font-size:.78rem;line-height:1.35}
 .contact-quick-action.contact-phone{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
 .contact-phone .contact-quick-icon{background:rgba(255,255,255,.12);color:#fff}
 .contact-phone>span:last-child{color:rgba(255,255,255,.72)}
 .contact-redesign .contact-meta{max-width:390px;margin:22px auto 0!important;text-align:center!important}
 body{padding-bottom:0!important}
}

/* ===== V10 : contact intégré + rédaction neutre ===== */
.contact-actions-mobile{display:none}
.contact-actions-desktop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.contact-actions-desktop .contact-card{min-height:220px}

@media(max-width:640px){
 .contact-wrap{max-width:520px;margin:0 auto;text-align:center}
 .contact-wrap>h2{text-align:center}
 .contact-intro{max-width:420px;margin:0 auto 30px;text-align:center!important;text-align-last:auto!important}
 .contact-actions-desktop{display:none!important}
 .contact-actions-mobile{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:420px;margin:0 auto}
 .mobile-contact-card{
 min-height:92px;padding:18px 20px;border:1px solid var(--border);border-radius:15px;background:var(--white);
 display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;
 text-decoration:none;text-align:left;box-shadow:0 10px 28px rgba(12,59,110,.07)
 }
 .mobile-contact-card .mobile-contact-icon{grid-row:1/3;width:42px;height:42px;border-radius:12px;background:var(--bg-soft2);display:flex;align-items:center;justify-content:center;color:var(--blue-mid);font-weight:800;font-size:1.15rem}
 .mobile-contact-card strong{color:var(--blue-dark);font-size:1rem;line-height:1.2}
 .mobile-contact-card small{color:var(--gray-text);font-size:.78rem;line-height:1.3;margin-top:3px}
 .mobile-contact-primary{background:var(--blue-dark);border-color:var(--blue-dark)}
 .mobile-contact-primary .mobile-contact-icon{background:rgba(255,255,255,.12);color:var(--white)}
 .mobile-contact-primary strong,.mobile-contact-primary small{color:var(--white)}
}

/* ===== V11 : visualisation des économies dans le modèle ===== */
.synectech-savings-bar{
 width:100% !important;
 display:flex;
 background:var(--white);
}
.synectech-savings-bar .bar-base{
 width:68% !important;
 flex:0 0 68%;
}
.synectech-savings-bar .bar-savings{
 width:32%;
 flex:0 0 32%;
 background:#DDF3E4;
 color:#176B3A;
 border-left:1px solid rgba(23,107,58,.16);
 font-weight:800;
 letter-spacing:.1px;
}
@media(max-width:640px){
 .synectech-savings-bar{
 height:58px !important;
 }
 .synectech-savings-bar .bar-base{
 width:62% !important;
 flex-basis:62%;
 }
 .synectech-savings-bar .bar-savings{
 width:38%;
 flex-basis:38%;
 font-size:.66rem;
 line-height:1.15;
 padding:6px 8px;
 }
}
@media(max-width:380px){
 .synectech-savings-bar .bar-base{
 width:58% !important;
 flex-basis:58%;
 }
 .synectech-savings-bar .bar-savings{
 width:42%;
 flex-basis:42%;
 font-size:.62rem;
 }
}

/* ===== V12 : logos technologies + coût/économies séparés ===== */

/* Technologies : chaque élément accepte désormais un logo et un lien */
.tech-strip .tech-chip{
 text-decoration:none;
 position:relative;
 overflow:hidden;
 transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tech-strip .tech-chip:hover{
 transform:translateY(-2px);
 box-shadow:0 10px 24px rgba(12,59,110,.08);
 border-color:rgba(24,95,165,.28);
}
.tech-logo{
 display:block;
 width:auto;
 max-width:118px;
 max-height:38px;
 object-fit:contain;
}
.tech-logo-fallback{
 display:none;
 color:var(--blue-dark);
 font-size:.82rem;
 font-weight:700;
 text-align:center;
}
@media(max-width:640px){
 .tech-logo{
 max-width:105px;
 max-height:34px;
 }
}

/* Synectech : coût réellement payé et économies clairement séparés */
.synectech-cost-saving{
 display:grid;
 grid-template-columns:minmax(0, 1.65fr) minmax(190px, .85fr);
 gap:16px;
 align-items:stretch;
 width:100%;
}
.synectech-cost-block,
.synectech-saving-block{
 min-height:72px;
 border-radius:10px;
 padding:12px 18px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
}
.synectech-cost-block{
 background:var(--blue-mid);
 color:#fff;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.synectech-saving-block{
 background:#DDF3E4;
 color:#176B3A;
 border:1px solid rgba(23,107,58,.18);
}
.synectech-cost-block span,
.synectech-saving-block span{
 font-size:.78rem;
 line-height:1.2;
 font-weight:800;
}
.synectech-cost-block small,
.synectech-saving-block small{
 margin-top:5px;
 font-size:.66rem;
 line-height:1.2;
 font-weight:600;
 opacity:.78;
}

/* L'ancien style de barre ne doit plus influencer ce composant */
.model-line:has(.synectech-cost-saving){
 background:var(--bg-soft);
}

@media(max-width:640px){
 .synectech-cost-saving{
 grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);
 gap:9px;
 }
 .synectech-cost-block,
 .synectech-saving-block{
 min-height:68px;
 padding:10px 8px;
 }
 .synectech-cost-block span,
 .synectech-saving-block span{
 font-size:.69rem;
 }
 .synectech-cost-block small,
 .synectech-saving-block small{
 font-size:.59rem;
 }
}
@media(max-width:380px){
 .synectech-cost-saving{
 grid-template-columns:1fr 1fr;
 gap:7px;
 }
}

/* ===== V13 : emplacements logos simples, sans liens ===== */
.tech-chip{
 cursor:default;
}
.tech-chip:hover{
 transform:none;
 box-shadow:none;
}
.tech-logo-fallback{
 display:none;
}
.tech-chip.logo-missing .tech-logo{
 display:none;
}
.tech-chip.logo-missing .tech-logo-fallback{
 display:block;
}

/* V14 — alignements éditoriaux */
.approach-philosophy p,.approach-intro p,.approach-section>.section-inner>p,.approach-section .section-head>p{ text-align:center!important; margin-left:auto!important; margin-right:auto!important; }
.approach-narrative-card,.approach-narrative-card h3,.approach-narrative-card p{ text-align:center!important; }
.trust-inner,.trust-head,.trust-head p,.start-flow,.start-step,.start-step h3,.start-step p,.start-billing{ text-align:center!important; }
.trust-head p{ margin-left:auto!important; margin-right:auto!important; }
.svc-card .svc-desc,.founder-copy p{ text-align:justify!important; text-align-last:left; hyphens:auto; -webkit-hyphens:auto; }
.model-intro{ max-width:680px; margin:14px auto 34px!important; color:var(--gray-text); line-height:1.7; text-align:center!important; }
@media(max-width:768px){
 .approach-narrative-grid,.start-flow{width:100%;margin-left:auto;margin-right:auto}
 .approach-narrative-card,.approach-narrative-card h3,.approach-narrative-card p,.trust-head,.trust-head h2,.trust-head p,.start-step,.start-step h3,.start-step p,.start-billing{text-align:center!important}
 .svc-card .svc-desc,.founder-copy p{text-align:justify!important;text-align-last:left}
}

/* ===== V16 — corrections ciblées de liens et d’alignements ===== */

/* Textes explicitement demandés comme justifiés */
#services .svc-card .svc-desc,
#fondateur .founder-copy p{
 text-align:justify !important;
 text-align-last:left !important;
 text-justify:inter-word;
 hyphens:auto;
 -webkit-hyphens:auto;
}

/* Les listes restent alignées à gauche : plus lisibles qu’une justification. */
#services .svc-features,
#services .svc-features li{
 text-align:left !important;
 text-align-last:left !important;
 hyphens:none !important;
}

@media (max-width:768px){
 /* Philosophie juste sous le Hero */
 .hero-transition-inner,
 .hero-transition-inner h2,
 .hero-transition-inner p{
 text-align:center !important;
 margin-left:auto !important;
 margin-right:auto !important;
 }

 /* Approche narrative : titre, introduction et cartes centrés */
 #pourquoi .approach-narrative-head{
 max-width:560px !important;
 margin-left:auto !important;
 margin-right:auto !important;
 text-align:center !important;
 }
 #pourquoi .approach-narrative-head h2,
 #pourquoi .approach-narrative-head p,
 #pourquoi .approach-narrative-card,
 #pourquoi .approach-narrative-card h3,
 #pourquoi .approach-narrative-card p{
 text-align:center !important;
 text-align-last:center !important;
 }
 #pourquoi .approach-narrative-head p{
 margin-left:auto !important;
 margin-right:auto !important;
 }

 /* Démarrage : cohérence complète sur téléphone/tablette */
 #demarrage .trust-head{
 max-width:560px !important;
 margin-left:auto !important;
 margin-right:auto !important;
 text-align:center !important;
 }
 #demarrage .trust-head h2,
 #demarrage .trust-head p,
 #demarrage .start-step,
 #demarrage .start-step h3,
 #demarrage .start-step p,
 #demarrage .start-billing{
 text-align:center !important;
 text-align-last:center !important;
 }
 #demarrage .trust-head p{
 margin-left:auto !important;
 margin-right:auto !important;
 }

 /* Services : composition centrée, corps de texte justifié. */
 #services .svc-card{
 text-align:center !important;
 }
 #services .svc-icon,
 #services .svc-title,
 #services .svc-price{
 justify-content:center !important;
 text-align:center !important;
 }
 #services .svc-card .svc-desc{
 text-align:justify !important;
 text-align-last:left !important;
 }
 #services .svc-features,
 #services .svc-features li{
 text-align:left !important;
 text-align-last:left !important;
 }

 /* Fondateur : bloc visuellement centré, paragraphes justifiés. */
 #fondateur .founder-photo-wrap{
 margin-left:auto !important;
 margin-right:auto !important;
 }
 #fondateur .founder-copy h2,
 #fondateur .founder-name{
 text-align:center !important;
 }
 #fondateur .founder-copy p{
 text-align:justify !important;
 text-align-last:left !important;
 }
}

/* ===== V19 — offre standardisée indépendants & petites équipes ===== */
.solo-section{padding:var(--section-space) var(--page-gutter);background:var(--white);position:relative}
.solo-inner{width:100%;max-width:var(--layout-max);margin:0 auto}
.solo-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:clamp(38px,5vw,72px);align-items:center;padding:clamp(34px,5vw,58px);border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,#fff 0%,var(--bg-soft) 100%);box-shadow:0 20px 48px rgba(12,59,110,.08)}
.solo-shell::after{content:"";position:absolute;width:240px;height:240px;right:-90px;top:-90px;border:1px solid rgba(24,95,165,.08);border-radius:50%;pointer-events:none}
.solo-copy{position:relative;z-index:1;max-width:700px}
.solo-kicker{display:inline-block;margin-bottom:14px;color:var(--blue-mid);font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:1.35px;text-transform:uppercase}
.solo-copy h2{margin:0 0 16px;color:var(--blue-dark);font-size:clamp(1.9rem,3.1vw,2.55rem);line-height:1.12;letter-spacing:-.45px;font-weight:800}
.solo-copy>p{max-width:650px;margin:0;color:var(--gray-text);font-size:.98rem;line-height:1.72;text-align:justify}
.solo-features{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:28px 0 0;padding:0}
.solo-features li{position:relative;padding-left:20px;color:#3c526d;font-size:.88rem;line-height:1.45;text-align:left}
.solo-features li::before{content:"✓";position:absolute;left:0;top:0;color:var(--blue-mid);font-weight:800}
.solo-price-card{position:relative;z-index:1;padding:32px 30px;border-radius:18px;background:var(--blue-dark);color:var(--white);text-align:center;box-shadow:0 18px 42px rgba(12,59,110,.15)}
.solo-price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:5px}
.solo-price strong{font-size:clamp(2.45rem,4.5vw,3.6rem);line-height:1;font-weight:800;letter-spacing:-1px}
.solo-price-unit{display:block;color:rgba(255,255,255,.76);font-size:.82rem;font-weight:600;margin-bottom:20px}
.solo-support{margin:0 auto 18px;max-width:300px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.07);font-size:.84rem;font-weight:700;line-height:1.4;text-align:center}
.solo-cta{width:100%;justify-content:center;background:var(--white);color:var(--blue-dark);box-shadow:none}
.solo-cta:hover{background:var(--bg-soft2);color:var(--blue-dark)}
.solo-note{margin-top:18px;color:rgba(255,255,255,.76);font-size:.76rem;line-height:1.55;text-align:center}
.solo-scope{grid-column:1/-1;margin-top:-12px;padding-top:22px;border-top:1px solid var(--border);color:var(--gray-text);font-size:.82rem;line-height:1.6;text-align:center}
.solo-scope strong{color:var(--blue-dark)}
@media(max-width:900px){.solo-shell{grid-template-columns:1fr;max-width:760px;margin:0 auto}.solo-copy{max-width:none}.solo-price-card{max-width:440px;width:100%;margin:0 auto}}
@media(max-width:640px){.solo-section{padding:72px 6vw}.solo-shell{padding:28px 22px;gap:28px;border-radius:17px}.solo-copy,.solo-copy h2,.solo-copy>p{text-align:center}.solo-copy>p{text-align:justify;text-align-last:center}.solo-kicker{display:block;text-align:center}.solo-features{grid-template-columns:1fr;max-width:360px;margin:24px auto 0}.solo-features li{text-align:left}.solo-price-card{max-width:420px;padding:28px 22px}.solo-price{flex-direction:column;align-items:center;gap:4px}.solo-price strong{font-size:clamp(2.7rem,14vw,3.55rem)}.solo-price-unit{font-size:.8rem}.solo-scope{margin-top:-4px;padding-top:20px;text-align:center}}



.founder-photo{
 aspect-ratio:auto !important;
 height:auto !important;
 object-fit:contain !important;
}


.solo-copy h2 strong,
.services-head h2 strong{
  color:var(--blue-mid);
  font-weight:800;
}


.offers-unified{
  padding:var(--section-space) var(--page-gutter);
  background:var(--bg-soft);
}
.offers-unified-head{
  width:100%;
  max-width:var(--layout-max);
  margin:0 auto 46px;
  text-align:center;
}
.offers-unified-head h2{
  margin:8px 0 0;
  color:var(--blue-dark);
  font-size:clamp(2rem,3.6vw,2.65rem);
  line-height:1.12;
  font-weight:800;
}
.offer-group{
  width:100%;
  max-width:var(--layout-max);
  margin:0 auto;
}
.offer-group .solo-inner{
  max-width:none;
}
.offer-group-tpe .solo-shell{
  margin:0;
}
.offer-group-pme > .section-inner{
  max-width:none;
  padding:0;
}
.offer-subtitle{
  margin:0 0 24px;
  color:var(--blue-dark);
  font-size:clamp(1.45rem,2.6vw,1.9rem);
  line-height:1.2;
  font-weight:800;
  text-align:left;
}
.offer-subtitle strong{
  color:var(--blue-mid);
}
.offer-group-tpe .solo-copy > .offer-subtitle{
  margin-bottom:16px;
}
.offer-group-pme .services-head{
  margin-bottom:34px;
}
.offer-group-pme .services-head .offer-subtitle{
  text-align:center;
  margin-bottom:14px;
}
.offer-divider{
  width:min(100%,var(--layout-max));
  height:1px;
  margin:clamp(56px,7vw,82px) auto;
  background:var(--border);
}
@media(max-width:640px){
  .offers-unified{
    padding:72px 6vw;
  }
  .offers-unified-head{
    margin-bottom:34px;
  }
  .offer-subtitle,
  .offer-group-pme .services-head .offer-subtitle{
    text-align:center;
  }
  .offer-divider{
    margin:52px auto;
  }
}

.solo-price strong{
  font-size:clamp(2rem,3.6vw,2.85rem) !important;
}
@media(max-width:640px){
  .solo-price strong{
    font-size:clamp(2.15rem,11vw,2.75rem) !important;
  }
}





