* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Varela Round', sans-serif;
}

body {
  opacity: 1 !important;
  transform: none !important;
  font-family: 'Varela Round', sans-serif;
  background: #f4f4f4;
  color: #333;
  line-height: 1.6;
  transition: opacity 0.8s ease;
  user-select: none;
}

body.loaded {
  opacity: 1;
}

html {
  scroll-padding-top: 10vh;
}

/* PROMO POPUP */
.promo-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.promo-popup {
  background: #f4f4f4;
  text-align: center;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  word-wrap: break-word;
}

.button-wrapper {
  display: flex;
  justify-content: space-around;
}

.btn-primary {
  background: #df9100;
  color: white;
  text-decoration: none;
  border: none;
  font-weight: bold;
  cursor: pointer;
  font-family: 'Varela Round', sans-serif;
}

.close-btn {
  background: #ccc;
  color: #333;
  border: none;
  cursor: pointer;
  font-family: 'Varela Round', sans-serif;
}

.promo-popup-overlay.hidden {
  display: none;
}

/* TOP RIBBON */
.top-ribbon {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  box-shadow: 0 0.2vh 0.8vw rgb(0, 0, 0);
  z-index: 9999;
  transition: transform 0.3s ease;
}

.ribbon-label {
  font-weight: bold;
  color: #000000;
  flex-shrink: 0;
  white-space: nowrap;
}

.ribbon-logo img {
  background-color: rgba(0, 0, 0, 0.6);
}

.ribbon-buttons {
  display: flex;
}

.ribbon-buttons a {
  text-decoration: none;
  color: #000000;
  background-color: transparent;
  font-weight: bolder;
  transition: background 0.2s ease;
}

.ribbon-buttons a:hover {
  background: #FFA500;
  color: #ffffff;
}

.top-ribbon.hide {
  transform: translateY(-100%);
}

/* HERO */
.hero {
  position: relative;
  background:
    linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.5)),
    url('images/herobackground.webp') no-repeat center/cover !important;
  text-align: center;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.logo-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo-container img {
  position: relative;
  z-index: 1;
}

.text-container h1 {
  position: relative;
  font-family: 'Varela Round', sans-serif;
  font-weight: bold;
  color: #ffffff;
}

.hero-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-button .btn-primary {
  display: inline-block;
  text-decoration: none;
  font-weight: 300;
  cursor: pointer;
  transition: background 0.5s ease;
  background-color: #da8d00;
  color: #f4f4f4;
}

.hero-button .btn-primary:hover {
  background-color: #ffa500;
  color: #fff;
  box-shadow: 0 0.2vw 1vw rgba(218, 141, 0, 0.6);
  transform: translateY(-2px) scale(1.03);
}

.scroll-prompt {
  position: relative;
  background-color: transparent;
  color: #ffffff;
  transition: opacity 0.5s ease;
  animation: bounce 1s infinite;
}

.scroll-prompt.hidden {
  position: relative;
  opacity: 0;
  pointer-events: none;
}

[data-aos].hidden {
  position: relative;
  opacity: 0 !important;
  pointer-events: none;
  animation: none !important;
}

.scroll-arrow {
  position: relative;
  line-height: 1;
  animation: scrollPromptMove 1.5s ease infinite alternate;
}

/* SERVICES SECTION */
.services {
  background: #e7e7e7;
  color: #000;
  text-align: center;
  font-family: 'Varela Round', sans-serif;
}

.services-title {
  text-align: center;
}

.services-subtitle {
  text-align: center;
}

.highlight-keyword {
  color: #ffa500;
  -webkit-text-stroke: 0.05vw #333;
}

/* CATEGORY HEADINGS */
.services-category-1,
.services-category-2,
.services-category-3 {
  font-weight: bold;
  background: transparent;
  letter-spacing: 0.3vw;
}

.services-category-1 {
  color: #7cda00;
}

.services-category-2 {
  color: #b48100;
}

.services-category-3 {
  color: #c1c1c1;
}

/* SERVICE CARDS */
.service-card {
  background: #fff;
  border-radius: 1vw;
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 0.6vw 1.4vw rgba(0, 0, 0, 0.15);
}

.service-card:hover {
  box-shadow: 0 1.4vw 2.4vw rgba(42, 42, 42, 0.4);
}

.service-image {
  object-fit: cover;
  border-bottom: 0.3vw solid #555;
  background-color: #fff;
}

.service-description {
  background-color: #df9100;
  color: #fff !important;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-top: 0.2vw solid #b46e00;
}

.service-details {
  color: #333;
  background: #fff;
}

/* PRICING SECTION */
.pricing-row-1,
.pricing-row-2,
.pricing-row-3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.pricing-category {
  position: relative;
  color: #000000;
  background: transparent;
}

.pricing-card {
  font-family: 'Varela Round', sans-serif;
  background-color: #f5f5f5;
  text-align: center;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.pricing-icon {
  color: #797979;
}

.pricing-title {
  font-weight: bold;
  color: #df9100;
  font-family: 'Varela Round', sans-serif;
}

.pricing-subtitle {
  color: #555;
  font-family: 'Varela Round', sans-serif;
}

.pricing-note {
  color: #5a5a5a;
  background: transparent;
  font-style: italic;
}

#junk-removal-card .pricing-icon i {
  color: #8b4f008e;
}

#mow-edge-card .pricing-icon i {
  color: #2e8b5696;
}

#seasonal-cleanup-card .pricing-icon i {
  color: #c2b50096;
}

#fabric-rock-card .pricing-icon i {
  color: #6e6e6e85;
}

