/* Atlantic Image Defense — Public website production bundle
 * Release: v1.15.4.19.35.87
 * Generated from the previously active stylesheets in their original cascade order.
 * Do not edit this bundle directly. Update the owned source component and rebuild.
 */

:root {
  --aid-bp-phone: 767.98px;
  --aid-bp-tablet: 1279.98px;
  --aid-bp-portal-compact: 899.98px;
  --aid-z-content: 10;
  --aid-z-header: 500;
  --aid-z-overlay: 800;
  --aid-z-navigation: 900;
  --aid-z-dialog: 1000;
}

/* === SOURCE: /assets/css/style.css === */
/*
Author       : theme_ocean
Template Name: Cybal - Cyber Security HTML Template
Version      : 1.0
*/
/*=============================================================
    CSS INDEX
    =============================
    01. GENERAL STYLE (body, link color, section-title, preloader btn, overlay, section-padding etc)
    02. START BOOTSTRAP NAVIGATION OVERRIDES
    03. START HOME DESIGN
    04. START ABOUT DESIGN
    05. START WHY CHOOSE DESIGN
    06. START PLATFORM + TRADERS DESIGN
    07. START MVP DESIGN
    08. START TOKEN SALE + DISTRIBUTION DESIGN
    09. START DOCUMENT DESIGN
    10. START ROADMAP DESIGN
    11. START TEAM AND BOARD DIRECTOR DESIGN
    12. START APP DESIGN
    13. START FAQ DESIGN
    14. START CONTACT DESIGN
    15. START PARTNER DESIGN
    16. START FOOTER DESIGN
  =============================================================*/
/*
* ----------------------------------------------------------------------------------------
* 01.GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/


body {
color: rgba(255,255,255,0.8);
font-family: 'Lexend', sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 28px;
background:#14192D;
overflow-x:hidden;
}
html{position:relative;}
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0px;
  margin-top: 0px; 
  font-family: 'Lexend', sans-serif;
  color: #fff;
  font-weight: 400;
}
a {
font-family: 'Lexend', sans-serif;
text-decoration: none;
-webkit-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
a:hover {
    color: #fff;
    text-decoration: none;
}
a:focus {
    outline: none;
    text-decoration: none;
}
p {
    margin-bottom: 0;
}
ul,
li {
    margin: 0;
    padding: 0;
}
::-moz-selection {
	background: #000;
	color: #ffffff;
}
::selection {
	background: #000;
	color: #ffffff;
}
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}
fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}

.equal-text-block {
    height: 100%;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


/*START PRELOADER DESIGN*/
.preloaders {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transform: translate(-50%, -50%);
  background: #14192D;
}
.loader {
  width: 0;
  height: 4.8px;
  display: inline-block;
  position: relative;
  background: #18fef5;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  box-sizing: border-box;
  animation: animFw 8s linear infinite;
}
  .loader::after,
  .loader::before {
    content: '';
    width: 10px;
    height: 1px;
    background: #18fef5;
    position: absolute;
    top: 9px;
    right: -2px;
    opacity: 0;
    transform: rotate(-45deg) translateX(0px);
    box-sizing: border-box;
    animation: coli1 0.3s linear infinite;
  }
  .loader::before {
    top: -4px;
    transform: rotate(45deg);
    animation: coli2 0.3s linear infinite;
  }

@keyframes animFw {
    0% {
  width: 0;
}
    100% {
  width: 100%;
}
  }

@keyframes coli1 {
    0% {
  transform: rotate(-45deg) translateX(0px);
  opacity: 0.7;
}
    100% {
  transform: rotate(-45deg) translateX(-45px);
  opacity: 0;
}
  }

@keyframes coli2 {
    0% {
  transform: rotate(45deg) translateX(0px);
  opacity: 1;
}
    100% {
  transform: rotate(45deg) translateX(-45px);
  opacity: 0.7;
}
  }
/*END PRELOADER DESIGN*/
.no-padding { padding: 0 }
/*END PRELOADER DESIGN*/
.section-padding {padding:80px 0;}
/*START SECTION TITLE DESIGN*/
.section-title{margin-bottom:60px;}
.section-title  h2 {
font-size: 45px;
font-weight: 600;
margin-top: 0;
position: relative;
}
.section-title span {
	background: rgba(24,254,245,0.4);
	padding: 4px 30px;
	border-radius: 30px;
	color: #fff;
	margin-bottom: 10px;
	display: inline-block;
}
.section-title p{padding-right:40px;margin-bottom: 40px;}
@media only screen and (max-width:768px){
.section-title p{padding-right:0px;margin-bottom: 30px;}
}
@media only screen and (max-width:480px){
.section-title  h2 {font-size:35px;}
}
/*END SECTION TITLE DESIGN*/
/*START SCROLL TO TOP*/
.topcontrol {
background:none;
border-radius: 30px;
bottom: 5px;
border:2px solid #18fef5;
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
color: #18fef5;
cursor: pointer;
font-size: 22px;
height: 50px;
line-height: 47px;
opacity: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
position: fixed;
right: 5px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 50px;
}
.topcontrol:hover {
    background:#18fef5;
	border:2px solid #18fef5;
    color: #000;
}
.form-control::placeholder {
	color: rgba(222, 226, 230, 0.75);
	opacity: 1;
}
/*END SCROLL TO TOP*/
/*START BTN*/
.btn_one {
	background-image: -webkit-linear-gradient(to right, #0196E7 0%, #FF00A4 51%, #FF00A4 100%); 
	background-image: linear-gradient(to right, #0196E7 0%, #FF00A4 51%, #FF00A4 100%);
	border-radius: 3px;
	background-size: 200% auto;
	border-style: none;
	color: #fff;
	font-weight: 600;
	padding: 14px 30px;
	text-transform: uppercase;
	z-index: 1;
	/*display: inline-block;
	-webkit-transition: all 0.3s ease 0s;*/
	transition: all 0.3s ease 0s;
	font-size: 14px;
}
.btn_one i{margin-right:5px;}
.btn_one:hover{
background-position: right center;
color:#fff;
}
@media only screen and (max-width:960px){
.btn_one{
padding: 14px 25px;
margin-top: 0px;
}
}
.btn_two {
	border: 1px solid #18fef5;
	padding: 10px 30px;
	border-radius: 2px;
	color: #18fef5;
	margin-left: 20px;
	transition: 0.3s;
}
.btn_two:hover{
background:#18fef5;
color:#000;
}
@media only screen and (max-width:414px){
.btn_two {margin-left:0px;}
}
/*END BTN*/
/*
* ----------------------------------------------------------------------------------------
* 01.END GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 02.START NAVIGATION
* ----------------------------------------------------------------------------------------
*/
.col-20{
	width: 20%;
}
.col-60{
	width: 60%;
}
.col-20{
	width: 20%;
}
.site-logo{
	width: 150px;
}
.site-logo a{
	display: block;
}
.site-logo img{
	max-width: 100%;
}

#navigation{
	padding: 20px 65px;
}
#main-menu{
}
#main-menu ul{
	list-style-type: none;
}

#main-menu ul li {
	display: inline-block;
	padding: 0 15px;
	position: relative;
	line-height: 60px;
}
#main-menu ul li a {
	position: relative;
	text-transform: uppercase;
	color: #fff;
	font-weight: 600;
	transition: .5s;
	font-size: 15px;
}
#main-menu ul li a:hover,
#main-menu ul li a:focus{
	color: #18fef5;
}
#navigation .header-btn {
	padding-right: 25px;
}

.navbar-fixed {
    z-index: 999;
    position: fixed;
    opacity: .98;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=98)";
    width: 100%;
    top: 0;
    -webkit-animation: fadeInDown 800ms;
    animation: fadeInDown 800ms;
    -webkit-backface-visibility: hidden;
    border-radius: 0px;
    background: #14192D !important;
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}

/*-------------------------------
# Dropdwon menu 
--------------------------------*/

#navigation #main-menu ul li ul ,
#navigation #main-menu ul li ul li ul {	
	background: #18fef5;
	-webkit-box-shadow: 0 0 10px 3px rgba(0,0,0,.05);
	box-shadow: 0 0 10px 3px rgba(0,0,0,.05);
	left: -55px;
	list-style: outside none none;
	margin:  0;
	opacity: 0;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	padding:10px;
	position: absolute;
	text-align: left;
	top: 120%;
	-webkit-transition:all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	visibility: hidden;
	width: 210px;
	z-index: 999;
	border-radius: 4px;
	border-top: 2px solid #18fef5;
}
#navigation #main-menu .menu-item-has-children {
	position: relative;
	margin-right: 20px;
	padding-right: 4px;
}
#navigation #main-menu .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	padding-right: 16px;
}
#navigation #main-menu .menu-item-has-children::after {
	position: absolute;
	content: "\e64b";
	font-family: themify;
	margin: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	pointer-events: none;
}
#navigation #main-menu ul li  ul li{
	position: relative;
}
#navigation #main-menu ul li ul li ul{
	top: 0;
	right: auto;
	left: 205px;
}
#navigation.navbar-fixed #main-menu ul li li a{
	color: #333;
} 
#navigation #main-menu ul li:hover ul,
#navigation #main-menu ul li ul li:hover > ul{
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
	visibility: visible;
	top: 100%;
}
#navigation #main-menu ul li ul li {display: block; margin: 0; padding: 0;}

#navigation #main-menu ul li ul li a {
	color: #000;
	display: block;
	font-size: 16px;
	line-height: 30px;
	font-weight: 600;
	padding: 5px 12px;
	position: relative;	
	transition: all 0.3s ease 0s !important;
	visibility: inherit !important;
	opacity: inherit !important;
	text-transform: capitalize;
}

#navigation #main-menu ul li ul li a:hover{
	color: #000;
	background-color: #18fef5;
	text-decoration: none;
}
@media only screen and (max-width: 991px){
	
	.col-60{
		display: none!important;
	}
	#main-menu{
		display: none;
	}

	#sm_menu_ham {
		display: block;
		top: 40px;
		right: 11%;
		position: absolute;
	}
	.sidebar{
		padding-top: 100px;
	}
}

@media only screen and (max-width: 767px){
.spt-130 {
padding-top: 90px;
}	
#main-menu{
display: none;

}
#mobile_menu{
display: block;
width: 100%;

}
}
@media only screen and (max-width: 575px){
#navigation {
padding: 30px 20px;
}
#sm_menu_ham {
top: 40px;
}
}

/*
* ----------------------------------------------------------------------------------------
* 02.END NAVIGATION
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 03.START HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.home_bg {
	height: 800px;
	position:relative;
}
.home_bg::before {    
	position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    background: rgba(7, 41, 77, 0.1);
}
@media only screen and (max-width:768px){
.home_bg {
	height: auto;
	position:relative;
}
.hb_height {height: 800px;}
}
@media only screen and (max-width:480px){
.hb_height {height: 800px;}
}
.hero-text{position:relative;}
.hero-text h1 {
	color: #fff;
	font-size: 64px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 74px;
	padding-top: 250px;
	margin-bottom: 20px;
}
.ht_top h1 {padding-top:150px;}
.ht2 h1 {
	font-size: 54px;
}
@media only screen and (max-width:960px){
.hero-text h1 {font-size: 44px;line-height: 54px;}
}
@media only screen and (max-width:768px){
.hero-text h1 {padding-top:50px;font-size: 34px;line-height: 44px;}
}
@media only screen and (max-width:768px){
.ht_top h1 {padding-top:150px;}
}
.hero-text p {
	width:80%;
	color: #fff;
	margin-bottom: 30px;
}
.home_btn{margin-top:40px;}
.home_btn a {
	margin-right: 10px;
}
.about_btn a span{}
.home_me_img img{padding-top:100px;}
@media only screen and (max-width:768px){
.home_me_img img{padding-top:50px;}
}
.home_btns{position:relative;}
.home_btns a {
	display: inline;
}
 @media only screen and (max-width:768px){
.home_btns a{margin-bottom:40px;}
 }
.video-play {
	display: inline-block;
	position:relative;
	
}
.video-play i {
	background: #18fef5;
	border: 2px solid #18fef5;
	color: #000;
	width: 60px;
	height: 60px;
	line-height: 56px;
	text-align: center;
	border-radius: 100px;
	margin-right: 15px;
	display: inline-block;
	transition: all 0.3s ease 0s;
	margin-left: 30px;
}
@media only screen and (max-width:768px){
.video-play i{margin-left:15px;}
 }
.video-play:hover i{
background: none;
color:#18fef5;
border:2px solid #18fef5;
}
.video-title {
	font-weight: 600;
	color: #fff;
	text-transform: uppercase;
	font-size: 16px;
}
/*
* ----------------------------------------------------------------------------------------
* 03.END HOME DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 04.START PARTNER DESIGN
* ----------------------------------------------------------------------------------------
*/
.partner{
background:#1a2237;
padding:50px 30px;
border-radius:10px;
}
.partner img{width:120px;}
.partner.owl-theme .owl-controls {
display:none !important;
}
/*
* ----------------------------------------------------------------------------------------
* 04.END PARTNER DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 05.START COUNTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.count_area {
	margin-top: -100px;
	padding-bottom:80px;
}
.single-project {
	padding: 60px 40px;
	background: #1a2237;
	border-right: 1px solid #14192D;
	position: relative;
}
.single-project h2 {
	font-weight: 700;
	font-size: 50px;
	-webkit-text-stroke: 1px #fff;
	color: transparent;
}
.single-project h4 {
	color: #fff;
	margin-bottom: 0;
	font-size:16px;
}
/*
* ----------------------------------------------------------------------------------------
* 05.END COUNTER DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 06.START ABOUT DESIGN
* ----------------------------------------------------------------------------------------
*/
.ab_content{margin-bottom:30px;position:relative;}
.ab_content span{	
	background: rgba(24,254,245,0.4);
	padding: 4px 30px;
	border-radius: 30px;
	margin-bottom: 15px;
	color:#fff;
	display: inline-block;
	}
