@charset "utf-8";
/* CSS Document */


html{line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.2;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=resetimg.fluid {
	width: 100%;
	height: auto;
}],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

*
{
	box-sizing: border-box;
}

:root{ 

	--mcdb: 25 33 52;
	--mcdb100:rgb(var(--mcdb));

	--mcmb: 34 51 94;
	--mcmb100:rgb(var(--mcmb));

	--mclb: 14 165 233;
	--mclb100:rgb(var(--mclb));
	--mclb0:rgba(var(--mclb) / 0);

}


.clr-mcdb100 {
	color: var(--mcdb100);
}

.clr-mcmb100 {
	color: var(--mcmb100);
}

.clr-mclb100 {
	color: var(--mclb100);
}


html, body {
	height: 100%;
	width: 100%;
}


html { 
	scroll-behavior: smooth; 
}


body { 
	background:var(--mcdb100); 
	color:#fff; 

	font-family: Arial;
	/* 15(320) to 16(1920) */
	font-size: clamp(0.9375rem, 0.925rem + 0.0625vw, 1rem);
	overflow-x: hidden;
}

img.fluid {
	width: 100%;
	height: auto;
}

.ws-nowarp {
	white-space: nowrap;
}

.ta-cntr {
	text-align: center;
}

.ff-georgia {
	font-family: Georgia;
}

/* ------------------------------------------------------------------------------ */
/* -------------------------- MESSAGE FLASH ----------------------- */

.supflash 
{
	display: none;
}

#supflash-0:checked ~ .alert-0
{
	display: none;
}

#supflash-1:checked ~ .alert-1
{
	display: none;
}

#supflash-2:checked ~ .alert-2
{
	display: none;
}

.lblsupflash
{
	display: block;
	cursor: pointer;
}

.sg1
{
	width: 100%;
}

.sg2
{
	font-size: 20px;
	width: 24px;
	border-radius: 50px;
}

.popup {
	display: flex;
	flex-direction: column;
	/*row-gap: 0.75rem;*/

	background-color: var(--main-color-orange);
}

.alert-message {

	text-align:center;
	word-wrap: break-word;

	display: flex;
	justify-content: space-around;
	align-items: center;
	column-gap: 20px;

	min-height: 58px;

	box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.5);

	padding: 1rem;
	margin: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;

}

.alert-message:last-of-type {
	/*margin-bottom: 1rem;*/
}



.alert-success
{
	color: #155724;
	background-color: #d4edda;
	border-color: #c3e6cb;
}

.alert-info
{
	color: #0c5460;
	background-color: #d1ecf1;
	border-color: #bee5eb;
}

.alert-warning
{
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}


.alert-danger
{
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

.alert-link
{
	font-weight: 600;
}

.alert-success .alert-link 
{
	color: #155724;
}

.alert-info .alert-link 
{
	color: #0c5460;
}

.alert-warning .alert-link 
{
	color: #856404;
}

.alert-danger .alert-link 
{
	color: #721c24;
}




/* ------------------------------------------------------------------------------ */
/* -----------------------------MESSAGE JAVASCRIPT PAS ACTIVé --------------------*/

.no_javascript
{
	min-height:35px;
	line-height:35px;
	margin-bottom:10px;
	text-align:center;
	background-color:#FFFCBF;
	word-wrap: break-word;
}



/* -------------------------------------------------------------- */
/* -----------------------------  ------------------------- */


:root {


	/* 18(320) to 20(1920) */
	--main-fs:  clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
	--min-fs:  16px;

	/* 32(320) to 64(1920) */
	/*--main-32_320--64_1920: clamp(2rem, 1.6rem + 2vw, 4rem);*/


	/* noir chrome*/
	--black-light-chrome: rgba(53, 54, 58, 1);
	--black-light-firefox: rgba(43, 42, 51, 1);
	--black-dark-firefox: rgba(28, 27, 34, 1);

	--muted:#8892a6;


}

/* 24(320) to 40(1920) */
h1 {
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem) !important;
}

/* 23(320) to 35(1920) */
h2 {
	font-size: clamp(1.4375rem, 1.2875rem + 0.75vw, 2.1875rem) !important;
}

/* 22(320) to 30(1920) */
h3 {
	font-size: clamp(1.375rem, 1.275rem + 0.5vw, 1.875rem) !important;
}

/* 21(320) to 25(1920) */
h4 {
	font-size: clamp(1.3125rem, 1.2625rem + 0.25vw, 1.5625rem) !important;
}

/* 20(320) to 22(1920) */
h5 {
	/*font-size: clamp(1.25rem, 1.225rem + 0.125vw, 1.375rem);*/
	font-size: 1.25rem !important;
}

.bold {
	font-weight: 600;
}



.cm1 {
	color: var(--main-color-blue);
}

.cm2 {
	color: var(--main-color-gold);
}



.lazy {
	display: none;
}



.fldstnb {
	border: none;
}

.crsr-dflt {
	cursor: default;
}

.discover
{
	display: none;
}

.dsply-nn
{
	display: none;
}

.anchor {
  scroll-margin-top: 120px;
}


/* **************************************** */
/*                                          */
/* **************************************** */


.ts1 {
	text-shadow: 1px 2px 2px rgba(0, 0, 0, .1),
      2px 4px 4px rgba(0, 0, 0, .1),
      4px 8px 8px rgba(0, 0, 0, .1),
      8px 16px 16px rgba(0, 0, 0, .1),
      16px 32px 32px rgba(0, 0, 0, .1);
}



.header { 
	text-align:center; 
	padding:16px;
}

@media (min-width:1280px) {

	.header { 
		padding-bottom: 48px; 
	}

}

.header h1 { 
	
	font-size:48px;
	font-weight: 800;
	/*text-shadow: 1px 1px 8px rgba(0, 0, 0, .8);*/
	text-shadow: 1px 2px 2px rgba(0, 0, 0, .1),
      2px 4px 4px rgba(0, 0, 0, .1),
      4px 8px 8px rgba(0, 0, 0, .1),
      8px 16px 16px rgba(0, 0, 0, .1),
      16px 32px 32px rgba(0, 0, 0, .1);
}

