| exception |
Symfony\Component\AssetMapper\Exception\RuntimeException {#513
#message: "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."
#code: 0
#file: "/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php"
#line: 111
trace: {
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:111 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->handleMissingImport(string $message, ?Throwable $e = null): void …
› AssetCompilerInterface::MISSING_IMPORT_WARN => $this->logger?->warning($message),
› AssetCompilerInterface::MISSING_IMPORT_STRICT => throw new RuntimeException($message, 0, $e),
› };
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:88 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure} …
› }
› $this->handleMissingImport($message);
›
arguments: {
$message: "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."
}
}
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure}() {}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:59 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->compile(string $content, MappedAsset $asset, AssetMapperInterface $assetMapper): string …
›
› return preg_replace_callback(self::ASSET_URL_PATTERN, function ($matches) use ($asset, $assetMapper, $commentBlocks) {
› $matchPos = $matches[0][1];
arguments: {
$pattern: """
{\n
(?|\n
(url\()\s*+["']?(?!(?:/|\#|%23|data|http|//))([^"')\s?#]++)(?:[?#][^"')]++)?["']?\s*+(\))\n
|\n
(@import\s++)["'](?!(?:/|\#|%23|data|http|//))([^"')\s?#]++)(?:[?#][^"')]++)?["']\n
)\n
}x
"""
$callback: Closure($matches) {#512 …}
$subject: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$limit: -1
&$count: null
$flags: 256
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperCompiler.php:40 {
Symfony\Component\AssetMapper\AssetMapperCompiler->compile(string $content, MappedAsset $asset): string …
›
› $content = $compiler->compile($content, $asset, $this->assetMapper ??= ($this->assetMapperFactory)());
› }
arguments: {
$content: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
$assetMapper: Symfony\Component\AssetMapper\AssetMapper {#388 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:107 {
Symfony\Component\AssetMapper\Factory\MappedAssetFactory->compileContent(MappedAsset $asset): ?string …
› $content = (new Filesystem())->readFile($asset->sourcePath);
› $compiled = $this->compiler->compile($content, $asset);
›
arguments: {
$content: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:51 {
Symfony\Component\AssetMapper\Factory\MappedAssetFactory->createMappedAsset(string $logicalPath, string $sourcePath): MappedAsset …
›
› $content = $this->compileContent($asset);
› [$digest, $isPredigested] = $this->getDigest($asset, $content);
arguments: {
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/CachedMappedAssetFactory.php:43 {
Symfony\Component\AssetMapper\Factory\CachedMappedAssetFactory->createMappedAsset(string $logicalPath, string $sourcePath): MappedAsset …
›
› $mappedAsset = $this->innerFactory->createMappedAsset($logicalPath, $sourcePath);
›
arguments: {
$logicalPath: "styles/landing.css"
$sourcePath: "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapper.php:41 {
Symfony\Component\AssetMapper\AssetMapper->getAsset(string $logicalPath): MappedAsset …
›
› return $this->mappedAssetFactory->createMappedAsset($logicalPath, $filePath);
› }
arguments: {
$logicalPath: "styles/landing.css"
$sourcePath: "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapper.php:47 {
Symfony\Component\AssetMapper\AssetMapper->allAssets(): iterable …
› foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
› $asset = $this->getAsset($logicalPath);
› if (null === $asset) {
arguments: {
$logicalPath: "styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:193 {
Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->findAssetFromCache(string $pathInfo): MappedAsset …
› $asset = null;
› foreach ($this->assetMapper->allAssets() as $assetCandidate) {
› if ($pathInfo === $assetCandidate->publicPath) {
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:127 {
Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->onKernelRequest(RequestEvent $event): void …
›
› $asset = $this->findAssetFromCache($pathInfo);
›
arguments: {
$pathInfo: "/assets/images/numelan-7diYsCe.ico"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
› try {
› ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
› } finally {
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
...: {
"kernel.request"
Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#44 …}
}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
› }
› $listener($event, $eventName, $this);
› }
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
$dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#44 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› if ($listeners) {
› $this->callListeners($listeners, $eventName, $event);
› }
arguments: {
$listeners: [ …12]
$eventName: "kernel.request"
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› try {
› $this->dispatcher->dispatch($event, $eventName);
› } finally {
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/HttpKernel.php:159 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› $event = new RequestEvent($this, $request, $type);
› $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
›
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
$type: 1
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
$type: 1
$catch: true
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/obfwrfm/www/landing.numelan.fr/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php"
}
}
}
} |
| logger |
Symfony\Bridge\Monolog\Processor\DebugProcessor {#13
-records: [
"" => [
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.940+01:00"
"message" => "Warning: Zend OPcache API is restricted by "restrict_api" configuration directive"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"exception" => Symfony\Component\ErrorHandler\Exception\SilencedErrorContext {#112
+count: 42
-severity: E_WARNING
trace: {
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/error-handler/DebugClassLoader.php:302 {
Symfony\Component\ErrorHandler\DebugClassLoader->loadClass(string $class): void …
› // no-op
› } elseif (\function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file)) {
› include $file;
}
/home/obfwrfm/www/landing.numelan.fr/vendor/doctrine/doctrine-bundle/src/DoctrineBundle.php:136 {
›
› $this->autoloader = Autoloader::register($dir, $namespace, $proxyGenerator);
› }
}
}
}
]
"channel" => "php"
]
]
19 => [
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\UX\Turbo\Request\RequestListener::__invoke"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.985+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.988+01:00"
"message" => "Uncaught PHP Exception 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 CssAssetUrlCompiler.php line 111"
"priority" => 500
"priorityName" => "CRITICAL"
"context" => [
"exception" => Symfony\Component\AssetMapper\Exception\RuntimeException {#513
#message: "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."
#code: 0
#file: "/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php"
#line: 111
trace: {
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:111 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->handleMissingImport(string $message, ?Throwable $e = null): void …
› AssetCompilerInterface::MISSING_IMPORT_WARN => $this->logger?->warning($message),
› AssetCompilerInterface::MISSING_IMPORT_STRICT => throw new RuntimeException($message, 0, $e),
› };
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:88 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure} …
› }
› $this->handleMissingImport($message);
›
arguments: {
$message: "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."
}
}
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->Symfony\Component\AssetMapper\Compiler\{closure}() {}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Compiler/CssAssetUrlCompiler.php:59 {
Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler->compile(string $content, MappedAsset $asset, AssetMapperInterface $assetMapper): string …
›
› return preg_replace_callback(self::ASSET_URL_PATTERN, function ($matches) use ($asset, $assetMapper, $commentBlocks) {
› $matchPos = $matches[0][1];
arguments: {
$pattern: """
{\n
(?|\n
(url\()\s*+["']?(?!(?:/|\#|%23|data|http|//))([^"')\s?#]++)(?:[?#][^"')]++)?["']?\s*+(\))\n
|\n
(@import\s++)["'](?!(?:/|\#|%23|data|http|//))([^"')\s?#]++)(?:[?#][^"')]++)?["']\n
)\n
}x
"""
$callback: Closure($matches) {#512 …}
$subject: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$limit: -1
&$count: null
$flags: 256
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperCompiler.php:40 {
Symfony\Component\AssetMapper\AssetMapperCompiler->compile(string $content, MappedAsset $asset): string …
›
› $content = $compiler->compile($content, $asset, $this->assetMapper ??= ($this->assetMapperFactory)());
› }
arguments: {
$content: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
$assetMapper: Symfony\Component\AssetMapper\AssetMapper {#388 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:107 {
Symfony\Component\AssetMapper\Factory\MappedAssetFactory->compileContent(MappedAsset $asset): ?string …
› $content = (new Filesystem())->readFile($asset->sourcePath);
› $compiled = $this->compiler->compile($content, $asset);
›
arguments: {
$content: """
/* cyrillic-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');\n
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n
}\n
/* cyrillic */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2) format('woff2');\n
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n
}\n
/* greek-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2) format('woff2');\n
unicode-range: U+1F00-1FFF;\n
}\n
/* greek */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2) format('woff2');\n
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n
}\n
/* vietnamese */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin-ext */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2) format('woff2');\n
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;\n
}\n
/* latin */\n
@font-face {\n
font-family: 'Inter';\n
font-style: normal;\n
font-weight: 400;\n
src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2) format('woff2');\n
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;\n
}\n
\n
\n
*, html, body {\n
margin:0;\n
padding:0;\n
box-sizing: border-box !important;\n
}\n
\n
.container {\n
padding-left: 26px;\n
padding-right: 26px;\n
}\n
\n
.menu-navbar {\n
position: fixed;\n
width:100%;\n
top:0;\n
z-index: 2;\n
}\n
\n
.navbar-logo {\n
background-color: #ebebeb;\n
background-image: url("../images/logo-numelan-GlXh2Ad.png");\n
background-size: contain;\n
width: 90px;\n
height:90px;\n
float: left;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
color: transparent;\n
}\n
\n
.small-menu-button {\n
background-color: #ebebeb;\n
width: 90px;\n
height:90px;\n
display: block;\n
float: right;\n
position:relative;\n
border-bottom-left-radius: 12px;\n
border-bottom-right-radius: 12px;\n
margin-top: 0px;\n
padding:25px;\n
color:#11587e;\n
}\n
\n
.large-menu{\n
display:none;\n
}\n
\n
.btn {\n
padding-left: 15px;\n
padding-right: 15px;\n
padding-top: 9px;\n
padding-bottom: 9px;\n
font-family: 'Inter';\n
font-size: 14px;\n
text-decoration: none;\n
line-height: 20px;\n
text-align: center;\n
border-radius: 9px;\n
}\n
\n
.blue-btn {\n
background-color: #11587e;\n
color:#ebebeb;\n
}\n
\n
.white-btn {\n
background-color: #ebebeb;\n
color:#11587e;\n
}\n
\n
.blue-text {\n
color:#11587e;\n
}\n
\n
.white-text {\n
color:#ebebeb;\n
}\n
\n
h1{\n
font-family: 'Inter';\n
font-weight: 400;\n
}\n
\n
h2{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 32px;\n
line-height: 36px;\n
}\n
\n
h3{\n
font-family: 'Inter';\n
font-weight: 700;\n
font-size: 24px;\n
line-height: 30px;\n
}\n
\n
p{\n
font-family: 'Inter';\n
}\n
\n
@media (min-width: 1250px) { \n
\n
.navbar-logo, .small-menu-button {\n
margin-top: -10px;\n
}\n
.large-menu{\n
display: block;\n
margin-top: 10px;\n
margin-left: auto;\n
margin-right: auto;\n
padding: 10px 28px 10px 28px;\n
max-width: 820px;\n
position: relative;\n
background-color: #ebebeb;\n
border-radius: 12px;\n
}\n
\n
.large-menu a{\n
display: inline-block;\n
vertical-align: baseline;\n
padding: 20px 10px 20px 10px;\n
position: relative;\n
font-family: 'Inter';\n
font-size: 14px;\n
line-height: 20px;\n
color: #11587e;\n
text-decoration: none;\n
}\n
\n
.contact-menu-link{\n
margin-top: 6px;\n
margin-left: 40px;\n
margin-bottom: 6px;\n
background-color: #11587e;\n
color: #ebebeb!important;\n
border-radius: 12px;\n
padding: 14px 20px 14px 20px!important;\n
}\n
}\n
\n
\n
/* ---------- Numelan Modern UI (startup) ---------- */\n
:root{\n
--bg:#FDFDFB;\n
--surface:rgba(255,255,255,.78);\n
--surface2:rgba(255,255,255,.92);\n
--text:#1A1A1A;\n
--muted:#555555;\n
--primary:#11587D;\n
--primary2:#0A5C7D;\n
--accent:#B3DFF0;\n
--border:rgba(17,88,125,.14);\n
--shadow:0 18px 50px rgba(17,88,125,.12);\n
--shadow2:0 10px 28px rgba(17,88,125,.10);\n
--radius:18px;\n
}\n
\n
html, body{\n
background:var(--bg);\n
color:var(--text);\n
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n
}\n
\n
.page{\n
overflow:hidden;\n
}\n
\n
/* smooth anchor scroll */\n
html{ scroll-behavior:smooth; }\n
\n
/* HERO */\n
.hero{\n
position:relative;\n
padding:56px 0 28px;\n
background:\n
radial-gradient(800px 400px at 20% 10%, rgba(179,223,240,.55), transparent 65%),\n
radial-gradient(900px 520px at 85% 15%, rgba(17,88,125,.25), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.06), rgba(17,88,125,.00));\n
border-bottom:1px solid var(--border);\n
}\n
\n
.hero-grid{\n
display:grid;\n
grid-template-columns: 1.05fr .95fr;\n
gap:28px;\n
align-items:center;\n
}\n
\n
.hero-top{\n
grid-column:1 / -1;\n
display:flex;\n
align-items:center;\n
justify-content:space-between;\n
gap:16px;\n
padding:14px 16px;\n
background:rgb(236, 235, 235);\n
backdrop-filter: blur(10px);\n
-webkit-backdrop-filter: blur(10px);\n
border:1px solid var(--border);\n
border-radius:999px;\n
box-shadow: var(--shadow2);\n
}\n
\n
.brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }\n
.brand-logo{ height:34px; width:auto; display:block; }\n
\n
.hero-nav{ display:flex; align-items:center; gap:14px; }\n
.hero-nav a{\n
color:var(--text);\n
text-decoration:none;\n
font-weight:600;\n
font-size:14px;\n
padding:10px 12px;\n
border-radius:999px;\n
transition: transform .15s ease, background .15s ease;\n
}\n
.hero-nav a:hover{ background:rgba(179,223,240,.35); transform: translateY(-1px); }\n
.hero-nav .nav-cta{\n
color:white;\n
background:linear-gradient(135deg, var(--primary), var(--accent));\n
box-shadow: 0 10px 24px rgba(17,88,125,.20);\n
}\n
\n
.hero-copy h1{\n
letter-spacing:-0.02em;\n
line-height:1.05;\n
margin-top:10px;\n
}\n
\n
.badge{\n
display:inline-flex;\n
align-items:center;\n
gap:8px;\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.6);\n
font-weight:700;\n
font-size:12px;\n
color:var(--primary);\n
}\n
\n
.hero-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
box-shadow: var(--shadow);\n
}\n
\n
.trust{\n
display:flex;\n
flex-wrap:wrap;\n
gap:10px;\n
margin-top:16px;\n
}\n
.pill{\n
padding:8px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.62);\n
font-weight:600;\n
font-size:13px;\n
}\n
\n
/* SECTIONS */\n
.section{\n
padding:64px 0;\n
}\n
\n
.section h2{\n
letter-spacing:-0.02em;\n
}\n
\n
.cards{\n
gap:18px;\n
}\n
\n
.card{\n
background: var(--surface);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
position:relative;\n
overflow:hidden;\n
}\n
\n
.card:before{\n
content:"";\n
position:absolute;\n
inset:-2px;\n
background: radial-gradient(420px 220px at 20% 0%, rgba(179,223,240,.55), transparent 65%);\n
opacity:.55;\n
pointer-events:none;\n
}\n
\n
.card > *{ position:relative; }\n
\n
.card-icon{\n
width:56px;\n
height:56px;\n
border-radius:16px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.75);\n
display:flex;\n
align-items:center;\n
justify-content:center;\n
margin-bottom:12px;\n
box-shadow: 0 12px 28px rgba(17,88,125,.10);\n
}\n
\n
.card-icon img{ width:42px; height:42px; display:block; }\n
\n
.card h3{ margin-top:0; }\n
\n
/* PROCESS */\n
.process-grid{\n
display:grid;\n
grid-template-columns: 1.1fr .9fr;\n
gap:26px;\n
align-items:start;\n
}\n
.process-visual img{\n
width:100%;\n
height:auto;\n
display:block;\n
border-radius:24px;\n
border:1px solid var(--border);\n
box-shadow: var(--shadow2);\n
}\n
\n
.steps{\n
background:rgba(255,255,255,.60);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
padding:18px 18px 18px 26px;\n
box-shadow: var(--shadow2);\n
}\n
.steps li{ padding:8px 0; }\n
\n
/* CTA */\n
.cta{\n
background:\n
radial-gradient(800px 380px at 15% 20%, rgba(179,223,240,.55), transparent 60%),\n
radial-gradient(900px 520px at 85% 50%, rgba(17,88,125,.22), transparent 60%),\n
linear-gradient(180deg, rgba(17,88,125,.05), rgba(17,88,125,.00));\n
border-top:1px solid var(--border);\n
border-bottom:1px solid var(--border);\n
}\n
\n
.btn{\n
border-radius:999px !important;\n
border:1px solid var(--border) !important;\n
background:rgba(255,255,255,.75) !important;\n
transition: transform .15s ease, box-shadow .15s ease, background .15s ease;\n
}\n
.btn:hover{\n
transform: translateY(-1px);\n
box-shadow: 0 14px 30px rgba(17,88,125,.14);\n
}\n
.btn.primary{\n
border:none !important;\n
color:white !important;\n
background:linear-gradient(135deg, var(--primary), var(--accent)) !important;\n
box-shadow: 0 14px 30px rgba(17,88,125,.22);\n
}\n
\n
/* CONTACT FORM */\n
.form{\n
background:rgba(255,255,255,.72);\n
border:1px solid var(--border);\n
border-radius: var(--radius);\n
box-shadow: var(--shadow2);\n
}\n
input, textarea, select{\n
border-radius:14px !important;\n
border:1px solid rgba(17,88,125,.20) !important;\n
background:rgba(255,255,255,.92) !important;\n
}\n
input:focus, textarea:focus{\n
outline:none !important;\n
box-shadow: 0 0 0 4px rgba(179,223,240,.45) !important;\n
border-color: rgba(17,88,125,.35) !important;\n
}\n
\n
/* FOOTER */\n
.footer{\n
padding:40px 0 60px;\n
background: linear-gradient(180deg, rgba(17,88,125,.02), rgba(17,88,125,.00));\n
}\n
.footer-grid{\n
display:flex;\n
align-items:flex-start;\n
justify-content:space-between;\n
gap:22px;\n
flex-wrap:wrap;\n
}\n
.footer-logo{ height:36px; width:auto; display:block; margin-bottom:10px; }\n
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }\n
.footer-links a{\n
text-decoration:none;\n
font-weight:700;\n
color:var(--primary);\n
padding:10px 12px;\n
border-radius:999px;\n
border:1px solid var(--border);\n
background:rgba(255,255,255,.68);\n
}\n
.footer-links a:hover{ background:rgba(179,223,240,.35); }\n
\n
/* RESPONSIVE */\n
@media (max-width: 900px){\n
.hero-grid{ grid-template-columns: 1fr; }\n
.hero-top{ border-radius: 18px; }\n
.hero-nav{ gap:8px; }\n
.hero-nav a{ padding:10px 10px; }\n
.process-grid{ grid-template-columns: 1fr; }\n
}\n
"""
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:51 {
Symfony\Component\AssetMapper\Factory\MappedAssetFactory->createMappedAsset(string $logicalPath, string $sourcePath): MappedAsset …
›
› $content = $this->compileContent($asset);
› [$digest, $isPredigested] = $this->getDigest($asset, $content);
arguments: {
$asset: Symfony\Component\AssetMapper\MappedAsset {#506 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/Factory/CachedMappedAssetFactory.php:43 {
Symfony\Component\AssetMapper\Factory\CachedMappedAssetFactory->createMappedAsset(string $logicalPath, string $sourcePath): MappedAsset …
›
› $mappedAsset = $this->innerFactory->createMappedAsset($logicalPath, $sourcePath);
›
arguments: {
$logicalPath: "styles/landing.css"
$sourcePath: "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapper.php:41 {
Symfony\Component\AssetMapper\AssetMapper->getAsset(string $logicalPath): MappedAsset …
›
› return $this->mappedAssetFactory->createMappedAsset($logicalPath, $filePath);
› }
arguments: {
$logicalPath: "styles/landing.css"
$sourcePath: "/home/obfwrfm/www/landing.numelan.fr/assets/styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapper.php:47 {
Symfony\Component\AssetMapper\AssetMapper->allAssets(): iterable …
› foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
› $asset = $this->getAsset($logicalPath);
› if (null === $asset) {
arguments: {
$logicalPath: "styles/landing.css"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:193 {
Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->findAssetFromCache(string $pathInfo): MappedAsset …
› $asset = null;
› foreach ($this->assetMapper->allAssets() as $assetCandidate) {
› if ($pathInfo === $assetCandidate->publicPath) {
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:127 {
Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->onKernelRequest(RequestEvent $event): void …
›
› $asset = $this->findAssetFromCache($pathInfo);
›
arguments: {
$pathInfo: "/assets/images/numelan-7diYsCe.ico"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
› try {
› ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
› } finally {
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
...: {
"kernel.request"
Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#44 …}
}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
› }
› $listener($event, $eventName, $this);
› }
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
$dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#44 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› if ($listeners) {
› $this->callListeners($listeners, $eventName, $event);
› }
arguments: {
$listeners: [ …12]
$eventName: "kernel.request"
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› try {
› $this->dispatcher->dispatch($event, $eventName);
› } finally {
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/HttpKernel.php:159 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› $event = new RequestEvent($this, $request, $type);
› $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
›
arguments: {
$event: Symfony\Component\HttpKernel\Event\RequestEvent {#180 …}
$eventName: "kernel.request"
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
$type: 1
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
$type: 1
$catch: true
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#19 …}
}
}
/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/obfwrfm/www/landing.numelan.fr/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/obfwrfm/www/landing.numelan.fr/vendor/autoload_runtime.php"
}
}
}
}
]
"channel" => "request"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::logKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Listener "{listener}" stopped propagation of the event "{event}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.063+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
578 => [
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\UX\Turbo\Request\RequestListener::__invoke"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
]
"channel" => "event"
]
[
"timestamp" => 1770053634
"timestamp_rfc3339" => "2026-02-02T18:33:54.990+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.001+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.001+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.009+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.009+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.009+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.009+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Container9xJ2YM2\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.009+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1770053635
"timestamp_rfc3339" => "2026-02-02T18:33:55.057+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
]
-errorCount: [
"" => 0
19 => 1
578 => 0
]
-requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#54 …}
} |