/* Compositions V3 : les médias et la palette Nexelis restent le socle. */
@font-face{font-family:'Inter';src:url('/assets/inter-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/inter-italic-variable.ttf') format('truetype');font-weight:100 900;font-style:italic;font-display:swap}
:root{font-optical-sizing:auto}
:is(h1,h2,h3)[id]{scroll-margin-top:calc(var(--header-height) + 24px)}
.page-curtain{position:fixed;inset:0;z-index:1000;background:#111315;display:grid;place-items:center;pointer-events:none;transform:translateY(-101%)}
.page-curtain img{width:clamp(72px,10vw,140px);height:auto}
html.js[data-motion="full"]:not(.page-ready) .page-curtain{animation:nexelis-curtain-enter .65s cubic-bezier(.76,0,.24,1) both;pointer-events:auto}
@keyframes nexelis-curtain-enter{from{transform:translateY(0)}to{transform:translateY(-101%)}}
.section-heading{max-width:900px;margin-bottom:64px}
.section-heading h2,.flow-copy h2{font-size:clamp(32px,3.6vw,58px);line-height:1.15;letter-spacing:-.05em;margin:24px 0}
.section-heading>p:not(.eyebrow){max-width:58ch;color:var(--muted);font-size:14px;line-height:1.85}
.solutions{padding-block:clamp(44px,5vw,84px) clamp(64px,7vw,110px);background:#000;color:#fff;--muted:#b8bdc5;--silver:#c4c9d0}
.solutions-fade{height:clamp(180px,25vw,360px);background:#fff url('/assets/solutions-wave.svg') center/100% 100% no-repeat;pointer-events:none}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.service-card{display:flex;flex-direction:column;min-width:0}
.service-art{position:relative;isolation:isolate;aspect-ratio:8/9;display:grid;place-items:center;overflow:hidden;background:#f1f2f3;border-radius:3px}
.service-art:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 80px #17181906;pointer-events:none}
.service-art img{position:relative;width:55%;height:55%;object-fit:contain}
.service-number{position:absolute;top:24px;left:24px;font-size:11px;color:#676b70}
.service-open{position:absolute;right:20px;bottom:20px;width:40px;height:40px;display:grid;place-items:center;background:#fff;color:#171819;border-radius:50%;font-size:20px}
.service-open svg{display:block;flex-shrink:0}
.service-art-sites-vitrines{background:#161819;color:white}
.service-art-sites-vitrines img{width:82%;height:auto;filter:invert(1);mix-blend-mode:screen}
.service-art-sites-vitrines .service-number{color:#b8bdc3}
.service-art-sites-vitrines .service-open{color:#171819}
.service-art-accompagnement{background:radial-gradient(ellipse at 40% 35%,#fff,#e3e5e7)}
.service-orbit{position:absolute;width:78%;aspect-ratio:1;border:1px solid #b9bfc655;border-radius:50%;pointer-events:none}
.service-orbit:after{content:'';position:absolute;inset:12%;border:1px solid #b9bfc644;border-radius:50%;transform:rotateX(60deg) rotateZ(-30deg)}
.service-art-sites-vitrines .service-orbit{width:150%;border-color:#ffffff1f}
.service-art-accompagnement .service-orbit{border-radius:26%;transform:rotate(-20deg)}
.service-art{flex-shrink:0}
.service-caption{padding:28px 2px 0;display:flex;flex-direction:column;flex:1}
.service-caption h3{min-height:2.5em;font-size:clamp(22px,2vw,31px);line-height:1.25;letter-spacing:-.04em;margin:0 0 18px;text-align:center;color:#fff;text-wrap:balance}
.service-caption .service-tagline{font-size:16px;line-height:1.4;color:#fff;margin:0 0 16px}
.service-caption>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.85}
.service-tags{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:8px}
.service-tags li{font-size:9px;background:#ffffff14;color:#e5e7eb;padding:7px 10px;border-radius:20px}
.service-title-number{font:inherit;letter-spacing:inherit;white-space:nowrap;margin-right:.25em}
.flow-focus{padding-block:clamp(70px,9vw,140px);display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}
.flow-copy>p:not(.eyebrow){max-width:44ch;font-size:14px;color:var(--muted);line-height:1.85}
.flow-diagram{list-style:none;padding:36px clamp(20px,4vw,64px);margin:0;background:#f5f6f7;border-radius:4px}
.flow-diagram li{position:relative;display:grid;grid-template-columns:42px 1fr;gap:24px;align-items:start;padding-block:32px}
.flow-diagram li:not(:last-child):after{content:'';position:absolute;width:1px;background:#c4c9ce;left:20px;top:74px;bottom:-32px}
.flow-node{position:relative;z-index:1;background:#fff;width:42px;height:42px;border:1px solid #c4c9ce;border-radius:50%;display:grid;place-items:center;font-size:11px}
.flow-diagram h3{font-size:20px;margin:7px 0 10px}
.flow-diagram p{font-size:12px;color:var(--muted);margin:0;max-width:30ch}
.faq-section{padding-block:clamp(80px,9vw,140px);display:grid;grid-template-columns:1fr 1.2fr;gap:10%}
.faq-section .section-heading{margin-bottom:0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:grid;grid-template-columns:24px 1fr 22px;gap:20px;align-items:baseline;list-style:none;cursor:pointer;padding:25px 0;font-size:14px;line-height:1.6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid #59616c;outline-offset:5px}
.faq-number{font-size:10px;color:var(--muted)}
.faq-cross{font-size:23px;line-height:1;text-align:center}
.faq-item[open] .faq-cross{transform:rotate(45deg)}
.faq-answer{padding:0 42px 26px 44px}
.faq-answer p{margin:0;color:var(--muted);font-size:12px;line-height:1.9}
.expand-background{background:#000}
.expand-panel .expand-content{color:#fff}
.expand-panel .expand-copy p{max-width:48ch}
.expand-panel .expand-logo{max-width:100%;height:auto;aspect-ratio:1}
.scroll-expand:not(:is(.expand-animated,.js .scroll-expand)) .expand-wordmark{min-height:55svh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}
.scroll-expand:not(:is(.expand-animated,.js .scroll-expand)) .expand-panel{min-height:65svh}
.closing{position:relative}
.closing-logo{max-width:40vw}
.text-link{position:relative;border-bottom:0}
.text-link:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform-origin:left}
.header nav{pointer-events:auto}
.menu-toggle span{display:inline-block}
.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
@media(max-width:999px){.service-grid{gap:20px}.service-caption h3{font-size:23px}.service-tags{gap:5px}.service-tags li{font-size:8px;padding:6px 8px}.flow-focus{gap:6%}.faq-section{gap:6%}}
@media(max-width:799px){
  .section-heading{margin-bottom:36px}.section-heading h2,.flow-copy h2{font-size:clamp(30px,7vw,44px)}
  .solutions{padding-block:44px 64px}.service-grid{grid-template-columns:1fr;gap:48px}
  .service-art,.service-art-sites-vitrines{aspect-ratio:40/27}.service-art img{height:65%;width:55%}.service-art-sites-vitrines img{width:75%;height:auto}
  .service-caption{padding-top:22px}.service-caption h3{font-size:27px}.service-caption>p:not(.eyebrow){max-width:60ch;font-size:13px}
  .service-tags{margin:18px 0}.service-tags li{font-size:10px;padding:7px 11px}
  .flow-focus,.faq-section{grid-template-columns:1fr;gap:36px;padding-block:65px}
  .flow-diagram{padding:10px 24px}.faq-item summary{gap:12px;font-size:13px}.faq-answer{padding-left:36px;padding-right:20px}
  .header nav.open{padding:24px 20px 32px;box-shadow:0 20px 30px #1718190a;border-radius:0 0 16px 16px}
  .header nav.open>a{font-size:18px}.services-nav summary{padding-inline:14px;font-size:18px}
  :is(.expand-animated,.js .scroll-expand){height:240svh}.expand-content{gap:24px}.expand-logo{width:min(42vw,210px)}
  .expand-copy .expand-lead{font-size:clamp(17px,4.6vw,30px)}.expand-copy .expand-lead span{white-space:normal}
  .expand-copy p{font-size:14px}.expand-wordmark{--wordmark-width:min(86vw,1100px,180svh)}
}
html[data-motion="full"]{
  .button{transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .service-art img{backface-visibility:hidden}
  .text-link:after{transition:transform .45s cubic-bezier(.76,0,.24,1)}
  .text-link:hover:after{transform:scaleX(.35)}
  .service-open{transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .service-card:is(:hover,:focus-visible) .service-open{transform:translate(3px,-3px)}
  .faq-cross,.menu-toggle span{transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .services-nav[open] .services-dropdown{animation:nexelis-menu .45s cubic-bezier(.22,1,.36,1) both}
  .header nav.open>*{animation:nexelis-menu .5s cubic-bezier(.22,1,.36,1) both}
  .header nav.open>:nth-child(2){animation-delay:.04s}.header nav.open>:nth-child(3){animation-delay:.08s}.header nav.open>:nth-child(4){animation-delay:.12s}
}
@keyframes nexelis-menu{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* Calques indépendants, inspirés du kit Nothin' fourni. */
.service-reveal-layer{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.service-reflection{position:absolute;inset:-45%;pointer-events:none;background:linear-gradient(125deg,transparent 32%,#ffffff75 47%,#ffffff08 57%,transparent 69%);transform:translateY(0)}
.service-art-sites-vitrines .service-reflection{background:linear-gradient(125deg,transparent 35%,#ffffff0e 49%,transparent 64%)}
.service-number,.service-open{z-index:2}
.service-cursor{position:absolute;left:0;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:88px;height:88px;border-radius:50%;background:#fff;color:#171819;border:1px solid #17181912;box-shadow:0 8px 28px #0000000c;font-size:10px;letter-spacing:.015em;pointer-events:none;opacity:0;visibility:hidden;translate:-50% -50%;scale:1}
.service-cursor>span{font-size:22px;line-height:1}
.service-card:focus-visible{outline:2px solid #59616c;outline-offset:8px;border-radius:3px}
@media(hover:none),(pointer:coarse){.service-cursor{display:none}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .service-cursor{display:none}}


.motion-toggle{background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;color:inherit;font:inherit;cursor:pointer}
html[data-motion="reduced"] *,html[data-motion="reduced"] *:before,html[data-motion="reduced"] *:after{animation:none!important;transition:none!important}
html[data-motion="full"] [data-slot^="spotlight-"]{transition:opacity .3s}

/* Le masque révèle le panneau jusqu’aux bords, puis le noir continue sous les services. */
.expand-viewport{padding:0}
:is(.expand-animated,.js .scroll-expand) .expand-viewport{top:0;height:100svh;min-height:0;padding:0}
.expand-panel{border-radius:0}

/* Le bandeau reste transparent ; seules les couleurs des contrôles changent. */
.header{--header-ink:#171819;--header-surface:#fffffff5;--header-line:#17181912;color:var(--header-ink);background:transparent;mix-blend-mode:normal;border-bottom:0}
.header.header-dark{--header-ink:#fff;--header-surface:#090a0cf5;--header-line:#ffffff14}
.header .brand img{filter:brightness(0)}
.header.header-dark .brand img{filter:brightness(0) invert(1)}
.header :is(.nav-link,.nav-cta,.menu-toggle,.services-nav summary,.services-dropdown a){color:var(--header-ink)}
.header .header-on-light{--header-ink:#171819}
.header .header-on-dark{--header-ink:#fff}
.header nav.open :is(.header-on-light,.header-on-dark){--header-ink:inherit}
.header .brand.header-on-light img{filter:brightness(0)}
.header .brand.header-on-dark img{filter:brightness(0) invert(1)}
.header .services-dropdown{background:var(--header-surface);border:1px solid var(--header-line);box-shadow:0 12px 32px #00000012}
.header nav a:hover{opacity:.7;color:var(--header-ink)}
@media(min-width:800px){
 .header #navigation{gap:32px}
 .header #navigation>a,.header #navigation>.services-nav>summary{padding:12px 0;margin:0}
}
@media(max-width:799px){.header nav.open{background:var(--header-surface);border-bottom:1px solid var(--header-line)}}

/* Une même typographie pour les grands titres, avec la couleur de leur section. */
.home{--section-title-size:clamp(32px,3.6vw,58px)}
.home :is(.section-heading h2,.journey-intro h2,.flow-copy h2,.section-intro h2,.studio h2,.closing h2,.expand-copy .expand-lead){font-family:inherit;font-size:var(--section-title-size);font-style:normal;font-weight:400;line-height:1.15;letter-spacing:-.05em;margin:24px 0}
.home .journey-intro h2{white-space:normal;text-wrap:balance;text-transform:none}
@media(max-width:799px){.home{--section-title-size:clamp(30px,7vw,44px)}}

/* Deux accents noirs dans la seconde partie, avec un retour doux au fond clair. */
.flow-diagram{background:#111315;color:#fff;border-radius:6px;--muted:#c1c6ce}
.flow-node{background:#000;border-color:#6e747d;color:#fff}
.flow-diagram li:not(:last-child):after{background:#6e747d}
.steps article{position:relative;padding-left:18px}
.steps article:before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:#171819;transform:scaleY(var(--step-progress,1));transform-origin:top}
.closing{background:#000;color:#fff;--silver:#c4c9d0;padding-block:clamp(180px,18vw,260px) clamp(80px,8vw,130px)}
.closing:before{content:'';position:absolute;inset:0 0 auto;height:var(--closing-wave-height);background:#fff url('/assets/solutions-wave.svg') center/100% 100% no-repeat;transform:scaleY(-1);pointer-events:none}
.closing-content{position:relative}
.home .footer{background:#000;color:#bcc2cb;width:100%;max-width:none;padding-inline:max(20px,calc((100% - 1520px)/2),56px);border-top:1px solid #ffffff18}
.home .footer>a:first-child{color:#fff}
.home .footer img{filter:brightness(0) invert(1)}

/* Pages internes : mêmes caractères et palette, lecture simple sur fond clair. */
.inner-page main{min-height:70svh}
.inner-page :is(h1,h2){font-weight:400;letter-spacing:-.05em;line-height:1.15}
.inner-page h1{font-size:clamp(36px,4.8vw,64px);max-width:20ch;margin:20px 0 28px}
.inner-page .legal{padding-block:clamp(48px,7vw,100px);max-width:800px}
.inner-page .detail-page{max-width:1120px}
.detail-hero{position:relative;max-width:850px;padding-bottom:32px}
.detail-hero .back-link,.contact-intro .back-link{margin-bottom:40px}
.inner-page .eyebrow{color:#626872;line-height:1.6}
.inner-page .detail-lead{font-size:clamp(18px,1.8vw,23px);line-height:1.65;max-width:52ch;color:#505660}
.inner-page .detail-sections{margin-block:28px 64px;gap:36px 56px}
.inner-page .detail-sections article{padding-top:24px;border-top:1px solid #dedfe1}
.inner-page .detail-sections h2{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.035em;margin:12px 0 18px}
.inner-page .legal p:not(.eyebrow){font-size:16px;line-height:1.85;color:#505660;max-width:70ch}
.inner-page .legal .detail-lead{font-size:clamp(18px,1.8vw,23px);line-height:1.65}
.inner-page .detail-contact{background:#111315;border-radius:6px;padding:clamp(28px,4.5vw,60px);color:#fff;max-width:none}
.inner-page .detail-contact h2{font-size:clamp(28px,3vw,42px);max-width:24ch;margin:0 0 20px}
.inner-page .detail-contact p{color:#c1c6ce!important;margin-bottom:28px}
.inner-page .detail-page>section{max-width:72ch;margin-block:56px}
.inner-page .detail-page>section h2{font-size:clamp(27px,2.8vw,38px);max-width:26ch}
.inner-page .legal:not(.detail-page) h2{font-size:25px;margin-top:44px}
.inner-page .legal:not(.detail-page) h1{overflow-wrap:anywhere}
.inner-page .legal:not(.detail-page) a:not(.button){text-underline-offset:4px}
.inner-page .contact-page{padding-block:56px 90px;gap:8%;align-items:start}
.contact-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:40ch}
.contact-note{padding:24px;background:#111315;color:#fff;border-radius:6px;margin-top:32px;gap:18px}
.contact-note img{filter:brightness(0) invert(1);flex-shrink:0}
.contact-note p{color:#fff;font-size:14px}
.direct-email{overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.contact-page form{background:#fff;border-color:#d7dbe0;border-radius:6px;padding:32px;box-shadow:0 12px 44px #17181906}
.contact-page form label,.profile-choice legend{font-size:13px;line-height:1.6}
.contact-page form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){font-size:15px}
.contact-page .form-help,.contact-page .consent{font-size:12px;line-height:1.75}
.contact-page .form-help a{text-decoration:underline;text-underline-offset:3px}
.contact-page button[type=submit]{background:#111315;color:#fff;border-color:#111315}
.inner-page .footer{border-top:1px solid #e5e7eb}
@media(max-width:799px){
 .inner-page .detail-sections{grid-template-columns:1fr;gap:28px}
 .inner-page .contact-page{grid-template-columns:1fr;gap:40px;padding-top:36px}
 .contact-page form{padding:24px 20px}
 .closing{padding-block:160px 72px}
 .home .footer{padding-inline:20px}
}

/* Les intitulés portent la hiérarchie ; les slogans deviennent des respirations. */
.home :is(.flow-copy,.section-intro,.section-heading)>.section-manifesto{font-size:clamp(21px,2.15vw,29px);font-weight:400;line-height:1.4;letter-spacing:-.035em;color:#171819;margin:0 0 26px;max-width:30ch}
.home .faq-section .section-heading h2{max-width:15ch}

/* Un écrin argenté et trois engagements clairement détachés du fond. */
.home .studio{position:relative;padding:clamp(30px,5.5vw,80px);margin-block:40px 70px;background:radial-gradient(ellipse at 90% 10%,#fff 0%,transparent 56%),linear-gradient(135deg,#f4f5f6,#e4e7eb 66%,#f7f8f9);border:1px solid #d8dce2;border-radius:18px;box-shadow:0 24px 64px #17181908;isolation:isolate}
.home .studio-main{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,5vw,70px);align-items:center;margin:0}
.home .studio .studio-copy h2{margin:0 0 28px;max-width:22ch}
.studio-copy>p{max-width:52ch;margin:0;font-size:16px;line-height:1.85;color:#505660}
.studio-emblem{position:relative;display:grid;place-items:center;aspect-ratio:1;isolation:isolate}
.studio-emblem:before{content:'';position:absolute;inset:5%;border:1px solid #a8b0bb55;border-radius:50%;background:radial-gradient(circle,#fff9,transparent 70%);z-index:-1}
.studio-emblem img{width:100%;max-width:300px;height:auto;filter:drop-shadow(0 22px 18px #17181912)}
.home .principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 32px}
.home .principles>span{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px 20px;background:#ffffffa8;border:1px solid #ffffff;border-radius:8px;color:#232831;font-size:14px;line-height:1.5}
.principles strong{font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1;letter-spacing:-.06em;color:#555e6b}

.button.button-chrome{min-height:58px;padding:17px 27px;border:1px solid #aeb5c0;border-radius:999px;color:#171819;background:linear-gradient(120deg,#fff 0%,#d9dee5 23%,#fdfefe 42%,#c4ccd6 66%,#f6f8fa 88%,#fff 100%);background-size:180% 100%;box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px #707c8d22,0 6px 16px #1113150d;font-weight:600;letter-spacing:-.01em}
.closing .button-chrome{min-width:260px;box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px #707c8d33,0 0 32px #e8edf512}
.button-chrome:focus-visible{outline:2px solid #777f8c;outline-offset:5px}
.closing .button-chrome:focus-visible{outline-color:#fff}
html[data-motion="full"] .button-chrome{transition:transform .4s cubic-bezier(.22,1,.36,1),background-position .7s ease,box-shadow .4s ease}
html[data-motion="full"] .button-chrome:is(:hover,:focus-visible){background-position:100% 50%;transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 8px 24px #77839428}

/* Détails des prestations : exemples, livrables et questions restent séparés et lisibles. */
.service-details{margin-block:64px}
.service-details>section{margin-block:64px}
.inner-page .service-details h2{font-size:clamp(27px,3vw,40px);margin:0 0 26px;max-width:26ch}
.inner-page .service-details h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.025em;margin:0 0 14px}
.service-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.service-examples article{padding-top:24px;border-top:1px solid #d7dbe0}
.service-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.service-delivery article{display:flex;gap:20px;align-items:baseline;padding-top:22px;border-top:1px solid #d7dbe0}
.delivery-number{font-size:22px;font-weight:400;color:#727a87;flex-shrink:0}
.inner-page .legal p.service-section-note{font-size:14px;line-height:1.7;color:#626872;margin-block:20px 26px}
.service-preparation{background:#f3f4f6;border-radius:8px;padding:clamp(24px,4vw,46px)}
.service-preparation ul{padding-left:20px;margin:0;max-width:72ch}
.service-preparation li{padding-left:8px;margin-block:14px;color:#505660;font-size:16px;line-height:1.85}
.service-details .faq-item summary{font-size:16px}
.home .flow-focus{--flow-inset:clamp(28px,4.5vw,64px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px);align-items:start;padding:var(--flow-inset);margin-block:64px;border-radius:16px;overflow:hidden;background:#000 url('/assets/parcours-wave.svg') center/100% 100% no-repeat}
.flow-copy{padding-top:0}
.home .flow-copy h2{margin:0 0 28px}
.home .flow-copy .section-manifesto{font-size:clamp(20px,1.85vw,25px);line-height:1.5;margin-bottom:22px}
.flow-copy>p:not(.section-manifesto){font-size:15px;line-height:1.8;max-width:37ch;margin-bottom:0}
.flow-diagram{padding:0 0 0 clamp(48px,6vw,80px);background:transparent;border-radius:0}
.flow-diagram li{padding-block:22px}
.flow-diagram li:first-child{padding-top:0}
.flow-diagram li:last-child{padding-bottom:0}
.flow-diagram li:not(:last-child):after{top:64px;bottom:-22px}
.flow-diagram li:first-child:after{top:42px}
.flow-diagram p{font-size:14px;line-height:1.75}
.button.button-white{justify-content:center;text-align:center;gap:0;min-width:240px;max-width:100%;min-height:58px;padding:17px 30px;border-radius:999px;background:#fff;color:#171819;border:1px solid #e1e4e8;box-shadow:inset 0 1px 0 #fff,0 6px 18px #ffffff08;font-weight:600}
.nexelis-page .detail-hero{max-width:920px}
.inner-page .nexelis-page h1{max-width:23ch}
.founders-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start;margin:24px 0 72px}
.founders-story p{margin:0 0 24px}
.founders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.founder-card{margin:0;min-width:0}
.founder-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;aspect-ratio:4/5;background:radial-gradient(ellipse at 25% 10%,#fff9,transparent 70%),linear-gradient(145deg,#f1f3f5,#d7dde4);border:1px solid #d9dee5;border-radius:8px;color:#626c79;object-fit:cover;object-position:center 30%}
.founder-photo>span{font-size:clamp(48px,6vw,76px);font-weight:400;letter-spacing:-.05em;line-height:1}
.founder-photo small{font-size:11px;letter-spacing:.05em}
.founder-card figcaption{padding-top:18px}
.inner-page .founder-card h2{font-size:24px;margin:0 0 5px;letter-spacing:-.03em}
.inner-page .legal .founder-card p{font-size:13px;margin:0;color:#626872}
.home .closing{--closing-wave-height:clamp(180px,25vw,360px);padding-top:calc(var(--closing-wave-height) + 64px)}
.button.button-chrome{justify-content:center;text-align:center;gap:0;min-width:240px;max-width:100%;padding-inline:30px}
.home .approach{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,120px);align-items:start}
.home .approach .section-intro h2{margin:0 0 28px;max-width:18ch}
.home .approach .section-manifesto{font-size:clamp(20px,1.85vw,25px);line-height:1.5;margin:0 0 22px;max-width:30ch}
.home .approach .section-intro>p:not(.section-manifesto){font-size:15px;line-height:1.8;max-width:37ch;margin:0}
.home .approach .steps p{font-size:15px;line-height:1.8}
.home .faq-section{align-items:start}
.home .faq-section .faq-item{position:relative;padding-left:18px}
.home .faq-section .faq-item:before{content:'';position:absolute;inset:24px auto 24px 0;width:2px;background:#171819;transform:scaleY(var(--step-progress,1));transform-origin:top}
@media(min-width:800px) and (min-height:650px){.approach .section-intro,.faq-section>.section-heading{position:sticky;top:calc(var(--header-height) + 40px)}}
@media(max-width:799px){
 .home .flow-focus{grid-template-columns:1fr;gap:32px;background:#f4f6f8}
 .home .flow-diagram{margin:0 calc(-1 * var(--flow-inset)) calc(-1 * var(--flow-inset));padding:96px var(--flow-inset) var(--flow-inset);background:linear-gradient(180deg,#f4f6f8 0,#d4d6d8 24px,#77797b 48px,#242526 72px,#000 96px);width:calc(100% + 2 * var(--flow-inset))}
 .flow-copy{padding-top:0}
 .button.button-white{min-width:min(240px,100%);padding-inline:24px}
 .founders-layout{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
 .founders-grid{gap:16px;max-width:520px}
 .home .approach{grid-template-columns:1fr;gap:36px}
 .button.button-chrome{min-width:min(240px,100%);padding-inline:24px}
 .home .studio-main{grid-template-columns:1fr;gap:20px}
 .studio-emblem{width:min(50vw,220px);justify-self:center}
 .home .principles{grid-template-columns:1fr;gap:12px;margin-top:28px}
 .home .principles>span{flex-direction:row;align-items:center;gap:22px;padding:20px}
 .studio-cta{max-width:100%;font-size:11px;gap:18px}
 .service-examples,.service-delivery{grid-template-columns:1fr;gap:24px}
 .service-details>section{margin-block:48px}
 .service-details .faq-item summary{font-size:15px}
}

/* Les marges transparentes des originaux sont compensées sans toucher aux effets. */
.service-reveal-layer{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.service-art img{max-width:none;height:auto;object-fit:contain;filter:none;mix-blend-mode:normal;justify-self:center}
.service-art-automatisation img{width:126%}
.service-art-sites-vitrines img{width:103.5%}
.service-art-accompagnement img{width:100.8%}
.home .studio .studio-cta{display:flex;width:fit-content;margin-inline:auto}

.home .solutions{padding-top:0}
.home .solutions .section-heading h2{margin-top:0;margin-bottom:36px}

/* Ajustements des titres et de la transition vers les services. */
.home .expand-copy .expand-lead{margin:0}
.home .expand-copy .expand-lead span{white-space:normal}
.home .expand-copy .expand-cta{font-size:14px}
.home .solutions{position:relative;margin-top:calc(-1 * clamp(32px,5vw,72px))}
.home .solutions .section-heading{max-width:none;margin-bottom:64px}
.home .solutions .section-heading>p{font-size:clamp(16px,1.6vw,23px);line-height:1.7;color:#fff;max-width:48ch}
@media(max-width:799px){.home .solutions .section-heading>p{font-size:14px}}
/* Les accents conservent leur couleur et partagent la typographie du titre. */
.home :is(.section-heading h2,.journey-intro h2,.flow-copy h2,.section-intro h2,.studio h2,.closing h2,.expand-copy .expand-lead) :is(span,em){font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}


.home .studio .studio-cta{margin-top:36px}
