:root{
	--blue:#073b91;
	--blue-dark:#062b66;
	--blue-soft:#eaf2ff;
	--yellow:#ffca05;
	--green:#2faa4a;
	--ink:#182033;
	--muted:#667085;
	--line:#d9e2ef;
	--paper:#ffffff;
	--bg:#f7f9fd;
	--radius:18px;
	--max:1120px;
}

a {font-weight:bold;}

*{box-sizing:border-box}
body{
	margin:0;
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--ink);
	background:var(--bg);
	line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.topbar{
	background:#fff;
	border-bottom:1px solid var(--line);
	position:sticky;
	top:0;
	z-index:999;
}
.nav{
	max-width:var(--max);
	margin:auto;
	padding:14px 20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}
.brand{
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:900;
	color:var(--blue);
	letter-spacing:-.03em;
}
.brand-logo{
	width:90px;
	height:90px;
	border-radius:14px;
	background:#fff;
	/*border:1px solid var(--line);*/
	display:grid;
	place-items:center;
	overflow:hidden;
}
.brand-logo img{
	width:90px;
	height:90px;
	object-fit:contain;
}
.menu{
	display:flex;
	align-items:center;
	gap:8px;
	list-style:none;
	padding:0;
	margin:0;
	font-size:.96rem;
	font-weight:700;
}
.menu a{
	padding:10px 13px;
	border-radius:999px;
	color:#344054;
}
.menu a:hover{background:var(--blue-soft);color:var(--blue)}
.menu .cta{
	background:var(--yellow);
	color:#161b22;
	box-shadow:0 5px 0 rgba(0,0,0,.08);
}

