/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Prevent horizontal overflow globally */
*,
*::before,
*::after {
    box-sizing: border-box;
    max-width: 100%;
}

/* Scroll Animation Classes */
.scroll-fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in.animate {
    opacity: 1;
    transform: translateY(0);
}

.scroll-slide-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-slide-left.animate {
    opacity: 1;
    transform: translateX(0);
}

.scroll-slide-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-slide-right.animate {
    opacity: 1;
    transform: translateX(0);
}

.scroll-scale-in {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-scale-in.animate {
    opacity: 1;
    transform: scale(1);
}

/* Stagger delays for multiple items */
.scroll-fade-in.delay-1 { transition-delay: 0.1s; }
.scroll-fade-in.delay-2 { transition-delay: 0.2s; }
.scroll-fade-in.delay-3 { transition-delay: 0.3s; }
.scroll-fade-in.delay-4 { transition-delay: 0.4s; }
.scroll-fade-in.delay-5 { transition-delay: 0.5s; }
.scroll-fade-in.delay-6 { transition-delay: 0.6s; }
.scroll-fade-in.delay-7 { transition-delay: 0.7s; }
.scroll-fade-in.delay-8 { transition-delay: 0.8s; }
.scroll-fade-in.delay-9 { transition-delay: 0.9s; }

html, body {
    height: 100%;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    /* Prevent horizontal scroll on all devices */
    overflow-x: hidden !important;
    position: relative;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    line-height: 1.6;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh; /* Modern viewport unit */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

body > *:not(.site-footer) {
    flex-shrink: 0;
}

.page-content {
    min-height: calc(100vh - 200px);
    padding-top: 100px;
}

/* About Page Section */
.about-page-section {
    padding: 8rem 0;
    position: relative;
    overflow: hidden;
    background: white;
}

.about-page-section::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -2;
    pointer-events: none;
}

@media (max-width: 768px) {
    .about-page-section::after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
    }
}

.about-page-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.15) 50%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 20s ease-in-out infinite;
    z-index: 0;
}

.about-page-section .about-page-container {
    position: relative;
    z-index: 1;
}

.about-page-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .about-page-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .about-page-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-page-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-page-container {
        padding: 0 12rem;
    }
}

.about-page-header {
    text-align: center;
    margin-bottom: 3rem;
}

@media (min-width: 480px) {
    .about-page-header {
        margin-bottom: 4rem;
    }
}

@media (min-width: 768px) {
    .about-page-header {
        margin-bottom: 5rem;
    }
}

.about-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 0.75rem;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
    font-size: 0.75rem;
}

@media (min-width: 480px) {
    .about-page-badge {
        padding: 0.45rem 1.25rem;
        margin-bottom: 0.875rem;
        font-size: 0.8125rem;
    }
}

@media (min-width: 768px) {
    .about-page-badge {
        padding: 0.5rem 1.5rem;
        margin-bottom: 1rem;
        font-size: 0.875rem;
    }
}

.about-page-badge:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
    transition-delay: 0s !important;
}

.about-page-badge span {
    color: white;
    font-weight: 500;
}

.about-page-title {
    font-size: 2rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.2;
}

@media (min-width: 480px) {
    .about-page-title {
        font-size: 2.5rem;
        margin-bottom: 1.25rem;
    }
}

@media (min-width: 640px) {
    .about-page-title {
        font-size: 3rem;
        margin-bottom: 1.5rem;
    }
}

@media (min-width: 768px) {
    .about-page-title {
        font-size: 3.75rem;
    }
}

.about-page-gradient {
    position: relative;
    display: inline-block;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
}

.about-page-gradient::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 12px;
    background: linear-gradient(to right, rgba(255, 197, 37, 0.4), rgba(247, 87, 9, 0.4));
    border-radius: 2px;
    transform: rotate(-1deg);
    transform-origin: left center;
}

.about-page-description {
    font-size: 0.9375rem;
    color: #4b5563;
    line-height: 1.6;
    max-width: 48rem;
    margin: 0 auto;
    padding: 0 0.5rem;
}

@media (min-width: 480px) {
    .about-page-description {
        font-size: 1rem;
        line-height: 1.65;
        padding: 0;
    }
}

@media (min-width: 640px) {
    .about-page-description {
        font-size: 1.125rem;
        line-height: 1.7;
    }
}

@media (min-width: 768px) {
    .about-page-description {
        font-size: 1.25rem;
        line-height: 1.75;
    }
}

/* About Story Section */
.about-story-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    margin: 5rem -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .about-story-section {
        grid-template-columns: 1.2fr 1fr;
        gap: 4rem;
        align-items: center;
        margin: 5rem -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .about-story-section {
        margin: 5rem -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-story-section {
        margin: 5rem -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-story-section {
        margin: 5rem -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
}

.about-story-content {
    order: 1;
}

.about-story-image {
    order: 2;
}

.about-story-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.1) 0%, rgba(247, 87, 9, 0.1) 100%);
    border: 1px solid rgba(255, 197, 37, 0.2);
    margin-bottom: 1.5rem;
}

.about-story-badge span {
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 500;
    font-size: 0.875rem;
}

.about-story-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 2rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .about-story-title {
        font-size: 3rem;
    }
}

.about-story-text {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.875;
}

.about-story-text p {
    margin-bottom: 1.5rem;
}

.about-story-text p:last-child {
    margin-bottom: 0;
}

/* About Values Section */
.about-values-section {
    margin: 6rem -1.5rem;
    padding: 4rem 1.5rem;
    position: relative;
    border-radius: 2rem;
    width: calc(100% + 3rem);
    max-width: none;
    overflow: hidden;
    background: linear-gradient(to bottom right, #fffef9 0%, #fffbf0 30%, #ffffff 100%);
}

.about-values-section::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom right, #fffef9 0%, #fffbf0 30%, #ffffff 100%);
    z-index: -3;
    pointer-events: none;
}

@media (max-width: 768px) {
    .about-values-section::before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
    }
}

@media (min-width: 1024px) {
    .about-values-section {
        margin: 6rem -5rem;
        width: calc(100% + 10rem);
        padding: 4rem 5rem;
    }
}

@media (min-width: 1280px) {
    .about-values-section {
        margin: 6rem -8rem;
        width: calc(100% + 16rem);
        padding: 4rem 8rem;
    }
}

@media (min-width: 1440px) {
    .about-values-section {
        margin: 6rem -10rem;
        width: calc(100% + 20rem);
        padding: 4rem 10rem;
    }
}

@media (min-width: 1920px) {
    .about-values-section {
        margin: 6rem -12rem;
        width: calc(100% + 24rem);
        padding: 4rem 12rem;
    }
}

.about-values-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0 1.5rem;
}

.about-values-intro {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.75;
    margin-top: 1.5rem;
}

.about-values-list {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}

@media (min-width: 768px) {
    .about-values-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem 4rem;
    }
}

@media (min-width: 1024px) {
    .about-values-list {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .about-values-list {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-values-list {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-values-list {
        padding: 0 12rem;
    }
}

.about-value-item {
    display: flex;
    gap: 2.5rem;
    align-items: flex-start;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(229, 231, 235, 0.5);
    transition: all 0.2s ease-out;
}

@media (min-width: 768px) {
    .about-value-item:nth-child(2n) {
        border-bottom: none;
    }
    
    .about-value-item:nth-last-child(-n+2) {
        border-bottom: none;
        padding-bottom: 0;
    }
}

@media (max-width: 767px) {
    .about-value-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}

.about-value-item:hover {
    padding-left: 1rem;
}

.about-value-number {
    font-size: 3rem;
    font-weight: bold;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    flex-shrink: 0;
    min-width: 80px;
    transition: all 0.2s ease-out;
}

.about-value-item:hover .about-value-number {
    transform: scale(1.1);
    transition-delay: 0s !important;
}

.about-value-content {
    flex: 1;
}

.about-value-title {
    font-size: 1.75rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 0.75rem;
    transition: all 0.2s ease-out;
}

.about-value-item:hover .about-value-title {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.about-value-description {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.875;
}

@media (max-width: 640px) {
    .about-value-item {
        flex-direction: column;
        gap: 1rem;
    }
    
    .about-value-number {
        min-width: auto;
        font-size: 2.5rem;
    }
    
    .about-value-item:hover {
        padding-left: 0;
    }
}

/* Services Image Section */
.services-image-section {
    margin: 4rem 0 5rem;
}

.services-image-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    background: white;
}

@media (min-width: 1024px) {
    .services-image-container {
        grid-template-columns: 1fr 1fr;
    }
}

.services-image-side {
    position: relative;
    min-height: 400px;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .services-image-side {
        min-height: 600px;
    }
}

.services-image-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.services-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.services-content-side {
    background: linear-gradient(to bottom right, #fffef9 0%, #ffffff 100%);
    display: flex;
    align-items: center;
    padding: 3rem 2rem;
}

@media (min-width: 1024px) {
    .services-content-side {
        padding: 4rem 3rem;
    }
}

.services-content-inner {
    width: 100%;
}

.services-content-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.1) 0%, rgba(247, 87, 9, 0.1) 100%);
    border: 1px solid rgba(255, 197, 37, 0.2);
    margin-bottom: 1.5rem;
}

.services-content-badge span {
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 500;
    font-size: 0.875rem;
}

.services-content-title {
    font-size: 2rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .services-content-title {
        font-size: 2.5rem;
    }
}

@media (min-width: 1024px) {
    .services-content-title {
        font-size: 3rem;
    }
}

.services-content-gradient {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.services-content-description {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.75;
    margin-bottom: 2rem;
}

.services-content-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .services-content-features {
        grid-template-columns: repeat(2, 1fr);
    }
}

.services-feature-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #374151;
    font-weight: 500;
}

.services-feature-item svg {
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
}