#gate-fix-card .pricing-icon i {
  color: #b802027c;
}

#sand-paint-card .pricing-icon i {
  color: #026cd686;
}

#recovery-drywall-card .pricing-icon i {
  color: #00000086;
}

#floor-install-card .pricing-icon i {
  color: #76470086;
}

#leak-fix-card .pricing-icon i {
  color: #02d6af86;
}

/* TRUST SECTION */
.trust-section {
  position: relative;
  background: #ffffff;
  text-align: center;
}

.trust-title {
  font-family: 'Varela Round', sans-serif;
  font-size: 3vw;
  color: #000000;
}

.trust-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.trust-card {
  background: transparent;
  text-align: center;
  border-radius: 1vw;
  transition: transform 0.3s ease;
  flex: 1;
}

.trust-card:hover {
  transform: translateY(-0.5vh);
}

.trust-header {
  margin-bottom: 2vh;
}

.trust-header i {
  color: #df9100;
  transition: color 0.3s ease;
}

.trust-card:hover .trust-header i {
  color: #ffa500;
}

.trust-card-title {
  font-family: 'Varela Round', sans-serif;
  color: #000000;
  font-weight: bold;
  margin: 0;
}

/* MISSION SECTION */
.mission {
  position: relative;
}

.mission-title,
.mission-subtitle {
  position: relative;
  font-family: 'Varela Round', sans-serif;
  font-style: italic;
  text-align: center;
}

.mission-body {
  position: relative;
  display: flex;
  align-items: flex-start;
}

.mission-image img {
  position: relative;
  border: 0.3vw solid #555;
  object-fit: cover;
}

.mission-text {
  position: relative;
  text-align: left;
  font-weight: 600;
  font-style: italic;
  flex: 1;
}

.mission-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.feature-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-family: 'Varela Round', sans-serif;
}

.color1 {
  background: #0077b6;
}

.color2 {
  background: #00b4d8;
}

.color3 {
  background: #009688;
}

.color4 {
  background: #ff8800;
}

.color5 {
  background: #6a1b9a;
}

/* GALLERY SECTION */
.photo-gallery-section {
  font-family: 'Varela Round', sans-serif;
  background: #111;
  color: #fff;
}

.gallery-title,
.gallery-subtitle {
  color: #fff;
  text-align: center;
  font-weight: bold;
}

.photo-gallery {
  overflow: hidden;
  position: relative;
}

.gallery-track {
  display: inline-flex;
  transition: transform 0.5s linear;
}

.gallery-track img {
  object-fit: cover;
  flex-shrink: 0;
  border: 0.3vw solid #ffffff;
  transition: transform 0.3s ease;
}

/* Lazy loading styles */
.lazy-load {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lazy-load.loaded {
  opacity: 1;
}

.lazy-load::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

.lazy-load.loaded::before {
  display: none;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

/* CONTACT SECTION */
#contact {
  position: relative;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#contact-form {
  position: relative;
  background: #555;
  display: flex;
  flex-direction: column;
}

#contact-form-title,
#contact-form-subtitle {
  font-family: 'Varela Round', sans-serif;
  color: #fff;
}

#contact-section-title {
  font-family: 'Varela Round', sans-serif;
  color: #000;
}

.contact-info-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#contact-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  background-color: #555;
  color: #fff;
  transition: all 0.3s ease;
}

#contact-box:hover {
  background: linear-gradient(135deg, #ffa500, #ffcc80);
  color: #000;
  transform: translateY(-0.5vw);
}

#contact-form input,
#contact-form textarea,
#contact-form select {
  position: relative;
  width: 100%;
  transition: border-color 0.2s;
  font-family: 'Varela Round', sans-serif;
}

#contact-form input:focus,
#contact-form textarea:focus,
#contact-form select:focus {
  border-color: #007bff;
  outline: none;
}

#contact-form select {
  border: none;
  background-color: #fff;
  color: #000;
  font-family: 'Varela Round', sans-serif;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1vw center;
}

#contact-submit-btn {
  background-color: #ffc107;
  color: #333;
  border: none;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-family: 'Varela Round', sans-serif;
}

#contact-submit-btn:hover {
  background-color: #e0a800;
}

/* FOOTER */
footer {
  position: relative;
  opacity: 1 !important;
  transform: none !important;
  background: #222;
  color: #f4f4f4;
  text-align: center;
}

footer .social-icons {
  display: flex;
  justify-content: center;
}

footer .social-icon {
  text-decoration: none;
  color: #f4f4f4;
  transition: color 0.3s ease;
}

footer .social-icon:hover {
  color: #df9100;
}

@keyframes bounce {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-1vh);
  }
}

/* ---------------------------------- */
/* Responsive Layouts via Media Queries */

