:root {
    --c-main: #17345f;
    --c-main-dark: #0d2342;
    --c-main-soft: #eaf0f6;
    --c-sec: #ffcf34;
    --c-sec-dark: #e8b91b;
    --c-ink: #142238;
    --c-text: #536174;
    --c-muted: #7a8798;
    --c-line: #dce4ec;
    --c-surface: #f5f8fb;
    --c-white: #fff;
    --shadow-sm: 0 12px 35px rgba(18, 38, 66, .08);
    --shadow-lg: 0 28px 70px rgba(9, 28, 54, .18);
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 28px;
}

@font-face {
font-family: 'montserratblack';
src: url('../foante/montserrat-black-webfont.woff2') format('woff2'),
url('../foante/montserrat-black-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'montserratbold';
src: url('../foante/montserrat-bold-webfont.woff2') format('woff2'),
url('../foante/montserrat-bold-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'montserratlight';
src: url('../foante/montserrat-light-webfont.woff2') format('woff2'),
url('../foante/montserrat-light-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'montserratmedium';
src: url('../foante/montserrat-medium-webfont.woff2') format('woff2'),
url('../foante/montserrat-medium-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'montserratregular';
src: url('../foante/montserrat-regular-webfont.woff2') format('woff2'),
url('../foante/montserrat-regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'montserratsemibold';
src: url('../foante/montserrat-semibold-webfont.woff2') format('woff2'),
url('../foante/montserrat-semibold-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}

html {scroll-behavior: smooth;}
body {
    color: var(--c-ink);
    background: var(--c-white);
    font-family: 'montserratregular', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.2;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.mobile-menu-active {overflow: hidden;}
p {margin: 0 0 1rem;}
h1, h2, h3, h4, h5, h6 {
    color: var(--c-ink);
    font-family: 'montserratbold', Arial, sans-serif;
    line-height: 1.12;
    letter-spacing: -.035em;
}
img {max-width: 100%;}
a {transition: color .2s ease, background-color .2s ease, transform .2s ease, border-color .2s ease; color: var(--c-main);}
a:hover{
color: var(--c-sec);
-webkit-transition: all 0.2s linear;
-webkit-transition-property: all;
-webkit-transition-duration: 0.2s;
transition-duration: 0.2s;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
-webkit-transition-delay: initial;
transition-delay: initial;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear;
transition-property: all;
}
a, a.active, a:hover {outline-style: none;text-decoration: none;}
ul{list-style-type: none;padding: 0;margin: 0;}
p{margin:0;}
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
word-spacing: 0px;
margin: 0;
padding: 0;
}
.font13 {font-size: 13px;}

table, th, td, tbody {
border: 1px solid var(--c-line);
outline: 0;
}
.d_100{display: inline-block;width: 100%;}
.d_auto{display: inline-block;width: auto;}
.d_iblock{display: inline-block;}
.d_flex {display: flex;}
.marg00{margin-right: 0;margin-left: 0;}
.tmarg7{margin-top: 7px;}
.bmarg7{margin-bottom: 7px;}
.marg9{margin-top: 9px;margin-bottom: 9px;}
.tmarg9{margin-top: 9px;}
.bmarg9{margin-bottom: 9px;}
.marg15{margin-top: 15px;margin-bottom: 15px;}
.tmarg15{margin-top: 15px;}
.bmarg15{margin-bottom: 15px;}
.marg20{margin-top: 20px;margin-bottom: 20px;}
.tmarg20{margin-top: 20px;}
.bmarg20{margin-bottom: 20px;}
.marg30{margin-top: 30px;margin-bottom: 30px;}
.tmarg30{margin-top: 30px;}
.bmarg30{margin-bottom: 30px;}
.marg40{margin-top: 40px;margin-bottom: 40px;}
.tmarg40{margin-top: 40px;}
.bmarg40{margin-bottom: 40px;}
.tmarg50{margin-top: 50px;}
.bmarg50{margin-bottom: 50px;}
.pad00{padding-left: 0; padding-right: 0;}
.pad15 {padding-top: 15px;padding-bottom: 15px;}
.pad20 {padding-top:20px;padding-bottom:20px;}
.pad30{padding-top: 30px;padding-bottom: 30px;}
.pad40{padding-top: 40px;padding-bottom: 40px;}
.pad50{padding-top: 50px;padding-bottom: 50px;}
.p-oriz-5{padding-left: 5px;padding-right: 5px;}
.t-bold{font-weight: bold;}
.overflow{overflow: hidden;}
.relative{position:relative;}
figure {margin: 0;}
.outline {outline: 1px red solid;}

/* ***ICON CHECK*** */
#lorem ul li:before {
font-family: 'Font Awesome 6 Free' !important;
content: "\f058";
font-weight: 900;
margin-right: 10px;
display: inline-block;
}
/*OFFLINE GDPR BANNER*/
.gdpr-cookie-manager__consent_expiry {display: none !important;}
.cookie_pref {
position: fixed;
bottom: 20px;
left: 20px;
z-index: 9999;
width:40px;
height:40px;
border-radius: 50%;
background-color: red;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.cookie_pref i {color: #fff;}

/* #LANGUAGES #NICE SELECT---- */
.fa_mysz{font-size:18px; color: #fff;}
#langs .nice-select {
border-radius: 0px;
border: solid 0px #fff;
/*font-size: 14px;*/
height:18px;
line-height:18px;
padding: 0 18px 0 9px;
display: inline-block;
float: none;
background-color: transparent;
}
/*#langs .nice-select .current {
 color: #fff;
}*/
#langs .nice-select .option {
padding:9px 15px;
line-height:20px;
}
#langs .nice-select:hover {
border: solid 0px var(--c-main);
}
#langs .nice-select::after {
border-bottom: 3px solid var(--c-main);
border-right: 3px solid var(--c-main);
height: 9px;
margin-top:-6px;
right:-7px;
width: 9px;
}
#langs .nice-select .list {
border-radius:0px;
}
#langs .form-control {
padding:0 5px !important;
}
/*END NICE*/
#langs {
justify-content: center;
align-items: center;
display: inline-flex;
margin-left: 15px;
}
#langs .form-control {
display: block;
width: auto;
padding:5px;
font-size:14px;
line-height: 1.5;
color: #000;
background-color: #fff;
background-clip: padding-box;
border: 0px solid #ced4da;
border-radius: 0;
cursor: pointer;
/*outline:1px red solid;*/
}
#langs .form-control:focus {
color: inherit;
border-color: transparent;
box-shadow: none;
}
/*COOKIES*/
#cookies-bar {
padding: 15px !important;
}
#cookies-bar .title {font-size: 18px !important;}
#cookies-bar .content {margin-top: 9px !important;}
#cookies-bar .buttons {margin-top: 15px !important;}
#cookies-bar .buttons a.btn {font-size: 13px !important;}
#cookies-bar .buttons a.btn-accept-all,
#cookies-bar .buttons a.btn-disable-all {
padding:3px 9px !important;
/*border-radius: .25rem !important;*/
color: #fff !important;
background-color: var(--c-main) !important;
border: 1px solid transparent !important;
}
#cookies-manage-save-modal {
color: #fff !important;
background-color: var(--c-main) !important;
}
.fancybox-toolbar {
top: 0 !important;
right: 0 !important;
bottom: auto !important;
}
.fancybox-infobar {
top: 0 !important;
bottom: auto !important;
}
.help-block.with-errors {color: red;}
/*pagination default*/
.pagination {justify-content: center;}
.pagination li {
  padding: 0 9px; 
  border: 1px solid var(--c-main);
  margin: 0 3px;  
}
.pagination li:hover a,
.pagination li.active a{color: #fff;}
.pagination li.active,
.pagination li:hover {background-color: var(--c-main);}
.pagination li a{color: #000;}
.page-item:first-child .page-link {
border-top-left-radius:0;
border-bottom-left-radius:0;
}
.page-item.disabled .page-link {
color: #000;
background-color:transparent;
border-color: transparent;
}
.pagination .page-link {
padding:5px;
color: #000;
background-color: transparent;
border: 0px solid #ddd;
}
.pagination .page-item.active .page-link {
color: #fff;
background-color: transparent;
border-color: transparent;
}

/* =================
Header Styles STICKY
 =================== */
/* *** Custom Animation 01 *** */
@-webkit-keyframes headerSlideDown {
  0% {
    margin-top: -100px;
  }
  to {
    margin-top: 0;
  }
}
@keyframes headerSlideDown {
  0% {
    margin-top: -100px;
  }
  to {
    margin-top: 0;
  }
}
.stickycub {
width: 100%;
height: auto;
padding: 0;
position: fixed !important;
top: 0;
background: rgba(255,255,255,0.9) !important;
left: 0;
right: 0;
z-index: 999999;
-webkit-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
-webkit-animation: headerSlideDown .95s ease forwards;
animation: headerSlideDown .95s ease forwards;
}
/* ============
end STICKY
=============== */
.central {
position: relative;
left: 50%;
-webkit-transform: translate(-50%);
-ms-transform: translate(-50%);
transform: translate(-50%);
/* transform: translate(orizontal,vertical); */
}

/*SLICK CARUSEL PRODUCT*/
.gal-nav .slick-slide {padding: 0 15px;}
.slider-nav{margin-top: 9px;}
.slick-prev:before, 
.slick-next:before {content: "" !important;}
.slick-prev, .slick-next {
  height: 30px !important;
  width: 16px !important;
  opacity: 0.5;
  z-index: 99;
}
.slick-prev:hover, 
.slick-next:hover {opacity: 1 !important;}
.slick-prev {
  background: transparent url(../images/prev-slick.png) no-repeat 0 0 !important;
  left:0px !important
}
.slick-next {
  background: transparent url(../images/next-slick.png) no-repeat 0 0 !important;
  right:0px !important;
}
.product-slider .slide-mini-image {cursor: pointer;}
/*end SLIKK*/

/*HOVER ZOOM IMAGES*/
.wrapp_img {
position: relative;
overflow: hidden;
}
.overlay_cub {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: rgba(0, 0, 0, 0.7);
}
.wrapp_img:hover .overlay_cub {opacity: 1;}
.textimg {
color: #fff;
border: #fff 1px solid;
padding: 15px;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
}
.wrapp_img img {transition: transform .5s;margin: 0 auto;}
.wrapp_img:hover img {
-ms-transform: scale(1.2);
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
/*END GALLERY*/

/*RVSLIDER*/
.tp-leftarrow {
-webkit-transform: translate(30px,-50%) !important;
-ms-transform: translate(30px,-50%) !important;
transform: translate(30px,-50%) !important;
}
.tp-rightarrow {
-webkit-transform: translate(-70px,-50%) !important;
-ms-transform: translate(-70px,-50%) !important;
transform: translate(-70px,-50%) !important;
}
@media (max-width: 992px) {
    .tp-leftarrow {
    -webkit-transform: translate(15px,-50%) !important;
    -ms-transform: translate(15px,-50%) !important;
    transform: translate(15px,-50%) !important;
    }
    .tp-rightarrow {
    -webkit-transform: translate(-55px,-50%) !important;
    -ms-transform: translate(-55px,-50%) !important;
    transform: translate(-55px,-50%) !important;}
}
/*END RVSLIDER*/

/*FOOTER*/
.the_foot,.the_foot a { color:#fff; font-size: 14px;}
.the_foot a:hover {color:var(--c-main); font-size: 14px;}
.the_foot {background-color:#33414D;}
.politici ul {display: flex; justify-content: center;}
.politici ul li {padding: 3px 7px;}

/*PARAGRAPHS TEMPLATE*/
.paragraph{flex-wrap: wrap;}
.parag_lft{flex-direction: row-reverse;}
.flex-item-big {flex-basis:65%;}
.flex-item-sm {flex-basis:35%;}
@media (max-width: 1200px) {
    .flex-item-big {flex-basis:60%;}
    .flex-item-sm {flex-basis:40%;}}
@media (max-width: 992px) {
    .flex-item-big {flex-basis:50%;}
    .flex-item-sm {flex-basis:50%;}
}
@media (max-width: 768px) {
    .flex-item-big,
    .flex-item-sm {flex-basis:100%;}
}
.paragraph_grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap:50px;
    align-items: center;
}

.paragraph_img_right .flex-item-big {
    order: 1;
}

.paragraph_img_right .flex-item-sm {
    order: 2;
}

.paragraph_img_left .flex-item-sm {
    order: 1;
}

.paragraph_img_left .flex-item-big {
    order: 2;
}

.paragraph_grid .flex-item-big,
.paragraph_grid .flex-item-sm {
    min-width: 0;
}

.paragraph_grid .par_img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 991px) {
    .paragraph_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .paragraph_grid .flex-item-big,
    .paragraph_grid .flex-item-sm {
        order: initial;
    }
}
/*end*/

/*FORMULARE*/
.fa_size{color: var(--c-main);}
.dep_elem {margin-bottom: 5px;}
.name_dep {
color: var(--c-main);
text-transform: uppercase;
}
.sec_forms .form-group {margin-bottom: 15px;}
.sec_forms .form-group .form-control {
font-size: inherit;
font-weight: inherit;
line-height: 1.5;
color: #000;
background-color: #fff;
border-right: 0 solid var(--c-main);
border-left: 0 solid var(--c-main);
border-top: 0 solid var(--c-main);
border-bottom: 1px solid var(--c-main);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0;
}
.sec_forms .form-control.form-textarea{
border-right: 1px solid #eee;
border-left: 1px solid #eee;
border-top: 1px solid #eee;
}
.fa_size {font-size: 21px;margin-right: 3px;}
.upload-button {
  border: 1px dashed var(--c-main);
  border-radius: 0 0 0 0;
  font-size: 12px;
}
/*END formulare*/
.fa-sz1 {font-size: 18px; color: var(--c-main);}
#agreegdpr {font-style:italic; }
#agreegdpr a {color:var(--c-sec);}
#agreegdpr a:hover {color:var(--c-mainlight);}
.help-block.with-errors {
color: red;
font-size: 12px;
font-style: italic;
}

/* ================================================================
   LEXCONT 2026 - SITE SYSTEM
   ================================================================ */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.site-main--inner {padding: 72px 0 96px; min-height: 60vh;}
.site-main--inner h1 {font-size: clamp(2.2rem, 4vw, 4rem); margin-bottom: 28px;}
.site-main--inner .subtitle {color: var(--c-main); font-family: 'montserratsemibold'; font-size: 1.1rem;}
.site-main--inner .body_standard,
.site-main--inner .form_content {color: var(--c-text);}
.site-main--inner .body_standard h2,
.site-main--inner .body_standard h3,
.site-main--inner .form_content h2,
.site-main--inner .form_content h3 {margin: 1.6em 0 .65em;}
.site-main--inner .body_standard ul,
.site-main--inner .form_content ul {list-style: none; margin: 1.2rem 0;}
.site-main--inner .body_standard li,
.site-main--inner .form_content li {position: relative; padding: 0 0 .6rem 1.75rem;}
.site-main--inner .body_standard li:before,
.site-main--inner .form_content li:before {
    content: "";
    position: absolute;
    top: .72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-sec);
    box-shadow: 0 0 0 4px rgba(255, 207, 52, .2);
}

/* Header */
.the_header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid rgba(23, 52, 95, .08);
}
.header-accent {height: 4px; background: linear-gradient(90deg, var(--c-main) 0 76%, var(--c-sec) 76% 100%);}
.sec_top {
    min-height: 94px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding-top: 14px;
    padding-bottom: 14px;
}
.a_logo {display: inline-flex; flex: 0 0 auto; align-items: center;}
.img_logo {width: 230px; height: auto;}
.header-partner {display: inline-flex; flex: 0 0 auto; align-items: center;}
.header-partner img {display: block; width: 177px; max-width: 100%; height: auto;}
.header-navigation {margin-left: auto; display: flex; align-items: center;}
.header-navigation .ozmenu ul.ozmenu-nav {align-items: center; justify-content: flex-end; margin: 0; gap: 2px;}
.header-navigation .ozmenu ul.ozmenu-nav > li > a {
    font-family: 'montserratsemibold';
    font-size: inherit;
    letter-spacing: -.01em;
}
.stickycub {
    min-height: auto;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.stickycub .sec_top {min-height: 76px; padding-top: 8px; padding-bottom: 8px;}
.stickycub .img_logo {width: 200px;}
.stickycub .header-partner img {width: 156px;}
#langs {
    flex: 0 0 auto;
    margin-left: 0;
    min-width: 54px;
    padding-left: 14px;
    border-left: 1px solid var(--c-line);
}
#langs .fa-sz1 {font-size: 15px;}
#langs .nice-select {font-family: 'montserratsemibold'; font-size: 12px;}
@media screen and (min-width: 993px) {
    .header-navigation .ozmenu ul.ozmenu-nav > li > a {
        color: var(--c-ink) !important;
        padding: 13px 10px;
    }
    .header-navigation .ozmenu ul.ozmenu-nav > li > a:before {
        content: "";
        position: absolute;
        left: 10px;
        right: 10px;
        bottom: 5px;
        height: 2px;
        background: var(--c-sec);
        transform: scaleX(0);
        transform-origin: right;
        transition: transform .25s ease;
    }
    .header-navigation .ozmenu ul.ozmenu-nav > li > a:hover:before,
    .header-navigation .ozmenu ul.ozmenu-nav > li.active > a:before,
    .header-navigation .ozmenu ul.ozmenu-nav > li.child-active > a:before {transform: scaleX(1); transform-origin: left;}
    .header-navigation .ozmenu ul.ozmenu-nav > li:last-child > a {
        margin-left: 7px;
        padding: 13px 18px;
        border-radius: 999px;
        color: var(--c-main-dark) !important;
        background: var(--c-sec);
    }
    .header-navigation .ozmenu ul.ozmenu-nav > li:last-child > a:before {display: none;}
    .header-navigation .ozmenu ul.ozmenu-nav > li:last-child > a:hover {background: var(--c-sec-dark); transform: translateY(-2px);}
    .header-navigation .ozmenu ul li.dropdownitem:hover .dropdown {padding-top: 12px !important;}
    .header-navigation .ozmenu ul li.dropdownitem .dropdown ul {
        min-width: 285px;
        padding: 12px 18px;
        border: 1px solid rgba(23, 52, 95, .1);
        border-radius: 12px;
        box-shadow: var(--shadow-sm);
    }
    .header-navigation .ozmenu ul li.dropdownitem ul li a {
        color: var(--c-text) !important;
        padding: 10px 4px;
    }
    .header-navigation .ozmenu ul.ozmenu-nav .dropdown ul li a:hover,
    .header-navigation .ozmenu ul.ozmenu-nav .dropdown ul li.active a {color: var(--c-main) !important; padding-left: 9px;}
}

/* Reusable homepage UI */
.home-section {padding: 108px 0;}
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--c-main);
    font-family: 'montserratbold';
    font-size: 12px;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}
