:root{
  --navy:#0a2348;
  --navy-2:#173b63;
  --ink:#18314d;
  --muted:#455f76;
  --cyan:#43c5f4;
  --cyan-2:#2caee4;
  --violet:#8b55f8;
  --violet-2:#7048e7;
  --bg:#e7edf1;
  --bg-deep:#dde6ec;
  --surface:#f2f5f7;
  --surface-2:#edf2f5;
  --surface-3:#f6f8f9;
  --blue-soft:#dfe9f1;
  --cyan-soft:#dff0f1;
  --violet-soft:#e9e4f2;
  --peach-soft:#f1e6df;
  --line:#c6d3dd;
  --line-strong:#b5c5d2;
  --shadow:0 22px 55px rgba(27,53,79,.10);
  --shadow-sm:0 10px 26px rgba(27,53,79,.065);
  --max:1180px;
  --header:88px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px}.skip-link:focus{top:12px}
.container{width:min(calc(100% - 42px),var(--max));margin:auto}
.section{padding:82px 0}
.section-soft{background:var(--bg-deep);border-block:1px solid rgba(95,124,148,.15)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:#315f89;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.095em}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
h1,h2,h3{margin:0;color:var(--navy);line-height:1.08;letter-spacing:-.032em}
h1{font-size:clamp(2.65rem,5.25vw,5rem);max-width:810px}
h2{font-size:clamp(1.9rem,3.15vw,3.1rem)}
h3{font-size:1.12rem;letter-spacing:-.015em}
p{margin:0 0 1rem}
.lead{font-size:1.08rem;color:var(--muted);max-width:720px}
.section-head{display:flex;justify-content:space-between;gap:38px;align-items:end;margin-bottom:34px}
.section-head>p,.section-head>.link-arrow{max-width:450px;color:var(--muted)}

/* Header */
.site-header{height:var(--header);position:sticky;top:0;z-index:1000;background:rgba(231,237,241,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(103,132,155,.20)}
.nav-wrap{height:100%;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex:0 0 auto;height:100%;padding:5px 0}
.brand img{width:156px;height:76px;object-fit:contain;object-position:left center}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.site-nav>a{padding:10px 11px;border-radius:12px;font-weight:750;font-size:.9rem;color:#36536f;transition:background .18s,color .18s,transform .18s}
.site-nav>a:hover,.site-nav>a:focus-visible{background:rgba(246,248,249,.72);color:var(--navy);outline:none}
.site-nav>a.active{color:var(--navy);background:rgba(246,248,249,.92)}
.site-nav .nav-cta{margin-left:9px;padding:11px 17px;color:#fff;background:linear-gradient(115deg,#2b72e5,var(--violet));box-shadow:0 8px 20px rgba(83,82,221,.15)}
.site-nav .nav-cta:hover{color:#fff;transform:translateY(-1px);background:linear-gradient(115deg,#2368da,#7e49ec)}
.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--navy);cursor:pointer}
.menu-toggle svg{width:22px;height:22px;margin:auto}.menu-backdrop{display:none}

/* Buttons */
.btn-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:14px;font-weight:830;transition:.2s;border:0;cursor:pointer}
.btn-primary{background:linear-gradient(115deg,#286fe3,var(--violet));color:#fff;box-shadow:0 12px 28px rgba(58,90,205,.17)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(58,90,205,.22)}
.btn-secondary{background:rgba(243,246,248,.78);border:1px solid var(--line-strong);color:var(--navy)}
.btn-secondary:hover{background:var(--surface-3);border-color:#9fb4c8}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:820;color:#2c63aa}.link-arrow::after{content:"→";transition:transform .18s}.link-arrow:hover::after{transform:translateX(3px)}

/* Hero */
.hero{padding:68px 0 80px;background:radial-gradient(circle at 9% 0%,rgba(67,197,244,.10),transparent 31%),radial-gradient(circle at 93% 8%,rgba(139,85,248,.085),transparent 30%),var(--bg)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero-accent{color:#625ee8;position:relative}.hero-accent::after{content:"";position:absolute;height:4px;left:4%;right:1%;bottom:-7px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--violet));opacity:.58}
.hero-copy .lead{margin:24px 0 0}.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.trust-item{display:flex;gap:9px;align-items:center;font-size:.87rem;color:#456079;font-weight:720}.trust-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#d5e7ee;color:#177ca9;font-size:.78rem}

/* Need-to-solution panel */
.need-map{position:relative;border:1px solid var(--line);border-radius:30px;padding:26px;background:linear-gradient(145deg,rgba(243,246,248,.96),rgba(220,229,236,.93));box-shadow:var(--shadow);overflow:hidden}
.need-map::before,.need-map::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.need-map::before{width:240px;height:240px;right:-95px;top:-105px;background:radial-gradient(circle,rgba(139,85,248,.11),rgba(139,85,248,0) 68%)}
.need-map::after{width:220px;height:220px;left:-100px;bottom:-110px;background:radial-gradient(circle,rgba(67,197,244,.12),rgba(67,197,244,0) 68%)}
.need-map-head{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(149,173,193,.34)}
.need-map-mark{width:78px;height:58px;display:grid;place-items:center;overflow:hidden}
.need-map-mark img{width:78px;height:auto;object-fit:contain}
.need-map-kicker{display:block;color:#496987;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.085em;margin-bottom:5px}
.need-map-head strong{display:block;color:var(--navy);font-size:1.08rem;line-height:1.34}
.need-flows{position:relative;z-index:1;display:grid;gap:11px;padding-top:18px}
.need-flow{display:grid;grid-template-columns:minmax(0,1.4fr) 38px minmax(0,.9fr);gap:10px;align-items:center}
.need-side{min-width:0;display:flex;align-items:center;gap:11px;min-height:58px;padding:11px 13px;border:1px solid rgba(175,195,210,.78);border-radius:15px;background:rgba(246,248,249,.72);color:#2d4965;font-size:.84rem;font-weight:720;line-height:1.35}
.need-side.solution{font-weight:820;color:#274968}
.need-side.solution.cyan{background:rgba(222,240,242,.82);color:#167f94}
.need-side.solution.violet{background:rgba(233,228,242,.86);color:#6545c7}
.need-side.solution.blue{background:rgba(223,234,243,.86);color:#315f89}
.need-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.38);border:1px solid rgba(165,187,204,.52);overflow:hidden}
.need-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.need-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan-2),var(--violet));color:#fff;font-weight:900;box-shadow:0 7px 17px rgba(78,96,191,.14)}
.need-map-note{position:relative;z-index:1;margin-top:16px;padding:12px 14px;border-radius:14px;background:rgba(228,235,240,.80);border:1px solid rgba(177,197,211,.65);color:#4a657e;font-size:.82rem;text-align:center;font-weight:680}

/* Cards */
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{display:flex;flex-direction:column;min-width:0;padding:25px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.service-card:nth-child(1){background:linear-gradient(180deg,var(--surface),var(--blue-soft))}.service-card:nth-child(2){background:linear-gradient(180deg,var(--surface),var(--cyan-soft))}.service-card:nth-child(3){background:linear-gradient(180deg,var(--surface),var(--violet-soft))}.service-card:nth-child(4){background:linear-gradient(180deg,var(--surface),var(--peach-soft))}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.service-icon{width:48px;height:48px;flex:0 0 48px;margin-bottom:18px;border-radius:14px;display:grid;place-items:center;background:rgba(246,248,249,.70);border:1px solid rgba(168,190,208,.60);color:#2475b5;overflow:hidden}
.service-card:nth-child(2) .service-icon{color:#17899d}.service-card:nth-child(3) .service-icon{color:#714ee6}.service-card:nth-child(4) .service-icon{color:#ba6d46}
.service-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.service-card p{color:var(--muted);font-size:.92rem;flex:1}.service-card .link-arrow{font-size:.9rem;margin-top:9px}

/* Process */
.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:26px}.process-grid::before{content:"";position:absolute;left:7%;right:7%;top:30px;height:2px;background:linear-gradient(90deg,var(--cyan),#a9c9dd,var(--violet),var(--cyan));opacity:.48}.step{position:relative;z-index:1;padding:0 11px}.step-marker{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:0 0 0 9px var(--bg-deep);margin-bottom:18px;color:#3579b5}.step-marker svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.step-num{position:absolute;right:-9px;top:-8px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2a72e7,var(--violet));color:#fff;font-size:.72rem;font-weight:900}.step p{font-size:.92rem;color:var(--muted)}

/* Values */
.value-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;padding:40px;border-radius:29px;border:1px solid var(--line);background:linear-gradient(130deg,#dce8ef,#e8e3f0);box-shadow:var(--shadow-sm)}
.value-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-card{min-width:0;padding:18px;border:1px solid rgba(178,198,214,.78);border-radius:16px;background:rgba(244,247,248,.72)}.mini-card strong{display:block;margin-bottom:6px;color:var(--navy)}.mini-card span{font-size:.87rem;color:var(--muted)}.quote-strip{grid-column:1/-1;padding:12px 14px;border-radius:13px;background:rgba(239,243,246,.70);color:#365978;text-align:center;font-size:.84rem;font-weight:790}

/* Project examples */
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{min-width:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.project-visual{height:218px;padding:24px;background:linear-gradient(145deg,#d5e1e9,#e7e2ef);overflow:hidden}.mock-window{height:100%;border:1px solid #b8c9d6;background:#f0f4f6;border-radius:14px;box-shadow:0 12px 25px rgba(35,61,88,.09);overflow:hidden}.mock-top{height:27px;display:flex;align-items:center;gap:5px;padding:0 10px;background:#dce5eb;border-bottom:1px solid #c8d4dd}.mock-top i{width:6px;height:6px;border-radius:50%;background:#a7b8c5}.site-mock-body{height:calc(100% - 27px);padding:13px}.site-mock-hero{height:58px;border-radius:9px;background:linear-gradient(120deg,#d6eaf0,#e5dfef);padding:12px}.site-mock-hero::before{content:"";display:block;width:58%;height:7px;border-radius:99px;background:#315f89;box-shadow:0 13px 0 #adc2d3}.site-mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.site-mock-cards span{height:37px;border-radius:7px;background:#d8e3ea}.app-mock{height:100%;display:grid;grid-template-columns:26% 1fr;border:1px solid #b8c9d6;background:#f0f4f6;border-radius:14px;box-shadow:0 12px 25px rgba(35,61,88,.09);overflow:hidden}.app-side{background:#d9e3e9;border-right:1px solid #c5d1da;padding:13px 9px;display:grid;align-content:start;gap:8px}.app-side span{height:6px;border-radius:99px;background:#aabcc9}.app-main{padding:15px;display:grid;grid-template-rows:auto 1fr;gap:11px}.app-header{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:8px}.app-header span,.app-row span{height:10px;border-radius:6px;background:#c6d4df}.app-table{display:grid;gap:7px}.app-row{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:8px;padding:8px;border-radius:8px;background:#e8eef2}.app-row span:nth-child(2){background:#a7dce9}.app-row span:nth-child(3){background:#c3b3e8}.automation-mock{height:100%;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center;padding:18px;border:1px solid #b8c9d6;background:#f0f4f6;border-radius:14px;box-shadow:0 12px 25px rgba(35,61,88,.09)}.auto-node{min-width:0;padding:14px 7px;border-radius:10px;text-align:center;font-size:.72rem;font-weight:830;color:#35536f;background:#dfe8ed;border:1px solid #c6d3dd}.auto-node:nth-of-type(3){background:#dceef0;color:#237c8d}.auto-node:nth-of-type(5){background:#e6e0f0;color:#6549b7}.auto-arrow{color:#64809a;font-weight:900}.project-body{padding:22px}.project-body p{color:var(--muted);font-size:.92rem}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.tag{padding:5px 9px;border-radius:99px;background:#dce7ef;color:#356088;font-size:.75rem;font-weight:800}

/* About */
.about-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:50px;align-items:center}.brand-panel{min-height:335px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:44px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#d7e3eb,#e7e2ef);box-shadow:var(--shadow-sm)}.brand-panel::before{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(70,115,160,.12);border-radius:50%;box-shadow:0 0 0 48px rgba(81,137,181,.035),0 0 0 92px rgba(139,85,248,.025)}.brand-panel img{position:relative;width:min(95%,500px);height:auto;z-index:1;filter:drop-shadow(0 8px 18px rgba(20,43,71,.06))}.about-copy p{color:var(--muted)}.pill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:23px}.pill{padding:12px 14px;border-radius:13px;background:#dde7ee;border:1px solid #c7d4de;font-weight:760;color:#31516f;font-size:.91rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:start}.contact-note{margin-top:23px;padding:18px;border-radius:17px;background:#d8e7ee;border:1px solid #c0d3de;color:#31597b;font-weight:700}.contact-form{padding:28px;border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:.88rem;font-weight:800;color:#294766}input,textarea{width:100%;padding:13px 14px;border:1px solid #b8c9d6;border-radius:12px;background:#f7f9fa;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:#648cca;box-shadow:0 0 0 4px rgba(72,129,190,.12)}textarea{min-height:145px;resize:vertical}.form-help{font-size:.82rem;color:var(--muted)}.form-status{min-height:22px;margin-top:10px;font-size:.88rem;font-weight:800;color:#27684a}

/* Footer */
.site-footer{padding:48px 0 24px;background:#102b4c;color:#fff}.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:42px}.footer-logo-wrap{display:inline-flex;padding:9px 12px;border-radius:16px;background:#e9eef2;border:1px solid rgba(255,255,255,.12);margin-bottom:12px}.footer-brand img{width:156px;height:auto}.footer-brand p{max-width:360px;color:#c4d3df}.footer-title{font-weight:850;margin-bottom:11px}.footer-links{display:grid;gap:8px;color:#d5e0e9}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#aabdcf;font-size:.8rem}

/* Inner pages */
.page-hero{padding:62px 0 52px;background:linear-gradient(180deg,#dce6ec,#e6ecf0);border-bottom:1px solid var(--line)}.page-hero .lead{margin-top:18px}.breadcrumb{margin-bottom:16px;font-size:.83rem;color:#647d93}.content-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-card{padding:29px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}.detail-card:nth-child(1){background:linear-gradient(145deg,var(--surface),var(--blue-soft))}.detail-card:nth-child(2){background:linear-gradient(145deg,var(--surface),var(--cyan-soft))}.detail-card:nth-child(3){background:linear-gradient(145deg,var(--surface),var(--violet-soft))}.detail-card:nth-child(4){background:linear-gradient(145deg,var(--surface),var(--peach-soft))}.detail-card p{color:var(--muted)}.detail-card .service-icon{margin-bottom:18px}.checklist{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:9px}.checklist li{display:flex;gap:9px;color:#46617d}.checklist li::before{content:"✓";font-weight:900;color:#228fb4}.case-study{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-sm)}.case-study+.case-study{margin-top:20px}.case-visual{min-height:260px;padding:26px;border-radius:19px;background:linear-gradient(145deg,#d5e1e9,#e7e2ef);display:flex;align-items:center;overflow:hidden}.case-visual>.mock-window,.case-visual>.app-mock,.case-visual>.automation-mock{width:100%;height:190px}.timeline{display:grid;gap:15px;margin-top:26px}.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:14px}.timeline-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan-2),var(--violet));color:#fff;font-weight:900}.timeline-item p{color:var(--muted)}.legal-card{padding:30px;border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:var(--shadow-sm)}.legal-card h2{font-size:1.42rem;margin-top:28px}.legal-card h2:first-child{margin-top:0}.legal-card p,.legal-card li{color:var(--muted)}

/* V2.3 — Typographie & confort de lecture */
body{font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.68;letter-spacing:.002em;font-kerning:normal}
h1,h2,h3{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-weight:720;letter-spacing:-.022em;text-wrap:balance}
h1{line-height:1.04}
h2{line-height:1.12}
h3{font-size:1.16rem;line-height:1.28;font-weight:700}
p,li{line-height:1.66;text-wrap:pretty}
.lead{font-size:1.1rem;line-height:1.72;max-width:66ch;font-weight:400}
.eyebrow{font-weight:700;letter-spacing:.09em}
.site-nav>a{font-weight:650;letter-spacing:.005em}
.btn-primary,.btn-secondary{font-weight:700;letter-spacing:.005em}
.link-arrow{font-weight:700}
.trust-item{font-size:.91rem;font-weight:600;line-height:1.45}
.need-map-kicker{font-weight:700}
.need-map-head strong{font-size:1.1rem;line-height:1.48;font-weight:700;text-wrap:pretty}
.need-side{font-size:.95rem;font-weight:500;line-height:1.5;padding:13px 14px}
.need-side.solution{font-weight:700}
.need-map-note{font-size:.9rem;line-height:1.55;font-weight:500;padding:14px 16px}
.service-card{padding:28px}
.service-card h3{margin-bottom:10px}
.service-card p{font-size:1rem;line-height:1.62;font-weight:400}
.service-card .link-arrow{font-size:.94rem;margin-top:12px}
.step{padding-inline:13px}
.step h3{margin-bottom:8px}
.step p{font-size:1rem;line-height:1.62}
.mini-card{padding:19px}
.mini-card strong{font-size:1rem;font-weight:700;line-height:1.3}
.mini-card span{display:block;font-size:.95rem;line-height:1.55}
.quote-strip{font-size:.94rem;line-height:1.55;font-weight:600}
.project-body{padding:24px}
.project-body h3{margin-bottom:9px}
.project-body p{font-size:1rem;line-height:1.62}
.tag{font-size:.8rem;font-weight:650}
.about-copy p{font-size:1rem;line-height:1.68}
.pill{font-size:.95rem;font-weight:650;line-height:1.4}
.contact-note{font-size:1rem;line-height:1.6;font-weight:550}
label{font-size:.94rem;font-weight:650;line-height:1.4}
input,textarea{font-size:1rem;line-height:1.5}
.form-help{font-size:.88rem;line-height:1.55}
.footer-title{font-weight:700}
.footer-brand p,.footer-links{line-height:1.6}
.page-hero .lead{max-width:70ch}
.detail-card{padding:31px}
.detail-card h2{font-size:1.55rem;line-height:1.2;margin-bottom:10px}
.detail-card p{font-size:1rem;line-height:1.65}
.checklist{gap:10px}
.checklist li{font-size:.96rem;line-height:1.55}
.case-study h2{font-size:1.72rem;line-height:1.2;margin-bottom:10px}
.timeline-item p{font-size:.98rem;line-height:1.6}
.legal-card p,.legal-card li{font-size:1rem;line-height:1.72}
.service-card,.detail-card,.need-side,.project-body,.mini-card,.contact-note,.legal-card{hyphens:auto;overflow-wrap:break-word}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .44s ease,transform .44s ease}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid rgba(67,197,244,.55);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card,.project-card,.btn-primary{transition:none}}
@media (max-width:1100px){
  .site-nav{position:fixed;left:20px;right:20px;top:96px;display:none;flex-direction:column;align-items:stretch;gap:6px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);z-index:1002}.site-nav.open{display:flex}.site-nav .nav-cta{margin:8px 0 0;text-align:center}.menu-toggle{display:grid}.menu-backdrop.open{display:block;position:fixed;inset:var(--header) 0 0;background:rgba(11,36,83,.18);backdrop-filter:blur(2px);z-index:999}
  .hero-grid,.value-panel,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:38px}.need-map{max-width:860px}.cards-4,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid::before{display:none}.projects{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.content-grid-2,.case-study{grid-template-columns:1fr}.brand-panel{min-height:300px}.brand img{width:146px}.section-head{align-items:flex-start}
}
@media (max-width:760px){
  :root{--header:78px}.container{width:min(calc(100% - 28px),var(--max))}.section{padding:62px 0}.site-header{height:var(--header)}.brand img{width:126px;height:66px}.site-nav{top:86px}.hero{padding:44px 0 58px}.hero-grid{gap:30px}.hero h1{font-size:clamp(2.3rem,11.2vw,3.45rem)}.trust-row{display:grid;grid-template-columns:1fr;gap:10px}
  .need-map{padding:18px;border-radius:24px}.need-map-head{grid-template-columns:62px 1fr;gap:12px}.need-map-mark{width:62px;height:46px}.need-map-mark img{width:62px}.need-flow{grid-template-columns:1fr;gap:7px}.need-arrow{width:34px;height:34px;transform:rotate(90deg);justify-self:center}.need-side{min-height:54px}.need-map-note{text-align:left}
  .cards-4,.projects,.value-cards,.footer-grid,.form-grid,.pill-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.process-grid{grid-template-columns:1fr;gap:0;padding-left:8px}.step{padding:0 0 28px 74px;min-height:108px}.step:last-child{padding-bottom:0}.step-marker{position:absolute;left:0;top:0;width:52px;height:52px;box-shadow:0 0 0 7px var(--bg-deep)}.step-num{right:-8px;top:-7px}.process-grid::after{content:"";position:absolute;left:33px;top:52px;bottom:40px;width:2px;background:linear-gradient(var(--cyan),var(--violet));opacity:.45}.value-panel{padding:26px}.quote-strip{grid-column:auto}.project-visual{height:205px}.automation-mock{grid-template-columns:1fr;gap:7px;padding:14px}.auto-arrow{transform:rotate(90deg)}.brand-panel{min-height:250px;padding:25px}.brand-panel img{width:min(98%,430px)}.contact-form{padding:20px}.field.full{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero{padding:46px 0 40px}.case-study{padding:20px}.case-visual{padding:18px}.btn-row{display:grid;grid-template-columns:1fr}.btn-primary,.btn-secondary{width:100%}
}

/* V2.4 — parcours client, bénéfices et mise en page éditoriale */
.statement-section{padding-top:30px}.statement{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;padding:38px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,var(--cyan-soft),var(--violet-soft));box-shadow:var(--shadow-sm)}.statement h2{max-width:16ch}.outcomes{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.outcomes span{padding:10px 13px;border-radius:999px;background:rgba(247,249,250,.72);border:1px solid rgba(126,150,169,.28);font-weight:650;color:#31516f}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.benefit{padding:24px;border-top:3px solid #75b9dd;background:var(--surface);border-radius:0 0 18px 18px}.benefit:nth-child(even){border-color:#9c79e8}.benefit strong{display:block;color:var(--navy);font-size:1.08rem;margin-bottom:8px}.benefit p{margin:0;color:var(--muted)}
.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line-strong);padding:0}.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:700;color:var(--navy);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:6px;top:16px;font-size:1.45rem;color:#526fe0}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 46px 18px 0;color:var(--muted);max-width:72ch}
.solution-editorial{display:grid;gap:22px}.solution-row{display:grid;grid-template-columns:1.55fr .65fr;gap:34px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-sm)}.solution-row:nth-child(even){background:linear-gradient(135deg,var(--surface),var(--violet-soft))}.solution-row:nth-child(odd){background:linear-gradient(135deg,var(--surface),var(--cyan-soft))}.solution-copy h2{font-size:clamp(1.65rem,2.5vw,2.35rem);margin-bottom:12px}.solution-result{padding:24px;border-radius:18px;background:rgba(247,249,250,.72);border:1px solid rgba(126,150,169,.3)}.solution-result span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#5a7187;font-weight:700;margin-bottom:8px}.solution-result strong{display:block;color:var(--navy);font-size:1.15rem;line-height:1.45}
.contact-cards{display:grid;gap:10px;margin-top:24px}.contact-cards>a,.contact-cards>div{display:grid;gap:3px;padding:15px 17px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.contact-cards small{color:var(--muted);font-weight:600}.contact-cards strong{color:var(--navy);font-weight:700;overflow-wrap:anywhere}select{width:100%;padding:13px 14px;border:1px solid #b8c9d6;border-radius:12px;background:#f7f9fa;color:var(--ink);outline:none}select:focus{border-color:#648cca;box-shadow:0 0 0 4px rgba(72,129,190,.12)}
@media(max-width:900px){.statement,.solution-row{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.solution-result{max-width:none}}
@media(max-width:600px){.statement{padding:26px;gap:20px}.benefit-grid{grid-template-columns:1fr}.solution-row{padding:24px}.outcomes{display:grid}.faq summary{padding-right:34px}}


/* V2.5 — production, formulaire et accessibilité */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.5em;margin-top:12px;font-weight:650;line-height:1.5}
.form-status.success{color:#27684a}.form-status.error{color:#9b4545}
.contact-form.is-sending button[type=submit]{opacity:.7;cursor:wait}
.form-help a{text-decoration:underline;text-underline-offset:2px}
@media (prefers-contrast:more){:root{--muted:#3e566a;--line:#b9c9d5}.btn-primary,.nav-cta{outline:2px solid transparent}}