canvas {
	position: absolute;
	top: 0; 
	left: 0; 
	bottom: 0; 
	right: 0; 
	z-index: 1;
	opacity: 1
}

.gradient { 
	background: linear-gradient(150deg, var(--mclb100) 0%, var(--mcdb100) 75%); 
	position: relative; 
	z-index: 2;
	width: 100%;
	height: 100%;
}

.particles-wrapper {
  position: relative;
  height: 140vh; /* hauteur normale */

}

#paarticles-js {
  position: absolute;
  width: 100%;
  height: 100%;

  /* Découpe en triangle */
  clip-path: polygon(
    0 0,        /* haut gauche */
    100% 0,     /* haut droite */
    100% 100%,  /* bas droite */
    0 70%       /* bas gauche remonté */
  );
}


.maini {
	position: relative; 
	z-index: 3; 
	backdrop-filter: blur(2px);
	width: 100%;
	height: 100%;
	padding-top: clamp(1.5rem, 1.2rem + 1.5vw, 3rem); /*24 48*/
}

.wrap { 
	max-width:100%; 
	margin:0 auto; 
	padding:22px 16px 40px;
}

@media (min-width:480px) {

	.wrap { 
		max-width: 88%; 
	}

}

/*.grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:36px; }*/

.grid2 { 
	display:flex; 
	gap:36px; 
	justify-content:center; 
	flex-wrap:wrap; 
}

.card { 
	width: 100%; 
	aspect-ratio: 2; 
	position:relative; 
	display:block; 
	border-radius:16px; 
	overflow:hidden; 
	box-shadow:0 10px 30px rgba(0,0,0,.45); 
	text-decoration:none 
}

@media (min-width:480px) {

	.card { 
		width: 80%; 
	}

}

@media (min-width:720px) {

	.card { 
		width: 46%; 
	}

}

@media (min-width:1280px) {

	.card { 
		width: 30%; 
	}

}







.card img { 
	width:100%; 
	height:100%; 
	max-height:360px; 
	object-fit:cover; 
	display:block; 
	filter:brightness(80%); 
	transition:transform .35s ease 
}

.card:hover img { 
	transform:scale(1.04) 
}
.overlay { 
	position:absolute; 
	inset:0; 
	background:linear-gradient(180deg,transparent 40%, rgba(0,0,0,0.5) 78%); 
	display:flex; 
	align-items:flex-end; 
	padding:18px 
}

.overlay h2 { 
	margin:0; 
	font-size:20px; 
}

.badge { 
	position:absolute; 
	top:12px; 
	left:12px; 
	background:rgba(0,207,232,.9); 
	color:#0b1220; 
	font-weight:700; 
	padding:6px 10px; 
	border-radius:999px; 
	font-size:12px 
}

.card .soon {
	position: absolute;
	top: 0;
	left: 0;
	
	font-size: 34px;
	font-weight: 600;
	/*color: gray;*/
	backdrop-filter: blur(1px);
	background: rgba(0, 0, 0, 0.5);
	z-index: 10;
	width: 100%;
	height: 100%;
	
}
.card .soon span {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(20deg);
	display: flex;
	justify-content: center;
	align-items: center;
}	






footer { 
	text-align:center; 
	color:#94a3b8; 
	font-size:12px;
	padding:24px 12px; 
	border-top:1px solid rgba(255,255,255,.08) 
}

@media (max-width:820px) { 
	.grid { 
		grid-template-columns:1fr; 
		gap:22px 
	} 

	header h1{ 
		font-size:22px 
	} 
}

.toph { 
	background:var(--mcdb100);
	/*padding:8px 16px; */
	height: 42px; 
	position: sticky; 
	top: 0; 
	left: 0; 
	right: 0; 
	z-index: 10;
	/*filter: drop-shadow(0px 0px 12px rgba(0, 0, 0, 0.5));*/
	filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 1));

	
}

.toph::after {
	content: ""; /* 600 400 */
	position: absolute;
	top: 42px;
	left: 0;
	width: 600px; /* fixe la taille */
	width: clamp(16.25rem, 12rem + 21.25vw, 37.5rem);
	height: 400px;
	height: clamp(8.125rem, 2.25rem + 29.375vw, 37.5rem);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400'%3E%3Cpath d='M 0 170 C 400 300 40 0 600 0 L 600 0 L 0 0' fill='%23192134'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain; /* ou "auto" selon ton besoin */
	z-index: 10;
	pointer-events: none;
}

.logo { 
	position: absolute; 
	z-index: 12; 
	width: clamp(4rem, 2.3rem + 8.5vw, 12.5rem); 
	height: clamp(4rem, 2.3rem + 8.5vw, 12.5rem);

	top: 10px; 
	left: 4px;
}

@media (min-width:480px) { 

	.logo { 
		top: 12px; 
		left: 12px;
	}
}

.logo img {
	filter: drop-shadow(0px 0px 12px rgba(255, 255, 255, 0.5));
}

.mnav {
	display: flex;
	justify-content: flex-end;
	gap: 16px;
}



.container {
	text-align:center;
	margin: 0 auto;
}



/* **************************************** */
/*                 Main menu                */
/* **************************************** */

.main-menu {
	position: sticky;
	top: 0;
	z-index: 10;
	height: 100%;

	display: flex;
	justify-content: flex-end;
	align-items: center;
}




.menu {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 20px;
}

.menu.min {
	height: 60px;
}


@media (min-width: 1280px) {

	.menu {
		text-align: center;
	}

	.menu > li  {
		height: 100%;
	}

}


.menu a.onglet  {
	height: 48px;
	width: 100%;
	line-height: 48px;
	padding-right: 10px;
	text-decoration: none;
	color: white;
	display: inline-block;
}

