/* General Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

@font-face {
  font-family: 'Berlin Sans Demi';
  src: url('berlinsansdemibold.tff') format('truetype'),
       url('berlinsansdemibold.tff') format('truetype');
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(10px, 2.5vw, 30px);
}

/* Header */
header {
    background: #8B4513;
    color: #FFFFFF;
    padding: clamp(10px, 2vw, 20px) 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid #F5D020;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-family: 'Berlin Sans Demi', Arial, sans-serif;
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 700;
    letter-spacing: clamp(1px, 0.5vw, 2.5px);
    color: #FFFFFF;
    text-transform: uppercase;
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.slogan {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(12px, 1.5vw, 16px);
    font-weight: 400;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: clamp(0.5px, 0.3vw, 1px);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    margin-top: clamp(2px, 0.5vw, 5px);
}

nav ul {
    list-style: none;
    display: flex;
    align-items: center;
}

nav ul li {
    margin-left: clamp(15px, 2vw, 35px);
}

nav ul li a {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(14px, 1.5vw, 18px);
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 400;
    text-transform: uppercase;
    padding: clamp(5px, 1vw, 8px) clamp(8px, 1.5vw, 12px);
    transition: all 0.3s ease;
    border-radius: 4px;
}

nav ul li a:hover {
    color: #F5D020;
    background: rgba(255, 255, 255, 0.1);
}

/* Craftsmanship Stripe */
header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(2px, 0.5vw, 4px);
    background: linear-gradient(to right, #F5D020 33%, #FFFFFF 33%, #FFFFFF 66%, #8B4513 66%);
}

/* Hero Section */
.hero {
    height: clamp(70vh, 90vh, 100vh);
    background: url('../img/reno.jpg') no-repeat center center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFFFFF;
    margin-top: clamp(40px, 5vw, 60px);
    position: relative;
    border-bottom: clamp(1px, 0.5vw, 2px) solid #8B4513;
    
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(139, 69, 19, 0.6), rgba(245, 208, 32, 0.3));
}

.hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 800px; /* Widened for uniformity */
    max-width: 90vw; /* Ensure it fits smaller screens */
    background: rgba(255, 255, 255, 0.75);
    padding: 30px; /* Fixed padding for consistency */
    border-radius: 6px; /* Fixed border-radius */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); 
}

.hero-content h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 700;
    margin-bottom: clamp(5px, 1vw, 10px);
    text-shadow: 0 clamp(1px, 0.5vw, 3px) clamp(3px, 1vw, 6px) rgba(0, 0, 0, 0.5);
    color: #333333;
    text-transform: uppercase;
}

.hero-content p {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
    margin-bottom: clamp(20px, 3vw, 40px);
    max-width: clamp(500px, 60vw, 700px);
    color: #333333;
    text-transform: uppercase;
}

.cta-button {
    background: #F5D020;
    color: #333333;
    padding: clamp(10px, 1.5vw, 16px) clamp(20px, 3vw, 40px);
    text-decoration: none;
    border-radius: clamp(25px, 2vw, 50px);
    font-weight: 600;
    font-size: clamp(16px, 2vw, 20px);
    text-transform: uppercase;
    letter-spacing: clamp(1px, 0.3vw, 1.5px);
    transition: all 0.3s ease;
    box-shadow: 0 clamp(2px, 0.5vw, 4px) clamp(6px, 1.5vw, 12px) rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
    background: #E6B800;
    transform: translateY(-clamp(2px, 0.5vw, 3px));
    box-shadow: 0 clamp(3px, 0.7vw, 6px) clamp(10px, 2vw, 20px) rgba(0, 0, 0, 0.3);
}

/* Why We’re the Best Section */
.why-best {
    padding: clamp(50px, 5vw, 100px) 0;
    background-color: #F5F6F5;
    text-align: left; /* Align text left */
    border-bottom: clamp(1px, 0.5vw, 2px) solid #8B4513;
}

.why-best h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(20px, 3vw, 40px);
    color: #8B4513;
    text-transform: uppercase;
}

.why-best p {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    max-width: clamp(800px, 70vw, 1000px);
    margin: 0 auto clamp(30px, 4vw, 60px);
    color: #333333;
    line-height: 1.6;
}

