.elementor-14746 .elementor-element.elementor-element-647b15e{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14746 .elementor-element.elementor-element-647b15e:not(.elementor-motion-effects-element-type-background), .elementor-14746 .elementor-element.elementor-element-647b15e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-05546d2 );}.elementor-14746 .elementor-element.elementor-element-647b15e.e-con{--flex-grow:0;--flex-shrink:0;}@media(min-width:768px){.elementor-14746 .elementor-element.elementor-element-647b15e{--width:101.009%;}}/* Start custom CSS for html, class: .elementor-element-a2a6066 *//* --- Design Variables --- */
:root {
    /* Colors */
    --primary: #000000;
    --secondary: #D9403E;
    --on-surface: #1a1c1c;
    --surface-container: #eeeeee;
    --bg-color: #ffffff;
    
    /* Spacing */
    --container-padding: 20px; /* Adjusted for mobile default */
    --stack-gap: 24px;
    --section-gap: 80px; /* Slightly reduced for mobile */
    
    /* Typography */
    --font-family: 'Hanken Grotesk', sans-serif;
}

@media (min-width: 768px) {
    :root {
        --container-padding: 80px;
        --section-gap: 120px;
    }
}

/* --- Base Styles --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-family);
    background-color: var(--bg-color);
    color: var(--on-surface);
    font-size: 18px;
    line-height: 28px;
    -webkit-font-smoothing: antialiased;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--section-gap) var(--container-padding);
    display: flex;
    flex-direction: column;
    gap: var(--section-gap);
}

/* --- Layout Components --- */
.split-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--stack-gap);
    align-items: center;
}

/* On Desktop, switch to 2 columns */
@media (min-width: 768px) {
    .split-section {
        grid-template-columns: 1fr 1fr;
    }
    
    .pr-desktop {
        padding-right: 3rem;
    }
    
    .pl-desktop {
        padding-left: 3rem;
    }
}

/* Handle the Z-Pattern sorting on Mobile vs Desktop */
.split-section .text-content {
    order: 2;
}
.split-section .image-content {
    order: 1;
}

@media (min-width: 768px) {
    /* For standard section: Text Left, Image Right */
    .split-section .text-content { order: 1; }
    .split-section .image-content { order: 2; }
    
    /* For reversed section: Image Left, Text Right */
    .split-section.reverse .image-content { order: 1; }
    .split-section.reverse .text-content { order: 2; }
}

/* --- Typography & Elements --- */
.section-title {
    font-size: 48px;
    line-height: 56px;
    letter-spacing: -0.04em;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
}

.red-accent-line {
    height: 4px;
    width: 64px;
    background-color: var(--secondary);
    margin-top: 12px;
    margin-bottom: 24px;
}

.paragraph-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
}


.project-img {
    width: 100%;
    height: 80%;
    object-fit: cover;
}



/* --- Call to Action Button --- */
.cta-container {
    display: flex;
    justify-content: center;
    padding: 16px 0;
}

.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 48px;
    border: 2px solid var(--secondary);
    color: var(--secondary);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.btn-ghost:hover {
    background-color: var(--secondary);
    color: var(--bg-color);
}/* End custom CSS */