/*
Theme Name: Web Coding Solutions Theme
Theme URI: web-coding-solutions.com
Description: WordPress Child Theme based on new-theme for Web Coding Solutions
Author: Your Name
Requires at least: 5.7.4
Tested up to: 6.4.0
Requires PHP: 8.0
Version: 0.1
Template: new-theme
Text Domain: web-coding-solutions
*/

/* Basic styles for Web Coding Solutions theme */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #ffffff;
}

/* Ensure full-page background is pure white */
html, body { background: #ffffff !important; }

/* Global canvas background effect */
/* canvas background */
.lamp-anim { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; display: block; filter: blur(10px); }
@media screen and (max-width: 768px) {
    .lamp-anim { filter: blur(2px); }
}

/* Ensure site content sits above the background canvas */
#page.site { position: relative; z-index: 1; }

/* Ensure body covers viewport so canvas is full-page background */
html, body, #page.site { min-height: 100%; }

/* Set Inter as default font for all elements */
* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.site-header {
    color: white;
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #ffffff;
    transition: all 0.3s ease;
}

/* Adjust header position when WordPress admin bar is present */
.admin-bar .site-header {
    top: 32px;
}

/* Mobile admin bar adjustment */
@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* Shadow class added via JavaScript when scrolling */
.site-header.scrolled {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

/* Header container with max-width */
.site-header .header-container {
    max-width: 1365px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-title a {
    color: white;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
}

/* Custom Logo Styles */
.site-logo {
    display: flex;
    align-items: center;
}

.site-logo img {
    max-height: 35px;
    width: auto;
    height: auto;
}

.custom-logo-link {
    display: inline-block;
    line-height: 0;
}

/* Main Navigation Styling */
.main-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
}

.main-navigation li {
    margin: 0;
}

/* Shared button styling for navigation and CTA buttons */
.main-navigation a,
.hero-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: white;
    background-color: #000;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 25px;
    transition: all 0.3s ease;
}

.main-navigation a:hover,
.hero-cta-button:hover {
    background-color: #333;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    color: white;
    text-decoration: none;
}

/* Shared SVG Arrow for all buttons */
.main-navigation a::after,
.hero-cta-button::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 20px;
    background-image: url('data:image/svg+xml;charset=utf8,<svg width="10" height="20" viewBox="0 0 10 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 9.99697L0 20V18.2833L8.28884 9.99697L0 1.71671V0L10 9.99697Z" fill="white"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 20px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.main-navigation a:hover::after,
.hero-cta-button:hover::after {
    transform: translateX(3px);
}

/* Content Area - Controls max-width for all content */
.content-area {
    max-width: 1020px;
    margin: 0 auto;
}

/* Section spacing */
.section {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
}

/* Hero Section Container */
.hero-section {
    flex-direction: column;
    padding: 120px 0;
}

/* Hero Text Container */
.hero-text-container {
    display: flex;
    align-items: flex-end;
}

/* Wrapper divs for alignment control */
.h1-wrapper {
    width: 70%;
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.h2-wrapper {
    width: 30%;
    display: flex;
    justify-content: flex-start;
}

/* Custom Homepage Typography */
.homepage-h1 {
    font-family: 'Boldonse', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 70px;
    line-height: 124px;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 0;
    text-align: left;
}

.homepage-h2 {
    font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #000000;
    margin-bottom: 0;
    text-align: left;
    max-width: 365px;
    padding-bottom: 20px;
}

/* Mobile/desktop toggles for the duplicated hero h2 */
.homepage-h2--mobile { display: none; }

/* Hero Button Container */
.hero-button-container {
    position: absolute;
    top: 100%;
    left: 15px;
}
.why-us-border--mobile{
    display: none;
}
/* Content styling */
.content-overlay {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    margin: 20px;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Why Us Section */
.why-us-section {
    flex-direction: column;
    align-items: stretch;
    padding: 80px 0;
}

.why-us-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

.why-us-item:hover {
    opacity: 1;
}

.why-us-icon {
    text-align: left;
    margin-bottom: 20px;
}

.why-us-icon svg {
    width: 56px;
    height: 40px;
}

.why-us-content {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.why-us-name {
    font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: 0%;
    width: 80%;
    margin: 0;
    color: #000000;
}

.why-us-explanation {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: right;
    width: 20%;
    margin: 0;
    color: #000000;
}

.why-us-border {
    width: 100%;
    height: 2px;
    position: relative;
    height: 20px;
    border-top: 1px solid;
    border-radius: 0 30px 0 0;
}

/* Mobile adjustments for Why Us */
@media screen and (max-width: 768px) {
    .why-us-content { flex-direction: column; align-items: flex-start; gap: 8px; }
    .why-us-explanation { width: 100%; text-align: left; }
    /* Hide desktop border; show mobile border after icon */
    .why-us-border { display: none; }
    .why-us-border--mobile { display: block; width: 100%; height: 20px; border-top: 1px solid; border-radius: 0 30px 0 0; margin: 8px 0; }
    /* Enforce requested typography */
    .why-us-name { font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 800; font-style: normal; font-size: 40px; line-height: 100%; letter-spacing: 0%; }
    .why-us-explanation { font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 400; font-style: normal; font-size: 16px; line-height: 100%; letter-spacing: 0%; padding: 20px 0 0 0; color: #000000; }
    /* Remove highlight effect on mobile */
    .why-us-item { opacity: 1; }
    .why-us-item:hover { opacity: 1; }
}

/* About Us Section */
.about-us-section {
    padding: 80px 0;
}

.about-us-content {
    display: flex;
    align-items: flex-start;
}

.about-us-title {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 70px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    width: 45%;
    margin: 0;
    color: #000000;
}

.about-us-paragraph {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    width: 55%;
    margin: 0;
    color: #000000;
    white-space: pre-line;
}

/* Services Section */
.service-item-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 340px;
    height: 100%;
    margin: 0 auto;
    justify-content: space-between;
}
.service-border-top {
    height: 20px;
    width: 100%;
    border-top: 1px solid;
    border-radius: 30px 0 0 0;
}

.service-border-bottom {
    height: 20px;
    width: 100%;
    border-bottom: 1px solid;
    border-radius: 0 0 0 30px;
}

.services-section {
    flex-direction: column;
    align-items: stretch;
    padding: 40px 0;
}

/* Scroll stack viewport */
/* Removed sticky overlay stack to preserve original card dimensions */

.service-item {
    background: white;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    align-items: center;
    margin-bottom: 40px;
    border-radius: 20px;
    transition: box-shadow 0.3s ease;
    border-radius: 50px;
    padding: 80px 0;
    
}

@media screen and (max-width: 768px) {
    .service-item { grid-template-columns: 1fr; row-gap: 24px; padding: 30px 10px 10px 10px ; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); }
    .service-item-container { max-width: 100%; height: auto; margin: 0; justify-content: initial; }
    .service-border-top, .service-border-bottom { display: none; }
    .service-content { gap: 16px; padding: 0 16px; text-align: left; }
    .service-name { font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 900; font-style: normal; font-size: 32px; line-height: 100%; letter-spacing: 0%; text-transform: uppercase; }
    .service-description { font-size: 15px!important; }
    .service-image img { width: 100%!important; }
    .partners-testimonials-section { padding: 40px 0!important; }
}

.service-item:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* Desktop-only: slide-in animation for services on scroll */
@media screen and (min-width: 769px) {
    .services-section .service-item {
        transform: translateY(40px);
        opacity: 0;
        transition: transform 600ms ease-out, opacity 600ms ease-out;
        will-change: transform, opacity;
    }
    .services-section .service-item.is-visible {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Desktop-only: slide-in for all sections (avoid double-anim on services container) */
@media screen and (min-width: 769px) {
    .section:not(.services-section) {
        transform: translateY(40px);
        opacity: 0;
        transition: transform 600ms ease-out, opacity 600ms ease-out;
        will-change: transform, opacity;
    }
    .section.is-visible {
        transform: translateY(0);
        opacity: 1;
    }
}

.service-content {
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 0 10px;
    justify-content: center;
}

.service-name {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin: 0;
    color: #000000;
}

.service-tags {
    padding-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.service-tag {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 8px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid #000000;
    border-radius: 50px;
    padding: 4px 12px;
    color: #000000;
}

.service-description {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    margin: 0;
    color: #000000;
}

.service-image {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.service-image img {
    max-width: 340px;
    height: auto;
    object-fit: cover;
    border-radius: 20px;
}

/* Removed .service-image svg sizing since services use images now */

/* Partners and Testimonials Section */
.partners-testimonials-section {
    padding: 60px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.partners-testimonials-container {
    max-width: 1365px;
    width: 100%;
    background: radial-gradient(99.21% 166.67% at 32.9% 117.78%, #002D6A 0%, #01285C 10%, #07172A 51%, #0A0C0B 83%, #0C0900 100%);
    border-radius: 50px;
    padding: 60px 0;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.partners-testimonials-content {
    max-width: 1020px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .partners-testimonials-container { border-radius: 30px; padding: 50px 0px; }
    .partners-title { font-size: 36px!important; margin-bottom: 32px!important; padding: 0 10px!important; }
    .partners-logos { gap: 20px; padding: 30px 0; margin-bottom: 10px!important; }
}

.partners-title {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 50px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin: 0 0 60px 0;
    color: white;
}

.partners-logos {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    padding: 60px 0;
    margin-bottom: 60px;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* Hide scrollbar across browsers */
    scrollbar-width: none;            /* Firefox */
    -ms-overflow-style: none;         /* IE 10+ */
}

.partners-logos::-webkit-scrollbar { /* WebKit */
    display: none;
}

/* Auto-scrolling logos on mobile */
@media screen and (max-width: 768px) {
    .partners-logos { overflow: hidden; }
    .partners-logos-track {
        display: inline-flex;
        gap: 30px;
        animation: partnersMarquee 20s linear infinite;
        will-change: transform;
    }
    @keyframes partnersMarquee {
        0% { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }
}

/* Desktop: static layout, wrap into rows */
@media screen and (min-width: 769px) {
    .partners-logos {
        flex-wrap: wrap !important;
        overflow: visible !important;
    }
    .partners-logos-track {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        animation: none !important;
        will-change: auto;
    }
}

.partner-logo img {
    max-height: 45px;
    width: auto;
}

.partner-logo { flex: 0 0 auto; }

.testimonials-title {
    font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: 0%;
    margin: 0 0 40px 0;
    color: white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
    padding: 10px;
    margin-left: -173px;
    margin-right: -60px;
    padding-left: 173px;
}

.testimonials-container {
    position: relative;
    width: 100%;
    min-height: 360px;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1000px;
    overflow: visible;
    flex-direction: column;
    padding: 0 0;
}

@media screen and (max-width: 768px) {
    .testimonials-container { min-height: 320px; overflow: hidden; padding: 0 10px; height: 500px;}
    /* Title style & spacing */
    .testimonials-title {
        font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: 30px;
        line-height: 100%;
        letter-spacing: 0%;
        margin-top: 30px;
        /* prevent overflow from negative margins on mobile */
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 70%);
        padding: 30px 10px;
    }
    /* Prevent viewport overflow and keep 10px side padding */
    .testimonials-scroll { width: 100%; }
    .form-footer { align-items: flex-start !important; }
    .submit-container { align-self: flex-start !important; }
    .submit-container input[type="submit"] { width: auto !important; }
    .testimonial-card { width: calc(100% - 20px)!important; min-height: 240px; padding: 24px; left: 10px; right: 10px; }
    .testimonials-navigation { margin-top: 24px; }
}

/* FAQ mobile layout adjustments */
@media screen and (max-width: 768px) {
    .faq-container { flex-direction: column; gap: 16px; }
    .faq-title-column { width: 100%; padding-right: 0; }
    .faq-content-column { width: 100%!important; }
    .faq-question { flex-direction: row; align-items: center; gap: 8px; }
    .faq-icon { width: 30px; height: 31px; }
}

/* Contact form mobile tweaks */
@media screen and (max-width: 768px) {
    /* Title style */
    .contact-form-header h2 {
        font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        font-weight: 900 !important;
        font-style: normal !important;
        font-size: 40px !important;
        line-height: 100% !important;
        letter-spacing: 0% !important;
        text-transform: uppercase !important;
    }

    /* Service interest as two-column grid */
    /* Ensure grid is applied to the checkbox wrapper (CF7 structure: div.service-selection > p > span.wrap > span.wpcf7-form-control.service-checkbox > span.wpcf7-list-item ...) */
    .service-selection { display: block !important; }
    .service-selection > p { margin: 0 !important; width: 100% !important; }
    .service-selection .wpcf7-form-control.service-checkbox { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .service-selection .wpcf7-list-item { margin: 0 !important; width: auto !important; display: block !important; }
    .service-selection .wpcf7-list-item .wpcf7-list-item-label {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 10px 12px !important;
    }
}

.testimonials-scroll {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.testimonial-card {
    position: absolute;
    width: 400px;
    min-height: 280px;
    height: auto;
    background: radial-gradient(100.88% 100.88% at 25.59% 105.88%, #D5CDC5 50.12%, #CCCACA 100%);
    border-radius: 25px;
    padding: 40px;
    color: #333;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(0) scale(0.8);
    filter: blur(3px);
    opacity: 0.5;
    z-index: 1;
    backface-visibility: hidden;
}

.testimonial-card.active {
    transform: translateX(0) scale(1);
    filter: blur(0);
    opacity: 1;
    z-index: 10;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15);
    background: radial-gradient(100.88% 100.88% at 25.59% 105.88%, #D5CDC5 50.12%, #CCCACA 100%);
}



.testimonial-card.prev {
    transform: translateX(-220px) scale(0.85);
    filter: blur(2px);
    opacity: 0.7;
    z-index: 5;
}

.testimonial-card.next {
    transform: translateX(220px) scale(0.85);
    filter: blur(2px);
    opacity: 0.7;
    z-index: 5;
}

.testimonial-card.far-prev {
    transform: translateX(-350px) scale(0.7);
    filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
}

.testimonial-card.far-next {
    transform: translateX(350px) scale(0.7);
    filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
}

.testimonial-text {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 150%;
    margin-bottom: 20px;
    font-style: italic;
    color: #666;
    position: relative;
    padding: 30px 0;
    white-space: pre-line;
}
.testimonial-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 31px;
    height: 23px;
    background-image: url("data:image/svg+xml,%3Csvg width='31' height='23' viewBox='0 0 31 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.275 22.45V16.3833H3.075C4.20278 16.3833 5 16.0917 5.46667 15.5083C5.97222 14.8861 6.225 14.1278 6.225 13.2333V11.95H0.975V0.749999H12.525V13.7C12.525 16.4222 11.8056 18.5611 10.3667 20.1167C8.96667 21.6722 6.76944 22.45 3.775 22.45H0.275ZM17.775 22.45V16.3833H20.575C21.7028 16.3833 22.5 16.0917 22.9667 15.5083C23.4722 14.8861 23.725 14.1278 23.725 13.2333V11.95H18.475V0.749999H30.025V13.7C30.025 16.4222 29.3056 18.5611 27.8667 20.1167C26.4667 21.6722 24.2694 22.45 21.275 22.45H17.775Z' fill='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform: rotate(180deg);
    color: #000000;
}

.testimonial-text::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 31px;
    height: 23px;
    background-image: url("data:image/svg+xml,%3Csvg width='31' height='23' viewBox='0 0 31 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.275 22.45V16.3833H3.075C4.20278 16.3833 5 16.0917 5.46667 15.5083C5.97222 14.8861 6.225 14.1278 6.225 13.2333V11.95H0.975V0.749999H12.525V13.7C12.525 16.4222 11.8056 18.5611 10.3667 20.1167C8.96667 21.6722 6.76944 22.45 3.775 22.45H0.275ZM17.775 22.45V16.3833H20.575C21.7028 16.3833 22.5 16.0917 22.9667 15.5083C23.4722 14.8861 23.725 14.1278 23.725 13.2333V11.95H18.475V0.749999H30.025V13.7C30.025 16.4222 29.3056 18.5611 27.8667 20.1167C26.4667 21.6722 24.2694 22.45 21.275 22.45H17.775Z' fill='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    color: #000000;
}

.testimonial-author {
    display: flex;
    flex-direction: column;
    gap: 0;
    line-height: 15px;
}

.testimonial-name {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #333;
}

.testimonial-company {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
    color:  #333;
}

.testimonials-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 50px;
    position: relative;
    z-index: 20;
}

/* Desktop: position navigation absolutely within testimonials block */
@media screen and (min-width: 769px) {
    .testimonials-container {
        margin-top: 80px;
        padding-bottom: 110px; /* space for nav */
    }
    .testimonials-navigation {
        position: absolute;
        left: 50%;
        bottom: 20px;
        transform: translateX(-50%);
        margin-top: 0;
        z-index: 5;
    }
}

.testimonial-nav-arrow {
    width: 56px;
    height: 40px;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.testimonial-nav-arrow.disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.testimonial-counter {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: white;
    min-width: 60px;
    text-align: center;
}

/* FAQ Section */
.faq-section {
    padding: 80px 0;
}

.faq-container {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.faq-title-column {
    width: 30%;
    padding-right: 20px;
}

.faq-title {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-size: 70px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: #000;
    margin: 0;
}

.faq-content-column {
    width: 70%;
}

.faq-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.faq-item {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 20px;
}

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

.faq-question {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    padding: 15px 0;
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #000;
    transition: color 0.3s ease;
}

.faq-question:hover {
    color: #666;
}

.faq-icon {
    width: 30px;
    height: 31px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-answer {
    height: 0;
    overflow: hidden;
    transition: height 0.28s ease, padding 0.28s ease;
    padding: 0 45px;
    will-change: height;
}

.faq-item.active .faq-answer {
    height: auto;
    padding: 0px 45px;
}

.faq-answer p {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 130%;
    letter-spacing: 0%;
    color: #000;
    margin: 0;
    white-space: pre-line;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.faq-item.active .faq-answer p {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.05s;
}

@media (prefers-reduced-motion: reduce) {
    .faq-answer { transition: none; }
    .faq-answer p { transition: none; }
    .faq-question { transition: none; }
    .faq-icon { transition: none; }
}

/* Contact Form Section */
.contact-form-section {
    padding: 60px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-form-container {
    max-width: 1365px;
    width: 100%;
    background: #000;
    border-radius: 50px 50px 0 0;
    padding: 32px 20px;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-form-content {
    max-width: 1020px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .contact-form-header h2 { font-size: 32px!important; margin-bottom: 24px!important; }
    .service-selection { gap: 10px!important; margin-bottom: 32px!important; }
    .service-selection .wpcf7-list-item .wpcf7-list-item-label { padding: 10px 16px; font-size: 11px!important; }
    .field-row { flex-direction: column; gap: 16px; margin-bottom: 16px!important; }
    .field-column { width: 100%!important; }
    .form-footer { flex-direction: column; align-items: stretch; gap: 20px!important; }
    .submit-container input[type="submit"] { width: 100%; text-align: center!important; }
}

/* Contact Form 7 Styling */
.contact-form-header h2 {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 900;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: white;
    margin: 0 0 40px 0;
    text-align: center;
}

.service-selection {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 60px;
    justify-content: center;
    align-items: center;
}

.service-selection .wpcf7-list-item {
    margin: 0;
}

.service-selection .wpcf7-list-item {
    margin: 0 10px 10px 0;
    position: relative;
}

.service-selection .wpcf7-list-item input[type="checkbox"] {
    display: none;
}

.service-selection .wpcf7-list-item .wpcf7-list-item-label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    font-style: normal;
    text-transform: uppercase;
    color: white;
    background: transparent;
    border-radius: 50px;
    padding: 12px 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    border: 2px solid white;
}

.service-selection .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label {
    background: white;
    color: #000;
    border-color: white;
}

/* JS-applied state for accessibility and when DOM order differs */
.service-selection .wpcf7-list-item .wpcf7-list-item-label.is-checked {
    background: white;
    color: #000;
    border-color: white;
}

/* Service checkbox specific targeting */
/* Removed unused label-based selectors for service checkboxes (CF7 uses .wpcf7-list-item-label spans) */

/* More specific targeting for service interest buttons */
.contact-form-content .service-checkbox,
.contact-form-content .wpcf7-form-control-wrap .service-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 60px;
    justify-content: center;
    align-items: center;
}

.contact-form-content .service-checkbox .wpcf7-list-item,
.contact-form-content .wpcf7-form-control-wrap .service-checkbox .wpcf7-list-item {
    margin: 0;
    display: inline-block;
}

/* Removed duplicate label-based rules; .service-selection rules cover actual markup */

/* Fallback for any service interest checkboxes */
/* Removed legacy fallback targeting label tags; CF7 outputs span.wpcf7-list-item-label */

.form-fields {
    margin-bottom: 60px;
}

.field-row {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}

.field-row.full-width {
    flex-direction: column;
}

.field-column {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Labels hidden by JS (converted to placeholders) should not affect layout */
.field-column label,
.field-row.full-width label {
    display: none;
}

.field-column input[type="text"],
.field-column input[type="email"],
.field-row.full-width textarea {
    background: transparent;
    border: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    color: white;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    padding: 8px 0 6px 0;
    transition: border-color 0.3s ease;
    width: 100%;
    display: block;
    height: 28px;
    min-height: 0;
    max-height: 28px;
    line-height: 1.2;
    resize: none;
    overflow: hidden;
}

.field-column input[type="text"]:focus,
.field-column input[type="email"]:focus,
.field-row.full-width textarea:focus {
    outline: none;
    border-bottom-color: white;
}

.field-column input[type="text"]::placeholder,
.field-column input[type="email"]::placeholder,
.field-row.full-width textarea::placeholder {
    color: #ffffff;
    text-transform: capitalize;
}

.field-row.full-width textarea {
    min-height: 33px;
    resize: vertical;
}

.form-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
}

.checkboxes {
    flex: 1;
}

.checkboxes .wpcf7-list-item {
    margin: 3px 0 3px 0;
    display: flex;
    align-items: center;
    position: relative;
}

.checkboxes .wpcf7-list-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.checkboxes .wpcf7-list-item .wpcf7-list-item-label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: white;
    line-height: 1.4;
    cursor: pointer;
    position: relative;
    padding-left: 28px;
}

.form-footer .checkboxes .wpcf7-list-item .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    background: transparent;
}

.form-footer .checkboxes .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    background: #ffffff;
}

.submit-container {
    flex-shrink: 0;
}

.submit-container input[type="submit"] {
    background: transparent;
    color: #ffffff;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    border-radius: 50px;
    padding: 12px 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    padding-right: 56px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='20' viewBox='0 0 10 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 9.99697L0 20V18.2833L8.28884 9.99697L0 1.71671V0L10 9.99697Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 10px 20px;
}

.submit-container input[type="submit"]:hover {
    background-color: #ffffff;
    color: #000000;
    transform: translateX(5px);
    border-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='20' viewBox='0 0 10 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 9.99697L0 20V18.2833L8.28884 9.99697L0 1.71671V0L10 9.99697Z' fill='black'/%3E%3C/svg%3E");
}

.submit-container input[type="submit"]:hover::after {
    transform: translateY(-50%) translateX(3px);
}

/* Responsive adjustments */
@media screen and (max-width: 1200px) {
    .homepage-h1 {
        font-size: 60px;
        line-height: 110px;
    }
}

@media screen and (max-width: 768px) {
    .hero-text-container {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding: 0 15px !important;
    }
    
    .homepage-h1 { font-family: 'Boldonse', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; font-weight: 400 !important; font-style: normal !important; font-size: 50px !important; line-height: 76px !important; letter-spacing: 0% !important; text-transform: uppercase !important; width: 100% !important; margin-bottom: 16px !important; }
    
    /* Hide desktop h2, show mobile h2 below h1 */
    .homepage-h2 { display: none !important; }
    .homepage-h2--mobile { display: block !important; width: 100% !important; padding-left: 0 !important; font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; font-weight: 700 !important; font-style: normal !important; font-size: 20px !important; line-height: 100% !important; letter-spacing: 0% !important;}
    .h1-wrapper { width: 100% !important; display: flex !important; flex-direction: column !important; justify-content: initial !important; align-items: flex-start !important; }
    .hero-button-container { position: static !important; margin-top: 16px !important; }
    .site-header .header-container { padding: 0 5px !important; }
    .main-navigation a, .hero-cta-button { padding: 8px 16px !important; }
    /* Reduce padding for all sections except hero */
    .section:not(.hero-section) { padding: 40px 10px; }
    /* About Us: stack columns */
    .about-us-content { flex-direction: column; align-items: flex-start; gap: 16px; }
    .about-us-title { width: 100%; font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 900; font-style: normal; font-size: 50px; line-height: 100%; letter-spacing: 0%; text-transform: uppercase; }
    .about-us-paragraph { width: 100%; font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 400; font-style: normal; font-size: 15px; line-height: 100%; letter-spacing: 0%; padding-top: 20px; }
}

.site-footer {
    background: radial-gradient(99.21% 166.67% at 32.9% 117.78%, #002D6A 0%, #01285C 10%, #07172A 51%, #0A0C0B 83%, #0C0900 100%);
    color: #ffffff;
    padding: 60px 0 15px 0;
}

.site-footer .footer-divider {
    height: 45px;
    width: 100vw;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 70%);
    margin-top: 20px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* Footer custom layout */
.site-footer .footer-custom {
    display: flex;
    flex-direction: column;
    gap: 30px;
    color: #ffffff;
    padding: 0 10px;
}

.site-footer .footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.site-footer .footer-col {
    width: 50%;
}

.site-footer .footer-logo img {
    max-height: 48px;
    width: auto;
    height: auto;
}

.site-footer .footer-phrase {
    font-family: 'Boldonse', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 50px;
    line-height: 76px;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin: 30px 0 0 0;
    color: #ffffff;
    white-space: pre-line;
}

.site-footer .footer-mid {
    display: flex;
    justify-content: flex-start;
}

.site-footer .footer-social {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px;
}

.site-footer .footer-social a {
    position: relative;
    display: inline-block;
    color: #ffffff;
    text-decoration: none;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    border-radius: 50px;
    border-bottom-right-radius: 0;
    padding: 10px 34px 10px 16px;
    transition: all 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='12' viewBox='0 0 13 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_95_5)'%3E%3Cpath d='M11.4278 1.33008V10.8401H1.91776' stroke='white' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M1.58777 1L11.4278 10.84' stroke='white' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_95_5'%3E%3Crect width='11.84' height='11.84' fill='white' transform='translate(0.587769)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 13px 12px;
    margin: 0 15px 15px 0;
}

.site-footer .footer-social a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.site-footer .footer-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 40px;
}

.site-footer .footer-contact {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
}

.site-footer .footer-contact a {
    color: #ffffff;
    text-decoration: none;
}

/* Contact text gradient + typography */
.site-footer .footer-contact a,
.site-footer .footer-contact .footer-address {
    font-family: 'Funnel Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: lowercase;
    background: linear-gradient(90deg, #40C6FF 0%, #FFFFFF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Contact icons */
.site-footer .footer-contact .footer-email a::before,
.site-footer .footer-contact .footer-phone a::before,
.site-footer .footer-contact .footer-address::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.site-footer .footer-contact .footer-email a::before {
    width: 22px;
    height: 17px;
    background-image: url("data:image/svg+xml,%3Csvg width='33' height='25' viewBox='0 0 33 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.94196 0H31.0103C32.0812 0 32.9578 0.875162 32.9578 1.95657V4.22531L15.8242 16.9793L0 4.97226V1.95657C0 0.880737 0.871109 0 1.94751 0H1.94196Z' fill='%2340C6FF'/%3E%3Cpath d='M30.6254 24.565H2.32947C1.28707 24.565 0.433716 23.6836 0.433716 22.5944V8.40195L15.8266 20.4892L32.5158 7.63281V22.5944C32.5158 23.678 31.6678 24.565 30.62 24.565H30.6254Z' fill='%2340C6FF'/%3E%3C/svg%3E");
}

.site-footer .footer-contact .footer-phone a::before {
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg width='33' height='32' viewBox='0 0 33 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.232 1.94165L30.0933 1.78717C29.0874 0.684795 27.915 0.56543 27.4571 0.56543C27.1727 0.56543 26.8813 0.586494 26.6038 0.607559C26.3402 0.628623 26.1113 0.649688 25.8546 0.635645C25.0846 0.586494 24.2035 0.755011 23.5306 2.40507C23.2809 2.99487 22.9063 3.91469 22.5247 4.84856C21.9628 6.21775 21.2621 7.91696 21.1581 8.13462C21.0263 8.40846 20.617 9.237 21.0956 10.1779C21.2691 10.55 21.4217 10.859 21.6298 11.182L21.6922 11.2732C21.7755 11.3856 21.8587 11.4979 21.9489 11.6173L21.9836 11.6594C22.1432 11.835 22.3027 12.0316 22.4623 12.2282C22.712 12.5301 22.9479 12.818 23.1768 13.0497C23.5514 13.4288 23.5445 13.4359 23.3988 13.6957C23.1144 14.1942 21.5743 16.7992 19.2503 18.8705C16.8847 21.0051 14.8521 21.8828 13.7629 22.3602C13.5271 22.4655 13.3328 22.5498 13.201 22.613C12.6738 22.8728 12.6183 22.8096 12.431 22.5989C11.8482 21.9249 10.4885 20.324 10.0376 19.6429C9.14269 18.2948 7.99804 18.7301 7.3945 18.9548C6.90889 19.1303 5.18844 19.9518 2.13604 21.4615L2.01811 21.5176C1.86549 21.5949 1.7198 21.6651 1.58106 21.7353C0.949767 22.0443 0.498843 22.2619 0.221352 22.7183C-0.187947 23.4134 -0.0145153 25.3303 0.616777 27.0717C1.38682 29.2834 4.9387 31.1512 6.48572 31.2846C6.67302 31.2986 6.83258 31.3407 7.02682 31.3899C7.38756 31.4812 7.7483 31.5654 8.28941 31.5654C9.46875 31.5654 11.4875 31.1301 16.1355 29.3045C20.9499 27.3876 25.7089 23.2098 29.5314 17.5294C29.6007 17.4241 29.6562 17.3469 29.677 17.3117C30.1557 16.6798 31.786 14.3978 32.5699 11.6594C32.8613 10.6202 33 9.68638 33 8.80167C33 4.90473 31.0576 2.81934 30.232 1.93463V1.94165Z' fill='%2340C6FF'/%3E%3C/svg%3E");
}

.site-footer .footer-contact .footer-address::before {
    width: 16px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='36' viewBox='0 0 24 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.3218 4.05083L20.2038 3.94018C18.0011 1.80626 14.9803 0.573333 11.9044 0.56543C8.83634 0.573333 5.8155 1.79836 3.62067 3.93228L3.4948 4.05873C-0.320595 7.89188 -1.09941 13.8352 1.59104 18.5141L11.9123 35.3799L22.2413 18.4903C24.916 13.8273 24.1372 7.88398 20.3218 4.05083ZM11.9123 18.1742C8.80487 18.1742 6.27963 15.6372 6.27963 12.5154C6.27963 9.39353 8.80487 6.85654 11.9123 6.85654C15.0196 6.85654 17.5449 9.39353 17.5449 12.5154C17.5449 15.6372 15.0196 18.1742 11.9123 18.1742Z' fill='%2340C6FF'/%3E%3C/svg%3E");
}

/* Ensure multi-line address aligns with icon centered vertically */
/* Consistent left padding for contact rows so text aligns on the same vertical line */
.site-footer .footer-contact > div { position: relative; padding-left: 32px; }

.site-footer .footer-legal {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-footer .footer-copyright {
    font-family: 'Gabarito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 10px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: right;
    margin: 0;
}

.site-footer .site-info {
    text-align: right;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    opacity: 0.9;
}

/* Footer logos row */
.site-footer .footer-logos-row {
    padding: 20px 0 0 0;
}
.site-footer .footer-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: center;
}
.site-footer .footer-logo-item img {
    max-height: 36px;
    width: auto;
}

/* Footer menu */
.site-footer .footer-menu-row {
    padding: 0;
}
.site-footer .footer-nav .footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
}
.site-footer .footer-nav .footer-menu a {
    color: #ffffff;
    text-decoration: none;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    opacity: 0.9;
}
.site-footer .footer-nav .footer-menu a:hover {
    opacity: 1;
}

/* Inner small divider before legal */
.site-footer .footer-inner-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    margin: 10px 0 20px 0;
}

.site-footer .footer-legal-right img {
    max-height: 26px;
    width: auto;
}

.site-footer .footer-legal-left img{
    max-height: 15px;
}
@media screen and (max-width: 768px) {
    .site-footer .footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .site-footer .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
    .site-footer .footer-col { width: 100% !important; }
    .site-footer .site-info {
        text-align: left;
    }
    .site-footer .footer-social { margin-top: 30px; }
    .site-footer .footer-social a { padding: 8px 30px 8px 14px; font-size: 11px; }
    .site-footer .footer-contact { gap: 14px; font-size: 13px; }
    .site-footer .footer-logos { gap: 24px; }
    .site-footer .footer-legal { flex-direction: column; align-items: flex-start; gap: 10px; }
}