/* Featured Residential Painting Card (Full Width) */
.residential-painting-featured {
    margin: 3rem -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .residential-painting-featured {
        margin: 3rem -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .residential-painting-featured {
        margin: 3rem -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .residential-painting-featured {
        margin: 3rem -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .residential-painting-featured {
        margin: 3rem -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
}

.about-service-card-fullwidth {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.about-service-card-fullwidth-content {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
    flex-direction: column;
}

@media (min-width: 768px) {
    .about-service-card-fullwidth-content {
        flex-direction: row;
        gap: 3rem;
        align-items: flex-start;
    }
}

.about-service-card-fullwidth-text {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.about-service-card-fullwidth .about-service-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
}

@media (min-width: 768px) {
    .about-service-card-fullwidth .about-service-icon {
        width: 100px;
        height: 100px;
    }
}

.about-service-card-fullwidth .about-service-title {
    font-size: 2rem;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .about-service-card-fullwidth .about-service-title {
        font-size: 2.5rem;
    }
}

.about-service-card-fullwidth .about-service-description {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

/* Emphasized Full-Width Cards */
.about-service-card-emphasized {
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.1) 0%, rgba(247, 87, 9, 0.1) 100%);
    border: 2px solid rgba(255, 197, 37, 0.3);
    box-shadow: 0 10px 40px rgba(247, 87, 9, 0.15);
    position: relative;
    overflow: hidden;
}

.about-service-card-emphasized::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    z-index: 1;
}

.about-service-card-emphasized .about-service-icon {
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    box-shadow: 0 8px 20px rgba(247, 87, 9, 0.3);
    transform: scale(1.1);
}

.about-service-card-emphasized .about-service-title {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (min-width: 768px) {
    .about-service-card-fullwidth .about-service-description {
        font-size: 1.25rem;
    }
}

.about-service-card-fullwidth .about-service-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    margin-top: 0;
}

@media (min-width: 768px) {
    .about-service-card-fullwidth .about-service-features {
        grid-template-columns: repeat(4, 1fr);
    }
}

.about-services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 0 -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

@media (min-width: 768px) {
    .about-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Force 2 columns for specific grids */
    .about-services-grid-2col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Prevent cards from stretching in 2-column grid */
    .about-services-grid-2col .about-service-card {
        height: auto !important;
        align-self: start !important;
    }
}

@media (min-width: 1024px) {
    .about-services-grid {
        grid-template-columns: repeat(3, 1fr);
        margin: 0 -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
    
    /* Force 2 columns for specific grids */
    .about-services-grid-2col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Prevent cards from stretching in 2-column grid */
    .about-services-grid-2col .about-service-card {
        height: auto !important;
        align-self: start !important;
    }
}

@media (min-width: 1280px) {
    .about-services-grid {
        margin: 0 -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-services-grid {
        margin: 0 -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-services-grid {
        margin: 0 -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
}

.about-service-card {
    background: linear-gradient(to bottom right, rgba(255, 197, 37, 0.05), rgba(255, 255, 255, 0.95));
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(229, 231, 235, 0.5);
    transition: all 0.2s ease-out;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.about-service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 1.5rem 1.5rem 0 0;
}

.about-service-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.about-service-icon {
    width: 5rem;
    height: 5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.about-service-icon svg {
    width: 2.5rem;
    height: 2.5rem;
    color: white;
    position: relative;
    z-index: 1;
}

.about-service-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    transition: all 0.2s ease-out;
}

.about-service-card:hover .about-service-title {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.about-service-description {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.75;
    margin-bottom: 1.5rem;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}

.about-service-features {
    list-style: none;
    padding: 0;
    margin: 0 !important;
    margin-top: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex-shrink: 0;
}

.about-service-features li {
    display: flex;
    align-items: center;
    color: #374151;
    font-size: 0.9375rem;
    transition: color 0.2s ease-out;
}

.about-service-card:hover .about-service-features li {
    color: #111827;
}

.about-service-features li::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    margin-right: 0.75rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about-service-features li::after {
    content: '';
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: white;
    position: absolute;
    display: none;
}

/* How It Started - New Design */
.how-it-started-section {
    margin: 4rem 0;
    padding: 0 1.5rem;
}

@media (min-width: 768px) {
    .how-it-started-section {
        margin: 5rem 0;
        padding: 0 2rem;
    }
}

@media (min-width: 1024px) {
    .how-it-started-section {
        padding: 0 3rem;
    }
}

.how-it-started-content {
    max-width: 1000px;
    margin: 0 auto;
}

.how-it-started-header {
    text-align: center;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .how-it-started-header {
        margin-bottom: 4rem;
    }
}

.how-it-started-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .how-it-started-title {
        font-size: 3rem;
    }
}

@media (min-width: 1024px) {
    .how-it-started-title {
        font-size: 3.5rem;
    }
}

.how-it-started-body {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    align-items: flex-start;
}

@media (min-width: 768px) {
    .how-it-started-body {
        flex-direction: row;
        gap: 4rem;
        align-items: flex-start;
    }
}

.how-it-started-icon-wrapper {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .how-it-started-icon-wrapper {
        width: 140px;
        height: 140px;
        margin: 0;
    }
}

.how-it-started-icon {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 30px rgba(255, 197, 37, 0.25);
    transition: all 0.2s ease-out;
}

.how-it-started-section:hover .how-it-started-icon {
    transform: scale(1.05);
    box-shadow: 0 12px 40px rgba(255, 197, 37, 0.35);
    transition-delay: 0s !important;
}

.how-it-started-icon svg {
    width: 60px;
    height: 60px;
    color: white;
    stroke-width: 2.5;
}

@media (min-width: 768px) {
    .how-it-started-icon svg {
        width: 70px;
        height: 70px;
    }
}

.how-it-started-text {
    flex: 1;
    text-align: center;
}

@media (min-width: 768px) {
    .how-it-started-text {
        text-align: left;
    }
}

.how-it-started-description {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.8;
    margin: 0 0 1.5rem 0;
}

@media (min-width: 768px) {
    .how-it-started-description {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }
}

.how-it-started-description:last-of-type {
    margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
    .how-it-started-description:last-of-type {
        margin-bottom: 3rem;
    }
}

.how-it-started-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

@media (min-width: 768px) {
    .how-it-started-highlights {
        gap: 2rem;
        margin-top: 2.5rem;
    }
}

.how-it-started-highlight {
    text-align: center;
    padding: 1.5rem 1rem;
    border-radius: 1rem;
    background: linear-gradient(to bottom right, rgba(255, 197, 37, 0.08), rgba(255, 255, 255, 0.95));
    border: 1px solid rgba(255, 197, 37, 0.15);
    transition: all 0.2s ease-out;
}

.how-it-started-highlight:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(255, 197, 37, 0.15);
    border-color: rgba(255, 197, 37, 0.3);
    transition-delay: 0s !important;
    background: linear-gradient(to bottom right, rgba(255, 197, 37, 0.12), rgba(255, 255, 255, 1));
}

.highlight-number {
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .highlight-number {
        font-size: 2.5rem;
    }
}

.highlight-label {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 500;
    line-height: 1.4;
}

@media (min-width: 768px) {
    .highlight-label {
        font-size: 0.9375rem;
    }
}

/* What We Stand For - New Design */
.stand-for-list {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .stand-for-list {
        padding: 0 2rem;
    }
}

@media (min-width: 1024px) {
    .stand-for-list {
        padding: 0 3rem;
        max-width: 1400px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        column-gap: 4rem;
    }
}

.stand-for-item {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    padding: 2.5rem 0;
    position: relative;
    border-bottom: 1px solid rgba(229, 231, 235, 0.3);
    transition: all 0.2s ease-out;
}

.stand-for-item:last-child {
    border-bottom: none;
}

@media (min-width: 768px) {
    .stand-for-item {
        gap: 3rem;
        padding: 3rem 0;
    }
}

@media (min-width: 1024px) {
    .stand-for-item:nth-child(even) {
        border-bottom: 1px solid rgba(229, 231, 235, 0.3);
    }
    
    .stand-for-item:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

.stand-for-item:hover {
    padding-left: 0.5rem;
}

.stand-for-icon-wrapper {
    flex-shrink: 0;
    position: relative;
    width: 80px;
    height: 80px;
}

@media (min-width: 768px) {
    .stand-for-icon-wrapper {
        width: 100px;
        height: 100px;
    }
}

.stand-for-icon {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease-out;
    box-shadow: 0 4px 20px rgba(255, 197, 37, 0.2);
}

.stand-for-item:hover .stand-for-icon {
    transform: scale(1.1);
    box-shadow: 0 8px 30px rgba(255, 197, 37, 0.3);
}

.stand-for-icon svg {
    width: 40px;
    height: 40px;
    color: white;
    stroke-width: 2.5;
}

@media (min-width: 768px) {
    .stand-for-icon svg {
        width: 50px;
        height: 50px;
    }
}

.stand-for-content {
    flex: 1;
    padding-top: 0.5rem;
}

.stand-for-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem 0;
    line-height: 1.2;
    transition: all 0.2s ease-out;
}

@media (min-width: 768px) {
    .stand-for-title {
        font-size: 2rem;
        margin-bottom: 1.25rem;
    }
}

.stand-for-item:hover .stand-for-title {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stand-for-description {
    font-size: 1.0625rem;
    color: #4b5563;
    line-height: 1.75;
    margin: 0 0 1.5rem 0;
}

@media (min-width: 768px) {
    .stand-for-description {
        font-size: 1.125rem;
        margin-bottom: 1.75rem;
    }
}

.stand-for-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.stand-for-tag {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    background: rgba(255, 197, 37, 0.1);
    border: 1px solid rgba(255, 197, 37, 0.2);
    border-radius: 2rem;
    transition: all 0.2s ease-out;
}

@media (min-width: 768px) {
    .stand-for-tag {
        font-size: 0.9375rem;
        padding: 0.625rem 1.25rem;
    }
}

.stand-for-item:hover .stand-for-tag {
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.15), rgba(247, 87, 9, 0.15));
    border-color: rgba(255, 197, 37, 0.4);
    color: #111827;
    transform: translateY(-2px);
}

/* Integrated Service Images */
.integrated-service-images {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 4rem -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .integrated-service-images {
        margin: 4rem -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .integrated-service-images {
        margin: 4rem -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .integrated-service-images {
        margin: 4rem -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .integrated-service-images {
        margin: 4rem -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
}

@media (min-width: 768px) {
    .integrated-service-images {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .integrated-service-images {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
    }
}

.integrated-image-item {
    position: relative;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    aspect-ratio: 4 / 3;
}

.integrated-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Navigation Bar */
.navbar {
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    padding: 1rem 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    height: 80px;
    display: flex;
    align-items: center;
}

.nav-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    height: 100%;
}

.nav-logo {
    font-size: 1.5rem;
    font-weight: bold;
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .nav-logo {
        padding-left: 2rem;
    }
}

@media (min-width: 1280px) {
    .nav-logo {
        padding-left: 2.5rem;
    }
}

.nav-logo-img {
    height: 60px;
    width: auto;
    max-width: 200px;
    opacity: 1;
    visibility: visible;
    display: block;
    animation: none;
    transition: none;
    flex-shrink: 0;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.nav-contact-mobile-item {
    display: none;
}

.nav-contact {
    color: #f75709;
    text-decoration: none;
    font-weight: 500;
    padding: 0.625rem 1.5rem;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-radius: 50px;
    transition: all 0.2s ease-out;
    justify-self: end;
    border: 2px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin-right: 1.5rem;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .nav-contact {
        margin-right: 2rem;
    }
}

@media (min-width: 1280px) {
    .nav-contact {
        margin-right: 2.5rem;
    }
}

.nav-contact:hover {
    background-color: rgba(255, 255, 255, 0.8);
    border-color: rgba(255, 255, 255, 0.6);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transform: scale(1.05);
}

.nav-menu a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease-out;
    position: relative;
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: white;
    transition: width 0.3s ease-out;
}

.nav-menu a:hover {
    color: white;
    font-weight: 500;
}

.nav-menu a:hover::after {
    width: 100%;
}

/* Hamburger Menu */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    position: relative;
}

.hamburger-line {
    width: 100%;
    height: 3px;
    background-color: white;
    border-radius: 3px;
    transition: all 0.2s ease-out;
    transform-origin: center;
}

.hamburger.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.hamburger.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.hamburger.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
}

/* Hero Section - Fixed iOS Safari viewport bug */
.hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    /* Use safe viewport height to prevent iOS Safari crashes */
    min-height: 100svh;
    min-height: -webkit-fill-available;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    left: 0;
    right: 0;
    margin: 0;
    padding: 0;
    contain: layout style paint;
    box-sizing: border-box;
    /* Ensure no horizontal scroll */
    min-width: 0;
}

/* Spline Animation Container - Simplified to prevent Safari crashes */
.hero-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    z-index: 0;
    contain: layout style paint;
    box-sizing: border-box;
}

/* ============================================
   "BUILT WITH SPLINE" BADGE POSITIONS - ALL DEVICES
   ============================================
   
   The Spline badge appears at different positions depending on device size.
   Below are all the overlay positions used to cover the badge:
   
   DESKTOP (default, min-width: 1025px):
   - .hero-inner::after: bottom: 0, right: 0 (200px × 60px)
   - .spline-container::after: bottom: 15px, right: 15px (180px × 50px)
   
   TABLET/MOBILE (max-width: 1024px):
   - .hero-inner::before: top: calc(50% + 150px), left: calc(50% + 100px) (180px × 100px)
   - .hero-inner::after: bottom: 0, right: 0 (200px × 60px)
   
   LARGE DESKTOP (min-width: 1920px):
   - Uses same .spline-container::after as desktop
   
   EXTRA LARGE DESKTOP (min-width: 2560px):
   - Uses same .spline-container::after as desktop
   ============================================ */

/* Hide "Built with Spline" badge on all devices - cover it with white overlay */
.hero-inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 60px;
    background: white;
    z-index: 100;
    pointer-events: none;
    display: block;
}

/* White box positioned exactly where "Built with Spline" badge appears - bottom-right corner on mobile */
@media (max-width: 1024px) {
    .hero-inner::before {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        width: 200px;
        height: 60px;
        background: white;
        z-index: 101;
        pointer-events: none;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

.spline-scene {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border: none;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    /* Prevent iframe from causing overflow */
    object-fit: contain;
    opacity: 1;
    animation: splineFadeOut 3s ease-in-out 3.2s forwards;
    animation-fill-mode: both;
    contain: layout style paint;
    /* Safari optimization - use will-change sparingly */
    will-change: opacity;
}

/* Prevent oversized images and SVGs in hero */
.hero img:not(.hero-logo),
.hero svg {
    max-width: 100% !important;
    max-height: 100% !important;
    height: auto !important;
    width: auto !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
}

/* Prevent overflow on all devices - Use 100% not 100vw to avoid scrollbar width */
@media (max-width: 1024px) {
    .hero {
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
        /* Hero section height - fixed iOS Safari viewport bug */
        min-height: 100svh !important;
        min-height: -webkit-fill-available !important;
        /* Remove contain property on mobile - can cause Safari crashes */
        box-sizing: border-box !important;
        position: relative !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .hero-inner {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        /* Remove contain property on mobile - can cause Safari crashes */
        box-sizing: border-box !important;
        z-index: 0 !important;
        min-width: 0 !important;
    }
    
    .spline-scene {
        display: none !important;
    }
    
    /* Hide "Built with Spline" badge on mobile - cover it with white overlay */
    .hero-inner::after {
        content: '' !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 60px !important;
        height: 200px !important;
        background: white !important;
        z-index: 100 !important;
        pointer-events: none !important;
        display: block !important;
    }
    
    .liquid-container {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }
    
    
    .hero-content {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        /* Remove vh units on mobile - use percentage instead */
        max-height: 80% !important;
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 1rem 0 !important;
        margin: auto !important;
        position: relative !important;
        /* Remove transform on mobile - use flexbox centering from parent instead */
        top: auto !important;
        left: auto !important;
        transform: none !important;
        z-index: 10 !important;
        pointer-events: none !important;
        box-sizing: border-box !important;
    }
    
    .hero-content * {
        pointer-events: auto !important;
    }
    
    .hero-logo {
        display: block !important;
        margin: 0 auto 1rem auto !important;
        text-align: center !important;
        max-width: 70% !important;
        width: 70% !important;
        /* Remove vh units - use percentage instead */
        max-height: 30% !important;
        height: auto !important;
        object-fit: contain !important;
        align-self: center !important;
        /* Remove filter on mobile - can cause Safari crashes */
        filter: none !important;
    }
    
    .hero-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.75rem !important;
        width: 100% !important;
        max-width: 80% !important;
        margin: 0 auto !important;
    }
    
    .hero-btn {
        width: auto !important;
        min-width: 180px !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: 0.9rem 1.75rem !important;
        font-size: 1.05rem !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        animation: none !important;
    }
    
    .hero-logo {
        opacity: 1 !important;
        animation: none !important;
    }
    
}

/* Additional safety for very small screens and all browsers */
@media (max-width: 480px) {
    .hero {
        min-height: 100svh !important;
        min-height: -webkit-fill-available !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .hero-inner {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        z-index: 0 !important;
        min-width: 0 !important;
    }
    
    .spline-scene {
        display: none !important;
    }
    
    /* Ensure "Built with Spline" badge is covered on small screens */
    .hero-inner::after {
        content: '' !important;
        position: absolute !important;
        bottom: 0 !important;
        right: 0 !important;
        width: 200px !important;
        height: 60px !important;
        background: white !important;
        z-index: 100 !important;
        pointer-events: none !important;
        display: block !important;
    }
    
    .liquid-container {
        max-width: 100% !important;
        width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    
    .hero-content {
        max-width: 100% !important;
        width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 1.5rem 0 !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 10 !important;
        margin: 0 auto !important;
    }
    
    .hero-logo {
        margin: 0 auto 0.75rem auto !important;
        max-width: 60% !important;
        width: 60% !important;
        max-height: 25vh !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
        text-align: center !important;
        align-self: center !important;
    }
    
    .hero-buttons {
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 75% !important;
        margin: 0 auto !important;
        gap: 0.5rem !important;
    }
    
    .hero-btn {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0.8rem 1.5rem !important;
        font-size: 1rem !important;
        min-width: 160px !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        animation: none !important;
    }
    
    .hero-logo {
        opacity: 1 !important;
        animation: none !important;
    }
    
}

/* Ensure no overflow on desktop as well */
@media (min-width: 1025px) {
    .hero {
        max-width: 100% !important;
        width: 100% !important;
        overflow: hidden !important;
    }
    
    .hero-inner {
        max-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }
    
    .spline-scene {
        max-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }
    
    .hero-logo {
        max-width: 500px !important;
        width: 500px !important;
        max-height: 500px !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }
}

/* Spline 3D Animation Container */
.spline-container {
    position: absolute;
    top: 55%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    z-index: 0;
    pointer-events: none;
}

.spline-container spline-viewer {
    width: 100%;
    height: 100%;
    display: block;
}

/* Hide Spline animation completely on mobile */
@media (max-width: 1024px) {
    .spline-container {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .spline-container iframe {
        display: none !important;
    }
}

@media (min-width: 1920px) {
    .spline-container {
        width: 150%;
        height: 150%;
        transform: translate(-50%, -50%);
    }
}

@media (min-width: 2560px) {
    .spline-container {
        width: 200%;
        height: 200%;
        transform: translate(-50%, -50%);
    }
}

/* Desktop overlay for "Built with Spline" badge - positioned at bottom-right */
.spline-container::after {
    content: '';
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 180px;
    height: 50px;
    background-color: white;
    z-index: 10;
    pointer-events: none;
}

/* Hero Background - Radial Gradient */
.hero-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    background: radial-gradient(circle at center, rgba(255, 197, 37, 0.12) 0%, rgba(247, 87, 9, 0.18) 40%, transparent 70%);
    z-index: 1;
    opacity: 0;
    animation: simpleFadeIn 3s ease-in-out 3.2s forwards;
    animation-fill-mode: both;
    overflow: hidden;
    contain: layout style paint;
    box-sizing: border-box;
    pointer-events: none;
}

/* Mobile hero background - Radial gradient design */
@media (max-width: 1024px) {
    .hero-background-image {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .hero-logo {
        max-width: 500px !important;
        width: 500px !important;
        max-height: 500px !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #333;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    contain: layout style paint;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

.hero-logo {
    max-width: 500px;
    width: 500px;
    max-height: 500px;
    height: auto;
    opacity: 0;
    animation: smoothFadeIn 5.5s cubic-bezier(0.16, 1, 0.3, 1) 3.6s forwards;
    animation-fill-mode: both;
    /* Simplified filter to prevent Safari crashes - single drop-shadow only */
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
    margin: 0 auto 2rem auto;
    box-sizing: border-box;
    object-fit: contain;
    display: block;
}

.hero-buttons {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-btn {
    padding: 0.85rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    transition: all 0.2s ease-out;
    opacity: 0;
    transform: translateY(20px);
    animation: smoothButtonFadeIn 0.8s ease-out 3.7s forwards;
    display: inline-block;
    position: relative;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    overflow: hidden;
    z-index: 1;
}

.hero-btn-about {
    animation: smoothButtonFadeIn 0.8s ease-out 3.7s forwards;
}

.hero-btn-services {
    animation: smoothButtonFadeIn 0.8s ease-out 3.8s forwards;
}

.hero-btn:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 6px 20px rgba(247, 87, 9, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.05);
    transition-delay: 0s !important;
}

@keyframes buttonFadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes smoothButtonFadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Orange Liquid Stream Animation Container */
.liquid-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    z-index: 1;
    overflow: hidden;
    contain: layout style paint;
    box-sizing: border-box;
}

.liquid-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(circle, #ff6b35 0%, #ff8c42 50%, #ffa726 100%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    box-shadow: 0 0 20px rgba(255, 107, 53, 0.6);
}

.liquid-stream {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 0;
    background: linear-gradient(to bottom, 
        rgba(255, 107, 53, 0.9) 0%, 
        rgba(255, 140, 66, 0.8) 30%, 
        rgba(255, 167, 38, 0.7) 60%, 
        rgba(255, 107, 53, 0.4) 100%);
    border-radius: 4px;
    transform-origin: center bottom;
    opacity: 0;
}

.liquid-stream-1 {
    opacity: 0;
}

.liquid-stream-2 {
    opacity: 0;
}

.liquid-stream-3 {
    opacity: 0;
}

/* Liquid center animation */
@keyframes liquidCenter {
    0% {
        width: 0;
        height: 0;
        opacity: 0;
    }
    20% {
        width: 80px;
        height: 80px;
        opacity: 1;
    }
    80% {
        width: 80px;
        height: 80px;
        opacity: 1;
    }
    100% {
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}

/* Liquid stream animations */
@keyframes liquidStream1 {
    0% {
        height: 0;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(0deg);
    }
    20% {
        height: 200px;
        opacity: 1;
        transform: translate(-50%, -50%) rotate(0deg);
    }
    40% {
        height: 300px;
        transform: translate(-50%, -50%) rotate(15deg);
    }
    60% {
        height: 400px;
        transform: translate(-50%, -50%) rotate(-10deg);
    }
    80% {
        height: 500px;
        transform: translate(-50%, -50%) rotate(5deg);
    }
    100% {
        height: 500px;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(5deg);
    }
}

@keyframes liquidStream2 {
    0% {
        height: 0;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(120deg);
    }
    20% {
        height: 180px;
        opacity: 1;
        transform: translate(-50%, -50%) rotate(120deg);
    }
    40% {
        height: 280px;
        transform: translate(-50%, -50%) rotate(135deg);
    }
    60% {
        height: 380px;
        transform: translate(-50%, -50%) rotate(110deg);
    }
    80% {
        height: 480px;
        transform: translate(-50%, -50%) rotate(125deg);
    }
    100% {
        height: 480px;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(125deg);
    }
}

@keyframes liquidStream3 {
    0% {
        height: 0;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(240deg);
    }
    20% {
        height: 160px;
        opacity: 1;
        transform: translate(-50%, -50%) rotate(240deg);
    }
    40% {
        height: 260px;
        transform: translate(-50%, -50%) rotate(255deg);
    }
    60% {
        height: 360px;
        transform: translate(-50%, -50%) rotate(230deg);
    }
    80% {
        height: 460px;
        transform: translate(-50%, -50%) rotate(245deg);
    }
    100% {
        height: 460px;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(245deg);
    }
}


/* Animations */
@keyframes fadeOut {
    to {
        opacity: 0;
    }
}

@keyframes fadeInLogo {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes simpleFadeIn {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes splineFadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes smoothFadeIn {
    0% {
        opacity: 0;
        transform: translateY(15px) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fadeInText {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .nav-container {
        padding: 0;
        flex-wrap: wrap;
    }
    
    .nav-logo {
        padding-left: 1rem;
    }
    
    .nav-contact {
        margin-right: 1rem;
    }
    
    .about-prelux-container {
        padding: 0 1.5rem;
    }
    
    .hamburger {
        display: flex;
        margin-right: 1rem;
        padding-right: 0;
    }
    
    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        max-width: 320px;
        background: linear-gradient(135deg, rgba(255, 197, 37, 0.98) 0%, rgba(247, 87, 9, 0.98) 100%);
        /* Fallback for browsers that don't support backdrop-filter */
        background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0.5rem;
        box-shadow: -8px 0 30px rgba(0, 0, 0, 0.4), inset -1px 0 0 rgba(255, 255, 255, 0.1);
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 1001;
        height: 100vh;
        overflow-y: auto;
        padding-top: calc(80px + 1.5rem);
        padding-bottom: 2rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    
    /* Fallback for older mobile browsers */
    @supports not (backdrop-filter: blur(20px)) {
        .nav-menu {
            background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
        }
    }
    
    .nav-menu.active {
        transform: translateX(0);
    }
    
    .nav-menu li {
        width: 100%;
        text-align: left;
        margin-bottom: 0.25rem;
    }
    
    .nav-menu a {
        display: block;
        padding: 1rem 1.25rem;
        font-size: 1.0625rem;
        color: white;
        text-decoration: none;
        font-weight: 500;
        border-radius: 12px;
        transition: all 0.3s ease;
        position: relative;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.2);
    }
    
    @supports not (backdrop-filter: blur(10px)) {
        .nav-menu a {
            background: rgba(255, 255, 255, 0.15);
        }
    }
    
    .nav-menu a:hover {
        background: rgba(255, 255, 255, 0.25);
        transform: translateX(8px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .nav-menu a:active {
        transform: translateX(4px);
    }
    
    .nav-contact {
        display: none;
    }
    
    .nav-contact-mobile-item {
        display: block;
        margin-top: 1rem;
        padding-top: 1.5rem;
        border-top: 2px solid rgba(255, 255, 255, 0.3);
        width: 100%;
    }
    
    .nav-contact-mobile {
        color: #f75709 !important;
        text-decoration: none !important;
        font-weight: 700;
        font-size: 1.125rem;
        padding: 1.125rem 2rem;
        /* Fallback for browsers without backdrop-filter support */
        background: rgba(255, 255, 255, 0.9) !important;
        background: rgba(255, 255, 255, 0.4) !important;
        backdrop-filter: blur(20px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
        border-radius: 50px !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: block;
        width: 100%;
        margin: 0;
        text-align: center;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 -1px 0 rgba(255, 255, 255, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.5) !important;
        border: 1px solid rgba(255, 255, 255, 0.6) !important;
        position: relative;
        overflow: hidden;
    }
    
    @supports not (backdrop-filter: blur(20px)) {
        .nav-contact-mobile {
            background: rgba(255, 255, 255, 0.95) !important;
        }
    }
    
    .nav-contact-mobile::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
        transition: left 0.5s ease;
    }
    
    .nav-contact-mobile:hover {
        background: rgba(255, 255, 255, 0.55) !important;
        backdrop-filter: blur(25px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(25px) saturate(180%) !important;
        box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 -1px 0 rgba(255, 255, 255, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.7) !important;
        transform: translateY(-2px) scale(1.02);
        color: #e64a0a !important;
        border-color: rgba(255, 255, 255, 0.8) !important;
    }
    
    .nav-contact-mobile:hover::before {
        left: 100%;
    }
    
    .nav-contact-mobile:active {
        transform: translateY(0) scale(1);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-logo {
        max-width: 200px;
    }
    
}

@media (max-width: 480px) {
    .nav-container {
        padding: 0;
        flex-wrap: wrap;
    }
    
    .nav-logo {
        padding-left: 0.75rem;
    }
    
    .nav-contact {
        margin-right: 0.75rem;
    }
    
    .hamburger {
        margin-right: 0.75rem;
    }
    
    .about-prelux-container {
        padding: 0 1rem;
    }
    
    .nav-menu {
        padding-top: calc(90px + 1rem);
        padding-bottom: 1.5rem;
        gap: 0.375rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .nav-menu a {
        font-size: 1rem;
        padding: 0.875rem 1rem;
    }
    
    .nav-contact {
        font-size: 0.75rem;
        padding: 0.45rem 0.9rem;
        margin-top: 0.5rem;
    }
    
    .nav-contact-mobile {
        font-size: 1rem;
        padding: 1rem 1.5rem;
        width: 100%;
        border-radius: 50px !important;
        background: rgba(255, 255, 255, 0.4) !important;
        backdrop-filter: blur(20px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    }
    
    .nav-contact-mobile-item {
        margin-top: 0.75rem;
        padding-top: 1.25rem;
    }
    
    .hero-title {
        font-size: 1.5rem;
    }
    
    .hero-logo {
        max-width: 220px;
    }
    
}

/* About Prelux Section */
.about-prelux-section {
    padding: 8rem 0;
    background: linear-gradient(to bottom right, #fffef9 0%, #fffbf0 50%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.about-prelux-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.15) 50%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 20s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(50px, 30px) scale(1.2); }
}

.about-prelux-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
    position: relative;
    z-index: 1;
}

@media (min-width: 1024px) {
    .about-prelux-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .about-prelux-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-prelux-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-prelux-container {
        padding: 0 12rem;
    }
}

/* About Prelux Button */
.about-prelux-btn {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 500;
    font-size: 1rem;
    margin-bottom: 1rem;
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    overflow: hidden;
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out, border-color 0.2s ease-out;
    z-index: 1;
}


.about-prelux-btn:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.05);
}

/* About Prelux Headline */
.about-prelux-headline {
    font-size: 3rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    padding-bottom: 0.5rem;
}

@media (min-width: 768px) {
    .about-prelux-headline {
        font-size: 3.75rem;
    }
}

.gradient-underline {
    position: relative;
    display: inline-block;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
}

.gradient-underline::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 12px;
    background: linear-gradient(to right, rgba(255, 197, 37, 0.4), rgba(247, 87, 9, 0.4));
    border-radius: 2px;
    transform: rotate(-1deg);
    transform-origin: left center;
}

/* Animate underline when section comes into view */
.about-prelux-section.underline-animate .gradient-underline::after,
.services-section.underline-animate .gradient-underline::after,
.testimonials-section.underline-animate .testimonials-gradient::after,
.commercial-work-section.underline-animate .gradient-underline::after,
.colour-palette-section.underline-animate .gradient-underline::after,
.about-page-section.underline-animate .gradient-underline::after,
.contact-page-section.underline-animate .gradient-underline::after,
.about-story-section.underline-animate .about-page-gradient::after {
    animation: drawUnderline 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes drawUnderline {
    from {
        width: 0;
        opacity: 0;
    }
    to {
        width: 100%;
        opacity: 1;
    }
}

@keyframes pulseUnderline {
    0%, 100% {
        transform: rotate(-1deg) scaleY(1);
        box-shadow: 0 2px 4px rgba(247, 87, 9, 0.2);
    }
    50% {
        transform: rotate(-1deg) scaleY(1.15);
        box-shadow: 0 3px 8px rgba(247, 87, 9, 0.3);
    }
}

/* About Prelux Description */
.about-prelux-description {
    font-size: 1.1rem;
    color: #666;
    line-height: 1.8;
    max-width: 800px;
    margin: 0 auto 4rem;
}

/* Premium Equipment Card */
.premium-equipment-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 5rem;
    border-radius: 3rem;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    background: transparent;
    padding: 0;
}

.premium-equipment-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 3rem;
    background-image: url('../images/pre-sale-painting-equipment.jpg');
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.premium-equipment-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 3rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 40%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

/* Additional black overlay for sell-ready page transformation cards */
.about-page-section .premium-equipment-card::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.2) 100%);
}

.premium-equipment-label {
    position: absolute;
    top: 2rem;
    left: 2rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 500;
    z-index: 2;
}

@media (min-width: 768px) {
    .premium-equipment-label {
        top: 3rem;
        left: 3rem;
    }
}

.premium-equipment-content {
    padding: 0 0 2rem 2rem;
    width: 100%;
    color: white;
    z-index: 2;
    position: relative;
    text-align: left;
}

@media (min-width: 768px) {
    .premium-equipment-content {
        padding: 0 0 3rem 3rem;
    }
}

.premium-equipment-headline {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 0.75rem;
    color: white;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .premium-equipment-headline {
        font-size: 2.25rem;
    }
}

.premium-equipment-text {
    font-size: 1.125rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.9);
    max-width: 42rem;
}

/* Feature Cards */
.feature-cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 5rem;
    margin-bottom: 5rem;
    padding: 0;
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1024px) {
    .feature-cards-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .feature-cards-container {
        grid-template-columns: 1fr;
    }
}

.feature-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-radius: 1.5rem;
    padding: 2rem;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s ease, y 0.5s ease;
    overflow: hidden;
    border: 1px solid rgba(255, 197, 37, 0.1);
}

.feature-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #ffc525, #f75709);
}

.feature-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.feature-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(247, 87, 9, 0.2);
    position: relative;
    overflow: hidden;
}

.feature-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);
    transform: translateX(-200%);
    opacity: 0;
}

.feature-card:hover .feature-icon::before {
    opacity: 1;
    animation: iconShine 1.5s ease-in-out;
}

.feature-card:not(:hover) .feature-icon::before {
    animation: none;
    transform: translateX(-200%);
}

@keyframes iconShine {
    0% {
        transform: translateX(-200%);
    }
    100% {
        transform: translateX(200%);
    }
}

.feature-icon svg {
    width: 40px;
    height: 40px;
    position: relative;
    z-index: 1;
}

.feature-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.3;
    transition: color 0.2s ease-out;
}

.feature-card:hover .feature-title {
    color: #f75709;
}

.feature-description {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Statistics Banner */
.statistics-banner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    width: 100%;
    max-width: 100%;
    margin: 5rem auto 0;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border-radius: 3rem;
    padding: 3rem 1.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(247, 87, 9, 0.2);
}

@media (min-width: 1024px) {
    .statistics-banner {
        margin: 5rem 0 0;
        padding: 3rem 5rem;
    }
}

@media (min-width: 1280px) {
    .statistics-banner {
        margin: 5rem 0 0;
        padding: 3rem 8rem;
    }
}

@media (min-width: 1440px) {
    .statistics-banner {
        margin: 5rem 0 0;
        padding: 3rem 10rem;
    }
}

@media (min-width: 1920px) {
    .statistics-banner {
        margin: 5rem 0 0;
        padding: 3rem 12rem;
    }
}

.statistics-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.15'%3E%3Cpath d='M20 18h-2v-2h-2v-2h2v-2h2v2h2v2h-2v2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-size: 40px 40px;
    opacity: 0.5;
    pointer-events: none;
}

.stat-item {
    text-align: center;
    color: white;
    position: relative;
    z-index: 1;
    padding: 0 1rem;
    cursor: pointer;
    transition: transform 0.2s ease-out;
}

.stat-item:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-number {
    font-size: 3.75rem;
    font-weight: bold;
    margin-bottom: 0.75rem;
    line-height: 1;
    transition: transform 0.2s ease-out;
    display: inline-block;
}

.stat-item:hover .stat-number {
    transform: scale(1.1);
}

@media (min-width: 768px) {
    .stat-number {
        font-size: 4.5rem;
    }
}

.stat-label {
    font-size: 1rem;
    font-weight: 500;
    opacity: 0.95;
    letter-spacing: 0.5px;
}

/* Responsive Design for About Prelux Section */
@media (max-width: 1024px) {
    .feature-cards-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .statistics-banner {
        padding: 2.5rem 1.5rem;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .about-prelux-headline {
        font-size: 2rem;
    }
    
    .premium-equipment-headline {
        font-size: 1.8rem;
    }
    
    .premium-equipment-card {
        min-height: 400px;
        padding: 15px;
    }
    
    .premium-equipment-card::after,
    .premium-equipment-card::before {
        top: 15px;
        left: 15px;
        right: 15px;
        bottom: 15px;
    }
    
    .premium-equipment-label {
        top: 15px;
        left: 15px;
        font-size: 0.8rem;
        padding: 0.4rem 1rem;
    }
    
    .premium-equipment-content {
        padding: 0 0 2rem 2rem;
    }
    
    .premium-equipment-text {
        font-size: 1rem;
    }
    
    .feature-cards-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 3rem;
    }
    
    .feature-card {
        padding: 1.5rem 1rem;
    }
    
    .statistics-banner {
        grid-template-columns: 1fr;
        padding: 2rem 1.5rem;
        gap: 1.5rem;
    }
    
    .stat-item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding-bottom: 1.5rem;
    }
    
    .stat-item:last-child {
        padding-bottom: 0;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
}

/* Services Section */
.services-section {
    padding: 8rem 0;
    position: relative;
    overflow: hidden;
    background: white;
}

.services-section::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -2;
    pointer-events: none;
}

@media (max-width: 768px) {
    .services-section::after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
    }
}

.services-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.15) 50%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 20s ease-in-out infinite;
    z-index: 0;
}

.services-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .services-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .services-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .services-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .services-container {
        padding: 0 12rem;
    }
}

