Error 500 Internal Server Error

GET https://www.numelan.fr/assets/images/Prestataire-informatique-Angers-Cholet-Saumur-kc9HMHu.png

Forwarded to ErrorController (5274d1)

Exceptions

Unable to find asset "../images/logo-numelan-GlXh2Ad.png" referenced in "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css". The file "/home/obfwrfm/www/landing.numelan.fr/assets/images/logo-numelan-GlXh2Ad.png" does not exist.

Exception

Symfony\Component\AssetMapper\Exception\ RuntimeException

  1.     private function handleMissingImport(string $message, ?\Throwable $e null): void
  2.     {
  3.         match ($this->missingImportMode) {
  4.             AssetCompilerInterface::MISSING_IMPORT_IGNORE => null,
  5.             AssetCompilerInterface::MISSING_IMPORT_WARN => $this->logger?->warning($message),
  6.             AssetCompilerInterface::MISSING_IMPORT_STRICT => throw new RuntimeException($message0$e),
  7.         };
  8.     }
  9. }
  1.                 if (is_file($resolvedSourcePath)) {
  2.                     $message .= 'exists, but it is not in a mapped asset path. Add it to the "paths" config.';
  3.                 } else {
  4.                     $message .= 'does not exist.';
  5.                 }
  6.                 $this->handleMissingImport($message);
  7.                 // return original, unchanged path
  8.                 return $matches[0][0];
  9.             }
CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure}(array(array('url("../images/logo-numelan-GlXh2Ad.png")', 2741), array('url(', 2741), array('../images/logo-numelan-GlXh2Ad.png', 2746), array(')', 2781)))
  1.                 $commentBlocks[] = [$start$match[1]];
  2.                 $start null;
  3.             }
  4.         }
  5.         return preg_replace_callback(self::ASSET_URL_PATTERN, function ($matches) use ($asset$assetMapper$commentBlocks) {
  6.             $matchPos $matches[0][1];
  7.             // Ignore matches inside comments
  8.             foreach ($commentBlocks as $block) {
  9.                 if ($matchPos $block[0]) {
  1.         foreach ($this->assetCompilers as $compiler) {
  2.             if (!$compiler->supports($asset)) {
  3.                 continue;
  4.             }
  5.             $content $compiler->compile($content$asset$this->assetMapper ??= ($this->assetMapperFactory)());
  6.         }
  7.         return $content;
  8.     }
  1.         if (!$this->compiler->supports($asset)) {
  2.             return null;
  3.         }
  4.         $content = (new Filesystem())->readFile($asset->sourcePath);
  5.         $compiled $this->compiler->compile($content$asset);
  6.         return $compiled !== $content $compiled null;
  7.     }
  8.     private function getPublicPath(MappedAsset $asset, ?string $content): ?string
  1.         if (!isset($this->assetsCache[$logicalPath])) {
  2.             $isVendor $this->isVendor($sourcePath);
  3.             $asset = new MappedAsset($logicalPath$sourcePath$this->assetsPathResolver->resolvePublicPath($logicalPath), isVendor$isVendor);
  4.             $this->assetsCache[$logicalPath] = $asset;
  5.             $content $this->compileContent($asset);
  6.             [$digest$isPredigested] = $this->getDigest($asset$content);
  7.             $asset = new MappedAsset(
  8.                 $asset->logicalPath,
  9.                 $asset->sourcePath,
  1.         if ($configCache->isFresh()) {
  2.             return unserialize((new Filesystem())->readFile($cachePath));
  3.         }
  4.         $mappedAsset $this->innerFactory->createMappedAsset($logicalPath$sourcePath);
  5.         if (!$mappedAsset) {
  6.             return null;
  7.         }
in vendor/symfony/asset-mapper/AssetMapper.php -> createMappedAsset (line 41)
  1.         $filePath $this->mapperRepository->find($logicalPath);
  2.         if (null === $filePath) {
  3.             return null;
  4.         }
  5.         return $this->mappedAssetFactory->createMappedAsset($logicalPath$filePath);
  6.     }
  7.     public function allAssets(): iterable
  8.     {
  9.         foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
  1.     }
  2.     public function allAssets(): iterable
  3.     {
  4.         foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
  5.             $asset $this->getAsset($logicalPath);
  6.             if (null === $asset) {
  7.                 throw new \LogicException(\sprintf('Asset "%s" could not be found.'$logicalPath));
  8.             }
  9.             yield $asset;
  10.         }
  1.             }
  2.         }
  3.         // we did not find a match
  4.         $asset null;
  5.         foreach ($this->assetMapper->allAssets() as $assetCandidate) {
  6.             if ($pathInfo === $assetCandidate->publicPath) {
  7.                 $asset $assetCandidate;
  8.                 break;
  9.             }
  10.         }
  1.         $pathInfo rawurldecode($event->getRequest()->getPathInfo());
  2.         if (!str_starts_with($pathInfo$this->publicPrefix)) {
  3.             return;
  4.         }
  5.         $asset $this->findAssetFromCache($pathInfo);
  6.         if (!$asset) {
  7.             throw new NotFoundHttpException(\sprintf('Asset with public path "%s" not found.'$pathInfo));
  8.         }
  1.         $this->priority ??= $dispatcher->getListenerPriority($eventName$this->listener);
  2.         $e $this->stopwatch->start($this->name'event_listener');
  3.         try {
  4.             ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         } finally {
  6.             if ($e->isStarted()) {
  7.                 $e->stop();
  8.             }
  9.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.      */
  2.     private function handleRaw(Request $requestint $type self::MAIN_REQUEST): Response
  3.     {
  4.         // request
  5.         $event = new RequestEvent($this$request$type);
  6.         $this->dispatcher->dispatch($eventKernelEvents::REQUEST);
  7.         if ($event->hasResponse()) {
  8.             return $this->filterResponse($event->getResponse(), $request$type);
  9.         }
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
DEBUG 21:56:24 php Warning: Zend OPcache API is restricted by "restrict_api" configuration directive
{
    "exception": {
        "severity": 2,
        "file": "/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/error-handler/DebugClassLoader.php",
        "line": 302,
        "trace": [
            {
                "file": "/home/obfwrfm/www/landing.numelan.fr/vendor/doctrine/doctrine-bundle/src/DoctrineBundle.php",
                "line": 136,
                "function": "loadClass",
                "class": "Symfony\\Component\\ErrorHandler\\DebugClassLoader",
                "type": "->"
            }
        ],
        "count": 42
    }
}
INFO 21:56:24 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "3f1be2"
    },
    "request_uri": "https://www.numelan.fr/_profiler/3f1be2",
    "method": "GET"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 21:56:24 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 21:56:24 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 21:56:24 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 21:56:24 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 21:56:24 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 21:56:24 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 21:56:24 event Notified event "kernel.controller_arguments" to listener "Container9xJ2YM2\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Container9xJ2YM2\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 21:56:24 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

RuntimeException
Symfony\Component\AssetMapper\Exception\RuntimeException:
Unable to find asset "../images/logo-numelan-GlXh2Ad.png" referenced in "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css". The file "/home/obfwrfm/www/landing.numelan.fr/assets/images/logo-numelan-GlXh2Ad.png" does not exist.

  at vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:111
  at Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->handleMissingImport('Unable to find asset "../images/logo-numelan-GlXh2Ad.png" referenced in "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css". The file "/home/obfwrfm/www/landing.numelan.fr/assets/images/logo-numelan-GlXh2Ad.png" does not exist.')
     (vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:88)
  at Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure}(array(array('url("../images/logo-numelan-GlXh2Ad.png")', 2741), array('url(', 2741), array('../images/logo-numelan-GlXh2Ad.png', 2746), array(')', 2781)))
  at preg_replace_callback('{    (?|    (url\\()\\s*+["\']?(?!(?:/|\\#|%23|data|http|//))([^"\')\\s?#]++)(?:[?#][^"\')]++)?["\']?\\s*+(\\))    |    (@import\\s++)["\'](?!(?:/|\\#|%23|data|http|//))([^"\')\\s?#]++)(?:[?#][^"\')]++)?["\']    )}x', object(Closure), '/* cyrillic-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format(\'woff2\');  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}/* cyrillic */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format(\'woff2\');  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}/* greek-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format(\'woff2\');  unicode-range: U+1F00-1FFF;}/* greek */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format(\'woff2\');  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}/* vietnamese */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format(\'woff2\');  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}/* latin-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format(\'woff2\');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format(\'woff2\');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}*, html, body {    margin:0;    padding:0;    box-sizing: border-box !important;}.container {    padding-left: 26px;    padding-right: 26px;}.menu-navbar {    position: fixed;    width:100%;    top:0;    z-index: 2;}.navbar-logo {    background-color: #ebebeb;    background-image: url("../images/logo-numelan-GlXh2Ad.png");    background-size: contain;    width: 90px;    height:90px;    float: left;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    color: transparent;}.small-menu-button {    background-color: #ebebeb;    width: 90px;    height:90px;    display: block;    float: right;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    padding:25px;    color:#11587e;}.large-menu{    display:none;}.btn {    padding-left: 15px;    padding-right: 15px;    padding-top: 9px;    padding-bottom: 9px;    font-family: \'Inter\';    font-size: 14px;    text-decoration: none;    line-height: 20px;    text-align: center;    border-radius: 9px;}.blue-btn {    background-color: #11587e;    color:#ebebeb;}.white-btn {    background-color: #ebebeb;    color:#11587e;}.blue-text {    color:#11587e;}.white-text {    color:#ebebeb;}h1{    font-family: \'Inter\';    font-weight: 400;}h2{    font-family: \'Inter\';    font-weight: 700;    font-size: 32px;    line-height: 36px;}h3{    font-family: \'Inter\';    font-weight: 700;    font-size: 24px;    line-height: 30px;}p{    font-family: \'Inter\';}@media (min-width: 1250px) {     .navbar-logo, .small-menu-button {        margin-top: -10px;    }    .large-menu{        display: block;        margin-top: 10px;        margin-left: auto;        margin-right: auto;        padding: 10px 28px 10px 28px;        max-width: 820px;        position: relative;        background-color: #ebebeb;        border-radius: 12px;    }    .large-menu a{        display: inline-block;        vertical-align: baseline;        padding: 20px 10px 20px 10px;        position: relative;        font-family: \'Inter\';        font-size: 14px;        line-height: 20px;        color: #11587e;        text-decoration: none;    }    .contact-menu-link{        margin-top: 6px;        margin-left: 40px;        margin-bottom: 6px;        background-color: #11587e;        color: #ebebeb!important;        border-radius: 12px;        padding: 14px 20px 14px 20px!important;    }}/* ---------- Numelan Modern UI (startup) ---------- */:root{  --bg:#FDFDFB;  --surface:rgba(255,255,255,.78);  --surface2:rgba(255,255,255,.92);  --text:#1A1A1A;  --muted:#555555;  --primary:#11587D;  --primary2:#0A5C7D;  --accent:#B3DFF0;  --border:rgba(17,88,125,.14);  --shadow:0 18px 50px rgba(17,88,125,.12);  --shadow2:0 10px 28px rgba(17,88,125,.10);  --radius:18px;}html, body{  background:var(--bg);  color:var(--text);  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}.page{  overflow:hidden;}/* smooth anchor scroll */html{ scroll-behavior:smooth; }/* HERO */.hero{  position:relative;  padding:56px 0 28px;  background:    radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),    radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));  border-bottom:1px solid var(--border);}.hero-grid{  display:grid;  grid-template-columns: 1.05fr .95fr;  gap:28px;  align-items:center;}.hero-top{  grid-column:1 / -1;  display:flex;  align-items:center;  justify-content:space-between;  gap:16px;  padding:14px 16px;  background:rgb(236, 235, 235);  backdrop-filter: blur(10px);  -webkit-backdrop-filter: blur(10px);  border:1px solid var(--border);  border-radius:999px;  box-shadow: var(--shadow2);}.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }.brand-logo{ height:34px; width:auto; display:block; }.hero-nav{ display:flex; align-items:center; gap:14px; }.hero-nav a{  color:var(--text);  text-decoration:none;  font-weight:600;  font-size:14px;  padding:10px 12px;  border-radius:999px;  transition: transform .15s ease, background .15s ease;}.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }.hero-nav .nav-cta{  color:white;  background:linear-gradient(135deg, var(--primary), var(--accent));  box-shadow: 0 10px 24px rgba(17,88,125,.20);}.hero-copy h1{  letter-spacing:-0.02em;  line-height:1.05;  margin-top:10px;}.badge{  display:inline-flex;  align-items:center;  gap:8px;  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.6);  font-weight:700;  font-size:12px;  color:var(--primary);}.hero-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  box-shadow: var(--shadow);}.trust{  display:flex;  flex-wrap:wrap;  gap:10px;  margin-top:16px;}.pill{  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.62);  font-weight:600;  font-size:13px;}/* SECTIONS */.section{  padding:64px 0;}.section h2{  letter-spacing:-0.02em;}.cards{  gap:18px;}.card{  background: var(--surface);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);  position:relative;  overflow:hidden;}.card:before{  content:"";  position:absolute;  inset:-2px;  background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);  opacity:.55;  pointer-events:none;}.card > *{ position:relative; }.card-icon{  width:56px;  height:56px;  border-radius:16px;  border:1px solid var(--border);  background:rgba(255,255,255,.75);  display:flex;  align-items:center;  justify-content:center;  margin-bottom:12px;  box-shadow: 0 12px 28px rgba(17,88,125,.10);}.card-icon img{ width:42px; height:42px; display:block; }.card h3{ margin-top:0; }/* PROCESS */.process-grid{  display:grid;  grid-template-columns: 1.1fr .9fr;  gap:26px;  align-items:start;}.process-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  border:1px solid var(--border);  box-shadow: var(--shadow2);}.steps{  background:rgba(255,255,255,.60);  border:1px solid var(--border);  border-radius: var(--radius);  padding:18px 18px 18px 26px;  box-shadow: var(--shadow2);}.steps li{ padding:8px 0; }/* CTA */.cta{  background:    radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),    radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));  border-top:1px solid var(--border);  border-bottom:1px solid var(--border);}.btn{  border-radius:999px !important;  border:1px solid var(--border) !important;  background:rgba(255,255,255,.75) !important;  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}.btn:hover{  transform: translateY(-1px);  box-shadow: 0 14px 30px rgba(17,88,125,.14);}.btn.primary{  border:none !important;  color:white !important;  background:linear-gradient(135deg, var(--primary), var(--accent)) !important;  box-shadow: 0 14px 30px rgba(17,88,125,.22);}/* CONTACT FORM */.form{  background:rgba(255,255,255,.72);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);}input, textarea, select{  border-radius:14px !important;  border:1px solid rgba(17,88,125,.20) !important;  background:rgba(255,255,255,.92) !important;}input:focus, textarea:focus{  outline:none !important;  box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;  border-color: rgba(17,88,125,.35) !important;}/* FOOTER */.footer{  padding:40px 0 60px;  background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));}.footer-grid{  display:flex;  align-items:flex-start;  justify-content:space-between;  gap:22px;  flex-wrap:wrap;}.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }.footer-links a{  text-decoration:none;  font-weight:700;  color:var(--primary);  padding:10px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.68);}.footer-links a:hover{ background:rgba(179,223,240,.35); }/* RESPONSIVE */@media (max-width: 900px){  .hero-grid{ grid-template-columns: 1fr; }  .hero-top{ border-radius: 18px; }  .hero-nav{ gap:8px; }  .hero-nav a{ padding:10px 10px; }  .process-grid{ grid-template-columns: 1fr; }}', -1, null, 256)
     (vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:59)
  at Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->compile('/* cyrillic-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format(\'woff2\');  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}/* cyrillic */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format(\'woff2\');  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}/* greek-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format(\'woff2\');  unicode-range: U+1F00-1FFF;}/* greek */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format(\'woff2\');  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}/* vietnamese */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format(\'woff2\');  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}/* latin-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format(\'woff2\');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format(\'woff2\');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}*, html, body {    margin:0;    padding:0;    box-sizing: border-box !important;}.container {    padding-left: 26px;    padding-right: 26px;}.menu-navbar {    position: fixed;    width:100%;    top:0;    z-index: 2;}.navbar-logo {    background-color: #ebebeb;    background-image: url("../images/logo-numelan-GlXh2Ad.png");    background-size: contain;    width: 90px;    height:90px;    float: left;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    color: transparent;}.small-menu-button {    background-color: #ebebeb;    width: 90px;    height:90px;    display: block;    float: right;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    padding:25px;    color:#11587e;}.large-menu{    display:none;}.btn {    padding-left: 15px;    padding-right: 15px;    padding-top: 9px;    padding-bottom: 9px;    font-family: \'Inter\';    font-size: 14px;    text-decoration: none;    line-height: 20px;    text-align: center;    border-radius: 9px;}.blue-btn {    background-color: #11587e;    color:#ebebeb;}.white-btn {    background-color: #ebebeb;    color:#11587e;}.blue-text {    color:#11587e;}.white-text {    color:#ebebeb;}h1{    font-family: \'Inter\';    font-weight: 400;}h2{    font-family: \'Inter\';    font-weight: 700;    font-size: 32px;    line-height: 36px;}h3{    font-family: \'Inter\';    font-weight: 700;    font-size: 24px;    line-height: 30px;}p{    font-family: \'Inter\';}@media (min-width: 1250px) {     .navbar-logo, .small-menu-button {        margin-top: -10px;    }    .large-menu{        display: block;        margin-top: 10px;        margin-left: auto;        margin-right: auto;        padding: 10px 28px 10px 28px;        max-width: 820px;        position: relative;        background-color: #ebebeb;        border-radius: 12px;    }    .large-menu a{        display: inline-block;        vertical-align: baseline;        padding: 20px 10px 20px 10px;        position: relative;        font-family: \'Inter\';        font-size: 14px;        line-height: 20px;        color: #11587e;        text-decoration: none;    }    .contact-menu-link{        margin-top: 6px;        margin-left: 40px;        margin-bottom: 6px;        background-color: #11587e;        color: #ebebeb!important;        border-radius: 12px;        padding: 14px 20px 14px 20px!important;    }}/* ---------- Numelan Modern UI (startup) ---------- */:root{  --bg:#FDFDFB;  --surface:rgba(255,255,255,.78);  --surface2:rgba(255,255,255,.92);  --text:#1A1A1A;  --muted:#555555;  --primary:#11587D;  --primary2:#0A5C7D;  --accent:#B3DFF0;  --border:rgba(17,88,125,.14);  --shadow:0 18px 50px rgba(17,88,125,.12);  --shadow2:0 10px 28px rgba(17,88,125,.10);  --radius:18px;}html, body{  background:var(--bg);  color:var(--text);  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}.page{  overflow:hidden;}/* smooth anchor scroll */html{ scroll-behavior:smooth; }/* HERO */.hero{  position:relative;  padding:56px 0 28px;  background:    radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),    radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));  border-bottom:1px solid var(--border);}.hero-grid{  display:grid;  grid-template-columns: 1.05fr .95fr;  gap:28px;  align-items:center;}.hero-top{  grid-column:1 / -1;  display:flex;  align-items:center;  justify-content:space-between;  gap:16px;  padding:14px 16px;  background:rgb(236, 235, 235);  backdrop-filter: blur(10px);  -webkit-backdrop-filter: blur(10px);  border:1px solid var(--border);  border-radius:999px;  box-shadow: var(--shadow2);}.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }.brand-logo{ height:34px; width:auto; display:block; }.hero-nav{ display:flex; align-items:center; gap:14px; }.hero-nav a{  color:var(--text);  text-decoration:none;  font-weight:600;  font-size:14px;  padding:10px 12px;  border-radius:999px;  transition: transform .15s ease, background .15s ease;}.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }.hero-nav .nav-cta{  color:white;  background:linear-gradient(135deg, var(--primary), var(--accent));  box-shadow: 0 10px 24px rgba(17,88,125,.20);}.hero-copy h1{  letter-spacing:-0.02em;  line-height:1.05;  margin-top:10px;}.badge{  display:inline-flex;  align-items:center;  gap:8px;  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.6);  font-weight:700;  font-size:12px;  color:var(--primary);}.hero-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  box-shadow: var(--shadow);}.trust{  display:flex;  flex-wrap:wrap;  gap:10px;  margin-top:16px;}.pill{  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.62);  font-weight:600;  font-size:13px;}/* SECTIONS */.section{  padding:64px 0;}.section h2{  letter-spacing:-0.02em;}.cards{  gap:18px;}.card{  background: var(--surface);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);  position:relative;  overflow:hidden;}.card:before{  content:"";  position:absolute;  inset:-2px;  background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);  opacity:.55;  pointer-events:none;}.card > *{ position:relative; }.card-icon{  width:56px;  height:56px;  border-radius:16px;  border:1px solid var(--border);  background:rgba(255,255,255,.75);  display:flex;  align-items:center;  justify-content:center;  margin-bottom:12px;  box-shadow: 0 12px 28px rgba(17,88,125,.10);}.card-icon img{ width:42px; height:42px; display:block; }.card h3{ margin-top:0; }/* PROCESS */.process-grid{  display:grid;  grid-template-columns: 1.1fr .9fr;  gap:26px;  align-items:start;}.process-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  border:1px solid var(--border);  box-shadow: var(--shadow2);}.steps{  background:rgba(255,255,255,.60);  border:1px solid var(--border);  border-radius: var(--radius);  padding:18px 18px 18px 26px;  box-shadow: var(--shadow2);}.steps li{ padding:8px 0; }/* CTA */.cta{  background:    radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),    radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));  border-top:1px solid var(--border);  border-bottom:1px solid var(--border);}.btn{  border-radius:999px !important;  border:1px solid var(--border) !important;  background:rgba(255,255,255,.75) !important;  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}.btn:hover{  transform: translateY(-1px);  box-shadow: 0 14px 30px rgba(17,88,125,.14);}.btn.primary{  border:none !important;  color:white !important;  background:linear-gradient(135deg, var(--primary), var(--accent)) !important;  box-shadow: 0 14px 30px rgba(17,88,125,.22);}/* CONTACT FORM */.form{  background:rgba(255,255,255,.72);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);}input, textarea, select{  border-radius:14px !important;  border:1px solid rgba(17,88,125,.20) !important;  background:rgba(255,255,255,.92) !important;}input:focus, textarea:focus{  outline:none !important;  box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;  border-color: rgba(17,88,125,.35) !important;}/* FOOTER */.footer{  padding:40px 0 60px;  background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));}.footer-grid{  display:flex;  align-items:flex-start;  justify-content:space-between;  gap:22px;  flex-wrap:wrap;}.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }.footer-links a{  text-decoration:none;  font-weight:700;  color:var(--primary);  padding:10px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.68);}.footer-links a:hover{ background:rgba(179,223,240,.35); }/* RESPONSIVE */@media (max-width: 900px){  .hero-grid{ grid-template-columns: 1fr; }  .hero-top{ border-radius: 18px; }  .hero-nav{ gap:8px; }  .hero-nav a{ padding:10px 10px; }  .process-grid{ grid-template-columns: 1fr; }}', object(MappedAsset), object(AssetMapper))
     (vendor/symfony/asset-mapper/AssetMapperCompiler.php:40)
  at Symfony\Component\AssetMapper\AssetMapperCompiler->compile('/* cyrillic-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format(\'woff2\');  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}/* cyrillic */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format(\'woff2\');  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}/* greek-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format(\'woff2\');  unicode-range: U+1F00-1FFF;}/* greek */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format(\'woff2\');  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}/* vietnamese */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format(\'woff2\');  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}/* latin-ext */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format(\'woff2\');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face {  font-family: \'Inter\';  font-style: normal;  font-weight: 400;  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format(\'woff2\');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}*, html, body {    margin:0;    padding:0;    box-sizing: border-box !important;}.container {    padding-left: 26px;    padding-right: 26px;}.menu-navbar {    position: fixed;    width:100%;    top:0;    z-index: 2;}.navbar-logo {    background-color: #ebebeb;    background-image: url("../images/logo-numelan-GlXh2Ad.png");    background-size: contain;    width: 90px;    height:90px;    float: left;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    color: transparent;}.small-menu-button {    background-color: #ebebeb;    width: 90px;    height:90px;    display: block;    float: right;    position:relative;    border-bottom-left-radius: 12px;    border-bottom-right-radius: 12px;    margin-top: 0px;    padding:25px;    color:#11587e;}.large-menu{    display:none;}.btn {    padding-left: 15px;    padding-right: 15px;    padding-top: 9px;    padding-bottom: 9px;    font-family: \'Inter\';    font-size: 14px;    text-decoration: none;    line-height: 20px;    text-align: center;    border-radius: 9px;}.blue-btn {    background-color: #11587e;    color:#ebebeb;}.white-btn {    background-color: #ebebeb;    color:#11587e;}.blue-text {    color:#11587e;}.white-text {    color:#ebebeb;}h1{    font-family: \'Inter\';    font-weight: 400;}h2{    font-family: \'Inter\';    font-weight: 700;    font-size: 32px;    line-height: 36px;}h3{    font-family: \'Inter\';    font-weight: 700;    font-size: 24px;    line-height: 30px;}p{    font-family: \'Inter\';}@media (min-width: 1250px) {     .navbar-logo, .small-menu-button {        margin-top: -10px;    }    .large-menu{        display: block;        margin-top: 10px;        margin-left: auto;        margin-right: auto;        padding: 10px 28px 10px 28px;        max-width: 820px;        position: relative;        background-color: #ebebeb;        border-radius: 12px;    }    .large-menu a{        display: inline-block;        vertical-align: baseline;        padding: 20px 10px 20px 10px;        position: relative;        font-family: \'Inter\';        font-size: 14px;        line-height: 20px;        color: #11587e;        text-decoration: none;    }    .contact-menu-link{        margin-top: 6px;        margin-left: 40px;        margin-bottom: 6px;        background-color: #11587e;        color: #ebebeb!important;        border-radius: 12px;        padding: 14px 20px 14px 20px!important;    }}/* ---------- Numelan Modern UI (startup) ---------- */:root{  --bg:#FDFDFB;  --surface:rgba(255,255,255,.78);  --surface2:rgba(255,255,255,.92);  --text:#1A1A1A;  --muted:#555555;  --primary:#11587D;  --primary2:#0A5C7D;  --accent:#B3DFF0;  --border:rgba(17,88,125,.14);  --shadow:0 18px 50px rgba(17,88,125,.12);  --shadow2:0 10px 28px rgba(17,88,125,.10);  --radius:18px;}html, body{  background:var(--bg);  color:var(--text);  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}.page{  overflow:hidden;}/* smooth anchor scroll */html{ scroll-behavior:smooth; }/* HERO */.hero{  position:relative;  padding:56px 0 28px;  background:    radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),    radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));  border-bottom:1px solid var(--border);}.hero-grid{  display:grid;  grid-template-columns: 1.05fr .95fr;  gap:28px;  align-items:center;}.hero-top{  grid-column:1 / -1;  display:flex;  align-items:center;  justify-content:space-between;  gap:16px;  padding:14px 16px;  background:rgb(236, 235, 235);  backdrop-filter: blur(10px);  -webkit-backdrop-filter: blur(10px);  border:1px solid var(--border);  border-radius:999px;  box-shadow: var(--shadow2);}.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }.brand-logo{ height:34px; width:auto; display:block; }.hero-nav{ display:flex; align-items:center; gap:14px; }.hero-nav a{  color:var(--text);  text-decoration:none;  font-weight:600;  font-size:14px;  padding:10px 12px;  border-radius:999px;  transition: transform .15s ease, background .15s ease;}.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }.hero-nav .nav-cta{  color:white;  background:linear-gradient(135deg, var(--primary), var(--accent));  box-shadow: 0 10px 24px rgba(17,88,125,.20);}.hero-copy h1{  letter-spacing:-0.02em;  line-height:1.05;  margin-top:10px;}.badge{  display:inline-flex;  align-items:center;  gap:8px;  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.6);  font-weight:700;  font-size:12px;  color:var(--primary);}.hero-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  box-shadow: var(--shadow);}.trust{  display:flex;  flex-wrap:wrap;  gap:10px;  margin-top:16px;}.pill{  padding:8px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.62);  font-weight:600;  font-size:13px;}/* SECTIONS */.section{  padding:64px 0;}.section h2{  letter-spacing:-0.02em;}.cards{  gap:18px;}.card{  background: var(--surface);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);  position:relative;  overflow:hidden;}.card:before{  content:"";  position:absolute;  inset:-2px;  background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);  opacity:.55;  pointer-events:none;}.card > *{ position:relative; }.card-icon{  width:56px;  height:56px;  border-radius:16px;  border:1px solid var(--border);  background:rgba(255,255,255,.75);  display:flex;  align-items:center;  justify-content:center;  margin-bottom:12px;  box-shadow: 0 12px 28px rgba(17,88,125,.10);}.card-icon img{ width:42px; height:42px; display:block; }.card h3{ margin-top:0; }/* PROCESS */.process-grid{  display:grid;  grid-template-columns: 1.1fr .9fr;  gap:26px;  align-items:start;}.process-visual img{  width:100%;  height:auto;  display:block;  border-radius:24px;  border:1px solid var(--border);  box-shadow: var(--shadow2);}.steps{  background:rgba(255,255,255,.60);  border:1px solid var(--border);  border-radius: var(--radius);  padding:18px 18px 18px 26px;  box-shadow: var(--shadow2);}.steps li{ padding:8px 0; }/* CTA */.cta{  background:    radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),    radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),    linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));  border-top:1px solid var(--border);  border-bottom:1px solid var(--border);}.btn{  border-radius:999px !important;  border:1px solid var(--border) !important;  background:rgba(255,255,255,.75) !important;  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}.btn:hover{  transform: translateY(-1px);  box-shadow: 0 14px 30px rgba(17,88,125,.14);}.btn.primary{  border:none !important;  color:white !important;  background:linear-gradient(135deg, var(--primary), var(--accent)) !important;  box-shadow: 0 14px 30px rgba(17,88,125,.22);}/* CONTACT FORM */.form{  background:rgba(255,255,255,.72);  border:1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow2);}input, textarea, select{  border-radius:14px !important;  border:1px solid rgba(17,88,125,.20) !important;  background:rgba(255,255,255,.92) !important;}input:focus, textarea:focus{  outline:none !important;  box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;  border-color: rgba(17,88,125,.35) !important;}/* FOOTER */.footer{  padding:40px 0 60px;  background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));}.footer-grid{  display:flex;  align-items:flex-start;  justify-content:space-between;  gap:22px;  flex-wrap:wrap;}.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }.footer-links a{  text-decoration:none;  font-weight:700;  color:var(--primary);  padding:10px 12px;  border-radius:999px;  border:1px solid var(--border);  background:rgba(255,255,255,.68);}.footer-links a:hover{ background:rgba(179,223,240,.35); }/* RESPONSIVE */@media (max-width: 900px){  .hero-grid{ grid-template-columns: 1fr; }  .hero-top{ border-radius: 18px; }  .hero-nav{ gap:8px; }  .hero-nav a{ padding:10px 10px; }  .process-grid{ grid-template-columns: 1fr; }}', object(MappedAsset))
     (vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:107)
  at Symfony\Component\AssetMapper\Factory\MappedAssetFactory->compileContent(object(MappedAsset))
     (vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:51)
  at Symfony\Component\AssetMapper\Factory\MappedAssetFactory->createMappedAsset('styles/landing.css', '/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css')
     (vendor/symfony/asset-mapper/Factory/CachedMappedAssetFactory.php:43)
  at Symfony\Component\AssetMapper\Factory\CachedMappedAssetFactory->createMappedAsset('styles/landing.css', '/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css')
     (vendor/symfony/asset-mapper/AssetMapper.php:41)
  at Symfony\Component\AssetMapper\AssetMapper->getAsset('styles/landing.css')
     (vendor/symfony/asset-mapper/AssetMapper.php:47)
  at Symfony\Component\AssetMapper\AssetMapper->allAssets()
     (vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:193)
  at Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->findAssetFromCache('/assets/images/Prestataire-informatique-Angers-Cholet-Saumur-kc9HMHu.png')
     (vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:127)
  at Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (vendor/symfony/event-dispatcher/EventDispatcher.php:206)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
     (vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (vendor/symfony/http-kernel/HttpKernel.php:159)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php')
     (public/index.php:5)