/* ============================================================
   home.css  —  single stylesheet for the Gentlevan homepage
   Replaces: style-slim.css + new_spain_france.css
             + index-base.css + index-upgrade.css
   Cascade order preserved from the original four link tags.
   Scoped to index.php only; other pages keep their own files.
   ============================================================ */
/* ===== BASE + RD grid used by footer and buttons  (was style-slim.css) ===== */
@charset "UTF-8";a:focus,button:focus{
  outline: none !important;
}
button::-moz-focus-inner{
  border: 0;
}
:focus{
  outline: none;
}
hr{
  margin-bottom: 0;
}
input,button,select,textarea{
  outline: none;
}
p{
  margin: 0;
}
dl{
  margin: 0;
}
dt{
  font-weight: inherit;
}
address{
  margin-top: 0;
  margin-bottom: 0;
}
html p a:hover{
  text-decoration: none;
}
form{
  margin-bottom: 0;
}
body{
  padding: 0 !important;
}
body{
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.6;
  color: black;
  background-color: #fff;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: subpixel-antialiased;
}
@media (min-width: 992px) {
body{
    font-size: 16px;
    line-height: 1.55556;
  }
}
@media (min-width: 1600px) {
body{
    font-size: 18px;
  }
}
a{
  color: #3a4ed5;
  text-decoration: none;
  transition: .25s;
}
a:hover,a:focus{
  color: #030a6e;
  text-decoration: none;
  outline: none;
}
a[href*="callto"],a[href*="mailto"]{
  white-space: nowrap;
}
img{
  display: inline-block;
  max-width: 100%;
  height: auto;
}
hr{
  border-color: #c2c2c3;
}
h1,h2,h3,h4,h5,h6,[class^="heading-"]{
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #29293a;
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,[class^="heading-"] a{
  display: inline;
  color: inherit;
  transition: .3s all ease;
}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,[class^="heading-"] a:hover{
  color: #030a6e;
}
h1{
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media (min-width: 768px) {
h1{
    font-size: 42px;
    line-height: 1.45;
  }
}
@media (min-width: 1200px) {
h1{
    font-size: 60px;
  }
}
@media (min-width: 1600px) {
h1{
    font-size: 80px;
  }
}
h2{
 font-family: "Lato", sans-serif;
  font-size: 28px;
  line-height: 1.2;
  text-transform: none;
}
@media (min-width: 768px) {
h2{
    font-size: 34px;
    line-height: 1.26923;
  }
}
@media (min-width: 1200px) {
h2{
    font-size: 36px;
  }
}
@media (min-width: 1600px) {
h2{
    font-size: 52px;
  }
}
h3{
  font-size: 24px;
  line-height: 1.45;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
h3{
    font-size: 28px;
  }
}
@media (min-width: 1200px) {
h3{
    font-size: 34px;
    line-height: 1.375;
  }
}
@media (min-width: 1600px) {
h3{
    font-size: 48px;
  }
}
h4{
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
h4{
    font-size: 26px;
    line-height: 1.42857;
  }
}
@media (min-width: 1600px) {
h4{
    font-size: 28px;
  }
}
h5{
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.5;
  text-transform: none;
}
@media (min-width: 768px) {
h5{
    line-height: 1.41667;
  }
}
@media (min-width: 1600px) {
h5{
    font-size: 24px;
  }
}
h6{
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media (min-width: 768px) {
h6{
    font-size: 19px;
    line-height: 1.5;
  }
}
@media (min-width: 1600px) {
h6{
    font-size: 24px;
  }
}
small{
  display: block;
  font-size: 16px;
}
mark{
  color: #fff;
  background-color: #030a6e;
  padding: .1em .5em;
}
.page .text-primary{
  color: #030a6e;
}
.page .text-secondary{
  color: #3a4ed5;
}
.page .text-secondary-3{
  color: #080ab4;
}
.page .text-gray-1{
  color: #c2c2c3;
}
.page .text-gray-light{
  color: #838386;
}
.page .text-gray-4{
  color: #d8dae2;
}
.page .text-gray-darker{
  color: #29293a;
}
.page a.text-secondary-1,.page a.text-secondary-1:focus,.page a.text-secondary-1:active{
  color: inherit;
}
.page a.text-secondary-1:hover{
  color: #080ab4;
}
.page a.text-gray-darker{
  color: #29293a;
}
.page a.text-gray-darker:hover{
  color: #030a6e;
}
.page{
  position: relative;
  overflow: hidden;
  min-height: 100vh !important;
}
.fullwidth-page * + .button{
  margin-top: 30px;
}
@media (min-width: 1600px) {
.fullwidth-page .button{
    margin-top: 50px;
  }
}
section{
  position: relative;
}
@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
h2,h3,h4,h5,h6,[class^="heading-"]){
  color: #fff;
}
.bg-gradient-1 .box-cta .button-secondary,.bg-gradient-1 .box-cta .button-secondary:focus{
  color: #fff;
  background-color: transparent;
  border-color: #ededed;
}
.bg-gradient-1 .box-cta .button-secondary:hover,.bg-gradient-1 .box-cta .button-secondary:active,.bg-gradient-1 .box-cta .button-secondary:hover{
  color: #fff;
  background-color: #030A62;
  border-color: #030A62;
}
[class*="bg-"]{
  background-size: cover;
  background-position: center center;
}
.button{
  position: relative;
  display: inline-block;
  max-width: 100%;
  padding: 9px 30px;
  min-width: 210px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 2px solid;
  border-radius: 35px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  transition: .25s all ease;
  white-space: pre-wrap;
}
.button:focus,.button:active,.button:active:focus{
  outline: none;
}
.button.disabled{
  color: black;
  background-color: gray;
}
.button .caret{
  margin-left: 8px;
}
@media (min-width: 768px) {
.button{
    padding: 14px 38px;
  }
}
@media (min-width: 992px) {
.button{
    min-width: 230px;
  }
}
[data-x-mode="true"] .button{
  white-space: normal;
}
.button-secondary,.button-secondary:focus{
  color: #fff;
  background-color: #3a4ed5;
  border-color: #3a4ed5;
}
.button-secondary:hover,.button-secondary:active,.button-secondary:hover{
  color: #fff;
  background-color: #030a6e;
  border-color: #030a6e;
}
.button-shadow.button-secondary{
  box-shadow: 0 6px 10px 0 rgba(58, 78, 213, 0.36);
}
.button-shadow.button-secondary:hover{
  box-shadow: 0 6px 10px 0 rgba(3, 10, 110, 0.36);
}
.button-shadow.button-secondary:active{
  box-shadow: none;
}
.button-icon-alternate.button:hover::before{
  width: calc(100% + 4px);
}
.ie-10 .button-icon-alternate.button:hover::before,.ie-11 .button-icon-alternate.button:hover::before{
  width: 102%;
}
.button-icon-alternate.button-secondary::before{
  background: rgba(0, 0, 0, 0.2);
}
.button-icon-alternate.button-secondary:hover{
  background: #3a4ed5;
  border-color: #3a4ed5;
}
.button-icon-alternate.button-secondary.button-shadow:hover{
  box-shadow: 0 6px 10px 0 rgba(58, 78, 213, 0.36);
}
.box-cta .button{
  font-size: 18px;
}
@media (min-width: 768px) {
.box-cta-vertical * + .button{
    margin-top: 45px;
  }
}
input:-webkit-autofill ~ label{
  color: #000000 !important;
}
* + .button.form-button{
  margin-top: 20px;
}
#form-output-global.active{
  transform: translateY(0);
  visibility: visible;
}
.form-output.active{
  opacity: 1;
  visibility: visible;
}
.rd-mailform-sm .form-input,.rd-mailform-sm .button{
  min-height: 50px;
}
.form-flex-inline .form-button .button{
  min-width: 190px;
}
.page .icon-default{
  color: #838386;
}
.page .icon-white{
  color: #fff;
}
.page .icon-gray{
  color: #555555;
}
.page .icon-gray-1{
  color: #c2c2c3;
}
.page .icon-gray-light{
  color: #838386;
}
.page .icon-darker{
  color: #29293a;
}
.page .icon-primary{
  color: #030a6e;
}
.page .icon-secondary{
  color: #3a4ed5;
}
.page .icon-filled{
  color: #fff;
  background: #29293a;
}
.page .icon-filled[class*="facebook"]{
  background: #4d70a8;
}
.page .icon-filled[class*="twitter"]{
  background: #02bcf3;
}
.page .icon-filled[class*="instagram"]{
  background: #444;
}
.page .icon-filled[class*="google"]{
  background: #e2411e;
}
.page .icon-filled[class*="linkedin"]{
  background: #1787b1;
}
.page .icon-secondary-5-filled{
  color: #c2c2c3;
  background: #21212e;
}
.page a.icon-default:hover{
  color: #3a4ed5;
}
.page a.icon-darker:hover{
  color: #030a6e;
}
.page a.icon-white:hover{
  color: #95ffe0;
}
.page a.icon-gray-1:hover{
  color: #3a4ed5;
}
.page a.icon-gray-light:hover{
  color: #95ffe0;
}
.page a.icon-gray-light[class*="facebook"]:hover{
  color: #3e5a86;
}
.page a.icon-gray-light[class*="twitter"]:hover{
  color: #008ee0;
}
.page a.icon-gray-light[class*="instagram"]:hover{
  color: #2b2b2b;
}
.page a.icon-gray-light[class*="google"]:hover{
  color: #b53418;
}
.page a.icon-gray-light[class*="linkedin"]:hover{
  color: #116584;
}
.page a.icon-filled[class*="facebook"]:hover{
  background: #3e5a86;
}
.page a.icon-filled[class*="twitter"]:hover{
  background: #008ee0;
}
.page a.icon-filled[class*="instagram"]:hover{
  background: #2b2b2b;
}
.page a.icon-filled[class*="google"]:hover{
  background: #b53418;
}
.page a.icon-filled[class*="linkedin"]:hover{
  background: #116584;
}
.page a.icon-secondary-5-filled:hover{
  color: #fff;
  background: #3a4ed5;
}
.page a.icon-secondary-5-filled[class*="facebook"]:hover{
  background: #4d70a8;
}
.page a.icon-secondary-5-filled[class*="twitter"]:hover{
  background: #02bcf3;
}
.page a.icon-secondary-5-filled[class*="instagram"]:hover{
  background: #444;
}
.page a.icon-secondary-5-filled[class*="google"]:hover{
  background: #e2411e;
}
.page a.icon-secondary-5-filled[class*="linkedin"]:hover{
  background: #1787b1;
}
.page .icon-xs{
  font-size: 13px;
}
.page .icon-sm{
  font-size: 19px;
}
.page .icon-sm-bigger{
  font-size: 22px;
}
.page .icon-md-smaller{
  font-size: 20px;
}
.page .icon-md-middle{
  font-size: 24px;
}
.page .icon-md{
  font-size: 27px;
}
.page .icon-md-big{
  font-size: 36px;
}
.page .icon-lg-smaller{
  font-size: 40px;
}
.page .icon-lg{
  font-size: 62px;
  line-height: 62px;
}
@media (min-width: 1600px) {
.page .icon-xs{
    font-size: 13px;
  }
.page .icon-sm{
    font-size: 19px;
  }
.page .icon-sm-bigger{
    font-size: 22px;
  }
.page .icon-md-smaller{
    font-size: 23px;
  }
.page .icon-md-middle{
    font-size: 24px;
  }
.page .icon-md{
    font-size: 27px;
  }
.page .icon-md-big{
    font-size: 36px;
  }
.page .icon-lg-smaller{
    font-size: 40px;
  }
.page .icon-lg{
    font-size: 62px;
    line-height: 62px;
  }
}
@media (min-width: 992px) {
.modal-product * + .button{
    margin-top: 40px;
  }
.modal-sale * + .button{
    margin-top: 45px;
  }
}
.navigation-pills li a.active{
  background-color: #030a6e;
  color: #fff;
}
.table-checkout * + .button{
  margin-top: 30px;
}
@media (min-width: 1600px) {
.table-checkout * + .button{
    margin-top: 55px;
  }
}
.team-classic-caption * + .button{
  margin-top: 20px;
}
.bg-gray-darker.page-footer .form-input,.bg-additional-gray-darker .page-footer.bg-additional-item .form-input,.bg-image.page-footer .form-input,.bg-additional-image .page-footer.bg-additional-item .form-input,.bg-gradient.page-footer .form-input,.page-footer.bg-gradient-1 .form-input,.page-footer.bg-gradient-2 .form-input,.page-footer.bg-gradient-3 .form-input{
  color: #838386;
}
strong{
  font-weight: 700;
}
.page .group{
  transform: translateY(-10px);
  margin-bottom: -10px;
  margin-left: -10px;
}
.page .group > *{
  display: inline-block;
  margin-top: 10px;
  margin-left: 10px;
}
.page .group-xxs{
  transform: translateY(-5px);
  margin-bottom: -5px;
  margin-left: -5px;
}
.page .group-xxs > *{
  display: inline-block;
  margin-top: 5px;
  margin-left: 5px;
}
.page .group-xs{
  transform: translateY(-9px);
  margin-bottom: -9px;
  margin-left: -9px;
}
.page .group-xs > *{
  display: inline-block;
  margin-top: 9px;
  margin-left: 9px;
}
.page .group-md{
  transform: translateY(-30px);
  margin-bottom: -30px;
  margin-left: -30px;
}
.page .group-md > *{
  display: inline-block;
  margin-top: 30px;
  margin-left: 30px;
}
.page .group-lg{
  transform: translateY(-5px);
  margin-bottom: -5px;
  margin-left: -40px;
}
.page .group-lg > *{
  display: inline-block;
  margin-top: 5px;
  margin-left: 40px;
}
.page .group-xl{
  transform: translateY(-10px);
  margin-bottom: -10px;
  margin-left: -50px;
}
.page .group-xl > *{
  display: inline-block;
  margin-top: 10px;
  margin-left: 50px;
}
@media (min-width: 1200px) {
.page .section-access + .section-custom{
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 35px;
  }
.page .section-access + .section-custom .form-find{
    transform: translateY(-50%);
  }
}
* + p{
  margin-top: 15px;
}
p + p{
  margin-top: 12px;
}
* + figcaption{
  margin-top: 10px;
}
* + h6{
  margin-top: 20px;
}
h1 + p{
  margin-top: 20px;
}
h2 + p{
  margin-top: 20px;
}
h3 + p{
  margin-top: 15px;
}
h4 + p{
  margin-top: 18px;
}
h5 + p{
  margin-top: 20px;
}
h6 + p{
  margin-top: 20px;
}
p + .button{
  margin-top: 25px;
}
* + .button{
  margin-top: 20px;
}
* + [class^="custom-wrap"]{
  margin-top: 40px;
}
.page * + .offset-top-0{
  margin-top: 0;
}
.page * + .offset-custom-1{
  margin-top: 20px;
}
.page * + .offset-custom-3{
  margin-top: 30px;
}
@media (min-width: 768px) {
* + figcaption{
    margin-top: 20px;
  }
* + hr{
    margin-top: 30px;
  }
* + .button{
    margin-top: 35px;
  }
* + h1{
    margin-top: 30px;
  }
.big + .button{
    margin-top: 30px;
  }
.page * + .offset-custom-1{
    margin-top: 30px;
  }
.page * + .offset-custom-2{
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
* + hr{
    margin-top: 40px;
  }
h1 + p{
    margin-top: 30px;
  }
h2 + p{
    margin-top: 33px;
  }
h3 + p{
    margin-top: 25px;
  }
h6 + p{
    margin-top: 30px;
  }
.page * + .offset-custom-2{
    margin-top: 50px;
  }
}
@media (min-width: 1200px) {
.range + .button{
    margin-top: 50px;
  }
h3 + p{
    margin-top: 33px;
  }
}
@media (min-width: 1600px) {
* + [class^="custom-wrap"]{
    margin-top: 60px;
  }
h1 + p{
    margin-top: 43px;
  }
.range + .button{
    margin-top: 80px;
  }
.big + .button{
    margin-top: 50px;
  }
.page * + .offset-custom-2{
    margin-top: 80px;
  }
}
[class*="cell-"]{
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 0px) {
* + [class*="cell-xxs-"]{
    margin-top: 0;
  }
}
@media (min-width: 480px) {
* + [class*="cell-xs-"]{
    margin-top: 0;
  }
}
@media (min-width: 768px) {
* + [class*="cell-sm-"]{
    margin-top: 0;
  }
.range > .cell-sm-12{
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
* + [class*="cell-md-"]{
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
* + [class*="cell-lg-"]{
    margin-top: 0;
  }
}
@media (min-width: 1600px) {
* + [class*="cell-xl-"]{
    margin-top: 0;
  }
}
@media (min-width: 1800px) {
* + [class*="cell-xxl-"]{
    margin-top: 0;
  }
}
html.lt-ie-10 .range > .cell-sm-12{
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fxRotateInDown {
  0% {
    animation-timing-function: linear;
    opacity: 0;
    transform: translate3d(0, -55px, 0) scale(0.8);
    filter: blur(10px);
  }
  100% {
    transform: translate3d(0, 0px, 0) scale(1);
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes fxRotateInUp {
  0% {
    animation-timing-function: linear;
    transform: translate3d(0, 55px, 0) scale(0.8);
    opacity: 0;
    filter: blur(10px);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes fxBlurInRight {
  0% {
    animation-timing-function: linear;
    transform: translate3d(-105px, 0, 0) scale(0.8);
    opacity: 0;
    filter: blur(5px);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes blurIn {
  0% {
    opacity: 0;
    filter: blur(10px);
    transform: scale3d(0.85, 0.85, 0.85);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes blurInButton {
  0% {
    opacity: 0;
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    transform: translateX(120px) scale(0.8);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
@keyframes fadeInLeftSmall {
  0% {
    opacity: 0;
    transform: translateX(-120px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    transform: translateY(90px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes sprite-animation {
  from {
    background-position: 0 0;
  }
}
[data-isotope-layout]{
  display: block;
  transition: .4s all ease;
  min-height: 160px;
  z-index: 0;
}
[data-isotope-layout]:after{
  content: "";
  position: absolute;
  margin-top: 15px;
  width: 64px;
  height: 64px;
  top: 50%;
  left: 50%;
  background-image: url("../images/isotope-loader.png");
  background-position: -1152px 0;
  animation: 0.7s sprite-animation steps(18) infinite;
  transition: .4s all ease;
  transform: translate(-50%, -50%);
}
@media (min-width: 1200px) {
[data-isotope-layout] [class*="col-lg-3"]:not([class*="col-xxl"]):not([class*="col-xl"]){
    width: 24.8%;
  }
}
[data-isotope-layout] [class*="col-"]{
  display: block;
  opacity: 0;
  will-change: transform;
  backface-visibility: hidden;
  transition: .1s opacity ease-in;
}
[data-x-mode="true"] [data-isotope-layout]::after{
  display: none !important;
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rd-navbar-slide-down {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes rd-navbar-slide-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
.rd-navbar-toggle.active span,.rd-navbar-sidebar-toggle.active span{
  transform: rotate(360deg);
}
.rd-navbar-toggle.active span:before,.rd-navbar-toggle.active span:after,.rd-navbar-sidebar-toggle.active span:before,.rd-navbar-sidebar-toggle.active span:after{
  top: 0;
  width: 15px;
}
.rd-navbar-toggle.active span:before,.rd-navbar-sidebar-toggle.active span:before{
  -webkit-transform: rotate3d(0, 0, 1, -40deg);
  transform: rotate3d(0, 0, 1, -40deg);
}
.rd-navbar-toggle.active span:after,.rd-navbar-sidebar-toggle.active span:after{
  -webkit-transform: rotate3d(0, 0, 1, 40deg);
  transform: rotate3d(0, 0, 1, 40deg);
}
.rd-navbar-sidebar .rd-navbar-sidebar-inner.active{
  transform: translateX(0);
  box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.25);
}
.rd-search-results-live #search-results.active{
  visibility: visible;
  opacity: 1;
}
.rd-search-modern .button{
  position: absolute;
  right: 6px;
  top: 6px;
  bottom: 6px;
  height: 50px;
  width: 50px;
  min-width: 50px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  border: 0;
  background: #3a4ed5;
  font-size: 26px;
  line-height: 53px;
}
.rd-search-modern .button::before{
  position: relative;
  right: -2px;
}
.rd-search-modern .button:hover{
  background: #030a6e;
}
.ui-to-top.active{
  transform: translateY(0);
}
@-moz-document url-prefix() {
  .time_circles > div::after {
    padding-bottom: 61%;
  }
}
@font-face {
  font-family: "lg";
  src: url("../fonts/lg.eot?n1z373");
  src: url("../fonts/lg.eot?#iefixn1z373") format("embedded-opentype"), url("../fonts/lg.woff?n1z373") format("woff"), url("../fonts/lg.ttf?n1z373") format("truetype"), url("../fonts/lg.svg?n1z373#lg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
.lg-outer .lg-thumb-item.active{
  transform: scale(1);
}
[data-lightgallery="item"]{
  cursor: pointer;
}
.instafeed-profile-button .button{
  min-width: 112px;
}
.range.instafeed + .button{
  margin-top: 40px;
}
@media (min-width: 992px) {
.range.instafeed + .button{
    margin-top: 60px;
  }
}
td{
    font-family: "Lato", sans-serif;
    border: 1px solid black;
    padding: 3px;
    font-size: 16px;
}
@-webkit-keyframes slideIn {
  from {bottom: -300px; opacity: 0} 
  to {bottom: 0; opacity: 1}
}
@keyframes slideIn {
  from {bottom: -300px; opacity: 0}
  to {bottom: 0; opacity: 1}
}
@-webkit-keyframes fadeIn {
  from {opacity: 0} 
  to {opacity: 1}
}
@keyframes fadeIn {
  from {opacity: 0} 
  to {opacity: 1}
}
.pwidth{
    padding: 25px 0 0 0;width:75%;margin:auto;
}
@media (max-width: 540px) {
.pwidth{
   padding: 25px 15px 15px 15px;;width:100%;margin:auto;
  }
}
h1,
h1.mainhone {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 36px;
  line-height: 1.15;
  color: #CAC5C4;
}
@media (max-width: 991px) {
h1,
  h1.mainhone {
    font-size: 28px;
  }
}
@media (max-width: 575px) {
h1,
  h1.mainhone {
    font-size: 22px;
  }
}
.bg-gray-darker {
  background-color: #29293a;
}
.gv-wa{
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.gv-wa:hover{ filter: brightness(.95); }
.gv-wa-icon{
  width: 22px;
  height: 22px;
  display: inline-block;
}
.gv-wa-icon svg{
  width: 22px;
  height: 22px;
  display: block;
  fill: #fff;
}
.gv-wa-text{
  font-size: 14px;
  white-space: nowrap;
}
@media (max-width: 600px) {
.gv-wa{ padding: 12px; }
.gv-wa-text{ display: none; }
}

/* ===== carried over rules only  (was new_spain_france__2_.css) ===== */
html {
  scroll-behavior: smooth;
}
.faq-item.active button.faq-question {
  background-color: #f0f0f0;
}
.faq-item.active button.faq-question::after {
  content: "−";
}
.faq-item.active .faq-answer {
  padding: 16px 20px 22px;
}
@media (max-width: 768px) {
.faq-item.active .faq-answer {
    padding: 14px 16px 18px;
  }
}

/* ===== homepage layout, menu, quote popup  (was index-base.css) ===== */
html, body {
  margin: 0;
  padding: 0;
  font-family: "Lato", Arial, sans-serif;
  }
@font-face {
  font-family: "Lato";
  src: url("/fonts/lato-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lato";
  src: url("/fonts/lato-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@media (min-width: 992px) {
.gentlevan-navbar .gv-nav > li {
      display: flex;
      align-items: center;
      white-space: nowrap;
    }
.gentlevan-navbar .gv-nav > li::before,
    .gentlevan-navbar .gv-nav > li::after {
      content: none !important;
    }
.gentlevan-navbar .gv-nav > li + li::before {
      content: "›" !important;
      display: inline-block;
      margin: 0 6px 0 2px;
      font-size: 0.9em;
      line-height: 1;
      position: static; 
    }
}
@media (min-width: 992px) {
.gentlevan-navbar .button.button-sm.button-secondary,
  .gv-navbar-right .button.button-sm.button-secondary {
    font-size: 0.95rem !important;
    padding: 14px 30px !important;     
    border-radius: 30px !important;    
    line-height: 1.2 !important;
    width: auto !important;            
    min-width: unset !important;       
    height: auto !important;
    display: inline-flex !important;   
    align-items: center !important;
    justify-content: center !important;
  }
}
.h2-twoline{
  position: relative;
  text-align: center;
  margin: 36px auto;
  max-width: 1100px;
}
.h2-twoline::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:#000;
  opacity:.18;
}
.h2-twoline span{
  position: relative;
  display:inline-block;
  padding: 12px 22px;
  background:#111;
  color:#fff;
  border-radius: 18px;
  font-weight: 600;
  font-size: 19px;
  line-height: 1.4;
}
.h2-twoline em{
  display:block;
  margin-top:4px;
  font-style: normal;
  font-weight: 400;
  opacity:.85;
}
.gv-intro {
  max-width: 1280px;
  margin: 48px auto 56px;
  padding: 0;
  text-align: center;
}
.gv-intro__lead {
  font-size: 1.08rem;
  line-height: 1.6;
  margin: 18px auto 10px;
  max-width: 820px;
  color: rgba(0,0,0,0.85);
}
.gv-intro__text {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 auto 22px;
  max-width: 820px;
  color: rgba(0,0,0,0.75);
}
.gv-intro__points {
  list-style: none;
  padding: 0;
  margin: 0 auto 26px;
  max-width: 980px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  text-align: left;
}
.gv-intro__points li {
  background: rgba(0,0,0,0.04);
  border-radius: 14px;
  padding: 12px 14px;
  line-height: 1.45;
}
.gv-intro__cta {
  margin-top: 12px;
}
.gv-intro__secondary {
  margin-top: 10px;
  font-size: 0.95rem;
  color: rgba(0,0,0,0.7);
}
.gv-intro__secondary a {
  text-decoration: underline;
}
@media (max-width: 700px) {
.gv-intro__points {
    grid-template-columns: 1fr;
  }
}
.gv-intro__cta .button {
  min-width: 220px;
  padding: 12px 26px !important;
  border-radius: 26px !important;
  font-size: 0.95rem !important;
}
@media (max-width: 700px) {
.gv-intro__cta .button {
    width: 100%;
    min-width: unset;
  }
}
.gv-intro__cards {
  margin: 0 auto 26px;
  max-width: 980px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  text-align: left;
}
.gv-intro__card {
  display: block;
  background: rgba(0,0,0,0.04);
  border-radius: 14px;
  padding: 12px 14px;
  line-height: 1.45;
  color: inherit;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.gv-intro__card:hover {
  background: rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(0,0,0,0.10);
  transform: translateY(-2px);
}
.gv-intro__card:focus-visible {
  outline: 3px solid rgba(0,130,200,0.35);
  outline-offset: 3px;
}
@media (max-width: 700px) {
.gv-intro__cards { grid-template-columns: 1fr; }
}
.gv-cta-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 24px;
  border-radius: 999px;

  font-weight: 700;
  text-decoration: none;

  background: transparent;
  border: 2px solid rgba(0,130,200,0.85);
  color: rgba(0,130,200,1);

  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.gv-cta-outline:hover {
  background: rgba(0,130,200,1);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0,0,0,0.14);
}
.gv-intro__cards {
  margin: 0 auto 30px;
  max-width: 980px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 20px;
}
.gv-intro__card {
  position: relative;
  padding: 14px 16px;
  border-radius: 16px;
  background: #ffffff;
  color: #111827;
  text-decoration: none;
  font-weight: 500;

  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.gv-intro__card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 4px;
  background: var(--accent);
}
.gv-intro__card[data-accent="blue"]   { --accent: #0082c8; }
.gv-intro__card[data-accent="green"]  { --accent: #16a34a; }
.gv-intro__card[data-accent="orange"] { --accent: #f59e0b; }
.gv-intro__card[data-accent="purple"] { --accent: #7c3aed; }
.gv-intro__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.14);
}
.gv-intro__card:focus-visible {
  outline: 3px solid rgba(0,130,200,0.35);
  outline-offset: 4px;
}
@media (max-width: 700px) {
.gv-intro__cards {
    grid-template-columns: 1fr;
  }
}
.pwidth {
  background:
    linear-gradient(
      180deg,
      rgba(248,250,252,1) 0%,
      rgba(241,245,249,1) 100%
    );

  padding: 64px 20px 72px;   
  margin: 0 auto;            
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.pwidth{
  max-width: 1280px;
  width: 92%;
  margin: 0 auto;
}
.gv-intro__card {
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.06);
      font-size: 1.3rem;
  padding: 16px 16px;
}
.gv-intro__card:hover {
  border-color: rgba(0,130,200,0.18);
}
.pwidth {
  padding-top: 0;
}
.gv-intro {
  
  text-align: center;
}
.gv-intro__lead {
  font-size: 1.18rem;
  line-height: 1.75;
  color: #111827;
  max-width: 740px;     
  margin: 18px auto 12px;
  font-weight: 600;     
}
.gv-intro__text {
  font-size: 1.06rem;
  line-height: 1.75;
  color: #374151;
  max-width: 740px;
  margin: 0 auto 26px;
}
@media (max-width: 700px) {
.gv-intro__lead { font-size: 1.08rem; }
.gv-intro__text { font-size: 1rem; }
}
.gv-intro__panel {
  max-width: 980px;
  margin: 0 auto 22px;
  padding: 18px 18px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}
.gv-intro__lead {
  text-wrap: balance;
}
.gv-services__grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)); 
  gap: 14px;
  align-items: stretch;
}
.gv-service{
  
}
@media (max-width: 1100px) {
.gv-services__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
.gv-services__grid{
    grid-template-columns: 1fr;
  }
}
.gv-service:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.12);
  border-color: rgba(0,130,200,0.25);
}
.gv-service__media{
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(0,0,0,0.05);
}
.gv-service__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .25s ease;
}
.gv-service:hover .gv-service__media img{
  transform: scale(1.06);
}
.gv-service__body{
  padding: 14px 14px 16px;
}
.gv-service__h{
  margin: 0 0 8px;
  font-size: 1.05rem;
  line-height: 1.25;
}
.gv-service__h a{
  color: #111827;
  text-decoration: none;
}
.gv-service__h a:hover{
  text-decoration: underline;
}
.gv-service__p{
  margin: 0 0 12px;
  color: rgba(0,0,0,0.72);
  line-height: 1.55;
  font-size: 0.98rem;
}
.gv-inline{
  text-decoration: underline;
}
.gv-service__actions{
  margin-top: 10px;
}
.gv-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.gv-btn--soft{
  background: rgba(0,130,200,0.10);
  border: 1px solid rgba(0,130,200,0.28);
  color: rgba(0,130,200,1);
}
.gv-btn--soft:hover{
  background: rgba(0,130,200,1);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.14);
}
@media (max-width: 992px) {
.gv-service{ grid-column: span 6; }
}
@media (max-width: 620px) {
.gv-services{ padding-top: 18px; }
.gv-service{ grid-column: span 12; }
.gv-services__inner{ padding: 0 14px; }
}
.gv-service{
  border-radius: 16px;
}
.gv-service__media{
  aspect-ratio: 16 / 9;   
}
.gv-service__body{
  padding: 12px 12px 14px;
}
.gv-service__h{
  font-size: 0.95rem;
}
.gv-service__p{
  font-size: 0.9rem;
  line-height: 1.45;
}
.gv-btn{
  padding: 8px 14px;
  font-size: 0.85rem;
}
@media (max-width: 1100px) {
.gv-services__grid{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
.gv-services__grid{
    grid-template-columns: 1fr;
  }
}
#services.gv-services .gv-services-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
#services.gv-services .gv-service-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}
#services.gv-services .gv-service-img{
  float: left;
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 12px;
  margin: 2px 12px 10px 0;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
#services.gv-services .gv-service-card::after{
  content: "";
  display: block;
  clear: both;
}
#services.gv-services .gv-service-card h3{
  margin: 0 0 6px 0;
  font-size: 18px;
  line-height: 1.2;
}
#services.gv-services .gv-service-card p{
  margin: 0 0 10px 0;
  font-size: 14px;
  line-height: 1.5;
  opacity: .85;
}
#services.gv-services .gv-service-link{
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  margin-top: 2px;
}
#services.gv-services .gv-service-card:hover{
  transform: translateY(-1px);
  transition: transform .12s ease;
}
@media (max-width: 1200px) {
#services.gv-services .gv-services-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
#services.gv-services .gv-services-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
#services.gv-services .gv-services-grid{ grid-template-columns: 1fr; }
#services.gv-services .gv-service-img{ width: 48px; height: 48px; }
}
.gv-divider{
  height: 1px;
  width: 100%;
  margin: 48px 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,0.18),
    rgba(0,0,0,0)
  );
}
.gv-divider-strong{
  height: 6px;
  width: 100%;
  margin: 56px 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,0.25),
    rgba(0,0,0,0)
  );
  border-radius: 6px;
}
.gv-divider-elegant{
  position: relative;
  height: 1px;
  margin: 56px 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,0.18),
    rgba(0,0,0,0)
  );
}
.gv-divider-elegant::after{
  content:"";
  position:absolute;
  left:50%;
  top:-2px;
  transform:translateX(-50%);
  width:90px;
  height:5px;
  background: radial-gradient(
    ellipse at center,
    rgba(0,130,200,0.35),
    rgba(0,130,200,0)
  );
}
.gv-divider-blue-soft{
  height: 2px;
  width: 100%;
  margin: 56px 0;
  background: linear-gradient(
    to right,
    rgba(0,130,200,0.08),
    rgba(0,130,200,0.28),
    rgba(0,130,200,0.08)
  );
  border-radius: 2px;
}
.gv-why{
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #f6fbff 100%
  );
}
.gv-why-grid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: start;
}
.gv-why-intro h2{
  margin-bottom: 12px;
}
.gv-why-sub{
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: #4b647a;
}
.gv-why-list{
  background: #ffffff;
  border-radius: 16px;
  padding: 22px 24px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
}
.gv-why-list ul{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
}
.gv-why-list li{
  position: relative;
  padding-left: 34px;
  font-weight: 600;
  color: #1b2b38;
  line-height: 1.4;
}
.gv-why-list li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,130,200,0.12);
  color: #0082c8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
}
@media (max-width: 900px) {
.gv-why-grid{
    grid-template-columns: 1fr;
  }
.gv-why-list{
    margin-top: 8px;
  }
}
.gv-gallery .gv-gallery-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.gv-gallery .gv-gallery-item{
  margin: 0;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}
.gv-gallery .gv-gallery-item img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.gv-gallery .gv-gallery-ph{
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: rgba(0,0,0,.55);
  background:
    linear-gradient(135deg, rgba(0,130,200,.10), rgba(0,0,0,.03));
}
.gv-gallery .gv-gallery-item figcaption{
  padding: 12px 14px;
  font-weight: 700;
  font-size: 14px;
  color: rgba(0,0,0,.75);
}
.gv-gallery .gv-gallery-item:hover{
  transform: translateY(-1px);
  transition: transform .12s ease;
}
@media (max-width: 1100px) {
.gv-gallery .gv-gallery-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
.gv-gallery .gv-gallery-grid{
    grid-template-columns: 1fr;
  }
.gv-gallery .gv-gallery-item img,
  .gv-gallery .gv-gallery-ph{
    height: 200px;
  }
}
.gv-europe{
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #f7fbff 100%
  );
}
.gv-europe-inner{
  max-width: 1000px;
}
.gv-europe-text h2{
  margin-bottom: 12px;
}
.gv-europe-desc{
  max-width: 72ch;
  font-size: 15px;
  line-height: 1.6;
}
.gv-europe-actions{
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
.gv-europe-actions{
    gap: 10px;
  }
}
.gv-advice .gv-advice-grid{
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.gv-advice .gv-advice-card{
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}
.gv-advice .gv-advice-card:hover{
  transform: translateY(-1px);
  transition: transform .12s ease, background .12s ease;
}
.gv-advice .gv-advice-title{
  margin: 0 0 8px 0;
  font-size: 16px;
  line-height: 1.25;
  color: rgba(0,0,0,.88);
}
.gv-advice .gv-advice-desc{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(0,0,0,.62);
}
.gv-advice .gv-advice-cta{
  margin-top: 14px;
}
@media (max-width: 1000px) {
.gv-advice .gv-advice-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
.gv-advice .gv-advice-grid{
    grid-template-columns: 1fr;
  }
}
.gv-contact{
  background: linear-gradient(
    to bottom,
    #f7fbff 0%,
    #ffffff 100%
  );
}
.gv-contact-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 26px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}
.gv-contact-text h2{
  margin-bottom: 6px;
}
.gv-contact-desc{
  margin: 0;
  max-width: 56ch;
}
.gv-contact-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 900px) {
.gv-contact-inner{
    flex-direction: column;
    align-items: flex-start;
  }
.gv-contact-actions{
    margin-top: 8px;
  }
}
.gv-intro__panel--split{
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 22px;
  align-items: center;
}
.gv-intro__actions{
  margin-top: 14px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.gv-slider{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  min-height: 320px;
}
.gv-slides{
  position: relative;
  height: 100%;
}
.gv-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .55s ease;
  margin: 0;
}
.gv-slide.is-active{
  opacity: 1;
  position: relative;
}
.gv-slide img{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}
.gv-slide__overlay{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(6px);
  color: #fff;
}
.gv-slide__text{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
}
.gv-slide__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  background: rgba(0,130,200,.95);
  color: #fff;
  white-space: nowrap;
}
.gv-slide__btn:hover{
  filter: brightness(1.05);
}
.gv-slider__dots{
  position: absolute;
  left: 14px;
  top: 14px;
  display: flex;
  gap: 8px;
  z-index: 2;
}
.gv-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.25);
  cursor: pointer;
  padding: 0;
}
.gv-dot.is-active{
  background: rgba(255,255,255,.95);
}
@media (max-width: 950px) {
.gv-intro__panel--split{
    grid-template-columns: 1fr;
  }
.gv-slider{
    min-height: 260px;
  }
.gv-slide img{
    height: 260px;
  }
}
.gv-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;       
  pointer-events: none;     
  transition: opacity .45s ease, visibility .45s ease;
  margin: 0;
}
.gv-slide.is-active{
  opacity: 1;
  visibility: visible;      
  pointer-events: auto;     
  position: relative;
}
.gv-slider{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.gv-slides{
  position: relative;
  height: 320px;
}
.gv-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .4s ease;
  margin: 0;
}
.gv-slide.is-active{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gv-slide img{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}
.gv-slide__overlay{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.45);
  color: #fff;
}
.gv-slide__text{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
}
.gv-slide__btn{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(0,130,200,.95);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.gv-slider__dots{
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  gap: 8px;
  z-index: 2;
}
.gv-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.25);
  cursor: pointer;
}
.gv-dot.is-active{
  background: #fff;
}
@media (max-width: 950px) {
.gv-slides,
  .gv-slide img{
    height: 260px;
  }
}
.gv-mini-slider{
  position: relative !important;
  border-radius: 16px;
  overflow: hidden !important;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  width: 100% !important;
  max-width: 100% !important;
}
.gv-mini-slides{
  position: relative !important;
  height: 320px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.gv-mini-slide{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s ease;
}
.gv-mini-slide.is-active{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1;
}
.gv-mini-slide img,
.gv-mini-slider img,
.gv-mini-slides img{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gv-mini-slide figcaption{
  position: absolute !important;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(8px);
  border-radius: 14px;
  color: #fff;
  z-index: 10 !important;
}
.gv-mini-slide figcaption span{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
}
.gv-mini-slide figcaption a{
  background: #0082c8;
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}
.gv-mini-prev,
.gv-mini-next{
  position: absolute !important;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.6);
  color: #fff;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 24px;
  z-index: 20 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.2s ease;
}
.gv-mini-prev:hover,
.gv-mini-next:hover{
  background: rgba(0,0,0,.8);
}
.gv-mini-prev{ left: 10px !important; }
.gv-mini-next{ right: 10px !important; }
.gv-mini-dots{
  position: absolute !important;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
  z-index: 20 !important;
}
.gv-mini-dots button{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.9);
  background: rgba(255,255,255,.3);
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
}
.gv-mini-dots button:hover{
  background: rgba(255,255,255,.6);
}
.gv-mini-dots button.is-active{
  background: #fff;
  transform: scale(1.2);
}
@media (max-width: 950px) {
.gv-mini-slides{
    height: 260px !important;
  }
.gv-mini-slide{
    height: 260px !important;
  }
.gv-mini-slide img{
    height: 260px !important;
  }
.gv-mini-prev,
  .gv-mini-next{
    width: 36px;
    height: 36px;
    font-size: 20px;
  }
}
@media (max-width: 600px) {
.gv-mini-slides{
    height: 240px !important;
  }
.gv-mini-slide{
    height: 240px !important;
  }
.gv-mini-slide img{
    height: 240px !important;
  }
.gv-mini-slide figcaption{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
  }
.gv-mini-slide figcaption span{
    font-size: 12px;
  }
.gv-mini-slide figcaption a{
    width: 100%;
    text-align: center;
    font-size: 12px;
    padding: 6px 10px;
  }
.gv-mini-prev,
  .gv-mini-next{
    width: 32px;
    height: 32px;
    font-size: 18px;
  }
.gv-mini-dots{
    top: 10px;
    left: 10px;
  }
.gv-mini-dots button{
    width: 10px;
    height: 10px;
  }
}
@media (max-width: 420px) {
.gv-mini-slides{
    height: 200px !important;
  }
.gv-mini-slide{
    height: 200px !important;
  }
.gv-mini-slide img{
    height: 200px !important;
  }
.gv-mini-prev,
  .gv-mini-next{
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
.gv-mini-dots button{
    width: 8px;
    height: 8px;
    border-width: 1px;
  }
}
.gv-mini-slider *,
.gv-mini-slider *::before,
.gv-mini-slider *::after{
  box-sizing: border-box !important;
}
.gv-mini-slide[style],
.gv-mini-slide img[style]{
  width: 100% !important;
  height: 100% !important;
}
.gv-intro__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gv-intro__actions .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;              
  border-radius: 18px;            
  font-weight: 600;               
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
  transition: background-color .15s ease,
              color .15s ease,
              box-shadow .15s ease,
              transform .15s ease;
}
.gv-intro__actions .btn-primary{
  background: rgba(0,130,200,0.12);
  color: #006fa9;
}
.gv-intro__actions .btn-primary:hover{
  background: #0082c8;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0,0,0,.14);
  transform: translateY(-1px);
}
.gv-intro__actions .btn-secondary{
  background: transparent;
  color: #006fa9;
  border: 1px solid rgba(0,130,200,0.35);
}
.gv-intro__actions .btn-secondary:hover{
  background: rgba(0,130,200,0.08);
}
.gv-intro__card[data-accent="teal"]{
  --accent: #0f766e;   
}
.gv-intro__card[data-accent="red"]{
  --accent: #dc2626;   
}
.gv-intro__card[data-accent=""]{
  --accent: #0082c8;   
}
.gv-europe--split{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: center;
}
.gv-europe-media img{
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}
.gv-europe-actions{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gv-europe-actions .btn{
  padding: 9px 18px;
  border-radius: 18px;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
  transition: background-color .15s ease,
              color .15s ease,
              transform .15s ease,
              box-shadow .15s ease;
}
.gv-europe-actions .btn-primary{
  background: rgba(0,130,200,0.12);
  color: #006fa9;
}
.gv-europe-actions .btn-primary:hover{
  background: #0082c8;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,.14);
}
.gv-europe-actions .btn-secondary{
  background: transparent;
  color: #006fa9;
  border: 1px solid rgba(0,130,200,0.35);
}
.gv-europe-actions .btn-secondary:hover{
  background: rgba(0,130,200,0.08);
}
@media (max-width: 900px) {
.gv-europe--split{
    grid-template-columns: 1fr;
  }
.gv-europe-media{
    order: -1; 
  }
}
.gv-europe{
  padding: 64px 0; 
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #f7fbff 100%
  );
}
.gv-europe--split{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: center;
}
.gv-europe-text h2{
  margin-bottom: 14px;
}
.gv-europe-desc{
  max-width: 60ch;
  line-height: 1.65;
}
.gv-europe-media-inner{
  padding: 14px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}