.ab_content h2 {
	font-weight: 700;
	margin-bottom: 20px;
	text-transform: capitalize;
	line-height: 48px;
	font-size:38px;
}
.abmv {
	margin-bottom: 30px;
	background: #1a2237;
	padding: 25px;
	border-radius: 10px;
}
.abmv span {color: #18fef5;}
.abmv h4{
font-weight:600;
overflow:hidden;
margin-bottom:10px;
font-size:20px;
}
.abmv p{overflow:hidden;}
.ab_img{margin-right:40px;}
@media only screen and (max-width:960px){
.ab_img{
margin-right:0px;
margin-bottom:40px;
}
}
.abmv_list{margin-bottom:40px;}
.abmv_list ul{list-style: none;}
.abmv_list ul li {
	background: #1a2237;
	padding: 10px;
	margin-bottom: 15px;
	color: #fff;
	border-radius: 2px;
}
.abmv_list ul li img{margin-right: 10px;}
.ai_top {
	margin-top: 60px;
	margin-right: 0;
	margin-left: 40px;
}
@media only screen and (max-width:960px){
.ai_top {
	margin-top: 60px;
	margin-right: 0;
	margin-left:0px;
}
}
.ai_top p{margin-bottom:40px;}
/*START FEATURES*/
.feture_bg {
	background: #4AA5F0;
	padding: 30px;
	border-radius: 5px;
	margin-top: -60px;
	position: relative;
}
@media only screen and (max-width:480px){
.feture_bg {margin-top: 0px;}
}
.single_feature{padding: 10px;}
.single_feature h4 {
	color: #1A2037;
	font-weight: 600;
	font-size: 18px;
}
.single_feature h4 img{margin-right:10px;}
.single_feature p {
	color: #1A2037;
	margin-left: 30px;
}
@media only screen and (max-width:480px){
.single_feature {margin-bottom: 30px;}
}
/*END FEATURES*/
/*
* ----------------------------------------------------------------------------------------
* 06.END ABOUT DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 07.START SERVICE DESIGN
* ----------------------------------------------------------------------------------------
*/
.single_service{margin-bottom:30px;}
.single_service img{
	border-radius: 10px;
	margin-bottom: 20px;
}
.single_service h2{
	font-weight: 500;
	font-size: 20px;
	margin-top: 5px;
}
.single_service p{margin-bottom: 15px;}
.single_service a{
	color: #18fef5;
	font-weight: 500;
	font-size: 16px;
}
.ser_btn {
	float: right;
	margin-top: 110px;
}
@media only screen and (max-width:480px){
.ser_btn {
	float: none;
	margin-top:0px;
	margin-bottom:60px;
}
}
.ser_btn a{}
/*SINGLE SERVICE DETAILS*/
.single_service_details{margin-bottom:30px;}
.single_service_details img{
border-radius:10px;
margin-bottom:30px;
}
.single_service_details h2{font-weight:600;}
.single_service_details p{margin-bottom:20px}
.single_ssd_info {margin-bottom:30px;}
.single_ssd_info h4{font-weight: 600;}
.single_ssd_info p{}
.video-area {
    height: 400px;
    position: relative;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
	margin-bottom:40px;
}
.video-button::after, .video-button::before, blockquote::before, .video-area .video-button {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    content: "";
}
.video-button {
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #18fef5;
    position: relative;
    color: #ffffff;
    font-size: 30px;
}

.video-button i {
    position: relative;
    z-index: 1;
	color:#000;
}

.video-button:hover {
    color: #ffffff;
}

.video-button::after, .video-button::before {
    animation: video 25s linear infinite;
    -webkit-animation: video 25s linear infinite;
    -moz-animation: video 25s linear infinite;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.video-button::before {
    background: rgba(24,254,245,0.4);
    width: 150px;
    height: 150px;
    animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    -webkit-border-radius: 33.33% 50%;
    -moz-border-radius: 33.33% 50%;
    border-radius: 33.33% 50%;
}

.video-button::after {
    background: rgba(24,254,245,0.4);
    height: 120px;
    width: 120px;
}

@keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}

@-webkit-keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}

