:root{--navy:#183c48;--teal:#50b8ad;--yellow:#ffcc00;--mint:#f0f8f6;--border:#dce9e7;--muted:#526a72}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--navy);background:#fff;line-height:1.65}a{color:inherit}button{font:inherit}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.site-header{position: sticky;top: 0;z-index: 1000;background:white;border-bottom:1px solid #edf1f1}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:218px;height:auto}.nav nav{display:flex;align-items:center;gap:25px}.nav nav a{text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.nav nav a:hover,.nav nav a.active{color:#279e96}.menu-toggle{display:none;background:none;border:0;font-size:25px;cursor:pointer}.hero{background:var(--mint);overflow:hidden}.hero-inner{min-height:590px;display:flex;align-items:center;position:relative}.hero-motif{position:absolute;width:550px;max-width:none;right:-100px;top:50%;transform:translateY(-50%);opacity:.17;pointer-events:none}.hero-copy{position:relative;z-index:1;width:min(710px,70%);padding:85px 0}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:#289f97;margin:0 0 23px}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(40px,4.65vw,65px);margin:0 0 27px;font-weight:750}h2{font-size:clamp(30px,3vw,43px);margin:0 0 20px}h3{font-size:21px;margin:0 0 13px}.lead{font-size:19px;max-width:570px;margin:0 0 32px}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;border-radius:6px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #183c4820}.button.primary{background:var(--yellow);color:var(--navy)}.button.secondary{border:1px solid #8fa9ac;background:#fff;color:var(--navy)}.section{padding:96px 0}.section-intro{font-size:18px;color:var(--muted);max-width:710px;margin:0 0 36px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.card{padding:29px 23px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 7px 22px #183c4808}.card-icon{height:49px;width:49px;border-radius:12px;background:var(--mint);color:#219e95;display:grid;place-items:center;font-size:25px;font-weight:700;margin-bottom:23px}.card p{color:var(--muted);font-size:15px;margin:0}.text-link{display:inline-block;margin-top:29px;color:#138c84;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.feature{background:#f8fbfa}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.feature-grid p:not(.eyebrow){color:var(--muted);font-size:17px;margin:0 0 28px}.feature-visual{background:#e9f5f1;border-radius:18px;min-height:350px;display:grid;place-items:center;padding:42px}.sheet{width:min(100%,370px);background:white;border:1px solid #d8e8e3;box-shadow:0 15px 30px #183c4812;border-radius:8px;padding:19px}.sheet-head,.sheet-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:8px}.sheet-head span{background:#50b8ad;color:white;font-size:11px;text-align:center;padding:8px 0;border-radius:3px}.sheet-row i{background:#eaf5f2;height:19px;border-radius:2px}.sheet-row:nth-child(3) i{background:#fff3c2}.sheet-chart{height:93px;display:flex;gap:13px;align-items:end;justify-content:center;padding-top:13px}.sheet-chart span{width:30px;background:#50b8ad;border-radius:3px 3px 0 0}.sheet-chart span:nth-child(1){height:35%}.sheet-chart span:nth-child(2){height:60%}.sheet-chart span:nth-child(3){height:45%;background:#ffcc00}.sheet-chart span:nth-child(4){height:85%}.sheet-chart span:nth-child(5){height:70%}.contact-band{text-align:center;background:var(--mint)}.contact-band p:not(.eyebrow){font-size:18px;max-width:650px;margin:0 auto 27px}.site-footer{background:var(--navy);color:#e3eeee;padding:31px 0}.footer-inner{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:13px}.footer-inner a{text-decoration:none}.footer-inner a:hover{text-decoration:underline}@media(max-width:1000px){.nav nav{gap:13px}.nav nav a{font-size:12px}.brand img{width:170px}.cards{grid-template-columns:repeat(2,1fr)}.hero-motif{right:-160px}}@media(max-width:740px){.wrap{width:min(100% - 36px,1160px)}.nav{min-height:76px}.brand img{width:165px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;z-index:10;background:#fff;padding:16px 24px 22px;box-shadow:0 14px 20px #183c481c;flex-direction:column;align-items:stretch;gap:12px}.nav nav.open{display:flex}.nav nav a{font-size:15px;padding:4px 0}.hero-inner{min-height:0}.hero-copy{width:100%;padding:78px 0 85px}.hero-motif{width:430px;right:-235px;opacity:.10}.hero h1{font-size:clamp(37px,8.2vw,53px)}.lead{font-size:17px}.section{padding:70px 0}.cards{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr;gap:35px}.feature-visual{min-height:260px;padding:25px}.footer-inner{flex-direction:column}}
/* Prestations */
.intro-copy{max-width:900px;font-size:18px;color:var(--muted)}.intro-copy p{margin:0 0 16px}.intro-copy strong{color:var(--navy)}.service-section{padding:85px 0}.service-tinted{background:var(--mint)}.service-layout{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(240px,.68fr);align-items:center;gap:clamp(45px,7vw,115px)}.service-reverse{grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr)}.service-reverse .service-body{grid-column:2;grid-row:1}.service-reverse .service-side{grid-column:1;grid-row:1}.service-body{max-width:740px}.service-number{font-size:12px!important;font-weight:750;letter-spacing:.13em;color:#269e96!important;margin:0 0 16px!important}.service-body h2{font-size:clamp(31px,3.1vw,43px);margin:0 0 17px}.service-tagline{font-size:clamp(19px,2vw,24px)!important;font-weight:750;color:#268d85!important;line-height:1.35;margin:0 0 26px!important}.service-body p{font-size:16px;line-height:1.75;margin:0 0 17px}.service-body h3{font-size:16px;letter-spacing:0;margin:29px 0 12px}.service-body ul{margin:0 0 25px;padding-left:23px;color:#277f7a}.service-body li{font-size:16px;line-height:1.7;padding-left:4px;margin-bottom:3px}.service-body li::marker{color:#50b8ad}.service-side{min-height:310px;border:1px solid #d7eae5;border-radius:20px;background:#fff9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;gap:22px}.service-section:not(.service-tinted) .service-side{background:var(--mint)}.service-side p{font-size:13px;font-weight:700;letter-spacing:.015em;color:#54837e;text-align:center;margin:0}.service-symbol{display:grid;grid-template-columns:repeat(3,47px);gap:12px;transform:rotate(-12deg)}.service-symbol span{width:47px;height:47px;border-radius:10px;background:#50b8ad}.service-symbol span:nth-child(2n){background:#ffcc00}.service-symbol span:nth-child(3n){opacity:.45}.mini-chart{height:185px;display:flex;align-items:flex-end;gap:14px;padding:0 18px 12px;border-bottom:2px solid #c1dbd5}.mini-chart span{width:35px;border-radius:8px 8px 0 0;background:#50b8ad}.mini-chart span:nth-child(1){height:45%}.mini-chart span:nth-child(2){height:72%}.mini-chart span:nth-child(3){height:55%;background:#ffcc00}.mini-chart span:nth-child(4){height:90%}.mini-chart span:nth-child(5){height:75%}.quality-graphic{width:min(100%,245px);display:grid;gap:12px}.quality-row{display:flex;gap:9px;align-items:center}.quality-row i{height:23px;flex:1;background:#cfe8e2;border-radius:5px}.quality-row i:nth-child(2){background:#f8eaa5}.quality-row b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#50b8ad;color:white}.migration-graphic{display:flex;align-items:center;gap:17px}.migration-stack{display:grid;gap:8px}.migration-stack span{height:35px;width:74px;background:#d4e8e4;border-radius:6px}.migration-stack span:nth-child(2){background:#f6e6a1}.migration-arrow{font-size:44px;color:#4caf9f}.migration-done span{background:#50b8ad!important}.migration-done span:nth-child(2){background:#8acfc5!important}.migration-done span:nth-child(3){background:#ffcc00!important}
@media(max-width:740px){.intro-copy{font-size:16px}.service-section{padding:62px 0}.service-layout,.service-reverse{display:block}.service-reverse .service-body,.service-reverse .service-side{grid-column:auto;grid-row:auto}.service-side{min-height:190px;margin-top:30px;padding:26px 15px}.service-body p,.service-body li{font-size:15.5px}.service-symbol{grid-template-columns:repeat(3,31px);gap:8px}.service-symbol span{width:31px;height:31px}.mini-chart{height:110px}.mini-chart span{width:27px}.service-side p{font-size:12px}}

/* Réalisations */
.project-section{padding:86px 0}.project-tinted{background:var(--mint)}.project-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(38px,6vw,92px);align-items:center}.project-copy h2{max-width:720px}.project-tagline{font-size:21px;font-weight:700;line-height:1.4;color:#248e85;margin:0 0 29px}.project-details{display:grid;gap:19px}.project-details h3{font-size:15px;letter-spacing:.055em;text-transform:uppercase;color:#2c9e95;margin:0 0 5px}.project-details p{font-size:16px;line-height:1.75;margin:0;color:#405b63}.project-visual{min-height:345px;border:1px solid #d7eae5;border-radius:20px;background:#fff9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:30px 20px}.project-section:not(.project-tinted) .project-visual{background:var(--mint)}.project-visual>p{font-size:12px;text-align:center;color:#5a827f;margin:0}.project-art{width:245px;height:190px;display:flex;align-items:end;justify-content:center;gap:11px}.project-art span{display:block;border-radius:7px;background:#50b8ad}.art-cost span{width:34px;height:45%}.art-cost span:nth-child(2){height:73%}.art-cost span:nth-child(3){height:55%;background:#ffcc00}.art-cost span:nth-child(4){height:90%}.art-cost span:nth-child(5){height:67%}.art-planning{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);gap:8px;align-items:stretch}.art-planning span{width:auto;height:auto;background:#50b8ad55}.art-planning span:nth-child(2){grid-column:span 2;background:#50b8ad}.art-planning span:nth-child(3){grid-column:span 2;background:#ffcc00}.art-planning span:nth-child(4){grid-column:span 3;background:#50b8ad}.art-planning span:nth-child(5){grid-column:span 2;background:#ffcc0099}.art-migration{align-items:center;gap:15px}.art-migration span{width:36px;height:75px}.art-migration span:nth-child(1){height:42px;background:#beddd6}.art-migration span:nth-child(2){height:65px;background:#e8dca2}.art-migration span:nth-child(3){height:26px;background:#beddd6}.art-migration span:nth-child(4){height:95px}.art-migration span:nth-child(5){height:110px;background:#ffcc00}.art-reporting{align-items:center;gap:13px}.art-reporting span{height:14px;width:100%;max-width:38px}.art-reporting span:nth-child(1){height:35px}.art-reporting span:nth-child(2){height:75px}.art-reporting span:nth-child(3){height:110px;background:#ffcc00}.art-reporting span:nth-child(4){height:150px}.art-reporting span:nth-child(5){height:100px}
@media(max-width:740px){.project-section{padding:65px 0}.project-layout{grid-template-columns:1fr;gap:28px}.project-tagline{font-size:19px}.project-details p{font-size:15.5px}.project-visual{min-height:240px}.project-art{transform:scale(.82);height:150px}}

/* Navigation douce entre les pages (navigateurs compatibles). */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: 170ms ease-in both lucidata-fade-out; }
::view-transition-new(root) { animation: 280ms ease-out both lucidata-fade-in; }
@keyframes lucidata-fade-out { to { opacity: 0; } }
@keyframes lucidata-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Micro-interactions sobres, y compris au clavier. */
.nav nav a, .text-link { transition: color 180ms ease, opacity 180ms ease; }
.card, .service-side, .project-visual { transition: transform 200ms ease, box-shadow 200ms ease; }
@media (hover:hover) and (pointer:fine) {
  .card:hover { transform: translateY(-4px); box-shadow: 0 13px 30px #183c4812; }
  .service-side:hover, .project-visual:hover { transform: translateY(-2px); box-shadow: 0 12px 24px #183c480c; }
}
a:focus-visible, button:focus-visible { outline: 3px solid #279e96; outline-offset: 4px; }

/* Révélation au défilement : activée seulement si JavaScript est disponible. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes lucidata-appear { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  .scroll-reveal.is-visible { animation: lucidata-appear 470ms ease both; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* Mode sombre automatique selon la préférence système du visiteur. */
@media (prefers-color-scheme: dark) {
  :root { --navy:#e5f1f1; --teal:#75d2c5; --mint:#18353c; --border:#36545c; --muted:#bed0d3; color-scheme:dark; }
  body { background:#10272e; color:#e5f1f1; }
  .site-header { background:#10272e; border-bottom-color:#29434b; }
  .nav nav a:hover,.nav nav a.active,.text-link { color:#85ded0; }
  .hero,.service-tinted,.project-tinted,.contact-band { background:#18353c; }
  
  
  .feature { background:#152e35; }
  .card,.sheet { background:#193740; border-color:#36545c; box-shadow:none; }
  .card-icon,.feature-visual,.service-section:not(.service-tinted) .service-side,.project-section:not(.project-tinted) .project-visual { background:#24464c; }
  .service-side,.project-visual { background:#203f46; border-color:#36545c; }
  .button.primary { background:#ffcc00; color:#183c48; }
  .button.secondary { background:#203e46; color:#e5f1f1; border-color:#72949b; }
  .button:hover { box-shadow:0 7px 18px #0004; }
  .site-footer { background:#091e24; color:#e5f1f1; }
  .intro-copy strong { color:#e5f1f1; }
  .service-tagline,.project-tagline,.service-number,.eyebrow,.project-details h3{ color:#83d9ca!important; }
  .service-body ul,.project-details p { color:#c2d5d6; }
  .service-side p,.project-visual>p { color:#b9d3d1; }
  .quality-row i,.migration-stack span { background:#41636a; }
  .quality-row i:nth-child(2),.migration-stack span:nth-child(2) { background:#a78b38; }
  .sheet-row i { background:#34585e; }
  .sheet-row:nth-child(3) i { background:#756a3e; }
  .sheet-head span { color:#10272e; }
  .hero-motif { opacity:.25; }
  .nav nav { background:transparent; }
  @media(max-width:740px) { .nav nav { background:#10272e; box-shadow:0 14px 20px #0005; } }
}

/* Accueil : motif LuciData monumental, volontairement recadré sur les bords.
   Les textes restent au premier plan et lisibles sur toutes les tailles d'écran. */
.hero-motif {
  width: clamp(780px, 78vw, 1120px);
  right: clamp(-320px, -16vw, -150px);
  opacity: .16;
}
@media (max-width: 1000px) {
  .hero-motif { width: 900px; right: -340px; }
}
@media (max-width: 740px) {
  .hero-motif { width: 690px; right: -415px; opacity: .105; }
}
@media (prefers-color-scheme: dark) {
  .hero-motif { opacity: .22; }
  @media (max-width: 740px) { .hero-motif { opacity: .13; } }
}

/* Ajustements LuciData : navigation et typographie */
.eyebrow { font-size:14.7px; }
.hero-copy { width:min(890px, 82%); }
.hero h1 { font-size:clamp(38px,4.2vw,58px); }
.hero-line { white-space:nowrap; }
.card-link { display:block; text-decoration:none; color:inherit; cursor:pointer; }
.card-link:focus-visible { outline:3px solid #50b8ad; outline-offset:4px; }
.card-illustration { height:75px; display:flex; align-items:center; justify-content:center; margin-bottom:15px; overflow:hidden; border-radius:9px; background:var(--mint); }
.card-illustration .service-symbol { transform:scale(.48); flex-shrink:0; }
.card-illustration .mini-chart { width:120px; height:70px; gap:7px; padding:7px 0; }
.card-illustration .mini-chart span { width:17px; }
.card-illustration .quality-graphic { width:145px; gap:5px; }
.card-illustration .quality-row { gap:5px; }
.card-illustration .quality-row i { height:12px; }
.card-illustration .quality-row b { width:18px; height:18px; font-size:12px; }
.card-illustration .migration-graphic { transform:scale(.63); flex-shrink:0; }
.service-section { scroll-margin-top:18px; }
@media(max-width:1000px) { .hero-copy {width:min(750px, 90%)} .hero h1 {font-size:clamp(35px,4.2vw,50px)} }
@media(max-width:740px) { .hero-copy {width:100%} .hero h1 {font-size:clamp(31px,7.1vw,45px)} .hero-line {white-space:normal} .eyebrow {font-size:14.7px} }
@media(max-width:400px) { .hero h1 {font-size:clamp(30px,7.4vw,37px)} }

/* Notre approche */


.approach-steps{background:var(--mint)}.approach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.approach-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px 22px;min-height:330px}.approach-card h3{font-size:21px}.approach-card>p:last-child{font-size:15px;color:var(--muted);margin:0}.approach-step{font-size:12px;letter-spacing:.10em;font-weight:800;color:#248e85;margin:0 0 13px}
.approach-flex-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.approach-flex-grid>div>p:not(.eyebrow){color:var(--muted);font-size:17px}.approach-options{display:grid;gap:15px}.approach-option{display:flex;gap:17px;padding:22px;border:1px solid var(--border);border-radius:12px;background:var(--mint)}.approach-option h3{font-size:19px;margin:0 0 6px}.approach-option p{margin:0;color:var(--muted);font-size:15px}.option-mark{display:block;flex:0 0 13px;width:13px;height:13px;border-radius:4px;background:#50b8ad;margin-top:7px;transform:rotate(45deg)}.approach-option:nth-child(2) .option-mark{background:#ffcc00}
.approach-principles{background:#f8fbfa}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px}.principles-grid>div{border-top:3px solid #50b8ad;padding-top:22px}.principles-grid>div:nth-child(2){border-top-color:#ffcc00}.principles-grid p{color:var(--muted);margin:0}
@media(max-width:1000px){.approach-grid{grid-template-columns:repeat(2,1fr)}.approach-flex-grid{gap:40px}}
@media(max-width:740px){.approach-flex-grid{grid-template-columns:1fr}.approach-grid,.principles-grid{grid-template-columns:1fr}.approach-card{min-height:0}.approach-flex-grid{gap:25px}}
@media(prefers-color-scheme:dark){.approach-steps{background:#18353c}.approach-card{background:#193740;border-color:#36545c}.approach-step{color:#83d9ca}.approach-card>p:last-child,.approach-option p,.principles-grid p{color:#bed0d3}.approach-option{background:#203f46;border-color:#36545c}.approach-principles{background:#152e35}}

/* À propos */
.about-details p:not(.eyebrow) {font-size:17px;color:var(--muted)}
.about-expertise {background:var(--mint)}
.about-pillars {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.about-pillar {padding:30px 27px;background:#fff;border:1px solid var(--border);border-radius:13px}
.about-pillar h3 {margin:22px 0 14px}
.about-pillar p {margin:0;color:var(--muted);font-size:15px}
.pillar-rule {display:block;width:54px;height:5px;border-radius:5px;background:var(--teal)}
.about-pillar:nth-child(2) .pillar-rule {background:var(--yellow)}
.about-details-grid {display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.about-detail-art {min-height:290px;border-radius:18px;background:#eaf6f2;display:grid;place-items:center;padding:28px}
.detail-sheet {width:min(310px,100%);padding:25px;background:#fff;border:1px solid #d9e8e4;border-radius:10px;box-shadow:0 15px 35px #183c4815;transform:rotate(-5deg)}
.detail-top, .detail-bottom {display:flex;gap:9px}
.detail-top i {height:14px;flex:1;background:#50b8ad;border-radius:3px}
.detail-top i:nth-child(2) {background:#ffcc00}
.detail-rows {display:grid;gap:12px;margin:24px 0}
.detail-rows span {height:13px;border-radius:4px;background:#e0eeeb}
.detail-rows span:nth-child(2) {width:75%}
.detail-rows span:nth-child(3) {width:90%}
.detail-bottom b {height:43px;flex:1;border-radius:4px;background:#50b8ad}
.detail-bottom b:nth-child(2) {background:#ffcc00;height:65px}
.detail-bottom b:nth-child(3) {height:52px}
@media (max-width:740px) {
.about-details-grid {grid-template-columns:1fr;gap:28px}
.about-pillars {grid-template-columns:1fr}
.about-detail-art {min-height:230px}
}
@media (prefers-color-scheme:dark) {
.about-expertise {background:#18353c}
.about-pillar {background:#193740;border-color:#36545c}
.about-pillar p, .about-details p:not(.eyebrow) {color:#bed0d3}
.about-detail-art {background:#23434a}
.detail-sheet {background:#193740;border-color:#36545c}
.detail-rows span {background:#3a6266}
}


.service-section,.project-section,.approach-steps,.approach-principles,.about-story,.about-details{background:#fff}
.service-section.service-tinted,.project-section.project-tinted,.approach-flex,.about-expertise{background:var(--mint)}
@media(prefers-color-scheme:dark){
 
 
 .service-section,.project-section,.approach-steps,.approach-principles,.about-story,.about-details{background:#10272e}
 .service-section.service-tinted,.project-section.project-tinted,.approach-flex,.about-expertise{background:#18353c}
}


/* Contact */
.contact-content{background:#fff}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,7vw,100px);align-items:start}
.contact-grid p:not(.eyebrow){font-size:17px;color:var(--muted)}
.contact-panel{background:var(--mint);border:1px solid var(--border);border-radius:16px;padding:34px}
.contact-panel h3{margin:0 0 18px}
.contact-email{font-size:clamp(19px,2vw,25px);font-weight:750;color:#167d76;overflow-wrap:anywhere}
.contact-note{font-size:14px!important;margin:22px 0 0}
.contact-next{background:var(--mint)}
.contact-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}
.contact-next-grid article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px}
.contact-next-grid h3{font-size:19px}
.contact-next-grid p{color:var(--muted);margin-bottom:0}
@media(max-width:740px){.contact-grid,.contact-next-grid{grid-template-columns:1fr}.contact-panel{padding:25px}}
@media(prefers-color-scheme:dark){.contact-content{background:#10272e}.contact-panel{background:#19383e;border-color:#36545c}.contact-grid p:not(.eyebrow),.contact-next-grid p{color:#bed0d3}.contact-next{background:#18353c}.contact-next-grid article{background:#193740;border-color:#36545c}.contact-email{color:#83d9ca}}


/* =============================================================
   BANNIÈRE COMMUNE — source unique pour les six pages.
   Modifier ces règles pour changer toutes les bannières ensemble.
   ============================================================= */
:root {
  --hero-background: #f0f8f6;
  --hero-motif-width: 1120px;
  --hero-motif-right: -440px;
  --hero-motif-opacity: .17;
  --hero-min-height: 590px;
}
.hero {
  background: var(--hero-background);
  overflow: hidden;
  isolation: isolate;
  padding: 0;
  min-height: 0;
  display: block;
}
.hero > .wrap.hero-inner {
  width: min(1160px, calc(100% - 64px));
  max-width: none;
  min-height: var(--hero-min-height);
  margin-inline: auto;
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
  isolation: isolate;
}
.hero .hero-motif {
  position: absolute;
  z-index: -1;
  display: block;
  width: var(--hero-motif-width);
  height: auto;
  max-width: none;
  right: var(--hero-motif-right);
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  opacity: var(--hero-motif-opacity);
  pointer-events: none;
}
.hero .hero-copy {
  position: relative;
  z-index: 1;
  width: min(890px, 82%);
  max-width: none;
  margin: 0;
  padding: 85px 0;
  text-align: left;
}
.hero .hero-copy h1 {
  font-size: clamp(38px, 4.2vw, 58px);
  max-width: none;
  margin: 0 0 27px;
}
.hero .hero-copy h1 span:not(.hero-line) { color: #238f87; }
.hero .hero-copy .intro-copy {
  max-width: 710px;
  font-size: 18px;
  color: var(--muted);
}
.contact-band.white {
  background-color: #ffffff;
}
@media (prefers-color-scheme: dark) {
  .contact-band.white {
    background-color: var(--bg);
  }
}
@media (max-width: 1000px) {
  :root { --hero-motif-right: -440px; }
  .hero .hero-copy { width: min(750px, 90%); }
  .hero .hero-copy h1 { font-size: clamp(35px, 4.2vw, 50px); }
}
/* À propos : photo horizontale et texte qui s'écoule autour */
.about-story-content {
  display: flow-root;
}
.about-story-content > p:not(.eyebrow) {
  font-size: 17px;
  color: var(--muted);
  max-width: none;
}
.about-story-content .portrait {
  display: block;
  float: left;
  width: 48%;
  max-width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 4px 32px 20px 0;
  border-radius: 16px;
  filter: none;
  opacity: 1;
}

@media (max-width: 700px) {
  .about-story-content .portrait {
    float: none;
    width: 100%;
    margin: 0 0 24px;
  }
}
@media (prefers-color-scheme: dark) {
  .about-story-content > p:not(.eyebrow) { color: #bed0d3; }
}

@media (max-width: 740px) {
  :root {
    --hero-motif-width: 690px;
    --hero-motif-right: -415px;
    --hero-motif-opacity: .105;
    --hero-min-height: 0px;
  }
  .hero > .wrap.hero-inner { width: min(1160px, calc(100% - 36px)); }
  .hero .hero-copy { width: 100%; padding: 78px 0 85px; }
  .hero .hero-copy h1 { font-size: clamp(31px, 7.1vw, 45px); }
  .hero .hero-copy .intro-copy { font-size: 16px; }
}
@media (prefers-color-scheme: dark) {
  :root { --hero-background: #18353c; --hero-motif-opacity: .22; }
  .hero .hero-copy h1 span:not(.hero-line) { color: #83d9ca; }
}
@media (prefers-color-scheme: dark) and (max-width: 740px) {
  :root { --hero-motif-opacity: .13; }
}

/* Sélecteur de langue, sans modifier la charte graphique */
.language-switcher{display:flex;align-items:center;gap:3px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;padding:3px}
.language-switcher button{border:0;background:transparent;color:var(--muted);padding:5px 7px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer}
.language-switcher button[aria-pressed="true"]{background:var(--mint);color:var(--navy)}
.language-switcher button:focus-visible{outline:2px solid #279e96;outline-offset:2px}
@media(max-width:740px){.nav{gap:10px}.language-switcher{margin-left:auto}.menu-toggle{order:3}}


/* Notre approche : progression chromatique des quatre étapes */
.approach-steps .approach-progress {
  height: 16px;
  margin: 12px 0 25px;
  background: linear-gradient(90deg,#ffcc00 0%,#e7d967 33%,#9bd1aa 66%,#50b8ad 100%);
  clip-path: polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);
}
.approach-steps .approach-card {
  --step-color:#ffcc00;
  border: 2px solid var(--step-color);
  border-top-width: 5px;
}
.approach-steps .approach-card:nth-child(2){--step-color:#e7d967}
.approach-steps .approach-card:nth-child(3){--step-color:#9bd1aa}
.approach-steps .approach-card:nth-child(4){--step-color:#50b8ad}
.approach-steps .approach-card .approach-step{color:#247c79}
@media (min-width:741px) and (max-width:1000px){
  .approach-steps .approach-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .approach-steps .approach-card{padding:22px 15px}
  .approach-steps .approach-card h3{font-size:18px}
  .approach-steps .approach-card>p:last-child{font-size:14px}
}
@media(max-width:740px){
  .approach-steps .approach-progress{display:none}
  .approach-steps .approach-grid{position:relative;padding-left:43px;gap:19px;counter-reset:lucidata-step}
  .approach-steps .approach-grid::before{
    content:"";position:absolute;left:10px;top:6px;bottom:4px;width:15px;
    background:linear-gradient(to bottom,#ffcc00 0%,#e7d967 33%,#9bd1aa 66%,#50b8ad 100%);
    clip-path:polygon(0 0,100% 0,100% calc(100% - 19px),50% 100%,0 calc(100% - 19px));
  }
  .approach-steps .approach-card{position:relative;counter-increment:lucidata-step;border-top-width:2px;padding:22px 18px}
  .approach-steps .approach-card::before{
    content:counter(lucidata-step);position:absolute;left:-39px;top:20px;width:29px;height:29px;
    display:grid;place-items:center;border-radius:50%;background:var(--step-color);
    border:2px solid #fff;color:#183c48;font-weight:800;font-size:14px;z-index:1;
  }
}
@media(prefers-color-scheme:dark){
  .approach-steps .approach-card .approach-step{color:#a5e2d8}
  .approach-steps .approach-card::before{border-color:#10272e}
}

/* Numéros visibles aussi sur ordinateur, assortis à chaque cadre. */
@media (min-width:741px) {
  .approach-steps .approach-grid { counter-reset:lucidata-step; }
  .approach-steps .approach-card {
    position:relative;
    counter-increment:lucidata-step;
    padding-top:48px;
  }
  .approach-steps .approach-card::before {
    content:counter(lucidata-step);
    position:absolute;
    top:12px;
    left:18px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--step-color);
    color:#183c48;
    font-size:14px;
    font-weight:800;
  }
}
/* Afficher FR et EN, masquer DE pour le moment */
.language-switcher button[data-lang="de"] {
  display: none;
}

/* ============================================================
   Identité chromatique par page — LuciData
   Couleurs de fond uniquement ; textes et accents inchangés.
   ============================================================ */
body.page-accueil     { --page-tint: #F9F9E2; }
body.page-prestations { --page-tint: #F3F9E4; }
body.page-realisations{ --page-tint: #EAF8E7; }
body.page-approche    { --page-tint: #E4F8EA; }
body.page-apropos     { --page-tint: #DFF7EF; }
body.page-contact    { --page-tint: #DAF6F1; }

/* La bannière et les sections alternées utilisent la même nuance. */
body[class*="page-"] .hero { --hero-background: var(--page-tint); }
body[class*="page-"] .contact-band:not(.white),
body.page-prestations .service-section.service-tinted,
body.page-realisations .project-section.project-tinted,
body.page-approche .approach-flex,
body.page-apropos .about-expertise,
body.page-contact .contact-next { background-color: var(--page-tint); }

/* Fonds blancs conservés pour les sections non teintées. */
@media (prefers-color-scheme: dark) {
  body.page-accueil     { --page-tint: #303A2E; }
  body.page-prestations { --page-tint: #2B3A30; }
  body.page-realisations{ --page-tint: #263A32; }
  body.page-approche    { --page-tint: #223A35; }
  body.page-apropos     { --page-tint: #1D3939; }
  body.page-contact    { --page-tint: #19383d; }
}

/* Et l’IA ? : nuance entre Notre approche et À propos. */
body.page-ia { --page-tint:#E2F8ED; }
.page-ia .ai-tinted { background:var(--page-tint); }
.ai-copy { max-width:820px; margin:0; }
.ai-copy p { font-size:17px; line-height:1.75; color:var(--muted); margin:0 0 17px; }
.ai-copy p:last-child { margin-bottom:0; }
@media(max-width:740px) { .ai-copy p { font-size:16px; } }
.ai-copy .lead { max-width:none; }
.ai-copy .ai-pledge { color:var(--navy); font-size:clamp(20px,2.2vw,26px); font-weight:700; border-left:5px solid var(--teal); padding:18px 24px; }
.home-positioning { font-weight:700; margin:0 0 26px; }
@media(prefers-color-scheme:dark) { body.page-ia { --page-tint:#203A37; } }
/* Le menu garde sa place avec la nouvelle rubrique et le sélecteur de langue. */
@media(min-width:741px) { .nav { gap:18px; } .nav nav { gap:18px; } }
@media(min-width:741px) and (max-width:1100px) { .nav { gap:12px; } .brand img { width:155px; } .nav nav { gap:10px; } .nav nav a { font-size:12px; } }
@media(min-width:741px) and (max-width:900px) {
  .nav { min-height:76px; }
  .menu-toggle { display:block; order:3; }
  .language-switcher { margin-left:auto; }
  .nav nav { display:none; position:absolute; top:76px; left:0; right:0; z-index:10; background:#fff; padding:16px 24px 22px; box-shadow:0 14px 20px #183c481c; flex-direction:column; align-items:stretch; gap:12px; }
  .nav nav.open { display:flex; }
  .nav nav a { font-size:15px; padding:4px 0; }
}
@media(prefers-color-scheme:dark) and (min-width:741px) and (max-width:900px) { .nav nav { background:#10272e; box-shadow:0 14px 20px #0005; } }