.services-header {
    text-align: center;
    margin-bottom: 5rem;
}

.services-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
}

.services-badge:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
    transition-delay: 0s !important;
}

.services-badge span {
    color: white;
    font-weight: 500;
}

.services-title {
    font-size: 3rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .services-title {
        font-size: 3.75rem;
    }
}

.services-gradient {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    display: inline-block;
}

.services-gradient-underline::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #ffc525, #f75709);
    border-radius: 2px;
    animation: underlineDraw 1s ease-out 0.6s both;
}

@keyframes underlineDraw {
    from {
        transform: scaleX(0);
        transform-origin: left;
    }
    to {
        transform: scaleX(1);
        transform-origin: left;
    }
}

.services-description {
    font-size: 1.25rem;
    color: #4b5563;
    line-height: 1.75;
    max-width: 48rem;
    margin: 0 auto;
}

/* Animated Geometric Background */
.services-geometric-bg {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    pointer-events: none;
    overflow: hidden;
}

.geometric-shape {
    position: absolute;
}

.geometric-circle-1 {
    top: 5rem;
    left: 2.5rem;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: radial-gradient(circle, #ffc525 0%, transparent 70%);
    animation: geometricPulse 8s ease-in-out infinite;
}

.geometric-conic {
    top: 10rem;
    right: 5rem;
    width: 24rem;
    height: 24rem;
    background: conic-gradient(from 45deg, #f75709, #ffc525, #f75709);
    animation: geometricRotate 30s linear infinite;
}

.geometric-circle-2 {
    bottom: 5rem;
    left: 33.333%;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background: radial-gradient(circle, #f75709 0%, transparent 70%);
    animation: geometricFloat 10s ease-in-out infinite;
}

@keyframes geometricPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.3;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.6;
    }
}

@keyframes geometricRotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes geometricFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-50px) scale(1.3);
    }
}

