:root{
    --bat-black:#0a0a0a;
    --bat-ink:#171717;
    --bat-white:#ffffff;
    --bat-line:rgba(255,255,255,.2);
    --bat-muted:#a3a3a3;
    --bat-green:#315f50;
  }

  .site-header{
    position:relative;
    z-index:100;
    width:100%;
    background:var(--bat-black);
    color:var(--bat-white);
    border:0;
    box-shadow:none;
    padding:0;
    text-align:left;
  }

  body.home-page .site-header{
    position:absolute;
    inset:0 0 auto;
    background:transparent;
    border-bottom:1px solid var(--bat-line);
  }

  .site-header .inner{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    max-width:1320px;
    margin:0 auto;
    padding:0 28px;
    box-sizing:border-box;
  }

  .site-header .brand{
    display:flex;
    flex-direction:column;
    flex:0 0 auto;
    color:var(--bat-white);
    text-decoration:none;
    line-height:1;
  }

  .site-header .brand:hover{
    color:var(--bat-white);
    text-decoration:none;
  }

  .brand-name{
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    letter-spacing:0;
  }

  .brand-service{
    margin-top:5px;
    color:rgba(255,255,255,.72);
    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .site-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
    flex:1;
  }

  .site-nav a{
    position:relative;
    color:rgba(255,255,255,.88);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    white-space:nowrap;
  }

  .site-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-8px;
    height:1px;
    background:#fff;
    transition:right .2s ease;
  }

  .site-nav a:hover{
    color:#fff;
    text-decoration:none;
  }

  .site-nav a:hover::after{
    right:0;
  }

  .header-phone{
    display:flex;
    flex-direction:column;
    flex:0 0 auto;
    color:#fff;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    text-align:right;
  }

  .header-phone span{
    color:rgba(255,255,255,.6);
    font-size:9px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .header-phone:hover{
    color:#fff;
    text-decoration:none;
  }

  .header-language-slot{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:118px;
    flex:0 0 auto;
  }

  body:not(.home-page) :is(.landing-hero,.faq-hero,.tc-hero,.pp-hero,.cp-hero){
    background:var(--bat-black)!important;
    background-image:none!important;
    color:#fff!important;
    border-radius:0!important;
  }

  body:not(.home-page) :is(.landing-hero,.faq-hero,.tc-hero,.pp-hero,.cp-hero) h1{
    color:#fff!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:400!important;
    letter-spacing:0!important;
  }

  body:not(.home-page) .landing-hero p{
    color:#d4d4d4!important;
  }

  body:not(.home-page) .landing-hero .btn{
    border-radius:3px!important;
  }

  body:not(.home-page) .landing-hero .btn-primary{
    border-color:#fff!important;
    background:#fff!important;
    color:#111!important;
  }

  body:not(.home-page) .landing-hero .btn-secondary{
    border-color:rgba(255,255,255,.42)!important;
    background:transparent!important;
    color:#fff!important;
  }

  body:not(.home-page) main .content-section .card{
    border-radius:3px!important;
    box-shadow:none!important;
  }

  .site-footer{
    margin:0;
    padding:0;
    background:var(--bat-black);
    color:#e5e5e5;
    border:0;
    border-radius:0;
    box-shadow:none;
    text-align:left;
    font-size:14px;
  }

  .site-footer .wrap{
    max-width:1240px;
    margin:0 auto;
    padding:64px 28px 0;
    box-sizing:border-box;
  }

  .footer-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    padding-bottom:38px;
    border-bottom:1px solid rgba(255,255,255,.16);
  }

  .footer-heading p{
    max-width:440px;
    margin:0;
    color:#a3a3a3;
    font-size:16px;
    line-height:1.6;
    text-align:right;
  }

  .footer-brand{
    display:flex;
    flex-direction:column;
    color:#fff;
    text-decoration:none;
    line-height:1;
  }

  .footer-brand:hover{
    color:#fff;
    text-decoration:none;
  }

  .footer-brand span{
    font-family:Georgia,"Times New Roman",serif;
    font-size:44px;
  }

  .footer-brand small{
    margin-top:8px;
    color:#a3a3a3;
    font-size:10px;
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
  }

  .footer-grid{
    display:grid;
    grid-template-columns:1.3fr .9fr .9fr 1.1fr;
    gap:48px;
    padding:48px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }

  .footer-col .footer-title{
    margin:0 0 18px;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .footer-col p{
    margin:0;
    color:#a3a3a3;
    line-height:1.75;
  }

  .footer-links,
  .footer-contact{
    list-style:none;
    margin:0;
    padding:0;
  }

  .footer-links li+li,
  .footer-contact li+li{
    margin-top:11px;
  }

  .footer-links a,
  .footer-contact a,
  .footer-mini-links a{
    color:#d4d4d4;
    text-decoration:none;
  }

  .footer-links a:hover,
  .footer-contact a:hover,
  .footer-mini-links a:hover{
    color:#fff;
    text-decoration:underline;
    text-underline-offset:4px;
  }

  .footer-contact li{
    display:block;
    color:#a3a3a3;
    line-height:1.55;
  }

  .footer-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
  }

  .footer-badges .pill{
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:3px;
    background:transparent;
    color:#d4d4d4;
    font-size:11px;
    font-weight:600;
  }

  .footer-social{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:42px;
    align-items:center;
    padding:34px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }

  .footer-social-heading{
    display:flex;
    flex-direction:column;
    gap:5px;
  }

  .footer-social-heading span{
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    line-height:1.2;
  }

  .footer-social-heading small{
    color:#b8b8b8;
    font-size:10px;
    font-weight:700;
    letter-spacing:.09em;
    line-height:1.5;
    text-transform:uppercase;
  }

  .footer-social-links{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border:1px solid rgba(255,255,255,.18);
    border-radius:3px;
    overflow:hidden;
  }

  .footer-social-link{
    min-width:0;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 10px;
    border-right:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.025);
    color:#cfcfcf;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    transition:background-color .2s ease,color .2s ease;
  }

  .footer-social-link:last-child{border-right:0}

  .footer-social-link:hover{
    background:rgba(255,255,255,.1);
    color:#fff;
    text-decoration:none;
  }

  .footer-social-icon{
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 20px;
    color:#a3a3a3;
    transition:color .2s ease;
  }

  .footer-social-icon svg{
    width:20px;
    height:20px;
    display:block;
  }

  .footer-social-facebook:hover .footer-social-icon{color:#6b9bea}
  .footer-social-instagram:hover .footer-social-icon{color:#e56b9f}
  .footer-social-tripadvisor:hover .footer-social-icon{color:#34e0a1}
  .footer-social-youtube:hover .footer-social-icon{color:#ff4545}
  .footer-social-whatsapp:hover .footer-social-icon{color:#36d878}

  .footer-bottom{
    margin:0;
    padding:0;
    background:transparent;
  }

  .footer-bottom-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px 0 30px;
    color:#b8b8b8;
    font-size:12px;
  }

  .footer-mini-links{
    display:flex;
    align-items:center;
    gap:16px;
  }

  @media (max-width:1050px){
    .site-nav{
      gap:20px;
    }

    .header-phone{
      display:none;
    }

    .footer-grid{
      grid-template-columns:1fr 1fr;
    }

    .footer-social{
      grid-template-columns:1fr;
      gap:20px;
    }
  }

  @media (max-width:700px){
    .site-header .inner{
      min-height:68px;
      gap:14px;
      padding:0 18px;
    }

    .brand-name{
      font-size:23px;
    }

    .brand-service{
      font-size:8px;
    }

    .site-nav{
      display:none;
    }

    .header-language-slot{
      min-width:104px;
      margin-left:auto;
    }

    .site-footer .wrap{
      padding:44px 20px 0;
    }

    .footer-heading{
      display:block;
    }

    .footer-heading p{
      margin-top:22px;
      text-align:left;
    }

    .footer-brand span{
      font-size:36px;
    }

    .footer-grid{
      grid-template-columns:1fr;
      gap:32px;
      padding:38px 0;
    }

    .footer-social{padding:30px 0}

    .footer-social-links{
      grid-template-columns:1fr 1fr;
    }

    .footer-social-link{
      justify-content:flex-start;
      min-height:54px;
      padding:12px 16px;
      border-right:1px solid rgba(255,255,255,.18);
      border-bottom:1px solid rgba(255,255,255,.18);
    }

    .footer-social-link:nth-child(2n){border-right:0}
    .footer-social-link:nth-child(3),
    .footer-social-link:nth-child(4){border-bottom:0}
    .footer-social-link:last-child{
      grid-column:1 / -1;
      justify-content:center;
      border-top:1px solid rgba(255,255,255,.18);
      border-bottom:0;
    }

    .footer-bottom-inner{
      align-items:flex-start;
      flex-direction:column;
    }
  }