.hero{
	background:
	radial-gradient(circle at top left, rgba(255,202,5,.22), transparent 280px),
	linear-gradient(180deg,#fff 0%,#f7f9fd 100%);
	border-bottom:1px solid var(--line);
}
.hero-inner{
	max-width:var(--max);
	margin:auto;
	padding:20px 20px 66px;
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:54px;
	align-items:center;
}
.label{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:var(--blue-soft);
	color:var(--blue);
	border:1px solid #cfe0fb;
	padding:8px 12px;
	border-radius:999px;
	font-weight:800;
	font-size:.9rem;
}
h1{
	margin:20px 0 16px;
	font-size:clamp(2.45rem,5vw,4.8rem);
	line-height:1;
	letter-spacing:-.07em;
	color:#101828;
}
h1 span{color:var(--blue)}
.lead{
	margin:0;
	max-width:690px;
	color:#475467;
	font-size:1.22rem;
}
.lead strong{color:#101828}
.price-box{
	margin:28px 0 0;
	background:#fff;
	border:1px solid var(--line);
	border-left:6px solid var(--green);
	border-radius:var(--radius);
	padding:18px 20px;
	box-shadow:0 12px 34px rgba(24,32,51,.07);
	max-width:690px;
}
.price-box strong{color:var(--green)}
.actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:28px;
}
.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:0 20px;
	border-radius:14px;
	font-weight:900;
	border:1px solid transparent;
}
.button.primary{background:var(--yellow);color:#111827;box-shadow:0 6px 0 rgba(0,0,0,.1)}
.button.primary:hover{transform:translateY(1px);box-shadow:0 5px 0 rgba(0,0,0,.1)}
.button.secondary{background:#fff;color:var(--blue);border-color:var(--line)}
.button.secondary:hover{border-color:#aac4ec;background:var(--blue-soft)}

.friendly-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:28px;
	padding:28px;
	box-shadow:0 20px 60px rgba(24,32,51,.08);
}
.friendly-card .visual{
	min-height:300px;
	//border-radius:22px;
	//background:
	//linear-gradient(135deg,rgba(7,59,145,.1),rgba(47,170,74,.1)),
	//#f8fbff;
	//border:1px dashed #b7c8e4;
	display:grid;
	place-items:center;
	text-align:center;
	padding:28px;
	color:#475467;
}
.friendly-card h2{
	margin:20px 0 8px;
	font-size:1.35rem;
	color:var(--blue-dark);
}
.friendly-card p{margin:0;color:#667085}

section{padding:10px 20px 72px 20px}
.wrap{max-width:var(--max);margin:auto}
.section-head{
	max-width:740px;
	margin:0 auto 36px;
	text-align:center;
}
.section-head small{
	color:var(--green);
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.12em;
}
.section-head h2{
	margin:8px 0 10px;
	font-size:clamp(2rem,3vw,3rem);
	line-height:1.08;
	letter-spacing:-.045em;
	color:var(--blue-dark);
}
.section-head p{margin:0;color:var(--muted);font-size:1.05rem}

.features{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
}
.feature{
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:24px;
}
.feature-icon{font-size:2rem;margin-bottom:14px}
.feature h3{margin:0 0 8px;font-size:1.2rem}
.feature p{margin:0;color:var(--muted)}

.soft-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:34px;
	align-items:start;
}
.panel{
	background:var(--blue-dark);
	color:#fff;
	border-radius:28px;
	padding:32px;
	position:sticky;
	top:100px;
}
.panel h2{margin:0 0 12px;font-size:2rem;letter-spacing:-.04em;line-height:1.1}
.panel p{margin:0;color:rgba(255,255,255,.82)}
.list{
	display:grid;
	gap:14px;
}
.list-item{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:14px;
	padding:18px;
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
}
.list-item b{color:var(--blue-dark)}
.list-item p{margin:4px 0 0;color:var(--muted)}

.software-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:14px;
}
.software{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:20px;
	min-height:150px;
}
.software .emoji{font-size:2rem;margin-bottom:18px}
.software h3{margin:0 0 4px;font-size:1.08rem}
.software p{margin:0;color:var(--muted);font-size:.94rem}

.doc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.doc{
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:26px;
	text-align:center;
}
.doc strong{display:block;margin:12px 0 6px;font-size:1.15rem}
.doc p{margin:0 0 20px;color:var(--muted)}

.final-cta{
	background:linear-gradient(135deg,var(--blue),var(--blue-dark));
	color:#fff;
	border-radius:30px;
	padding:38px;
	display:grid;
	grid-template-columns:1fr auto;
	gap:24px;
	align-items:center;
}
.final-cta h2{margin:0 0 8px;font-size:2.3rem;line-height:1.05;letter-spacing:-.045em}
.final-cta p{margin:0;color:rgba(255,255,255,.82)}

footer{
	padding:34px 20px;
	color:#667085;
	background:#fff;
	border-top:1px solid var(--line);
}
.footer-inner{
	max-width:var(--max);
	margin:auto;
	display:flex;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
}
footer strong{color:var(--blue-dark)}

.menu-button{display:none}

@media(max-width:900px){
	.menu-button{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		width:44px;
		height:44px;
		border-radius:12px;
		border:1px solid var(--line);
		background:#fff;
		font-size:1.2rem;
	}
	.menu{
		display:none;
		position:absolute;
		left:16px;
		right:16px;
		top:76px;
		background:#fff;
		border:1px solid var(--line);
		border-radius:20px;
		padding:12px;
		box-shadow:0 20px 50px rgba(24,32,51,.13);
	}
	.menu.open{display:grid}
	.menu a{display:block}
	.hero-inner,.split{grid-template-columns:1fr}
	.features,.doc-cards{grid-template-columns:1fr}
	.software-grid{grid-template-columns:repeat(2,1fr)}
	.panel{position:static}
	.final-cta{grid-template-columns:1fr}
}
@media(max-width:560px){
	.hero-inner{padding:52px 18px}
	h1{font-size:2.45rem}
	section{padding:56px 18px}
	.software-grid{grid-template-columns:1fr}
	.actions .button{width:100%}
	.final-cta{padding:28px}
	.final-cta h2{font-size:1.8rem}
}


.media-page{
	padding:72px 20px;
}

.media-wrap{
	max-width:960px;
}

.media-head{
	text-align:center;
	margin-bottom:42px;
}

.media-head h1{
	margin:0 0 8px;
	font-size:clamp(2.6rem,5vw,4rem);
	line-height:1;
	letter-spacing:-.06em;
	color:var(--blue);
}

.media-head p{
	margin:0;
	color:var(--muted);
	font-size:1.15rem;
}

.press-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 14px 40px rgba(24,32,51,.06);
}

.press-header{
	background:#f1f5fb;
	border-bottom:1px solid var(--line);
	padding:24px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}

.press-footer{
	background:#f1f5fb;
	border-bottom:1px solid var(--line);
	padding:24px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}

.press-title{
	display:flex;
	align-items:flex-start;
	gap:16px;
}

.press-icon{
	width:48px;
	height:48px;
	border-radius:14px;
	background:#dce7f7;
	color:var(--blue);
	display:grid;
	place-items:center;
	font-size:1.4rem;
	font-weight:900;
}

.press-meta{
	color:var(--muted);
	text-transform:uppercase;
	letter-spacing:.08em;
	font-size:.78rem;
	font-weight:800;
	margin-bottom:6px;
}

.press-header h2{
	margin:0;
	color:var(--blue);
	font-size:1.55rem;
	letter-spacing:-.035em;
}

.press-header p{
	margin:4px 0 0;
	color:#3f4756;
	font-style:italic;
	max-width:620px;
}