/* 
  ##Device = Desktops --DONE--
  ##Screen = 1281px to higher resolution desktops
*/
@media (min-width: 1281px) {

  /* GLOBAL */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    font-family: 'Varela Round', sans-serif;
    line-height: 1.6;
  }

  html {
    scroll-padding-top: 10vh;
  }

  /* PROMO POPUP */
  .promo-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .promo-popup {
    width: 25vw;
    height: 55vh;
    border-radius: 2vw;
    padding: 3vh 1.5vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .promo-popup h2 {
    font-size: 1.5vw;
    margin-bottom: 1vh;
  }

  .promo-popup p {
    font-size: 1.3vw;
    margin-bottom: 2vh;
  }

  .button-wrapper {
    display: flex;
    justify-content: space-around;
  }

  .btn-primary {
    padding: 1vh 1vw;
    font-size: 1.1vw;
    border-radius: 0.3vw;
  }

  .close-btn {
    padding: 1vh 1vw;
    font-size: 1.3vw;
    border-radius: 0.3vw;
  }

  /* TOP RIBBON */
  .top-ribbon {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 7vh;
    display: flex;
    align-items: center;
    gap: 3vw;
  }

  .ribbon-label {
    font-size: 1.5vw;
    margin-left: 1vw;
    margin-right: 1vw;
  }

  .ribbon-logo img {
    margin-top: 1vh;
    margin-left: 0.5vw;
    height: 6vh;
  }

  .ribbon-buttons {
    display: flex;
    gap: 2vw;
  }

  .ribbon-buttons a {
    padding: 1vh 1vw;
    letter-spacing: 0.1vw;
  }

  /* HERO */
  .hero {
    position: relative;
    padding: 15vh 1%;
    text-align: center;
  }

  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0vh;
  }

  .logo-container img {
    width: 20%;
    height: auto;
    border-radius: 10vw;
    padding: 0 2%;
  }

  .text-container h1 {
    font-size: 3.5vw !important;
    letter-spacing: 1vw;
  }

  .hero-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10vh;
  }

  .hero-button .btn-primary {
    padding: 2vh 5vw;
    border-radius: 0.5vw;
    font-size: 1.5vw;
  }

  .scroll-prompt {
    margin-top: 5vh;
  }

  .scroll-arrow {
    font-size: 2rem;
    line-height: 1;
  }

  /* SERVICES SECTION */
  .services {
    position: relative;
    padding: 4vh 6vw;
  }

  .services-title {
    font-size: 3vw;
    margin-bottom: 2vh;
    letter-spacing: 0.5vw;
  }

  .services-subtitle {
    font-size: 2vw;
  }

  .services-category-1,
  .services-category-2,
  .services-category-3 {
    position: relative;
    font-size: 1.8vw;
    margin: 10vh 0 5vh;
  }

  /* ROW STRUCTURE */
  .services-row-one,
  .services-row-two,
  .services-row-three {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5vw;
    margin-bottom: 0vh;
  }

  /* CARD LAYOUT */
  .service-card {
    width: 34vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .service-card:hover {
    transform: translateY(-0.4vw);
  }

  .service-image {
    width: 100%;
    height: 33vh;
  }

  .service-description {
    width: 100%;
    font-size: 1.4vw;
    padding: 1vh 0;
    text-align: center;
  }

  .service-details {
    font-size: 1.05vw;
    line-height: 1.5;
    padding: 2vh 2vw 3vh;
    text-align: center;
  }

  /* PRICING */
  .pricing-row-1,
  .pricing-row-2,
  .pricing-row-3 {
    display: flex;
    justify-content: center;
    gap: 2vw;
    flex-wrap: wrap;
  }

  .pricing-category {
    font-size: 3vw;
    margin-top: 8vh;
    margin-bottom: 4vh;
    letter-spacing: 1vw;
  }

  .pricing-card {
    width: 25vw;
    height: 35vh;
    margin-bottom: 4vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .pricing-icon {
    font-size: 15vh;
  }

  .pricing-title {
    font-size: 2vw;
    margin-top: 0vh;
  }

  .pricing-subtitle {
    font-size: 1vw;
    margin-top: 0.5vh;
  }

  .pricing-price {
    font-size: 2.5vw;
    margin-top: 0.5vh;
    margin-bottom: 2vh;
  }

  .pricing-note {
    font-size: 1vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
    letter-spacing: 0.1vw;
  }

  /* MISSION */
  .mission {
    padding: 5vh 6vw;
    margin-top: 1vh;
    margin-bottom: 3vh;
  }

  .mission-title {
    text-align: center;
    font-size: 3vw;
    letter-spacing: 0.5vw;
    margin-bottom: 8vh;
  }

  .mission-subtitle {
    text-align: center;
    font-size: 1.5vw;
    letter-spacing: 0.1vw;
    margin-bottom: 8vh;
  }

  .mission-body {
    display: flex;
    align-items: flex-start;
    gap: 4vw;
    margin-top: 1.5vw;
  }

  .mission-image img {
    width: 100%;
    max-width: 40vw;
    border-radius: 3vw;
    padding: 0.3vw;
  }

  .mission-text {
    max-width: 100%;
    font-size: 1.5vw;
    flex: 1;
  }

   /* TRUST */
  .trust-section {
    margin-top: 8vh;
    border-radius: 6vw;
    padding: 8vh 4vw;
  }

  .trust-title {
    font-size: 3vw;
    margin-bottom: 4vh;
    letter-spacing: 0.5vw;
  }

  .trust-container {
    gap: 4vw;
  }

  .trust-card {
    padding: 2vh 2vw;
    border-radius: 1vw;
  }

  .trust-header i {
    font-size: 4vw;
  }

  .trust-card-title {
    font-size: 1.5vw;
  }

  .mission-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2vw;
    margin: 5vh 0vw;
  }

  .feature-card {
    width: 25vw;
    height: 20vh;
    margin-top: 5vh;
    padding: 20vh 4vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 3vw;
    color: #fff;
    font-family: 'Varela Round', sans-serif;
  }

  .feature-card h1 {
    font-size: 3vw;
    margin-bottom: 1vh;
  }

  .feature-card h2 {
    font-size: 3.5vh;
    font-style: italic;
    font-weight: 600;
  }

  /* GALLERY */
  .photo-gallery-section {
    padding: 4vh 0;
  }

  .gallery-title {
    font-size: 3vw;
    text-align: center;
    letter-spacing: 1vw;
  }

  .gallery-subtitle {
    font-size: 1vw;
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0.1vw;
  }

  .gallery-track {
    display: inline-flex;
    gap: 5vw;
    margin-top: 3vh;
  }

  .gallery-track img {
    height: 50vh;
    width: 20vw;
    border-radius: 1vw;
  }

  /* CONTACT */
  #contact {
    padding: 1vh 0.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #contact-form-title {
    width: 100%;
    font-size: 3vw;
    padding: 1vh 2vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
  }

  #contact-form-subtitle {
    font-size: 2vw;
    margin-bottom: 3vh;
  }

  #contact-form {
    width: 100%;
    max-width: 100vw;
    padding: 4vh 5vw;
    border-radius: 3vw;
    display: flex;
    flex-direction: column;
    gap: 2vh;
  }

  #contact-form input,
  #contact-form textarea {
    width: 100%;
    padding: 2vh 2vw;
    font-size: 1vw;
    border-radius: 3vw;
  }

  #contact-form select {
    width: 100%;
    padding: 2vh 2vw;
    font-size: 1vw;
    background-position: right 1vw center;
    background-size: 1.5vw;
    border-radius: 3vw;
  }

  #contact-form textarea {
    min-height: 5vw;
  }

  #contact-submit-btn {
    padding: 3vh;
    font-size: 1vw;
    border-radius: 3vw;
    margin-bottom: 4vh;
  }

  #contact-section-title {
    width: 100%;
    font-size: 3vw;
    padding: 1vh 2vw;
    margin-top: 3vh;
    margin-bottom: 3vh;
  }

  .contact-info-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2vw;
    margin-top: 2vh;
    margin-bottom: 5vh;
  }

  #contact-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2vh 6vw;
    border-radius: 4vw;
    width: 25vw;
  }

  #contact-box h4 {
    font-size: 1.5vw;
    margin-bottom: 1vh;
  }

  #contact-box p {
    font-size: 1vw;
  }

  /* FOOTER */
  footer {
    text-align: center;
    padding: 2vh 0;
    font-size: 1vw;
  }

  footer .social-icons {
    display: flex;
    justify-content: center;
    gap: 1vw;
    margin-top: 1vh;
  }

  footer .copyright-note {
    margin-top: 1vh;
  }
}

