/* ECP Sign: palette and satin surfaces shared with ecpsign.fr/carte/. */
.hero-visual figcaption>a{width:auto;height:auto;min-height:44px;padding:10px 16px;border-radius:14px;font-size:.85rem;white-space:nowrap}.solution-list>a{grid-template-columns:32px 1fr!important}.button{justify-content:center}
:root{--bg:#00202f;--panel:#1c3547;--ink:#f1f2f2;--muted:#b8cdd8;--line:#abc7d329;--blue:#3a5364;--focus:#e0f2ff;--radius:17px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
body{background:#071e2b;background-image:radial-gradient(ellipse at 50% 0,#24556a 0,transparent 65%);background-attachment:fixed;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.035em;font-weight:600}h1{line-height:1.08}p{color:#d0dde5}em{color:#b8cdd8}::selection{background:#577383;color:#fff}
.header{border-color:#abc7d329}.header nav>a:not(.button){color:#d2e0e8}.header nav>a:hover,.header nav>a[aria-current]{color:#fff}.header nav>a[aria-current]:not(.button){text-decoration:underline;text-underline-offset:8px;text-decoration-color:#adc7d5}
.brand{gap:13px}.brand img.brand-symbol{width:47px;height:47px;object-fit:contain}.brand img.brand-wordmark{width:112px;height:40px;object-fit:contain}
.button,.button.primary,.nav-cta{background:linear-gradient(145deg,#3a5364,#2a4152 56%,#253949);border:1px solid #728b9a80;color:#fff;border-radius:17px;box-shadow:inset 0 1px #ffffff21,0 5px 14px #00131f24;min-height:50px}
.button.primary{background:linear-gradient(145deg,#577383,#3b5566);border-color:#a2bdcb80}.button:hover,.button.primary:hover{background:linear-gradient(145deg,#496679,#304c60);border-color:#aec5d3;box-shadow:inset 0 1px #ffffff30,0 10px 22px #00131f4d}
.text-link{border-color:#9bb5c270}.text-link:hover{border-color:#e0f2ff}.dot{background:#c2e69b;box-shadow:0 0 18px #c2e69b40}.eyebrow,.eyebrow>span:first-child{color:#b8cdd8}.hero-baseline,.hero-baseline b{color:#b8cdd8}
.hero-visual{border-radius:28px;border:1px solid #728b9a60;background:#00202f;box-shadow:inset 0 1px #ffffff21,0 24px 60px #00131f40}.hero-visual:after{background:linear-gradient(transparent,#00202ff2)}.hero-visual figcaption{background:linear-gradient(transparent,#00202f)}.technical-tag{border-color:#abc7d329;background:#123c50b3;color:#d2e0e8}.hero-visual figcaption>a,.photo-link{background:#1c3547cc;border-color:#afc8d355}
.solution-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.solution-list>a{grid-template-columns:32px 1fr 28px;padding:26px;border:1px solid #728b9a60;border-radius:28px;background:linear-gradient(145deg,#3a5364,#2a4152 56%,#253949);box-shadow:inset 0 1px #ffffff21,0 5px 14px #00131f24;gap:16px}.solution-list>a>p{grid-column:2;grid-row:2}.solution-list>a>.arrow{grid-column:3;grid-row:1/3}.solution-list>a h3{font-size:1.6rem}.solution-list>a:hover{background:linear-gradient(145deg,#496679,#304c60);border-color:#aec5d392}.solution-list>a>span:first-child,.steps li>span{color:#d2e0e8}
.service-index article,.pro-brief,.form-panel{border:1px solid #728b9a60;border-radius:28px;background:linear-gradient(145deg,#2a4152,#1c3547 65%,#183041);box-shadow:inset 0 1px #ffffff21,0 8px 24px #00131f24}.service-index article{padding:28px}.service-index{gap:20px}.service-hero figure,.service-hero figure img,.about-split>img,.project-photo{border-radius:24px}.service-hero figure img{background:#00202f}
.pro-home,.pro-confidential,.pro-bridge{border:1px solid #55758270;border-radius:28px;background:radial-gradient(ellipse at 15% 0,#28566980,transparent 65%),linear-gradient(165deg,#123c50,#00202f 65%,#081e29);box-shadow:inset 0 1px #ffffff12,0 12px 40px #00131f24}.pro-trust,.pro-brief dt{color:#d2e0e8}.pro-brief dd{color:#d0dde5}.pro-brief dl>div{border-color:var(--line)}.pro-modes article{border-color:#91afbe}.pro-capabilities article,.pro-use-cases article{border-color:var(--line)}
.form-panel input:not([type=checkbox]):not([type=radio]),.form-panel textarea,.form-panel select{background:#102b3c;border:1px solid #64829480;color:#f1f2f2;border-radius:13px}.form-panel input::placeholder,.form-panel textarea::placeholder{color:#adc1cc}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus{border-color:#e0f2ff;outline-color:#e0f2ff}.form-panel input{accent-color:#c2e69b}.project-choices label{border-color:#64829480;border-radius:17px;background:#1c3547}.project-choices label:has(input:checked){background:#3a5364;border-color:#c2d8e4}.form-progress{color:#d2e0e8}.filters button{border-color:#64829480;background:#1c3547;border-radius:17px;color:#e1ebf0}.filters button.active{background:#3a5364;border-color:#afc8d3;color:white}
.glass-carousel{border-color:#55758270;background:#00202f;border-radius:28px;box-shadow:inset 0 1px #ffffff12}.glass-carousel:after{background:radial-gradient(ellipse at center,transparent,#00202fe6 90%)}.glass-track .glass-card{background:linear-gradient(145deg,#3a5364e8,#2a4152ed 56%,#253949e8);border-color:#728b9a80;border-radius:28px;box-shadow:inset 0 1px #ffffff21,0 20px 45px #00131f66}.glass-track .glass-card.is-current{border-color:#aec5d3;box-shadow:inset 0 1px #ffffff30,0 25px 60px #00131f80}.glass-track .project-photo,.glass-track .gallery-item img{border-radius:19px}.glass-controls{background:#1c3547e6;border-color:#64829480}.glass-track .project-caption p,.glass-track .project-caption>span{color:#c1d3dd}
.lightbox{background:#00202f;border:1px solid #55758270;border-radius:28px}.lightbox::backdrop{background:#00131fe6;backdrop-filter:blur(10px)}.lightbox button{background:#1c3547;border-color:#64829480;border-radius:15px}.footer{border-color:var(--line)}.footer-links span,.footer p{color:#b8cdd8}.mobile-contact{background:#00202ff5;border-color:#64829457}.mobile-contact a:last-child{background:linear-gradient(145deg,#577383,#3b5566);color:white}
@media(max-width:1100px){.header nav{background:#092b3af7;border-color:#55758270;backdrop-filter:blur(20px)}.menu-toggle{background:#1c3547;border-color:#64829480;border-radius:15px}.brand img.brand-symbol{width:40px;height:40px}.brand img.brand-wordmark{width:96px;height:35px}}
@media(max-width:900px){.solution-list{grid-template-columns:1fr}.solution-list>a{padding:24px 20px}.pro-home,.pro-confidential,.pro-bridge,.form-panel{border-radius:24px}.hero-visual{border-radius:24px}.service-index article{padding:25px}}
@media(max-width:700px){.glass-carousel{border-radius:0}.glass-track .glass-card{border-radius:24px}.glass-track .project-photo,.glass-track .gallery-item img{border-radius:17px}}

.hero-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 24px;min-width:0}.hero-logo img:first-child{width:min(76%,340px);height:auto}.hero-logo img:last-child{width:min(86%,380px);height:auto}@media(max-width:900px){.hero-logo{padding:10px 24px 35px}.hero-logo img:first-child{width:230px}.hero-logo img:last-child{width:270px}}

/* 2026 direction: neutral editorial base, petroleum used as an accent. */
:root{--bg:#0b0d0e;--panel:#141719;--ink:#f2f0eb;--muted:#aaaead;--line:#ffffff1f;--blue:#284b59;--focus:#dcecf0}
body{background:#0b0d0e;background-image:radial-gradient(ellipse 55% 52% at 80% 8%,#123746 0,transparent 72%);background-attachment:fixed}
p{color:#c5c7c5}em,.eyebrow,.eyebrow>span:first-child,.hero-baseline,.hero-baseline b{color:#aaaead}
.header{border-color:#ffffff1a}.header nav>a:not(.button){color:#b9bcba}.header nav>a[aria-current]:not(.button){text-decoration-color:#6f929f}
.button,.button.primary,.nav-cta{background:#171b1d;border-color:#ffffff2b;box-shadow:none;border-radius:13px}.button.primary{background:#e8ebe8;border-color:#e8ebe8;color:#111416}.button:hover,.button.primary:hover{background:#284b59;border-color:#547482;color:#fff;box-shadow:none}
.text-link{border-color:#ffffff42}.text-link:hover{border-color:#fff}.dot{background:#b9dc8b}
.hero{grid-template-columns:minmax(0,.92fr) minmax(360px,1fr);gap:clamp(36px,7vw,110px);padding-block:54px 72px}.hero h1{font-size:clamp(3.2rem,5.2vw,5.75rem);font-weight:560;max-width:650px}.hero-description{max-width:560px}.letter-lab-minimal .letter-stage{height:clamp(330px,38vw,500px)}
.solution-list{gap:12px}.solution-list>a{background:#121517;border-color:#ffffff1b;border-radius:18px;box-shadow:none}.solution-list>a:hover{background:#182126;border-color:#53717d}
.service-index article,.pro-brief,.form-panel{background:#121517;border-color:#ffffff1f;border-radius:18px;box-shadow:none}
.pro-home,.pro-confidential,.pro-bridge{background:#111416;border-color:#ffffff1f;border-radius:18px;box-shadow:none}
.form-panel input:not([type=checkbox]):not([type=radio]),.form-panel textarea,.form-panel select{background:#0d1011;border-color:#ffffff2b}.project-choices label{background:#111416;border-color:#ffffff29}.project-choices label:has(input:checked){background:#1c3038;border-color:#66838e}
.filters button{background:#111416;border-color:#ffffff29}.filters button.active{background:#e8ebe8;border-color:#e8ebe8;color:#111416}
.footer{border-color:#ffffff1a}.mobile-contact{background:#0b0d0ef5;border-color:#ffffff20}.mobile-contact a:last-child{background:#284b59}
@media(max-width:1100px){.header nav{background:#0d1011f7;border-color:#ffffff20}.menu-toggle{background:#171b1d;border-color:#ffffff29}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-block:34px 48px;gap:18px}.hero h1{font-size:clamp(3rem,12vw,4.8rem)}.letter-lab-minimal .letter-stage{height:330px}.solution-list>a,.service-index article{border-radius:15px}}

.expertise{border-top:1px solid var(--line);padding-block:38px 92px}.expertise-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end;margin:34px 0 48px}.expertise-heading h2{font-size:clamp(2.5rem,4.6vw,4.8rem)}.expertise-heading p{max-width:480px;line-height:1.8}.career{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.career article{padding:32px 42px 36px 0}.career article+article{border-left:1px solid var(--line);padding-left:42px}.career span,.skills-grid span{color:#8ea5ae;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.career h3{font-size:1.8rem;margin:18px 0 14px}.career p{font-size:.95rem;line-height:1.75}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.skills-grid article{min-height:220px;padding:27px 28px 32px 0;border-bottom:1px solid var(--line)}.skills-grid article:not(:nth-child(3n+1)){border-left:1px solid var(--line);padding-left:28px}.skills-grid h3{font-size:1.45rem;margin:24px 0 12px}.skills-grid p{font-size:.9rem;line-height:1.7}.tools-line{display:grid;grid-template-columns:180px 1fr;gap:30px;padding-top:28px;font-size:.9rem}.tools-line strong{color:var(--ink)}.tools-line span{color:var(--muted)}
@media(max-width:900px){.expertise{padding-block:28px 58px}.expertise-heading{grid-template-columns:1fr;gap:22px;margin:26px 0 34px}.career{grid-template-columns:1fr}.career article{padding:26px 0}.career article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.skills-grid{grid-template-columns:1fr 1fr}.skills-grid article:not(:nth-child(3n+1)){border-left:0;padding-left:0}.skills-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:20px}.skills-grid article{min-height:0;padding:24px 20px 26px 0}.tools-line{grid-template-columns:1fr;gap:10px}}
@media(max-width:520px){.skills-grid{grid-template-columns:1fr}.skills-grid article:nth-child(even){border-left:0;padding-left:0}.tools-line span{line-height:1.8}}

.service-hero figure img.service-closeup{width:100%;object-fit:cover;object-position:50% 45%}

.service-photo-link{display:block;border-radius:24px}.service-hero figcaption a:hover{text-decoration:underline}
