.landing-buttons {
   display: flex;
   gap: 20px;
   justify-content: center;
   flex-wrap: wrap;
   margin-top: 30px;
}
.btn {
   display: inline-block;
   padding: 15px 30px;
   border-radius: 50px;
   text-decoration: none;
   font-weight: 600;
   font-size: 1.1rem;
   text-align: center;
   transition: all 0.3s ease;
   border: 2px solid transparent;
   min-width: 180px;
}
.btn-primary {
   background-color: var(--primary);
   color: var(--back-light);
   border-color: var(--primary);
}
.btn-primary:hover {
   background-color: transparent;
   color: var(--primary);
   border-color: var(--primary);
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
.btn-secondary {
   background-color: transparent;
   color: var(--back-light);
   border-color: var(--back-light);
}
.btn-secondary:hover {
   background-color: var(--back-light);
   color: var(--text-color);
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
#landing_page {
   background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('../images/homepage.webp');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
   height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: var(--back-light);
   padding: 0 15%;
}
.landing_page h1 {
   font-size: 3.5rem;
   margin-bottom: 20px;
   text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
   animation: fadeInUp 1s ease;
}
.landing_page p {
   font-size: 1.2rem;
   margin-bottom: 30px;
   animation: fadeInUp 1s ease 0.2s both;
}
.landing-buttons {
   animation: fadeInUp 1s ease 0.4s both;
}
@keyframes fadeInUp {
   from {
      opacity: 0;
      transform: translateY(30px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}
@media screen and (max-width: 1024px) {
   .landing_page h1 {
      font-size: 3rem;
   }  
   .landing_page p {
      font-size: 1.1rem;
   }
}
@media screen and (max-width: 768px) {
   #landing_page {
      background-attachment: scroll;
   }
   .landing_page h1 {
      font-size: 2.5rem;
   }
   .landing_page p {
      font-size: 1rem;
   }
   .landing-buttons {
      flex-direction: column;
      align-items: center;
      gap: 15px;
   }  
   .btn {
      width: 100%;
      max-width: 250px;
      padding: 14px 25px;
      font-size: 1rem;
   }
}
@media screen and (max-width: 480px) {
   .landing_page h1 {
      font-size: 2rem;
   }
   .landing_page p {
      font-size: 0.9rem;
      margin-bottom: 25px;
   }   
   .btn {
      padding: 12px 20px;
      font-size: 0.9rem;
      min-width: 160px;
   }
}
@media screen and (max-height: 600px) {
   #landing_page {
      height: auto;
      min-height: 100vh;
   }
}
/* Philosophy Section Styles */
#philosophy {
   padding: 80px 15%;
   text-align: center;
}
.philosophy-container h2 {
   font-size: 2.5rem;
   color: var(--primary);
   margin-bottom: 50px;
   position: relative;
}
.philosophy-container h2::after {
   content: '';
   position: absolute;
   bottom: -15px;
   left: 50%;
   transform: translateX(-50%);
   width: 80px;
   height: 3px;
   background-color: var(--primary);
}
.philosophy-cards {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 40px;
   margin-top: 40px;
}
.philosophy-card {
   background: var(--back-light);
   padding: 40px 30px;
   border-radius: 10px;
   box-shadow: 0 5px 15px rgba(0,0,0,0.1);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   text-align: center;
   display: flex;
   flex-direction: column;
   align-items: center;
}
.philosophy-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}
.philosophy-card:hover .card-icon {
   background-color: var(--primary);
   color: var(--back-light);
   transform: scale(1.1);
}
.card-icon {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   background-color: var(--back-dark);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 25px;
   color: var(--primary);
   transition: all 0.3s ease;
}
.card-icon svg {
   width: 40px;
   height: 40px;
}
.philosophy-card h3 {
   color: var(--primary);
   font-size: 1.5rem;
   margin-bottom: 20px;
}
.philosophy-card p {
   color: var(--text-color);
   line-height: 1.8;
   font-size: 1rem;
}
@media screen and (max-width: 768px) {
   .philosophy-container h2 {
      font-size: 2rem;
   }
   .philosophy-cards {
      grid-template-columns: 1fr;
      gap: 30px;
   }
   .philosophy-card {
      padding: 30px 20px;
   }
   .card-icon {
      width: 70px;
      height: 70px;
      margin-bottom: 20px;
   }
   .card-icon svg {
      width: 35px;
      height: 35px;
   }
}
/* Contact Form Section
#contact-form-section {
   background-color: var(--back-dark);
}
.contact-form-container {
   max-width: 800px;
   margin: 0 auto;
   text-align: center;
}
.contact-form-container h2 {
   font-size: 2.5rem;
   color: var(--primary);
   margin-bottom: 15px;
   position: relative;
}
.contact-form-container h2::after {
   content: '';
   position: absolute;
   bottom: -15px;
   left: 50%;
   transform: translateX(-50%);
   width: 80px;
   height: 3px;
   background-color: var(--primary);
}
.contact-subtitle {
   font-size: 1.1rem;
   color: var(--text-color);
   margin-bottom: 50px;
   max-width: 600px;
   margin-left: auto;
   margin-right: auto;
}
.contact-form {
   background: var(--back-light);
   padding: 50px;
   border-radius: 15px;
   box-shadow: 0 10px 30px rgba(0,0,0,0.1);
   text-align: left;
}
.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 25px;
   margin-bottom: 25px;
}
.form-group {
   margin-bottom: 25px;
}
.form-group label {
   display: block;
   margin-bottom: 8px;
   font-weight: 600;
   color: var(--text-color);
   font-size: 1rem;
}
.form-group input,
.form-group select,
.form-group textarea {
   width: 100%;
   padding: 15px;
   border: 2px solid var(--back-dark);
   border-radius: 8px;
   font-size: 1rem;
   transition: all 0.3s ease;
   background-color: var(--back-light);
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
   outline: none;
   border-color: var(--primary);
   box-shadow: 0 0 0 3px rgba(167, 143, 55, 0.1);
}
.form-group textarea {
   resize: vertical;
   min-height: 120px;
}
.form-submit {
   width: 100%;
   padding: 16px;
   border: 2px solid var(--primary);
   font-size: 1.1rem;
   margin-top: 10px;
   cursor: pointer;
   transition: all 0.3s ease;
}
.form-submit:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 20px rgba(167, 143, 55, 0.3);
}
@media screen and (max-width: 768px) {
   #contact-form-section{
      padding: 5%;
   }
   .contact-form-container h2 {
      font-size: 2rem;
   }   
   .contact-form {
      padding: 30px 25px;
   }
   .form-row {
      grid-template-columns: 1fr;
      gap: 0;
   }  
   .form-group {
      margin-bottom: 20px;
   }
}
@media screen and (max-width: 480px) {
   .contact-form-container h2 {
      font-size: 1.8rem;
   }
   .contact-subtitle {
      font-size: 1rem;
      margin-bottom: 40px;
   }
   .contact-form {
      padding: 25px 20px;
   }
   .form-group input,
   .form-group select,
   .form-group textarea {
      padding: 12px;
      font-size: 0.9rem;
   }
   .form-submit {
      padding: 14px;
      font-size: 1rem;
   }
} */
/* Featured Services Section on Homepage */
#featured_services {
   background-color: var(--back-light);
}
#featured_services .services-container {
   margin: 0 auto;
   text-align: center;
}
#featured_services .services-container h2 {
   font-size: 2.5rem;
   color: var(--primary);
   margin-bottom: 15px;
   position: relative;
}
#featured_services .services-container h2::after {
   content: '';
   position: absolute;
   bottom: -15px;
   left: 50%;
   transform: translateX(-50%);
   width: 80px;
   height: 3px;
   background-color: var(--primary);
}
#featured_services .services-subtitle {
   font-size: 1.1rem;
   color: var(--text-color);
   margin-bottom: 60px;
   max-width: 700px;
   margin-left: auto;
   margin-right: auto;
}
#featured_services .services-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 40px;
   margin-bottom: 50px;
}
#featured_services .service-card {
   background: var(--back-light);
   padding: 40px 30px;
   border-radius: 15px;
   box-shadow: 0 5px 15px rgba(0,0,0,0.08);
   transition: all 0.3s;
   text-align: center;
   display: flex;
   flex-direction: column;
   align-items: center;
   border: 1px solid rgba(167, 143, 55, 0.1);
}
#featured_services .service-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
   border-color: rgba(167, 143, 55, 0.3);
}
#featured_services .service-icon {
   width: 80px;
   height: 80px;
   background: var(--back-dark);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 25px;
   color: var(--primary);
   transition: all 0.3s;
}
#featured_services .service-card:hover .service-icon {
   background-color: var(--primary);
   color: var(--back-light);
   transform: scale(1.1);
}
#featured_services .service-icon svg {
   width: 35px;
   height: 35px;
}
#featured_services .service-card h3 {
   color: var(--primary);
   font-size: 1.4rem;
   margin-bottom: 20px;
   font-weight: 600;
   transition: color 0.3s ease;
}
#featured_services .service-card:hover h3 {
   color: #8a752f;
}
#featured_services .service-card p {
   color: var(--text-color);
   line-height: 1.7;
   font-size: 1rem;
   margin-bottom: 25px;
   flex-grow: 1;
}
#featured_services .service-price {
   font-size: 1.5rem;
   font-weight: 700;
   color: var(--primary);
   margin-top: auto;
   padding: 10px 25px;
   background: rgba(167, 143, 55, 0.1);
   border-radius: 25px;
   transition: all 0.3s ease;
}
#featured_services .service-card:hover .service-price {
   background: var(--primary);
   color: var(--back-light);
   transform: scale(1.05);
}
#featured_services .featured-services-cta {
   margin-top: 40px;
   text-align: center;
}
#featured_services .btn-primary {
   background-color: var(--primary);
   color: var(--back-light);
   border: 2px solid var(--primary);
   padding: 15px 40px;
   font-size: 1.1rem;
   border-radius: 25px;
   text-decoration: none;
   font-weight: 600;
   display: inline-block;
   transition: all 0.3s ease;
}
#featured_services .btn-primary:hover {
   background-color: transparent;
   color: var(--primary);
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(167, 143, 55, 0.2);
}
/* Animations for featured services */
@keyframes cardFadeIn {
   from {
      opacity: 0;
   }
   to {
      opacity: 1;
   }
}
#featured_services .service-card {
   animation: cardFadeIn 0.6s ease-out forwards;
   opacity: 0;
}
#featured_services .service-card:nth-child(1) {
   animation-delay: 0.1s;
}
#featured_services .service-card:nth-child(2) {
   animation-delay: 0.2s;
}
#featured_services .service-card:nth-child(3) {
   animation-delay: 0.3s;
}
/* Responsive Design for Featured Services */
@media screen and (max-width: 1024px) {
   #featured_services .services-container h2 {
      font-size: 2.2rem;
   }
   #featured_services .services-subtitle {
      font-size: 1rem;
   }
   #featured_services .services-grid {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 30px;
   }
   #featured_services .service-card {
      padding: 35px 25px;
   }
}
@media screen and (max-width: 900px) {
   #featured_services .services-grid {
      grid-template-columns: 1fr;
      margin-left: auto;
      margin-right: auto;
   }
}
@media screen and (max-width: 768px) {
   #featured_services .services-container h2 {
      font-size: 2rem;
   }
   #featured_services .services-subtitle {
      font-size: 0.95rem;
      margin-bottom: 40px;
   }
   #featured_services .service-card {
      padding: 30px 20px;
   }
   #featured_services .service-icon {
      width: 70px;
      height: 70px;
   }
   #featured_services .service-icon svg {
      width: 30px;
      height: 30px;
   }
   #featured_services .service-card h3 {
      font-size: 1.3rem;
   }
}
@media screen and (max-width: 480px) {
   #featured_services .services-container h2 {
      font-size: 1.8rem;
   }
   #featured_services .services-subtitle {
      font-size: 0.9rem;
   }
   #featured_services .service-card {
      padding: 25px 15px;
   }   
   #featured_services .btn-primary {
      padding: 12px 30px;
      font-size: 1rem;
   }
}
/* Hero Section - Kto sme? */
#hero {
   background-color: var(--back-light);
   padding: 80px 15%;
}