.eyebrow > span {display: inline-block; width: 28px; height: 3px; border-radius: 4px; background: var(--c-sec);}
.eyebrow--light {color: rgba(255, 255, 255, .85);}
.section-heading {margin-bottom: 52px;}
.section-heading h2 {font-size: clamp(2rem, 3.8vw, 3.4rem);}
.section-heading--split {display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .7fr); align-items: end; gap: 80px;}
.section-heading--split p {margin: 0 0 4px; color: var(--c-text);}
.section-heading--center {max-width: 790px; margin-left: auto; margin-right: auto; text-align: center;}
.section-heading--center .eyebrow {justify-content: center;}
.site-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: 'montserratsemibold';
    line-height: 1.2;
}
.site-button i {font-size: 11px; transition: transform .2s ease;}
.site-button:hover i {transform: translateX(4px);}
.site-button--accent {color: var(--c-main-dark); background: var(--c-sec); font-size: 15px;}
.site-button--accent:hover {color: var(--c-main-dark); background: #ffdc64; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255, 207, 52, .22);}
.site-button--primary {color: var(--c-white); background: var(--c-main);}
.site-button--primary:hover {color: var(--c-white); background: var(--c-main-dark); transform: translateY(-2px);}
.site-button--ghost {color: var(--c-white); border-color: rgba(255, 255, 255, .42); background: rgba(255, 255, 255, .06); font-size: 15px;}
.site-button--ghost:hover {color: var(--c-main-dark); border-color: var(--c-white); background: var(--c-white);}
.text-link, .card-link {font-family: 'montserratsemibold';}

/* Hero */
.home-hero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    color: var(--c-white);
    background:
        radial-gradient(circle at 65% 4%, rgba(54, 91, 141, .5), transparent 31%),
        linear-gradient(120deg, #0d2342 0%, #17345f 66%, #1d467b 100%);
}
.home-hero:after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -240px;
    width: 580px;
    height: 580px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02);
}
.home-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .16;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.hero-layout {position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr); gap: 72px; align-items: center; padding-top: 76px; padding-bottom: 76px;}
.hero-copy {max-width: 720px;}
.hero-copy h1 {max-width: 760px; margin-bottom: 25px; color: var(--c-white); font-size: clamp(2.75rem, 5vw, 5.15rem); letter-spacing: -.055em;}
.hero-copy > p {max-width: 650px; color: rgba(255,255,255,.75); font-size: 1.07rem; line-height: 1.85;}
.hero-actions {display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px;}
.hero-trust {display: flex; gap: 0; margin-top: 54px;}
.hero-trust > div {display: flex; flex-direction: column; padding: 0 30px; border-left: 1px solid rgba(255,255,255,.2);}
.hero-trust > div:first-child {padding-left: 0; border-left: 0;}
.hero-trust strong {color: var(--c-white); font-family: 'montserratbold'; font-size: 1.28rem;}
.hero-trust span {color: rgba(255,255,255,.55); font-size: 11px; letter-spacing: .04em; text-transform: uppercase;}
.hero-visual {position: relative; align-self: end;}
.hero-image-shell {position: relative; width: min(100%, 520px); margin-left: auto;}
.hero-image-shell:before {content: ""; position: absolute; z-index: -1; top: -22px; right: -22px; width: 56%; height: 46%; border-radius: 20px 20px 0 0; background: var(--c-sec);}
.hero-image-shell > img {display: block; width: 100%; height: 610px; object-fit: cover; border-radius: 140px 20px 20px 20px; box-shadow: var(--shadow-lg);}
.hero-float-card {position: absolute; display: flex; align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; color: var(--c-ink); background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); backdrop-filter: blur(8px);}
.hero-float-card > i {color: var(--c-sec-dark); font-size: 28px;}
.hero-float-card span {display: flex; flex-direction: column; font-size: 11px; line-height: 1.45;}
.hero-float-card strong {font-family: 'montserratbold';}
.hero-float-card--top {top: 72px; left: -52px;}
.hero-float-card--bottom {right: -28px; bottom: 70px;}
.float-icon {display: grid !important; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: var(--c-white); background: var(--c-main); font-size: 17px !important;}

