/* Direction institutionnelle  :  héritage Officine de main conservé. */
.corporate-site { --accent:var(--pine); background:var(--paper); }
.corporate-site .wrap { max-width:1440px; padding-left:64px; padding-right:64px; }
.corporate-site h1,.corporate-site h2,.corporate-site h3,.corporate-site p { margin-top:0; }
.corporate-site h2 { font-size:clamp(32px,3.35vw,50px); line-height:1.14; font-weight:500; letter-spacing:-.045em; }
.corporate-site a { text-underline-offset:5px; }
.corporate-site :focus-visible { outline:3px solid var(--pine); outline-offset:6px; }
.corporate-site [id] { scroll-margin-top:110px; }
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; padding:14px 20px; background:var(--ink); color:white; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.eyebrow { font-size:10px; line-height:1.5; letter-spacing:.14em; font-weight:600; text-transform:uppercase; }
.site-header { position:sticky; top:-32px; z-index:80; background:var(--paper); }
.site-header .utility { border-bottom:1px solid var(--line); }
.utility-inner { display:flex; justify-content:space-between; align-items:center; height:32px; font-size:9px; letter-spacing:.09em; }
.utility-inner a { text-decoration:none; letter-spacing:0; font-size:11px; }
.header-main { min-height:88px; display:flex; align-items:center; gap:40px; border-bottom:1px solid var(--line); }
.brand { display:flex; flex-direction:column; align-items:flex-start; text-decoration:none; flex-shrink:0; padding-bottom:5px; }
.brand img { width:138px; height:40px; object-fit:contain; object-position:left center; }
.brand span { font-size:8px; letter-spacing:.34em; margin-left:2px; }
.primary-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.primary-nav a { font-size:12px; font-weight:500; text-decoration:none; padding:14px 0; }
.primary-nav a:hover { text-decoration:underline; }
.header-actions { display:flex; align-items:center; gap:24px; }
.language-link { font-size:11px; text-decoration:none; }
.header-cta { font-size:11px; font-weight:500; text-decoration:none; display:flex; align-items:center; gap:22px; background:var(--ink); color:white; padding:15px 18px; }
.header-cta:hover { background:var(--pine); }
.corporate-hero { min-height:650px; position:relative; overflow:hidden; isolation:isolate; }
.hero-art { position:absolute; inset:0 0 58px 48%; z-index:-1; }
.hero-art img { width:100%; height:100%; display:block; object-fit:cover; object-position:60% center; }
.image-caption { position:absolute; bottom:20px; right:24px; padding:6px 10px; background:rgba(245,244,239,.92); font-size:9px; letter-spacing:.04em; }
.hero-layout { min-height:592px; display:flex; align-items:center; }
.hero-copy { padding:64px 46px 68px 0; width:52%; }
.hero-copy .eyebrow { color:var(--pine); display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.12em; margin-bottom:36px; }
.small-square { background:var(--pine); width:6px; height:6px; display:inline-block; }
.hero-copy h1 { font-size:clamp(44px,4.6vw,69px); line-height:1.06; font-weight:500; letter-spacing:-.055em; margin:0 0 28px; }
.hero-copy h1 span { color:var(--pine); }
.hero-intro { font-size:16px; line-height:1.7; max-width:440px; color:#435551; margin-bottom:30px; }
.solid-button { display:inline-flex; gap:36px; padding:17px 22px; align-items:center; background:var(--pine); color:white; text-decoration:none; font-size:12px; font-weight:500; }
.solid-button:hover { background:var(--ink); }
.solid-button span { font-size:20px; line-height:1; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:18px max(64px,calc((100vw - 1312px)/2)); background:var(--ink); color:white; text-decoration:none; font-size:10px; letter-spacing:.08em; }
.hero-bottom span:first-child { color:var(--mint); font-size:9px; }
.hero-bottom b { margin-left:30px; font-size:16px; color:var(--mint); font-weight:400; }
.perspective-section { padding:100px 0 72px; }
.perspective-grid { display:grid; grid-template-columns:1fr 2.05fr; gap:72px; }
.perspective-grid>.eyebrow { color:var(--pine); padding-top:9px; }
.perspective-grid h2 { margin-bottom:26px; }
.perspective-grid div>p { font-size:17px; line-height:1.8; max-width:700px; color:#435551; margin-bottom:0; }
.client-section { padding:0 0 62px; }
.client-section .wrap { border-bottom:1px solid var(--line); padding-bottom:48px; }
.client-section .eyebrow { color:var(--slate); text-align:center; font-size:9px; letter-spacing:.08em; margin-bottom:28px; }
.client-list { display:flex; justify-content:center; align-items:center; gap:64px; }
.client-logo { width:135px; height:48px; display:flex; align-items:center; justify-content:center; }
.client-logo img { max-width:125px; max-height:38px; object-fit:contain; filter:grayscale(1); opacity:.7; }
.client-logo img:hover { filter:none; opacity:1; }
.expertise-section { padding:38px 0 110px; }
.section-heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:80px; margin-bottom:54px; }
.section-heading .eyebrow { color:var(--pine); margin-bottom:24px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { font-size:15px; line-height:1.8; color:#435551; max-width:390px; margin-bottom:5px; }
.expertise-list { border-top:1px solid var(--ink); }
.expertise-row { border-bottom:1px solid var(--line); }
.expertise-row summary { display:grid; grid-template-columns:50px 1fr 240px 20px; align-items:center; gap:24px; padding:28px 0; cursor:pointer; list-style:none; }
.expertise-row summary::-webkit-details-marker { display:none; }
.expertise-number { font-size:10px; color:var(--pine); align-self:start; padding-top:8px; }
.expertise-row h3 { font-size:25px; font-weight:500; letter-spacing:-.03em; margin:0; }
.expertise-state { font-size:10px; color:var(--slate); line-height:1.6; padding-right:20px; }
.expand-icon { width:18px; height:18px; position:relative; }
.expand-icon::before,.expand-icon::after { content:''; position:absolute; background:var(--pine); }
.expand-icon::before { height:1px; width:16px; top:8px; left:0; }
.expand-icon::after { width:1px; height:16px; top:0; left:8px; }
.expertise-row[open] .expand-icon::after { display:none; }
.expertise-row[open] h3 { color:var(--pine); }
.expertise-content { margin-left:74px; display:flex; align-items:flex-end; gap:60px; padding:0 44px 32px 0; }
.expertise-content p { max-width:610px; font-size:15px; line-height:1.8; color:#435551; margin:0; }
.text-link { display:inline-flex; align-items:center; gap:20px; font-size:11px; font-weight:600; color:var(--pine); text-decoration:none; border-bottom:1px solid var(--pine); padding-bottom:5px; }
.text-link span { font-size:19px; font-weight:400; }
.expertise-content .text-link { flex-shrink:0; margin-left:auto; }
.method-section { background:var(--ink); color:white; padding:100px 0; }
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:120px; }
.method-heading>.eyebrow { color:var(--mint); margin-bottom:28px; }
.method-heading h2 { font-size:clamp(32px,3.3vw,46px); margin-bottom:28px; }
.method-heading>p:not(.eyebrow) { font-size:15px; line-height:1.8; color:#b5ceca; max-width:420px; }
.mission-framework { margin-top:58px; border-left:1px solid var(--mint); padding:0 0 0 24px; position:relative; }
.mission-framework .eyebrow { color:var(--mint); font-size:9px; margin-bottom:16px; }
.mission-framework p:last-child { font-size:16px; line-height:1.8; margin:0; }
.framework-mark { position:absolute; right:30px; top:0; font-size:50px; line-height:1; font-weight:400; color:var(--mint); }
.method-steps { list-style:none; margin:0; padding:0; }
.method-steps li { display:flex; gap:24px; border-top:1px solid #35504d; padding:25px 0; }
.method-steps li:last-child { border-bottom:1px solid #35504d; }
.step-no { font-size:11px; color:var(--mint); padding-top:6px; }
.method-steps h3 { font-size:24px; letter-spacing:-.025em; font-weight:500; margin-bottom:12px; }
.method-steps p { font-size:14px; line-height:1.75; color:#b5ceca; margin:0; max-width:390px; }
.issues-section { background:white; padding:110px 0; }
.issue-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.issue-card { padding:32px 38px 0 0; display:flex; flex-direction:column; align-items:flex-start; }
.issue-card+.issue-card { border-left:1px solid var(--line); padding-left:38px; }
.issue-card .eyebrow { color:var(--pine); font-size:9px; margin-bottom:30px; }
.issue-card h3 { font-size:26px; font-weight:500; line-height:1.18; letter-spacing:-.035em; max-width:230px; margin-bottom:22px; }
.issue-card p { font-size:14px; line-height:1.8; color:#435551; margin-bottom:28px; }
.issue-card .text-link { margin-top:auto; }
.future-section { padding:90px 0; background:var(--mint-soft); }
.future-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; }
.future-grid>.eyebrow,.future-grid>div>.eyebrow { color:var(--pine); }
.future-grid h2 { font-size:clamp(32px,3vw,44px); margin:24px 0; }
.future-grid>div>p:not(.eyebrow) { font-size:15px; line-height:1.8; color:#435551; max-width:400px; }
.future-card { display:block; text-decoration:none; padding:27px 50px 30px 0; border-top:1px solid #b2cfc2; position:relative; }
.future-card:last-child { border-bottom:1px solid #b2cfc2; }
.future-card .eyebrow { font-size:9px; color:var(--pine); }
.future-card h3 { font-size:27px; font-weight:500; letter-spacing:-.025em; margin:17px 0 14px; }
.future-card p { font-size:13px; line-height:1.8; margin:0; color:#435551; }
.future-arrow { position:absolute; right:0; top:50%; font-size:30px; color:var(--pine); transition:transform .2s; }
.future-card:hover .future-arrow { transform:translate(3px,-3px); }
.contact-section { background:var(--paper); padding:110px 0; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:120px; }
.contact-copy .eyebrow { color:var(--pine); margin-bottom:30px; }
.contact-copy h2 { margin-bottom:25px; font-size:clamp(32px,3.2vw,46px); }
.contact-copy p:not(.eyebrow) { font-size:15px; line-height:1.8; color:#435551; max-width:400px; margin-bottom:35px; }
.contact-copy>a { display:block; font-size:15px; width:fit-content; margin-bottom:18px; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:6px; }
.corporate-site form label { font-size:9px; letter-spacing:.08em; font-family:var(--sans); }
.corporate-site form input,.corporate-site form select,.corporate-site form textarea { font-size:15px; }
.corporate-site form .field { margin-bottom:26px; }
.corporate-site .frow { gap:25px; }
.corporate-site form .hint { font-family:var(--sans); font-size:10px; letter-spacing:0; }
.corporate-site form button { background:var(--pine); font-family:var(--sans); font-size:12px; padding:15px 30px; }
.form-privacy { font-size:10px; line-height:1.7; color:var(--slate); margin-bottom:20px; }
.site-footer { background:var(--ink); color:#bdd1ca; padding:70px 0 25px; }
.footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:80px; padding-bottom:60px; }
.footer-top img { object-fit:contain; object-position:left center; }
.footer-statement { font-size:24px; line-height:1.35; letter-spacing:-.02em; color:white; margin-top:28px !important; margin-bottom:0; }
.footer-links .eyebrow { color:var(--mint); margin:10px 0 25px; font-size:9px; }
.footer-links a { display:block; margin:0 0 16px; text-decoration:none; font-size:12px; overflow-wrap:anywhere; }
.footer-links a:hover { color:white; }
.footer-base { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #35504d; padding-top:24px; font-size:9px; }
.footer-base a { text-decoration:none; }
/* Services : sommaire, rythme éditorial et mêmes repères de marque. */
.service-page .service-hero { padding-top:50px; padding-bottom:70px; background:var(--mint-soft); max-width:none; }
.service-hero>nav { font-size:11px; margin-bottom:55px; color:var(--slate); }
.service-status { font-family:var(--sans); font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--pine); margin-bottom:20px; }
.service-hero h1 { font-size:clamp(38px,5vw,68px); line-height:1.07; letter-spacing:-.055em; font-weight:500; max-width:1000px; margin-bottom:32px; }
.service-lead { font-size:19px; line-height:1.75; max-width:820px; color:#435551; margin-bottom:0; }
.service-detail-section { background:white; padding:70px 0; }
.service-detail-copy { max-width:1080px !important; }
.service-detail-copy h2 { font-size:28px; margin:50px 0 24px; }
.service-detail-copy h2:first-child { margin-top:0; }
.service-detail-copy p,.service-detail-copy li { font-size:16px; line-height:1.9; color:#435551; }
.service-detail-copy li { margin-bottom:10px; }
.service-detail-copy ul { padding-left:20px; }
.service-detail-copy .btn-primary { background:var(--pine); font-size:13px; margin-top:15px; }
.related-services { padding-top:65px; padding-bottom:70px; }
.related-services h2 { font-size:30px; }
.related-services ul { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; padding:0; list-style:none; }
.related-services li { border-top:1px solid var(--line); padding:22px 0; font-size:15px; line-height:1.6; }
.related-services a { text-decoration:none; }
.related-services a:hover { color:var(--pine); }
@media(min-width:1440px) { .service-page .service-hero { padding-left:calc((100vw - 1312px)/2); padding-right:calc((100vw - 1312px)/2); } }
@media(max-width:1160px) {
 .corporate-site .wrap { padding-left:36px; padding-right:36px; }
 .header-main { gap:24px; }.primary-nav { gap:20px; }.header-cta { gap:12px; }.header-actions { gap:18px; }
 .hero-copy { width:54%; padding-right:30px; }.hero-art { left:51%; }.hero-bottom { padding-left:36px; padding-right:36px; }
 .method-grid,.contact-layout { gap:70px; }.future-grid { gap:60px; }
 .expertise-row summary { grid-template-columns:35px 1fr 190px 18px; gap:18px; }.expertise-content { margin-left:53px; gap:30px; }
 .client-list { gap:35px; }.section-heading { gap:50px; }
}
@media(max-width:900px) {
 .header-main { flex-wrap:wrap; gap:0; padding-top:15px; padding-bottom:10px; }
 .brand img { width:120px; height:35px; }.header-actions { margin-left:auto; }.header-cta { padding:12px 14px; font-size:10px; }
 .primary-nav { order:3; width:100%; margin:10px 0 0; justify-content:flex-start; gap:32px; border-top:1px solid var(--line); }.primary-nav a { font-size:11px; padding:12px 0 3px; }
 .corporate-hero { min-height:auto; }.hero-layout { min-height:540px; }.hero-copy h1 { font-size:49px; }.hero-copy { width:60%; }.hero-art { left:56%; }.hero-copy .eyebrow { font-size:8px; }
 .perspective-grid { gap:40px; grid-template-columns:1fr 2fr; }.perspective-grid div>p { font-size:15px; }
 .section-heading { gap:35px; }.section-heading>p { font-size:13px; }.expertise-row h3 { font-size:22px; }.expertise-row summary { grid-template-columns:30px 1fr 150px 18px; }.expertise-content { flex-wrap:wrap; margin-left:48px; gap:20px; }.expertise-content .text-link { margin-left:0; }
 .method-grid { gap:50px; }.method-heading h2 { font-size:32px; }.framework-mark { right:0; }.mission-framework p:last-child { font-size:13px; }.method-steps h3 { font-size:21px; }
 .issue-card { padding-right:25px; }.issue-card+.issue-card { padding-left:25px; }.issue-card h3 { font-size:23px; }.issue-card p { font-size:13px; }.issue-card .text-link { font-size:10px; gap:10px; }
 .future-grid { gap:40px; }.contact-layout { gap:45px; }.footer-top { gap:35px; }.footer-statement { font-size:21px; }.client-list { gap:20px; }.client-logo { width:105px; }.client-logo img { max-width:100px; max-height:30px; }
}
@media(max-width:640px) {
 .corporate-site .wrap { padding-left:24px; padding-right:24px; }.utility-inner { font-size:8px; height:28px; }.utility-inner a { display:none; }.site-header { top:-28px; }
 .brand img { width:110px; height:32px; }.brand span { font-size:7px; }.header-actions { gap:14px; }.header-cta { max-width:175px; font-size:9px; gap:14px; padding:12px; }.primary-nav { justify-content:space-between; gap:12px; }.primary-nav a { font-size:10px; }
 .hero-art { position:relative; height:280px; inset:auto; z-index:0; }.hero-art img { object-position:center 48%; }.image-caption { font-size:8px; bottom:12px; right:14px; }
 .hero-layout { min-height:auto; }.hero-copy { width:100%; padding:40px 0 43px; }.corporate-hero { display:flex; flex-direction:column; }.hero-art { order:2; }.hero-layout { order:1; width:100%; }.hero-bottom { order:3; padding:19px 24px; font-size:9px; gap:20px; }.hero-bottom span:first-child { font-size:8px; }.hero-bottom b { margin-left:12px; }
 .hero-copy h1 { font-size:clamp(39px,8.2vw,52px); line-height:1.1; margin-bottom:24px; }.hero-copy .eyebrow { font-size:8px; margin-bottom:25px; }.hero-intro { font-size:15px; max-width:400px; margin-bottom:25px; }.solid-button { font-size:11px; padding:15px 20px; gap:35px; }
 .perspective-section { padding:62px 0 42px; }.perspective-grid { grid-template-columns:1fr; gap:24px; }.corporate-site h2 { font-size:32px; }.perspective-grid h2 { margin-bottom:20px; }.perspective-grid>.eyebrow { margin:0; }.perspective-grid div>p { font-size:15px; line-height:1.8; }
 .client-section { padding-bottom:40px; }.client-section .wrap { padding-bottom:32px; }.client-section .eyebrow { text-align:left; font-size:8px; }.client-list { gap:20px 26px; flex-wrap:wrap; justify-content:flex-start; }.client-logo { width:calc((100% - 52px)/3); }.client-logo img { max-width:100%; max-height:28px; }
 .expertise-section { padding:20px 0 62px; }.section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:32px; }.section-heading .eyebrow { font-size:9px; margin-bottom:20px; }.section-heading>p { font-size:14px; line-height:1.75; }
 .expertise-row summary { grid-template-columns:24px 1fr 18px; gap:12px; padding:22px 0; }.expertise-row h3 { font-size:20px; line-height:1.25; }.expertise-state { grid-column:2; grid-row:2; font-size:9px; padding:0; margin-top:-3px; }.expand-icon { grid-column:3; grid-row:1; }.expertise-number { padding-top:5px; font-size:9px; }.expertise-content { margin-left:36px; padding:0 5px 24px 0; }.expertise-content p { font-size:14px; line-height:1.75; }.text-link { font-size:10px; }
 .method-section { padding:62px 0; }.method-grid { grid-template-columns:1fr; gap:40px; }.method-heading h2 { font-size:32px; }.method-heading>.eyebrow { font-size:9px; }.mission-framework { margin-top:30px; }.mission-framework p:last-child { font-size:15px; }.framework-mark { right:20px; }.method-steps li { padding:24px 0; }.method-steps p { font-size:14px; }
 .issues-section { padding:62px 0; }.issue-grid { grid-template-columns:1fr; border-top:none; }.issue-card,.issue-card+.issue-card { padding:26px 0 32px; border:none; border-top:1px solid var(--line); }.issue-card .eyebrow { margin-bottom:18px; }.issue-card h3 { max-width:none; font-size:24px; margin-bottom:16px; }.issue-card p { font-size:14px; margin-bottom:20px; }
 .future-section { padding:60px 0; }.future-grid { grid-template-columns:1fr; gap:25px; }.future-grid h2 { font-size:32px; }.future-grid>div>p:not(.eyebrow) { font-size:14px; }.future-card h3 { font-size:26px; }
 .contact-section { padding:62px 0; }.contact-layout { grid-template-columns:1fr; gap:40px; }.contact-copy h2 { font-size:32px; }.contact-copy p:not(.eyebrow) { font-size:14px; }.contact-copy>a { font-size:14px; }.corporate-site .frow { grid-template-columns:1fr; gap:0; }.corporate-site form .submit { gap:18px; }
 .site-footer { padding-top:48px; }.footer-top { grid-template-columns:1fr 1fr; gap:38px 20px; padding-bottom:35px; }.footer-top>div:first-child { grid-column:1/-1; }.footer-statement { font-size:24px; }.footer-links .eyebrow { margin-top:0; }.footer-links a { font-size:11px; }.footer-base { flex-wrap:wrap; gap:15px 25px; font-size:8px; }
 .service-page .service-hero { padding-top:32px; padding-bottom:45px; }.service-hero>nav { margin-bottom:35px; font-size:10px; }.service-hero h1 { font-size:40px; }.service-lead { font-size:16px; }.service-status { font-size:9px; }
 .service-detail-section { padding:45px 0; }.service-detail-copy h2 { font-size:25px; }.service-detail-copy p,.service-detail-copy li { font-size:15px; }.related-services { padding-top:45px; padding-bottom:45px; }.related-services ul { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

/* Édition 03  :  direction éditoriale, ambition et précision opérationnelle. */
.editorial-site .site-header { top:0; background:var(--paper); }
.editorial-site .header-main { min-height:94px; gap:48px; border:0; }
.editorial-site .brand img { width:155px; height:44px; }
.editorial-site .brand span { font-size:6.8px; letter-spacing:.18em; margin-top:3px; white-space:nowrap; }
.editorial-site .primary-nav { gap:32px; }
.editorial-site .primary-nav a { font-size:12px; }
.editorial-site .header-cta { background:transparent; color:var(--ink); border-bottom:1px solid var(--ink); padding:10px 0; gap:30px; font-size:12px; }
.editorial-site .header-cta>span:last-child { font-size:22px; line-height:1; font-weight:400; }
.editorial-site .header-cta:hover { color:var(--pine); border-color:var(--pine); }
.editorial-site .corporate-hero { min-height:710px; height:calc(100svh - 94px); max-height:920px; display:flex; flex-direction:column; justify-content:space-between; color:white; background:var(--ink); isolation:isolate; }
.hero-photograph,.hero-shade { position:absolute; inset:0; z-index:-2; }
.hero-photograph img { width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; }
.hero-shade { background:rgba(6,29,27,.55); z-index:-1; }
.editorial-hero-content { width:100%; padding-top:70px; padding-bottom:55px; }
.editorial-hero-content>.eyebrow { display:flex; align-items:center; gap:12px; font-size:10px; color:#d4eee3; letter-spacing:.1em; margin-bottom:55px; }
.editorial-hero-content .small-square { background:var(--mint); }
.hero-category { border-left:1px solid #78948b; padding-left:15px; margin-left:5px; font-size:9px; letter-spacing:.08em; }
.editorial-hero-content h1 { font-size:clamp(70px,8.4vw,124px); line-height:.98; letter-spacing:-.065em; font-weight:500; margin:0 0 42px; max-width:1100px; }
.editorial-hero-content h1 span { color:#c9e9dc; }
.hero-detail { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; max-width:850px; }
.hero-detail p { color:#f4f8f4; font-size:17px; line-height:1.75; margin:0; max-width:480px; }
.hero-cta { display:inline-flex; align-items:center; gap:28px; padding:16px 20px; background:var(--paper); color:var(--ink); font-size:12px; font-weight:500; text-decoration:none; flex-shrink:0; }
.hero-cta span { font-size:23px; font-weight:400; line-height:1; }
.hero-cta:hover { background:var(--mint); }
.editorial-hero-base { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:70px; gap:25px; border-top:1px solid rgba(225,240,231,.3); }
.editorial-hero-base>a { display:flex; align-items:center; gap:20px; font-size:9px; letter-spacing:.07em; text-decoration:none; color:white; }
.editorial-hero-base>a>span { color:#bce5d5; }.editorial-hero-base b { font-size:20px; font-weight:400; margin-left:25px; }
.image-credit { font-size:8px; color:#d2dfd7; }
.editorial-site .perspective-section { padding:115px 0 60px; }
.manifesto-grid { display:grid; grid-template-columns:1fr 2.8fr; gap:70px; }
.section-index { display:flex; flex-direction:column; gap:20px; padding-top:8px; }
.section-index>span { font-size:10px; font-weight:500; color:var(--pine); }
.section-index>.eyebrow { color:var(--pine); font-size:9px; max-width:170px; line-height:1.6; margin-bottom:0; }
.manifesto-grid h2 { font-size:clamp(35px,3.9vw,58px); line-height:1.14; margin-bottom:35px; }
.manifesto-grid h2 span,.editorial-heading h2 span { color:#657a70; }
.manifesto-copy { display:grid; grid-template-columns:1.1fr 1fr; gap:45px; }
.manifesto-copy p { font-size:15px; line-height:1.85; color:#435551; margin:0; }
.manifesto-copy p:first-child { color:var(--ink); }
.editorial-site .client-section { padding:10px 0 70px; }
.editorial-site .client-section .wrap { display:grid; grid-template-columns:1fr 2.8fr; gap:70px; padding-bottom:45px; }
.editorial-site .client-section .eyebrow { text-align:left; padding-top:15px; font-size:8px; line-height:1.7; max-width:170px; margin:0; }
.editorial-site .client-list { justify-content:space-between; gap:30px; }
.editorial-site .client-logo { width:110px; }
.editorial-site .client-logo img { max-width:110px; max-height:33px; }
.editorial-site .expertise-section { padding:30px 0 110px; }
.editorial-heading { display:grid; grid-template-columns:1fr 2.8fr; gap:20px 70px; align-items:start; margin-bottom:55px; }
.editorial-heading h2 { font-size:clamp(35px,3.9vw,58px); margin:0; line-height:1.13; }
.editorial-heading>p { grid-column:2; max-width:500px; font-size:14px; line-height:1.8; color:#435551; margin:0; }
.practice-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.practice-card { grid-column:span 2; min-height:305px; position:relative; display:flex; align-items:flex-start; flex-direction:column; padding:30px; background:#eaece5; color:var(--ink); text-decoration:none; transition:background .25s; }
.practice-card:hover { background:#dce9df; }
.practice-1,.practice-2 { grid-column:span 3; min-height:375px; }
.practice-1 { background:var(--ink); color:white; }
.practice-1:hover { background:var(--deep); }
.practice-2 { background:var(--mint-soft); }
.practice-2:hover { background:#d4eade; }
.practice-top { display:flex; align-items:center; justify-content:space-between; width:100%; margin-bottom:36px; }
.practice-top>span:first-child { font-size:9px; letter-spacing:.05em; }
.practice-arrow { font-size:25px; font-weight:400; line-height:1; transition:transform .2s; }
.practice-card:hover .practice-arrow { transform:translate(3px,-3px); }
.practice-card h3 { font-size:27px; line-height:1.15; letter-spacing:-.04em; font-weight:500; margin:0 0 18px; max-width:310px; }
.practice-1 h3,.practice-2 h3 { font-size:36px; max-width:370px; }
.practice-card>p { font-size:13px; line-height:1.8; max-width:360px; margin-bottom:26px; color:#435551; }
.practice-1>p { color:#c5dacf; }
.practice-status { font-size:8px; line-height:1.6; letter-spacing:.04em; margin-top:auto; padding-top:18px; border-top:1px solid #b9c6ba; width:100%; color:#4c6658; }
.practice-1 .practice-status { color:#bce5d5; border-color:#456657; }
.practice-4,.practice-5 { background:white; border:1px solid var(--line); }
.practice-diagram { display:flex; align-items:center; margin:5px 0 30px; width:100%; }
.roadmap { gap:0; max-width:370px; }
.roadmap>div { display:flex; flex-direction:column; align-items:center; gap:10px; width:70px; }
.roadmap i { display:block; height:11px; width:11px; border:1px solid var(--mint); border-radius:50%; }
.roadmap>div:first-child i { background:var(--mint); }
.roadmap span { font-size:8px; color:#cee5d8; }
.roadmap>b { flex:1; height:1px; background:#56786b; margin-bottom:22px; }
.data-path { max-width:420px; gap:12px; justify-content:space-between; }
.data-path>span { font-size:9px; padding:14px 13px; border:1px solid #adccbb; background:rgba(255,255,255,.3); }
.data-path>i { color:var(--pine); font-size:16px; font-style:normal; }
.editorial-site .issues-section { padding:105px 0; background:#fff; }
.work-grid { display:grid; grid-template-columns:1fr 1.7fr; align-items:center; gap:75px; }
.work-kicker { font-size:9px; letter-spacing:.08em; color:var(--pine); margin-bottom:28px; }
.work-narrative h3 { font-size:35px; line-height:1.18; letter-spacing:-.04em; font-weight:500; margin-bottom:25px; }
.work-narrative>p:not(.work-kicker) { font-size:14px; line-height:1.85; color:#435551; margin-bottom:24px; }
.work-narrative ul { list-style:none; padding:0; margin:0 0 35px; }
.work-narrative li { border-bottom:1px solid var(--line); padding:13px 0; font-size:11px; color:#435551; }
.work-narrative li::before { content:'↗'; color:var(--pine); margin-right:13px; }
.work-visual { background:var(--paper); padding:40px 30px 22px; }
.sample-browser { background:white; border:1px solid #bfcfc3; }
.sample-top { background:var(--ink); color:#cee4d8; min-height:54px; padding:8px 18px; display:flex; align-items:center; gap:16px; font-size:8px; letter-spacing:.07em; }
.sample-mark { color:white; font-size:30px; font-weight:600; letter-spacing:-.05em; line-height:1; }
.sample-mark>span { color:var(--mint); }.sample-dots { font-size:25px; margin-left:auto; letter-spacing:2px; }
.sample-tabs { display:flex; gap:25px; margin:0 22px; border-bottom:1px solid var(--line); }
.sample-tabs button { font-family:var(--sans); background:none; border:0; border-bottom:2px solid transparent; padding:18px 0 14px; color:var(--slate); font-size:9px; cursor:pointer; }
.sample-tabs button[aria-selected="true"] { color:var(--pine); border-color:var(--pine); font-weight:600; }
.sample-view { padding:25px 22px 22px; min-height:300px; }
.sample-view[hidden] { display:none; }
.sample-title { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:28px; }
.sample-title h4 { font-size:17px; font-weight:500; letter-spacing:-.025em; line-height:1.3; margin:0; max-width:260px; }
.sample-title>span { color:var(--slate); font-size:6px; letter-spacing:.08em; padding-top:5px; }
.sample-table { width:100%; }
.sample-tr { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:15px; padding:15px 0; border-top:1px solid #e5e9e1; align-items:center; font-size:9px; }
.sample-th { border-top:0; font-size:7px; letter-spacing:.05em; color:var(--slate); padding-top:0; padding-bottom:10px; }
.sample-tag { font-size:8px; padding:5px 7px; background:var(--mint-soft); color:var(--pine); width:fit-content; }
.sample-review { background:#f4eddf; color:#79601c; }
.sample-bottom { display:flex; align-items:center; gap:13px; padding:15px 0 0; border-top:1px solid var(--line); margin-top:18px; }
.sample-bottom p { font-size:9px; line-height:1.7; margin:0; color:var(--slate); }
.sample-check { color:var(--pine); font-size:15px; }
.sample-disclaimer { font-size:7px; line-height:1.7; color:var(--slate); margin:15px 0 0; }
.stock-lines>div { display:grid; grid-template-columns:70px 1fr 75px; gap:15px; padding:15px 0; font-size:9px; align-items:center; }
.stock-lines i { height:5px; display:block; background:#edf1eb; position:relative; }
.stock-lines i::after { content:''; display:block; width:var(--stock); height:100%; background:var(--pine); }
.stock-lines b { font-size:8px; font-weight:400; color:var(--slate); }
.report-flow { display:flex; gap:13px; justify-content:space-between; align-items:center; min-height:140px; }
.report-flow>div>span { color:var(--pine); font-size:8px; display:block; margin-bottom:16px; }.report-flow b { display:block; font-size:12px; font-weight:500; }.report-flow p { font-size:8px; color:var(--slate); margin:8px 0 0; }.report-flow i { font-style:normal; color:var(--pine); }
.editorial-site .method-section { padding:110px 0; }
.editorial-site .method-heading h2 { font-size:clamp(36px,3.6vw,52px); line-height:1.13; }
.editorial-site .method-heading h2 span { color:var(--mint); }
.editorial-site .method-steps li { gap:30px; padding:29px 0; }.editorial-site .step-no { font-size:28px; font-weight:400; letter-spacing:-.06em; line-height:1; padding-top:0; }.editorial-site .method-steps h3 { font-size:25px; }
.editorial-site .mission-framework { margin-top:45px; }
.editorial-site .future-section { background:var(--paper); padding:100px 0; }
.editorial-site .future-section h2 { font-size:clamp(35px,3.9vw,52px); line-height:1.14; }.editorial-site .future-section h2 span { color:#657a70; }
.editorial-site .future-card { border-color:var(--line); padding-top:30px; padding-bottom:30px; }
.editorial-site .future-card h3 { font-size:30px; }
.editorial-site .contact-section { background:#dde9dd; padding:100px 0; }
.editorial-site .contact-copy h2 { font-size:clamp(36px,3.7vw,54px); line-height:1.13; }
.editorial-site .site-footer { background:#0b2221; padding-top:80px; }
.editorial-site .footer-statement { font-size:30px; }.editorial-site .footer-top { padding-bottom:65px; }
.editorial-site .service-hero { background:var(--ink); color:white; padding-top:45px; padding-bottom:80px; }
.editorial-site .service-hero>nav { color:#b5ceca; margin-bottom:60px; }
.editorial-site .service-hero .service-status { color:var(--mint); }
.editorial-site .service-hero h1 { font-size:clamp(44px,6vw,84px); line-height:1.04; max-width:1100px; }
.editorial-site .service-hero .service-lead { color:#d5e4da; font-size:18px; max-width:800px; }
.editorial-site .service-detail-section { padding:90px 0; }.editorial-site .service-detail-copy { max-width:1160px !important; }
.editorial-site .service-detail-copy h2 { font-size:32px; }.editorial-site .related-services { padding-top:75px; padding-bottom:75px; }
@media(min-width:1600px) { .editorial-site .corporate-hero { min-height:810px; }.editorial-hero-content { padding-top:90px; } }
@media(max-width:1160px) {
 .editorial-site .header-main { gap:30px; }.editorial-site .primary-nav { gap:24px; }.editorial-site .brand img { width:140px; }.editorial-site .brand span { font-size:6px; }
 .editorial-hero-content h1 { font-size:90px; }.editorial-hero-content { padding-top:65px; }.hero-detail { max-width:760px; }.hero-detail p { font-size:16px; }
 .manifesto-grid,.editorial-heading { grid-template-columns:1fr 3fr; gap:25px 40px; }.editorial-site .client-section .wrap { grid-template-columns:1fr 3fr; gap:40px; }.manifesto-copy { gap:30px; }
 .practice-card { padding:27px; }.practice-card h3 { font-size:25px; }.practice-1 h3,.practice-2 h3 { font-size:32px; }.work-grid { gap:45px; grid-template-columns:1fr 1.6fr; }.work-visual { padding:30px 22px 20px; }.work-narrative h3 { font-size:32px; }
 .sample-title h4 { font-size:15px; }.sample-tr { gap:10px; }.data-path { gap:8px; }.data-path>span { font-size:8px; padding:13px 9px; }
}
@media(max-width:900px) {
 .editorial-site .header-main { min-height:110px; padding-top:14px; padding-bottom:8px; gap:0; }.editorial-site .primary-nav { margin-top:12px; padding-top:0; gap:30px; }.editorial-site .primary-nav a { padding:11px 0 6px; font-size:11px; }.editorial-site .brand img { width:130px; height:35px; }.editorial-site .header-cta { font-size:11px; gap:20px; padding:7px 0; }
 .editorial-site .corporate-hero { height:auto; min-height:700px; }.editorial-hero-content { padding-top:60px; padding-bottom:65px; }.editorial-hero-content h1 { font-size:86px; margin-bottom:35px; }.editorial-hero-content>.eyebrow { margin-bottom:50px; }.hero-category { font-size:8px; }.hero-detail { display:block; }.hero-detail p { margin-bottom:26px; }.hero-cta { font-size:11px; padding:14px 18px; }.image-credit { font-size:7px; max-width:125px; line-height:1.6; }.editorial-hero-base>a { font-size:8px; gap:14px; }.editorial-hero-base b { margin-left:10px; }
 .editorial-site .perspective-section { padding-top:80px; }.manifesto-grid,.editorial-heading { grid-template-columns:1fr 3fr; gap:25px 35px; }.manifesto-copy { grid-template-columns:1fr; gap:20px; }.manifesto-grid h2,.editorial-heading h2 { font-size:40px; }.section-index>.eyebrow { font-size:8px; }
 .editorial-site .client-section .wrap { grid-template-columns:1fr; gap:25px; }.editorial-site .client-section .eyebrow { max-width:none; }.editorial-site .client-list { gap:30px; }
 .practice-1,.practice-2 { min-height:390px; }.practice-card { padding:24px; }.practice-card h3 { font-size:23px; }.practice-1 h3,.practice-2 h3 { font-size:30px; }.practice-card>p { font-size:12px; }.practice-3,.practice-4,.practice-5 { min-height:310px; }.practice-status { font-size:7px; }.data-path { flex-wrap:wrap; justify-content:flex-start; }.data-path>span { font-size:8px; padding:10px; }.data-path>i { font-size:14px; }
 .work-grid { grid-template-columns:1fr; gap:40px; }.work-narrative { display:grid; grid-template-columns:1fr 1fr; gap:15px 40px; }.work-narrative h3 { grid-column:1; }.work-narrative .work-kicker { grid-column:1/-1; margin-bottom:6px; }.work-narrative>p:not(.work-kicker) { grid-column:2; grid-row:2; }.work-narrative ul { grid-column:2; grid-row:3; margin-bottom:0; }.work-narrative .text-link { grid-column:1; grid-row:3; align-self:start; justify-self:start; }.work-visual { padding:35px; }.sample-view { padding:28px; }.sample-title h4 { font-size:20px; }.sample-tr { font-size:11px; }.sample-th { font-size:8px; }.sample-tag { font-size:9px; }.sample-tabs button { font-size:11px; }.sample-title>span { font-size:7px; }
 .editorial-site .method-heading h2 { font-size:37px; }.editorial-site .future-section h2 { font-size:38px; }.editorial-site .contact-copy h2 { font-size:37px; }.editorial-site .footer-statement { font-size:25px; }
}
@media(max-width:640px) {
 .editorial-site .header-main { min-height:104px; padding-top:14px; padding-bottom:9px; }.editorial-site .brand img { width:116px; height:32px; }.editorial-site .brand span { font-size:5.5px; letter-spacing:.1em; }.editorial-site .primary-nav { margin-top:12px; gap:15px; }.editorial-site .primary-nav a { font-size:10px; padding-top:11px; }.editorial-site .header-actions { gap:20px; }.editorial-site .header-cta { font-size:11px; padding:5px 0; gap:16px; }.editorial-site .header-cta>span:last-child { font-size:21px; }
 .editorial-site .corporate-hero { min-height:650px; height:calc(100svh - 104px); max-height:850px; display:flex; flex-direction:column; }
 .hero-photograph img { object-position:68% center; }.hero-shade { background:rgba(5,29,25,.61); }
 .editorial-hero-content { padding-top:43px; padding-bottom:45px; }.editorial-hero-content>.eyebrow { font-size:8px; line-height:1.8; flex-wrap:wrap; gap:8px; margin-bottom:55px; }.hero-category { font-size:7px; padding-left:9px; margin-left:0; letter-spacing:.04em; }
 .editorial-hero-content h1 { font-size:clamp(58px,12.2vw,78px); line-height:1.01; letter-spacing:-.065em; margin-bottom:32px; }
 .hero-detail p { font-size:15px; line-height:1.8; max-width:360px; margin-bottom:27px; }.hero-cta { font-size:11px; padding:15px 18px; gap:35px; }
 .editorial-hero-base { min-height:78px; padding-top:17px; padding-bottom:17px; flex-wrap:wrap; gap:12px; }.editorial-hero-base>a { font-size:7px; gap:12px; width:100%; justify-content:space-between; }.editorial-hero-base b { margin-left:auto; }.image-credit { font-size:6px; line-height:1.5; max-width:none; opacity:.8; }
 .editorial-site .perspective-section { padding:65px 0 35px; }.manifesto-grid,.editorial-heading { grid-template-columns:1fr; gap:30px; }.section-index { flex-direction:row; align-items:center; gap:18px; padding:0; }.section-index>.eyebrow { max-width:none; font-size:8px; }.section-index>span { font-size:9px; }.manifesto-grid h2,.editorial-heading h2 { font-size:clamp(32px,7.1vw,40px); line-height:1.14; letter-spacing:-.045em; margin-bottom:25px; }.manifesto-copy { gap:20px; }.manifesto-copy p { font-size:14px; line-height:1.85; }
 .editorial-site .client-section { padding:0 0 50px; }.editorial-site .client-section .wrap { grid-template-columns:1fr; gap:20px; padding-bottom:30px; }.editorial-site .client-section .eyebrow { font-size:7px; max-width:none; padding-top:0; }.editorial-site .client-list { gap:18px 30px; justify-content:flex-start; }.editorial-site .client-logo { width:calc((100% - 60px)/3); }.editorial-site .client-logo img { max-width:100%; max-height:28px; }
 .editorial-site .expertise-section { padding:12px 0 65px; }.editorial-heading { margin-bottom:30px; gap:25px; }.editorial-heading h2 { margin:0; }.editorial-heading>p { grid-column:1; font-size:13px; }.practice-grid { grid-template-columns:1fr; gap:12px; }.practice-card,.practice-1,.practice-2 { grid-column:1; min-height:0; padding:28px; }.practice-top { margin-bottom:28px; }.practice-card h3,.practice-1 h3,.practice-2 h3 { font-size:32px; max-width:330px; margin-bottom:18px; }.practice-card>p { font-size:14px; max-width:360px; margin-bottom:20px; }.practice-status { font-size:8px; margin-top:14px; padding-top:17px; }.practice-diagram { margin:10px 0 20px; }.roadmap { max-width:370px; }.data-path { justify-content:space-between; flex-wrap:nowrap; }.data-path>span { font-size:9px; padding:13px; }.practice-3,.practice-4,.practice-5 { padding:25px 28px; }.practice-3 h3,.practice-4 h3,.practice-5 h3 { font-size:27px; }.practice-3 .practice-top,.practice-4 .practice-top,.practice-5 .practice-top { margin-bottom:22px; }
 .editorial-site .issues-section { padding:65px 0; }.work-grid { gap:30px; }.work-narrative { display:block; }.work-narrative .work-kicker { font-size:8px; margin-bottom:22px; }.work-narrative h3 { font-size:31px; margin-bottom:22px; }.work-narrative>p:not(.work-kicker) { font-size:14px; }.work-narrative ul { margin-bottom:28px; }.work-narrative li { font-size:11px; }.work-visual { padding:18px 14px 16px; margin-left:-10px; margin-right:-10px; }.sample-top { gap:12px; padding:10px 14px; font-size:7px; }.sample-mark { font-size:26px; }.sample-tabs { gap:24px; margin:0 15px; }.sample-tabs button { font-size:9px; padding:15px 0 12px; }.sample-view { padding:24px 15px 18px; min-height:280px; }.sample-title { gap:12px; margin-bottom:24px; }.sample-title h4 { font-size:16px; max-width:220px; }.sample-title>span { font-size:5px; }.sample-tr { font-size:8px; grid-template-columns:.9fr .9fr 1.2fr; gap:8px; padding:14px 0; }.sample-th { font-size:6px; padding:0 0 9px; }.sample-tag { font-size:7px; padding:5px; }.sample-bottom p { font-size:8px; }.sample-disclaimer { font-size:6px; }.stock-lines>div { grid-template-columns:60px 1fr 65px; gap:10px; font-size:8px; }.stock-lines b { font-size:7px; }.report-flow { gap:8px; }.report-flow b { font-size:10px; }.report-flow p { font-size:7px; }.report-flow>div>span { font-size:7px; }
 .editorial-site .method-section { padding:65px 0; }.editorial-site .method-heading h2 { font-size:36px; }.editorial-site .method-steps li { gap:25px; padding:26px 0; }.editorial-site .method-steps h3 { font-size:23px; }.editorial-site .step-no { font-size:27px; }.editorial-site .method-steps p { font-size:13px; }
 .editorial-site .future-section { padding:65px 0; }.editorial-site .future-section h2 { font-size:36px; }.editorial-site .future-card h3 { font-size:29px; }.editorial-site .contact-section { padding:65px 0; }.editorial-site .contact-copy h2 { font-size:36px; }.editorial-site .site-footer { padding-top:50px; }.editorial-site .footer-statement { font-size:27px; }.editorial-site .footer-top { padding-bottom:40px; }
 .editorial-site .service-hero { padding-top:32px; padding-bottom:50px; }.editorial-site .service-hero>nav { margin-bottom:40px; }.editorial-site .service-hero h1 { font-size:43px; }.editorial-site .service-hero .service-lead { font-size:16px; }.editorial-site .service-detail-section { padding:50px 0; }.editorial-site .service-detail-copy h2 { font-size:27px; }.editorial-site .related-services { padding-top:50px; padding-bottom:50px; }
}
@media(max-width:375px) { .hero-category { border:0; padding-left:0; margin-left:14px; width:100%; }.editorial-hero-content>.eyebrow { row-gap:0; margin-bottom:40px; }.editorial-site .corporate-hero { min-height:670px; }.editorial-hero-content h1 { font-size:54px; }.data-path>span { padding:12px 9px; font-size:8px; }.editorial-site .primary-nav a { font-size:9px; }.editorial-site .header-cta { font-size:10px; } }
/* Les qualifications de l’offre et des illustrations restent lisibles. */
.editorial-site .practice-status { font-size:10px; line-height:1.65; }
.editorial-site .sample-disclaimer { font-size:10px; line-height:1.7; }
.editorial-site .image-credit { font-size:9px; line-height:1.6; }
@media(max-width:640px) { .editorial-site .practice-status { font-size:10px; }.editorial-site .sample-disclaimer { font-size:9px; }.editorial-site .image-credit { font-size:8px; } }

/* Cotupha : même fond et même traitement monochrome que les autres références. */
.editorial-site .client-logo--mono img { filter:brightness(0); opacity:.55; }
.editorial-site .client-logo--mono img:hover { filter:brightness(0); opacity:.8; }
