/* ─── Browser restyle ─── */

*,
*::before,
*::after {
  margin: 0;
  padding: 0; 
  box-sizing: border-box;
}

img {
  max-width: 100%;
  display: block;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font-family: inherit;
  font-size: inherit;
}

/* ─── Base styles ─── */
body {

    /* text relevant */
    font-family: var(--font-body);
    color: var(--color-3);
    line-height: var(--line-height-body);

    /*background color*/
    background-color: var(--color-1);
  }
  
  h1, h2, h3 {
    font-family: var(--font-heading);
    line-height: var(--line-height-heading);
    color: var(--color-4);
  }

  h2 em {
    font-style: italic;
  }

/* mobile - default */
@media (max-width: 1199px) {


  .logo-desktop { 
    display: none; 
  }
  
  header > nav { 
    display: none; 
  }

  header {
    padding-top: var(--space-top-mobile);
    padding-bottom: 12vw;
    padding-left: var(--space-page-mobile);
    padding-right: var(--space-page-mobile);
  }

  main {
    padding-left: var(--space-page-mobile);
    padding-right: var(--space-page-mobile);
  }

  footer {
    padding-top: var(--space-top-mobile);
    padding-bottom: var(--space-page-mobile);
    padding-left: var(--space-page-mobile);
    padding-right: var(--space-page-mobile);
  }

  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .logo-mobile {
    display: flex;
    height: 15.85vw;
    width: auto;
  }

  .mobile-nav {
    margin-top: 47vw;
  }

  .mobile-menu.open {
    display: flex;
  }
  
  .mobile-nav ul {
    display: flex;
    flex-direction: column;
    gap: 3.95vw;
    align-items: center;
  }
  
  .lang-switch {
    margin-top: 5.7vw;
    text-align: center;
  }

  .mobile-menu-top {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .mobile-menu-top .logo-mobile {
    height: 15.85vw;
    width: auto;
  }
  
  .mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-1);
    z-index: 100;
    flex-direction: column;
    align-items: center;
    padding: var(--space-top-mobile) var(--space-page-mobile);
    overflow-y: auto;
  }
  
  .mobile-nav a {
    font-size: var(--mobile-font-size-h4);
    font-family: var(--font-body);
  }

  .lang-switch {
    font-size: 5.5vw;
    font-family: var(--font-body);
    text-align: center;
    margin-top: auto;
  }

  #hero{
    margin-top: 44.18vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #hero-image {
    transform: rotate(-2deg);
    width: 65.11vw;
    height: 65.11vw;
    object-fit: cover;
    border-radius: 23px;
  }

  #hero h1 {
    font-style: italic;
    font-size: var(--mobile-font-size-h4);
    font-weight: var( --font-weight-regular); 
    margin-top: 11.86vw;
}

.hero-subtitle{

    text-transform: uppercase;
    text-align: center;
    font: var(--font-body);
    font-size: var(--mobile-font-size-nav);
    font-weight: var( --font-weight-regular); 
    color: var(--color-3);
    margin-top: 3.95%;
    margin-left: 15.34vw;
    margin-right: 15.34vw;
    margin-bottom: 23.25vw;
}

#about {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 26.74vw;
}

#about-image, 
#about-page #about-image {
  width: 87.2vw;
  height: 87.2vw;
  object-fit: cover;
  border-radius: 23px;
}

.job-title{
  margin-top: 5.58vw;
  text-transform: uppercase;
  font-size: var(--mobile-font-size-nav1);
  font-weight: 500;
}

#about h2, #about-page h2 {
  font-weight: 400;
  font-size: var(--mobile-font-size-body);
  margin-top: 2.09vw;
}

.about-page #about-page h2 {
  font-weight: 400;
  font-size: var(--mobile-font-size-body);
  margin-top: 3.95vw;
} 

.btn{
  text-transform: uppercase;
  font-size: var(--mobile-font-size-nav1);
}

.about-content {
  justify-content: flex-start;
}

.about-bottom{
  margin-top: 29.03vw;
}