/* Why Choose Us Section */
.why-choose-us-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-top: 5rem;
    align-items: center;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .why-choose-us-section {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
}

/* Image Side */
.why-choose-image-container {
    position: relative;
}

.why-choose-image-wrapper {
    position: relative;
    border-radius: 2.5rem;
    overflow: visible;
}

.why-choose-image-gradient-border {
    position: absolute;
    inset: -4px;
    border-radius: 2.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    opacity: 0.75;
    filter: blur(16px);
    z-index: 0;
}

.why-choose-image-inner {
    position: relative;
    height: 500px;
    border-radius: 2.5rem;
    overflow: hidden;
    z-index: 1;
}

@media (min-width: 1024px) {
    .why-choose-image-inner {
        height: 600px;
    }
}

.why-choose-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.why-choose-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, transparent, transparent, rgba(0, 0, 0, 0.4));
    pointer-events: none;
}

.why-choose-badge {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.95) 0%, rgba(247, 87, 9, 0.95) 100%);
    color: white;
    font-weight: 500;
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    z-index: 2;
    transform: scale(1);
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
    pointer-events: auto;
}

.why-choose-image-wrapper:hover .why-choose-badge {
    transform: scale(1.05);
    box-shadow: 0 12px 45px rgba(0, 0, 0, 0.25);
}

