body { margin: 0; font-family: sans-serif; background: #013751; color: #333; max-width:100vw; overflow-x:hidden;}

/* Load the variable font with proper font-weight range */
@font-face {
  font-family: 'ModerusticVariable';
  src: url("../src/font/Moderustic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;  /* variable font weight range */
  font-style: normal;
}

@font-face {
  font-family: Autovol;
  src: url("../src/font/Autovol.otf") format("opentype");
}

html.ru, html.ru body, html.ru body * {
  font-family: 'ModerusticVariable', sans-serif;
  
}

html.ru, html.ru body, html.ru body p, span {
  font-size:20px;
}

/* Apply Autovol only on non-Russian pages */
html:not(.ru) * {
  font-family: 'Autovol', sans-serif;
}

/* Optional: style headings globally with Autovol (keep as is) */
h2, h3 {
  font-family: 'Autovol', sans-serif;
  font-weight: bold;
}

/* Header */
h1,h2,h3{
  font-family: 'Autovol';
  font-weight: bold;
}
h1{
    font-size:60px;
    font-weight: bold;
    color:#F76200;
    font-family: 'Autovol', sans-serif !important;
}
.header {
    background-color: #001A33;
    padding: 1rem 0;
  }
  
  .site-title {
    margin: 0;
    padding-left: 1.5rem;     /* push H1 a bit right */
    color: #F76200;
    font-size: 1.75rem;
    font-weight:bolder;
  }
  
  .header-right .phone {
    color: #FFFFFF;
    font-weight: bold;
  }
  
  .header-right .social-icon img {
    width: 24px;
    height: auto;
    margin-left: 0.5rem;
    filter: brightness(0) invert(1); /* white icons */
  }
  
.hero {  
  color: #fff; 
  padding: 2rem 0; 
  text-align: center;
  background: #013751;
  background: linear-gradient(320deg,rgba(1, 55, 81, 1) 0%, rgba(1, 55, 81, 1) 75%, rgba(210, 88, 38, 1) 100%);
  padding-top:100px;
  padding-bottom: 100px;
}
.hero-image{
    max-width:100%;
    width:500px;
}
.hero-text {
  position:relative;
  padding-top: 120px;
  padding-bottom: 120px;
}
.hero-text-blur{
  position:absolute;
  right:-70%;
  top:50%;
  transform: translateY(-50%);
  z-index:0;
}
.hero-text h2,
.hero-text p {
  color:white;
  text-align: left;
  z-index: 1;
}
.hero-text-image{
  position: absolute;
  left: -60%;
  top: 50%;
  transform: translateY(-50%) scale(-1, 1);
}
.carousel-section h2,
.carousel-section p {
  color:white;
}
.carousel-section { 
  padding-top: 150px;
  padding-bottom: 70px; 
}
.glide__arrows {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 1rem;
}

.glide__arrow {
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 2rem;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
  z-index: 10;
}
.glide__slide{
  border-radius: 15px;
  overflow: hidden;
}
.cards{
  position: relative;
}
.cards-blur{
  position:absolute;
  left:-70%;
  top:50%;
  transform: translateY(-50%);
  z-index:0;
}
.cards h2,
.cards p{
  position: relative;
  z-index: 1;
  color:white
}
.cards, .cards-alt { padding: 2rem 0; }
.cards-container{
  margin-top:25px;
}
.card{
  background-color: #0E1B28;
  border-radius: 15px;
  border:none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.card-main-image{
  border-radius: 15px;
  width: 100%;
  object-fit: contain;
  overflow: hidden;
}
.map { 
  position: relative; 
  border-top-left-radius:15px;
  border-top-right-radius: 15px;
  height: 500px;
}
.map iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border-top-left-radius:15px;
  border-top-right-radius: 15px;
}
.map-info { 
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  right:50px;
  padding:50px;
  background-color: #0E1B28;
  border-radius:15px;
  color:white;
}
.ph-details{
  display: none;
}
@media screen and (max-width: 768px) {
  .map-info { 
    top:auto;
    bottom:10%;
    left:50%;
    transform: translateX(-50%);
    padding:20px 40px;
  }

  .button-container{
    max-width: 100%;
    overflow-Y: scroll;
  }

  h1{
    font-size:40px;
  }

  .content{
    width:100vw;
    padding-left:2.5%;
    padding-right:2.5%;
    overflow-x:hidden;
  }

  .hero-text-image{
    display:none;
  }
  .header-right{
    display: none;
  }
  .site-title{
    padding-left: 0;
    text-align: center;
    width: 100%;
  }
  .ph-details{
    display: block;
  }
  .ph-details .phone {
    color: #FFFFFF;
    font-weight: bold;
  }
  
  .ph-details .social-icon img {
    width: 24px;
    height: auto;
    margin-left: 0.5rem;
    filter: brightness(0) invert(1); /* white icons */
  }
}
.footer { background: #001f3f; color: #fff; padding: 2rem 0; }
.socials img { width: 32px; margin: 0 0.5rem; }

.phone{
  margin-right:10px;
}
.button-container{
  justify-content: flex-start;
    display: flex;
    gap: 15px;
}
.button{
  border-radius:15px;
  background-color: #003F6B !important;
  color: white !important;
  font-weight: bold;
  padding:10px 25px;
  z-index: 1;
}

.margin-top-1{
  margin-top:30px;
}

.language-switcher{
  text-align: center;
  font-weight: bold;
}

.language-switcher a{
  color:#F76200;
}