/* 
  ##Device = Laptops, Desktops --DONE--
  ##Screen = B/w 1025px to 1280px
*/
@media (min-width: 1025px) and (max-width: 1280px) {

  /* GLOBAL */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    font-family: 'Varela Round', sans-serif;
    line-height: 1.6;
  }

  html {
    scroll-padding-top: 10vh;
  }

  /* PROMO POPUP */
  .promo-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .promo-popup {
    width: 30vw;
    height: 55vh;
    border-radius: 2vw;
    padding: 3vh 2vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .promo-popup h2 {
    font-size: 2vw;
    margin-bottom: 1vh;
  }

  .promo-popup p {
    font-size: 1.6vw;
    margin-bottom: 2vh;
  }

  .button-wrapper {
    display: flex;
    justify-content: space-around;
  }

  .btn-primary {
    padding: 1vh 1vw;
    font-size: 1.5vw;
    border-radius: 0.3vw;
  }

  .close-btn {
    padding: 1vh 1vw;
    font-size: 1.5vw;
    border-radius: 0.3vw;
  }

  /* TOP RIBBON */
  .top-ribbon {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 7vh;
    display: flex;
    align-items: center;
    gap: 3vw;
  }

  .ribbon-label {
    font-size: 1.5vw;
    margin-left: 1vw;
    margin-right: 1vw;
  }

  .ribbon-logo img {
    margin-top: 1vh;
    margin-left: 0.5vw;
    height: 6vh;
  }

  .ribbon-buttons {
    display: flex;
    gap: 2vw;
  }

  .ribbon-buttons a {
    padding: 1vh 1vw;
    letter-spacing: 0.1vw;
  }

  /* HERO */
  .hero {
    position: relative;
    padding: 10vh 1%;
    text-align: center;
  }

  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2vh;
  }

  .logo-container img {
    width: 35%;
    height: auto;
    border-radius: 10vw;
    padding: 0 2%;
  }

  .text-container h1 {
    font-size: 2.2vw;
    letter-spacing: 1vw;
  }

  .hero-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 6vh;
  }

  .hero-button .btn-primary {
    padding: 2vh 5vw;
    border-radius: 0.5vw;
    font-size: 1.5vw;
  }

  .scroll-prompt {
    margin-top: 7vh;
  }

  .scroll-arrow {
    font-size: 2rem;
    line-height: 1;
  }

  /* SERVICES SECTION */
  .services {
    position: relative;
    padding: 4vh 6vw;
  }

  .services-title {
    font-size: 3vw;
    margin-bottom: 2vh;
    letter-spacing: 0.5vw;
  }

  .services-subtitle {
    font-size: 2vw;
  }

  .services-category-1,
  .services-category-2,
  .services-category-3 {
    position: relative;
    font-size: 1.8vw;
    margin: 6vh 0 5vh;
  }

  /* ROW STRUCTURE */
  .services-row-one,
  .services-row-two,
  .services-row-three {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5vw;
    margin-bottom: 0vh;
  }

  /* CARD LAYOUT */
  .service-card {
    width: 34vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .service-card:hover {
    transform: translateY(-0.4vw);
  }

  .service-image {
    width: 100%;
    height: 33vh;
  }

  .service-description {
    width: 100%;
    font-size: 1.4vw;
    padding: 1vh 0;
    text-align: center;
  }

  .service-details {
    font-size: 1.05vw;
    line-height: 1.5;
    padding: 2vh 2vw 3vh;
    text-align: center;
  }

  /* PRICING */
  .pricing-row-1,
  .pricing-row-2,
  .pricing-row-3 {
    display: flex;
    justify-content: center;
    gap: 2vw;
    flex-wrap: wrap;
  }

  .pricing-category {
    font-size: 4vw;
    margin-top: 8vh;
    margin-bottom: 4vh;
    letter-spacing: 0.5vw;
  }

  .pricing-card {
    width: 20vw;
    height: 35vh;
    margin-bottom: 4vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .pricing-icon {
    font-size: 12vh;
  }

  .pricing-title {
    font-size: 1.5vw;
    margin-top: 3vh;
  }

  .pricing-price {
    font-size: 2.5vw;
    margin-top: 0.5vh;
    margin-bottom: 2vh;
  }

  /* TRUST */
  .trust-section {
    margin-top: 8vh;
    border-radius: 6vw;
    padding: 4vh 2vw;
  }

  .trust-title {
    font-size: 3.5vw;
    margin-bottom: 4vh;
    letter-spacing: 0.5vw;
  }

  .trust-container {
    gap: 3vw;
  }

  .trust-card {
    padding: 2vh 1.5vw;
    border-radius: 1vw;
  }

  .trust-header i {
    font-size: 4.5vw;
  }

  .trust-card-title {
    font-size: 1.8vw;
  }

  /* MISSION */
  .mission {
    padding: 5vh 5vw;
    margin-top: 1vh;
    margin-bottom: 3vh;
  }

  .mission-title {
    text-align: center;
    font-size: 3.5vw;
    letter-spacing: 0.5vw;
    margin-bottom: 8vh;
  }

  .mission-subtitle {
    text-align: center;
    font-size: 2.5vw;
    letter-spacing: 0.1vw;
    margin-bottom: 8vh;
  }

  .mission-body {
    display: flex;
    align-items: flex-start;
    gap: 4vw;
    margin-top: 1.5vw;
  }

  .mission-image img {
    width: 100%;
    max-width: 35vw;
    border-radius: 3vw;
    padding: 0.3vw;
  }

  .mission-text {
    max-width: 100%;
    font-size: 1.8vw;
    flex: 1;
  }

  .mission-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2vw;
    margin: 5vh 2vw;
  }

  .feature-card {
    width: 15vw;
    height: 15vh;
    margin-top: 5vh;
    padding: 20vh 4vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 3vw;
    color: #fff;
    font-family: 'Varela Round', sans-serif;
  }

  .feature-card h1 {
    font-size: 3vw;
    margin-bottom: 1vh;
  }

  .feature-card h2 {
    font-size: 1.5vw;
    font-style: italic;
    font-weight: 600;
  }

  /* GALLERY */
  .photo-gallery-section {
    padding: 4vh 0;
  }

  .gallery-title {
    font-size: 3.5vw;
    text-align: center;
    letter-spacing: 1vw;
  }

  .gallery-subtitle {
    font-size: 1vw;
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0.1vw;
  }

  .gallery-track {
    display: inline-flex;
    gap: 5vw;
    margin-top: 3vh;
  }

  .gallery-track img {
    height: 50vh;
    width: 25vw;
    border-radius: 1vw;
  }

  /* CONTACT */
  #contact {
    padding: 1vh 0.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #contact-form-title {
    width: 100%;
    font-size: 3.5vw;
    padding: 1vh 2vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
  }

  #contact-form-subtitle {
    font-size: 2vw;
    margin-bottom: 3vh;
  }

  #contact-form {
    width: 100%;
    max-width: 100vw;
    padding: 4vh 5vw;
    border-radius: 3vw;
    display: flex;
    flex-direction: column;
    gap: 2vh;
  }

  #contact-form input,
  #contact-form textarea {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 1.5vw;
    border-radius: 3vw;
  }

  #contact-form select {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 1.5vw;
    background-position: right 1vw center;
    background-size: 1.5vw;
    border-radius: 3vw;
  }

  #contact-form textarea {
    min-height: 5vw;
  }

  #contact-submit-btn {
    padding: 3vh;
    font-size: 1.5vw;
    border-radius: 3vw;
    margin-bottom: 4vh;
  }

  #contact-section-title {
    width: 100%;
    font-size: 3.5vw;
    padding: 1vh 2vw;
    margin-top: 3vh;
    margin-bottom: 3vh;
  }

  .contact-info-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2vw;
    margin-top: 0vh;
    margin-bottom: 5vh;
  }

  #contact-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2vh 6vw;
    border-radius: 4vw;
    width: 90vw;
  }

  #contact-title {
    font-size: 2vw;
    margin-bottom: 1vh;
  }

  #contact-text {
    font-size: 1.5vw;
  }

  /* FOOTER */
  footer {
    text-align: center;
    padding: 2vh 0;
    font-size: 1.5vw;
  }

  footer .social-icons {
    display: flex;
    justify-content: center;
    gap: 3vw;
    margin-top: 1vh;
  }

  footer .copyright-note {
    margin-top: 1vh;
  }
}