.about-page .about-bottom{
  margin-top: 18.83vw;
}

.about-text {
  font-size: var(--mobile-font-size-nav);
  line-height: 1.4;
  letter-spacing: -0.01em;
  margin-bottom: 6.97vw;
}

.about-page .about-text{
  font-size: var(--mobile-font-size-nav);
  line-height: 1.4;
  letter-spacing: -0.01em;
  margin-bottom: 18.83vw;
  margin-top: 3.95vw;
}    

#about .btn {
  align-self: flex-start;
}

.about-page footer {
  margin-top: 10vw;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 24.88vw;
  gap: 12.32vw;
}

.stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.stat-number{
  font-size: var(--mobile-font-size-h1);
  font-weight: var( --font-weight-regular);
}

.stat-label{
  font-size: var(--mobile-font-size-nav1);
}

.section-headline {
  font-size: var(--mobile-font-size-h4);
  font-weight: var(--font-weight-regular);
  text-align: center;
  margin-bottom: 8.37vw;
}

#news {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 32.55vw;
}

.news-page-intro {
  font-size: var(--mobile-font-size-nav);
  text-align: center;
  padding: 0 5.34vw;
}

/* override for news page */
.news-page .news-grid {
  margin-top: 11.8vw;
  margin-bottom: -2.0vw;
}

.news-page .news-grid {
  flex-direction: column;
}

.news-grid { 
  display: flex;
  gap: 1.25vw;
  width: 100%;
  position: relative;
}

.news-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3.90vw;
}

.news-page .news-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6.97vw;
}

.index-page .news-column:nth-child(n+2) {
  display: none;
}

.news-card {
  width: 100%;
  background-color: var(--color-1);
  border: 0.23vw solid var(--color-4);
  border-radius: 23px;
  padding: 3.95vw;
}

.news-card img {
  width: 80vw;
}

.news-meta {
  display: flex;
  justify-content: space-between;
  font-size: var(--mobile-font-size-nav1);
  font-weight: var(--font-weight-regular);
  color: var(--color-4);
  margin-top: 1.25vw;
}

.news-card h3 {
  font-size: 4.65vw;
  font-weight: var(--font-weight-regular);
  margin-bottom: 1.04vw;
}

.news-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.news-content p {
  font-size: var(--mobile-font-size-nav1);
}