.why-best .cta-button {
    margin-top: clamp(20px, 3vw, 40px);
    display: block; /* Make it a block element */
    margin-left: auto; /* Center it horizontally */
    margin-right: auto; /* Center it horizontally */
    width: fit-content; /* Keep its natural width */
}

/* Services Section */
.services {
    padding: clamp(50px, 5vw, 100px) 0;
    background-color: #F5F6F5;
    text-align: center;
}

.services h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(30px, 4vw, 60px);
    color: #8B4513;
    text-transform: uppercase;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(clamp(250px, 20vw, 350px), 1fr));
    gap: clamp(20px, 3vw, 40px);
    max-width: 1280px;
    margin: 0 auto;
}

.service-item {
    display: block; /* Ensure the link fills the grid cell */
    background-color: #FFFFFF;
    padding: clamp(20px, 2.5vw, 40px);
    border-radius: clamp(6px, 1vw, 12px);
    box-shadow: 0 clamp(4px, 1vw, 8px) clamp(12px, 2vw, 25px) rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    border-top: clamp(2px, 0.5vw, 4px) solid #F5D020;
    border-left: 1px solid #D2B48C;
    text-align: center;
    color: #333333; /* Default text color */
    text-decoration: none; /* Remove underline */
    font-family: 'Oswald', sans-serif;
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 700;
    text-transform: uppercase;
    word-wrap: break-word; /* Allow text to wrap */
    overflow-wrap: break-word; /* Ensure compatibility */
}

.service-item:hover {
    background-color: #F5D020; /* Yellow background on hover */
    transform: translateY(-clamp(2px, 0.5vw, 4px)); /* Slight lift on hover */
    box-shadow: 0 clamp(6px, 1.5vw, 12px) clamp(18px, 3vw, 30px) rgba(0, 0, 0, 0.15);
}

.service-item h3 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    color: #8B4513;
    margin-bottom: clamp(10px, 1.5vw, 20px);
    text-transform: uppercase;
}

.service-item p {
    font-size: clamp(14px, 1.5vw, 16px);
    color: #333333;
    line-height: 1.5;
}

.service-icon {
    display: block;
    font-size: clamp(36px, 5vw, 48px);
    color: #8B4513;
    margin-bottom: clamp(15px, 2vw, 25px);
}

/* Staff Section */
.staff {
    padding: clamp(50px, 5vw, 100px) 0;
    background-color: #F5F6F5;
    text-align: center;
}

.staff h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(30px, 4vw, 60px);
    color: #8B4513;
    text-transform: uppercase;
}

.staff-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(clamp(250px, 20vw, 350px), 1fr));
    gap: clamp(20px, 3vw, 40px);
    max-width: 1280px;
    margin: 0 auto clamp(30px, 4vw, 60px);
}

.staff-item {
    background-color: #FFFFFF;
    padding: clamp(20px, 2.5vw, 40px);
    border-radius: clamp(6px, 1vw, 12px);
    box-shadow: 0 clamp(4px, 1vw, 8px) clamp(12px, 2vw, 25px) rgba(0, 0, 0, 0.1);
    border-top: clamp(4px, 0.8vw, 8px) solid #F5D020;
}

.staff-photo {
    width: clamp(120px, 15vw, 150px);
    height: clamp(120px, 15vw, 150px);
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    margin: 0 auto clamp(15px, 2vw, 25px);
    border: clamp(2px, 0.5vw, 4px) solid #8B4513;
}

.staff-item h3 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    color: #8B4513;
    margin-bottom: clamp(5px, 1vw, 10px);
    text-transform: uppercase;
}

.staff-item p {
    font-size: clamp(14px, 1.5vw, 16px);
    color: #333333;
    margin-bottom: clamp(5px, 1vw, 10px);
}

.staff-item a {
    color: #8B4513;
    text-decoration: none;
    transition: color 0.3s ease;
}

.staff-item a:hover {
    color: #F5D020;
}