.why-choose-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 12px 45px rgba(0, 0, 0, 0.25);
}

/* Content Side */
.why-choose-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.why-choose-badge-small {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    font-size: 0.875rem;
    font-weight: 500;
    width: fit-content;
}

.why-choose-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #111827;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .why-choose-title {
        font-size: 3rem;
    }
}

.why-choose-gradient {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.why-choose-description {
    font-size: 1.25rem;
    color: #4b5563;
    line-height: 1.75;
    margin: 0;
}

.why-choose-benefits {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
}

.benefit-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-radius: 1rem;
    background: linear-gradient(to right, rgba(255, 197, 37, 0.1), rgba(255, 183, 77, 0.1));
    border: 1px solid rgba(255, 197, 37, 0.2);
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.benefit-item:hover {
    transform: translateX(10px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.benefit-label {
    color: #374151;
    font-weight: 500;
}

.benefit-value {
    padding: 0.25rem 1rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Featured Service Section */
.featured-service-section {
    margin: 5rem 0;
    width: 100%;
    max-width: 100%;
}

.featured-service-card {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background-image: url('../images/increase-home-value-pre-sale-painting.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 2rem;
    padding: 3rem 1.5rem;
    border: 2px solid rgba(255, 197, 37, 0.2);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.featured-service-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5) !important;
    border-radius: 2rem;
    z-index: 1 !important;
    pointer-events: none;
}

.featured-service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 2rem 2rem 0 0;
    z-index: 2 !important;
}

.featured-service-content {
    position: relative;
    z-index: 3 !important;
    color: white !important;
}

.featured-service-title {
    color: white !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.featured-service-title .gradient-underline {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
    position: relative;
    display: inline-block;
}

.featured-service-title .gradient-underline::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(to right, rgba(255, 197, 37, 0.5), rgba(247, 87, 9, 0.5));
    border-radius: 2px;
    transform: rotate(-1deg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.featured-service-description {
    color: white !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    opacity: 1;
}

.featured-service-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    margin-bottom: 1.5rem;
}

.featured-service-badge span {
    color: white;
    font-weight: 500;
    font-size: 0.875rem;
}

.featured-service-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: white !important;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.featured-service-description {
    font-size: 1.125rem;
    color: white !important;
    line-height: 1.8;
    margin-bottom: 2.5rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.featured-service-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 0 auto 2.5rem;
    padding: 0;
    width: 100%;
    max-width: 100%;
    justify-items: center;
}

.featured-stat-item {
    text-align: center;
    padding: 2rem 1.25rem;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 1.5rem;
    border: 2px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transition: all 0.2s ease-out;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 150px;
}

.featured-stat-item-highlight {
    border: 3px solid rgba(255, 197, 37, 0.3);
    box-shadow: 0 8px 25px rgba(247, 87, 9, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 0 20px rgba(255, 197, 37, 0.15);
}

.featured-stat-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 1.5rem 1.5rem 0 0;
}

.featured-stat-item-highlight::before {
    height: 8px;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.4);
}

.featured-stat-item:hover {
    transform: translateY(-10px) scale(1.05);
    box-shadow: 0 20px 50px rgba(247, 87, 9, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 0 30px rgba(255, 197, 37, 0.3);
    border-color: rgba(255, 197, 37, 0.6);
    background: rgba(255, 255, 255, 1);
}

.featured-stat-icon {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
    transition: transform 0.2s ease-out;
}

.featured-stat-item:hover .featured-stat-icon {
    transform: scale(1.2) rotate(5deg);
}

.featured-stat-value {
    font-size: 3.5rem;
    font-weight: 900;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
    line-height: 1;
    position: relative;
    display: inline-block;
    text-shadow: 0 2px 10px rgba(247, 87, 9, 0.2);
    white-space: nowrap;
    flex-shrink: 0;
}

.featured-stat-value::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 4px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 2px;
    box-shadow: 0 2px 6px rgba(247, 87, 9, 0.3);
}

.featured-stat-label {
    font-size: 0.95rem;
    color: #111827;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: auto;
    margin-bottom: 0;
}

.featured-stat-note {
    font-size: 0.8rem;
    color: #4b5563;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 0.5rem;
    font-style: italic;
}

.featured-service-cta {
    display: block;
    margin: 0 auto;
    padding: 1rem 2.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 500;
    font-size: 1.125rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    text-align: center;
    width: fit-content;
}

.featured-service-cta:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 6px 20px rgba(247, 87, 9, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.05);
}

@media (max-width: 1200px) {
    .featured-service-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin: 0 auto 2.5rem;
        padding: 0;
        width: 100%;
        max-width: 100%;
        justify-items: center;
    }
}

@media (min-width: 1024px) {
    .featured-service-card {
        padding: 3rem 5rem;
    }
}

@media (min-width: 1280px) {
    .featured-service-card {
        padding: 3rem 8rem;
    }
}

@media (min-width: 1440px) {
    .featured-service-card {
        padding: 3rem 10rem;
    }
}

@media (min-width: 1920px) {
    .featured-service-card {
        padding: 3rem 12rem;
    }
}

@media (max-width: 968px) {
    .featured-service-card {
        padding: 2rem;
    }
    
    .featured-service-title {
        font-size: 2rem;
    }
    
    .featured-service-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin: 0 auto 2.5rem;
        padding: 0;
        width: 100%;
        max-width: 100%;
        justify-items: center;
    }
    
    .featured-stat-value {
        font-size: 3rem;
    }
    
    .featured-stat-icon {
        font-size: 2rem;
    }
}

@media (max-width: 640px) {
    .featured-service-card {
        padding: 1.5rem;
    }
    
    .featured-service-title {
        font-size: 1.75rem;
    }
    
    .featured-service-description {
        font-size: 1rem;
    }
    
    .featured-service-stats {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        margin: 0 auto 2.5rem;
        padding: 0;
        width: 100%;
        max-width: 100%;
        justify-items: center;
    }
    
    .featured-stat-value {
        font-size: 2.5rem;
    }
    
    .featured-stat-icon {
        font-size: 2rem;
    }
    
    .featured-stat-item {
        padding: 1.75rem 1rem;
    }
}

/* Sell-Ready Section (Services Page) */
.sell-ready-section {
    margin: 5rem -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

.sell-ready-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 4rem 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.05) 0%, rgba(247, 87, 9, 0.05) 100%);
    border-radius: 2rem;
    border: 2px solid rgba(255, 197, 37, 0.2);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
}

.sell-ready-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 2rem 2rem 0 0;
}