@-moz-keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}
/*END SERVICE DETAILS*/
/*START PORTFOLIO*/
.single_port{margin-bottom:30px;}
.single_port img {
	border-radius: 10px;
	margin-bottom: 20px;
}
@media only screen and (max-width:480px){
.single_port img {width:100%}
}
.single_port span {
	background: linear-gradient(90deg,#4AA5F0 0%,#FF0080 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.single_port h4 {
	font-weight: 500;
	font-size: 20px;
	margin-top: 5px;
}
.single_port a {
	color: #18fef5;
	font-weight: 500;
	font-size: 16px;
}
/*END PORTFOLIO*/
.marq_text {
	background: #18fef5;
	color: #000;
	padding: 30px 0;
	font-weight: 600;
	font-size: 20px;
}
/*START PROJECT DETAILS*/
.single_port_details{}
.single_port_details img {
	width: 100%;
	border-radius: 10px;
	margin-bottom: 30px;
}
.single_port_details h2 {
	font-weight: 600;
	margin-bottom: 20px;
}
.single_port_details p{margin-bottom: 20px;}
.single_port_details ul {
	list-style: none;
	width: 50%;
	float: left;
	margin-bottom: 30px;
}
.single_port_details ul li{}
.single_port_details > ul > li > img {
	width: 20px;
	margin-bottom: 0;
	margin-right: 10px;
}
.port_details_list{}

.about_project_details {
	background: #1a2237;
	padding: 40px;
	border-radius: 10px;
}
.about_project_details{margin-bottom:40px;}
.about_project_details ul li b{margin-right:20px;}
.about_project_details ul li a{color:#18fef5;}
.about_project_details ul li{line-height: 36px;}
.apd_img img{border-radius: 10px;}
/*END PROJECT DETAILS*/
/*
* ----------------------------------------------------------------------------------------
* 07.END SERVICE DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 08.START SKILLS DESIGN
* ----------------------------------------------------------------------------------------
*/
.cf_none{margin-top:0px;}
.single-project2 {
	position:relative;
}
@media only screen and (max-width:768px){
.single-project2 {margin-bottom: 30px; }
}
.single-project2 h2 {
	font-weight: 700;
	font-size: 50px;
	-webkit-text-stroke: 1px #fff;
	color: transparent;
}
.single-project2 h2:hover {
	  background: linear-gradient(90deg,#FF0080 0%,#FF8C00 100%);
  -webkit-background-clip: text;
  -webkit-text-stroke: 0px;
  -webkit-text-fill-color: transparent;
}
.single-project2 h4 {
	color: #fff;
	margin-bottom: 0;
	font-size:16px;
}
.skill_btn {margin-top:70px;position: relative;}
.skill_btn a {
	display: inline;
}
@media only screen and (max-width:768px){
.sk_img{margin-top:60px; }
}
@media only screen and (max-width:480px){
.skill_btn a {
	display:inline-block;
	margin-bottom: 30px;
}
}
/*
* ----------------------------------------------------------------------------------------
* 08.END SKILLS DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 09.START PRICING DESIGN
* ----------------------------------------------------------------------------------------
*/
.pricingTable{
    color: #fff;
	border: 1px solid #1a2237;
    text-align: center;
    padding: 0 25px 30px;
    border-radius: 20px;
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 768px){
.pricingTable{margin-bottom:30px;}
}
.pricingTable:before{
    content: "";
    background: #1a2237;
    width: 93%;
    height: 220px;
    border-radius: 20px 0 100% 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.pricingTable .pricingTable-header{
    padding: 45px 10px 25px;
    margin: 0 0 15px;
}
.pricingTable .title {
	font-size: 22px;
	font-weight: 600;
	text-transform: capitalize;
	margin: 0;
}
.pricingTable .pricing-icon{
    color: #000;
    background: #18fef5;
    font-size: 36px;
    line-height:90px;
    width: 90px;
    height: 90px;
    margin: 0 auto 20px;
    border-radius: 100px;
    -webkit-box-shadow:0 10px 40px -10px rgba(0,64,128,.2);
            box-shadow:0 10px 40px -10px rgba(0,64,128,.2);
}
.pricingTable .pricing-content{
    padding: 0;
    margin: 0 0 20px;
    list-style: none;
	margin-top: 50px;
}
.pricingTable .pricing-content li {
	text-transform: capitalize;
	margin: 0 0 5px;
	line-height:30px;
}
.pricingTable .price-value{
    font-weight: 600;
    margin: 0 0 20px;
}
.pricingTable .price-value .amount{
    font-size: 40px;
    line-height: 50px;
    display: inline-block;
}
.pricingTable .price-value .duration{
    font-size: 22px;
    line-height: 35px;
    opacity: 0.7;
}
.pricingTable .pricingTable-order a {
	color: #fff;
	background: #f6463e;
	font-size: 16px;
	font-weight: 500;
	text-transform: capitalize;
	padding: 16px 0;
	margin: 0 auto;
	border-radius: 30px;
	display: inline-block;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	border: 2px solid #f6463e;
	padding: 12px 30px;
	-webkit-box-shadow: 0 10px 40px -10px rgba(0,64,128,.2);
	box-shadow: 0 10px 40px -10px rgba(0,64,128,.2);
}
.pricingTable .pricingTable-order a:hover{
border: 2px solid #f6463e;
background:#fff;
color:#f6463e;
}
.pricingTable.green:before,
.pricingTable .pricingTable-signup a{
    background: #1a2237;
}
.pricingTable.blue:before,
.pricingTable.blue .pricingTable-signup a{
    background: #1a2237;
}
@media only screen and (max-width: 990px){
    .pricingTable{ margin-bottom: 40px; }
}
/*
* ----------------------------------------------------------------------------------------
* 09.END PRICING DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 10. START REVIEWS DESIGN
* ----------------------------------------------------------------------------------------
*/
.testimonial {
	margin-bottom: 30px;
	border-left: 2px solid #1a2237;
	padding-left: 40px;
	margin-right: 30px;
}
.testimonial img {
	width: 60px;
	margin-bottom: 20px;
}
.testimonial_content{}
.testimonial_content h3 {
	font-weight: 600;
	font-size: 20px;
}
.testimonial_content i {
	color: #18fef5;
	font-size: 22px;
}
.testimonial_content p {
	overflow: hidden;
	margin-top: 15px;
	font-size: 20px;
	line-height: 30px;
}
.testi_pic_title{margin-top:20px;}
.testi_pic_title .pic{
    float: left;
    margin-right: 15px;
}
.testi_pic_title h4 {
	font-size: 20px;
	font-weight: 700;
	margin-top: 10px;
}
.owl-theme .owl-controls {
    margin-top: 50px;
    text-align: center;
}
.owl-theme .owl-controls .owl-page { display: inline-block }
.owl-controls .owl-page,
.owl-controls .owl-buttons div { cursor: pointer }
.owl-theme .owl-controls .owl-page span {
	background-color: #18fef5 !important;
	border-radius: 20px;
	display: block;
	height: 2px;
	margin: 5px 3px;
	width: 30px;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span { background-color: #fff }
.owl-theme .owl-controls {
  display: block !important;
  margin-top:10px;
  text-align: center;
}
.owl-theme .owl-controls .owl-buttons div {
	color: #FFF;
	display: inline-block;
	zoom: 1;
	*display: inline;
	margin: 5px;
	padding: 3px 10px;
	font-size: 12px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	background: #869791;
	filter: Alpha(Opacity=50);
	opacity: 0.5;
	display: none;
}
/*
* ----------------------------------------------------------------------------------------
* 10.END REVIEWS DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 11. START TEAM DESIGN
* ----------------------------------------------------------------------------------------
*/
.single_team{margin-bottom: 30px;overflow: hidden;}
.single_team img{
	border-radius: 10px;
	margin-bottom: 20px;
}
@media only screen and (max-width:480px){
.single_team img{width:100%;}
}
.single_team h4 {
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 0;
}
.single_team p{}
/*
* ----------------------------------------------------------------------------------------
* 11.END END DESIGN
* ----------------------------------------------------------------------------------------
*/

/*START NEWSLETTER*/
.subs_form {
	background: #1a2237;
	padding: 60px;
	border-radius: 10px;
}
.subs_form h3 {
	font-weight: 800;
	font-size: 40px;
	margin-bottom: 20px;
}
.subs_form p{}

.home_subs {
	display: block;
	position: relative;
	margin-top: 30px;
	width: 100%;
}
.home_subs button{border:none;}
.subscribe__input {
	background: none;
	border: 1px solid #2D365C;
	border-radius: 500px;
	color: #fff;
	display: block;
	font-weight: 600;
	height: 52px;
	letter-spacing: 0.4px;
	margin: auto;
	padding: 0 60px 0 20px;
	text-transform: capitalize;
	width: 80%;
}
@media only screen and (max-width:414px){
.subscribe__input {width:100%;}
}
.subscribe__input:focus{
outline:0 none;
box-shadow:none;
border: 1px solid #18fef5!important;
}
.subscribe__btn {
	background-color: #18fef5;
	border-radius:100px;
	color: #000;
	cursor: pointer;
	display: block;
	font-size: 22px;
	height: 52px;
	position: absolute;
	right: 80px;
	top: 0;
	width: 54px;
}
@media only screen and (max-width:414px){
.subscribe__btn {right:0px;}
}
.subscribe__btn:hover i{
	color:#000;
}

.banner_subs {
	display: block;
	position: relative;
	margin-top: 30px;
	width: 60%;
	margin:auto;
}
.banner_subs button{border:none;}

/*
* ----------------------------------------------------------------------------------------
* 12.START BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/
.blog_area{padding-bottom:50px;;}
.single_blog{margin-bottom: 30px;}
.single_blog img {
	border-radius: 10px;
	margin-bottom: 20px;
}
.single_blog span{}
.single_blog span a {
	color: #4AA5F0;
	margin-right: 30px;
}
.single_blog h3{}
.single_blog h3 a {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	transition: 0.3s;
	margin-bottom: 23px;
	display: block;
	line-height: 28px;
	margin-top: 10px;
}
.blog_btn{
color: #18fef5;
}
.blog_btn i{font-size:12px;}
.sbd{margin-bottom:30px;}
.single_blog_details span {
margin-right:20px;
}
.single_blog_details h2{margin-top:20px;font-weight:600;}
.single_blog_details p{margin-bottom:20px}
.blog_head_title {
	font-weight: 600;
	margin-top: 50px;
	margin-bottom: 20px;
}
/*
* ----------------------------------------------------------------------------------------
* 12.END BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 13.START FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.footer {
	padding-bottom: 40px;
}
.single_footer{position:relative;}
@media only screen and (max-width:880px) { 
.single_footer{margin-bottom:40px;}
}
.single_footer img{margin-bottom:20px;}
.single_footer h4 {
	color: #fff;
	margin-top: 0;
	margin-bottom: 25px;
	font-weight: 700;
	text-transform: capitalize;
	font-size: 20px;
}
.single_footer p{color:#fff;margin-bottom:30px;}
.single_footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.single_footer ul li{}
.single_footer ul li a {
	color: #fff;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	line-height: 36px;
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
}
.single_footer ul li a:hover { color: #18fef5; }

.sf_contact{margin-bottom:30px;overflow: hidden;}
.sf_contact span {
	color: #18fef5;
	font-size: 30px;
	float: left;
	margin-top: 5px;
	margin-right: 20px;
}
.sf_contact h3 {
	font-weight: 700;
	color: #fff;
	font-size: 20px;
	overflow: hidden;
	margin-bottom: 5px;
}
.sf_contact p {
	font-size: 14px;
	overflow: hidden;
	margin-bottom:0;
}
.fc {
	margin-top: 60px;
	/* background: #2b2a5e; */
	padding-top: 40px;
	border-top: 1px solid #373e51;
}
.footer_copyright {float: left;}
@media only screen and (max-width:480px){
.footer_copyright {display:inline;}
}
.footer_copyright p{
color: #fff;
text-align: center;
text-transform: capitalize;
} 
.footer_menu{float: right;}
@media only screen and (max-width:480px){
.footer_menu {
	float: left;
	margin-top: 20px;
}
}
.footer_menu ul{list-style:none;}
.footer_menu ul li{float:left;}
.footer_menu ul li a {
	color: #fff;
	padding: 0px 10px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.footer_menu ul li a:hover{
color:#18fef5;
text-decoration: underline;
}
.social_profile {margin-top:10px;}
.social_profile ul{
list-style: outside none none;
margin: 0;
padding: 0;
}
.social_profile ul li{float:left;}
.social_profile ul li a {
	text-align: center;
	border: 0px;
	text-transform: uppercase;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	margin-right: 10px;
	font-size: 16px;
	color: #fff;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 30px;
}
@media only screen and (max-width:768px) { 
.social_profile ul li a{margin-right:10px;margin-bottom:10px;}
}
@media only screen and (max-width:480px) { 
.social_profile ul li a{
	width:40px;
	height:40px;
	line-height:40px;
}
}
.social_profile ul li a:hover{
color:#fff;
}
.f_facebook{background:#3B5998;}
.f_twitter{background:#1A90D9;}
.f_instagram{background:#FF5252;}
.f_linkedin{background:#0e76a8;}
.foot_img{border: 1px solid #373e51;}
/*
* ----------------------------------------------------------------------------------------
* 13.END FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 14.START SECTION TOP DESIGN
* ----------------------------------------------------------------------------------------
*/
.section-top {
	padding-top: 60px;
	position: relative;
	background: url(../img/bg/section-top.jpg);
	background-size: cover;
	background-position: center;
	padding-bottom: 60px;
}

.section-top-title {
	position: relative;
}
@media only screen and (max-width:480px) { 
    .section-top-title { width: 100% }
}
.section-top-title h1 {
	margin-bottom: 10px;
	text-transform: capitalize;
	font-weight: 700;
	font-size: 50px;
}
.section-top-title ul {}
.section-top-title ul li {color: #fff !important;display: inline-block; }
.section-top-title ul li a { color: #18fef5!important;font-weight: 600; }
.section-top-title ul li a:hover { color: #18fef5!important }
/*
* ----------------------------------------------------------------------------------------
* 14.END SECTION TOP DESIGN
* ----------------------------------------------------------------------------------------
*/


/*
* ----------------------------------------------------------------------------------------
* 15.START CONTACT PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.contact label {
	margin-bottom: 5px;
	font-weight: 700;
	color: #fff;
}
.contact input {
	background: #1a2237;
	border: 1px solid #1a2237;
	border-radius: 0px;
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	height: 70px;
	padding: 10px 10px 10px 30px;
	width: 100%;
	margin-bottom: 30px;
}
.contact textarea {
	background: #1a2237;
	border: 1px solid #1a2237;
	border-radius: 0px;
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	padding: 10px 10px 10px 30px;
	width: 100%;
	margin-bottom:30px;
}
.contact input:focus {
background: #1a2237;
	border: 1px solid #1a2237;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: 0 none;
	color: #fff;
}
.contact textarea:focus {
background: #1a2237;
border: 1px solid #1a2237;
    -webkit-box-shadow: none;
            box-shadow: none;
	color: #fff;
}
.contact button{border:none;}
@media only screen and (max-width:480px) { 
    .single_address{margin-bottom:30px; }
}
.single_address i {
	color: #18fef5;
	font-size: 42px;
	margin-bottom: 20px;
	display: inline-block;
}
.single_address h4{
text-transform: capitalize;
margin-bottom: 20px;
font-weight: 700;
}
.single_address p{}
.sabr {
	border-right: 1px solid #2a344f;
	border-left: 1px solid #2a344f;
}
/*
* ----------------------------------------------------------------------------------------
* 15.END CONTACT PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/

/* ----------------------------------------------------------------------------------------
* 16.START FAQ DESIGN
* ----------------------------------------------------------------------------------------
*/
.faq_area{padding-bottom:40px;}
.accordion{margin-bottom:60px;}
.accordion-item {
	border: 1px solid #1a2237;
	margin-bottom: 15px;
	-webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	        box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	background: #1a2237;
	margin-bottom: 20px;
}
.accordion-body{color: #fff !important;}
.accordion-item:not(:first-of-type) {
	border-top: 1px solid #1a2237;
}
.accordion-header {
	background: #1a2237 !important;
	padding: 7px 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
}
.accordion-button {
	background:none!important;
	color: #fff !important;
	font-weight: 700;
	font-size:20px;
}
.accordion-button:not(.collapsed) {
	color:#fff!important;
	-webkit-box-shadow: none !important;
	        box-shadow: none !important;
}
.accordion-button:focus{-webkit-box-shadow: none !important;box-shadow: none !important;}
.pt_faq{padding-left:50px;}
.accordion-button::after {
	flex-shrink: 0;
	width: var(--bs-accordion-btn-icon-width);
	height: var(--bs-accordion-btn-icon-width);
	margin-left: auto;
	content: "+";
	background-image: var(--bs-accordion-btn-icon);
	background-repeat: no-repeat;
	background-size: var(--bs-accordion-btn-icon-width);
	transition: var(--bs-accordion-btn-icon-transition);
	color: #fff !important;
}
.accordion-button:not(.collapsed)::after {
	background-image: var(--bs-accordion-btn-active-icon);
	transform: var(--bs-accordion-btn-icon-transform);
	content: "-";
}
/* ----------------------------------------------------------------------------------------
* 16.END FAQ DESIGN
* ----------------------------------------------------------------------------------------
*/

.error_page h2 {
	font-weight: 800;
	margin: 30px 0;
	font-size: 50px;
}
.error_page p {
	margin-bottom: 40px;
	font-weight: 500;
	width: 50%;
	margin: auto;
	margin-bottom: 40px;
}
/* Atlantic Image Defense v1.15.4.6 - integrated secure-case transition */
.home_case_transition{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 padding:46px 0 30px;
 background:
  radial-gradient(circle at 18% 18%,rgba(24,254,245,.09),transparent 32%),
  radial-gradient(circle at 82% 16%,rgba(54,87,255,.12),transparent 34%),
  linear-gradient(180deg,#0d172a 0%,#111a30 52%,#14192d 100%);
 border-top:1px solid rgba(24,254,245,.14);
}
.home_case_transition:before{
 content:"";
 position:absolute;
 inset:0;
 z-index:-2;
 opacity:.18;
 background-image:
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
 background-size:54px 54px;
 -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%);
 mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%);
}
.home_case_transition_glow{position:absolute;z-index:-1;border-radius:999px;filter:blur(12px);pointer-events:none}
.home_case_transition_glow_one{left:-140px;top:40px;width:360px;height:360px;background:rgba(24,254,245,.055)}
.home_case_transition_glow_two{right:-170px;top:10px;width:430px;height:430px;background:rgba(88,60,255,.07)}
.home_case_access{position:relative;padding:0;background:transparent;border:0}
.home_case_access_inner{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:34px;
 padding:31px 34px;
 border:1px solid rgba(95,221,232,.2);
 border-radius:16px;
 background:linear-gradient(135deg,rgba(18,34,49,.98),rgba(13,25,39,.96));
 box-shadow:0 24px 55px rgba(2,8,18,.34),inset 0 1px 0 rgba(255,255,255,.045);
}
.home_case_access_copy{min-width:0}
.home_case_access_inner span{display:block;margin-bottom:8px;color:#38c5d3;font-size:22px;font-weight:700;letter-spacing:.0em}
.home_case_access_inner h2{margin:0 0 9px;color:#fff;font-size:30px;line-height:1.2}
.home_case_access_inner p{max-width:820px;margin:0;color:#c8d4dc;font-size:15px;line-height:1.65}
.home_case_access_button{
 display:inline-flex;
 flex:0 0 auto;
 align-items:center;
 justify-content:center;
 gap:9px;
 min-height:50px;
 padding:12px 22px;
 border:1px solid rgba(255,255,255,.2);
 border-radius:10px;
 background:#fff;
 color:#10202d!important;
 font-weight:700;
 box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.home_case_access_button:hover{background:#1d9caf;color:#fff!important;transform:translateY(-1px)}
.home_case_metrics{position:relative;margin-top:20px;padding:0}
.home_case_metrics .row{display:flex;flex-wrap:wrap;margin-right:-6px;margin-left:-6px}
.home_case_metric_col{display:flex;padding-right:6px!important;padding-left:6px!important}
.home_case_metrics .single-project{
 display:flex;
 width:100%;
 min-height:150px;
 padding:32px 24px;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 border:1px solid rgba(255,255,255,.065);
 border-radius:12px;
 background:linear-gradient(180deg,rgba(27,37,64,.96),rgba(20,28,49,.96));
 box-shadow:0 16px 34px rgba(3,8,18,.22),inset 0 1px 0 rgba(255,255,255,.025);
}
.home_case_metrics .single-project h2{margin-bottom:11px;font-size:44px;line-height:1}
.home_case_metrics .single-project h4{font-size:15px;line-height:1.35}
@media(max-width:991px){
 .home_case_transition{padding:38px 0 28px}
 .home_case_access_inner{align-items:flex-start;flex-direction:column}
 .home_case_access_button{min-width:190px}
 .home_case_metric_col{margin-bottom:12px}
}
@media(max-width:767px){
 .home_case_transition{padding:28px 0 22px}
 .home_case_access_inner{gap:22px;padding:24px 22px;border-radius:13px}
 .home_case_access_inner h2{font-size:24px}
 .home_case_access_inner p{font-size:14px;line-height:1.58}
 .home_case_access_button{width:100%}
 .home_case_metrics{margin-top:14px}
 .home_case_metrics .row{margin-right:0;margin-left:0}
 .home_case_metric_col{padding-right:0!important;padding-left:0!important}
 .home_case_metrics .single-project{min-height:126px;padding:25px 18px}
 .home_case_metrics .single-project h2{font-size:38px}
}
.case_access_hero{min-height:680px;background:linear-gradient(180deg,#eef5f7 0%,#f8fafb 100%)}
.case_access_card{padding:42px;border:1px solid #dce5ea;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(18,37,51,.12)}
.case_access_badge{display:inline-block;margin-bottom:16px;padding:7px 11px;border-radius:999px;background:#e9f7f9;color:#157e8e;font-size:11px;font-weight:700;letter-spacing:.12em}
.case_access_card h1{margin:0 0 16px;color:#10202d;font-size:42px;line-height:1.08}
.case_access_card h1 span{color:#1d9caf;font-size:27px;font-weight:600}
.case_access_card>p{margin-bottom:8px;color:#53636f;font-size:15px;line-height:1.7}
.case_access_fr{color:#6c7b85!important;font-style:italic}
.case_access_alert{margin:22px 0 0;padding:14px 16px;border-left:4px solid #c43d4f;border-radius:8px;background:#fff0f2;color:#792a36;font-size:14px;line-height:1.5}
.case_access_form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.case_access_field{display:flex;flex-direction:column;gap:8px}
.case_access_field label{margin:0;color:#223542;font-size:13px;font-weight:700}
.case_access_field input{height:52px;padding:0 15px;border:1px solid #cdd9df;border-radius:9px;background:#fbfcfd;color:#122330;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;outline:none}
.case_access_field input:focus{border-color:#1d9caf;box-shadow:0 0 0 4px rgba(29,156,175,.12)}
.case_access_submit{grid-column:1/-1;min-height:52px;border:0;border-radius:9px;background:linear-gradient(180deg,#1c2a36,#0f1821);color:#fff;font-size:16px;font-weight:700;box-shadow:0 10px 24px rgba(15,24,33,.22);cursor:pointer}
.case_access_submit:hover{background:linear-gradient(180deg,#263847,#15222d)}
.case_access_security_note{margin-top:26px;padding:18px 20px;border:1px solid #dce6ea;border-radius:10px;background:#f5f8f9}
.case_access_security_note strong{display:block;margin-bottom:7px;color:#10202d;font-size:14px}
.case_access_security_note p{margin:4px 0;color:#5d6d78;font-size:12.5px;line-height:1.55}
.case_access_help{margin-top:18px!important;color:#667781!important;font-size:12.5px!important}
.case_access_help a{color:#157e8e;font-weight:700}
@media(max-width:991px){.case_access_card{padding:32px}.case_access_card h1{font-size:36px}}
@media(max-width:767px){.case_access_hero{padding:70px 0}.case_access_card{padding:25px 20px}.case_access_card h1{font-size:31px}.case_access_card h1 span{font-size:21px}.case_access_form{grid-template-columns:1fr}.case_access_submit{grid-column:1}.case_access_field input{font-size:14px}}

/* Atlantic Image Defense bilingual FR/EN selector — v1.15.4.19.35.5 */
.atlantic-header-actions{gap:10px;align-items:center;white-space:nowrap}
.aid-language-switcher{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:Lexend,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1}
.aid-language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border:1px solid rgba(16,36,50,.22);border-radius:5px;color:#102432;background:#fff;text-decoration:none;transition:all .18s ease}
.aid-language-switcher a:hover,.aid-language-switcher a:focus{border-color:#138ba1;color:#138ba1;outline:none}
.aid-language-switcher a.is-active{border-color:#102432;background:#102432;color:#fff;box-shadow:0 5px 14px rgba(16,36,50,.16)}
.aid-language-switcher>span{color:#8a989f;font-weight:400}
.mobile-language-switcher{padding:12px 18px!important}
.mobile-language-switcher .aid-language-switcher{justify-content:flex-start}
.mobile-language-switcher .aid-language-switcher a{min-width:42px;height:34px}
@media(max-width:1399px){.atlantic-header-actions{gap:7px}.atlantic-header-actions .btn_one,.atlantic-header-actions .btn_two{padding-left:14px;padding-right:14px}}
/* === END SOURCE: /assets/css/style.css === */

/* === SOURCE: /assets/css/atlantic-mobile-v13.css === */
/* Atlantic public website mobile navigation accessibility — v1.3 */
@media (max-width:1023px){
  #sm_menu_ham{
    display:block!important;
    position:absolute!important;
    top:25px!important;
    right:20px!important;
    width:50px!important;
    height:50px!important;
    margin:0!important;
    border-radius:12px;
    background:#111923;
    border:1px solid rgba(255,255,255,.2);
    box-shadow:0 6px 20px rgba(0,0,0,.24);
  }
  #sm_menu_ham span{
    left:10px!important;
    width:28px!important;
    height:3px!important;
    background:#fff!important;
  }
  #sm_menu_ham span:nth-child(1){top:13px!important}
  #sm_menu_ham span:nth-child(2),#sm_menu_ham span:nth-child(3){top:23px!important}
  #sm_menu_ham span:nth-child(4){top:33px!important}
  #sm_menu_ham.open span:nth-child(1),#sm_menu_ham.open span:nth-child(4){left:50%!important;top:23px!important;width:0!important}
  .sm_menu_outer{height:100vh!important;background:#0f1720!important;padding-bottom:calc(24px + env(safe-area-inset-bottom));}
  .sm_menu_outer.active .mobile_menu{padding:78px 16px 24px!important}
  .sm_menu_outer .mobile_menu a{
    padding:16px 18px!important;
    font-size:17px!important;
    line-height:1.35!important;
    font-weight:600;
    letter-spacing:.01em;
    border-radius:9px;
  }
  .sm_menu_outer .mobile_menu li{margin:3px 0;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .sm_menu_outer .mobile_menu li.back a{padding-left:50px!important}
  .sm_menu_outer.slide .mobile_menu .sub-menu{top:0!important;padding-top:70px!important;background:#0f1720!important}
  .sm_menu_outer .mobile_menu li.mobile-auth-action{border-bottom:0!important;margin-top:10px}
  .sm_menu_outer .mobile_menu li.mobile-auth-action a{text-align:center;font-weight:800;border:1px solid #c8a64b!important}
  .sm_menu_outer .mobile_menu li.mobile-auth-create a{background:#c8a64b;color:#111923!important}
  .sm_menu_outer .mobile_menu li.mobile-auth-signin a{background:transparent;color:#fff!important}
}
@media(max-width:575px){
  #navigation{padding-right:78px!important}
  #sm_menu_ham{top:24px!important;right:18px!important}
  .site-logo img{max-width:205px}
}
/* === END SOURCE: /assets/css/atlantic-mobile-v13.css === */

/* === SOURCE: /assets/css/aid-public-menu-responsive-v1.15.4.19.35.8.css === */
/*
 * Atlantic Image Defense — public navigation responsive refinement and language-control alignment
 * Version 1.15.4.19.35.8
 *
 * Scope: public header and the FR/EN selector inside the compact menu.
 * No portal, administration or business-data styles are changed here.
 */

/* Keep the language labels legible when the generic mobile-menu link rule
 * forces all anchors to white. This was the source of the blank FR button. */
.sm_menu_outer .mobile-language-switcher .aid-language-switcher a:not(.is-active) {
    color: #102432 !important;
    background: #ffffff !important;
}

.sm_menu_outer .mobile-language-switcher .aid-language-switcher a.is-active {
    color: #ffffff !important;
    background: #102432 !important;
}

/* Use the compact navigation before the full desktop header can become
 * crowded. This covers landscape tablets, notebooks and compact laptops. */
@media (max-width: 1879px) {
    #navigation {
        min-height: 92px;
        padding: 20px clamp(20px, 4vw, 56px) !important;
    }

    #navigation > .container-fluid > .row {
        display: block;
        margin-right: 0;
        margin-left: 0;
    }

    #navigation > .container-fluid > .row > .col-60,
    #navigation .atlantic-header-actions {
        display: none !important;
    }

    #navigation > .container-fluid > .row > .col-20:first-child {
        display: block;
        width: auto;
        max-width: calc(100% - 92px);
        padding-right: 0;
        padding-left: 0;
    }

    #navigation .site-logo {
        width: min(225px, 100%);
    }

    #navigation .site-logo img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
    }

    #sm_menu_ham {
        display: block !important;
        position: absolute !important;
        top: 19px !important;
        right: clamp(18px, 4vw, 56px) !important;
        width: 54px !important;
        height: 54px !important;
        margin: 0 !important;
        border: 1px solid rgba(255, 255, 255, .22);
        border-radius: 14px;
        background: #111923;
        box-shadow: 0 8px 26px rgba(0, 0, 0, .26);
    }

    body.mmactive #sm_menu_ham {
        position: fixed !important;
        z-index: 10002;
    }

    #sm_menu_ham span {
        left: 12px !important;
        width: 30px !important;
        height: 3px !important;
        background: #ffffff !important;
    }

    #sm_menu_ham span:nth-child(1) {
        top: 14px !important;
    }

    #sm_menu_ham span:nth-child(2),
    #sm_menu_ham span:nth-child(3) {
        top: 25px !important;
    }

    #sm_menu_ham span:nth-child(4) {
        top: 36px !important;
    }

    #sm_menu_ham.open span:nth-child(1),
    #sm_menu_ham.open span:nth-child(4) {
        left: 50% !important;
        top: 25px !important;
        width: 0 !important;
    }

    .sm_menu_outer {
        display: block !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        background: #0f1720 !important;
        padding-bottom: calc(30px + env(safe-area-inset-bottom));
    }

    .sm_menu_outer.active .mobile_menu {
        display: block;
        width: min(900px, calc(100% - 96px));
        margin: 0 auto;
        padding: clamp(100px, 12vh, 132px) 0 42px !important;
    }

    .sm_menu_outer .mobile_menu li {
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .085) !important;
    }

    .sm_menu_outer .mobile_menu > li > a {
        display: flex !important;
        align-items: center;
        box-sizing: border-box;
        min-height: 58px;
        padding: 13px 22px !important;
        color: #ffffff;
        font-size: clamp(17px, 1.4vw, 22px) !important;
        line-height: 1.3 !important;
        font-weight: 650;
        letter-spacing: .01em;
        overflow-wrap: normal;
        word-break: normal;
        white-space: normal;
    }

    .sm_menu_outer.accordion .mobile_menu li.hasChild > a.submenu-toggle {
        padding-right: 70px !important;
    }

    .sm_menu_outer.accordion .mobile_menu li.hasChild > a.submenu-toggle::before {
        content: "+" !important;
        position: absolute !important;
        top: 50% !important;
        right: 20px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 34px !important;
        height: 34px !important;
        transform: translateY(-50%) !important;
        border: 1px solid rgba(214, 177, 75, .78);
        border-radius: 50%;
        background: transparent !important;
        color: #d6b14b;
        font-size: 24px;
        line-height: 1;
    }

    .sm_menu_outer.accordion .mobile_menu li.hasChild.active > a.submenu-toggle::before {
        content: "−" !important;
        transform: translateY(-50%) !important;
        background: #c8a64b !important;
        color: #111923;
    }

    .sm_menu_outer.accordion .mobile_menu .sub-menu,
    .sm_menu_outer.accordion .mobile_menu li.hasChild ul.sub-menu {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0 8px !important;
        overflow: hidden;
        transform: none !important;
        transition: none !important;
        background: rgba(255, 255, 255, .025) !important;
        box-shadow: inset 3px 0 0 #c8a64b;
        z-index: auto !important;
    }

    .sm_menu_outer.accordion .mobile_menu .sub-menu > li {
        margin: 0 !important;
        padding-left: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .055) !important;
    }

    .sm_menu_outer.accordion .mobile_menu .sub-menu > li:last-child {
        border-bottom: 0 !important;
    }

    .sm_menu_outer.accordion .mobile_menu .sub-menu > li > a {
        position: relative;
        display: flex !important;
        align-items: center;
        min-height: 48px;
        padding: 11px 58px 11px 38px !important;
        color: rgba(255, 255, 255, .84) !important;
        font-size: clamp(15px, 1.15vw, 18px) !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;
        text-transform: none;
    }

    .sm_menu_outer.accordion .mobile_menu .sub-menu > li > a::after {
        content: "›";
        position: absolute;
        right: 22px;
        color: rgba(214, 177, 75, .92);
        font-size: 22px;
        line-height: 1;
    }

    .sm_menu_outer.accordion .mobile_menu li.back {
        display: none !important;
    }

    /* Language selector: a stable two-button grid at every compact width. */
    .sm_menu_outer .mobile_menu li.mobile-language-switcher {
        margin: 10px 0 4px !important;
        padding: 16px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .085) !important;
    }

    .mobile-language-switcher .aid-language-switcher {
        display: grid;
        grid-template-columns: repeat(2, minmax(72px, 1fr));
        width: min(280px, 100%);
        gap: 10px;
        margin: 0;
        padding: 0;
    }

    .mobile-language-switcher .aid-language-switcher > span {
        display: none;
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a {
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        justify-content: center !important;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        height: 50px;
        min-height: 50px;
        margin: 0 !important;
        padding: 0 !important;
        border: 2px solid transparent;
        border-radius: 10px;
        font-size: 18px !important;
        line-height: 1 !important;
        font-weight: 800;
        letter-spacing: .09em;
        text-align: center;
        text-indent: 0 !important;
        vertical-align: middle;
        white-space: nowrap;
        overflow: hidden;
        text-decoration: none !important;
        transform: none !important;
        -webkit-tap-highlight-color: transparent;
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a.is-active {
        border-color: rgba(255, 255, 255, .14) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03);
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a:not(.is-active) {
        border-color: rgba(16, 36, 50, .28) !important;
        box-shadow: inset 0 0 0 1px rgba(16, 36, 50, .04);
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a:focus-visible {
        outline: 3px solid #d6b14b !important;
        outline-offset: 3px;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-action {
        border-bottom: 0 !important;
        margin-top: 14px;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-action + li.mobile-auth-action {
        margin-top: 10px;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-action a {
        justify-content: center;
        box-sizing: border-box;
        min-height: 58px;
        padding: 13px 24px !important;
        border: 2px solid #c8a64b !important;
        border-radius: 12px;
        font-weight: 800;
        text-align: center;
        white-space: normal;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-create a {
        background: #c8a64b !important;
        color: #111923 !important;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-signin a {
        background: transparent !important;
        color: #ffffff !important;
    }
}

/* Tablets: keep the menu centered and comfortably sized. */
@media (min-width: 768px) and (max-width: 1199px) {
    .sm_menu_outer.active .mobile_menu {
        width: min(720px, calc(100% - 56px));
        padding-top: 96px !important;
    }

    .mobile-language-switcher .aid-language-switcher {
        width: min(360px, 100%);
        gap: 14px;
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a {
        height: 54px;
        min-height: 54px;
        border-radius: 12px;
        font-size: 19px !important;
    }
}

/* Phones: retain the established menu rhythm while fixing the selector. */
@media (max-width: 767px) {
    #navigation {
        min-height: 86px;
        padding: 18px 78px 18px 18px !important;
    }

    #navigation > .container-fluid > .row > .col-20:first-child {
        max-width: 100%;
    }

    #navigation .site-logo {
        width: min(205px, 100%);
    }

    #sm_menu_ham {
        top: 18px !important;
        right: 18px !important;
        width: 50px !important;
        height: 50px !important;
        border-radius: 12px;
    }

    #sm_menu_ham span {
        left: 10px !important;
        width: 28px !important;
    }

    #sm_menu_ham span:nth-child(1) {
        top: 13px !important;
    }

    #sm_menu_ham span:nth-child(2),
    #sm_menu_ham span:nth-child(3) {
        top: 23px !important;
    }

    #sm_menu_ham span:nth-child(4) {
        top: 33px !important;
    }

    #sm_menu_ham.open span:nth-child(1),
    #sm_menu_ham.open span:nth-child(4) {
        top: 23px !important;
    }

    .sm_menu_outer.active .mobile_menu {
        width: 100%;
        margin: 0;
        padding: 78px 16px 28px !important;
    }

    .sm_menu_outer .mobile_menu > li > a {
        min-height: 52px;
        padding: 13px 18px !important;
        font-size: 16px !important;
    }

    .sm_menu_outer .mobile_menu li.mobile-language-switcher {
        padding: 14px 18px !important;
    }

    .mobile-language-switcher .aid-language-switcher {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a {
        height: 48px;
        min-height: 48px;
        border-radius: 10px;
        font-size: 18px !important;
    }

    .sm_menu_outer .mobile_menu li.mobile-auth-action a {
        min-height: 56px;
    }
}

/* Very narrow phones. */
@media (max-width: 380px) {
    .sm_menu_outer.active .mobile_menu {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .sm_menu_outer .mobile_menu > li > a {
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: 15px !important;
    }
}


/* Compact phones: preserve an absolute center without shrinking the labels. */
@media (max-width: 380px) {
    .mobile-language-switcher .aid-language-switcher {
        gap: 8px;
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a {
        height: 46px;
        min-height: 46px;
        font-size: 17px !important;
        letter-spacing: .07em;
    }
}

/* Compact laptops and large landscape tablets use the same visual balance. */
@media (min-width: 1200px) and (max-width: 1879px) {
    .mobile-language-switcher .aid-language-switcher {
        width: min(360px, 100%);
        gap: 14px;
    }

    .sm_menu_outer .mobile-language-switcher .aid-language-switcher a {
        height: 52px;
        min-height: 52px;
        border-radius: 11px;
        font-size: 18px !important;
    }
}

/* Full desktop navigation remains available only where all items and actions
 * can coexist without overlap. */
@media (min-width: 1880px) {
    #sm_menu_ham,
    .sm_menu_outer {
        display: none !important;
    }

    .atlantic-header-actions {
        gap: 8px;
    }

    .atlantic-header-actions .btn_one,
    .atlantic-header-actions .btn_two {
        margin: 0 !important;
        padding-right: 16px;
        padding-left: 16px;
        white-space: nowrap;
    }
}
/* === END SOURCE: /assets/css/aid-public-menu-responsive-v1.15.4.19.35.8.css === */

/* === SOURCE: /assets/css/aid-public-tablet-v1.15.4.19.35.7.css === */
/*
 * Atlantic Image Defense — public tablet content optimisation
 * Version 1.15.4.19.35.7
 *
 * Scope: public home page and public footer between 768px and 1279px.
 * Phones remain unchanged. Portal, administration, reports and business data
 * are not affected.
 */

@media (min-width: 768px) and (max-width: 1279px) {
    body.aid-home-page {
        overflow-x: hidden;
    }

    body.aid-home-page .section-padding {
        padding-top: 68px;
        padding-bottom: 68px;
    }

    /* Defensive fallback: the compact header must remain active on tablets,
       even if an older public stylesheet is still present in browser cache. */
    #navigation > .container-fluid > .row > .col-60,
    #navigation #main-menu,
    #navigation .atlantic-header-actions {
        display: none !important;
    }

    #sm_menu_ham {
        display: block !important;
    }

    /* Hero: readable proportions on portrait and landscape tablets. */
    body.aid-home-page .home_bg,
    body.aid-home-page .hb_height {
        height: 680px;
        min-height: 680px;
        background-position: center center !important;
    }

    body.aid-home-page .home_bg .container > .row > [class*="col-"] {
        flex: 0 0 88%;
        width: 88%;
        max-width: 88%;
    }

    body.aid-home-page .hero-text h1,
    body.aid-home-page .hero-text.ht_top h1 {
        max-width: 840px;
        padding-top: 138px;
        margin-bottom: 22px;
        font-size: clamp(42px, 5.2vw, 56px);
        line-height: 1.14;
        letter-spacing: -0.025em;
        text-transform: none;
    }

    body.aid-home-page .hero-text p {
        width: min(790px, 100%);
        margin-bottom: 32px;
        font-size: 17px;
        line-height: 1.72;
    }

    body.aid-home-page .home_btns .btn_one {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 13px 25px;
    }

    /* Secure access transition: avoid four compressed metric cards at 992px+. */
    body.aid-home-page .home_case_transition {
        padding: 40px 0 34px;
    }

    body.aid-home-page .home_case_access_inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
        padding: 30px;
    }

    body.aid-home-page .home_case_access_inner span {
        font-size: 17px;
        line-height: 1.35;
    }

    body.aid-home-page .home_case_access_inner h2 {
        font-size: 29px;
        line-height: 1.22;
    }

    body.aid-home-page .home_case_access_inner p {
        max-width: 780px;
        font-size: 16px;
        line-height: 1.7;
    }

    body.aid-home-page .home_case_access_button {
        min-width: 210px;
    }

    body.aid-home-page .home_case_metric_col {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        margin-bottom: 12px;
    }

    body.aid-home-page .home_case_metrics .single-project {
        min-height: 142px;
    }

    /* Main introductory block: one calm column instead of two narrow columns. */
    body.aid-home-page .ab_one > .container > .row {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    body.aid-home-page .ab_one > .container > .row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    body.aid-home-page .ab_one .ab_img {
        width: min(540px, 72vw);
        max-width: 540px;
        margin: 0 auto 46px;
    }

    body.aid-home-page .ab_one .ab_img img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    body.aid-home-page .ab_one > .container > .row > [class*="col-"]:last-child {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
        width: 100%;
        max-width: 920px;
        margin: 0 auto;
    }

    body.aid-home-page .ab_one .ab_content {
        grid-column: 1 / -1;
        max-width: 880px;
        margin: 0 auto 12px;
        text-align: center;
    }

    body.aid-home-page .ab_one .ab_content span {
        margin-bottom: 18px;
        padding: 7px 24px;
        font-size: 15px;
        line-height: 1.25;
    }

    body.aid-home-page .ab_one .ab_content h2 {
        max-width: 860px;
        margin: 0 auto;
        font-size: clamp(34px, 4.35vw, 43px);
        line-height: 1.22;
        letter-spacing: -0.02em;
        text-transform: none;
    }

    body.aid-home-page .ab_one .abmv {
        height: 100%;
        min-height: 0;
        margin: 0;
        padding: 26px;
        border: 1px solid rgba(255, 255, 255, 0.035);
    }

    body.aid-home-page .ab_one .abmv h4 {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
        overflow: visible;
        font-size: 20px;
        line-height: 1.35;
    }

    body.aid-home-page .ab_one .abmv h4 img {
        flex: 0 0 auto;
        width: 24px;
        height: auto;
        margin: 0;
    }

    body.aid-home-page .ab_one .abmv p {
        margin: 0;
        overflow: visible;
        font-size: 16px;
        line-height: 1.72;
    }

    /* Services: generous heading followed by a balanced 2 + 1 card grid. */
    body.aid-home-page .service_area > .container > .row:first-child > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    body.aid-home-page .service_area .section-title {
        max-width: 820px;
        margin-bottom: 24px;
    }

    body.aid-home-page .service_area .section-title h2,
    body.aid-home-page .blog_area .section-title h2 {
        font-size: clamp(34px, 4.25vw, 42px);
        line-height: 1.2;
        letter-spacing: -0.02em;
        text-transform: none;
    }

    body.aid-home-page .service_area .ser_btn {
        float: none;
        margin: 0 0 42px;
    }

    body.aid-home-page .service_area > .container > .row:last-child {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px;
    }

    body.aid-home-page .service_area > .container > .row:last-child > [class*="col-"] {
        width: auto;
        max-width: none;
        padding: 0;
    }

    body.aid-home-page .service_area > .container > .row:last-child > [class*="col-"]:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 13px);
        justify-self: center;
    }

    body.aid-home-page .single_service {
        display: flex;
        height: 100%;
        margin: 0;
        flex-direction: column;
    }

    body.aid-home-page .single_service img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    body.aid-home-page .single_service h2 {
        font-size: 22px;
        line-height: 1.3;
    }

    body.aid-home-page .single_service p {
        margin-bottom: 18px;
        font-size: 15.5px;
        line-height: 1.7;
    }

    body.aid-home-page .single_service > a {
        margin-top: auto;
    }

    /* Process section: stack the illustration below a full-width text block. */
    body.aid-home-page .why_area > .container > .row {
        display: flex;
        gap: 42px;
        flex-direction: column;
    }

    body.aid-home-page .why_area > .container > .row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    body.aid-home-page .why_area > .container > .row > [class*="col-"]:first-child {
        max-width: 900px;
        margin: 0 auto;
    }

    body.aid-home-page .why_area .ab_content {
        max-width: 860px;
        margin-bottom: 30px;
    }

    body.aid-home-page .why_area .ab_content h2 {
        font-size: clamp(34px, 4.25vw, 42px);
        line-height: 1.2;
        letter-spacing: -0.02em;
        text-transform: none;
    }

    body.aid-home-page .why_area .ab_content p {
        max-width: 830px;
        font-size: 16.5px;
        line-height: 1.75;
    }

    body.aid-home-page .why_area .single-project2 {
        min-height: 118px;
        padding: 18px 12px;
        text-align: center;
    }

    body.aid-home-page .why_area .single-project2 h2 {
        font-size: 44px;
    }

    body.aid-home-page .why_area .skill_btn {
        display: flex;
        gap: 12px;
        margin-top: 34px;
        flex-wrap: wrap;
    }

    body.aid-home-page .why_area .skill_btn a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
    }

    body.aid-home-page .why_area .sk_img {
        width: min(610px, 76vw);
        max-width: 610px;
        margin: 0 auto;
    }

    body.aid-home-page .why_area .sk_img img {
        display: block;
        width: 100%;
        height: auto;
    }

    /* Articles: two comfortable cards, then a centered third card. */
    body.aid-home-page .blog_area .section-title {
        max-width: 860px;
        margin-right: auto;
        margin-bottom: 44px;
        margin-left: auto;
    }

    body.aid-home-page .blog_area > .container > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px;
    }

    body.aid-home-page .blog_area > .container > .row > [class*="col-"] {
        width: auto;
        max-width: none;
        padding: 0;
    }

    body.aid-home-page .blog_area > .container > .row > [class*="col-"]:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 13px);
        justify-self: center;
    }

    body.aid-home-page .single_blog {
        display: flex;
        height: 100%;
        margin: 0;
        flex-direction: column;
    }

    body.aid-home-page .single_blog img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    body.aid-home-page .single_blog h3 a {
        font-size: 19px;
        line-height: 1.55;
    }

    body.aid-home-page .single_blog .blog_btn {
        margin-top: auto;
    }

    /* Public footer: 2-column tablet grid, then a calm stacked legal row. */
    body.aid-home-page .footer > .container > .row:first-child > [class*="col-"] {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        margin-bottom: 34px;
    }

    body.aid-home-page .footer .single_footer p,
    body.aid-home-page .footer .single_footer a {
        font-size: 15px;
        line-height: 1.65;
    }

    body.aid-home-page .footer .row.fc > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    body.aid-home-page .footer .footer_copyright,
    body.aid-home-page .footer .footer_copyright p {
        max-width: 760px;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    body.aid-home-page .footer .footer_menu ul {
        justify-content: center;
    }
}

/* Compact laptops: keep two columns, but prevent oversized French headings. */
@media (min-width: 1280px) and (max-width: 1439px) {
    body.aid-home-page .ab_one .ab_content h2,
    body.aid-home-page .why_area .ab_content h2 {
        font-size: 34px;
        line-height: 1.24;
        letter-spacing: -0.018em;
        text-transform: none;
    }

    body.aid-home-page .ab_one .ab_img {
        margin-right: 24px;
    }

    body.aid-home-page .ab_one .abmv {
        padding: 22px;
    }

    body.aid-home-page .section-title h2 {
        font-size: 40px;
        line-height: 1.2;
    }
}
/* === END SOURCE: /assets/css/aid-public-tablet-v1.15.4.19.35.7.css === */

/* === SOURCE: /assets/css/aid-public-phone-landscape-v1.15.4.19.35.10.css === */
/*
 * Atlantic Image Defense — public landscape-phone optimisation
 * Version 1.15.4.19.35.10
 *
 * Scope: public home page on phones used in landscape orientation.
 * This overrides the tablet hero layout where it becomes too large on
 * compact-height devices. French and English remain fully supported.
 */

@media (min-width: 568px) and (max-width: 932px) and (max-height: 500px) and (orientation: landscape) {
    body.aid-home-page {
        overflow-x: hidden;
    }

    body.aid-home-page #navigation {
        min-height: 82px;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    body.aid-home-page .home_bg,
    body.aid-home-page .hb_height {
        height: auto !important;
        min-height: 0 !important;
        padding: 124px 0 52px;
        background-position: center center !important;
    }

    body.aid-home-page .home_bg .container > .row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    body.aid-home-page .hero-text,
    body.aid-home-page .home_btns {
        max-width: 100%;
    }

    body.aid-home-page .hero-text h1,
    body.aid-home-page .hero-text.ht_top h1 {
        max-width: 100%;
        padding-top: 0 !important;
        margin-bottom: 16px;
        font-size: clamp(31px, 5.1vw, 42px);
        line-height: 1.08;
        letter-spacing: -0.022em;
        text-transform: none;
    }

    body.aid-home-page .hero-text p {
        width: min(720px, 100%);
        margin-bottom: 22px;
        font-size: 15px;
        line-height: 1.58;
    }

    body.aid-home-page .home_btns {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        align-items: center;
    }

    body.aid-home-page .home_btns a {
        margin: 0 !important;
    }

    body.aid-home-page .home_btns .btn_one,
    body.aid-home-page .home_btns .btn_two {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 22px;
        font-size: 15px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    body.aid-home-page .section-padding {
        padding-top: 54px;
        padding-bottom: 54px;
    }
}

/* Slightly shorter landscape phones such as 667×375 and 736×414. */
@media (min-width: 568px) and (max-width: 932px) and (max-height: 430px) and (orientation: landscape) {
    body.aid-home-page .home_bg,
    body.aid-home-page .hb_height {
        padding-top: 116px;
        padding-bottom: 44px;
    }

    body.aid-home-page .hero-text h1,
    body.aid-home-page .hero-text.ht_top h1 {
        font-size: clamp(28px, 4.8vw, 38px);
        margin-bottom: 14px;
    }

    body.aid-home-page .hero-text p {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 18px;
    }

    body.aid-home-page .home_btns .btn_one,
    body.aid-home-page .home_btns .btn_two {
        min-height: 46px;
        padding: 11px 20px;
        font-size: 14px;
    }
}
/* === END SOURCE: /assets/css/aid-public-phone-landscape-v1.15.4.19.35.10.css === */

/* === SOURCE: /assets/css/aid-public-home-resources-phone-portrait-v1.15.4.19.35.11.css === */
/*
 * Atlantic Image Defense — home resources portrait-phone refinement
 * Version 1.15.4.19.35.11
 *
 * Scope: only the Resources / Insights section on the public home page when
 * a phone is used in portrait orientation.
 */

@media (max-width: 767px) and (orientation: portrait) {
    body.aid-home-page .blog_area .section-title {
        margin-bottom: 22px;
    }

    body.aid-home-page .blog_area > .container > .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    body.aid-home-page .blog_area .single_blog {
        display: grid;
        grid-template-columns: minmax(120px, 34%) minmax(0, 1fr);
        column-gap: 16px;
        row-gap: 6px;
        align-items: start;
        margin-bottom: 24px;
    }

    body.aid-home-page .blog_area .single_blog img {
        grid-column: 1;
        grid-row: 1 / span 4;
        width: 100%;
        height: auto;
        min-height: 132px;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        margin-bottom: 0;
        border-radius: 12px;
    }

    body.aid-home-page .blog_area .single_blog > span,
    body.aid-home-page .blog_area .single_blog > h3,
    body.aid-home-page .blog_area .single_blog > a.blog_btn {
        grid-column: 2;
        min-width: 0;
    }

    body.aid-home-page .blog_area .single_blog > span {
        display: block;
        line-height: 1.35;
    }

    body.aid-home-page .blog_area .single_blog > span:first-of-type {
        margin-top: 2px;
    }

    body.aid-home-page .blog_area .single_blog > span:nth-of-type(2) {
        color: rgba(255,255,255,.7);
        font-size: 13px;
        margin-top: -2px;
    }

    body.aid-home-page .blog_area .single_blog h3 {
        margin: 2px 0 0;
    }

    body.aid-home-page .blog_area .single_blog h3 a {
        margin-top: 0;
        margin-bottom: 8px;
        font-size: 16px;
        line-height: 1.38;
    }

    body.aid-home-page .blog_area .single_blog .blog_btn {
        align-self: end;
        margin-top: 2px;
        font-size: 14px;
        line-height: 1.35;
    }
}
/* === END SOURCE: /assets/css/aid-public-home-resources-phone-portrait-v1.15.4.19.35.11.css === */

/* === SOURCE: /assets/css/aid-public-text-flow-v1.15.4.19.35.20.css === */
/*
 * Atlantic Image Defense — Public Text Flow & Overflow Guard
 * Version 1.15.4.19.35.20
 * Shared identically by French and English public pages.
 */

body :where(.container,.container-fluid,.row,[class*="col-"],.section-title,
  .ab_content,.abmv,.single_service,.single_blog,.single_team,.single_price,
  .contact-form,.case_access_card,.footer-content,.hero-text) {
  min-width: 0;
}

body :where(h1,h2,h3,h4,h5,h6,p,li,label,small,strong,
  .section-title span,.single_service a,.single_blog a,.footer-content a) {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

body :where(a[href],code,pre,.break-anywhere) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body :where(.btn_one,.btn_two,.blog_btn,button,input[type="submit"]) {
  height: auto;
  min-height: 44px;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
}

body :where(.single_service,.single_blog,.single_team,.single_price,.abmv) {
  height: auto;
  overflow: visible;
}

body :where(input,select,textarea) {
  min-width: 0;
  max-width: 100%;
}

body table {
  max-width: 100%;
}

body :where(table th,table td) {
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 1199px) {
  body .section-title h2,
  body .ab_content h2,
  body .hero-text h1,
  body .section-top-title h1 {
    font-size: clamp(30px, 5vw, 52px);
    line-height: 1.15;
  }
}

@media (max-width: 767px) {
  body .section-title h2,
  body .ab_content h2,
  body .hero-text h1,
  body .section-top-title h1 {
    font-size: clamp(28px, 8.4vw, 42px);
    line-height: 1.14;
  }

  body :where(.btn_one,.btn_two,button,input[type="submit"]) {
    width: auto;
    max-width: 100%;
  }
}
/* === END SOURCE: /assets/css/aid-public-text-flow-v1.15.4.19.35.20.css === */

/* === SOURCE: /assets/css/aid-public-premium-ui-v1.15.4.19.35.47.css === */
:root {
  --aid-ui-blue: #0196e7;
  --aid-ui-magenta: #ff00a4;
  --aid-ui-indigo: #171f3b;
  --aid-ui-link-light: #eef3ff;
  --aid-ui-link-muted: #cdd7f3;
}

/* Prevent browser-default blue/green links in the public legal and footer areas. */
.footer .single_footer a:not(.btn_one),
.footer .footer_menu a,
.footer .aid-cookie-manage-link {
  color: var(--aid-ui-link-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.footer .single_footer a:not(.btn_one):hover,
.footer .single_footer a:not(.btn_one):focus-visible,
.footer .footer_menu a:hover,
.footer .footer_menu a:focus-visible,
.footer .aid-cookie-manage-link:hover,
.footer .aid-cookie-manage-link:focus-visible {
  color: #ffffff !important;
  outline: none;
}

.footer .single_footer ul li a {
  position: relative;
}

.footer .single_footer ul li a::after,
.footer .footer_menu a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: linear-gradient(90deg, var(--aid-ui-blue), var(--aid-ui-magenta));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.footer .single_footer ul li a:hover::after,
.footer .single_footer ul li a:focus-visible::after,
.footer .footer_menu a:hover::after,
.footer .footer_menu a:focus-visible::after {
  transform: scaleX(1);
}

.aid-footer-trust-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  border: 1px solid rgba(1, 150, 231, 0.28);
  border-radius: 11px;
  background: linear-gradient(120deg, rgba(1, 150, 231, 0.09), rgba(255, 0, 164, 0.08));
  color: #ffffff !important;
  padding: 9px 12px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(2, 8, 25, 0.12);
}

.aid-footer-trust-link::before {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--aid-ui-blue), var(--aid-ui-magenta));
  box-shadow: 0 0 14px rgba(1, 150, 231, 0.6);
}

.aid-footer-trust-link:hover,
.aid-footer-trust-link:focus-visible {
  border-color: rgba(255, 0, 164, 0.5);
  background: linear-gradient(120deg, rgba(1, 150, 231, 0.15), rgba(255, 0, 164, 0.14));
  transform: translateY(-1px);
}

.aid-footer-contact-address {
  margin-bottom: 14px !important;
  color: #ffffff !important;
  line-height: 1.65;
}

.aid-footer-contact-links {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
}

.footer .aid-footer-contact-links a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: #e7edff !important;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 550;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.footer .aid-footer-contact-links a::before {
  content: "@";
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-right: 7px;
  border: 1px solid rgba(1, 150, 231, 0.28);
  border-radius: 50%;
  color: #a9dcff;
  font-size: 10px;
  font-weight: 800;
}

.footer .aid-footer-contact-links a:hover::before,
.footer .aid-footer-contact-links a:focus-visible::before {
  border-color: rgba(255, 0, 164, 0.55);
  color: #ffffff;
  background: rgba(255, 0, 164, 0.1);
}

.footer .aid-cookie-manage-link {
  position: relative;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  line-height: 36px;
  cursor: pointer;
}

.footer .aid-cookie-manage-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  height: 1px;
  background: linear-gradient(90deg, var(--aid-ui-blue), var(--aid-ui-magenta));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.footer .aid-cookie-manage-link:hover::after,
.footer .aid-cookie-manage-link:focus-visible::after {
  transform: scaleX(1);
}

@media (max-width: 1199px) {
  .footer .aid-footer-contact-links a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 767px) {
  .aid-footer-trust-link {
    width: fit-content;
  }

  .footer .aid-footer-contact-links a {
    font-size: 13px;
  }
}
/* === END SOURCE: /assets/css/aid-public-premium-ui-v1.15.4.19.35.47.css === */

/* === SOURCE: /assets/css/aid-public-contact-v1.15.4.19.35.68.css === */
/* Atlantic Image Defense — public contact email styling
 * Version 1.15.4.19.35.68
 * Removes browser-default link blue and aligns contact addresses with the
 * site's dark navy, white and Atlantic cyan visual language.
 */

.address_area .single_address.aid-contact-email p {
  margin: 0 0 10px;
}

.address_area .single_address.aid-contact-email p:last-child {
  margin-bottom: 0;
}

.address_area .single_address.aid-contact-email a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid rgba(24, 254, 245, .2);
  border-radius: 10px;
  background: rgba(24, 254, 245, .035);
  color: #e8f1fb !important;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none !important;
  overflow-wrap: anywhere;
  word-break: normal;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.address_area .single_address.aid-contact-email a::before {
  content: "@";
  display: inline-grid;
  place-items: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-right: 8px;
  border: 1px solid rgba(24, 254, 245, .3);
  border-radius: 50%;
  color: #18fef5;
  font-size: 11px;
  font-weight: 800;
}

.address_area .single_address.aid-contact-email a:hover,
.address_area .single_address.aid-contact-email a:focus-visible {
  border-color: rgba(24, 254, 245, .55);
  background: rgba(24, 254, 245, .075);
  color: #ffffff !important;
  outline: none;
  transform: translateY(-1px);
}

.address_area .single_address.aid-contact-email a:focus-visible {
  box-shadow: 0 0 0 3px rgba(24, 254, 245, .16);
}

@media (max-width: 767px) {
  .address_area .single_address.aid-contact-email a {
    width: min(100%, 390px);
    justify-content: flex-start;
    padding: 10px 12px;
    font-size: 14px;
  }
}
/* === END SOURCE: /assets/css/aid-public-contact-v1.15.4.19.35.68.css === */

/* === SOURCE: /assets/css/aid-public-mobile-tablet-coherence-v1.15.4.19.35.85.css === */
/*
 * Atlantic Image Defense — public mobile/tablet visual coherence
 * Version 1.15.4.19.35.85
 *
 * Scope: public website only, from phones through tablets (<= 1279.98px).
 * Desktop/laptop layouts at 1280px and above are intentionally untouched.
 */

@media (max-width: 1279.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* ---------------------------------------------------------------------
   * Header and mobile navigation
   * ------------------------------------------------------------------ */
  #navigation {
    padding-right: clamp(18px, 4vw, 44px);
    padding-left: clamp(18px, 4vw, 44px);
  }

  #navigation:not(.navbar-fixed) {
    position: relative;
  }

  #navigation > .container-fluid > .row {
    position: static;
    min-height: 74px;
    align-items: center;
    justify-content: center;
  }

  #navigation > .container-fluid > .row > .col-20:first-child {
    display: flex;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-right: 0;
    padding-left: 0;
    align-items: center;
    justify-content: center;
  }

  #navigation .site-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: clamp(190px, 32vw, 250px);
    max-width: calc(100% - 112px);
    margin: 0;
    transform: translate(-50%, -50%);
    text-align: center;
  }

  #navigation .site-logo a,
  #navigation .site-logo img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  #navigation.navbar-fixed {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  #navigation.navbar-fixed > .container-fluid > .row {
    min-height: 62px;
  }

  #sm_menu_ham {
    top: 50% !important;
    right: clamp(18px, 4vw, 44px) !important;
    left: auto !important;
    transform: translateY(-50%);
  }

  .sm_menu_outer .mobile_menu > li > a,
  .sm_menu_outer .mobile_menu .sub-menu > li > a {
    justify-content: center !important;
    text-align: center !important;
  }

  .sm_menu_outer .mobile_menu li.back a {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }

  .mobile-language-switcher .aid-language-switcher {
    justify-content: center !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* ---------------------------------------------------------------------
   * Shared visual alignment for public presentation sections
   * Long-form articles, legal documents and form fields stay left aligned.
   * ------------------------------------------------------------------ */
  .section-top-title,
  .section-title,
  .home_case_access_inner,
  .home_case_access_copy,
  .ab_content,
  .single-project,
  .single-project2,
  .single_service,
  .single_team,
  .pricingTable,
  .ser_btn,
  .skill_btn,
  .address_area .single_address,
  .thank-you-card,
  .case_access_card > :not(form) {
    text-align: center !important;
  }

  .section-title,
  .section-top-title,
  .ab_content,
  .home_case_access_copy {
    width: 100%;
    max-width: 900px;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .section-title p,
  .section-top-title p,
  .ab_content > p,
  .home_case_access_copy p,
  .single_service p,
  .single_team p,
  .address_area .single_address p {
    margin-right: auto;
    margin-left: auto;
  }

  .ab_img img,
  .sk_img img,
  .single_service > img,
  .single_team > img,
  .single_service_details > img,
  .single_blog_details > img,
  .pricingTable img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }

  .abmv {
    text-align: center;
  }

  .abmv h4,
  .single_feature h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .abmv h4 img,
  .single_feature h4 img {
    flex: 0 0 auto;
    margin: 0;
  }

  .ser_btn,
  .skill_btn,
  .actions,
  .case_access_submit {
    float: none !important;
    justify-content: center;
  }

  .ser_btn a,
  .skill_btn a,
  .single_service > a,
  .pricingTable .btn_one,
  .actions .btn,
  .case_access_submit,
  .home_case_access_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .home_case_access_inner {
    align-items: center !important;
  }

  .home_case_access_button {
    margin-right: auto;
    margin-left: auto;
  }

  .why_area .ab_content,
  .why_area .ab_content p {
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
    text-align: center !important;
  }

  .why_area .skill_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
  }

  .why_area .single-project2,
  .home_case_metrics .single-project {
    width: 100%;
    height: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  /* ---------------------------------------------------------------------
   * Resources / Insights cards
   * ------------------------------------------------------------------ */
  .blog_area > .container > .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 38px);
    align-items: stretch;
    justify-items: center;
    margin-right: 0;
    margin-left: 0;
  }

  .blog_area > .container > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.aid-home-page .blog_area > .container > .row > [class*="col-"]:last-child {
    grid-column: auto;
    width: 100% !important;
  }

  .blog_area .single_blog,
  body.aid-home-page .blog_area .single_blog {
    display: flex !important;
    width: 100%;
    max-width: 560px;
    height: 100%;
    margin: 0 auto !important;
    flex-direction: column;
    align-items: center;
    text-align: center !important;
  }

  .blog_area .single_blog img,
  body.aid-home-page .blog_area .single_blog img {
    display: block;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    max-width: 520px;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
    margin: 0 auto 20px !important;
    object-fit: cover;
  }

  .blog_area .single_blog > span,
  .blog_area .single_blog > h3,
  .blog_area .single_blog > a.blog_btn,
  body.aid-home-page .blog_area .single_blog > span,
  body.aid-home-page .blog_area .single_blog > h3,
  body.aid-home-page .blog_area .single_blog > a.blog_btn {
    grid-column: auto !important;
    width: 100%;
    min-width: 0;
    text-align: center !important;
  }

  .blog_area .single_blog > span {
    display: block;
    margin: 0 0 7px !important;
  }

  .blog_area .single_blog > span a {
    margin-right: 0;
  }

  .blog_area .single_blog h3 {
    width: 100%;
    margin: 4px 0 0;
  }

  .blog_area .single_blog h3 a {
    margin: 0 auto 18px;
    text-align: center;
  }

  .blog_area .single_blog .blog_btn {
    margin-top: auto !important;
  }

  /* Article metadata and title are centered, body copy remains readable. */
  .single_blog_details {
    text-align: left;
  }

  .single_blog_details > span {
    display: inline-flex;
    align-items: center;
    margin: 0 10px 10px;
  }

  .single_blog_details > h2,
  .single_blog_details > img:first-child,
  .single_blog_details + .single_ssd_info > h4,
  .comment_form > h3 {
    text-align: center;
  }

  /* ---------------------------------------------------------------------
   * Public footer: one visual axis on phone/tablet
   * ------------------------------------------------------------------ */
  .footer,
  .footer .single_footer,
  .footer .footer_copyright,
  .footer .footer_copyright p,
  .footer .footer_menu {
    text-align: center !important;
  }

  .footer > .container > .row:first-child {
    justify-content: center;
  }

  .footer > .container > .row:first-child > [class*="col-"] {
    display: flex;
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    justify-content: center;
  }

  .footer .single_footer {
    width: 100%;
    max-width: 540px;
    margin-right: auto;
    margin-bottom: 46px;
    margin-left: auto;
  }

  .footer .single_footer > a:first-child,
  .footer .single_footer > a:first-child img {
    display: block;
    width: min(100%, 340px);
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }

  .footer .single_footer h4,
  .footer .single_footer p,
  .footer .single_footer ul,
  .footer .single_footer li {
    text-align: center !important;
  }

  .footer .single_footer ul {
    display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: center;
    list-style: none;
  }

  .footer .single_footer ul li,
  .footer .single_footer ul li a,
  .footer .single_footer ul li button {
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .footer .aid-footer-trust-link {
    justify-content: center;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .footer .aid-footer-contact-address {
    max-width: 460px;
    margin-right: auto;
    margin-left: auto;
  }

  .footer .aid-footer-contact-links {
    align-items: center;
  }

  .footer .aid-footer-contact-links a {
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    overflow-wrap: anywhere;
    text-align: center;
  }

  .footer .single_footer .btn_one {
    display: inline-flex;
    margin-right: auto;
    margin-left: auto;
    align-items: center;
    justify-content: center;
  }

  .footer .row.fc {
    justify-content: center;
  }

  .footer .row.fc > [class*="col-"] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .footer .footer_copyright,
  .footer .footer_menu {
    float: none !important;
    width: 100%;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
  }

  .footer .footer_copyright p {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .footer .footer_made_usa img {
    display: block !important;
    width: min(100%, 210px) !important;
    height: auto !important;
    margin: 18px auto !important;
  }

  .footer .footer_menu ul {
    display: flex;
    float: none;
    margin: 18px 0 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: 12px 24px;
    flex-wrap: wrap;
  }

  .footer .footer_menu ul li {
    float: none;
    margin: 0;
  }

  /* ---------------------------------------------------------------------
   * Keep forms usable: centered blocks, left-aligned input content.
   * ------------------------------------------------------------------ */
  .contact form,
  .comment_form form,
  .case_access_form,
  .aid-legal-document,
  .aid-legal-clause,
  .single_service_details,
  .single_ssd_info {
    text-align: left;
  }

  .contact .actions,
  .comment_form .actions {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  input,
  textarea,
  select,
  option {
    text-align: left;
  }
}

@media (max-width: 767.98px) {
  #navigation {
    padding: 18px 16px;
  }

  #navigation > .container-fluid > .row {
    min-height: 66px;
  }

  #navigation .site-logo {
    width: clamp(188px, 58vw, 228px);
    max-width: calc(100% - 92px);
  }

  #sm_menu_ham {
    right: 16px !important;
  }

  .section-padding {
    padding-right: 0;
    padding-left: 0;
  }

  .section-title,
  .section-top-title,
  .ab_content,
  .home_case_access_copy {
    max-width: 100%;
  }

  .home_case_access_inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  .why_area .row > [class*="col-"],
  .home_case_metrics .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
  }

  .why_area .single-project2 {
    max-width: 440px;
  }

  .why_area .skill_btn {
    width: 100%;
  }

  .why_area .skill_btn a,
  .ser_btn a,
  .home_case_access_button {
    width: min(100%, 420px);
  }

  .blog_area > .container > .row {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .blog_area .single_blog,
  body.aid-home-page .blog_area .single_blog {
    max-width: 520px;
  }

  .blog_area .single_blog img,
  body.aid-home-page .blog_area .single_blog img {
    max-width: min(100%, 420px);
    aspect-ratio: 4 / 3;
  }

  .single_blog_details > span {
    display: flex;
    width: 100%;
    margin: 0 0 8px;
    justify-content: center;
    text-align: center;
  }

  .footer > .container > .row:first-child > [class*="col-"] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .footer .single_footer {
    max-width: 620px;
  }

  .footer .single_footer > a:first-child,
  .footer .single_footer > a:first-child img {
    width: min(100%, 300px);
  }

  .footer .aid-footer-contact-links a {
    font-size: clamp(14px, 4vw, 17px);
  }

  .footer .footer_menu ul {
    flex-direction: column;
    gap: 14px;
  }
}
/* === END SOURCE: /assets/css/aid-public-mobile-tablet-coherence-v1.15.4.19.35.85.css === */

/* === SOURCE: /assets/css/aid-mobile-navigation-persistence-v1.15.4.19.35.86.css === */
/*
 * Atlantic Image Defense — persistent public mobile/tablet navigation
 * Version 1.15.4.19.35.86
 *
 * Scope: public website only on phones and tablets (<= 1279.98px).
 * Keeps the complete navigation bar and its compact menu trigger visible
 * throughout vertical navigation, without changing desktop layouts.
 */

@media (max-width: 1279.98px) {
  :root {
    --aid-public-mobile-nav-height: 92px;
  }

  body {
    padding-top: var(--aid-public-mobile-nav-height) !important;
  }

  /* The header remains in its dedicated viewport position from page load.
     The scroll-added navbar-fixed class no longer changes its geometry. */
  #navigation,
  #navigation:not(.navbar-fixed),
  #navigation.navbar-fixed {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    border-radius: 0 !important;
    background: rgba(20, 25, 45, .985) !important;
    box-shadow: 0 12px 30px rgba(7, 12, 25, .2) !important;
    opacity: 1 !important;
    animation: none !important;
    -webkit-animation: none !important;
    transform: none !important;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
  }

  #navigation > .container-fluid,
  #navigation > .container-fluid > .row {
    position: relative !important;
    z-index: 1;
  }

  #navigation .site-logo {
    z-index: 1001 !important;
  }

  /* The plugin appends the hamburger directly to <body>. It must therefore
     be viewport-fixed; percentage positioning would place it in page content. */
  #sm_menu_ham,
  body.mmactive #sm_menu_ham {
    display: block !important;
    position: fixed !important;
    top: 20px !important;
    right: clamp(18px, 4vw, 44px) !important;
    left: auto !important;
    z-index: 1003 !important;
    margin: 0 !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .sm_menu_outer {
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: env(safe-area-inset-top) !important;
  }

  .sm_menu_outer.active {
    z-index: 1002 !important;
  }

  body.mmactive {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  /* Keyboard focus remains visible above the fixed header and menu panel. */
  #sm_menu_ham:focus-visible {
    outline: 3px solid #18fef5;
    outline-offset: 4px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --aid-public-mobile-nav-height: 86px;
  }

  #navigation,
  #navigation:not(.navbar-fixed),
  #navigation.navbar-fixed {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  #sm_menu_ham,
  body.mmactive #sm_menu_ham {
    top: 18px !important;
    right: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1279.98px) {
  #navigation,
  #sm_menu_ham,
  .sm_menu_outer {
    transition: none !important;
    animation: none !important;
  }
}
/* === END SOURCE: /assets/css/aid-mobile-navigation-persistence-v1.15.4.19.35.86.css === */

/* === SOURCE: /assets/css/aid-cookie-consent-v1.15.4.19.35.81.css === */
:root {
  --aid-cookie-night: #0f162d;
  --aid-cookie-night-2: #151e3b;
  --aid-cookie-panel: #182240;
  --aid-cookie-text: #f7f8ff;
  --aid-cookie-muted: #c7cee6;
  --aid-cookie-blue: #0196e7;
  --aid-cookie-magenta: #ff00a4;
  --aid-cookie-border: rgba(255, 255, 255, 0.12);
}

.aid-cookie-banner,
.aid-cookie-panel {
  box-sizing: border-box;
  font-family: Lexend, Arial, sans-serif;
  color: var(--aid-cookie-text);
}

.aid-cookie-banner *,
.aid-cookie-panel * {
  box-sizing: border-box;
}

.aid-cookie-banner[hidden],
.aid-cookie-panel[hidden] {
  display: none !important;
}

/* Bottom consent banner: centered, compact and aligned with the Atlantic identity. */
.aid-cookie-banner {
  position: fixed !important;
  z-index: 99999 !important;
  left: 50% !important;
  right: auto !important;
  bottom: 24px !important;
  transform: translateX(-50%) !important;
  width: min(1080px, calc(100vw - 40px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(1, 150, 231, 0.34);
  border-radius: 20px;
  background:
    radial-gradient(circle at 5% 0%, rgba(1, 150, 231, 0.17), transparent 34%),
    radial-gradient(circle at 95% 100%, rgba(255, 0, 164, 0.14), transparent 33%),
    linear-gradient(145deg, rgba(20, 29, 57, 0.985), rgba(10, 16, 35, 0.99));
  box-shadow: 0 28px 90px rgba(2, 7, 22, 0.54), 0 0 0 1px rgba(255, 255, 255, 0.025) inset;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.aid-cookie-banner::before,
.aid-cookie-panel__dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--aid-cookie-blue), #7958ff 52%, var(--aid-cookie-magenta));
  pointer-events: none;
}

.aid-cookie-banner__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 22px 24px;
}

.aid-cookie-banner__copy {
  min-width: 0;
}

.aid-cookie-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  color: #9edbff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.aid-cookie-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--aid-cookie-blue), var(--aid-cookie-magenta));
  box-shadow: 0 0 16px rgba(1, 150, 231, 0.65);
}

.aid-cookie-banner h2,
.aid-cookie-panel h2 {
  margin: 0;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.aid-cookie-banner p,
.aid-cookie-panel p {
  margin: 8px 0 0;
  color: var(--aid-cookie-muted);
  font-size: 13px;
  line-height: 1.65;
}

.aid-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 18px;
}

.aid-cookie-button {
  appearance: none;
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.055);
  color: #f7f8ff;
  padding: 10px 15px;
  font-size: 12px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.aid-cookie-button:hover,
.aid-cookie-button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(1, 150, 231, 0.75);
  background: rgba(1, 150, 231, 0.1);
  outline: none;
  box-shadow: 0 8px 22px rgba(1, 150, 231, 0.12);
}

.aid-cookie-button--primary {
  border-color: transparent;
  background: linear-gradient(100deg, var(--aid-cookie-blue), #6f55ff 48%, var(--aid-cookie-magenta));
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(91, 55, 209, 0.3);
}

.aid-cookie-button--primary:hover,
.aid-cookie-button--primary:focus-visible {
  border-color: transparent;
  background: linear-gradient(100deg, #13a8f2, #7b63ff 48%, #ff25b2);
  box-shadow: 0 15px 34px rgba(99, 53, 218, 0.4);
}

.aid-cookie-button--link {
  min-height: auto;
  border: 0;
  background: none;
  padding: 4px;
}

/* Preferences dialog: fixed bottom-center placement, isolated from legacy theme CSS. */
.aid-cookie-panel {
  position: fixed !important;
  z-index: 100000 !important;
  inset: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100vw !important;
  min-width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 24px !important;
  overflow: auto !important;
  background: rgba(5, 9, 24, 0.82) !important;
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}

.aid-cookie-panel__dialog {
  position: relative;
  width: min(920px, calc(100vw - 48px)) !important;
  max-width: 920px !important;
  max-height: min(82vh, 760px) !important;
  margin: 0 auto !important;
  overflow: auto;
  border: 1px solid rgba(1, 150, 231, 0.3);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(1, 150, 231, 0.16), transparent 31%),
    radial-gradient(circle at 100% 100%, rgba(255, 0, 164, 0.11), transparent 32%),
    linear-gradient(145deg, rgba(24, 34, 64, 0.995), rgba(12, 18, 39, 0.995));
  color: var(--aid-cookie-text);
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.58), 0 0 0 1px rgba(255, 255, 255, 0.025) inset;
  padding: 30px;
}

.aid-cookie-panel__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.aid-cookie-panel__header h2 {
  margin-top: 4px;
  font-size: clamp(23px, 3vw, 30px);
}

.aid-cookie-panel__close {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: 0.18s ease;
}

.aid-cookie-panel__close:hover,
.aid-cookie-panel__close:focus-visible {
  border-color: rgba(255, 0, 164, 0.65);
  background: rgba(255, 0, 164, 0.1);
  outline: none;
}

.aid-cookie-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.aid-cookie-category {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  min-height: 132px;
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.095);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.04);
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

label.aid-cookie-category {
  cursor: pointer;
}

label.aid-cookie-category:hover {
  transform: translateY(-1px);
  border-color: rgba(1, 150, 231, 0.38);
  background: rgba(1, 150, 231, 0.065);
}

.aid-cookie-category h3 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
}

.aid-cookie-category small {
  display: block;
  color: #bfc7df;
  font-size: 12px;
  line-height: 1.55;
}

.aid-cookie-category input {
  appearance: none;
  position: relative;
  width: 42px;
  height: 24px;
  margin: 1px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: 0.2s ease;
}

.aid-cookie-category input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: 0.2s ease;
}

.aid-cookie-category input:checked {
  border-color: transparent;
  background: linear-gradient(100deg, var(--aid-cookie-blue), var(--aid-cookie-magenta));
}

.aid-cookie-category input:checked::after {
  transform: translateX(18px);
}

.aid-cookie-category input:focus-visible {
  outline: 3px solid rgba(1, 150, 231, 0.24);
  outline-offset: 3px;
}

.aid-cookie-category em {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid rgba(1, 150, 231, 0.28);
  border-radius: 999px;
  background: rgba(1, 150, 231, 0.09);
  color: #a9dcff;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.aid-cookie-panel__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.aid-cookie-policy-link {
  position: relative;
  color: #dcecff !important;
  text-decoration: none !important;
  font-weight: 700;
  transition: color 0.18s ease;
}

.aid-cookie-policy-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 1px;
  background: linear-gradient(90deg, var(--aid-cookie-blue), var(--aid-cookie-magenta));
  transform: scaleX(0.35);
  transform-origin: left;
  opacity: 0.7;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.aid-cookie-policy-link:hover,
.aid-cookie-policy-link:focus-visible {
  color: #ffffff !important;
  outline: none;
}

.aid-cookie-policy-link:hover::after,
.aid-cookie-policy-link:focus-visible::after {
  transform: scaleX(1);
  opacity: 1;
}

.aid-cookie-sr-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.aid-cookie-dialog-open {
  overflow: hidden !important;
}

@media (max-width: 860px) {
  .aid-cookie-banner {
    bottom: 14px !important;
    width: min(720px, calc(100vw - 24px)) !important;
  }

  .aid-cookie-banner__row {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px;
  }

  .aid-cookie-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .aid-cookie-panel {
    padding: 12px !important;
  }

  .aid-cookie-panel__dialog {
    max-height: calc(100vh - 24px) !important;
    border-radius: 18px;
    padding: 22px 18px;
  }

  .aid-cookie-category-grid {
    grid-template-columns: 1fr;
  }

  .aid-cookie-category {
    min-height: auto;
  }

  .aid-cookie-panel__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .aid-cookie-panel__footer .aid-cookie-actions,
  .aid-cookie-panel__footer .aid-cookie-button {
    width: 100%;
  }

  .aid-cookie-banner {
    bottom: 10px !important;
    width: calc(100vw - 20px) !important;
    border-radius: 16px;
  }

  .aid-cookie-banner__row {
    padding: 18px 16px;
  }

  .aid-cookie-banner .aid-cookie-actions,
  .aid-cookie-banner .aid-cookie-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aid-cookie-button,
  .aid-cookie-category,
  .aid-cookie-category input,
  .aid-cookie-category input::after,
  .aid-cookie-panel__close,
  .aid-cookie-policy-link::after {
    transition: none !important;
  }
}


/* Atlantic Image Defense — cookie dialog placement hardening
 * Version 1.15.4.19.35.52
 */
html body > .aid-cookie-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  transform: none !important;
  float: none !important;
  clear: both !important;
  text-align: left !important;
}
html body > .aid-cookie-panel[hidden] {
  display: none !important;
}
html body > .aid-cookie-panel > .aid-cookie-panel__dialog {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  flex: 0 1 920px !important;
  width: min(920px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
}
@media (max-width: 680px) {
  html body > .aid-cookie-panel {
    padding: 10px !important;
  }
  html body > .aid-cookie-panel > .aid-cookie-panel__dialog {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }
}


/* Atlantic Image Defense — cookie dialog controls premium hardening
 * Version 1.15.4.19.35.53
 */
html body > .aid-cookie-panel > .aid-cookie-panel__dialog {
  padding: 30px !important;
}

html body > .aid-cookie-panel > .aid-cookie-panel__dialog > .aid-cookie-panel__header {
  position: relative !important;
  display: block !important;
  min-height: 44px !important;
  padding: 0 66px 22px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09) !important;
}

html body > .aid-cookie-panel > .aid-cookie-panel__dialog > .aid-cookie-panel__header > div {
  display: block !important;
  min-width: 0 !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__close {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 4 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 0 2px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
  font-size: 27px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  cursor: pointer !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
  transform: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__close:hover,
html body > .aid-cookie-panel .aid-cookie-panel__close:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(255, 0, 164, 0.72) !important;
  background: linear-gradient(135deg, rgba(1,150,231,.24), rgba(255,0,164,.20)) !important;
  outline: none !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.28), 0 0 0 3px rgba(255,0,164,.10) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin: 24px 0 0 !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(1,150,231,.22) !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(1,150,231,.08), rgba(121,88,255,.07)) !important;
  color: #dcecff !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--aid-cookie-blue), var(--aid-cookie-magenta)) !important;
  box-shadow: 0 0 14px rgba(1,150,231,.55) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link::after {
  display: none !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link:hover,
html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link:focus-visible {
  border-color: rgba(255,0,164,.45) !important;
  background: linear-gradient(135deg, rgba(1,150,231,.13), rgba(255,0,164,.11)) !important;
  color: #ffffff !important;
  outline: none !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 132px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 11px 17px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  color: #f7f8ff !important;
  font-family: Lexend, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.16) !important;
  transform: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button:hover,
html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(1,150,231,.65) !important;
  background: linear-gradient(145deg, rgba(1,150,231,.16), rgba(121,88,255,.12)) !important;
  outline: none !important;
  box-shadow: 0 12px 28px rgba(1,150,231,.14) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button--primary {
  border-color: transparent !important;
  background: linear-gradient(100deg, var(--aid-cookie-blue), #6f55ff 48%, var(--aid-cookie-magenta)) !important;
  color: #ffffff !important;
  box-shadow: 0 13px 30px rgba(91,55,209,.34) !important;
}

html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button--primary:hover,
html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button--primary:focus-visible {
  border-color: transparent !important;
  background: linear-gradient(100deg, #13a8f2, #7b63ff 48%, #ff25b2) !important;
  box-shadow: 0 16px 36px rgba(99,53,218,.43) !important;
}

@media (max-width: 680px) {
  html body > .aid-cookie-panel > .aid-cookie-panel__dialog {
    padding: 22px 18px !important;
  }
  html body > .aid-cookie-panel > .aid-cookie-panel__dialog > .aid-cookie-panel__header {
    padding-right: 54px !important;
  }
  html body > .aid-cookie-panel .aid-cookie-panel__close {
    top: 14px !important;
    right: 14px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 12px !important;
  }
  html body > .aid-cookie-panel .aid-cookie-panel__footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-policy-link,
  html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-actions,
  html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-button {
    width: 100% !important;
  }
}


/* Atlantic Image Defense — cookie action spacing refinement
 * Version 1.15.4.19.35.55
 */
html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-actions {
  column-gap: 18px !important;
  row-gap: 12px !important;
}
@media (max-width: 680px) {
  html body > .aid-cookie-panel .aid-cookie-panel__footer .aid-cookie-actions {
    gap: 12px !important;
  }
}

/* Atlantic Image Defense — Chrome cookie banner rendering hardening
 * Version 1.15.4.19.35.81
 * Uses explicit WebKit normalization and high-specificity fallbacks so the
 * consent controls cannot inherit raw browser button styles or footer layout.
 */
html body > .aid-cookie-banner {
  -webkit-appearance: none !important;
  appearance: none !important;
  isolation: isolate !important;
  display: block !important;
  position: fixed !important;
  z-index: 2147482999 !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 24px !important;
  width: min(1080px, calc(100vw - 40px)) !important;
  max-width: 1080px !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate3d(-50%, 0, 0) !important;
  overflow: hidden !important;
  border: 1px solid rgba(1, 150, 231, 0.38) !important;
  border-radius: 20px !important;
  background-color: #10182f !important;
  background-image:
    radial-gradient(circle at 5% 0%, rgba(1, 150, 231, 0.18), transparent 34%),
    radial-gradient(circle at 95% 100%, rgba(255, 0, 164, 0.15), transparent 33%),
    linear-gradient(145deg, rgba(20, 29, 57, 0.99), rgba(10, 16, 35, 0.995)) !important;
  box-shadow: 0 28px 90px rgba(2, 7, 22, 0.56), inset 0 0 0 1px rgba(255, 255, 255, 0.03) !important;
  color: #f7f8ff !important;
  font-family: Lexend, Arial, sans-serif !important;
  text-align: left !important;
}

html body > .aid-cookie-banner > .aid-cookie-banner__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  background: transparent !important;
}

html body > .aid-cookie-banner .aid-cookie-banner__copy {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body > .aid-cookie-banner .aid-cookie-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 7px !important;
  color: #9edbff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

html body > .aid-cookie-banner h2 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}

html body > .aid-cookie-banner p {
  display: block !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: #c7cee6 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

html body > .aid-cookie-banner .aid-cookie-policy-link {
  color: #73d8ff !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

html body > .aid-cookie-banner .aid-cookie-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body > .aid-cookie-banner .aid-cookie-button {
  all: unset !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 11px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 11px !important;
  background-color: rgba(255, 255, 255, 0.075) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  color: #f7f8ff !important;
  font-family: Lexend, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.16) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

html body > .aid-cookie-banner .aid-cookie-button:hover,
html body > .aid-cookie-banner .aid-cookie-button:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(1, 150, 231, 0.78) !important;
  background-color: rgba(1, 150, 231, 0.14) !important;
  background-image: linear-gradient(145deg, rgba(1,150,231,.18), rgba(121,88,255,.12)) !important;
  outline: none !important;
  box-shadow: 0 12px 28px rgba(1,150,231,.16), 0 0 0 3px rgba(1,150,231,.10) !important;
}

html body > .aid-cookie-banner .aid-cookie-button--primary {
  border-color: transparent !important;
  background-color: #6256ec !important;
  background-image: linear-gradient(100deg, #0196e7, #6f55ff 48%, #ff00a4) !important;
  color: #ffffff !important;
  box-shadow: 0 13px 30px rgba(91,55,209,.36) !important;
}

html body > .aid-cookie-banner .aid-cookie-button--primary:hover,
html body > .aid-cookie-banner .aid-cookie-button--primary:focus-visible {
  border-color: transparent !important;
  background-image: linear-gradient(100deg, #13a8f2, #7b63ff 48%, #ff25b2) !important;
  box-shadow: 0 16px 36px rgba(99,53,218,.44) !important;
}

@media (max-width: 900px) {
  html body > .aid-cookie-banner > .aid-cookie-banner__row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  html body > .aid-cookie-banner .aid-cookie-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 680px) {
  html body > .aid-cookie-banner {
    bottom: 10px !important;
    width: calc(100vw - 20px) !important;
    border-radius: 16px !important;
  }
  html body > .aid-cookie-banner > .aid-cookie-banner__row {
    padding: 18px 16px !important;
  }
  html body > .aid-cookie-banner .aid-cookie-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }
  html body > .aid-cookie-banner .aid-cookie-button {
    width: 100% !important;
    white-space: normal !important;
  }
}

@media (forced-colors: active) {
  html body > .aid-cookie-banner,
  html body > .aid-cookie-banner .aid-cookie-button {
    forced-color-adjust: none !important;
  }
}
/* === END SOURCE: /assets/css/aid-cookie-consent-v1.15.4.19.35.81.css === */

/* === RELEASE-SCOPED GOVERNANCE GUARDRAILS === */
body.aid-context-public {
  --aid-ui-context: public;
  max-width: 100%;
}
@supports (overflow: clip) {
  body.aid-context-public { overflow-x: clip; }
}
body.aid-context-public img,
body.aid-context-public video,
body.aid-context-public svg { max-width: 100%; }


/* === SOURCE: /assets/css/aid-public-header-language-menu-v1.15.4.19.35.90.css === */
/*
 * Atlantic Image Defense — restored compact-header logo scale.
 * Version 1.15.4.19.35.90
 *
 * Scope: public website compact header and mobile/tablet navigation only.
 * Restores the established v87 logo dimensions while retaining the v88/v89
 * FR/EN placement, centered logo, right-side hamburger and left-aligned menu.
 */
.aid-compact-header-shell{position:relative;width:100%}
.aid-compact-language{display:none}
@media (max-width:1879px){
  #navigation > .container-fluid > .row > .col-20:first-child{position:relative;display:block;width:100%;max-width:100%;padding-left:0;padding-right:0}
  #navigation .aid-compact-header-shell{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;width:100%;min-height:54px;padding:0}
  #navigation .aid-compact-language{position:relative;z-index:2;display:flex;grid-column:1;align-items:center;justify-self:start;max-width:112px}
  #navigation .aid-compact-language .aid-language-switcher{gap:6px;justify-content:flex-start}
  #navigation .aid-compact-language .aid-language-switcher > span{display:none}
  #navigation .aid-compact-language .aid-language-switcher a{min-width:40px;height:36px;padding:0 10px;border-radius:8px;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.06);color:#fff;font-size:12px;font-weight:800;box-shadow:none}
  #navigation .aid-compact-language .aid-language-switcher a:hover,
  #navigation .aid-compact-language .aid-language-switcher a:focus-visible{border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.12);color:#fff;outline:none}
  #navigation .aid-compact-language .aid-language-switcher a.is-active,
  #navigation .aid-compact-language .aid-language-switcher a[aria-current="true"]{border-color:#fff;background:#fff;color:#102432;box-shadow:0 8px 18px rgba(0,0,0,.2)}
  #navigation .site-logo{position:relative!important;top:auto!important;left:auto!important;z-index:1;display:flex;grid-column:2;justify-content:center;justify-self:center;width:clamp(190px,32vw,250px);max-width:100%;margin:0;transform:none!important}
  #navigation .site-logo a{display:block;width:100%}
  #navigation .site-logo img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto}
  .sm_menu_outer.active .mobile_menu{width:min(900px,calc(100% - 48px));margin:0 auto;padding:clamp(100px,12vh,132px) 0 42px!important}
  .sm_menu_outer .mobile_menu,
  .sm_menu_outer .mobile_menu li,
  .sm_menu_outer .mobile_menu a{text-align:left!important}
  .sm_menu_outer .mobile_menu > li > a,
  .sm_menu_outer.accordion .mobile_menu .sub-menu > li > a{justify-content:flex-start!important}
  .sm_menu_outer .mobile_menu > li > a{padding-left:18px!important}
  .sm_menu_outer.accordion .mobile_menu li.hasChild > a.submenu-toggle{padding-left:18px!important;padding-right:70px!important}
  .sm_menu_outer.accordion .mobile_menu .sub-menu > li > a{padding-left:34px!important;padding-right:58px!important}
}
@media (max-width:767px){
  #navigation{padding-left:14px!important;padding-right:14px!important}
  #navigation .aid-compact-header-shell{grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr);min-height:48px;padding:0}
  #navigation .aid-compact-language{max-width:58px}
  #navigation .aid-compact-language .aid-language-switcher{gap:2px}
  #navigation .aid-compact-language .aid-language-switcher a{min-width:28px;height:32px;padding:0 5px;font-size:11px}
  #navigation .site-logo{width:clamp(188px,58vw,228px);max-width:100%}
  #navigation .site-logo img{width:100%;max-width:100%}
  #sm_menu_ham,body.mmactive #sm_menu_ham{right:14px!important}
  .sm_menu_outer.active .mobile_menu{width:calc(100% - 36px)}
}
@media (max-width:360px){
  #navigation{padding-left:10px!important;padding-right:10px!important}
  #navigation .aid-compact-header-shell{grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr)}
  #navigation .aid-compact-language{max-width:56px}
  #navigation .aid-compact-language .aid-language-switcher a{min-width:27px;height:30px;padding:0 4px;font-size:10px}
  #navigation .site-logo{width:clamp(188px,58vw,208px)}
  #sm_menu_ham,body.mmactive #sm_menu_ham{right:10px!important}
}
@media (min-width:1880px){
  #navigation .aid-compact-language{display:none!important}
  #navigation .aid-compact-header-shell{display:block;padding:0}
  #navigation .site-logo{position:static!important;width:150px;max-width:none;transform:none!important}
}
/* === END SOURCE: /assets/css/aid-public-header-language-menu-v1.15.4.19.35.90.css === */


/* === SOURCE: /assets/css/aid-public-compact-language-toggle-v1.15.4.19.35.91.css === */
/*
 * Atlantic Image Defense — one-click compact language toggle.
 * Version 1.15.4.19.35.91
 *
 * Scope: compact public header only. The active locale is hidden and the
 * single visible button always points to the alternate locale: FR when the
 * page is English, EN when the page is French. Desktop, portal, recipient
 * portal and legal language controls retain their existing presentation.
 */
@media (max-width:1879px){
  #navigation .aid-compact-language{max-width:48px}
  #navigation .aid-compact-language .aid-language-switcher{
    display:inline-flex;
    width:auto;
    gap:0;
  }
  #navigation .aid-compact-language .aid-language-switcher > span,
  #navigation .aid-compact-language .aid-language-switcher a.is-active,
  #navigation .aid-compact-language .aid-language-switcher a[aria-current="true"]{
    display:none!important;
  }
  #navigation .aid-compact-language .aid-language-switcher a:not(.is-active):not([aria-current="true"]){
    display:inline-flex!important;
    min-width:42px;
    height:36px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.06em;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
  }
  #navigation .aid-compact-language .aid-language-switcher a:not(.is-active):not([aria-current="true"]):hover,
  #navigation .aid-compact-language .aid-language-switcher a:not(.is-active):not([aria-current="true"]):focus-visible{
    border-color:#fff;
    background:#fff;
    color:#102432;
    outline:none;
    box-shadow:0 8px 18px rgba(0,0,0,.2);
  }
}
@media (max-width:767px){
  #navigation .aid-compact-language{max-width:44px}
  #navigation .aid-compact-language .aid-language-switcher a:not(.is-active):not([aria-current="true"]){
    min-width:40px;
    height:32px;
    padding:0 8px;
    font-size:11px;
  }
}
@media (max-width:360px){
  #navigation .aid-compact-language{max-width:40px}
  #navigation .aid-compact-language .aid-language-switcher a:not(.is-active):not([aria-current="true"]){
    min-width:38px;
    height:30px;
    padding:0 7px;
    font-size:10px;
  }
}
/* === END SOURCE: /assets/css/aid-public-compact-language-toggle-v1.15.4.19.35.91.css === */


/* === SOURCE: /assets/css/aid-footer-registration-number-v1.15.4.19.35.93.css === */
/*
 * Atlantic Image Defense — public footer registration-number neutrality
 * Version 1.15.4.19.35.93
 *
 * Prevents mobile browsers from presenting the New York filing number as an
 * active telephone link. The legal text remains selectable and visually
 * identical to the surrounding copyright statement.
 */
.footer .footer_copyright a[x-apple-data-detectors],
.footer .footer_copyright a[href^="tel:"],
.footer .footer_copyright a[href^="sms:"]{
  color:inherit!important;
  font:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-decoration:none!important;
  cursor:text!important;
  pointer-events:none!important;
}
/* === END SOURCE: /assets/css/aid-footer-registration-number-v1.15.4.19.35.93.css === */


/* === Atlantic Image Defense v1.15.4.19.35.123 ===
 * Unified public language selector.
 * The public website now uses the same framed, raised-button treatment as
 * the authentication pages while preserving the established responsive
 * logo and navigation geometry.
 */
.aid-language-switcher-public{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:auto;
  padding:8px 10px;
  border:1px solid rgba(20,45,59,.18);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 24px rgba(16,36,50,.10),inset 0 1px 0 rgba(255,255,255,.84);
  box-sizing:border-box;
}
.aid-language-switcher-public>span{display:inline!important;color:rgba(36,57,69,.38);font-size:11px;line-height:1}
.aid-language-switcher-public a,
.aid-language-switcher-public a.is-active,
.aid-language-switcher-public a[aria-current="true"]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:36px;
  padding:0 11px;
  border:1px solid rgba(16,36,50,.14);
  border-radius:8px;
  background:#eef3f6;
  color:#173445;
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.05em;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 4px 10px rgba(16,36,50,.08);
  box-sizing:border-box;
}
.aid-language-switcher-public a:hover,
.aid-language-switcher-public a:focus-visible{
  border-color:#247b9a;
  background:#fff;
  color:#102432;
  outline:none;
  box-shadow:0 7px 16px rgba(16,36,50,.14);
}
.aid-language-switcher-public a.is-active,
.aid-language-switcher-public a[aria-current="true"]{
  border-color:#fff;
  background:#fff;
  color:#102432;
  box-shadow:0 7px 16px rgba(16,36,50,.16),inset 0 1px 0 #fff;
}

/* Dark public header: reproduce the authentication-page shell. */
#navigation .atlantic-header-actions .aid-language-switcher-public,
#navigation .aid-compact-language .aid-language-switcher-public{
  gap:6px;
  padding:8px 10px;
  border-color:rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(9,18,27,.42);
  box-shadow:0 10px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.05);
}
#navigation .atlantic-header-actions .aid-language-switcher-public>span,
#navigation .aid-compact-language .aid-language-switcher-public>span{display:inline!important;color:rgba(255,255,255,.48)}
#navigation .atlantic-header-actions .aid-language-switcher-public a,
#navigation .aid-compact-language .aid-language-switcher-public a,
#navigation .aid-compact-language .aid-language-switcher-public a:not(.is-active):not([aria-current="true"]){
  display:inline-flex!important;
  min-width:42px;
  height:36px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.05em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
#navigation .atlantic-header-actions .aid-language-switcher-public a:hover,
#navigation .atlantic-header-actions .aid-language-switcher-public a:focus-visible,
#navigation .aid-compact-language .aid-language-switcher-public a:hover,
#navigation .aid-compact-language .aid-language-switcher-public a:focus-visible{
  border-color:rgba(255,255,255,.48);
  background:rgba(255,255,255,.16);
  color:#fff;
  outline:none;
}
#navigation .atlantic-header-actions .aid-language-switcher-public a.is-active,
#navigation .atlantic-header-actions .aid-language-switcher-public a[aria-current="true"],
#navigation .aid-compact-language .aid-language-switcher-public a.is-active,
#navigation .aid-compact-language .aid-language-switcher-public a[aria-current="true"]{
  display:inline-flex!important;
  border-color:#fff;
  background:#fff;
  color:#102432;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}

/* Legal and trust pages use the light framed variant. */
.aid-legal-toolbar .aid-language-switcher-public{flex:0 0 auto}

@media (max-width:1879px){
  #navigation .aid-compact-language{max-width:104px}
  #navigation .aid-compact-language .aid-language-switcher-public{width:auto;gap:4px;padding:6px 7px}
  #navigation .aid-compact-language .aid-language-switcher-public a,
  #navigation .aid-compact-language .aid-language-switcher-public a:not(.is-active):not([aria-current="true"]){min-width:36px;height:34px;padding:0 8px;font-size:11px}
  #navigation .aid-compact-language .aid-language-switcher-public>span{font-size:9px}
}
@media (max-width:767px){
  #navigation .aid-compact-header-shell{grid-template-columns:minmax(84px,1fr) auto minmax(52px,1fr)}
  #navigation .aid-compact-language{max-width:88px}
  #navigation .aid-compact-language .aid-language-switcher-public{gap:2px;padding:5px 6px;border-radius:11px}
  #navigation .aid-compact-language .aid-language-switcher-public a,
  #navigation .aid-compact-language .aid-language-switcher-public a:not(.is-active):not([aria-current="true"]){min-width:31px;height:30px;padding:0 5px;border-radius:7px;font-size:10px}
  #navigation .site-logo{width:clamp(160px,48vw,220px)}
  .aid-legal-toolbar .aid-language-switcher-public{padding:6px 7px}
}
@media (max-width:360px){
  #navigation .aid-compact-header-shell{grid-template-columns:minmax(76px,1fr) auto minmax(46px,1fr)}
  #navigation .aid-compact-language{max-width:80px}
  #navigation .aid-compact-language .aid-language-switcher-public{padding:4px 5px}
  #navigation .aid-compact-language .aid-language-switcher-public a,
  #navigation .aid-compact-language .aid-language-switcher-public a:not(.is-active):not([aria-current="true"]){min-width:28px;height:28px;padding:0 4px;font-size:9px}
  #navigation .site-logo{width:clamp(150px,47vw,190px)}
}
/* === End v1.15.4.19.35.123 public language selector === */

/* === Atlantic Image Defense v1.15.4.19.35.234 ===
 * Compact destination-language control — desktop visual parity.
 *
 * The compact header keeps the v233 one-click destination logic (FR on an
 * English page, EN on a French page), but adopts the framed dark shell and
 * raised white button treatment used by the desktop language selector.
 * Text and touch target sizes are reinforced for phones and tablets.
 */
@media (max-width:1879px){
  #navigation .aid-compact-language{
    max-width:76px;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    gap:0;
    padding:6px 8px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:14px;
    background:rgba(9,18,27,.42);
    box-shadow:0 10px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.05);
    box-sizing:border-box;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:50px;
    height:40px;
    padding:0 12px;
    border:1px solid #fff;
    border-radius:8px;
    background:#fff;
    color:#102432;
    font-size:15px;
    font-weight:800;
    line-height:1;
    letter-spacing:.05em;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:0 6px 16px rgba(0,0,0,.18),inset 0 1px 0 #fff;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle:hover,
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle:focus-visible{
    border-color:#fff;
    background:#f7fafb;
    color:#102432;
    outline:2px solid rgba(255,255,255,.72);
    outline-offset:2px;
    box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 #fff;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle:active{
    transform:translateY(1px);
    box-shadow:0 4px 10px rgba(0,0,0,.18),inset 0 1px 0 #fff;
  }
}
@media (max-width:767px){
  #navigation .aid-compact-language{
    max-width:72px;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact{
    padding:6px 7px;
    border-radius:13px;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle{
    min-width:48px;
    height:40px;
    padding:0 10px;
    border-radius:8px;
    font-size:15px;
  }
}
@media (max-width:360px){
  #navigation .aid-compact-language{
    max-width:68px;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact{
    padding:5px 6px;
    border-radius:12px;
  }
  #navigation .aid-compact-language .aid-language-switcher-public-compact .aid-language-toggle{
    min-width:46px;
    height:38px;
    padding:0 9px;
    font-size:14px;
  }
}
/* === End v1.15.4.19.35.234 compact language control === */