/* 
  ##Device = Tablets, iPads (Portrait) --DONE--
  ##Screen = B/w 768px to 1024px
*/
@media (min-width: 768px) and (max-width: 1024px) {

  /* GLOBAL */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    font-family: 'Varela Round', sans-serif;
    line-height: 1.6;
  }

  html {
    scroll-padding-top: 10vh;
  }

  /* PROMO POPUP */
  .promo-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .promo-popup {
    width: 70vw;
    height: 55vh;
    border-radius: 2vw;
    padding: 3vh 5vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .promo-popup h2 {
    font-size: 4vw;
    margin-bottom: 1vh;
  }

  .promo-popup p {
    font-size: 3.5vw;
    margin-bottom: 2vh;
  }

  .button-wrapper {
    display: flex;
    justify-content: space-around;
  }

  .btn-primary {
    padding: 1vh 2.5vw;
    font-size: 4vw;
    border-radius: 0.5vw;
  }

  .close-btn {
    padding: 1vh 2.5vw;
    font-size: 4vw;
    border-radius: 0.5vw;
  }

  /* TOP RIBBON */
  .top-ribbon {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1vh;
    padding: 1vh 0;
  }

  .ribbon-logo img {
    display: none;
  }

  .ribbon-label {
    font-size: 4vw;
    text-align: center;
    margin: 0;
  }

  .ribbon-buttons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0vw;
  }

  .ribbon-buttons a {
    font-size: 2.5vw !important;
    background: #df9100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1vh 2.5vw;
    letter-spacing: 0.1vw;
    text-align: center;
  }

  /* HERO */
  .hero {
    position: relative;
    padding: 10vh 1%;
    text-align: center;
  }

  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5vh;
    margin-bottom: 1vh;
  }

  .logo-container img {
    width: 40%;
    height: auto;
    border-radius: 10vw;
    padding: 0 2%;
  }

  .text-container h1 {
    font-size: 8vw !important;
    letter-spacing: 0vw;
  }

  .hero-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 12vh;
  }

  .hero-button .btn-primary {
    padding: 2vh 5vw;
    border-radius: 1vw;
    font-size: 4vw;
  }

  .scroll-prompt {
    margin-top: 4vh;
  }

  .scroll-arrow {
    font-size: 6vw;
    line-height: 1;
  }

  /* SERVICES SECTION */
  .services {
    position: relative;
    padding: 4vh 6vw;
  }

  .services-title {
    font-size: 6vw;
    margin-bottom: 2vh;
    letter-spacing: 0.5vw;
  }

  .services-subtitle {
    font-size: 4vw;
  }

  .services-category-1,
  .services-category-2,
  .services-category-3 {
    position: relative;
    font-size: 5vw;
    margin: 5vh 0 5vh;
  }

  /* ROW STRUCTURE */
  .services-row-one,
  .services-row-two,
  .services-row-three {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10vw;
    margin-bottom: 0vh;
  }

  /* CARD LAYOUT */
  .service-card {
    width: 60vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .service-card:hover {
    transform: translateY(-0.4vw);
  }

  .service-image {
    width: 100%;
    height: 33vh;
  }

  .service-description {
    width: 100%;
    font-size: 3.2vw;
    padding: 1vh 0;
    text-align: center;
  }

  .service-details {
    font-size: 2.5vw;
    line-height: 1.5;
    padding: 2vh 2vw 3vh;
    text-align: center;
  }

  /* PRICING */
  .pricing-row-1,
  .pricing-row-2,
  .pricing-row-3 {
    display: flex;
    justify-content: center;
    gap: 2vw;
    flex-wrap: wrap;
  }

  .pricing-category {
    padding: 1vh 1vw;
    font-size: 7vw;
    margin-top: 0vh;
    margin-bottom: 4vh;
    letter-spacing: 0.3vw;
  }

  .pricing-card {
    width: 27vw;
    height: 30vh;
    margin-bottom: 2vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1vh 2vw;
  }

  .pricing-icon {
    font-size: 6vh;
  }

  .pricing-title {
    font-size: 4vw;
    margin-top: 0vh;
  }

  .pricing-subtitle {
    font-size: 2vw;
    margin-top: 1vh;
  }

  .pricing-price {
    font-size: 5vw;
    margin-top: 0.5vh;
    margin-bottom: 2vh;
  }

  .pricing-note {
    font-size: 3vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
    letter-spacing: 0.1vw;
  }

  /* TRUST */
  .trust-section {
    margin-top: 4vh;
    border-radius: 6vw;
    padding: 4vh 4vw;
  }

  .trust-title {
    font-size: 6vw;
    margin-bottom: 4vh;
    letter-spacing: 0.5vw;
  }

  .trust-container {
    gap: 2vw;
  }

  .trust-card {
    padding: 2vh 1vw;
    border-radius: 2vw;
    min-width: 150px;
  }

  .trust-header i {
    font-size: 8vw;
  }

  .trust-card-title {
    font-size: 3vw;
  }

  /* MISSION SECTION */
  .mission {
    padding: 2vh 10vw;
    margin-top: 0vh;
    margin-bottom: 3vh;
  }

  .mission-title {
    text-align: center;
    font-size: 6vw;
    letter-spacing: 0.5vw;
    margin-bottom: 6vh;
  }

  .mission-subtitle {
    text-align: center;
    font-size: 4vw;
    letter-spacing: 0.1vw;
    margin-bottom: 6vh;
  }

  .mission-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3vh;
    margin-top: 2vh;
  }

  .mission-image img {
    width: 60vw;
    max-width: 100%;
    border-radius: 3vw;
    padding: 0.5vh;
  }

  .mission-text {
    font-size: 3vw;
    text-align: left;
    max-width: 80vw;
  }

  .mission-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1vw;
    margin: 2vh 2vw;
  }

  .feature-card {
    width: 100vw;
    height: 20vh;
    margin-top: 2vh;
    padding: 5vh 4vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 3vw;
    color: #fff;
    font-family: 'Varela Round', sans-serif;
  }

  .feature-card h1 {
    font-size: 6vw;
    margin-bottom: 0.8vh;
  }

  .feature-card h2 {
    font-size: 4vw;
    font-style: italic;
    font-weight: 600;
  }

  /* GALLERY */
  .photo-gallery-section {
    padding: 4vh 0;
  }

  .gallery-title {
    font-size: 5vw;
    text-align: center;
    letter-spacing: 2vw;
  }

  .gallery-subtitle {
    font-size: 0vw;
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0.1vw;
  }

  .gallery-track {
    display: inline-flex;
    gap: 3vw;
    margin-top: 5vh;
  }

  .gallery-track img {
    height: 40vh;
    width: 50vw;
    border-radius: 2vw;
  }

  /* CONTACT */
  #contact {
    padding: 1vh 0.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #contact-form-title {
    width: 100%;
    font-size: 6vw;
    padding: 1vh 2vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
  }

  #contact-form-subtitle {
    font-size: 4vw;
    margin-bottom: 3vh;
  }

  #contact-form {
    width: 100%;
    max-width: 100vw;
    padding: 4vh 5vw;
    border-radius: 3vw;
    display: flex;
    flex-direction: column;
    gap: 2vh;
  }

  #contact-form input,
  #contact-form textarea {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 3vw;
    border-radius: 3vw;
  }

  #contact-form select {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 3vw;
    background-position: right 1vw center;
    background-size: 1.5vw;
    border-radius: 3vw;
  }

  #contact-form textarea {
    min-height: 5vw;
  }

  #contact-submit-btn {
    padding: 3vh;
    font-size: 3vw;
    border-radius: 3vw;
    margin-bottom: 4vh;
  }

  #contact-section-title {
    width: 100%;
    font-size: 6vw;
    padding: 1vh 2vw;
    margin-top: 3vh;
    margin-bottom: 3vh;
  }

  .contact-info-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2vw;
    margin-top: 0vh;
    margin-bottom: 5vh;
  }

  #contact-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2vh 6vw;
    border-radius: 4vw;
    width: 90vw;
  }

  #contact-title {
    font-size: 4vw;
    margin-bottom: 1vh;
  }

  #contact-text {
    font-size: 3vw;
  }

  /* FOOTER */
  footer {
    text-align: center;
    padding: 2vh 1vw;
    font-size: 3vw;
  }

  footer .social-icons {
    display: flex;
    justify-content: center;
    gap: 5vw;
    margin-top: 1vh;
  }

  footer .copyright-note {
    margin-top: 1vh;
  }
}