@media (min-width: 1280px) {

	.menu a.onglet  {

		height: 42px;
		line-height: 42px;

	}

}



/**************************************************/
/**************************************************/

/* Menu bar and fonts */
.jmenu {
  background-color: var(--mcdb100);
}

/* Menu Button */
input.jm-menu-btn {
  /*display: none; /* Hide the checkbox */
  opacity: 0;
  position: absolute;
  left: 0;
}

input[type='checkbox'].jm-menu-btn ~ .jm-collapse {
  display: none; /* Hide menu on load */
}

@media (max-width: 1279px) {

  input[type='checkbox']:checked.jm-menu-btn ~ .jm-collapse {
    display: block; /* Open when menu button is clicked */
    position: absolute;
    top: 42px;
    left: 0;
    right: 0;
    background-color: var(--mcdb100);
    text-align: right;
    /*margin-top: clamp(0.3125rem, -0.15rem + 2.291667vw, 1.6875rem);*/
  }

  .jm-collapse {
    box-shadow: 0px 12px 25px -8px rgba(0, 0, 0, 0.36);
  }
  

}

label.jm-menu-btn {
  color: black;
  cursor: pointer;
  display: block;
}


/* Menu Items */
.jmenu ul {
	border-top: 2px solid var(--mclb100);
}

.jmenu ul,
.jmenu li {
  list-style: none;
  margin: 0;
  padding: 0;

  background-color: var(--mcdb100);
  border-bottom: 2px solid var(--mclb100);
}

@media (min-width: 1280px) {

	.jmenu ul {
		border-top: 0px solid var(--mcdb100);
		padding-right: 16px;
	}

	.jmenu ul,
	.jmenu li {
	  border-bottom: 0px solid var(--mcdb100);
	}

}





/* Links */



@media (min-width: 1280px) {


  .jmenu .onglet:hover {
    color: rgb(255 255 255 / 0.8);
  }

  /*.jmenu .menu-onglet-actif {
	  background-color: rgba(255, 255, 255, 0.2);
	}

	.jmenu .tre:hover .menu-onglet-actif {
	  background-color: rgba(255, 255, 255, 0);
	}*/

  /*.jmenu .menu-onglet-actif .co {
	  background-color: rgba(255, 255, 255, 0.2);
	}*/

}


/* Submenu Items */
.jmenu ul ul {
  display: none; /* Hidden by default */
}




@media (max-width: 1279px) {

	.jm-icon-menu::before {
	  content: '\2630';
	  font-size: 28px;
	  color: white;
	  padding-right: 10px;
	  height: 100%;
	  /*line-height: 60px;*/
	}

	input[type='checkbox']:checked.jm-menu-btn ~ .jm-icon-menu::before {
	  content: '\2715';
	}

}

@media (min-width: 1280px) {

  .jmenu {
    align-self: flex-end;
  }
  
  /* Menu items */
  .jmenu li {
    display: inline-block;
  }
  


  

  /* Menu Button */
  input.jm-menu-btn,
  label.jm-menu-btn {
    display: none; /* Hide menu button */
  }
  
  input[type='checkbox'].jm-menu-btn ~ .jm-collapse,
  .jm-collapse {
    display: flex; /* Show menu */
    column-gap: 30px;
    column-gap: clamp(20px, 1.5625vw, 30px);
  }

  

 	
}

/**************************************************/

/* Dropdowns */
.jm-dropdown .tre {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	/*align-items: center;
	column-gap: 8px;*/
	height: 100%;
}

/* Sub menu button */
input.jm-sub-menu-btn {
	opacity: 0;
	position: absolute;
	left: 0;
}

input[type='checkbox']:checked.jm-sub-menu-btn ~ ul {
	display: block;
}

/* Chevron */
.chvrn.hover {
	transform: scaleY(-1);
}

/* Dropdown icon */
.jm-icon-dropdown {
	width: 48px;
	text-align: center;
	/*align-self: stretch;*/
	align-items: center;
	justify-content: center;
	display: flex;
	padding-right: 8px;
}

/* Focus states */
input[type='checkbox'].jm-sub-menu-btn:focus ~ .tre .jm-icon-dropdown {
	color: lightgray;
}

input[type='checkbox'].jm-sub-menu-btn:checked:focus ~ .tre .jm-icon-dropdown {
	color: lightgray;
}

.menu a.onglet.inside {
	height: 48px;
	/*line-height: 56px;*/
	background-color: var(--mcmb100);
}

.menu a.onglet.inside:hover {
	height: 48px;
	/*line-height: 56px;*/
	background-color: var(--mcmb100);
}


/* ============================= */
/* ====== MOBILE ≤1023px ======= */
/* ============================= */

@media (max-width: 1279px) {

	.jmenu .onglet.inside {

		background-color: var(--mcmb100);
		min-height: 48px;
	}

	/*

	input[type='checkbox']:checked.jm-sub-menu-btn ~ .tre {
		color: white;
		background-color: var(--main-color-red);
	}

	input[type='checkbox']:checked.jm-sub-menu-btn ~ ul {
		display: block;
		color: white;
		background: rgba(255, 0, 0, .9);
	}

	input[type='checkbox']:checked.jm-sub-menu-btn ~ .tre > .menu-onglet-actif {
		color: white;
	}

	input[type='checkbox']:checked.jm-sub-menu-btn ~ .tre:hover .onglet {
		color: white;
	}

	input[type='checkbox']:checked.jm-sub-menu-btn ~ .tre .jm-icon-dropdown .chvrn {
		transform: scaleY(-1);
	}

	.jm-dropdown .tre .jm-icon-dropdown.onglet,
	.jm-dropdown .tre .jm-icon-dropdown.onglet:hover {
		border-top: none;
		box-shadow: none;
		border-bottom: none;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 13px;
		color: white;
	}

	.tre {
		display: flex;
		justify-content: space-between;
	}

	/*.tre .onglet.jm-icon-dropdown {
		width: 60px;
	}*/


}