.news-column:nth-child(n+2) {
  display: none;
}

  #news .page-link {
    margin-top: 7.44vw;
    display: block;
  }

  #portfolio {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 39.06vw;
  }

  #portfolio h1 {
    color: var(--color-1);
  }

  #portfolio-list {
    width: 100%;
    margin-top: 3.09vw;
    margin-bottom: 3.09vw;
  }
  
  .portfolio-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
  }
  
  .portfolio-rows {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 6.16vw;
    width: 100%;
  }
  
  .portfolio-field {
    display: flex;
    flex-direction: column;
  }

  .portfolio-item {
    border-top: 0.23vw solid var(--color-1);
    padding: 6.16vw 0;
    color: var(--color-1);
  }
  
  .portfolio-item:last-child {
    border-bottom: 0.23vw solid var(--color-1);
  }

  .portfolio-label {
    font-size: var(--mobile-font-size-nav1);
  }

  .portfolio-value {
    font-family: var(--font-heading);
    font-size: var(--mobile-font-size-nav);
  }

  .portfolio-meta,
  .portfolio-data {
    display: flex;
    flex-direction: column;
  }

  .portfolio-page .portfolio-detail,
  .portfolio-detail {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    display: flex;
    flex-direction: column;
    gap: 3.95vw;
  }

  .detail-img-container {
    width: 87.4vw;
    height: 72.1vw;
    min-height: 72.1vw;
    border-radius: 23px;
    overflow: hidden;
  }

  .portfolio-page .detail-img-container img,
  .detail-img-container img {
    width: 100%;
    height: 100%;
    border-radius: 23px;
    object-fit: cover;
    margin-top: 5.2vw;
  }

  .portfolio-detail-text {
    display: block;
  }
  
  .portfolio-detail p {
    margin-top: 1.2vw;
    margin-bottom: 1.88vw;
    flex: 1;
    color: var(--color-1) !important;
    font-family: var(--font-body);
    font-size: var(--mobile-font-size-nav1);
    margin-bottom: 6.7vw;
  }

  .img-copyright {
    font-size: var(--mobile-font-size-nav1);
  }

  .btn-expand::before,
  .btn-expand::after {
    transition: transform 0.4s ease;
  }

  .portfolio-page .btn-expand::before,
  .portfolio-page .btn-expand::after {
    background-color: var(--expand-color, var(--color-3));
  }

  .btn-expand.open::before {
    transform: rotate(0deg);
  }

  .btn-expand.open::after {
    transform: rotate(0deg);
  }

  .btn-expand.open::before {
    top: 40%;
  }

  .btn-expand.open::after {
    top: 120%;
  }

  #portfolio .page-link {
    margin-top: 4.25vw;
    color: var(--color-1);
  }

  .portfolio-page main {
    margin-bottom: 31.72vw;
  }

  #clients {
    margin-top: 33.02vw;
  }

  .clients-grid {
    margin-top: 8.37vw;
    display: flex;
    gap: 2.32vw;
  }

  .clients-grid img:nth-child(n+3) {
    display: none;
  }

  .clients-grid img {
    width: 75%;
  }

  #reviews {
    margin-top: 23.25vw;
  }

  .reviews-slider {
    margin-top: 8.37vw;
    display: flex;
    justify-content: center;
  }
  
  .review-card {
    background-color: var(--color-2);
    padding: 4.8vw;
    width: 100%;
    min-height: 64.88vw; 
    border-radius: 23px;
  }

  .review-card:nth-child(n+2) {
    display: none;
  }

  .review-job-title {
    font-size: var(--mobile-font-size-nav1);
    text-transform: uppercase;
    margin-bottom: 0.23vw;
  }

  .review-name {
    font-size: var(--mobile-font-size-nav);
    font-weight: var(--font-weight-regular);
    margin-bottom: 6.97vw;
  }

  .review-text {
    font-size: var(--mobile-font-size-nav1);
  }

  #contact{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 23.25vw;
  }

  #contact h1 {
    max-width: 80vw;
    text-align: center;
    font-size: var(--mobile-font-size-h4);
    font-weight: var(--font-weight-regular);
    font-style: italic;
    margin-bottom: 9.76vw;
  }

  footer {
    background-color: var(--color-3);
    flex-direction: column;
    margin-top: 23.25vw;
    display: flex;
  }
  
  .footer-left h2 {
    color: var(--color-2);
    font-size: var(--mobile-font-size-h4);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
  }

  .hero-line2 {
    color: var(--color-2);
    font-size: var(--mobile-font-size-h4);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-style: italic;
  }

  .footer-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4.5vw;
    row-gap: 0vw;  
    padding-right: 1.875vw;
    margin-top: 11.16vw;
    margin-bottom: 11.39vw;
  }

  .footer-nav {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .footer-contact {
    grid-column: 2;
    grid-row: 1;
  }

  .footer-external {
    grid-column: 2;
    grid-row: 2;
  }

  .footer-nav ul,
  .footer-contact ul,
  .footer-external ul {
    display: flex;
    flex-direction: column;
    gap: 0.1vw;
    color: var(--color-2);
    font-family: var(--font-body);
    font-size: var(--mobile-font-size-nav1);
    align-items: flex-start;
  }
  
  .footer-line {
    width: 100%;
    margin-top: 5.5vw;
    border: none;
    border-top: 0.27vw solid var(--color-2);
  }

  .footer-copyright {
    color: var(--color-1);
    width: 100%;
    text-align: left;
    margin-top: 1.4vw;
    padding-right: 2.18vw;
    font-size: var(--mobile-font-size-nav1);
    font-family: var(--font-body);
    font-weight: 100;
  }


  .news-page-intro,
  .service-page-intro {
    max-width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: var(--mobile-font-size-nav);
    font-weight: var(--font-weight-regular);

  }

  .services-grid {
    max-width: 72vw;
    margin: 0 auto;
    margin-top: 11.8vw;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 12.7vw;
  }
  
  .service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .service-card img {
    width: 41.86vw;
    object-fit: cover;
    align-items: center;
  }
  
  .service-card h4 {
    margin-top: 1.56vw;
    font-family: var(--font-heading);
    font-size: var(--mobile-font-size-body);
    font-weight: var(--font-weight-regular);
    text-align: center;
    color: var(--color-4);
  }
  
  .service-list {
    margin-top: 0.98vw;
    text-align: center;
    font-size: var(--mobile-font-size-nav1);
  }

  .services-page main {
    margin-bottom: 8.38vw;
  }

  #contact-page {
    flex-direction: column;
    margin-top: 2.135vw;
  }
  
  .contact-left h2 {
    font-size: var(--mobile-font-size-body);
    font-weight: var(--font-weight-regular);
  }

  .contact-left {
    flex: 1;
  }
  
  .contact-right {
    flex: 1;
    margin-top: 16.51vw;
  }
  
  .contact-form {
    display: flex;
    flex-direction: column;
  }
  
  .form-field {
    display: flex;
    flex-direction: column; 
  }

  .form-field label {
    font-size: var(--mobile-font-size-nav);
    font-weight: var(--font-weight-regular);
    margin-bottom: 6.97vw;
  }
  
  .contact-form input {
    height: 6.97vw;
    font-family: var(--font-body);
    font-size: var(--mobile-font-size-body);
    font-weight: var(--font-weight-regular);
    border: none;
    border-bottom: 0.23vw solid var(--color-4);
    border-radius: 0;
    background: none;
    outline: none;
    margin-bottom: 11.62vw;
  }

  .contact-form textarea {
    height: 15.11vw;
    resize: none;
    font-family: var(--font-body);
    font-size: var(--mobile-font-size-body);
    border: none;
    border-bottom: 0.23vw solid var(--color-4);
    border-radius: 0;
    background: none;
    outline: none;
    margin-bottom: 11.62vw;
  }

  .contact-form input,
  .contact-form textarea {
    color: var(--color-3);
  }

  .contact-form input:-webkit-autofill,
  .contact-form textarea:-webkit-autofill {
    -webkit-text-fill-color: var(--color-3);
    font-family: var(--font-body);
    font-size: var(--mobile-font-size-body);
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
  }

  .contact-page footer {
    margin-bottom: 16.74vw;
  }
}