/* 
  ##Device = Most of the Smartphones Mobiles (Portrait) --DONE--
  ##Screen = B/w 320px to 480px
*/
@media (min-width: 320px) and (max-width: 480px) {

  /* GLOBAL */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    font-family: 'Varela Round', sans-serif;
    line-height: 1.6;
  }

  html {
    scroll-padding-top: 10vh;
  }

  /* PROMO POPUP */
  .promo-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .promo-popup {
    width: 80vw;
    height: 50vh;
    border-radius: 2vw;
    padding: 3vh 5vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .promo-popup h2 {
    font-size: 5vw;
    margin-bottom: 1vh;
  }

  .promo-popup p {
    font-size: 4.5vw;
    margin-bottom: 2vh;
  }

  .button-wrapper {
    display: flex;
    justify-content: space-around;
  }

  .btn-primary {
    padding: 1vh 2.5vw;
    font-size: 4vw;
    border-radius: 0.5vw;
  }

  .close-btn {
    padding: 1vh 2.5vw;
    font-size: 4vw;
    border-radius: 0.5vw;
  }

  /* TOP RIBBON */
  .top-ribbon {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1vh;
    padding: 1vh 0;
  }

  .ribbon-logo img {
    display: none;
  }

  .ribbon-label {
    font-size: 4vw;
    text-align: center;
    margin: 0;
  }

  .ribbon-buttons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0vw;
  }

  .ribbon-buttons a {
    font-size: 2.5vw !important;
    background: #df9100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1vh 2.5vw;
    letter-spacing: 0.1vw;
    text-align: center;
  }

  /* HERO */
  .hero {
    position: relative;
    padding: 10vh 1%;
    text-align: center;
  }

  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5vh;
    margin-bottom: 1vh;
  }

  .logo-container img {
    width: 55%;
    height: auto;
    border-radius: 10vw;
    padding: 0 2%;
  }

  .text-container h1 {
    font-size: 10vw !important;
    letter-spacing: 0vw;
  }

  .hero-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 8vh;
  }

  .hero-button .btn-primary {
    padding: 2vh 5vw;
    border-radius: 1vw;
    font-size: 5vw;
  }

  .scroll-prompt {
    margin-top: 6vh;
  }

  .scroll-arrow {
    font-size: 2rem;
    line-height: 1;
  }

  /* SERVICES SECTION */
  .services {
    position: relative;
    padding: 4vh 6vw;
  }

  .services-title {
    font-size: 6vw;
    margin-bottom: 2vh;
    letter-spacing: 0.5vw;
  }

  .services-subtitle {
    font-size: 4vw;
  }

  .services-category-1,
  .services-category-2,
  .services-category-3 {
    position: relative;
    font-size: 5vw;
    margin: 5vh 0 5vh;
    padding: 2vh 2vw;
  }

  .services-category-1 {
    background-color: #075a07;
  }

  .services-category-2 {
    background-color: #412305;
  }

  .services-category-3 {
    background-color: #323232;
  }

  /* ROW STRUCTURE */
  .services-row-one,
  .services-row-two,
  .services-row-three {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10vw;
    margin-bottom: 0vh;
  }

  /* CARD LAYOUT */
  .service-card {
    width: 70vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .service-card:hover {
    transform: translateY(-0.4vw);
  }

  .service-image {
    width: 100%;
    height: 28vh;
  }

  .service-description {
    width: 100%;
    font-size: 4vw;
    padding: 1vh 0;
    text-align: center;
  }

  .service-details {
    font-size: 3.5vw;
    line-height: 1.5;
    padding: 2vh 2vw 3vh;
    text-align: center;
  }

  /* PRICING */
  .pricing-row-1,
  .pricing-row-2,
  .pricing-row-3 {
    display: flex;
    justify-content: center;
    gap: 2vw;
    flex-wrap: wrap;
  }

  .pricing-category {
    padding: 1vh 1vw;
    font-size: 6vw;
    margin-top: 0vh;
    margin-bottom: 4vh;
    letter-spacing: 0.3vw;
  }

  .pricing-card {
    width: 27vw;
    height: 20vh;
    margin-bottom: 1vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1vh 2vw;
  }

  .pricing-icon {
    font-size: 6vh;
  }

  .pricing-title {
    font-size: 4vw;
    margin-top: 0vh;
  }

  /* TRUST */
  .trust-section {
    margin-top: 4vh;
    border-radius: 6vw;
    padding: 4vh 4vw;
  }

  .trust-title {
    font-size: 6vw;
    margin-bottom: 4vh;
    letter-spacing: 0.5vw;
  }

  .trust-container {
    gap: 4vw;
    flex-direction: column;
    align-items: center;
  }

  .trust-card {
    padding: 2vh 1vw;
    width: 100%;
  }

  .trust-header i {
    font-size: 8vw;
  }

  .trust-card-title {
    font-size: 4vw;
  }

  /* MISSION SECTION */
  .mission {
    padding: 2vh 6vw;
    margin-top: 0vh;
    margin-bottom: 3vh;
  }

  .mission-title {
    text-align: center;
    font-size: 6vw;
    letter-spacing: 0.5vw;
    margin-bottom: 8vh;
  }

  .mission-subtitle {
    text-align: center;
    font-size: 4vw;
    letter-spacing: 0.1vw;
    margin-bottom: 8vh;
  }

  .mission-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3vh;
    margin-top: 2vh;
  }

  .mission-image img {
    width: 80vw;
    max-width: 100%;
    border-radius: 3vw;
    padding: 0.5vh;
  }

  .mission-text {
    font-size: 4vw;
    text-align: left;
    max-width: 80vw;
  }

  .mission-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1vw;
    margin: 2vh 2vw;
  }

  .feature-card {
    width: 100vw;
    height: 17vh;
    margin-top: 2vh;
    padding: 5vh 4vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 3vw;
    color: #fff;
    font-family: 'Varela Round', sans-serif;
  }

  .feature-card h1 {
    font-size: 12vw;
    margin-bottom: 0.8vh;
  }

  .feature-card h2 {
    font-size: 4vw;
    font-style: italic;
    font-weight: 600;
  }

  /* GALLERY */
  .photo-gallery-section {
    padding: 4vh 0;
  }

  .gallery-title {
    font-size: 6vw;
    text-align: center;
    letter-spacing: 1vw;
  }

  .gallery-subtitle {
    font-size: 0vw;
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0.1vw;
  }

  .gallery-track {
    display: inline-flex;
    gap: 3vw;
    margin-top: 5vh;
  }

  .gallery-track img {
    height: 30vh;
    width: 50vw;
    border-radius: 2vw;
  }

  /* CONTACT */
  #contact {
    padding: 1vh 0.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #contact-form-title {
    width: 100%;
    font-size: 6vw;
    padding: 1vh 2vw;
    margin-top: 2vh;
    margin-bottom: 1vh;
  }

  #contact-form-subtitle {
    font-size: 4vw;
    margin-bottom: 3vh;
  }

  #contact-form {
    width: 100%;
    max-width: 100vw;
    padding: 4vh 5vw;
    border-radius: 3vw;
    display: flex;
    flex-direction: column;
    gap: 2vh;
  }

  #contact-form input,
  #contact-form textarea {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 3vw;
    border-radius: 3vw;
  }

  #contact-form select {
    width: 100%;
    padding: 2vh 4vw;
    font-size: 3vw;
    background-position: right 1vw center;
    background-size: 1.5vw;
    border-radius: 3vw;
  }

  #contact-form textarea {
    min-height: 5vw;
  }

  #contact-submit-btn {
    padding: 3vh;
    font-size: 3vw;
    border-radius: 3vw;
    margin-bottom: 4vh;
  }

  #contact-section-title {
    width: 100%;
    font-size: 6vw;
    padding: 1vh 2vw;
    margin-top: 3vh;
    margin-bottom: 3vh;
  }

  .contact-info-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2vw;
    margin-top: 0vh;
    margin-bottom: 5vh;
  }

  #contact-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2vh 6vw;
    border-radius: 4vw;
    width: 90vw;
  }

  #contact-title {
    font-size: 5vw;
    margin-bottom: 1vh;
  }

  #contact-text {
    font-size: 4vw;
  }

  /* FOOTER */
  footer {
    text-align: center;
    padding: 2vh 1vw;
    font-size: 3.5vw;
  }

  footer .social-icons {
    display: flex;
    justify-content: center;
    gap: 5vw;
    margin-top: 1vh;
  }

  footer .copyright-note {
    margin-top: 1vh;
  }
}