/* ============================= */
/* ===== DESKTOP ≥1024px ======= */
/* ============================= */

@media (min-width: 1280px) {


	.jm-icon-dropdown {
		width: 18px;
	}

	.jm-dropdown .tre:hover {
		/*background-color: rgba(255, 255, 255, 0.1);*/
	}

	.jm-dropdown .tre .onglet:hover {
		/*background-color: rgba(255, 255, 255, 0);*/
	}

	input[type='checkbox']:focus.jm-sub-menu-btn ~ .tre .onglet:not(.jm-icon-dropdown) {
	}

	li:hover .jm-icon-dropdown .chvrn {
		transform: scaleY(-1);
	}

	.jmenu .inside {
		margin-left: 0;
		width: 100%;
		border-bottom: none;
		margin-right: 0;
		/*padding: 24px 0;*/

	}

	.jmenu .inside:hover {
		/*color: var(--main-color-red);
		border-bottom: none;*/
		/*background-color: rgba(255, 255, 255, 0.1);*/
	}


	input[type='checkbox']:checked.jm-sub-menu-btn ~ ul li .inside:focus {
		color: var(--main-color-red);
	}

	/* Dropdown container */
	.jm-dropdown {
		position: relative;
	}

	.jm-dropdown li {
		width: 100%;
	}

	.jm-dropdown li a {
		display: block;
		padding: 4px 16px;
		white-space: nowrap;
		width: 100%;
	}

	.jm-dropdown ul {
		margin-left: 0px;
		padding: 8px 0;
		position: absolute;
		min-width: 100%;
		background: #fff;
		padding: 0;
		text-align: left;
	}

	.jm-dropdown:hover ul {
		display: block;
	}

	.jm-dropdown .tre .jm-icon-dropdown.onglet,
	.jm-dropdown .tre .jm-icon-dropdown.onglet:hover {
		border-top: none;
		box-shadow: none;
		border-bottom: none;
		height: 100%;
		display: flex;
		/*justify-content: center;*/
		align-items: center;
		font-size: 13px;
		color: white;
	}

	.tre {
		justify-content: center;
		/*border-right: 2px solid rgba(255, 255, 255, 0.2);
		border-left: 2px solid rgba(255, 255, 255, 0.2);*/
	}

	.tre .co {
		/*border-right: none;
		border-left: none;*/
		/*width: 98px;*/
	}
}






/* **************************************** */
/*           solution / secu alrm           */
/* **************************************** */


.diame {
	position: absolute;
	bottom: 16px;
	right: 16px;
	z-index: 9;

	font-size: 0.875rem;
	line-height: 1.25rem;
}

.diame a.mod{

	text-decoration:none;

    padding:.8rem 1rem;

    transition:.2s;

		background:rgba(255,255,255,1);
    color: rgb(17 24 39 / 1);
    border-radius: 0.75rem;
}

.diame a.mod:hover{
    background:rgba(255,255,255,.9);
}

@media (min-width: 981px) {

	.diame a.mod {
		display: none;
	}

}





.mnu{
    position:sticky;
    top:42px;
    z-index:8;

    backdrop-filter:blur(20px);
    margin-bottom: -60px;
}

.anchor-wrapper{

    position:relative;

    display:flex;
    align-items:center;
}

.anchor-menu{

    display:flex;
    gap:.75rem;

    overflow-x:auto;
    overflow-y:hidden;

    white-space:nowrap;

    flex:1;

    /*padding:.8rem 2.5rem;*/
    margin:.8rem 3rem;

    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;

    position: relative;

 }


.anchor-menu::-webkit-scrollbar{
    display:none;
}

.anchor-menu a{

    flex:0 0 auto;

    color:white;
    text-decoration:none;

    padding:.45rem .9rem;

    border-radius:999px;

    transition:.2s;
}

.anchor-menu a.mod{

		background:rgba(255,255,255,1);
    color: rgb(17 24 39 / 1);
    border-radius: 0.75rem;
}

.anchor-menu a.mod:hover{
    background:rgba(255,255,255,.9);
}


.anchor-menu a:hover{
    background:rgba(255,255,255,.12);
}

@media (max-width: 980px) {

	.anchor-menu a.mod{

		display: none;
	}

}

/* Boutons */

.scroll-btn{

    position:absolute;

    top:50%;
    transform:translateY(-50%);

    width:32px;
    height:32px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.08);

    color:white;

    cursor:pointer;

    display:none;

    z-index:10;

    transition:.2s;
}

.scroll-btn:hover{

    background:rgba(255,255,255,.18);

}

.scroll-left{

    left:6px;

}

.scroll-right{

    right:6px;

}

.scroll-left:after,
.scroll-right:before {

    content: '';
    position: absolute;
    z-index:10;
    backdrop-filter:blur(2px);
    height: 100%;
    width: 24px;
    top:50%;
    transform:translateY(-50%);
}

.scroll-left:after {

    left: 32px;
}


.scroll-right:before {

    right: 32px;

}



/* Desktop */