@media (min-width: 1024px) {
    .sell-ready-section {
        margin: 5rem -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
    
    .sell-ready-container {
        grid-template-columns: 1fr 1.5fr;
        gap: 3rem;
        padding: 4rem 3rem;
    }
    
    /* Condensed version for services page */
    .sell-ready-container-condensed {
        grid-template-columns: 1fr 1fr;
        padding: 3rem 2.5rem;
    }
}

@media (min-width: 1280px) {
    .sell-ready-section {
        margin: 5rem -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
    
    .sell-ready-container {
        padding: 4rem 3rem;
    }
}

@media (min-width: 1440px) {
    .sell-ready-section {
        margin: 5rem -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
    
    .sell-ready-container {
        padding: 4rem 3rem;
    }
}

@media (min-width: 1920px) {
    .sell-ready-section {
        margin: 5rem -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
    
    .sell-ready-container {
        padding: 4rem 3rem;
    }
}

.sell-ready-content {
    position: relative;
    z-index: 1;
}

.sell-ready-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    margin-bottom: 1.5rem;
}

.sell-ready-badge span {
    color: white;
    font-weight: 500;
    font-size: 0.875rem;
}

.sell-ready-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .sell-ready-title {
        font-size: 3rem;
    }
}

.sell-ready-description {
    font-size: 1.125rem;
    color: #111827;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.sell-ready-cta {
    display: inline-block;
    padding: 1rem 2.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 500;
    font-size: 1.125rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    text-align: center;
    margin-top: 2rem;
}

.sell-ready-cta:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 6px 20px rgba(247, 87, 9, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.05);
}

.sell-ready-image-wrapper {
    position: relative;
    z-index: 1;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    border: 2px solid rgba(255, 197, 37, 0.2);
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

.sell-ready-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease-out;
}

.sell-ready-image-wrapper:hover .sell-ready-image {
    transform: scale(1.05);
}

.sell-ready-stats-sidebar {
    position: relative;
    z-index: 1;
    background: white;
    border-radius: 1.5rem;
    padding: 2.5rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(255, 197, 37, 0.2);
}

.sell-ready-stats-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 2rem;
    text-align: center;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.sell-ready-stats-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sell-ready-stat-row {
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.08) 100%);
    border-radius: 1rem;
    border: 1px solid rgba(255, 197, 37, 0.2);
    transition: all 0.2s ease-out;
    position: relative;
}

.sell-ready-stat-row::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border-radius: 1rem 0 0 1rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sell-ready-stat-row:hover {
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(247, 87, 9, 0.2);
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.12) 0%, rgba(247, 87, 9, 0.12) 100%);
}

.sell-ready-stat-row:hover::before {
    opacity: 1;
}

.sell-ready-stat-content {
    flex: 1;
}

.sell-ready-stat-value {
    font-size: 2rem;
    font-weight: 900;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.25rem;
    line-height: 1;
}

.sell-ready-stat-label {
    font-size: 0.95rem;
    color: #111827;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem;
}

.sell-ready-stat-note {
    font-size: 0.85rem;
    color: #4b5563;
    font-weight: 500;
    line-height: 1.4;
    font-style: italic;
}

@media (max-width: 1023px) {
    .sell-ready-container {
        padding: 3rem 2rem;
        grid-template-columns: 1fr;
    }
    
    .sell-ready-image-wrapper {
        order: 2;
        min-height: 300px;
        margin: 2rem 0;
    }
    
    .sell-ready-stats-sidebar {
        order: 3;
        margin-top: 0;
    }
}

@media (max-width: 640px) {
    .sell-ready-container {
        padding: 2rem 1.5rem;
        border-radius: 1.5rem;
    }
    
    .sell-ready-title {
        font-size: 2rem;
    }
    
    .sell-ready-description {
        font-size: 1rem;
    }
    
    .sell-ready-image-wrapper {
        min-height: 250px;
    }
    
    .sell-ready-stats-sidebar {
        padding: 2rem 1.5rem;
    }
    
    .sell-ready-stat-row {
        padding: 1.25rem;
    }
    
    .sell-ready-stat-value {
        font-size: 1.75rem;
    }
}

/* Services Cards Carousel */
.services-cards-wrapper {
    margin-top: 5rem;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 2rem 0;
}

.services-cards-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 200px;
    background: linear-gradient(to left, transparent, white);
    pointer-events: none;
    z-index: 10;
}

.services-cards-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 200px;
    background: linear-gradient(to right, transparent, white);
    pointer-events: none;
    z-index: 10;
}

.services-cards-carousel {
    display: flex;
    align-items: stretch;
    gap: 2rem;
    animation: scrollCarousel 60s linear infinite;
    width: fit-content;
}

@keyframes scrollCarousel {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-380px * 6 - 2rem * 5));
    }
}

.service-card {
    position: relative;
    min-width: 380px;
    max-width: 380px;
    min-height: 500px;
    background: linear-gradient(to bottom right, rgba(255, 197, 37, 0.05), rgba(255, 255, 255, 0.95));
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(229, 231, 235, 0.5);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: auto;
}

.service-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.service-card-gradient-border {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    border-radius: 1.5rem 1.5rem 0 0;
}

.service-card-icon {
    width: 5rem;
    height: 5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease-out;
}

.service-card:hover .service-card-icon {
    transform: scale(1.1) rotate(5deg);
}

.service-card-icon svg {
    width: 2.5rem;
    height: 2.5rem;
    color: white;
    position: relative;
    z-index: 1;
}

.service-card-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    transition: all 0.2s ease-out;
}

.service-card:hover .service-card-title {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.service-card-description {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.75;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

.service-card-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.service-card-features li {
    display: flex;
    align-items: center;
    color: #374151;
    font-size: 0.9375rem;
    transition: color 0.2s ease-out;
}

.service-card:hover .service-card-features li {
    color: #111827;
}

.service-card-features li::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    margin-right: 0.75rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: transform 0.2s ease-out;
}

.service-card:hover .service-card-features li::before {
    transform: scale(1.2) rotate(360deg);
}

.service-card-features li::after {
    content: '';
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}


/* Responsive adjustments for carousel */
@media (max-width: 768px) {
    .service-card {
        min-width: 320px;
        max-width: 320px;
        min-height: 500px;
    }
    
    .services-cards-carousel {
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    .service-card {
        min-width: 280px;
        max-width: 280px;
        min-height: 480px;
        padding: 1.5rem;
    }
}

/* Commercial Work Section */
.commercial-work-section {
    padding: 8rem 0;
    background: white;
    position: relative;
    overflow: hidden;
}

.commercial-work-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.15) 50%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 20s ease-in-out infinite;
    z-index: 0;
}

.commercial-work-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 1;
}

@media (min-width: 1024px) {
    .commercial-work-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .commercial-work-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .commercial-work-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .commercial-work-container {
        padding: 0 12rem;
    }
}

.commercial-work-header {
    text-align: center;
    margin-bottom: 4rem;
}

.commercial-work-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
}

.commercial-work-badge:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
    transition-delay: 0s !important;
}

.commercial-work-badge span {
    color: white;
    font-weight: 500;
}

.commercial-work-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .commercial-work-title {
        font-size: 3rem;
    }
}

.commercial-work-description {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.75;
    max-width: 700px;
    margin: 0 auto;
}

.commercial-clients-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-bottom: 3rem;
    align-items: center;
}

@media (min-width: 768px) {
    .commercial-clients-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 4rem;
    }
}

.commercial-client-logo-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    padding: 2rem;
}

.commercial-client-logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 1;
}

.commercial-work-types {
    text-align: center;
    margin-top: 3rem;
}

.commercial-work-types-intro {
    font-size: 1.125rem;
    color: #4b5563;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.commercial-work-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    max-width: 800px;
    margin: 0 auto;
}

.commercial-project-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 1.75rem;
    border-radius: 50px;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.1) 0%, rgba(247, 87, 9, 0.1) 100%);
    border: 1.5px solid rgba(255, 197, 37, 0.3);
    color: #111827;
    font-size: 1rem;
    font-weight: 600;
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.commercial-project-badge:hover {
    transform: translateY(-2px);
    transition-delay: 0s !important;
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.15);
    border-color: rgba(255, 197, 37, 0.5);
}

@media (max-width: 768px) {
    .commercial-work-badges {
        gap: 0.75rem;
    }
    
    .commercial-project-badge {
        padding: 0.625rem 1.5rem;
        font-size: 0.9375rem;
    }
}

.commercial-work-section.underline-animate .gradient-underline::after {
    animation: drawUnderline 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 2025 Famous Colours Palette Section */
.colour-palette-section {
    padding: 8rem 0;
    background: url('../images/sell-ready-home-value-background.jpg') center center / cover no-repeat;
    position: relative;
}

.colour-palette-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 0;
}

.colour-palette-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 1;
}

@media (min-width: 1024px) {
    .colour-palette-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .colour-palette-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .colour-palette-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .colour-palette-container {
        padding: 0 12rem;
    }
}

.colour-palette-header {
    text-align: center;
    margin-bottom: 4rem;
}

.colour-palette-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    margin-bottom: 1.5rem;
}

.colour-palette-badge span {
    color: white;
    font-weight: 500;
    font-size: 0.875rem;
}

.colour-palette-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .colour-palette-title {
        font-size: 3rem;
    }
}

.colour-palette-description {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.75;
    max-width: 700px;
    margin: 0 auto;
}

.colour-palette-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .colour-palette-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }
}

@media (min-width: 1024px) {
    .colour-palette-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}

.colour-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

.colour-card {
    background: white;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(229, 231, 235, 0.5);
    transition: all 0.2s ease-out;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    height: 100%;
}

.colour-card-link:hover .colour-card {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.colour-swatch {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
}

.colour-swatch-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.05) 100%);
    pointer-events: none;
}

.colour-info {
    padding: 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.colour-brand {
    font-size: 0.875rem;
    font-weight: 600;
    color: #f75709;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.colour-name {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.colour-description {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.6;
    flex: 1;
    margin-bottom: 1rem;
}

.colour-link-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: #f75709;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease-out;
}

.colour-card-link:hover .colour-link-text {
    color: #ffc525;
    transform: translateX(4px);
}

.testimonials-section {
    padding: 8rem 0;
    background: url('../images/sell-ready-home-value-background.jpg') center center / cover no-repeat;
    position: relative;
}

.testimonials-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 0;
}

.testimonials-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 1;
}

@media (min-width: 1024px) {
    .testimonials-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .testimonials-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .testimonials-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .testimonials-container {
        padding: 0 12rem;
    }
}

.testimonials-header {
    text-align: center;
    margin-bottom: 5rem;
}

.testimonials-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease-out;
}

.testimonials-badge:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
}

.testimonials-badge span {
    color: white;
    font-weight: 500;
}

.testimonials-title {
    font-size: 3rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .testimonials-title {
        font-size: 3.75rem;
    }
}

.testimonials-gradient {
    position: relative;
    display: inline-block;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
}

.testimonials-gradient::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 12px;
    background: linear-gradient(to right, rgba(255, 197, 37, 0.4), rgba(247, 87, 9, 0.4));
    border-radius: 2px;
    transform: rotate(-1deg);
    transform-origin: left center;
}

.testimonials-description {
    font-size: 1.25rem;
    color: #4b5563;
    line-height: 1.75;
    max-width: 48rem;
    margin: 0 auto;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.testimonial-card {
    background: white;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(229, 231, 235, 0.5);
    transition: all 0.2s ease-out;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.testimonial-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.testimonial-rating {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
}

.testimonial-rating svg {
    width: 1.25rem;
    height: 1.25rem;
}

.testimonial-text {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.75;
    margin-bottom: 1.5rem;
    flex-grow: 1;
    font-style: italic;
}

.testimonial-author {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(229, 231, 235, 0.5);
}

.testimonial-author-info {
    display: flex;
    flex-direction: column;
}

.testimonial-author-name {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.25rem;
}

.testimonial-author-location {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

/* Contact Section */
.contact-section {
    padding: 6rem 0;
    background: linear-gradient(to bottom, #f9fafb 0%, #ffffff 100%);
}

.contact-page-section {
    padding: 8rem 0;
    position: relative;
    overflow: hidden;
    background: white;
}

.contact-page-section::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -2;
    pointer-events: none;
}

@media (max-width: 768px) {
    .contact-page-section::after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
    }
}

.contact-page-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 197, 37, 0.08) 0%, rgba(247, 87, 9, 0.15) 50%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 20s ease-in-out infinite;
    z-index: 0;
}

.contact-page-section .contact-container {
    position: relative;
    z-index: 1;
}