/* Trust strip */
.trust-strip {position: relative; z-index: 3; background: var(--c-white); border-bottom: 1px solid var(--c-line); box-shadow: 0 12px 35px rgba(18, 38, 66, .04);}
.trust-strip-grid {display: grid; grid-template-columns: repeat(4, 1fr);}
.trust-strip-grid > div {display: flex; min-height: 104px; align-items: center; justify-content: center; gap: 14px; padding: 22px; border-left: 1px solid var(--c-line); color: var(--c-main); font-family: 'montserratsemibold'; text-align: center;}
.trust-strip-grid > div:first-child {border-left: 0;}
.trust-strip-grid i {color: var(--c-sec-dark); font-size: 21px;}

/* Services */
.services-section {background: var(--c-surface);}
.service-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.service-card {position: relative; overflow: hidden; min-height: 325px; padding: 34px 30px 29px; border: 1px solid var(--c-line); border-radius: var(--radius-md); color: var(--c-text); background: var(--c-white); box-shadow: 0 8px 26px rgba(15, 36, 64, .04);}
.service-card:before {content: ""; position: absolute; right: -60px; bottom: -60px; width: 145px; height: 145px; border-radius: 50%; background: var(--c-main-soft); transition: transform .35s ease, background .35s ease;}
.service-card:hover {color: var(--c-text); border-color: transparent; transform: translateY(-8px); box-shadow: var(--shadow-sm);}
.service-card:hover:before {transform: scale(1.35); background: rgba(255, 207, 52, .2);}
.service-card h3 {position: relative; max-width: 270px; margin: 30px 0 13px; font-size: 1.35rem;}
.service-card p {position: relative; font-size: 14px; line-height: 1.75;}
.service-icon {display: grid; width: 58px; height: 58px; place-items: center; border-radius: 14px; color: var(--c-main); background: var(--c-main-soft); font-size: 23px;}
.service-index {position: absolute; top: 35px; right: 30px; color: #c6d0dc; font-family: 'montserratbold'; font-size:30px; letter-spacing: .14em;}
.service-card .card-link {position: absolute; z-index: 2; left: 30px; bottom: 27px; color: var(--c-main);}
.service-card .card-link i {margin-left: 7px; font-size: 10px; transition: transform .2s ease;}
.service-card:hover .card-link i {transform: translateX(5px);}
.service-card--accent {border-color: var(--c-main); background: var(--c-main);}
.service-card--accent h3, .service-card--accent .card-link {color: var(--c-white);}
.service-card--accent p {color: rgba(255,255,255,.7);}
.service-card--accent .service-icon {color: var(--c-main-dark); background: var(--c-sec);}
.service-card--accent .service-index {color: rgba(255,255,255,.34);}
.service-card--accent:before {background: rgba(255,255,255,.05);}

/* About */
.about-section {overflow: hidden;}
.about-layout {display: grid; grid-template-columns: minmax(320px, .88fr) minmax(0, 1fr); gap: 100px; align-items: center;}
.about-visual {position: relative; padding: 0 0 46px 34px;}
.about-visual:before {content: ""; position: absolute; left: 0; bottom: 0; width: 74%; height: 70%; border-radius: 18px; background: var(--c-sec);}
.about-image {position: relative; overflow: hidden; border-radius: 18px 120px 18px 18px; box-shadow: var(--shadow-lg);}
.about-image img {display: block; width: 100%; height: 600px; object-fit: cover;}
.experience-card {position: absolute; right: -38px; bottom: 8px; display: flex; width: 190px; min-height: 142px; flex-direction: column; justify-content: center; padding: 22px 25px; border-radius: 14px; color: var(--c-white); background: var(--c-main); box-shadow: var(--shadow-sm);}
.experience-card strong {color: var(--c-sec); font-family: 'montserratbold'; font-size: 2.5rem; line-height: 1;}
.experience-card span {margin-top: 9px; font-size: 12px; line-height: 1.5;}
.about-copy h2 {margin-bottom: 24px; font-size: clamp(2rem, 3.7vw, 3.35rem);}
.about-intro {color: var(--c-text); line-height: 1.85;}
.check-list {margin: 28px 0 34px;}
.check-list li {display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; color: var(--c-ink); font-family: 'montserratsemibold';}
.check-list i {display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 50%; color: var(--c-main); background: var(--c-sec); font-size: 10px;}

/* Process */
.process-section {background: linear-gradient(180deg, #f7f9fc, #fff);}
.process-grid {position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;}
.process-grid:before {content: ""; position: absolute; top: 45px; left: 12%; right: 12%; border-top: 1px dashed #b7c4d3;}
.process-step {position: relative; z-index: 1; padding: 0 16px; text-align: center;}
.process-step > span {position: absolute; top: 0; right: 18%; color: var(--c-sec-dark); font-family: 'montserratbold'; font-size:28px;}
.process-step > i {display: grid; width: 90px; height: 90px; place-items: center; margin: 0 auto 25px; border: 9px solid var(--c-white); border-radius: 50%; color: var(--c-white); background: var(--c-main); box-shadow: 0 0 0 1px var(--c-line), var(--shadow-sm); font-size: 27px;}
.process-step h3 {margin-bottom: 12px; font-size: 1.1rem;}
.process-step p {color: var(--c-text); line-height: 1.7;}

/* Industries */
.industries-section {position: relative; overflow: hidden; color: var(--c-white); background: var(--c-main-dark);}
.industries-section:before {content: ""; position: absolute; inset: 0; opacity: .32; background: radial-gradient(circle at 80% 30%, #315d96, transparent 34%);}
.industries-layout {position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(400px, 1fr); gap: 90px; align-items: center;}
.industries-copy h2 {margin-bottom: 23px; color: var(--c-white); font-size: clamp(2rem, 3.7vw, 3.25rem);}
.industries-copy p {color: rgba(255,255,255,.67); line-height: 1.85;}
.industries-copy .site-button {margin-top: 18px;}
.industry-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.industry-grid > div {display: flex; min-height: 142px; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.055); text-align: center; transition: transform .2s ease, background .2s ease;}
.industry-grid > div:hover {transform: translateY(-5px); background: rgba(255,255,255,.1);}
.industry-grid i {color: var(--c-sec); font-size: 27px;}
.industry-grid span {font-family: 'montserratsemibold'; font-size:18px;}

/* FAQ */
.faq-layout {display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr); gap: 100px; align-items: start;}
.faq-intro {position: sticky; top: 130px;}
.faq-intro h2 {margin-bottom: 20px; font-size: clamp(2rem, 3.5vw, 3.1rem);}
.faq-intro p {color: var(--c-text);}
.faq-intro .text-link {display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--c-main);}
.faq-list details {border-bottom: 1px solid var(--c-line);}
.faq-list summary {position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; cursor: pointer; list-style: none; color: var(--c-ink); font-family: 'montserratsemibold'; font-size: 15px;}
.faq-list summary::-webkit-details-marker {display: none;}
.faq-list summary span {position: relative; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: var(--c-main-soft);}
.faq-list summary span:before, .faq-list summary span:after {content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 2px; background: var(--c-main); transform: translate(-50%, -50%);}
.faq-list summary span:after {transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s ease;}
.faq-list details[open] summary span {background: var(--c-sec);}
.faq-list details[open] summary span:after {transform: translate(-50%, -50%) rotate(0);}
.faq-list details p {max-width: 90%; padding: 0 0 24px; color: var(--c-text); font-size: 14px; line-height: 1.75;}

/* CTA */
.home-cta {padding: 0 0 108px;}
.cta-panel {position: relative; overflow: hidden; display: flex; min-height: 280px; align-items: center; justify-content: space-between; gap: 50px; padding: 55px 65px; border-radius: var(--radius-lg); color: var(--c-white); background: linear-gradient(120deg, var(--c-main) 0%, var(--c-main-dark) 100%); box-shadow: var(--shadow-lg);}
.cta-panel:after {content: ""; position: absolute; right: -80px; top: -150px; width: 340px; height: 340px; border: 60px solid rgba(255,255,255,.04); border-radius: 50%;}
.cta-panel > div {position: relative; z-index: 1; max-width: 770px;}
.cta-panel h2 {margin-bottom: 15px; color: var(--c-white); font-size: clamp(2rem, 3.6vw, 3.2rem);}
.cta-panel p {margin-bottom: 0; color: rgba(255,255,255,.66);}
.cta-panel .site-button {position: relative; z-index: 1; flex: 0 0 auto;}

/* Footer */
.the_foot {color: rgba(255,255,255,.7); background: #0b1e39;}
.the_foot a {color: rgba(255,255,255,.76); font-size: inherit;}
.the_foot a:hover {color: var(--c-sec); font-size: inherit;}
.footer-main {padding: 76px 0 58px;}
.footer-grid {display: grid; grid-template-columns: minmax(320px, 1.1fr) minmax(180px, .55fr) minmax(260px, .72fr); gap: 80px;}
.footer-logo {display: inline-block; margin-bottom: 25px; padding: 11px 14px; border-radius: 8px; background: rgba(255,255,255,.95);}
.footer-logo img {display: block; width: 215px; height: auto;}
.footer-brand p {max-width: 480px; color: rgba(255,255,255,.58); line-height: 1.8;}
.footer-badge {display: inline-flex; align-items: center; gap: 9px; margin-top: 13px; color: var(--c-white); font-family: 'montserratsemibold'; font-size: 12px;}
.footer-badge i {color: var(--c-sec);}
.footer-column h3 {margin: 6px 0 24px; color: var(--c-white); font-size: 1rem; letter-spacing: 0;}
.footer-links li {margin-bottom: 8px;}
.footer-links a {font-size: 14px;}
.footer-contact address {margin: 0; font-style: normal;}
.footer-contact address p {display: flex; align-items: flex-start; gap: 13px; margin-bottom: 16px; color: rgba(255,255,255,.64); line-height: 1.7;}
.footer-contact address i {width: 17px; margin-top: 5px; color: var(--c-sec); text-align: center;}
.footer-bottom {padding: 20px 0; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.45);}
.footer-bottom-inner {display: flex; align-items: center; justify-content: space-between; gap: 25px;}
.footer-bottom .politici ul {display: flex; flex-wrap: wrap; justify-content: center; gap: 17px;}
.footer-bottom .politici ul li {padding: 0;}
.logo_foot {display: inline-block; vertical-align: middle; margin: 0 4px;}
.cookie_pref {width: 44px; height: 44px; bottom: 18px; left: 18px; background: var(--c-main); box-shadow: var(--shadow-sm);}
.cookie_pref:hover {background: var(--c-sec-dark);}

/* Internal pages */
.site-main--inner {padding: 0;}
.inner-hero {
    position: relative;
    overflow: hidden;
    min-height: 390px;
    display: flex;
    align-items: center;
    color: var(--c-white);
    background: radial-gradient(circle at 82% 20%, rgba(55, 98, 154, .52), transparent 28%), linear-gradient(120deg, var(--c-main-dark), var(--c-main));
}
.inner-hero--compact {min-height: 330px;}
.inner-hero:after {content: ""; position: absolute; right: -130px; bottom: -260px; width: 510px; height: 510px; border: 80px solid rgba(255,255,255,.035); border-radius: 50%;}
.inner-hero-pattern {position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg, #000, transparent 85%);}
.inner-hero-content {position: relative; z-index: 1; padding-top: 65px; padding-bottom: 65px;}
.inner-hero h1 {max-width: 1000px; margin: 0; color: var(--c-white); font-size: clamp(2.5rem, 5vw, 4.8rem); letter-spacing: -.055em;}
.inner-subtitle {max-width: 740px; margin: 20px 0 0; color: rgba(255,255,255,.7); font-size: 1rem;}
.breadcrumbs {display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 32px; color: rgba(255,255,255,.5); font-size: 11px;}
.breadcrumbs a {color: rgba(255,255,255,.75);}
.breadcrumbs a:hover {color: var(--c-sec);}
.breadcrumbs i {font-size: 7px;}
.inner-article {padding-top: 86px; padding-bottom: 60px;}
.inner-mainimage {overflow: hidden; margin: -138px 0 64px; border: 8px solid var(--c-white); border-radius: 18px; background: var(--c-white); box-shadow: var(--shadow-lg);}
.inner-mainimage img {display: block; width: 100%; border-radius: 11px;}
.inner-content-grid {display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 80px; align-items: start;}
.content-panel {color: var(--c-text); font-size: 15px; line-height: 1.85;}
.content-panel > *:first-child {margin-top: 0;}
.content-panel h2 {font-size: clamp(1.65rem, 3vw, 2.4rem);}
.content-panel h3 {font-size: 1.3rem;}
.content-panel strong {color: var(--c-ink);}
.content-panel a {font-family: 'montserratsemibold';}
.content-panel ol {padding-left: 1.35rem;}
.content-panel table {width: 100%; margin: 25px 0; border-collapse: collapse;}
.content-panel th, .content-panel td {padding: 12px 14px; border-color: var(--c-line); text-align: left;}
.content-panel th {color: var(--c-main); background: var(--c-surface);}
.inner-aside {position: sticky; top: 115px;}
.aside-card {padding: 32px 28px; border-radius: var(--radius-md); color: rgba(255,255,255,.7); background: var(--c-main); box-shadow: var(--shadow-sm);}
.aside-icon {display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 23px; border-radius: 12px; color: var(--c-main-dark); background: var(--c-sec); font-size: 20px;}
.aside-card h2 {margin-bottom: 13px; color: var(--c-white); font-size: 1.35rem; letter-spacing: -.025em;}
.aside-card p {line-height: 1.7;}
.aside-card .site-button {width: 100%; margin-top: 12px;}
.aside-contact {display: flex; flex-direction: column; gap: 9px; margin-top: 16px; padding: 23px 25px; border: 1px solid var(--c-line); border-radius: 12px;}
.aside-contact > span {margin-bottom: 4px; color: var(--c-muted); font-family: 'montserratbold'; font-size:18px; text-transform: uppercase;}
.aside-contact a {color: var(--c-ink); font-family: 'montserratsemibold'; font-size: 15px;}
.aside-contact i {width: 19px; color: var(--c-sec-dark);}
.inner-block {margin-top: 85px; padding-top: 75px; border-top: 1px solid var(--c-line);}
.inner-block-heading {margin-bottom: 32px;}
.inner-block-heading .eyebrow {margin-bottom: 10px;}
.inner-block-heading h2 {font-size: clamp(1.8rem, 3vw, 2.6rem);}
.the_gallery {row-gap: 24px;}
.the_gallery .wrapp_img {border-radius: 12px;}
.the_gallery .wrapp_img img {width: 100%;}
.listof-pdf {display: grid; gap: 12px;}
.onepdf a {display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 18px 20px; border: 1px solid var(--c-line); border-radius: 10px; color: var(--c-ink); background: var(--c-white);}
.onepdf a:hover {border-color: var(--c-main); transform: translateY(-2px); box-shadow: var(--shadow-sm);}
.onepdf > a > i {color: #d94141; font-size: 23px;}
.onepdf span {font-size: inherit;}
.onepdf strong {color: var(--c-main); font-size: 11px; text-transform: uppercase;}
.videos_wrapper {row-gap: 30px;}
.li_video h3 {margin-bottom: 13px; font-size: 1rem;}
.embed-container {position: relative; overflow: hidden; padding-top: 56.25%; border-radius: 12px; background: var(--c-main-dark);}
.embed-container iframe {position: absolute; inset: 0; width: 100%; height: 100%;}
.legal-article {max-width: 990px;}
.legal-article .content-panel {padding: 44px; border: 1px solid var(--c-line); border-radius: var(--radius-md); background: var(--c-white); box-shadow: var(--shadow-sm);}
.category-intro {display: grid; grid-template-columns: 1fr 42%; gap: 50px; align-items: center; margin-bottom: 65px;}
.category-intro img {width: 100%; border-radius: 16px; box-shadow: var(--shadow-sm);}
.category-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.category-card {position: relative; min-height: 280px; padding: 30px; border: 1px solid var(--c-line); border-radius: var(--radius-md); color: var(--c-text); background: var(--c-white);}
.category-card:hover {color: var(--c-text); transform: translateY(-6px); box-shadow: var(--shadow-sm);}
.category-card h2 {margin: 25px 0 12px; font-size: 1.25rem;}
.category-card p {font-size: inherit;}
.category-card .card-link {position: absolute; left: 30px; bottom: 25px; color: var(--c-main);}

/* Contact */
.contact-layout {display: grid; grid-template-columns: minmax(0, .9fr) minmax(430px, 1fr); gap: 90px; align-items: start;}
.contact-copy .inner-mainimage {margin: 0 0 35px; border-width: 0;}
.contact-copy .form_content {color: var(--c-text); line-height: 1.8;}
.contact-direct {display: grid; gap: 12px; margin-top: 30px;}
.contact-direct > a, .contact-direct > div {display: flex; align-items: center; gap: 15px; padding: 17px 18px; border: 1px solid var(--c-line); border-radius: 10px; color: var(--c-ink); background: var(--c-white);}
.contact-direct > a:hover {border-color: var(--c-main); transform: translateX(4px);}
.contact-direct > * > i {display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 9px; color: var(--c-main); background: var(--c-main-soft);}
.contact-direct span {display: flex; flex-direction: column; font-family: 'montserratsemibold';}
.contact-direct small {color: var(--c-muted); font-family: 'montserratregular'; font-size:15px; letter-spacing: .08em; text-transform: uppercase;}
.contact-form-card {padding: 42px; border-radius: 18px; background: var(--c-surface); box-shadow: var(--shadow-sm);}
.form-card-heading {margin-bottom: 28px;}
.form-card-heading .eyebrow {margin-bottom: 10px;}
.form-card-heading h2 {margin-bottom: 10px; font-size: 2rem;}
.form-card-heading p {color: var(--c-text);}
.sec_forms label {color: var(--c-ink); font-family: 'montserratsemibold'; font-size:15px;}
.sec_forms .form-group .form-control {padding: 11px 0; border-bottom-color: #bbc8d6; background: transparent;}
.sec_forms .form-control.form-textarea {padding: 12px; border: 1px solid #cbd5df; border-radius: 8px; background: var(--c-white);}
.sec_forms .form-control:focus {border-color: var(--c-main); box-shadow: none;}
.sec_forms .site-button {margin-top: 8px;}