@media (min-width:768px){

    .anchor-menu{

        justify-content:flex-end;

        overflow:visible;

        white-space:normal;

        /*padding:.8rem 0;*/
    }

    .scroll-btn{
        display:none !important;
    }

}






































	.hdr2 { 
		padding:28px 16px 8px;
	}



	.header2 h1 { 
		/*margin:14px 0 0; */
		font-size:48px;
		text-shadow: 1px 2px 2px rgba(0, 0, 0, .1),
      2px 4px 4px rgba(0, 0, 0, .1),
      4px 8px 8px rgba(0, 0, 0, .1),
      8px 16px 16px rgba(0, 0, 0, .1),
      16px 32px 32px rgba(0, 0, 0, .1);
	}

	.glass2 { 
    	background: rgba(255,255,255,0.05); 
    	backdrop-filter: blur(10px); 
    }

    .glass { 
    	background: rgba(255,255,255,0.05); 
    	backdrop-filter: blur(10px); 
    }

    .glass:hover { 
    	background: rgba(255,255,255,0.1); 
    	backdrop-filter: blur(10px); 
    }

    a.glass {
    	color: white;
    }

    .muted {
    	color:var(--muted)
    }

    .undr {
    	border-bottom: 3px solid;
    	border-image: linear-gradient(90deg, var(--mclb100) 0%, var(--mcdb100) 75%) 1;
    }


    .lead{color:var(--muted);margin:4px 0 16px}


    section a{color: rgba(0, 0, 0, .8);text-decoration:none}

    .btn{
    	display:inline-flex;
    	align-items:center;
    	gap:10px;
    	border:1px solid var(--ring);
    	padding:12px 16px;
    	border-radius:999px;
    	background:rgba(255,255,255,1);
    }

    .btn.primary{
    	background-image:var(--gradient);border-color:transparent;color:#031018;
    	font-weight:600
    }

    .btn:hover{
    	transform:translateY(-1px)
    } 

    .btn:active{
    	transform:none
    }
    

    
    .diapo {
    	width: 100vw;
    	/* 220 400*/
    	height: clamp(13.75rem, 11.5rem + 11.25vw, 25rem);
    	border-bottom: 8px solid var(--mcdb100);

    	position: relative;
    }

    .ct {
    	text-align: center;
    }

    .o45 {
    	max-height: 300px ;
    }

    .ga02 {
    	width: 100%;
    	aspect-ratio: 1/1;
    	
    }

    .ga02 img {
    	object-fit: cover;
    	width: 100%;
    	height: 100%;
    }

    .ghy img {
    	max-width: 100%;
    	max-height: 33vh;
    }

    .mw-90 {
    	max-width: 90%;
    }


	.oii {
		display: flex;
    flex-direction: column;
    height: 100%;
	}

	.jfuyh {
		flex: 1;
    min-height: 0;
	}




/*prenom
nom
societe
ville
tel
email
besoins
delai
sites
message
*/

/* **************************************** */
/*              zone chalandise             */
/* **************************************** */

:root {--bg:#101b34;--bg-deep:#081021;--panel:rgba(255,255,255,0.06);--panel-border:rgba(255,255,255,0.1);--text:#ffffff;--text-soft:rgba(255,255,255,0.78);--text-muted:rgba(255,255,255,0.68);--accent:#9bc7ff;--accent-strong:#71aef7;--accent-dark:#0f1b34;--secondary:#d3d9e5;--shadow:0 24px 60px rgba(0,0,0,0.28);--radius-xl:28px;--radius-lg:22px;--radius-md:18px;--radius-sm:12px;--max-width:1280px;}
 * {box-sizing:border-box;}
 
 a {color:inherit;text-decoration:none;}
 .service-area {padding:64px 16px;}
 .service-area::before {content:"";removed-by-webmail:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0.02),transparent 35%,transparent 65%,rgba(255,255,255,0.015));pointer-events:none;}
 .service-area__container {removed-by-webmail:relative;max-width:var(--max-width);margin:0 auto;}
 .service-area__header {max-width:820px;}
 
 .service-area__intro {margin:24px 0 0;max-width:980px;color:var(--text-soft);font-size:1.05rem;line-height:1.85;}

 .service-area__grid {
 		padding-top: 32px;
 		display: grid;
 		grid-template-columns: 1fr;
		/*grid-template-rows: repeat(2, 1fr);*/
 		grid-column-gap: 16px;
		grid-row-gap: 32px;
 }
@media (min-width:768px){
	.service-area__grid {
 		padding-top: 32px;
 		display: grid;
 		grid-template-columns: 2fr 1fr;
 		/*grid-template-rows: 1fr;*/
 		grid-column-gap: 16px;
		grid-row-gap: 16px;
 }

}

 .card {border-radius:var(--radius-xl);border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(12px);}
 .card--map {padding:20px;}
 .card--info {padding:28px;display:flex;flex-direction:column;justify-content:space-between;}
 .map-frame {
 		min-height:320px;}
 .map-frame svg {width:100%;/*height:100%;*/	max-width:600px;display:block;
 		padding-top: clamp(1rem, 0.6rem + 2vw, 3rem); /*16 48*/
 		padding-bottom: 16px;
 }
 .map-note {right:14px;bottom:14px;max-width:calc(100% - 28px);}
 .map-note__title {margin:0;font-size:0.95rem;font-weight:700;}
 .map-note__text {margin:4px 0 0;color:var(--text-muted);font-size:0.92rem;}
 .legend {
	 	display:flex;
	 	flex-wrap:wrap;
	 	row-gap:16px;
	 	column-gap:24px;
	 	margin-top:20px;
	 	color:var(--text-soft);
	 	font-size:0.95rem;
 }
 .legend__item {display:inline-flex;align-items:center;gap:10px;}
 .legend__dot {width:14px;height:14px;border-radius:50%;flex:0 0 14px;}
 .legend__dot--primary {background:linear-gradient(180deg,var(--accent),var(--accent-strong));box-shadow:0 0 12px rgba(108,166,243,0.35);}
 .legend__dot--secondary {background:var(--secondary);}
 .tags {display:flex;flex-wrap:wrap;gap:10px;margin-top: 36px;}
 .tag {padding:8px 14px;border-radius:999px;border:1px solid rgba(156,195,255,0.2);background:rgba(156,195,255,0.1);color:#dce8ff;font-size:0.9rem;}
 .info-title {margin:0;font-size:1.6rem;letter-spacing:-0.02em;}

 .departments {

 	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: clamp(0.75rem, 0.7rem + 0.25vw, 1rem); /*12 16*/
	grid-row-gap: clamp(0.75rem, 0.7rem + 0.25vw, 1rem); /*12 16*/
 }

 @media (min-width:768px){
	 	.departments {
			grid-template-columns: 1fr;
		}
 }

 @media (min-width:1280px){
	 	.departments {
			grid-template-columns: 1fr 1fr;
		}
 }

 .departments li {
	 	display:flex;
	 	align-items:center;
	 	gap:clamp(0.5rem, 0.425rem + 0.375vw, 0.875rem); /*8 14*/
 		transition: all 0.2s ease;
	  cursor: pointer;
	  padding: clamp(0.5rem, 0.4rem + 0.5vw, 1rem);/*8 16*/
 }
 .department-code {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-width:clamp(2.25rem, 2.1rem + 0.75vw, 3rem); /*36 48*/
		height:clamp(2.25rem, 2.1rem + 0.75vw, 3rem); /*36 48*/
		border-radius:14px;
		border:1px solid rgba(156,195,255,0.2);
		background:linear-gradient(180deg,rgba(155,199,255,0.22),rgba(108,166,243,0.15));color:var(--text);
		font-weight:700;
 }

 .department-name {color:rgba(255,255,255,0.9);}
 
 
 

 .card--map,.card--info {padding:18px;}

 .dep-list {
 	display: flex;
 	align-items: center;
 	justify-content: center;
 }



.pt-label {
  pointer-events: none;
}



.dep-path {
  transition: all 0.18s ease;
}


.departments li.highlight {
  filter: brightness(1.35) contrast(1.15);
  background: rgba(255,255,255,0.1);
	backdrop-filter: blur(10px);
}
.dep-path.highlight {
  fill: #0ea5e9;
}


/* **************************************** */
/*              pdf link et plus            */
/* **************************************** */

a.lnk[target="_blank"] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
}