.contact-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.contact-header {
    text-align: center;
    margin-bottom: 4rem;
}

.contact-title {
    font-size: 3rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .contact-title {
        font-size: 3.75rem;
    }
}

.contact-title span {
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


.contact-subtitle {
    font-size: 1.125rem;
    color: #4b5563;
    max-width: 48rem;
    margin: 0 auto;
    line-height: 1.75;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 6rem;
}

.contact-grid-single {
    grid-template-columns: 1fr;
    max-width: 600px;
    margin: 0 auto;
}

.contact-form-full {
    width: 100%;
}

.contact-form-container {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

.contact-form-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #111827;
    margin-bottom: 1.5rem;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    color: #374151;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    font-family: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #ff7528;
    box-shadow: 0 0 0 3px rgba(255, 117, 40, 0.1);
}

.form-message {
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-message-success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(22, 163, 74, 0.1) 100%);
    border: 2px solid rgba(34, 197, 94, 0.3);
    color: #16a34a;
}

.form-message-error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.1) 100%);
    border: 2px solid rgba(239, 68, 68, 0.3);
    color: #dc2626;
}

.contact-submit-btn {
    width: auto;
    padding: 1rem 2.5rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease-out;
    box-shadow: 0 4px 12px rgba(247, 87, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    display: inline-block;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.contact-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.contact-submit-btn:hover {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 20px rgba(247, 87, 9, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.05);
}

.contact-info-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.contact-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.contact-info-card {
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    transition: box-shadow 0.3s ease;
}

.contact-info-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.contact-info-icon {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(135deg, #ff7528 0%, #ff9254 100%);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-info-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.contact-info-card h4 {
    color: #111827;
    margin-bottom: 0.25rem;
    font-size: 1rem;
    font-weight: 600;
}

.contact-info-card a,
.contact-info-card p {
    color: #4b5563;
    text-decoration: none;
    transition: color 0.2s ease;
    margin: 0;
}

.contact-info-card a:hover {
    color: #ff7528;
}

.contact-why-card {
    background: linear-gradient(135deg, #ffd966 0%, #ff8c42 30%, #ff8c42 100%);
    border-radius: 1rem;
    padding: 2rem;
    color: white;
}

.contact-why-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.contact-why-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.contact-why-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding-left: 0;
    position: relative;
}

.contact-why-list li::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 0.125rem;
    position: relative;
}

.contact-why-list li::after {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    background: white;
    border-radius: 50%;
    position: absolute;
    left: 0.5rem;
    top: 0.625rem;
}

/* Footer */
.site-footer {
    background: linear-gradient(90deg, #ffc525 0%, #f75709 100%);
    padding: 2rem 0;
    width: 100%;
    left: 0;
    right: 0;
    margin: 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.footer-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .footer-container {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .footer-container {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .footer-container {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .footer-container {
        padding: 0 12rem;
    }
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .footer-content {
        flex-direction: row;
    }
}

.footer-logo-section {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.footer-logo {
    height: 60px;
    width: auto;
    max-width: 200px;
}

.footer-text {
    color: white;
}

.footer-text-small {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.9);
}

.footer-contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .footer-contact-info {
        align-items: flex-end;
    }
}

.footer-social {
    display: flex;
    gap: 1rem;
}

.footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: white;
    transition: all 0.2s ease-out;
    border-radius: 50%;
}

.footer-social-link:hover {
    color: #ffd700;
    transform: translateY(-2px);
    background-color: rgba(255, 255, 255, 0.1);
}

.footer-contact-details {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
}

@media (min-width: 768px) {
    .footer-contact-details {
        align-items: flex-end;
    }
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease-out;
}

.footer-contact-item:hover {
    color: #ffd700;
}

.footer-contact-item svg {
    flex-shrink: 0;
}

/* Responsive Design for Contact Section */
@media (max-width: 1024px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
}

/* Gallery Styles */
.gallery-section {
    margin-bottom: 5rem;
}

@media (min-width: 768px) {
    .gallery-section {
        margin-bottom: 6rem;
    }
}

.gallery-section:not(:first-of-type) {
    margin-top: 4rem;
    padding-top: 2rem;
}

@media (min-width: 768px) {
    .gallery-section:not(:first-of-type) {
        margin-top: 5rem;
        padding-top: 3rem;
    }
}

.gallery-section-header {
    text-align: center;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .gallery-section-header {
        margin-bottom: 4rem;
    }
}

.gallery-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .gallery-section-title {
        font-size: 2.5rem;
    }
}

.gallery-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 480px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (min-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 1.5rem;
        margin-top: 3rem;
    }
}

@media (min-width: 1024px) {
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 2rem;
    }
}

@media (min-width: 1280px) {
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: 2.5rem;
    }
}

@media (min-width: 1440px) {
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: 3rem;
    }
    
    .gallery-before-after-fullwidth {
        gap: 4rem;
        margin: 4rem 0 5rem;
    }
}

/* Landscape orientation adjustments */
@media (max-height: 500px) and (orientation: landscape) {
    .gallery-before-after-fullwidth {
        gap: 1.5rem;
        margin: 1.5rem 0 2rem;
    }
    
    .before-after-carousel-fullwidth {
        aspect-ratio: 21 / 9;
    }
    
    .about-page-header {
        margin-bottom: 2rem;
    }
}

.gallery-item {
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    aspect-ratio: 4 / 3;
    background: #f9fafb;
}

.gallery-item-featured {
    grid-column: span 1;
    border: 3px solid rgba(255, 197, 37, 0.6);
    box-shadow: 0 15px 40px rgba(255, 197, 37, 0.3), 0 0 0 1px rgba(255, 197, 37, 0.2);
    position: relative;
    animation: featuredPulse 3s ease-in-out infinite;
}

@media (min-width: 768px) {
    .gallery-item-featured {
        grid-column: span 2;
    }
}

@media (min-width: 1024px) {
    .gallery-item-featured {
        grid-column: span 2;
        grid-row: span 2;
    }
}

@keyframes featuredPulse {
    0%, 100% {
        box-shadow: 0 15px 40px rgba(255, 197, 37, 0.3), 0 0 0 1px rgba(255, 197, 37, 0.2);
        border-color: rgba(255, 197, 37, 0.6);
    }
    50% {
        box-shadow: 0 20px 50px rgba(255, 197, 37, 0.5), 0 0 0 2px rgba(255, 197, 37, 0.4);
        border-color: rgba(255, 197, 37, 0.9);
    }
}

.gallery-featured-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.95), rgba(247, 87, 9, 0.95));
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 2rem;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 10;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    animation: badgeFloat 2s ease-in-out infinite;
}

@keyframes badgeFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

.gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* Mini Before/After Carousel in Gallery Grid */
.gallery-item-before-after {
    padding: 0;
    overflow: hidden;
}

.gallery-before-after-mini {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.gallery-before-after-mini-track {
    display: flex;
    width: 200%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.gallery-before-after-mini-track.show-before {
    transform: translateX(-50%);
}

.gallery-before-after-mini-slide {
    min-width: 50%;
    position: relative;
    height: 100%;
    opacity: 0;
    transition: opacity 0.2s ease-out;
}

.gallery-before-after-mini-slide.active {
    opacity: 1;
}

.gallery-before-after-mini-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-before-after-mini-label {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    color: white;
    padding: 0.4rem 0.75rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 5;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.gallery-before-after-mini-label.after-label {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.95), rgba(22, 163, 74, 0.95));
}

.gallery-before-after-mini-label.before-label {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.95), rgba(220, 38, 38, 0.95));
}

.gallery-before-after-mini-toggle {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid rgba(255, 197, 37, 0.8);
    color: #1f2937;
    padding: 0.5rem;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.gallery-before-after-mini-toggle:hover {
    background: rgba(255, 255, 255, 1);
    border-color: rgba(255, 197, 37, 1);
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.gallery-before-after-mini-toggle:active {
    transform: scale(0.95);
}

.gallery-before-after-mini-toggle svg {
    transition: transform 0.2s ease-out;
}

.gallery-before-after-mini.show-before .gallery-before-after-mini-toggle svg {
    transform: rotate(180deg);
}

/* Full Width Before/After Pairs */
.gallery-before-after-fullwidth-wrapper {
    width: 100%;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .gallery-before-after-fullwidth-wrapper {
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .gallery-before-after-fullwidth-wrapper {
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .gallery-before-after-fullwidth-wrapper {
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .gallery-before-after-fullwidth-wrapper {
        padding: 0 12rem;
    }
}

.gallery-before-after-fullwidth {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 2rem 0 3rem;
    width: 100%;
    max-width: 100%;
}

.gallery-before-after-fullwidth-item {
    position: relative;
    width: 100%;
    max-width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    background: #000;
}

.before-after-carousel-fullwidth {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    display: block;
}

@media (min-width: 480px) {
    .gallery-before-after-fullwidth {
        gap: 2.5rem;
        margin: 2.5rem 0 3.5rem;
    }
    
    .gallery-before-after-fullwidth-item {
        border-radius: 1.25rem;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    }
}

@media (min-width: 768px) {
    .gallery-before-after-fullwidth {
        gap: 3rem;
        margin: 3rem 0 4rem;
    }
    
    .gallery-before-after-fullwidth-item {
        border-radius: 1.5rem;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    }
}

@media (min-width: 1024px) {
    .gallery-before-after-fullwidth-item {
        border-radius: 2rem;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    }
}

.before-after-track-fullwidth {
    display: flex;
    width: 200%;
    min-width: 200%;
    max-width: 200%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
    position: relative;
    left: 0;
    margin: 0;
    padding: 0;
}

.before-after-track-fullwidth.show-before {
    transform: translateX(-50%);
}

.before-after-slide-fullwidth {
    width: 50%;
    min-width: 50%;
    max-width: 50%;
    flex-shrink: 0;
    flex-grow: 0;
    position: relative;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
    box-sizing: border-box;
}

.before-after-slide-fullwidth.active {
    opacity: 1;
}

.before-after-slide-fullwidth img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.before-after-label-fullwidth {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.5rem 1rem;
    border-radius: 1.5rem;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 5;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

@media (min-width: 480px) {
    .before-after-label-fullwidth {
        top: 1rem;
        left: 1rem;
        padding: 0.6rem 1.25rem;
        font-size: 0.875rem;
        letter-spacing: 0.08em;
    }
}

@media (min-width: 768px) {
    .before-after-label-fullwidth {
        top: 1.5rem;
        left: 1.5rem;
        padding: 0.75rem 1.5rem;
        border-radius: 2rem;
        font-size: 1rem;
        letter-spacing: 0.1em;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    }
}

.before-after-label-fullwidth.after-label {
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.85), rgba(247, 87, 9, 0.85));
    color: white;
}

.before-after-label-fullwidth.before-label {
    background: rgba(255, 255, 255, 0.85);
    color: #1f2937;
}

.before-after-toggle-fullwidth {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid rgba(255, 197, 37, 0.8);
    color: #1f2937;
    padding: 0.75rem 1.5rem;
    border-radius: 2rem;
    font-weight: 700;
    font-size: 0.875rem;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
}

.before-after-toggle-fullwidth svg {
    width: 18px;
    height: 18px;
}

@media (min-width: 480px) {
    .before-after-toggle-fullwidth {
        bottom: 1.5rem;
        padding: 0.875rem 1.75rem;
        font-size: 0.9375rem;
        gap: 0.625rem;
    }
    
    .before-after-toggle-fullwidth svg {
        width: 19px;
        height: 19px;
    }
}

@media (min-width: 768px) {
    .before-after-toggle-fullwidth {
        bottom: 2rem;
        padding: 1rem 2rem;
        border-radius: 3rem;
        font-size: 1rem;
        gap: 0.75rem;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    }
    
    .before-after-toggle-fullwidth svg {
        width: 20px;
        height: 20px;
    }
}

.before-after-toggle-fullwidth:hover {
    background: rgba(255, 255, 255, 1);
    border-color: rgba(255, 197, 37, 1);
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3);
}

.before-after-toggle-fullwidth:active {
    transform: translateX(-50%) translateY(0);
}

.before-after-toggle-fullwidth svg {
    transition: transform 0.2s ease-out;
}

.before-after-carousel-fullwidth.show-before .before-after-toggle-fullwidth svg {
    transform: rotate(180deg);
}

.gallery-before-after-fullwidth-item .gallery-featured-badge {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10;
}

/* Additional responsive styles for very small screens */
@media (max-width: 479px) {
    .gallery-before-after-fullwidth {
        gap: 1.5rem;
        margin: 1.5rem 0 2rem;
    }
    
    .gallery-before-after-fullwidth-item {
        border-radius: 0.75rem;
    }
    
    .before-after-carousel-fullwidth {
        aspect-ratio: 4 / 3;
    }
    
    .gallery-grid {
        gap: 0.75rem;
        margin-top: 1.5rem;
    }
    
    .gallery-item {
        border-radius: 0.5rem;
    }
}

/* Gallery Carousel Styles */
.gallery-carousel-container {
    margin: 3rem 0 4rem;
    width: 100%;
}

.gallery-carousel {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    background: #000;
}

.gallery-carousel-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.gallery-carousel-slide {
    min-width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
}

.gallery-carousel-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-carousel-slide .gallery-featured-badge {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.95), rgba(247, 87, 9, 0.95));
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 2rem;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 10;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    animation: badgeFloat 2s ease-in-out infinite;
    display: none;
}

.gallery-carousel-slide[data-index="0"] .gallery-featured-badge {
    display: block;
}

/* Before/After Slide Styles */
.gallery-before-after-slide {
    position: relative;
    width: 100%;
    height: 100%;
}

.before-after-carousel {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.before-after-track {
    display: flex;
    width: 200%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.before-after-track.show-before {
    transform: translateX(-50%);
}

.before-after-slide {
    min-width: 50%;
    position: relative;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.before-after-slide.active {
    opacity: 1;
}

.before-after-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.before-after-label {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    z-index: 5;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.after-label {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.95), rgba(22, 163, 74, 0.95));
}

.before-label {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.95), rgba(220, 38, 38, 0.95));
}

.before-after-toggle {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid rgba(255, 197, 37, 0.8);
    color: #1f2937;
    padding: 1rem 2rem;
    border-radius: 3rem;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.before-after-toggle:hover {
    background: rgba(255, 255, 255, 1);
    border-color: rgba(255, 197, 37, 1);
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3);
}

.before-after-toggle:active {
    transform: translateX(-50%) translateY(0);
}

.before-after-toggle svg {
    transition: transform 0.2s ease-out;
}

.before-after-carousel.show-before .before-after-toggle svg {
    transform: rotate(180deg);
}

@media (max-width: 768px) {
    .before-after-label {
        top: 1rem;
        left: 1rem;
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    
    .before-after-toggle {
        bottom: 1.5rem;
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
    }
    
    .before-after-toggle svg {
        width: 18px;
        height: 18px;
    }
}

.gallery-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    color: #1f2937;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.gallery-carousel-btn:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.gallery-carousel-btn:active {
    transform: translateY(-50%) scale(0.95);
}

.gallery-carousel-prev {
    left: 1.5rem;
}

.gallery-carousel-next {
    right: 1.5rem;
}

.gallery-carousel-dots {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.75rem;
    z-index: 10;
    background: rgba(0, 0, 0, 0.3);
    padding: 0.75rem 1.5rem;
    border-radius: 2rem;
    backdrop-filter: blur(10px);
}

.gallery-carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.2s ease-out;
    padding: 0;
}