.press-content{
	padding:38px 42px 44px;
	font-size:1.05rem;
	color:#2f3745;
}

.press-content p{
	margin:0 0 22px;
}

.press-content h3{
	margin:34px 0 14px;
	color:var(--blue);
	font-size:1.6rem;
	letter-spacing:-.04em;
}

.press-note{
	margin-top:28px;
	padding:18px 20px;
	border-left:4px solid var(--yellow);
	background:#fff8dc;
	border-radius:0 14px 14px 0;
}

@media(max-width:760px){
	.press-header{
		flex-direction:column;
		align-items:flex-start;
	}

	.press-content{
		padding:28px 24px 34px;
	}

	.press-header .button{
		width:100%;
	}
}

.press-footer .press-meta {color:var(--blue);}
.press-footer {font-size:0.8rem;}
.menu li.active a {background:var(--yellow);
	color:#161b22;
	box-shadow:0 5px 0 rgba(0,0,0,.08);}


/* Formulaire d'Audit' */

.audit-form-section{
	padding:72px 20px;
}

.audit-card{
	max-width:760px;
	margin:auto;
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:36px;
	box-shadow:0 18px 45px rgba(24,32,51,.10);
}

.audit-progress{
	display:grid;
	grid-template-columns:repeat(5,1fr) auto;
	gap:8px;
	align-items:center;
	margin-bottom:34px;
}

.audit-progress .bar{
	height:8px;
	border-radius:999px;
	background:#eef1f6;
}

.audit-progress .bar.active{
	background:var(--blue);
}

.audit-progress span{
	margin-left:10px;
	color:var(--muted);
	font-size:.85rem;
}

.step{
	display:none;
}

.step.active{
	display:block;
}

.step h3{
	margin:30px 0 6px;
	color:var(--ink);
	font-size:1.15rem;
}

.step h3:first-child{
	margin-top:0;
}

.step h3 span{
	color:#d92d20;
}

.step p{
	margin:0 0 14px;
	color:var(--muted);
}

.audit-card label{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:10px 0;
	color:#1f2937;
}

.audit-card input[type="checkbox"],
.audit-card input[type="radio"]{
	width:16px;
	height:16px;
	margin-top:3px;
	accent-color:var(--blue);
}

.audit-card input,
.audit-card select,
.audit-card textarea{
	width:100%;
	max-width:360px;
	border:1px solid var(--line);
	border-radius:12px;
	padding:13px 16px;
	font:inherit;
	color:var(--ink);
	background:#fff;
}

.audit-card input:focus,
.audit-card select:focus,
.audit-card textarea:focus{
	outline:3px solid var(--blue-soft);
	border-color:var(--blue);
}

.inline-other{
	align-items:center !important;
	flex-wrap:wrap;
}

.inline-other input[type="text"],
.inline-other input:not([type]){
	max-width:280px;
}

.two-cols{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}

.two-cols input,
.step > input,
.step textarea{
	max-width:none;
	margin:10px 0 18px;
}

textarea{
	min-height:110px;
	resize:vertical;
}

.audit-nav{
	display:flex;
	justify-content:space-between;
	gap:14px;
	margin-top:34px;
}

.audit-nav .button{
	border:none;
	cursor:pointer;
}

#submitBtn{
display:none;
}

.privacy{
	margin:24px 0 0;
	text-align:center;
	color:var(--muted);
	font-size:.85rem;
}

@media(max-width:640px){
	.audit-card{
		padding:24px;
	}

	.two-cols{
		grid-template-columns:1fr;
		gap:0;
	}

	.audit-nav{
		flex-direction:column;
	}

	.audit-nav .button{
		width:100%;
	}
}

/* CONTACT */
.contact-section{
	margin:0 auto;
	padding:80px 20px;
}

.contact-header{
	text-align:center;
	margin-bottom:50px;
}

.contact-header h2{
	margin:0;
	color:var(--blue);
	font-size:3rem;
	font-weight:800;
	letter-spacing:-0.04em;
}

.contact-header p{
	margin-top:14px;
	color:var(--muted);
	font-size:1.15rem;
}

.contact-form{
	display:flex;
	flex-direction:column;
	gap:22px;
}

.form-group{
	display:flex;
	flex-direction:column;
}

.form-group label{
	font-weight:700;
	margin-bottom:10px;
	color:var(--ink);
}
.contact-form, .contact-mail-card {max-width:900px; margin:0 auto 0;}
.form-group input,
.form-group textarea{
	width:100%;
	border:1px solid var(--line);
	border-radius:14px;
	padding:16px 18px;
	font-size:1rem;
	background:#fff;
	color:var(--ink);
}

.form-group textarea{
	min-height:180px;
	resize:vertical;
}