a.lnk[target="_blank"] .link-text {
  text-decoration: underline;
}

a.lnk[target="_blank"] .link-info {
  font-size: 0.8em;
}

a.lnk[target="_blank"]::after {
   content: '\29C9';
}

a.pdf[target="_blank"]::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url("../images/icons/PDF_file_icon.svg") no-repeat center;
  background-size: contain;
  flex-shrink: 0;
}

a.andsk[target="_blank"]::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url("../images/icons/anydesk_32x32.png") no-repeat center;
  background-size: contain;
  flex-shrink: 0;
}














/*a.ono[target="_blank"]::after {
  
  content: '\29C9';
  padding-left: 4px;
}*/



/* **************************************** */
/*              Modale contact              */
/* **************************************** */

body.modal-open {
  overflow: hidden;
  padding-right: 15px;
}

.modal-bkgrd {
	width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, .2);

    position: fixed;
    inset: 0;
    overflow-y: auto;

    z-index: 50;

  opacity: 0;
	visibility: hidden;

	display: flex;
    justify-content: center;
    align-items: flex-start;

    gap: 32px;

    backdrop-filter: blur(6px);

    overscroll-behavior : contain;

    padding:8px;

}

@media (min-width:768px){
	.modal-bkgrd {
		padding: 36px;
	}
}

/*.modal-bkgrd.mdl-newsletter {

    align-items: center;
}*/



.modal-bkgrd.is-open {
	opacity: 1;
	visibility: visible;
}

.modal-bkgrd .modal-content {
	width: 720px;

	height: auto;


	border-radius: 8px;

	background: var(--mclb100);
	background: linear-gradient(135deg, var(--mclb100) 0%, var(--mcdb100) 75%);

    z-index: 52;
    display: flex;

    color: white;

    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 10px;

    position: relative;

    padding: 64px 64px;

  	transform: scale(0.95);
	opacity: 0;
	/*transition: transform 200ms ease, opacity 200ms ease;*/
	transition: transform 250ms cubic-bezier(.2,.8,.2,1), opacity 200ms ease;

}

/* Animation du contenu quand ouvert */
.modal-bkgrd.is-open .modal-content {
	transform: scale(1);
	opacity: 1;
}


/*.field {
	width: 100%;
	height: 3rem;
	color: black;
}

.field-2 {
	width: 100%;
	height: 16rem;
	color: black;
}*/


/*.form_contact .btn-submit {
	width: 100%;
	text-align: center;
	display: block;
}

.form_contact .btn-submit input {
	padding: 20px 40px;
	background-color: transparent;
	color: white;
	border: 3px solid white;
	font-weight: 600;
}


.form_contact .btn-submit input:hover {
	background-color: white;
	color: black;
	border: 3px solid white;
}*/



/*transition: transform 200ms ease, opacity 200ms ease;
transition: transform 250ms cubic-bezier(.2,.8,.2,1), opacity 200ms ease;*/



select option  {
	background: var(--mcdb100);
}



.quote-card.qc-newsletter {
	width:min(580px,100%);
}

.quote-card.qc-audit {
	width:min(820px,100%);
}

.quote-card.qc-contact {
	width:min(740px,100%);
}

.quote-card.qc-helpdesk {
	width:min(680px,100%);
}


.ccdr {
	display: flex;
	gap: 32px;
	flex-direction: column;
}

.ccdr .one {
	width: 100%;
}


.ccdr .two {
	width: 100%;
	display: flex;
  justify-content: center;
  align-items: center;
}

.ccdr .two img {
	/*max-width: 50%;*/
	max-height: 33vh;
	aspect-ratio: 220/295;
	filter: drop-shadow(2px 2px 4px rgb(255, 255, 255, 0.4));
}



@media (min-width:720px){

	.ccdr {
		flex-direction: row;
	}

	.ccdr .one {
		width: 62%;
	}

	.ccdr .two {
		width: 36%;
	}


}





.fr78 img {
	width: 200px;
}

.fr79 img {
	width: 180px;
}

.fr80 img {
	width: 220px;
}


.right-column {
  min-height: 0;
}

.right-column article {
  min-height: 0;
}

.right-column img {
  min-height: 0;
  height: 100%;
}



.quote-card {
  background: linear-gradient(135deg, var(--mclb100) 0%, var(--mcdb100) 75%);
  border-radius:8px;
  padding:16px 16px 16px 16px;
  /*margin: 36px;*/
  margin:auto;
  color:#fff;
  overflow: hidden;
  /*overflow-y: auto;*/
  scrollbar-width: thin;
  position: relative;
}