.gv-europe-media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}
.gv-europe-actions{
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 900px) {
.gv-europe{
    padding: 48px 0;
  }
.gv-europe--split{
    grid-template-columns: 1fr;
    gap: 26px;
  }
.gv-europe-media{
    order: 2; 
  }
}
.gv-advice-card{
  display: block;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.gv-advice-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,0,0,.10);
}
.gv-advice-img{
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}
.gv-advice-title{
  margin: 14px 16px 6px;
  font-size: 1rem;
  line-height: 1.3;
  color: #111827;
}
.gv-advice-desc{
  margin: 0 16px 16px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(0,0,0,.65);
}
.gv-contact-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gv-contact-actions .btn{
  padding: 9px 18px;
  border-radius: 18px;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
  transition: background-color .15s ease,
              color .15s ease,
              transform .15s ease,
              box-shadow .15s ease;
}
.gv-contact-actions .btn-primary{
  background: rgba(0,130,200,0.12);
  color: #006fa9;
  border: 1px solid rgba(0,130,200,0.25);
}
.gv-contact-actions .btn-primary:hover{
  background: #0082c8;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,.14);
}
.gv-contact-actions .btn-secondary{
  background: transparent;
  color: #006fa9;
  border: 1px solid rgba(0,130,200,0.35);
}
.gv-contact-actions .btn-secondary:hover{
  background: rgba(0,130,200,0.08);
}
.gv-contact-actions .btn-link{
  padding: 9px 10px;
  font-weight: 600;
  color: rgba(0,0,0,0.6);
  text-decoration: underline;
}
.gv-contact-actions .btn-link:hover{
  color: #006fa9;
}
.gv-navbar{
  background:#fff;
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
  z-index:9999;
}
.gv-navbar-inner{
  max-width:1200px;
  margin:0 auto;
  padding:8px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.gv-navbar-left img{ display:block; }
.gv-navbar-center{ flex:1; margin:0 15px; }
.gv-navbar-right{ margin-left:15px; }
.gv-nav{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
}
.gv-nav > li{ position:relative; }
.gv-nav > li > a{
  text-decoration:none;
  padding:8px 4px;
  color:#333;
  font-size:15px;
  font-weight:500;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.gv-nav > li > a:hover{ color:#000; }
@media (min-width:993px) {
.gv-nav > li:not(:last-child)::after{
    content:"|";
    margin:0 16px;
    color:#777;
    opacity:.6;
  }
}
.gv-dropdown{
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  background:#fff;
  border:1px solid #e2e2e2;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
  margin-top:6px;
  padding:8px 0;
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  transition:.15s;
  z-index:1000;
}
.gv-has-dropdown:hover > .gv-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.gv-dropdown a{
  display:block;
  padding:6px 14px;
  font-size:14px;
  color:#333;
  text-decoration:none;
}
.gv-dropdown a:hover{
  background:#f5f5f5;
  color:#0082c8;
}
.gv-mega > .gv-dropdown{
  min-width:760px;
  padding:16px 20px;
}
.gv-mega-row{
  display:flex;
  gap:24px;
}
.gv-mega-col{ flex:1; }
.gv-mega-heading{
  font-weight:700;
  color:#0082c8;
  margin-bottom:6px;
}
.gv-mega-links a{
  padding:4px 0;
  display:block;
}
.gv-nav-toggle{
  display:none;
  width:34px;
  height:28px;
  background:none;
  border:none;
  cursor:pointer;
}
.gv-nav-toggle span{
  display:block;
  height:2px;
  background:#333;
  margin:4px 0;
}
.gv-sub-toggle{
  display:none;
  background:none;
  border:none;
  width:22px;
  height:22px;
  cursor:pointer;
  position:relative;
}
.gv-sub-toggle::before,
.gv-sub-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:2px;
  background:#555;
}
.gv-sub-toggle::before{ transform:translate(-50%,-50%) rotate(90deg); }
.gv-sub-toggle::after{ transform:translate(-50%,-50%); }
.gv-has-dropdown.gvm-open .gv-sub-toggle::before{
  transform:translate(-50%,-50%);
}
.gv-navbar-right .button{
  background:#0082c8;
  color:#fff;
  padding:8px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
}
.gv-navbar-right .button:hover{ background:#006ba3; }
@media (max-width:992px) {
.gv-navbar-inner{
    flex-wrap:wrap;
    row-gap:8px;
  }
.gv-navbar-left{ order:1; }
.gv-navbar-right{
    order:2;
    flex:1;
    display:flex;
    justify-content:center;
    margin:0;
  }
.gv-nav-toggle{
    display:block;
    order:3;
  }
.gv-navbar-center{
    order:4;
    position:fixed;
    left:0;
    right:0;
    top:var(--gv-header-h,110px);
    background:#fff;
    max-height:calc(100vh - var(--gv-header-h,110px));
    overflow:auto;
    border-top:1px solid #eee;
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:.15s;
    z-index:99999;
  }
.gv-navbar-center.gvm-open{
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
.gv-nav{
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    gap:0;
    padding:8px 0;
  }
.gv-nav > li{
    width:100%;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #f2f2f2;
  }
.gv-nav > li > a{
    padding:12px;
    width:100%;
  }
.gv-dropdown{
    position:static;
    border:none;
    box-shadow:none;
    padding:6px 0 10px 14px;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
.gv-has-dropdown.gvm-open > .gv-dropdown{ display:block; }
.gv-sub-toggle{ display:inline-block; }
.gv-mega-row{ display:block; }
.gv-mega-col{ margin-bottom:10px; }
}
.gv-navbar-right .button{
  display:inline-block;
  padding:10px 26px;            
  background:#0082C8;
  color:#fff !important;
  border-radius:999px;
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  letter-spacing:0.02em;
  white-space:nowrap;
  transition: background .2s ease, transform .15s ease;
}
.gv-navbar-right .button:hover{
  background:#006ba3;
  transform: translateY(-1px);
}
@media (max-width:1024px) {
.gv-navbar-right .button{ padding:8px 20px; font-size:15px; }
}
@media (max-width:600px) {
.gv-navbar-right .button{ padding:6px 16px; font-size:14px; }
}
@media (min-width: 993px) {
.gv-dropdown li:nth-child(odd) a{
    background:#f9fbfd;
  }
.gv-dropdown li:nth-child(even) a{
    background:#f3f6fb;
  }
.gv-mega-links a:nth-child(odd){
    background:#f9fbfd;
    padding:4px 6px;
    border-radius:3px;
  }
.gv-mega-links a:nth-child(even){
    background:#f3f6fb;
    padding:4px 6px;
    border-radius:3px;
  }
.gv-dropdown a:hover,
  .gv-mega-links a:hover{
    background:#e4f1fb;
    color:#0082c8;
  }
}
@media (max-width: 420px) {
.gv-navbar .btn-primary,
  .gv-header .btn-primary {
    font-size: 11px !important;
    padding: 2px 4px !important;
    line-height: 1.1 !important;
    min-height: unset !important;
    max-width: 80px !important;
    white-space: nowrap !important;
  }
.gv-navbar-inner,
  .gv-header-inner {
    flex-wrap: nowrap !important;
  }
}
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
.page { width: 100%; max-width: 100%; overflow-x: hidden; }
@media (max-width: 420px) {
[style*="width:100vw"], [style*="width: 100vw"] { width: 100% !important; }
img, video, svg { max-width: 100% !important; height: auto !important; display: block; }
iframe:not([src*="recaptcha"]) { max-width: 100% !important; height: auto !important; display: block; }
iframe[src*="recaptcha"] { max-width: none !important; min-width: 0 !important; }
p, li, a, h1, h2, h3, h4, span, strong, em {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
.btn, button, input, select, textarea {
    max-width: 100%;
    min-width: 0 !important;
  }
.gv-intro__panel--split,
  .gv-europe--split,
  .gv-why-grid { display: block !important; }
.gv-services-grid,
  .gv-gallery-grid,
  .gv-advice-grid,
  .gv-intro__cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
.gv-mini-slider,
  .gv-mini-slides,
  .gv-mini-slide,
  .gv-mini-slide img {
    max-width: 100% !important;
  }
.gv-mini-slides { overflow: hidden !important; }
.gv-mini-slide { width: 100% !important; }
.wrap, .pwidth { padding-left: 12px !important; padding-right: 12px !important; }
table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
.qp-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
  }
.qp-overlay.qp-active {
    opacity: 1;
    pointer-events: all;
  }
.qp-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 100vh;
    background: linear-gradient(180deg, #146b35 0%, #116b2e 40%, #0e5a26 100%);
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    overflow-y: auto;
    overflow-x: visible;
    box-shadow: 4px 0 30px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    font-family: 'Nunito Sans', sans-serif;
  }
.qp-panel.qp-active {
    transform: translateX(0);
  }
.qp-panel *, .qp-panel *::before, .qp-panel *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
.qp-panel::-webkit-scrollbar { width: 5px; }
.qp-panel::-webkit-scrollbar-track { background: transparent; }
.qp-panel::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 10px; }
.qp-header {
    padding: 20px 20px 10px 20px;
    position: relative;
  }
.qp-header h2 {
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.35;
    padding-right: 30px;
    margin: 0;
  }
.qp-header h2 span {
    color: #ffd700;
  }
.qp-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 28px;
    height: 28px;
    border: none;
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-size: 18px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.2s;
    line-height: 1;
    padding: 0;
  }
.qp-close:hover {
    background: rgba(255,255,255,0.25);
    transform: scale(1.1);
  }
.qp-form {
    padding: 8px 20px 24px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
.qp-field {
    margin-bottom: 10px;
  }
.qp-field input[type="text"],
  .qp-field input[type="email"],
  .qp-field input[type="tel"] {
    width: 100%;
    padding: 10px 12px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.85rem;
    border: none;
    border-bottom: 2px solid rgba(255,255,255,0.2);
    background: transparent;
    color: #fff;
    outline: none;
    transition: border-color 0.25s;
    border-radius: 0;
  }
.qp-field input::placeholder {
    color: rgba(255,255,255,0.55);
    font-size: 0.85rem;
  }
.qp-field input:focus {
    border-bottom-color: #ffd700;
  }
.qp-helper {
    font-size: 0.7rem;
    color: rgba(255,255,255,0.4);
    margin-top: 3px;
    padding-left: 12px;
  }
.qp-radio-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    padding-left: 2px;
  }
.qp-radios {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 14px;
  }
.qp-radio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    padding: 4px 2px;
    border-radius: 6px;
    transition: background 0.15s;
  }
.qp-radio:hover {
    background: rgba(255,255,255,0.04);
  }
.qp-radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    min-width: 16px;
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    margin-top: 2px;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s;
    background: transparent;
    padding: 0;
  }
.qp-radio input[type="radio"]:checked {
    border-color: #4CAF50;
  }
.qp-radio input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #4CAF50;
    border-radius: 50%;
  }
.qp-radio label {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    line-height: 1.3;
    font-weight: 400;
  }
.qp-other-input {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.3s ease, margin 0.3s ease;
    opacity: 0;
    margin: 0;
  }
.qp-other-input.qp-visible {
    max-height: 60px;
    opacity: 1;
    margin: 4px 0 4px 26px;
  }
.qp-other-input input {
    width: 100%;
    padding: 8px 12px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.8rem;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 5px;
    background: rgba(255,255,255,0.07);
    color: #fff;
    outline: none;
    transition: border-color 0.25s;
  }
.qp-other-input input::placeholder {
    color: rgba(255,255,255,0.45);
  }
.qp-other-input input:focus {
    border-color: #ffd700;
  }
.qp-captcha {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 8px 0 4px;
    overflow: visible;
  }
.qp-captcha > div {
    overflow: visible;
  }
.qp-captcha-error {
    color: #ff6b6b;
    font-size: 0.75rem;
    margin-top: 6px;
    display: none;
  }
.qp-captcha-error.qp-show {
    display: block;
  }
.qp-submit {
    display: block;
    margin: 6px auto 0;
    padding: 10px 36px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #2e7d32, #43a047);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, background 0.3s;
    box-shadow: 0 3px 12px rgba(46, 125, 50, 0.35);
  }
.qp-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(46, 125, 50, 0.5);
    background: linear-gradient(135deg, #388e3c, #4caf50);
  }
.qp-submit:active {
    transform: translateY(0);
  }
.qp-success {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 30px;
    flex: 1;
  }
.qp-success.qp-show {
    display: flex;
  }
.qp-success-icon {
    width: 64px;
    height: 64px;
    background: rgba(76, 175, 80, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    animation: qpScaleIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
.qp-success-icon svg {
    width: 32px;
    height: 32px;
    color: #4caf50;
  }
.qp-success h3 {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
.qp-success p {
    color: rgba(255,255,255,0.6);
    font-size: 0.9rem;
    line-height: 1.5;
  }
@keyframes qpScaleIn {
    from { transform: scale(0); }
    to { transform: scale(1); }
  }
.qp-reopen {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg) translateX(-50%);
    transform-origin: left top;
    background: linear-gradient(135deg, #2e7d32, #43a047);
    color: #fff;
    padding: 8px 20px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    border: none;
    border-radius: 0 0 8px 8px;
    cursor: pointer;
    z-index: 9997;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s, background 0.2s;
    box-shadow: 0 3px 12px rgba(0,0,0,0.3);
    letter-spacing: 0.5px;
  }
.qp-reopen.qp-visible {
    opacity: 1;
    pointer-events: all;
  }
.qp-reopen:hover {
    background: linear-gradient(135deg, #388e3c, #4caf50);
  }
@media (max-width: 400px) {
.qp-panel { width: 100%; }
}
@media (max-width: 768px) {
.qp-panel {
      width: 100%;
      max-width: 360px;
    }
.qp-field input[type="text"],
    .qp-field input[type="email"],
    .qp-field input[type="tel"] {
      padding: 12px;
      font-size: 16px; 
    }
.qp-radio {
      padding: 8px 4px;
      gap: 12px;
    }
.qp-radio input[type="radio"] {
      width: 20px;
      height: 20px;
      min-width: 20px;
    }
.qp-radio input[type="radio"]:checked::after {
      width: 9px;
      height: 9px;
    }
.qp-radio label {
      font-size: 0.85rem;
    }
.qp-submit {
      width: 100%;
      padding: 14px;
      font-size: 1rem;
    }
.qp-captcha {
      overflow: visible;
    }
.qp-panel iframe {
      max-width: none !important;
    }
.qp-reopen {
      font-size: 0.75rem;
      padding: 6px 16px;
    }
}
.qp-panel,
.qp-overlay,
.qp-backdrop { z-index: 99999 !important; }

/* ===== areas strip, FAQ, contact grid  (was index-upgrade.css) ===== */
.gv-howitworks .gv-steps {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  counter-reset: gvstep;
}
.gv-step {
  position: relative;
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 12px;
  padding: 28px 22px 22px;
  box-shadow: 0 2px 10px rgba(0, 130, 200, 0.04);
  transition: transform .2s ease, box-shadow .2s ease;
}
.gv-step:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 130, 200, 0.10);
}
.gv-step-num {
  position: absolute;
  top: -18px;
  left: 22px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0082c8;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 130, 200, 0.25);
}
.gv-step h3 {
  margin: 6px 0 10px;
  font-size: 19px;
  color: #1a3550;
}
.gv-step p {
  margin: 0;
  color: #4a5a6b;
  font-size: 15px;
  line-height: 1.55;
}
.gv-why-intro--center {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}
.gv-why-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.gv-why-card {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 12px;
  padding: 24px 22px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gv-why-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 130, 200, 0.10);
  border-color: #cce5f4;
}
.gv-why-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: linear-gradient(135deg, #e8f4fb, #d4ebf7);
  color: #0082c8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.gv-why-icon svg {
  width: 26px;
  height: 26px;
}
.gv-why-card h3 {
  margin: 0 0 8px;
  font-size: 17px;
  color: #1a3550;
}
.gv-why-card p {
  margin: 0;
  color: #4a5a6b;
  font-size: 14.5px;
  line-height: 1.55;
}
.gv-areas-strip {
  margin-top: 36px;
  padding: 18px 22px;
  background: #f4f9fc;
  border: 1px solid #dceaf3;
  border-radius: 10px;
  text-align: center;
  line-height: 1.8;
}
.gv-areas-row {
  padding: 4px 0;
}
.gv-areas-row + .gv-areas-row {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px dashed #dceaf3;
}
.gv-areas-label {
  display: inline-block;
  font-weight: 600;
  color: #1a3550;
  margin-right: 10px;
}
.gv-areas-list {
  color: #4a5a6b;
  font-size: 15px;
}
.gv-areas-list a {
  color: #0082c8;
  text-decoration: none;
  font-weight: 500;
}
.gv-areas-list a:hover {
  text-decoration: underline;
}
.gv-faq-list {
  margin-top: 28px;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.gv-faq-item {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.gv-faq-item:hover {
  border-color: #cce5f4;
}
.gv-faq-item.active {
  border-color: #0082c8;
  box-shadow: 0 4px 14px rgba(0, 130, 200, 0.08);
}
.gv-faq-q {
  width: 100%;
  background: none;
  border: none;
  padding: 18px 22px;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  color: #1a3550;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: inherit;
}
.gv-faq-q:hover {
  color: #0082c8;
}
.gv-faq-toggle {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f4f9fc;
  position: relative;
  transition: transform .25s ease, background .2s ease;
}
.gv-faq-toggle::before,
.gv-faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #0082c8;
  transition: background .2s ease;
}
.gv-faq-toggle::before {
  width: 12px;
  height: 2px;
  transform: translate(-50%, -50%);
}
.gv-faq-toggle::after {
  width: 2px;
  height: 12px;
  transform: translate(-50%, -50%);
  transition: transform .25s ease, background .2s ease, opacity .2s ease;
}
.gv-faq-item.active .gv-faq-toggle {
  background: #0082c8;
}
.gv-faq-item.active .gv-faq-toggle::before {
  background: #fff;
}
.gv-faq-item.active .gv-faq-toggle::after {
  opacity: 0;
}
.gv-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
.gv-faq-a p {
  margin: 0;
  padding: 0 22px 20px;
  color: #4a5a6b;
  font-size: 15px;
  line-height: 1.6;
}
.gv-faq-a a {
  color: #0082c8;
  text-decoration: underline;
}
.gv-contact-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 32px;
}
.gv-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.gv-contact-card {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 12px;
  padding: 26px 22px 22px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gv-contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 130, 200, 0.12);
  border-color: #cce5f4;
}
.gv-contact-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.gv-contact-icon svg {
  width: 26px;
  height: 26px;
}
.gv-contact-icon--green {
  background: linear-gradient(135deg, #e6f7ec, #d2efd9);
  color: #2a9152;
}
.gv-contact-icon--blue {
  background: linear-gradient(135deg, #e8f4fb, #d4ebf7);
  color: #0082c8;
}
.gv-contact-icon--orange {
  background: linear-gradient(135deg, #fdf0e3, #fce0c4);
  color: #d97706;
}
.gv-contact-icon--purple {
  background: linear-gradient(135deg, #f0e8fb, #e2d4f6);
  color: #7c3aed;
}
.gv-contact-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
  color: #1a3550;
}
.gv-contact-card-desc {
  margin: 0 0 16px;
  color: #4a5a6b;
  font-size: 14.5px;
  line-height: 1.55;
  flex-grow: 1;
}
.gv-contact-card-cta {
  display: inline-block;
  color: #0082c8;
  font-weight: 600;
  font-size: 15px;
  transition: transform .2s ease;
}
.gv-contact-card:hover .gv-contact-card-cta {
  transform: translateX(4px);
}
@media (max-width: 1100px) {
.gv-contact-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
.gv-howitworks .gv-steps,
  .gv-why-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
.gv-howitworks .gv-steps,
  .gv-why-cards,
  .gv-contact-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
.gv-step,
  .gv-why-card,
  .gv-contact-card {
    padding: 22px 18px;
  }
.gv-step-num {
    top: -16px;
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
.gv-areas-strip {
    padding: 16px 18px;
    text-align: left;
  }
.gv-areas-label {
    display: block;
    margin: 0 0 6px;
  }
.gv-faq-q {
    padding: 16px 18px;
    font-size: 15px;
  }
.gv-faq-a p {
    padding: 0 18px 18px;
  }
}
