@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Syne:wght@500;600;700&display=swap');
.concept-switcher{position:fixed;z-index:2000;right:18px;bottom:18px;display:flex;align-items:center;gap:7px;padding:8px;background:#03162f;color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.25);font:600 .72rem/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}.concept-switcher span{padding:0 9px;color:#9db2ca}.concept-switcher a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #365878;color:#fff}.concept-switcher a.active{background:#009dff;border-color:#009dff;color:#001a37}.project-visual{height:165px;margin:-38px -38px 30px;background:#061e40;border-bottom:1px solid #dce4ed;display:grid;grid-template-columns:repeat(3,8px) 1fr;grid-template-rows:8px 1fr;gap:6px;padding:16px;overflow:hidden}.project-visual i{background:#009dff;border-radius:50%}.project-visual b{grid-column:1/-1;display:grid;place-items:center;font-size:2.1rem;color:#fff}.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#082c5c 50%),linear-gradient(135deg,#082c5c 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat}

/* 01 — Architecture numérique en mouvement */
.concept-axis{font-family:Manrope,sans-serif}.concept-axis h1,.concept-axis h2,.concept-axis h3{font-family:"Space Grotesk",sans-serif}.concept-axis .site-header{background:rgba(3,22,47,.94);border-color:rgba(255,255,255,.12)}.concept-axis .brand img{filter:brightness(0) invert(1)}.concept-axis .primary-nav{color:#d8e5f2}.concept-axis .primary-nav .nav-cta{border-color:#009dff;color:#fff}.concept-axis .hero{color:#fff;background:radial-gradient(circle at 76% 28%,#0c4f91 0,transparent 30%),linear-gradient(135deg,#03162f,#082c5c)}.concept-axis .hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,157,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(0,157,255,.09) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,#000,transparent 90%)}.concept-axis .hero-grid{z-index:2}.concept-axis .hero h1{color:#fff}.concept-axis .hero h1:after{content:"";display:block;width:28%;height:6px;margin-top:30px;background:#009dff;animation:axisline 2s ease both}.concept-axis .hero .lead{color:#c4d5e7}.concept-axis .signature{color:#fff}.concept-axis .mark-a,.concept-axis .mark-t{filter:brightness(0) invert(1)}.concept-axis .mark-t:before{filter:none}@keyframes axisline{from{width:0}}.concept-axis .intro{background:#eaf3fa}.concept-axis .story{background:linear-gradient(135deg,#061e40,#0a4177)}.concept-axis .expertise-grid{gap:1px;background:#009dff;border:0}.concept-axis .expertise-card{background:#fff;border:0}.concept-axis .expertise-card:hover{background:#082c5c}.concept-axis .method{background:linear-gradient(135deg,#f5f8fb 0 40%,#e2f0fa 40%)}.concept-axis .method-step{border-color:#8eabc5}.concept-axis .projects{background:#f5f8fb}.concept-axis .project-card{overflow:hidden}.concept-axis .audience{background:#eaf3fa}.concept-axis .audience-list li{font-size:1.2rem;transition:.25s}.concept-axis .audience-list li:hover{padding-left:44px;color:#009dff}.concept-axis .contact{background:linear-gradient(135deg,#eaf3fa,#fff)}[data-motion=true]{text-wrap:balance}

/* 02 — Éditorial cinétique */
.concept-editorial{font-family:Manrope,sans-serif;background:#f2efe8}.concept-editorial h1,.concept-editorial h2,.concept-editorial h3{font-family:Syne,sans-serif}.concept-editorial .site-header{background:#f3efe7;border-bottom:1px solid #a9b1b8}.concept-editorial .primary-nav{color:#10213a}.concept-editorial .hero{background:linear-gradient(108deg,#f3efe7 0 71%,#0a315f 71%);min-height:820px}.concept-editorial .hero h1{font-size:clamp(4rem,7.3vw,7.8rem);font-weight:600;color:#10213a}.concept-editorial .hero h1::first-line{color:#0a315f}.concept-editorial .hero-copy{border-left:1px solid #9faab3;padding-left:42px}.concept-editorial .hero-mark{border-left:0}.concept-editorial .intro{background:#f3efe7}.concept-editorial .intro .two-col{grid-template-columns:1fr 1fr}.concept-editorial .story{background:#0a315f}.concept-editorial .story .section-heading h2{font-size:clamp(3.4rem,6vw,6.5rem)}.concept-editorial #expertises{background:#d9ecf8}.concept-editorial .expertise-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border:0;gap:20px;padding-bottom:25px}.concept-editorial .expertise-card{flex:0 0 min(430px,80vw);scroll-snap-align:center;background:#f8f5ef;border:0;border-top:8px solid #009dff;min-height:390px}.concept-editorial .expertise-card:hover{background:#0a315f}.concept-editorial .method{background:#f3efe7}.concept-editorial .method-grid{display:block}.concept-editorial .method-step{grid-template-columns:180px 1fr;padding:55px 0}.concept-editorial .method-step strong{font-family:Syne;font-size:5rem}.concept-editorial .projects{background:#0a315f;color:#fff}.concept-editorial .projects h2,.concept-editorial .projects h3{color:#fff}.concept-editorial .projects .prose p,.concept-editorial .project-card p{color:#b8c8d8}.concept-editorial .project-list{background:transparent;border:0;gap:24px}.concept-editorial .project-card{background:#0d3a6d;border:1px solid #35628d}.concept-editorial .project-visual{background:#f3efe7}.concept-editorial .project-visual b{color:#0a315f}.concept-editorial .audience{background:#d9ecf8}.concept-editorial .audience-list{counter-reset:item}.concept-editorial .audience-list li{font:600 1.4rem Syne}.concept-editorial .contact{background:#f3efe7}.concept-editorial .contact-form{box-shadow:none;border:1px solid #b5bdc2}

/* 03 — Système signal */
.concept-system{font-family:"IBM Plex Sans",sans-serif;background:#020d1c}.concept-system h1,.concept-system h2,.concept-system h3{font-family:"IBM Plex Sans",sans-serif}.concept-system .site-header{background:#020d1c;border-bottom:1px solid #1e456d}.concept-system .brand img{filter:brightness(0) invert(1)}.concept-system .primary-nav{font-family:"IBM Plex Mono";color:#a8c0d8}.concept-system .primary-nav .nav-cta{border-color:#009dff;color:#009dff}.concept-system .hero{background:#020d1c;color:#fff;min-height:860px}.concept-system .hero:before{content:"AT";position:absolute;right:-4vw;bottom:-9vw;font:600 37vw/1 "IBM Plex Mono";color:rgba(0,157,255,.045)}.concept-system .hero h1{color:#fff;font-size:clamp(3.8rem,7.8vw,8.2rem)}.concept-system .hero .lead{color:#aebfd0}.concept-system .signature{font-family:"IBM Plex Mono";color:#009dff}.concept-system .hero-mark{border-left-color:#1e456d}.concept-system .mark-a,.concept-system .mark-t{filter:brightness(0) invert(1)}.concept-system .mark-t:before{filter:none}.concept-system .intro{background:#e9f0f6}.concept-system .story{background:#061e40}.concept-system #expertises{background:#020d1c;color:#fff}.concept-system #expertises h2,.concept-system #expertises h3{color:#fff}.concept-system .expertise-grid{border-color:#1e456d}.concept-system .expertise-card{border-color:#1e456d;background:#05162e}.concept-system .expertise-card p{color:#9fb2c5}.concept-system .expertise-card:hover{background:#082c5c}.concept-system .method{background:#e9f0f6}.concept-system .method-step strong,.concept-system .section-index{font-family:"IBM Plex Mono"}.concept-system .projects{background:#dfe9f1}.concept-system .project-visual{box-shadow:inset 0 0 0 1px #275982}.concept-system .audience{background:#020d1c;color:#fff}.concept-system .audience h2,.concept-system .audience-list li{color:#fff}.concept-system .audience-label,.concept-system .audience>div>div>p{color:#9fb2c5}.concept-system .audience-list{border-color:#1e456d}.concept-system .audience-list li{font-family:"IBM Plex Mono";border-color:#1e456d}.concept-system .contact{background:linear-gradient(120deg,#e9f0f6,#cfe2f1)}.concept-system .contact-form{box-shadow:12px 12px 0 #009dff}

@media(max-width:1000px){.concept-switcher{right:10px;bottom:10px}.concept-switcher span{display:none}.concept-axis .site-header,.concept-editorial .site-header,.concept-system .site-header{background:#082c5c}.concept-editorial .brand img,.concept-system .brand img{filter:brightness(0) invert(1)}.concept-editorial .hero{background:#f3efe7}.concept-editorial .hero-copy{padding-left:24px}.concept-editorial .intro .two-col{grid-template-columns:1fr}.project-visual{height:150px}.concept-system .contact-form{box-shadow:7px 7px 0 #009dff}}
@media(max-width:720px){.concept-axis .hero h1,.concept-editorial .hero h1,.concept-system .hero h1{font-size:clamp(2.8rem,13vw,4.1rem)}.concept-editorial .hero-copy{border-left:0;padding-left:0}.concept-editorial .method-step{grid-template-columns:70px 1fr}.concept-editorial .method-step strong{font-size:2rem}.concept-switcher a{width:38px;height:38px}}

/* Direction 01 validée — palette marine, crème et blanc */
.concept-axis .intro{background:#f3efe7}
.concept-axis .projects{background:#f3efe7}
.concept-axis .audience{background:#f3efe7}
.concept-axis .contact{background:linear-gradient(135deg,#fff 0 52%,#f3efe7 52%)}
.concept-axis .brand img,.concept-axis .footer-logo{filter:none;object-fit:contain;object-position:left center}

/* Le monogramme officiel accompagne tout le parcours */
.concept-axis .section{isolation:isolate;overflow:hidden}
.concept-axis .section>.shell{position:relative;z-index:1}
.concept-axis #expertises:after,.concept-axis .projects:after{top:22%;transform:none}
.concept-axis .method:after,.concept-axis .origin:after{top:auto;bottom:-8%;transform:none}
.concept-axis .header-inner{gap:18px}
.concept-axis .primary-nav{gap:20px}
.language-switcher{display:flex;align-items:center;gap:5px;margin-left:auto}
.language-switcher a{display:flex;align-items:center;gap:4px;min-height:36px;padding:4px 7px;border:1px solid rgba(255,255,255,.22);color:#cbd8e6;font-size:.68rem;line-height:1}
.language-switcher a.active{border-color:#009dff;background:rgba(0,157,255,.13);color:#fff}
.language-switcher span{font-size:1rem}
.language-switcher b{font-weight:700}
@media(max-width:1000px){.language-switcher{position:relative;z-index:1002;margin-left:auto}.language-switcher a{min-height:34px;padding:3px 6px}.menu-open .language-switcher{z-index:1002}.menu-open .language-switcher a{color:#fff}}
@media(max-width:420px){.language-switcher b{display:none}.language-switcher a{width:32px;justify-content:center;padding:3px}.concept-axis .header-inner{gap:8px}}

/* Corrections visuelles finales — dimensions, monogramme et progression */
.concept-axis{--header:92px}
.concept-axis .brand{width:290px;flex:0 0 290px}
.concept-axis .brand img{width:100%;height:74px}
.concept-axis .footer-logo{width:250px;height:auto}
.concept-axis .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);gap:28px}
.concept-axis .hero-grid{display:block}
.concept-axis .hero-copy{position:relative;isolation:isolate;min-height:590px;padding-right:min(43vw,570px);display:flex;flex-direction:column;justify-content:center}
.concept-axis .hero-copy>p,.concept-axis .hero-copy>h1,.concept-axis .hero-copy>.actions{position:relative;z-index:2}
.concept-axis .hero-mark{position:absolute;z-index:1;inset:0 -3vw 0 auto;width:min(47vw,650px);height:590px;border-left:0;align-items:center;justify-content:center;padding:0;opacity:.72;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.32) 27%,#000 58%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.32) 27%,#000 58%)}
.concept-axis .hero-copy>h1,.concept-axis .hero-copy>.lead{text-shadow:0 3px 22px rgba(3,22,47,.68)}
.concept-axis .official-monogram{display:block;width:min(100%,650px);height:auto;object-fit:contain;filter:drop-shadow(0 0 34px rgba(0,157,255,.34)) drop-shadow(0 28px 48px rgba(0,0,0,.28))}
.concept-axis .hero-system-visual{display:block;width:min(100%,670px);height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 0 34px rgba(0,157,255,.28)) drop-shadow(0 28px 48px rgba(0,0,0,.3));animation:heroSystemFloat 7s ease-in-out infinite alternate}
@keyframes heroSystemFloat{to{transform:translateY(-12px)}}
.concept-axis .section>.shell:before{content:"";position:absolute;left:-28px;top:-120px;width:3px;height:74px;background:linear-gradient(#009dff,rgba(0,157,255,.12));box-shadow:0 0 18px rgba(0,157,255,.35);pointer-events:none}
.concept-axis .section:after{content:"";display:block;position:absolute;z-index:0;width:clamp(380px,39vw,620px);aspect-ratio:988/834;left:auto;top:50%;right:-9vw;bottom:auto;transform:translateY(-50%);background:url("assets/monogram-on-light.png") center/contain no-repeat;opacity:.105;pointer-events:none}
.concept-axis .section:nth-of-type(odd):after{right:auto;left:-10vw}
.concept-axis .story:after,.concept-axis .origin:after{background-image:url("assets/monogram-on-dark.png");filter:brightness(0) invert(1);opacity:.085}
.concept-axis .contact:after{right:auto;left:-8vw;top:12%;transform:none;opacity:.095}
.concept-axis .root-card strong{display:block;margin-bottom:18px;color:#fff;font:600 2rem/1.2 "Space Grotesk",sans-serif}
.concept-axis .journey-progress{right:28px;width:4px;background:linear-gradient(rgba(0,157,255,.08),rgba(8,44,92,.18));box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.concept-axis .journey-progress:before{content:"";position:absolute;left:-5px;top:0;width:14px;height:14px;border:2px solid #009dff;background:#082c5c;transform:rotate(45deg)}
.concept-axis .journey-progress span{position:relative;background:linear-gradient(#00b7ff,#009dff 55%,#082c5c);box-shadow:0 0 14px rgba(0,157,255,.48)}
.concept-axis .journey-progress span:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;border-radius:50%;background:#009dff;border:3px solid #fff;transform:translateX(-50%);box-shadow:0 0 18px rgba(0,157,255,.75)}

@media(max-width:1000px){
  .concept-axis{--header:86px}
  .concept-axis .site-header{box-shadow:inset 0 -3px 0 rgba(0,157,255,.78),0 10px 28px rgba(2,20,45,.22)}
  .concept-axis .brand{width:260px;flex-basis:260px}
  .concept-axis .brand img{height:70px}
  .concept-axis .footer-logo{width:215px}
  .concept-axis .hero-grid{display:block}
  .concept-axis .hero-copy{min-height:700px;padding-right:34%;padding-bottom:0}
  .concept-axis .hero-mark{display:flex;inset:45px -12vw auto auto;width:min(72vw,560px);height:620px;padding:0;opacity:.42}
  .concept-axis .official-monogram{width:min(94vw,570px)}
  .concept-axis .hero-system-visual{width:100%;height:100%;object-position:right bottom}
  .concept-axis .section>.shell:before{left:5px;top:-90px;height:54px}
  .concept-axis .section:after{display:block!important;width:340px;right:-125px;left:auto;opacity:.095}
  .concept-axis .section:nth-of-type(odd):after{left:-130px;right:auto}
  .concept-axis .story:after,.concept-axis .origin:after{opacity:.08}
}

@media(max-width:720px){
  .concept-axis .brand{width:245px;flex-basis:245px}
  .concept-axis .brand img{height:68px}
  .concept-axis .footer-logo{width:205px}
}

@media(max-width:420px){
  .concept-axis{--header:86px}
  .concept-axis .header-inner{width:calc(100% - 16px);gap:4px}
  .concept-axis .brand{width:245px;flex-basis:245px}
  .concept-axis .brand img{height:68px}
  .concept-axis .footer-logo{width:205px}
  .concept-axis .hero-copy{min-height:720px;padding-right:0;padding-bottom:45px}
  .concept-axis .hero-mark{inset:105px -35vw auto auto;width:116vw;height:610px;opacity:.34}
  .concept-axis .official-monogram{width:min(96vw,470px)}
  .concept-axis .hero-system-visual{width:100%;height:100%;object-position:center bottom;filter:drop-shadow(0 0 24px rgba(0,157,255,.26))}
  .concept-axis .section:after{width:300px;opacity:.09}
  .concept-axis .story:after,.concept-axis .origin:after{opacity:.075}
  .language-switcher{flex-direction:column;gap:2px}
  .language-switcher a{width:28px;min-height:24px;justify-content:center;padding:1px}
  .language-switcher span{font-size:.88rem}
  .concept-axis .menu-toggle{width:42px;margin-right:-4px}
}

/* Navigation mobile et tablette — dimensions initiales, contraste corrigé */
@media(max-width:1000px){
  .concept-axis .header-inner{gap:8px}
  .concept-axis .language-switcher{gap:4px;margin-right:-2px}
  .concept-axis .menu-toggle{
    flex:0 0 48px;
    width:48px;
    height:48px;
    margin-right:-8px;
    padding:10px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:4px;
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.16);
  }
  .concept-axis .menu-toggle span,
  .concept-axis .menu-toggle span:nth-child(2),
  .concept-axis .menu-toggle[aria-expanded="true"] span{
    background:#082c5c!important;
  }
}

@media(max-width:420px){
  .concept-axis .menu-toggle{flex-basis:42px;width:42px;height:42px;margin-right:-4px;padding:7px}
}

/* Signature interactive — apparence conservée */
.concept-axis .signature a{color:inherit;text-decoration:none;transition:opacity .2s ease,text-shadow .2s ease}
.concept-axis .signature a:hover,.concept-axis .signature a:focus-visible{opacity:.78;text-shadow:0 0 18px rgba(0,157,255,.55)}
.concept-axis .method-step{scroll-margin-top:calc(var(--header) + 28px)}

/* Adresse institutionnelle */
.concept-axis .footer-address{margin:17px 0 0;color:#aebfd3;font:inherit;font-size:.92rem;line-height:1.65}

/* Langage architectural propre à chaque étape du parcours */
.concept-axis .section{position:relative}
.architecture-visual{position:absolute;z-index:0;pointer-events:none;width:clamp(310px,36vw,570px);height:clamp(270px,34vw,520px);opacity:.42;filter:drop-shadow(0 18px 36px rgba(8,44,92,.08));animation:architectureDrift 12s ease-in-out infinite alternate}
.architecture-visual span{position:absolute;display:block;border:1px solid rgba(0,157,255,.34);background:rgba(255,255,255,.08)}
.architecture-visual span:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#009dff;box-shadow:0 0 16px rgba(0,157,255,.7)}

.architecture-system{right:-7vw;top:18%}
.architecture-system span{width:25%;height:18%}
.architecture-system span:nth-child(1){left:8%;top:7%;transform:translate(-14px,-8px)}
.architecture-system span:nth-child(2){left:38%;top:25%;transform:translate(10px,-5px)}
.architecture-system span:nth-child(3){left:67%;top:46%;transform:translate(20px,10px)}
.architecture-system span:nth-child(4){left:36%;top:66%;transform:translate(-8px,16px)}
.architecture-system span:nth-child(5){left:8%;top:45%;transform:translate(-18px,8px)}
.architecture-system span:before{content:"";position:absolute;left:100%;top:50%;width:70%;height:1px;background:linear-gradient(90deg,#009dff,transparent);transform:rotate(20deg);transform-origin:left}
.architecture-system span:after{right:-4px;top:-4px}

.architecture-timeline{left:-8vw;top:15%;height:70%;border-left:1px solid rgba(0,157,255,.38)}
.architecture-timeline:before,.architecture-timeline:after{content:"";position:absolute;left:13%;width:55%;height:1px;background:linear-gradient(90deg,rgba(0,157,255,.65),transparent)}
.architecture-timeline:before{top:28%}.architecture-timeline:after{top:70%}
.architecture-timeline span{left:-7px;width:14px;height:14px;border-radius:50%;background:#009dff;border-color:rgba(255,255,255,.7)}
.architecture-timeline span:nth-child(1){top:3%}.architecture-timeline span:nth-child(2){top:25%}.architecture-timeline span:nth-child(3){top:48%}.architecture-timeline span:nth-child(4){top:69%}.architecture-timeline span:nth-child(5){top:94%}
.architecture-timeline span:after{display:none}

.architecture-network{right:-6vw;top:13%;background-image:linear-gradient(rgba(8,44,92,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(8,44,92,.1) 1px,transparent 1px);background-size:44px 44px}
.architecture-network span{width:20%;height:17%;background:rgba(255,255,255,.58);box-shadow:0 12px 28px rgba(8,44,92,.08)}
.architecture-network span:nth-child(1){left:4%;top:10%}.architecture-network span:nth-child(2){left:48%;top:5%}.architecture-network span:nth-child(3){left:73%;top:41%}.architecture-network span:nth-child(4){left:38%;top:70%}.architecture-network span:nth-child(5){left:7%;top:49%}
.architecture-network span:after{right:-5px;bottom:-5px}

.architecture-build{left:-9vw;bottom:5%;opacity:.35}
.architecture-build:before{content:"";position:absolute;left:7%;bottom:10%;width:84%;height:64%;border-left:2px solid rgba(0,157,255,.55);border-bottom:2px solid rgba(0,157,255,.55);clip-path:polygon(0 82%,30% 82%,30% 55%,60% 55%,60% 28%,100% 28%,100% 100%,0 100%)}
.architecture-build span{width:17%;height:17%;border-color:rgba(8,44,92,.28)}
.architecture-build span:nth-child(1){left:8%;bottom:10%}.architecture-build span:nth-child(2){left:34%;bottom:28%}.architecture-build span:nth-child(3){left:60%;bottom:46%}.architecture-build span:nth-child(4){left:78%;bottom:64%}.architecture-build span:nth-child(5){left:48%;bottom:10%;width:1px;height:80%;background:linear-gradient(transparent,#009dff,transparent);border:0}
.architecture-build span:after{right:-4px;top:-4px}

.architecture-hub{right:-7vw;top:20%;border:1px solid rgba(8,44,92,.1);border-radius:50%}
.architecture-hub:before,.architecture-hub:after{content:"";position:absolute;left:50%;top:50%;background:#009dff;transform:translate(-50%,-50%)}
.architecture-hub:before{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 16px rgba(0,157,255,.09)}
.architecture-hub:after{width:78%;height:1px}
.architecture-hub span{width:48px;height:48px;border-radius:50%;background:#f3efe7}
.architecture-hub span:nth-child(1){left:8%;top:12%}.architecture-hub span:nth-child(2){right:8%;top:12%}.architecture-hub span:nth-child(3){right:0;top:57%}.architecture-hub span:nth-child(4){left:8%;bottom:7%}.architecture-hub span:nth-child(5){left:-3%;top:48%}
.architecture-hub span:after{left:50%;top:50%;transform:translate(-50%,-50%)}

.architecture-converge{left:-7vw;bottom:4%;opacity:.34}
.architecture-converge:before{content:"";position:absolute;inset:0;background:linear-gradient(28deg,transparent 49.8%,rgba(0,157,255,.42) 50%,transparent 50.3%),linear-gradient(-25deg,transparent 49.8%,rgba(8,44,92,.3) 50%,transparent 50.3%),linear-gradient(2deg,transparent 49.8%,rgba(0,157,255,.35) 50%,transparent 50.3%)}
.architecture-converge span{left:78%;top:49%;width:18px;height:18px;border-radius:50%;background:#009dff;box-shadow:0 0 0 18px rgba(0,157,255,.1),0 0 30px rgba(0,157,255,.45)}
.architecture-converge span:not(:first-child){display:none}
.architecture-converge span:after{display:none}

@keyframes architectureDrift{to{transform:translate3d(0,-13px,0)}}
@media(max-width:1000px){
  .architecture-visual{width:340px;height:310px;opacity:.3}
  .architecture-system,.architecture-network,.architecture-hub{right:-185px}
  .architecture-timeline,.architecture-build,.architecture-converge{left:-190px}
}
@media(max-width:720px){
  .architecture-visual{display:block;width:280px;height:260px;opacity:.26;animation-duration:15s}
  .architecture-system,.architecture-network,.architecture-hub{right:-175px;top:9%}
  .architecture-timeline,.architecture-build,.architecture-converge{left:-180px}
  .architecture-timeline{top:10%;height:76%}
  .concept-axis .footer-address{font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){.architecture-visual{animation:none}.architecture-project{transform:perspective(1100px) rotateY(-8deg)}.concept-axis .signature a{transition:none}}

/* Renforcement du langage visuel — compositions dominantes */
.concept-axis .section:after{width:clamp(560px,62vw,980px);opacity:.17;filter:drop-shadow(0 22px 42px rgba(8,44,92,.12))}
.concept-axis .section:nth-of-type(odd):after{left:-18vw}
.concept-axis .section:nth-of-type(even):after{right:-17vw}
.concept-axis .story:after,.concept-axis .origin:after{opacity:.145;filter:brightness(0) invert(1) drop-shadow(0 0 34px rgba(0,157,255,.18))}
.concept-axis .contact:after{left:-16vw;opacity:.16}

.architecture-visual{width:clamp(520px,55vw,880px);height:clamp(440px,54vw,820px);opacity:.76;filter:drop-shadow(0 24px 48px rgba(8,44,92,.16));mix-blend-mode:multiply}
.story .architecture-visual{mix-blend-mode:screen;opacity:.68}
.architecture-visual span{border-width:2px;border-color:rgba(0,157,255,.62);box-shadow:0 0 26px rgba(0,157,255,.08)}
.architecture-visual span:after{width:11px;height:11px;box-shadow:0 0 22px rgba(0,157,255,.9)}

.architecture-system{right:-13vw;top:5%}
.architecture-system:after,.architecture-network:after,.architecture-converge:after{content:"";position:absolute;inset:0;background:url("assets/human-system-visual.png") center/contain no-repeat;opacity:.76;filter:saturate(.92) contrast(1.08)}
.architecture-system span{z-index:1;opacity:.8}

.architecture-timeline{left:-4vw;top:5%;width:48vw;height:90%;border-left-width:3px}
.architecture-timeline:before,.architecture-timeline:after{height:2px;width:82%;background:linear-gradient(90deg,#009dff,rgba(0,157,255,.08))}
.architecture-timeline span{width:20px;height:20px;left:-10px;box-shadow:0 0 0 10px rgba(0,157,255,.09),0 0 28px rgba(0,157,255,.5)}

.architecture-network{right:-10vw;top:0;background-size:54px 54px;opacity:.72}
.architecture-network:after{inset:7% 2% 0 23%;opacity:.38;background-position:right bottom}
.architecture-network span{width:24%;height:20%;background:rgba(255,255,255,.78);box-shadow:0 20px 45px rgba(8,44,92,.18)}

.architecture-build{left:-5vw;bottom:-9%;opacity:.68}
.architecture-build:before{border-left-width:4px;border-bottom-width:4px;filter:drop-shadow(0 0 14px rgba(0,157,255,.35))}
.architecture-build span{background:rgba(255,255,255,.74);border-color:rgba(8,44,92,.55)}

.architecture-project{right:-8vw;top:8%;background-image:linear-gradient(rgba(8,44,92,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(8,44,92,.11) 1px,transparent 1px);background-size:46px 46px;animation:projectDrift 12s ease-in-out infinite alternate}
.architecture-project:before{content:"";position:absolute;inset:7% 3% 12% 8%;border:3px solid rgba(8,44,92,.32);box-shadow:-34px 34px 0 rgba(0,157,255,.11),-68px 68px 0 rgba(8,44,92,.07)}
.architecture-project span{width:29%;height:24%;background:rgba(255,255,255,.82);box-shadow:0 18px 42px rgba(8,44,92,.14)}
.architecture-project span:nth-child(1){left:14%;top:15%}.architecture-project span:nth-child(2){left:50%;top:15%}.architecture-project span:nth-child(3){left:14%;top:49%;width:65%}.architecture-project span:nth-child(4){left:50%;top:78%;height:9%}.architecture-project span:nth-child(5){left:14%;top:78%;height:9%;width:29%}
.architecture-project span:after{right:-6px;top:-6px}

.architecture-hub{right:-11vw;top:3%;border-width:2px;background:url("assets/human-system-visual.png") center/88% auto no-repeat;opacity:.66}
.architecture-hub:after{height:2px;box-shadow:0 -130px 0 rgba(0,157,255,.22),0 130px 0 rgba(0,157,255,.22)}
.architecture-hub span{width:62px;height:62px;border-width:2px;background:#f3efe7;box-shadow:0 0 0 12px rgba(255,255,255,.52)}

.architecture-converge{left:-4vw;bottom:-12%;opacity:.68}
.architecture-converge:after{inset:4% 17% 0 0;opacity:.48;background-position:left bottom}
.architecture-converge:before{filter:drop-shadow(0 0 12px rgba(0,157,255,.38))}
.architecture-converge span{width:26px;height:26px;box-shadow:0 0 0 28px rgba(0,157,255,.13),0 0 46px rgba(0,157,255,.7)}
@keyframes projectDrift{from{transform:perspective(1100px) rotateY(-8deg) translateY(0)}to{transform:perspective(1100px) rotateY(-8deg) translateY(-13px)}}

.concept-axis .expertise-card{background:rgba(255,255,255,.92);backdrop-filter:blur(3px)}
.concept-axis .method-step{background:rgba(255,255,255,.9);backdrop-filter:blur(4px)}
.concept-axis .project-card{background:rgba(255,255,255,.91);backdrop-filter:blur(4px)}

@media(max-width:1000px){
  .concept-axis .section:after{width:620px;opacity:.15}
  .concept-axis .story:after,.concept-axis .origin:after{opacity:.13}
  .architecture-visual{width:540px;height:510px;opacity:.62}
  .architecture-system,.architecture-network,.architecture-hub,.architecture-project{right:-310px}
  .architecture-timeline,.architecture-build,.architecture-converge{left:-310px}
}
@media(max-width:720px){
  .concept-axis .section:after{display:block!important;width:470px;opacity:.145}
  .concept-axis .story:after,.concept-axis .origin:after{opacity:.125}
  .architecture-visual{display:block;width:410px;height:390px;opacity:.55}
  .architecture-system,.architecture-network,.architecture-hub,.architecture-project{right:-275px;top:2%}
  .architecture-timeline,.architecture-build,.architecture-converge{left:-280px}
  .architecture-system:after,.architecture-network:after,.architecture-converge:after{opacity:.62}
  .architecture-hub{background-size:94% auto}
}
@media(prefers-reduced-motion:reduce){.architecture-project{animation:none;transform:perspective(1100px) rotateY(-8deg)}}
@media(prefers-reduced-motion:reduce){.concept-axis .hero-system-visual{animation:none}}
@media(max-width:720px){.concept-axis .hero-copy{min-height:720px;padding-right:0;padding-bottom:45px}.concept-axis .hero-mark{inset:105px -31vw auto auto;width:108vw;height:610px;opacity:.34;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 30%,#000 67%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 30%,#000 67%)}}
@media(max-width:420px){.concept-axis .hero-mark{right:-35vw;width:116vw;opacity:.34}}