@media (min-width:768px){
	.quote-card {
		padding: 36px;
	}
}



.quote-card h2 {
	margin:0 0 24px;
	width: calc(100% - 48px);
}

.quote-card h2.mop {
	width: 100%;
}

.quote-subtitle{margin:0 0 18px;color:rgba(255,255,255,.75)}


.closeModal {
	position: absolute;
	top: 16px;
	right: 16px;
	font-size: 36px;
	width: 32px;
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
}


.quote-form {
	display: flex;
	flex-direction: column;
	gap: 12px;

}

.quote-form .gridc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quote-form .field{display:flex;flex-direction:column;gap:6px;}
.quote-form label{font-weight:600;font-size:14px}
.quote-form input,
.quote-form select,
.quote-form textarea{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:12px 12px;
  outline:none;
}
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
	border-color:rgba(70,180,255,.65);box-shadow:0 0 0 3px rgba(70,180,255,.18)}

.quote-form .choices{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
	margin-top:6px
}

.quote-form .choices label{font-weight:500}
.quote-form .hint{color:rgba(255,255,255,.6)}
.quote-form .consent{margin-top:10px}
.quote-form .privacy{margin:8px 0 0;color:rgba(255,255,255,.65);font-size:13px}
.quote-form .btn1{
  width:100%;
  margin-top:16px;
  padding:14px 14px;
  border:none;
  border-radius:999px;
  background:#fff;
  color:#0b1733;
  font-weight:800;
  cursor:pointer;
  /*text-align: center;*/
}
.quote-form .btn1:hover{filter:brightness(.96)}
.quote-form .meta{margin:10px 0 0;text-align:center;color:rgba(255,255,255,.7);font-size:13px}
.quote-form .hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
@media (max-width:720px){
  .quote-form .gridc{grid-template-columns:1fr}
  .quote-form .choices{grid-template-columns:1fr}
}





.badge-modal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.9);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 18px;

  width: calc(100% - 48px);
}

.proof {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  color: rgba(255,255,255,0.93);
  font-size: 15px;
}

.proof li::before {
  content: "✓";
  font-weight: 800;
  margin-right: 10px;
  color: #9ce7ff;
}


.h14 {
	height: 12rem;
}

.boder {
	padding-left: 14px;
	border-left: 4px solid var(--mclb100);
}

.bdg1 {
	position: absolute;
	top: 14px;
	right: 14px;
	font-size: 0.72rem;
	font-weight: 700;
	color: black;
	background: rgb(125 211 252);
	padding: 3px 8px;
	border-radius: 999px;
}

.tri {
	position: relative;
}



.gradint3 {
  position: relative;
  color: transparent;
  -webkit-text-stroke: 4px rgba(0, 0, 0, 0.9);
}

.gradint3::after {
  content: attr(data-text);
  white-space: pre-line;
  position: absolute;
  inset: 0;

  /*filter: drop-shadow(0 0 6px rgba(255,255,255,0.8))
        drop-shadow(0 0 12px rgba(14,165,233,0.6));*/

  background: linear-gradient(45deg, #fff, rgb(186 230 253), #fff, rgb(186 230 253),#fff);

  background-size: 200% 100%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;

 -webkit-text-stroke: 1px rgba(255,255,255,0.5);
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.8));


  animation: shimmer 6s linear infinite;
}

@keyframes shimmer {
  from { background-position: -200% 0; }
  to   { background-position: 200% 0; }
}


/* *********************************************** */
/* *********************************************** */
/* *********************************************** */
/* *********************************************** */

:root{
  --text:#f4fbff;
  --halo-1: rgba(183, 237, 255, 0.28);
  --halo-2: rgba(107, 214, 255, 0.18);
  --halo-3: rgba(107, 214, 255, 0.00);
}




.slogan-zone{
  position:relative;
  width:min(680px, 100%);
  margin: 0 auto;
  text-align:center;
  isolation:isolate;
}

.slogan-zone::before{
  content:"";
  position:absolute;
  inset:-18%;
  background: radial-gradient(circle,
    var(--halo-1) 0%,
    var(--halo-2) 36%,
    var(--halo-3) 72%);
  filter: blur(2px);
  animation: haloBreathe 4.6s ease-in-out infinite;
  z-index:0;
  pointer-events:none;
}

.slogan-zone::after{
  content:"";
  position:absolute;
  top:-24%;
  left:-28%;
  width:20%;
  height:155%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 30%,
    rgba(255,255,255,.24) 50%,
    rgba(255,255,255,.05) 70%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(10deg);
  animation: sheenMove 6.5s linear infinite;
  mix-blend-mode: screen;
  opacity:.75;
  z-index:1;
  pointer-events:none;
}

.slogan{
  position:relative;
  z-index:2;
  margin:0;
  color:var(--text);
  /*font-size: clamp(2rem, 2.6vw, 3.3rem);*/
  font-size: 36px;
  font-weight:600;
  line-height:1.24;
  letter-spacing:.01em;
  text-wrap:balance;
  animation: sloganBreathe 4.6s ease-in-out infinite;
  text-shadow:
    0 0 3px rgba(255,255,255,.38),
    0 0 8px rgba(173,232,255,.16),
    0 0 18px rgba(120,220,255,.08);
}

.slogan strong{
  font-weight:700;
}

.accent{
  display:inline-block;
  animation: accentGlow 4.6s ease-in-out infinite;
}



@keyframes sloganBreathe{
  0%, 100%{
    transform: scale(1);
    text-shadow:
      0 0 3px rgba(255,255,255,.32),
      0 0 8px rgba(173,232,255,.14),
      0 0 14px rgba(120,220,255,.06);
  }
  50%{
    transform: scale(1.038);
    text-shadow:
      0 0 4px rgba(255,255,255,.52),
      0 0 12px rgba(200,241,255,.26),
      0 0 24px rgba(120,220,255,.14);
  }
}