.general-inquiries {
    max-width: clamp(500px, 60vw, 700px);
    margin: 0 auto;
    background-color: #FFFFFF;
    padding: clamp(20px, 2.5vw, 40px);
    border-radius: clamp(6px, 1vw, 12px);
    box-shadow: 0 clamp(4px, 1vw, 8px) clamp(12px, 2vw, 25px) rgba(0, 0, 0, 0.1);
    border-top: clamp(4px, 0.8vw, 8px) solid #F5D020;
}

.general-inquiries h3 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    color: #8B4513;
    margin-bottom: clamp(10px, 1.5vw, 20px);
    text-transform: uppercase;
}

.general-inquiries p {
    font-size: clamp(14px, 1.5vw, 16px);
    color: #333333;
    margin-bottom: clamp(5px, 1vw, 10px);
}

.general-inquiries a {
    color: #8B4513;
    text-decoration: none;
    transition: color 0.3s ease;
}

.general-inquiries a:hover {
    color: #F5D020;
}

/* Contact Section */
.contact {
    padding: clamp(50px, 5vw, 100px) 0;
    background: linear-gradient(135deg, #8B4513 0%, #A0522D 100%);
    color: #FFFFFF;
    text-align: center;
}

.contact h2 {
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(30px, 4vw, 60px);
    text-transform: uppercase;
}

form {
    display: flex;
    flex-direction: column;
    max-width: clamp(500px, 60vw, 700px);
    margin: 0 auto;
    gap: clamp(12px, 2vw, 25px);
}

input, textarea {
    padding: clamp(12px, 2vw, 18px);
    border: none;
    border-radius: clamp(4px, 0.8vw, 8px);
    font-size: clamp(14px, 1.5vw, 16px);
    background-color: #FFFFFF;
    transition: box-shadow 0.3s ease;
    box-shadow: 0 clamp(1px, 0.5vw, 2px) clamp(4px, 1vw, 8px) rgba(0, 0, 0, 0.05);
    color: #333333;
}

input:focus, textarea:focus {
    outline: #F5D020 solid 3px;
    box-shadow: 0 0 clamp(4px, 1vw, 8px) rgba(245, 208, 32, 0.6);
}

textarea {
    height: clamp(100px, 15vw, 140px);
    resize: vertical;
}

button {
    background: #F5D020;
    color: #333333;
    padding: clamp(12px, 2vw, 18px);
    border: none;
    border-radius: clamp(4px, 0.8vw, 8px);
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: clamp(1px, 0.3vw, 1.5px);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 clamp(2px, 0.5vw, 4px) clamp(6px, 1.5vw, 12px) rgba(0, 0, 0, 0.2);
}

button:hover {
    background: #E6B800;
    transform: translateY(-clamp(2px, 0.5vw, 3px));
    box-shadow: 0 clamp(3px, 0.7vw, 6px) clamp(10px, 2vw, 20px) rgba(0, 0, 0, 0.3);
}

.error {
    color: #FF0000;
    font-size: clamp(12px, 1.5vw, 14px);
    margin-top: clamp(3px, 0.5vw, 5px);
    display: none;
}

/* Footer */
footer {
    background: #8B4513;
    color: #FFFFFF;
    text-align: center;
    padding: clamp(20px, 3vw, 40px) 0;
    font-size: clamp(14px, 1.5vw, 16px);
    position: relative;
    border-top: clamp(0.5px, 0.3vw, 1px) solid #F5D020;
}

footer p {
    margin: clamp(5px, 1vw, 10px) 0;
}

/* Portfolio Section */
.portfolio {
    padding: clamp(50px, 5vw, 100px) 0 clamp(10px, 1vw, 20px) 0; /* Further reduced bottom padding */
    text-align: center;
    background-color: #FFFFFF;
}

.portfolio h2 {
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(30px, 4vw, 60px);
    color: #8B4513;
    text-transform: uppercase;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Strict 2 columns */
    grid-template-rows: repeat(4, clamp(200px, 25vw, 300px)); /* 4 rows matching item height */
    gap: clamp(20px, 3vw, 40px);
    max-width: 1280px;
    margin: 0 auto;
    align-items: start;
}

.portfolio-item {
    background-size: cover;
    background-position: center;
    height: clamp(200px, 25vw, 300px);
    border-radius: clamp(6px, 1vw, 12px);
    transition: transform 0.3s ease;
    border: clamp(1px, 0.5vw, 2px) solid #8B4513;
    box-shadow: 0 clamp(2px, 0.5vw, 4px) clamp(7px, 1.5vw, 15px) rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.portfolio-item:before {
    content: attr(data-label);
    position: absolute;
    top: clamp(5px, 1vw, 10px);
    left: clamp(10px, 2vw, 20px);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(12px, 1.5vw, 18px);
    font-weight: 700;
    color: #FFFFFF;
    background: #8B4513;
    padding: clamp(5px, 1vw, 10px) clamp(10px, 2vw, 15px);
    border-radius: clamp(4px, 0.8vw, 8px);
    z-index: 11;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.portfolio-item:hover {
    transform: scale(clamp(1.01, 1.02, 1.03));
    box-shadow: 0 clamp(4px, 1vw, 8px) clamp(12px, 2vw, 25px) rgba(0, 0, 0, 0.15);
}

/* Modal for Full Image */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1001;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Prevent modal scrolling */
}

.modal-content {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: clamp(20px, 3vw, 40px); /* Add padding for close button positioning */
}

.modal-img {
    width: auto; /* Allow natural width */
    height: auto; /* Allow natural height */
    max-width: 95vw; /* Constrain to 95% of viewport width */
    max-height: 95vh; /* Constrain to 95% of viewport height */
    object-fit: contain; /* Maintain aspect ratio and show full image */
    border: clamp(2px, 0.5vw, 4px) solid #8B4513;
    border-radius: clamp(6px, 1vw, 12px);
}

.close-modal {
    position: absolute;
    top: clamp(10px, 2vw, 20px);
    right: clamp(10px, 2vw, 20px);
    font-size: clamp(16px, 2vw, 24px);
    color: #FFFFFF;
    background: #8B4513;
    border: none;
    border-radius: clamp(4px, 0.8vw, 8px);
    padding: clamp(5px, 1vw, 10px) clamp(10px, 2vw, 15px);
    cursor: pointer;
    z-index: 1002;
    transition: background 0.3s ease;
}

.close-modal:hover {
    background: #A0522D;
}

.alt-text {
    display: none;
    position: absolute;
    bottom: clamp(5px, 1vw, 10px);
    left: clamp(5px, 1vw, 10px);
    right: clamp(5px, 1vw, 10px);
    background: rgba(255, 255, 255, 0.85);
    color: #F5D020;
    padding: clamp(5px, 1vw, 10px);
    border-radius: clamp(4px, 0.8vw, 8px);
    border: clamp(1px, 0.5vw, 2px) solid #8B4513;
    font-size: clamp(10px, 1.5vw, 14px);
    font-weight: 500;
    box-shadow: 0 clamp(2px, 0.5vw, 4px) clamp(5px, 1.5vw, 10px) rgba(0, 0, 0, 0.2);
    z-index: 10;
    word-break: break-word;
    max-width: calc(100% - clamp(10px, 2vw, 20px));
}

/* Responsive Design for Portfolio and Services */
@media (max-width: 1024px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, minmax(clamp(150px, 20vw, 300px), 1fr));
    }

    .service-grid {
        grid-template-columns: repeat(2, minmax(clamp(200px, 20vw, 350px), 1fr));
    }

    .staff-grid {
        grid-template-columns: repeat(2, minmax(clamp(200px, 20vw, 350px), 1fr));
    }

    .why-best p {
        font-size: clamp(14px, 1.5vw, 18px);
    }
}