/* desktop and up */
@media (min-width: 1200px) {

    header {
        padding-bottom: var(--space-top);
        padding-left: var(--space-page);
        padding-right: var(--space-page);
    }

    main {
        padding-left: var(--space-page);
        padding-right: var(--space-page);
        margin-bottom: 10.41vw;
    }

    footer {
      padding-top: var(--space-top);
      padding-bottom: var(--space-top);
      padding-left: var(--space-page);
      padding-right: var(--space-page);
    }

    .logo-desktop { display: flex; }
    .logo-mobile { display: none; }
    nav { display: flex; }
    .menu-button { display: none; }
    

    header{

        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    header img {
      width: auto;
      height: 9.36vw;
    }

    nav {
        width: 100%;
        display: flex;
        justify-content: center;
        position: relative;
        margin-top: 0.55%;
        font-size: var(--font-size-nav);
        color: var(--color-4);
    }
      
    nav ul {
        display: flex;
        gap: var(--space-nav);
    }

    nav ul li a.active {
      text-decoration: underline;
    }
      
    .lang-switch {
        position: absolute;
        right: 0;
    }
    .mobile-menu {
      display: none;
    }

    #hero {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top:32.9px;
      }
      
    #hero-image {
        transform: rotate(-2deg);
        width: 25.8vw;
        height: 25.8vw;
        object-fit: cover;
        border-radius: 10px;
    }
    
    #hero h1 {
        font-style: italic;
        font-size: var(--font-size-h1);
        font-weight: var( --font-weight-regular); 
        margin-top: 2.13%;
    }

    .mobile-break {
      display: none;
    }

    .hero-subtitle{

        text-transform: uppercase;
        font: var(--font-body);
        font-size: var(--font-size-body);
        color: var(--color3);
        margin-top: 0.7%;
    }

    #about {
      display: flex;
      align-items: stretch;
      gap: 9vw;
      margin-top: 8.43vw;
    }

    #about-page {
      display: flex;
      align-items: stretch;
      gap: 9.11vw;
      margin-top: 4.32vw;
    }

    #about-image, 
    #about-page #about-image {
      width: 38vw;
      height: 38vw;
      object-fit: cover;
      border-radius: 10px;
    }

    .job-title{
 
      text-transform: uppercase;
      font-size: var(--font-size-nav);
      font-weight: 500;
    }
    
    #about h2, #about-page h2 {
      font-weight: 400;
      font-size: var(--font-size-h2);
      margin-top: 0.62vw;
    }

    #about-page .about-top {
      display: flex;
      flex-direction: column;
      gap: 4.11vw; /* adjust to XD */
    }

    .btn{
      text-transform: uppercase;
    }

    .about-content, 
    #about-page .about-content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      flex: 1;
    }

    #about-page .about-bottom {
      display: flex;
      flex-direction: column;
      margin-top: auto;
    }

    .about-bottom{
      display: flex;
      flex-direction: column;
      gap: 3.22vw;
    }

    .about-text{
      font-size: var(--font-size-body);
    }    
    
    #about .btn, #about-page .btn  {
      margin-top: auto;
      align-self: flex-start;
    }

    .about-page {
      background-color: var(--color-1);
    }

    .about-page main {
      margin-bottom: 3.75vw; 
      }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-gap);
      margin-top: 12.55vw;
    }
    
    .stat {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .stat-number{
      font-size: var(--font-size-h3);
      font-weight: var( --font-weight-regular);
    }

    .stat-label{
      font-size: var(--font-size-body);
    }

    .section-headline {
      font-size: var(--font-size-h1);
      font-weight: var(--font-weight-regular);
      text-align: center;
    }

    #news {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 8.64vw;
    }

    /* override for news page */
    #news-page-grid .news-grid {
      margin-top: 4.8vw;
      margin-bottom: -2.0vw;
    }

    #news h1 {
      margin-bottom: 3.9vw;
    }

    .news-grid { 
      display: flex;
      gap: 1.25vw;
      width: 100%;
      position: relative;
    }
    
    .news-column {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 3.90vw;
    }

    .news-card {
      width: 100%;
      background-color: var(--color-1);
      border: 1px solid var(--color-4);
      border-radius: 10px;
      padding: 1.25vw;
    }
    
    .news-meta {
      display: flex;
      justify-content: space-between;
      font-size: var(--font-size-nav);
      font-weight: var(--font-weight-regular);
      color: var(--color-4);
      margin-top: 1.25vw;
    }

    .news-card h3 {
      font-size: 1.82vw;
      font-weight: var(--font-weight-regular);
      margin-bottom: 1.04vw;
    }
    
    .news-card img {
      width: 27.7vw;
      height: 27.08vw;
      object-fit: cover;
      border-radius: 10px;
    }

    .news-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease;
    }

    #news .page-link {
      margin-top: 3.90vw;
    }

    #portfolio{
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 22.39vw;
      width: 100%;
    }

    #portfolio h1 {
      color: var(--color-1);
    }

    #portfolio-list {
      width: 100%;
      margin-top: 3.09vw;
      margin-bottom: 3.09vw;
    }
    
    .portfolio-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
    }
    
    .portfolio-rows {
      display: grid;
      grid-template-columns: 15.7vw 34.7vw 39.4vw;
    }

    .portfolio-field {
      display: flex;
      flex-direction: column;
    }
    
    .portfolio-item {
      border-top: 1px solid var(--color-1);
      padding: 1.9vw 0;
    }
    
    .portfolio-item:last-child {
      border-bottom: 1px solid var(--color-1);
    }

    .portfolio-meta, .portfolio-data {
      display: grid;
      grid-template-columns: 15.7vw 34.7vw 39.4vw;
    }

    .portfolio-detail {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease;
      display: flex;
      gap: 3.95vw;
    }
    
    .portfolio-detail img {
      width: 46.6vw;
      height: 31vw;
      object-fit: cover;
      border-radius: 10px;
    }

    .portfolio-detail img,
    .portfolio-detail p {
      margin-top: 2.31vw;
      margin-bottom: 1.88vw;
    }

    .portfolio-detail-text {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    
    .portfolio-detail p {
      flex: 1;
      color: var(--color-1);
      font-size: var(--font-size-nav);
      margin-right: 3.28vw;
    }

    .img-copyright {
      font-size: var(--font-size-nav);
      color: var(--color-1);
    }

    .btn-expand::before,
    .btn-expand::after {
      transition: transform 0.4s ease;
    }

    .btn-expand.open::before {
      transform: rotate(0deg);
    }

    .btn-expand.open::after {
      transform: rotate(0deg);
    }

    .btn-expand.open::before {
      top: 40%;
    }

    .btn-expand.open::after {
      top: 120%;
    }

    .portfolio-page .btn-expand::before,
    .portfolio-page .btn-expand::after {
      background-color: var(--expand-color, var(--color-3));
    }

    .portfolio-label {
      display: grid;
      font-size: var(--font-size-nav);
      font-weight: 400;
      font-family: var(--font-body);
      color: var(--color-1);
    }

    #portfolio .portfolio-value,
    #portfolio-page-list .portfolio-value {
      display: grid;
      font-size: var(--font-size-h4);
      font-family: var(--font-heading);
      font-weight: 400;
      color: var(--color-1);
    }

    #portfolio .page-link {
      color: var(--color-1);
    }

    .portfolio-page main {
      margin-bottom: 11.19vw;
    }

    #clients {

      margin-top: 22.39vw;
    }

    .clients-grid {
      display: flex;
      /*justify-content: space-between;*/
      align-items: center;
      justify-content: center;
      gap: 1.24vw;
      margin-top: 3.09vw;
    }
    
    .clients-grid img {
      width: 14.78vw;
      height: 14.78vw;
      object-fit: contain;
    }

    #reviews {
      margin-top: 10.42vw;
    }

    .reviews-slider {
      margin-top: 3.09vw;
      display: flex;
      justify-content: center;
      gap: 3.75vw;
    }
    
    .reviews-slider {
      margin-top: 3.09vw;
      display: flex;
      gap: 3.75vw;
      overflow: hidden;
      width: 77.35vw;
      margin-left: auto;
      margin-right: auto;
      justify-content: flex-start;
    }
    
    .reviews-dots {
      display: flex;
      justify-content: center;
      gap: 0.5vw;
      margin-top: 2vw;
    }
    
    .dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: var(--color-3);
      cursor: pointer;
      transition: background-color 0.3s ease;
    }
    
    .dot.active {
      background-color: var(--color-4);
    }
    
    .review-card {
      background-color: var(--color-2);
      padding: 3.28vw;
      width: 36.8vw;
      border-radius: 10px;
      flex-shrink: 0;
    }
        
    .review-job-title {
      font-size: var(--font-size-nav);
      text-transform: uppercase;
      margin-bottom: 0.05vw;
    }

    .review-name {
      font-size: var(--font-size-h4);
      font-weight: var(--font-weight-regular);
      margin-bottom: 2.39vw;
    }

    .review-text {
      font-size: var(--font-size-nav);
    }

    #contact{
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 7.29vw;
    }

    #contact h1 {
      max-width: 40vw;
      text-align: center;
      font-size: var(--font-size-h1);
      font-weight: var(--font-weight-regular);
      font-style: italic;
      margin-bottom: 2.81vw;
    }

    footer {
      background-color: var(--color-3);
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
    }
    
    .footer-left h2 {
      color: var(--color-2);
      font-size: 2.8vw;
      font-family: var(--font-heading);
      font-weight: var(--font-weight-regular);
    }

    .hero-line2 {
      color: var(--color-2);
      font-size: 2.8vw;
      font-family: var(--font-heading);
      font-weight: var(--font-weight-regular);
      font-style: italic;
    }

    .footer-right {
      display: flex;
      gap: 4.5vw;
      padding-right: 1.875vw;
    }

    .footer-nav ul,
    .footer-contact ul,
    .footer-external ul {
      display: flex;
      flex-direction: column;
      gap: 0.1vw;
      color: var(--color-1);
      font-family: var(--font-body);
      font-size: var(--font-size-nav);
      align-items: flex-start;
      font-weight: 300 !important;
    }
    
    .footer-contact {
      min-width: 16vw;
    }
    
    .footer-line {
      width: 100%;
      margin-top: 5.5vw;
      border: none;
      border-top: 1px solid var(--color-2);
    }

    .footer-copyright {
      color: var(--color-1);
      width: 100%;
      text-align: right;
      margin-top: 1.4vw;
      padding-right: 2.18vw;
      font-size: var(--font-size-nav);
      font-family: var(--font-body);
      font-weight: 100;
    }

    .news-page-intro,
    .service-page-intro {
      max-width: 45%;
      margin: 0 auto;
      text-align: center;
      font-size: var(--font-size-body);
      font-weight: var(--font-weight-regular);
    }

    .services-grid {
      max-width: 72vw;
      margin: 0 auto;
      margin-top: 4.68vw;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      column-gap: 7.55vw;
      row-gap: 6.35vw;
    }
    
    .service-card {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    
    .service-card img {
      width: 14.167vw;
      object-fit: cover;
      align-items: center;
    }
    
    .service-card h4 {
      margin-top: 1.56vw;
      font-family: var(--font-heading);
      font-size: var(--font-size-h4);
      font-weight: var(--font-weight-regular);
      text-align: center;
      color: var(--color-4);
    }
    
    .service-list {
      margin-top: 0.98vw;
      text-align: center;
      font-size: var(--font-size-nav);
    }

    .services-page main {
      margin-bottom: 8.38vw;
    }

    #contact-page {
      display: flex;
      margin-top: 2.135vw;
    }

    .contact-page h2 {
      font-size: var(--font-size-h2);
      font-weight: var(--font-weight-regular);
    }
    
    .contact-left {
      flex: 1;
    }
    
    .contact-right {
      flex: 1;
    }
    
    .contact-form {
      display: flex;
      flex-direction: column;
      padding-right: 7.86vw;
    }
    
    .form-field {
      display: flex;
      flex-direction: column; 
    }

    .form-field label {
      font-size: var(--font-size-nav);
      font-weight: var(--font-weight-regular);
    }
    
    .contact-form input {
      height: 1.97vw;
      font-family: inherit;
      font-size: inherit;
      border: none;
      border-bottom: 1px solid var(--color-4);
      border-radius: 0;
      background: none;
      outline: none;
      margin-bottom: 3.02vw;
    }

    .contact-form textarea {
      height: 5vw;
      resize: none;
      font-family: inherit;
      font-size: inherit;
      border: none;
      border-bottom: 1px solid var(--color-4);
      border-radius: 0;
      background: none;
      outline: none;
      margin-bottom: 1.66vw;
    }

    .contact-form input,
    .contact-form textarea {
      color: var(--color-3);
    }

    .contact-form input:-webkit-autofill,
    .contact-form textarea:-webkit-autofill {
      -webkit-text-fill-color: var(--color-3);
      font-family: inherit;
      font-size: inherit;
      -webkit-box-shadow: 0 0 0px 1000px transparent inset;
      transition: background-color 5000s ease-in-out 0s;
    }

    .contact-form button {
      margin-top: 3.64vw;
      

    }

    .contact-page main {
      margin-bottom: 4.01vw;
    }
}