.hero_content h2 {
   font-size: 2.5rem;
   color: var(--primary);
   margin-bottom: 30px;
   position: relative;
}

.hero_content h2::after {
   content: '';
   position: absolute;
   bottom: -15px;
   left: 0;
   width: 80px;
   height: 3px;
   background-color: var(--primary);
}

.hero_content p {
   font-size: 1.1rem;
   line-height: 1.7;
   color: var(--text-color);
   margin-bottom: 20px;
}

.hero_image {
   width: 100%;
   max-width: 500px;
   margin: 0 auto;
   border-radius: 10px;
   overflow: hidden;
   box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.hero_image img {
   width: 100%;
   height: auto;
   display: block;
   transition: transform 0.5s ease;
}

.hero_image:hover img {
   transform: scale(1.03);
}

/* Responsive Design for Hero Section */
@media screen and (min-width: 768px) {
   #hero {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      padding: 100px 15%;
   }

   .hero_content h2 {
      font-size: 2.8rem;
      margin-bottom: 35px;
   }

   .hero_content h2::after {
      left: 0;
      transform: none;
   }
}

@media screen and (max-width: 1024px) {
   #hero {
      padding: 80px 10%;
   }

   .hero_content h2 {
      font-size: 2.3rem;
   }
}

@media screen and (max-width: 767px) {
   #hero {
      text-align: center;
      padding: 60px 5%;
   }

   .hero_content h2 {
      font-size: 2.2rem;
      margin-bottom: 25px;
   }

   .hero_content h2::after {
      left: 50%;
      transform: translateX(-50%);
   }

   .hero_content p {
      font-size: 1rem;
      margin-bottom: 15px;
   }

   .hero_image {
      margin-top: 40px;
      max-width: 100%;
   }
}

@media screen and (max-width: 480px) {
   #hero {
      padding: 50px 5%;
   }

   .hero_content h2 {
      font-size: 1.9rem;
   }

   .hero_content p {
      font-size: 0.95rem;
   }
}