.gallery-carousel-dot:hover {
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.2);
}

.gallery-carousel-dot.active {
    background: linear-gradient(135deg, rgba(255, 197, 37, 1), rgba(247, 87, 9, 1));
    width: 30px;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(255, 197, 37, 0.5);
}

@media (max-width: 768px) {
    .gallery-carousel {
        border-radius: 1rem;
    }
    
    .gallery-carousel-btn {
        width: 40px;
        height: 40px;
    }
    
    .gallery-carousel-prev {
        left: 1rem;
    }
    
    .gallery-carousel-next {
        right: 1rem;
    }
    
    .gallery-carousel-slide .gallery-featured-badge {
        top: 1rem;
        right: 1rem;
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    
    .gallery-carousel-dots {
        bottom: 1rem;
        padding: 0.5rem 1rem;
        gap: 0.5rem;
    }
    
    .gallery-carousel-dot {
        width: 8px;
        height: 8px;
    }
    
    .gallery-carousel-dot.active {
        width: 24px;
    }
}

/* Sell-Ready Page Styles */
.sell-ready-content-section {
    margin-bottom: 4rem;
    padding: 2rem 0;
}

@media (min-width: 768px) {
    .sell-ready-content-section {
        margin-bottom: 5rem;
        padding: 2.5rem 0;
    }
}

.sell-ready-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 1rem;
    line-height: 1.3;
}

@media (min-width: 640px) {
    .sell-ready-section-title {
        font-size: 2rem;
    }
}

@media (min-width: 768px) {
    .sell-ready-section-title {
        font-size: 2.25rem;
        margin-bottom: 1.25rem;
    }
}

.sell-ready-section-intro {
    font-size: 1.125rem;
    color: #4b5563;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
    .sell-ready-section-intro {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }
}

.sell-ready-section-subtitle {
    font-size: 1rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
}

@media (min-width: 768px) {
    .sell-ready-section-subtitle {
        font-size: 1.125rem;
        margin-bottom: 1.25rem;
    }
}

.sell-ready-section-conclusion {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.7;
    margin-top: 1.5rem;
    font-weight: 500;
}

@media (min-width: 768px) {
    .sell-ready-section-conclusion {
        font-size: 1.125rem;
        margin-top: 2rem;
    }
}

.sell-ready-section-note {
    font-size: 0.9375rem;
    color: #6b7280;
    line-height: 1.6;
    margin-top: 0.75rem;
}

@media (min-width: 768px) {
    .sell-ready-section-note {
        font-size: 1rem;
        margin-top: 1rem;
    }
}

.sell-ready-benefits-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}

@media (min-width: 768px) {
    .sell-ready-benefits-list {
        gap: 1.25rem;
        margin: 2rem 0;
    }
}

.sell-ready-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: #f9fafb;
    border-radius: 0.75rem;
    border-left: 3px solid #ffc525;
}

@media (min-width: 768px) {
    .sell-ready-benefit-item {
        padding: 1.25rem;
        gap: 1.25rem;
    }
}

.sell-ready-benefit-icon {
    color: #ffc525;
    font-size: 1.25rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.sell-ready-benefit-item span:last-child {
    font-size: 0.9375rem;
    color: #374151;
    line-height: 1.6;
    flex: 1;
}

@media (min-width: 768px) {
    .sell-ready-benefit-item span:last-child {
        font-size: 1rem;
    }
}

.sell-ready-pricing-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.5rem 0;
}

@media (min-width: 768px) {
    .sell-ready-pricing-badges {
        gap: 1rem;
        margin: 2rem 0;
    }
}

.sell-ready-pricing-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.625rem 1.25rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(247, 87, 9, 0.2);
}

@media (min-width: 768px) {
    .sell-ready-pricing-badge {
        padding: 0.75rem 1.5rem;
        font-size: 0.9375rem;
    }
}

.sell-ready-included-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}

@media (min-width: 640px) {
    .sell-ready-included-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .sell-ready-included-grid {
        gap: 1.25rem;
        margin: 2rem 0;
    }
}

.sell-ready-included-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background: #f9fafb;
    border-radius: 0.5rem;
}

@media (min-width: 768px) {
    .sell-ready-included-item {
        padding: 1.25rem;
        gap: 1rem;
    }
}

.sell-ready-included-icon {
    color: #10b981;
    font-size: 1.125rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.sell-ready-included-item span:last-child {
    font-size: 0.9375rem;
    color: #374151;
    line-height: 1.6;
    flex: 1;
}

@media (min-width: 768px) {
    .sell-ready-included-item span:last-child {
        font-size: 1rem;
    }
}

.sell-ready-choose-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}

@media (min-width: 640px) {
    .sell-ready-choose-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .sell-ready-choose-grid {
        gap: 1.25rem;
        margin: 2rem 0;
    }
}

.sell-ready-choose-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(255, 197, 37, 0.1) 0%, rgba(247, 87, 9, 0.1) 100%);
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 197, 37, 0.2);
}

@media (min-width: 768px) {
    .sell-ready-choose-item {
        padding: 1.25rem;
        gap: 1rem;
    }
}

.sell-ready-choose-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.sell-ready-choose-item span:last-child {
    font-size: 0.9375rem;
    color: #374151;
    line-height: 1.6;
    font-weight: 500;
    flex: 1;
}

@media (min-width: 768px) {
    .sell-ready-choose-item span:last-child {
        font-size: 1rem;
    }
}

/* Ready to Get Started CTA Section */
.sell-ready-cta-section {
    margin-top: 5rem;
    margin-bottom: 3rem;
    padding: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .sell-ready-cta-section {
        margin-top: 6rem;
    }
}

.sell-ready-cta-title {
    font-size: 2.5rem;
    font-weight: 800;
    background: linear-gradient(to right, #ffc525, #f75709);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 1rem;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .sell-ready-cta-title {
        font-size: 3.5rem;
        margin-bottom: 1.5rem;
    }
}

.sell-ready-cta-description {
    font-size: 1.25rem;
    color: #4b5563;
    margin-bottom: 2.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

@media (min-width: 768px) {
    .sell-ready-cta-description {
        font-size: 1.5rem;
        margin-bottom: 3rem;
    }
}

.sell-ready-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 3rem;
    background: linear-gradient(135deg, #ffc525 0%, #f75709 100%);
    color: white;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.25rem;
    box-shadow: 0 4px 20px rgba(247, 87, 9, 0.4);
    transition: all 0.3s ease;
    border: 2px solid rgba(255, 255, 255, 0.3);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.sell-ready-cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
    z-index: -1;
}

.sell-ready-cta-button:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 30px rgba(247, 87, 9, 0.5);
}

.sell-ready-cta-button:hover::before {
    left: 100%;
}

/* Sell-Ready Section on Standalone Page */
.about-page-section .sell-ready-section {
    margin: 4rem -1.5rem;
    width: calc(100% + 3rem);
    max-width: none;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .about-page-section .sell-ready-section {
        margin: 5rem -5rem;
        width: calc(100% + 10rem);
        padding: 0 5rem;
    }
}

@media (min-width: 1280px) {
    .about-page-section .sell-ready-section {
        margin: 5rem -8rem;
        width: calc(100% + 16rem);
        padding: 0 8rem;
    }
}

@media (min-width: 1440px) {
    .about-page-section .sell-ready-section {
        margin: 5rem -10rem;
        width: calc(100% + 20rem);
        padding: 0 10rem;
    }
}

@media (min-width: 1920px) {
    .about-page-section .sell-ready-section {
        margin: 5rem -12rem;
        width: calc(100% + 24rem);
        padding: 0 12rem;
    }
}

/* Sell-Ready Page Premium Equipment Card Backgrounds */
.about-page-section .premium-equipment-card::after {
    background-image: url('../images/house-isolated-field (1).jpg');
}

/* Kitchen Image Card on Sell-Ready Page */
.about-page-section .premium-equipment-card-kitchen::after {
    background-image: url('../images/beautiful-shot-modern-house-kitchen.jpg') !important;
}