.form-group input:focus,
.form-group textarea:focus{
	outline:none;
	border-color:var(--blue);
	box-shadow:0 0 0 4px rgba(15,76,185,.12);
}

.input-icon{
	position:relative;
}

.email-badge{
	position:absolute;
	right:12px;
	top:50%;
	transform:translateY(-50%);
	width:34px;
	height:34px;
	border-radius:12px;
	background:#d57cff;
	color:white;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1rem;
}

.contact-actions{
	text-align:center;
	margin-top:10px;
}

.btn-contact{
	background:#ffd000;
	color:#111;
	border:none;
	border-radius:14px;
	padding:18px 34px;
	font-size:1rem;
	font-weight:800;
	cursor:pointer;
	transition:.2s;
}

.btn-contact:hover{
	transform:translateY(-2px);
}

.contact-mail-card{
	margin-top:40px;

	background:#fff;
	border:1px solid var(--line);
	border-radius:16px;

	padding:18px 24px;

	display:flex;
	align-items:center;
	justify-content:center;
	gap:16px;

	flex-wrap:wrap;
}

.mail-icon{
	color:var(--blue);
	font-size:1.3rem;
}

.mail-text{
	color:var(--muted);
}

.mail-text strong{
	color:var(--blue);
}

.copy-button{
	border:1px solid var(--line);
	background:#fff;
	border-radius:12px;
	padding:10px 16px;
	cursor:pointer;
	font-weight:600;
}

.copy-button:hover{
	background:#f5f7fb;
}

/* MAPS */
.map-section{
	max-width:900px;
	margin:0 auto;
	padding:80px 20px;
}

.france-map-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:14px;
	box-shadow:0 18px 45px rgba(24,32,51,.08);
}

#linux4allMap{
height:440px;
width:100%;
border-radius:14px;
overflow:hidden;
background:#eef3f8;
}

.leaflet-control-attribution{
	font-size:10px;
}

.l4a-pin{
	width:22px;
	height:22px;
	background:var(--blue);
	border:4px solid #fff;
	border-radius:50%;
	box-shadow:0 4px 14px rgba(7,59,145,.35);
}

.l4a-pin::after{
	content:"";
	position:absolute;
	width:8px;
	height:8px;
	background:var(--yellow);
	border-radius:50%;
	top:3px;
	left:3px;
}

.l4a-tooltip{
	background:#fff;
	color:var(--ink);
	border:1px solid var(--line);
	border-radius:12px;
	padding:8px 10px;
	box-shadow:0 10px 25px rgba(24,32,51,.12);
	font-size:.85rem;
	line-height:1.25;
	text-align:center;
}

.l4a-tooltip strong{
	color:var(--blue);
}

.leaflet-tooltip-top::before{
	border-top-color:#fff;
}

/* AVATAR */
.avatar{
	width:180px;
	height:180px;

	object-fit:cover;

	border-radius:50%;

	display:block;
	margin:0 auto 24px;

	box-shadow:0 8px 25px rgba(0,0,0,.15);
}

/* FAQ */
.faq-item{
	background:#fff;

	border:1px solid var(--line);
	/*border-left:5px solid #2ea043;*/

	border-radius:18px;

	overflow:hidden;

	box-shadow:0 8px 25px rgba(24,32,51,.05);
	margin-bottom:15px;
}

.faq-item:nth-child(1) {border-left:5px solid #2ea043;}
.faq-item:nth-child(2) {border-left:5px solid #a02e2e;}
.faq-item:nth-child(3) {border-left:5px solid #d8a818;}
.faq-item:nth-child(4) {border-left:5px solid #185ad8;}
.faq-item:nth-child(5) {border-left:5px solid #932121;}

.faq-title{
	padding:10px 20px;

	font-size:1.35rem;
	font-weight:700;

	color:var(--blue);

	border-bottom:1px solid var(--line);
}

.faq-content{
	padding:10px 20px;

	color:var(--muted);

	line-height:1.7;
	font-size:1.05rem;
}

.notification
{
	margin: 0 auto 0;
	padding: 12px 16px;
	border-left: 4px solid #4CAF50;
	background: #f4fff4;
	color: #2e4d2e;
	border-radius: 4px;
	max-width:900px;
}

.notification.error
{
	border-left-color: #d9534f;
	background: #fff4f4;
	color: #7a2323;
}

.notification.warning
{
	border-left-color: #f0ad4e;
	background: #fff9f0;
	color: #7a551d;
}

.notification.info
{
	border-left-color: #3498db;
	background: #f4faff;
	color: #1f4e79;
}

.logoFont {
    color: #057dc9;
		font-weight: bold;
}


.logoFont .four {
    color: #F96800;
}