@media (max-width: 600px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-item:before {
        font-size: clamp(10px, 1.5vw, 14px);
        padding: clamp(3px, 0.8vw, 8px) clamp(8px, 1.5vw, 12px);
    }

    .modal-img {
        max-width: 90vw; /* Adjust for mobile to show more of the image */
        max-height: 90vh;
    }

    .close-modal {
        font-size: clamp(14px, 1.5vw, 20px);
        padding: clamp(4px, 0.8vw, 8px) clamp(8px, 1.5vw, 12px);
    }

    .service-grid {
        grid-template-columns: 1fr;
    }

    .service-item h3 {
        font-size: clamp(16px, 1.5vw, 20px);
    }

    .service-item p {
        font-size: clamp(12px, 1.5vw, 14px);
    }

    .staff-grid {
        grid-template-columns: 1fr;
    }

    .staff-photo {
        width: clamp(100px, 12vw, 120px);
        height: clamp(100px, 12vw, 120px);
    }

    .staff-item h3 {
        font-size: clamp(16px, 1.5vw, 20px);
    }

    .general-inquiries h3 {
        font-size: clamp(16px, 1.5vw, 20px);
    }

    .why-best h2 {
        font-size: clamp(24px, 3vw, 32px);
    }

    .why-best p {
        font-size: clamp(12px, 1.5vw, 14px);
    }
}