@keyframes haloBreathe{
  0%, 100%{
    transform: scale(.96);
    opacity:.52;
  }
  50%{
    transform: scale(1.08);
    opacity:1;
  }
}

@keyframes accentGlow{
  0%, 100%{
    filter: brightness(1);
  }
  50%{
    filter: brightness(1.08);
  }
}

@keyframes sheenMove{
  0%{
    left:-20%;
    opacity:0;
  }
  12%{
    opacity:.75;
  }
  36%{
    opacity:.75;
  }
  50%{
    opacity:0;
  }
  100%{
    left:124%;
    opacity:0;
  }
}

@media (max-width: 900px){

  .slogan-zone{
    padding:22px 16px;
  }

  .slogan{
    font-size: clamp(1.45rem, 6vw, 2.2rem);
    line-height:1.3;
  }
}

@media (prefers-reduced-motion: reduce){
  .slogan-zone::before,
  .slogan-zone::after,
  .slogan,
  .accent{
    animation:none !important;
  }
}


/* *********************************************** */
/* *********************************************** */
/* ************      témoignage       ************ */
/* *********************************************** */
/* *********************************************** */

:root{
  --card: rgba(255,255,255,.08);
  --card2: rgba(255,255,255,.11);
  --border: rgba(255,255,255,.14);
  --text:#ffffff;
  --muted: rgba(255,255,255,.78);
  --muted2: rgba(255,255,255,.62);
  --accent:#19b5d1;
  --radius:18px;
  --shadow: 0 14px 38px rgba(0,0,0,.38);
  --maxw: 1180px;
}


.wrapt{
  width:min(var(--maxw), calc(100% - 40px));
  margin:0 auto;
  padding: 64px 0 70px;
  position:relative;
}

.badge{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
  border-radius:999px;
  color: var(--muted);
  backdrop-filter: blur(8px);
  font-size:14px;
}


.refs{ display:grid; gap: 18px; }

.ref{
  border:1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border-radius: calc(var(--radius) + 8px);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
.ref::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:.85;
  background:
    radial-gradient(620px 180px at 18% 0%, rgba(25,181,209,.18), transparent 55%),
    radial-gradient(620px 180px at 85% 0%, rgba(0,136,255,.14), transparent 60%);
}

.ref-inner{
  position:relative;
  padding: 18px;
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  align-items:start;
}

.ref-head{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(0,0,0,.16);
  padding: 14px;
}

.logo-box{
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.2);
  border:1px dashed rgba(255,255,255,.18);
  border-radius: 16px;
  padding: 16px;
  min-height: 110px;
}
.logo-box img{
  max-width: 100%;
  max-height: 86px;
  object-fit: contain;
  display:block;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.35));
}

.ref-title{
  margin: 12px 0 4px;
  font-weight: 800;
  letter-spacing: -.01em;
  font-size: 18px;
}
.ref-sub{
  margin:0;
  color: var(--muted2);
  font-size: 13px;
  line-height:1.35;
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top: 12px;
}
.chip{
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(25,181,209,.42);
  background: rgba(25,181,209,.10);
  color: rgba(255,255,255,.92);
  /*white-space:nowrap;*/
}

.ref-body{ display:grid; gap: 12px; }

.block{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(0,0,0,.14);
  padding: 14px;
}

.block ul{
  margin:0;
  padding-left: 18px;
  color: var(--muted);
  line-height:1.55;
  font-size: 14px;
}

.block li:before {
  content: "\2023";
  padding-right: 8px;
  font-size: 17px;
}

.quote{
  border:1px dashed rgba(255,255,255,.22);
  background: rgba(255,255,255,.05);
  border-radius: var(--radius);
  padding: 14px;
}
.quote p{
  margin:0;
  color: rgba(255,255,255,.90);
  line-height:1.55;
  font-style: italic;
  font-size: 14px;
}
.quote .who{
  margin-top: 10px;
  color: var(--muted2);
  font-size: 13px;
}

.galleryt{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-top: 6px;
}
.thumb{
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  cursor:pointer;
  /*aspect-ratio: 16/10;*/
  position:relative;
}

@supports (aspect-ratio: 1 / 1) {
  .thumb {
    aspect-ratio: 16 / 10;
  }
}

@supports not (aspect-ratio: 1 / 1) {
  .thumb {
    padding-top: 62.5%;
  }

  .thumb > * {
    position: absolute;
    inset: 0;
  }
}










.thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transition: transform .22s ease;
}
.thumb:hover img{ transform: scale(1.03); }
.thumb::after{
  content:"\2315 ";
  accent-color: black;
  position:absolute;
  right:10px;
  bottom:10px;
  font-size: 16px;
  opacity:.85;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  padding: 2px 6px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
}

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.72);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 24px;
  z-index: 9999;
}
.lightbox.is-open{ display:flex; }
.lightbox figure{
  margin:0;
  max-width: min(1100px, 100%);
  width: 100%;
  border-radius: 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
}
.lightbox img{
  width:100%;
  height: auto;
  display:block;
  max-height: 78vh;
  object-fit: contain;
  background: rgba(0,0,0,.35);
}
.lightbox .bar{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  color: rgba(255,255,255,.92);
  font-size: 13px;
  border-top:1px solid rgba(255,255,255,.12);
}
.lightbox button{
  border:1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.08);
  color: white;
  padding: 8px 10px;
  border-radius: 12px;
  cursor:pointer;
}

@media (max-width: 980px){
  .kpis{ grid-template-columns: 1fr; }
  .ref-inner{ grid-template-columns: 1fr; }
  .galleryt{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .galleryt{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}



/* **************************************** */
/*            Effacement loader             */
/* **************************************** */



.no-js .loader {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s linear;
}

.no-js.ofh {
	overflow: auto;
	overflow-y: scroll;

}

.hide {
	display: none;
}