/* Additional Breakpoint for Large Screens */
@media (min-width: 1024px) {
    .service-grid {
        grid-template-columns: repeat(3, minmax(clamp(250px, 20vw, 350px), 1fr));
    }
}

/* Testimonial Section */
.testimonials {
    padding: 40px 0 clamp(50px, 5vw, 100px) 0; /* Fixed 40px top padding, original bottom padding */
    background-color: #F5F6F5;
    text-align: center;
}

.testimonials h2 {
    font-family: 'Lora', serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 700;
    margin-bottom: clamp(30px, 4vw, 60px);
    color: #8B4513;
    text-transform: uppercase;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(clamp(250px, 20vw, 350px), 1fr));
    gap: clamp(20px, 3vw, 40px);
    max-width: 1280px;
    margin: 0 auto;
}

.testimonial-item {
    background-color: #FFFFFF;
    padding: clamp(20px, 2.5vw, 40px);
    border-radius: clamp(6px, 1vw, 12px);
    box-shadow: 0 clamp(4px, 1vw, 8px) clamp(12px, 2vw, 25px) rgba(0, 0, 0, 0.1);
    border-top: clamp(4px, 0.8vw, 8px) solid #F5D020;
    text-align: left;
}

.testimonial-item p {
    font-size: clamp(14px, 1.5vw, 16px);
    color: #333333;
    line-height: 1.5;
    margin-bottom: clamp(10px, 1.5vw, 20px);
}

.testimonial-item .author {
    font-style: italic;
    font-weight: 500;
    color: #8B4513;
    margin-bottom: 0;
}

/* Responsive adjustments (already in your media queries, just ensuring consistency) */
@media (max-width: 1024px) {
    .testimonial-grid {
        grid-template-columns: repeat(2, minmax(clamp(200px, 20vw, 350px), 1fr));
    }
}

@media (max-width: 600px) {
    .testimonial-grid {
        grid-template-columns: 1fr;
    }
    .testimonial-item p {
        font-size: clamp(12px, 1.5vw, 14px);
    }
}

/* --- Responsive and Touch-Friendly Adjustments --- */
@media (max-width: 1024px) {
    .portfolio-grid {
        grid-template-columns: 1fr 1fr;
    }

    .service-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .portfolio-item:before {
        font-size: 14px;
        padding: 6px 12px;
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .service-item {
        padding: 20px;
    }

    .staff-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hero-content {
        padding: 20px;
        width: 95%;
    }

    .hero-content h2 {
        font-size: 28px;
    }

    .hero-content p {
        font-size: 16px;
    }

    .cta-button {
        padding: 12px 24px;
        font-size: 16px;
    }

    form {
        gap: 16px;
    }

    input, textarea {
        padding: 12px;
        font-size: 14px;
    }

    button {
        padding: 12px;
        font-size: 14px;
    }
}

nav ul li a {
    padding: 12px 16px;
}

button, .cta-button, nav ul li a {
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}

button:hover, .cta-button:hover, nav ul li a:hover {
    transform: scale(1.05);
}

.modal-img {
    max-width: 90vw;
    max-height: 80vh;
}

footer {
    padding: 20px 10px;
    font-size: 14px;
}

.testimonial-item p {
    font-size: 14px;
}

.cta-button, button {
    transition: transform 0.2s ease, background-color 0.3s ease;
}

.cta-button:hover, button:hover {
    transform: scale(1.05);
    background-color: #E6B800;
}
