/*
Theme Name: OneLoom Final Theme
Theme URI: http://oneloom.in
Author: OneLoom XR
Author URI: http://oneloom.in
Description: Custom WordPress theme for OneLoom XR.
Version: 1.0
*/

:root {
    --primary-bg: #1e242e;
    /* Deep Gunmetal Blue */
    --secondary-bg: #151920;
    /* Darker Blue-Black */
    --accent: #5884ea;
    /* Royal Blue */
    --accent-glow: rgba(88, 132, 234, 0.4);
    --text-main: #ffffff;
    --text-body: #cbd5e1;
    /* Light Blue-Grey */
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --transition: all 0.3s ease;
    --font-main: 'Poppins', sans-serif;
}

/* Reset & Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    background-color: var(--primary-bg);
    color: var(--text-body);
    line-height: 1.6;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-main);
    font-weight: 700;
    line-height: 1.2;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

/* Utilities */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.text-accent {
    color: var(--accent);
}

/* Section Visibility Toggle */
.section-hidden {
    display: none !important;
}

/* Mobile-only line break utility */
.mobile-break {
    display: none;
}

/* Visibility Utilities for HTML-based customization */
.mobile-visible {
    display: none !important;
    /* Hidden on Desktop/Tablet by default */
}

.desktop-visible {
    display: block !important;
    /* Visible on Desktop/Tablet by default */
}

.btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    text-align: center;
    border: none;
}

.btn-primary {
    background-color: var(--accent);
    color: white;
    box-shadow: 0 4px 20px var(--accent-glow);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px var(--accent-glow);
}

.btn-whatsapp {
    background-color: var(--accent);
    color: white;
    box-shadow: 0 4px 20px var(--accent-glow);
}

.btn-whatsapp:hover {
    transform: translateY(-2px);
    background-color: var(--accent);
    box-shadow: 0 8px 25px var(--accent-glow);
    color: white;
    filter: brightness(1.1);
}

/* Mobile sizing for Hero WhatsApp */
@media (max-width: 767px) {
    .btn-whatsapp {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Glassmorphism */
.glass-header,
.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

/* Header */
.glass-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 15px 0;
    transition: var(--transition);
}

.glass-header.scrolled {
    background: rgba(21, 25, 32, 0.85);
    padding: 10px 0;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    color: var(--text-main);
    transition: var(--transition);
}

.logo:hover {
    color: var(--accent);
}

.logo svg {
    height: 40px;
    width: auto;
}

.nav-links {
    display: flex;
    gap: 30px;
}

.nav-links li a {
    color: var(--text-main);
    font-weight: 500;
    font-size: 0.95rem;
}

.nav-links li a:hover {
    color: var(--accent);
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Hero Section */
.hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    overflow: hidden;
    background-color: var(--primary-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Clean Sweep: Ensure no background image on PC by default */
    background-image: none !important;
}

/* Mobile Video (Default) */
.hero-video-mobile {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
    object-fit: cover;
    display: block;
    opacity: 1 !important;
    /* Ensure visibility */
}

/* Mobile-Only Background Fallback (Aggressive Clean Sweep) */
@media screen and (max-width: 768px) {
    .hero-mobile-bg {
        background-image: url('assets/images/hero-mobile-poster.webp') !important;
    }

    /* --- VIRTUAL WALKTHROUGH PAGE MOBILE HERO --- */
    .hero-v-walkthrough {
        height: auto !important;
        min-height: 100vh !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding-top: 0 !important;
        background-image: none !important;
    }

    .hero-v-walkthrough .hero-video-mobile {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: 50vh !important;
        object-fit: cover !important;
        z-index: 1 !important;
        /* Removed mask/fade effect */
        -webkit-mask-image: none !important;
        mask-image: none !important;
        border-bottom: none !important;
        /* Removed previous border */
    }

    .hero-v-walkthrough .overlay {
        display: none !important;
    }

    .hero-v-walkthrough .hero-content {
        position: relative !important;
        z-index: 2 !important;
        padding: 60px 24px 40px !important;
        /* Increased top padding for the line */
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
        background: var(--primary-bg);
    }

    /* White Vertical Faded Line Bridge */
    .hero-v-walkthrough .hero-content::before {
        content: '';
        position: absolute;
        top: -30px;
        /* Bridge between video and content */
        left: 24px;
        /* Align with left padding */
        width: 1px;
        height: 60px;
        background: linear-gradient(to bottom, transparent, #ffffff, transparent);
        opacity: 0.8;
        display: block;
    }

    .hero-v-walkthrough .hero-title {
        font-size: 2.1rem !important;
        line-height: 1.2 !important;
        letter-spacing: -0.01em !important;
        text-align: left !important;
        margin-bottom: 18px !important;
        font-weight: 700 !important;
    }

    .hero-v-walkthrough .sub-headline {
        font-size: 1.05rem !important;
        line-height: 1.5 !important;
        text-align: left !important;
        margin-bottom: 35px !important;
        opacity: 0.9;
        font-weight: 400 !important;
    }

    .hero-v-walkthrough .cta-group {
        display: flex !important;
        flex-direction: row !important;
        /* Side-by-side buttons */
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        /* Keep side by side */
    }

    .hero-v-walkthrough .cta-group .btn {
        flex: 1 !important;
        padding: 14px 10px !important;
        font-size: 0.85rem !important;
        white-space: nowrap !important;
        border-radius: 10px !important;
        justify-content: center !important;
    }

    .hero-v-walkthrough .cta-group .btn i {
        display: none !important;
        /* Hide icons to save space on small screens */
    }
}

/* Explicitly neutralize the class on desktop to stop any leakage */
@media screen and (min-width: 769px) {
    .hero-mobile-bg {
        background-image: none !important;
        background: none !important;
    }
}

/* Desktop Video Container */
.hero-video-desktop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
    display: none;
    /* Hidden by default on mobile */
    pointer-events: none;
    /* Prevent interaction with YouTube UI */
}

.hero-video-desktop iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw;
    /* 16:9 Aspect Ratio */
    min-height: 100vh;
    min-width: 177.77vh;
    /* 16:9 Aspect Ratio */
    transform: translate(-50%, -50%);
    pointer-events: none;
}



/* Responsive Switching */
@media (min-width: 769px) {
    .hero-video-mobile {
        display: none;
    }

    .hero-video-desktop {
        display: block;
    }
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(to bottom,
            rgba(30, 36, 46, 0.8) 0%,
            rgba(30, 36, 46, 0.4) 50%,
            rgba(30, 36, 46, 0.8) 100%);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Remove blur on PC version for clarity */
@media screen and (min-width: 769px) {
    .overlay {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* Section Reordering (Mobile) (Full 1-10 Sequence) (Aggressive Fix) */
@media screen and (max-width: 768px) {

    /* Fallback: If main-wrapper is missing, use body as the flex container */
    .main-wrapper,
    body.home,
    body.index {
        display: flex !important;
        flex-direction: column !important;
    }

    /* Ensure Header and Footer stay in place if body is the container */
    header.glass-header {
        order: -1 !important;
    }

    .footer {
        order: 100 !important;
    }

    #home {
        order: 1 !important;
    }

    #walkthrough {
        order: 2 !important;
    }

    #detailed-services {
        order: 3 !important;
    }

    #how-it-works {
        order: 4 !important;
    }

    #video-showcase {
        order: 5 !important;
    }

    #why-developers-choose {
        order: 6 !important;
    }

    #features {
        order: 7 !important;
    }

    #cta {
        order: 8 !important;
    }

    #faq {
        order: 9 !important;
    }

    #contact {
        order: 10 !important;
    }
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 900px;
    /* Increased max-width for better left-align layout */
    padding-left: 20px;
    /* Added some breathing room */
}

.hero h1 {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: 20px;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    font-weight: 600;
    /* Semi-Bold */
}

.sub-headline {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    color: var(--text-main);
    margin-bottom: 5px;
    font-weight: 500;
    /* Medium */
}

.sub-headline-small {
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    margin-bottom: 40px;
    opacity: 0.9;
}

.cta-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    /* Left align buttons */
    gap: 15px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.btn-primary i {
    vertical-align: middle;
    margin-left: 8px;
    font-size: 1.1rem;
}

.trust-badge {
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Sections */
.section {
    padding: 100px 0;
    position: relative;
    /* For absolute positioning of gradients */
}

/* Smart Gradient aligned with section changes */
.section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    opacity: 1;
    /* Use exact rgba values */
    box-shadow: 0 0 30px 5px rgba(255, 255, 255, 0.05);
    /* Subtle white glow */
}

.walkthrough-points {
    display: flex;
    justify-content: center;
    gap: 15px 30px;
    /* Row gap 15px, Column gap 30px */
    flex-wrap: wrap;
    margin: -20px auto 40px;
    /* Negative top to pull to subtitle */
    padding: 0;
    list-style: none;
}

.walkthrough-points li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    color: var(--text-main);
    font-weight: 500;
}

.walkthrough-points i {
    color: var(--accent);
    font-size: 1.2rem;
}

.section-title {
    text-align: center;
    font-size: clamp(1.6rem, 4vw, 2.8rem);
    margin-bottom: 60px;
    position: relative;
    z-index: 2;
}

.section-subtitle {
    text-align: center;
    font-size: 1.1rem;
    color: var(--text-body);
    max-width: 800px;
    /* Limit width for reading comfort */
    margin: -40px auto 60px;
    /* Pull closer to title, center horizontally */
    display: block;
    line-height: 1.6;
}

#walkthrough .section-subtitle {
    color: #ffffff !important;
}

.section-header-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 60px;
    width: 100%;
}

.title-line {
    height: 1px;
    flex-grow: 1;
    max-width: 200px;
    /* Increased length */
}

/* Left Line: Fades from transparent to visible (rightwards towards text) */
.section-header-centered .title-line:first-child {
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5));
}

/* Right Line: Fades from visible to transparent (rightwards away from text) */
.section-header-centered .title-line:last-child {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
}

.section-header-centered .section-title {
    margin-bottom: 0;
    white-space: nowrap;
    text-align: center;
}

/* How It Works Section - Specific margin for PC and tablet */
@media (min-width: 768px) {
    #how-it-works .section-header-centered {
        margin-bottom: 120px;
        margin-top: 0px;
    }

    /* Reduce spacing between process boxes and discovery banner */
    #how-it-works .discovery-banner {
        margin-top: -200px;
    }
}

/* Solution Section */
.solution {
    background-color: var(--primary-bg);
}

.split-layout {
    display: flex;
    align-items: center;
    gap: 60px;
}

.image-column,
.text-column {
    flex: 1;
}

.rounded-shadow {
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.text-column h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.text-column p {
    font-size: 1.1rem;
    margin-bottom: 30px;
}

.benefit-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    font-size: 1.1rem;
}

.benefit-list i {
    color: var(--accent);
    font-size: 1.4rem;
}

/* Experience Demo Section */
.experience-demo {
    padding-bottom: 50px;
}

.video-wrapper {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 40px;
    border-radius: 20px;
    /* Outer radius for glass cleaning */
    padding: 10px;
    /* Space for glass border */
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.demo-video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    /* Ensure 16:9 ratio for YouTube */
    border-radius: 10px;
    /* Inner radius as requested */
    display: block;
}

.demo-checklist {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.check-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    color: var(--text-main);
}

.icon-box {
    width: 32px;
    height: 32px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1rem;
    box-shadow: 0 2px 10px var(--accent-glow);
}

/* Discovery Banner */
.discovery-banner {
    max-width: 1000px;
    width: 100%;
    margin: 40px auto 40px;
    margin: 40px auto 40px;
    background: rgba(255, 255, 255, 0.03);
    /* Neutral glass - "Only Glass Type Effect" */
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* Subtle white border */
    border-radius: 100px;
    padding: 25px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    /* Subtle shadow, no glow */
}

.banner-left,
.banner-right {
    display: flex;
    align-items: center;
    gap: 20px;
    text-align: left;
}

.banner-left p {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--text-main);
    line-height: 1.4;
}

.icon-circle {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
}

.banner-right {
    gap: 20px;
}

/* Ensure banner buttons are clickable and have proper hover effects */
.discovery-banner .btn {
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative;
    z-index: 100;
    transition: all 0.3s ease;
    text-decoration: none;
}

.discovery-banner .btn:hover {
    cursor: pointer !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px var(--accent-glow);
}

.discovery-banner .btn:active {
    transform: translateY(0px);
}

/* Ensure discovery banner is not blocking clicks */
.discovery-banner {
    position: relative;
    z-index: 50;
}

.trust-text {
    font-size: 0.9rem;
    opacity: 0.7;
    max-width: 100px;
    line-height: 1.2;
}

/* Visibility Control for Mobile CTA Implementation */
/* Visibility Control */
.mobile-only,
.mobile-only-box {
    display: none !important;
}

.desktop-only,
.desktop-tablet-only {
    display: flex !important;
}

@media (max-width: 768px) {

    .mobile-only,
    .mobile-only-box {
        display: flex !important;
    }

    .desktop-only,
    .desktop-tablet-only {
        display: none !important;
    }


    .mobile-only-box {
        display: flex !important;
        flex-direction: column;
        margin-top: 40px;
        /* Add some spacing */
        width: 100%;
        padding: 40px 20px;
        /* Match standard mobile CTA padding: 40px top/bottom, 20px left/right */
        min-height: auto;
        /* Allow content to dictate height */
        box-sizing: border-box;
        /* Ensure padding is included in width */
    }

    /* Specific alignment for "How It Works" mobile CTA to match process cards */
    #how-it-works .mobile-only-box {
        width: auto;
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 40px;
    }

    .desktop-tablet-only {
        display: none !important;
    }
}

/* =========================================
   MOBILE-ONLY CUSTOMIZATION SANDBOX
   All changes here will ONLY affect phone version (max-width: 768px)
   Add your text size, alignment, margin, and padding adjustments below.
   ========================================= */

@media (max-width: 768px) {

    /* Show mobile break on phones */
    .mobile-break {
        display: block;
    }

    /* Visibility Utilities toggling for Mobile */
    .mobile-visible {
        display: block !important;
        /* Show on mobile */
    }

    .desktop-visible {
        display: none !important;
        /* Hide on mobile */
    }

    /* ------------------------------
       1. Global Text & Layout
    ------------------------------ */

    /* Subheadings and Titles: Add overrides below if needed */

    .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        display: flex;
        /* Ensure centering works with flex if icons exist */
    }

    /* ------------------------------
       2. Section-Specific Overrides
    ------------------------------ */

    /* Subheading 20% smaller (Original 1.1rem -> ~0.88rem) */
    #detailed-services .section-subtitle {
        font-size: 0.88rem;
    }

}

/* Contact Section */
.contact-section {
    position: relative;
    padding-bottom: 80px;
}

.contact-layout {
    display: flex;
    gap: 60px;
    align-items: center;
    justify-content: space-between;
}

.contact-text {
    flex: 1;
    max-width: 500px;
}

.contact-text .description {
    font-size: 1.1rem;
    color: var(--text-body);
    margin-bottom: 40px;
    line-height: 1.6;
}

.contact-info-items {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.info-item i {
    font-size: 1.5rem;
    color: var(--accent);
    background: rgba(88, 132, 234, 0.1);
    padding: 15px;
    border-radius: 50%;
    border: 1px solid rgba(88, 132, 234, 0.2);
}

.info-item h4 {
    color: var(--text-main);
    font-size: 1.1rem;
    margin-bottom: 5px;
}

.info-item p {
    color: var(--text-body);
    font-size: 1rem;
}

.contact-form-wrapper {
    flex: 1;
    max-width: 500px;
    padding: 40px;
    background: rgba(30, 36, 46, 0.7);
    /* Slightly darker glass */
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    color: var(--text-main);
    font-size: 0.95rem;
    font-weight: 500;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: #ffffff;
    font-family: inherit;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--accent);
    background: rgba(255, 255, 255, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

@media (max-width: 992px) {
    .contact-layout {
        flex-direction: column;
        gap: 40px;
    }

    .contact-text,
    .contact-form-wrapper {
        max-width: 100%;
    }
}

/* Pain Points Grid */
.problems {
    padding-bottom: 50px;
}

/* Revert specific overrides to allow global styles (White text, Glass cards) to take effect */
.problems .section-title {
    /* Keep structural tweaks if desired, but remove dark color */
    margin-top: -10px;
    font-weight: 600;
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto;
    gap: 20px;
}

/* First 3 items span 2 columns each (Row 1) */
.bento-grid .glass-card:nth-child(1),
.bento-grid .glass-card:nth-child(2),
.bento-grid .glass-card:nth-child(3) {
    grid-column: span 2;
}

/* Last 2 items span 3 columns each (Row 2) */
.bento-grid .glass-card:nth-child(4),
.bento-grid .glass-card:nth-child(5) {
    grid-column: span 3;
}

/* Features Grid */
.features {
    padding-bottom: 50px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.glass-card {
    padding: 40px 30px;
    border-radius: 16px;
    text-align: left;
    transition: var(--transition);
}

.glass-card:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(88, 132, 234, 0.15);
    /* Accent glow */
    border-color: rgba(255, 255, 255, 0.2);
}

.icon-large {
    font-size: 3rem;
    color: var(--accent);
    margin-bottom: 20px;
    display: block;
}

.glass-card h3 {
    font-size: 1.4rem;
    margin-bottom: 15px;
}

/* ROI Section */
.roi {
    background-color: var(--secondary-bg);
    margin-top: 50px;
    border-top: 1px solid var(--glass-border);
}

.logo-img {
    max-height: 60px;
    width: auto;
    display: block;
}



/* CTA Section */
.cta-section {
    padding: 100px 0;
    position: relative;
    background: transparent;
    /* Reset full width background */
}

.cta-box {
    background: linear-gradient(135deg, #1e242e 0%, var(--accent) 100%);
    /* Brand aligned gradient */
    border-radius: 30px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    /* Clip shapes */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cta-text-content {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
}

.cta-icon i {
    font-size: 1.3em;
    /* Increase by 30% as requested */
    color: inherit;
    /* Ensure color doesn't change relative to parent/default text color */
}

.cta-box h2 {
    font-size: 3rem;
    margin-bottom: 15px;
    font-weight: 700;
    color: white;
}

.cta-box .subline {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
}

.cta-action-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.btn-cta {
    background: rgba(88, 132, 234, 0.2);
    /* Brand color with opacity for glass effect */
    color: #ffffff;
    /* White text for contrast */
    padding: 15px 40px;
    font-weight: 600;
    border-radius: 50px;
    font-size: 1.1rem;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    /* Glass border */
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.btn-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(88, 132, 234, 0.3);
    /* Enhanced shadow on hover */
    background: rgba(88, 132, 234, 0.4);
    /* Slightly unrelated to specific request but good for hover effect */
    color: #ffffff;
}

.cta-note {
    font-size: 0.9rem;
    opacity: 0.8;
    color: white;
}

/* Floating Shapes */
.shape {
    position: absolute;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    transform: rotate(45deg);
    z-index: 1;
}

.shape-1 {
    width: 200px;
    height: 200px;
    top: -50px;
    left: -50px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
}

.shape-2 {
    width: 150px;
    height: 150px;
    bottom: -30px;
    right: -30px;
    background: linear-gradient(135deg, rgba(88, 132, 234, 0.4), rgba(255, 255, 255, 0.01));
}

@media (max-width: 768px) {
    .cta-box {
        padding: 40px 20px;
        /* White glass effect for mobile */
        background: rgba(255, 255, 255, 0.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .cta-box h2 {
        font-size: 2rem;
    }

    /* Blue button for mobile */
    .cta-box .btn-cta {
        background: var(--accent);
        border: 1px solid var(--accent);
    }

    .cta-box .btn-cta:hover {
        background: var(--accent);
        box-shadow: 0 15px 30px var(--accent-glow);
    }

    /* Blue globe icon for mobile - matching button color and 30% larger */
    .cta-box .cta-icon i {
        color: var(--accent);
        font-size: 1.69em;
        /* 1.3em * 1.3 = 1.69em (30% increase) */
    }
}

/* Detailed Services Section */
/* Detailed Services Section */
/* Detailed Services Section */
.detailed-services {
    padding: 100px 20px;
    /* Increased to 20px horizontal padding */
    background-color: #ffffff;
    /* White Background */
    overflow: hidden;
    /* Prevent horizontal scroll if heading is too long */
    margin: 50px;
    /* Requested margin */
    border-radius: 10px;
    /* Requested border radius */
}

.detailed-services .section-title {
    color: #000000 !important;
    /* User requested #1e242e */
    font-weight: 600;

    text-align: center;
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    .detailed-services .section-title {

        /* Mobile Only */
    }
}

.detailed-services .section-subtitle {
    max-width: 100%;
    width: 100%;
    text-align: center;
    color: #000000 !important;
    /* Dark Subtitle */
}

.services-container {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    backdrop-filter: none;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    /* Full Width for long heading */
}

.section-subtitle {
    font-size: 1.2rem;
    color: #475569;
    /* Dark text */
    max-width: 800px;
    margin: -40px auto 60px;
    line-height: 1.6;
}

.service-row {
    display: flex;
    align-items: center;
    gap: 30px;
    /* Comfortable gap inside box */
    margin-bottom: 40px;
    background: #f8fafc;
    /* Light Grey BG for contrast against white section */
    border: 1px solid #e2e8f0;
    /* Subtle Border */
    border-radius: 16px;
    padding: 30px;
    /* Inner spacing */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-row:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.service-row:last-child {
    margin-bottom: 0;
}

.service-row.reverse {
    flex-direction: row-reverse;
}

.service-image {
    flex: 1;
    padding: 0;
    margin-left: 0;
    background: none;
    border: none;
    border-radius: 0;
}

.rounded-img {
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    /* Lighter shadow */
    width: 100%;
    height: auto;
    object-fit: cover;
}


/* Interactive Walkthrough Section */
.walkthrough-section {
    padding: 100px 0;
    background-color: var(--secondary-bg);
    /* Dark background to contrast with white services section */
    position: relative;
    border-top: 1px solid var(--glass-border);
}

.walkthrough-container {
    width: 100%;
    margin: 0 auto 30px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    background: #000;
    /* Fallback for loading */
    /* Removed glass border from default (mobile) */
}

.walkthrough-container iframe {
    width: 100%;
    height: 60vh;
    /* Adjusted for mobile */
    min-height: 400px;
    border: none;
    display: block;
}

/* Desktop & Tablet Styles */
@media (min-width: 768px) {
    .walkthrough-container {
        width: 100%;
        max-width: 1100px;
        aspect-ratio: 16 / 9;
        margin: 0 auto 30px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        padding: 10px;
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(10px);
    }

    .walkthrough-container iframe {
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }
}

.walkthrough-tips {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.walkthrough-tips .tip {
    font-size: 0.95rem;
    color: var(--text-body);
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 16px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.walkthrough-tips .tip i {
    color: var(--accent);
    font-size: 1.2rem;
}

@media (max-width: 768px) {
    .walkthrough-container iframe {
        height: 50vh;
        /* Slightly smaller on mobile to fit screen better */
        min-height: 400px;
    }

    .walkthrough-tips {
        gap: 15px;
    }

    .walkthrough-tips .tip {
        font-size: 0.85rem;
        padding: 6px 12px;
    }
}

/* Desktop Only: Fixed Image Size */
/* Desktop & Tablet: Fixed Image Size & Heading Style */
@media (min-width: 768px) {
    .detailed-services .rounded-img {
        width: 100%;
        max-width: 600px;
        height: auto;
        aspect-ratio: 2 / 1;
        object-fit: cover;
    }

    .detailed-services .service-content h3 {
        font-size: clamp(1.3rem, 2.5vw, 1.8rem);
        font-weight: 600;
    }
}

.service-content {
    flex: 1;
    text-align: left;
    padding: 0;
    margin-left: 50px;
    /* Requested 2024 margin for text */
    background: none;
    border: none;
    border-radius: 0;
}

.service-content h3 {
    font-size: 2rem;
    color: #000000 !important;
    /* User requested #1e242e */
    margin-bottom: 20px;
    font-weight: 600;
}

.service-content p {
    font-size: 1.1rem;
    color: #000000 !important;
    /* Dark Paragraph */
    line-height: 1.8;
}

/* Mobile Responsive for Services */
@media (max-width: 767px) {

    .service-row,
    .service-row.reverse {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 60px;
    }

    .service-image,
    .service-content {
        margin-left: 0;
        /* Reset margin for mobile */
    }

    .detailed-services .section-title {

        color: #000000 !important;
        /* Explicit Dark Color for Heading */
    }

    #detailed-services .section-subtitle,
    #walkthrough .section-subtitle {
        font-size: 0.94rem !important;
    }

    #walkthrough .section-subtitle {
        margin-top: 0 !important;
        margin-bottom: 30px !important;
    }

    .service-content p {
        font-size: 0.94rem;
    }

    .service-content h3 {
        font-size: 1.5rem;
    }

    .services-container {
        padding: 30px 20px;
        /* Reduced padding for mobile */
    }
}



/* FAQ Section */
.faq-section {
    padding: 100px 0;
    position: relative;
    background: transparent;
}

.faq-layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
    align-items: start;
}

.faq-header .subtitle {
    font-size: 0.9rem;
    color: var(--accent);
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 600;
    text-transform: uppercase;
}

.faq-header .section-title {
    margin-bottom: 20px;
    text-align: left;
    /* Align left for this layout */
}

.faq-header .description {
    color: var(--text-body);
    font-size: 1.1rem;
    max-width: 400px;
}

.faq-item {
    background: rgba(255, 255, 255, 0.03);
    /* Subtle glass bg */
    border: 1px solid rgba(255, 255, 255, 0.08);
    /* Subtle glass border */
    border-radius: 12px;
    margin-bottom: 20px;
    padding: 0 25px;
    /* Side padding inside card */
    transition: all 0.3s ease;
}

.faq-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    /* Restore border for last child */
}

.faq-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.15);
}

.faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-main);
    font-size: 1.15rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    transition: color 0.3s ease;
    font-family: var(--font-main);
}

.faq-question:hover {
    color: var(--text-main);
    /* Keep white on hover since card highlights */
}

.faq-question i {
    font-size: 1.25rem;
    transition: transform 0.3s ease;
    color: var(--text-body);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer p {
    color: var(--text-body);
    font-size: 1.05rem;
    padding-bottom: 25px;
    line-height: 1.6;
    opacity: 0.9;
    padding-top: 0;
}

/* Active State */
.faq-item.active {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}

.faq-item.active .faq-question {
    color: var(--text-main);
}

.faq-item.active .faq-question i {
    transform: rotate(45deg);
    /* Plus to X */
    color: var(--text-main);
}

/* Responsive FAQ */
@media (max-width: 992px) {
    .faq-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .faq-header {
        text-align: center;
        margin-bottom: 20px;
    }

    .faq-header .section-title {
        text-align: center;
    }

    .faq-header .description {
        margin: 0 auto;
    }
}

/* Contact Section Redesign */
.contact-section {
    padding: 120px 0;
    position: relative;
    background: transparent;
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: start;
}

.contact-text .subtitle {
    font-size: 0.9rem;
    color: var(--accent);
    letter-spacing: 1px;
    margin-bottom: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.contact-text .section-title {
    margin-bottom: 20px;
    text-align: left;

    line-height: 1.2;
}

.contact-text .description {
    color: var(--text-body);
    font-size: 1.15rem;
    line-height: 1.8;
    margin-bottom: 50px;
    opacity: 0.9;
}

.contact-info-items {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.info-item i {
    width: 60px;
    height: 60px;
    background: rgba(88, 132, 234, 0.1);
    border: 1px solid rgba(88, 132, 234, 0.2);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--accent);
    box-shadow: 0 4px 15px rgba(88, 132, 234, 0.2);
}

.info-item h4 {
    font-size: 1.1rem;
    color: var(--text-main);
    margin-bottom: 5px;
}

.info-item p {
    color: var(--text-body);
    font-size: 1.1rem;
    margin: 0;
}

/* Contact Form Styling */
.contact-form-wrapper {
    padding: 50px;
    border-radius: 30px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-group label {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-main);
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-main);
    font-family: inherit;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--accent);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 4px rgba(88, 132, 234, 0.1);
}

.btn-block {
    width: 100%;
    margin-top: 10px;
    padding: 18px !important;
    font-size: 1.15rem !important;
    background-color: var(--accent) !important;
    /* Ensure blue background */
    color: white !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive UI for Contact Section */
@media (max-width: 992px) {
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .contact-text {
        text-align: left;
    }

    .contact-text .section-title {
        text-align: left;

    }

    .contact-text .description {
        margin: 0 0 50px;
        max-width: 600px;
    }

    .info-item {
        justify-content: flex-start;
        text-align: left;
    }

    .contact-form-wrapper {
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .contact-section {
        padding: 80px 0;
    }

    .contact-text .section-title {}

    .info-item i {
        width: 50px;
        height: 50px;
        font-size: 1.4rem;
    }
}

/* Footer Gap Fix */
.footer {
    background-color: #0d1015;
    padding: 80px 0 30px;
    color: #ffffff;
    font-size: 0.95rem;
    border-top: 1px solid #1e293b;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 60px;
}

.footer-col h4 {
    color: var(--text-main);
    font-size: 1.1rem;
    margin-bottom: 25px;
    font-weight: 600;
}

.footer-logo-img {
    margin-bottom: 20px;
    margin-left: 0;
    /* Reset generic margin */
    max-height: 45px;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--accent);
    padding-left: 5px;
}

.contact-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.contact-list i,
.address-box i {
    color: var(--accent);
    font-size: 1.2rem;
}

.address-box {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.footer-bottom {
    border-top: 1px solid #1e293b;
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.social-links {
    display: flex;
    gap: 15px;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    color: var(--text-main);
    transition: var(--transition);
}

.social-links a:hover {
    background: var(--accent);
    transform: translateY(-3px);
}

.social-links i {
    font-size: 1.2rem;
}

/* Animations */
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 768px) {
    .mobile-visible {
        display: block !important;
    }

    .desktop-visible {
        display: none !important;
    }

    .header-content .nav-links,
    .header-content .btn {
        display: none;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .hero {
        justify-content: center;
        text-align: center;
    }

    .hero-content {
        padding-left: 20px;
        padding-right: 20px;
        width: 100%;
    }

    .hero h1,
    .sub-headline,
    .sub-headline-small,
    .cta-group {
        margin-left: 0;
        /* Reset desktop negative margin */
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .cta-group {
        justify-content: center;
        margin-top: 30px;
    }

    .split-layout {
        flex-direction: column;
        gap: 40px;
    }

    .text-column {
        order: 2;
    }

    .image-column {
        order: 1;
        width: 100%;
    }

    /* Stack Bento Grid on Mobile */
    .bento-grid {
        grid-template-columns: 1fr;
        /* Stack vertically */
        gap: 20px;
    }

    .bento-grid .glass-card {
        grid-column: span 1 !important;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .logo-img {
        max-height: 50px;
        margin-left: -15px;
    }

    .footer-logo-img {
        margin-left: 0;
    }

    /* Stack Discovery Banner */
    .discovery-banner {
        flex-direction: column;
        gap: 20px;
        padding: 30px 20px;
        text-align: center;
        border-radius: 20px;
        /* Smaller radius for stacked mobile view */
    }

    .banner-left,
    .banner-right {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .trust-text {
        max-width: none;
        white-space: nowrap;
    }
}



/* Why Developers Choose Section */
.developers-choice {
    padding-bottom: 50px;
    background-color: var(--primary-bg);
}

.developers-grid {
    display: grid;
    grid-template-columns: 1fr;
    /* Default Mobile: Stacked */
    gap: 20px;
    margin-top: 40px;
}

/* Tablet Layout (2 columns bento) */
@media (min-width: 768px) {
    .developers-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Make last item span full width on tablet */
    .developer-card:last-child {
        grid-column: span 2;
    }
}

/* PC Layout (3 columns bento) */
@media (min-width: 1025px) {
    .developers-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: minmax(180px, auto);
        /* Minimum height for bento feel */
    }

    /* First item spans 2 columns */
    .developer-card:first-child {
        grid-column: span 2;
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
        /* Subtle distinction */
    }

    /* Reset last child span from tablet query */
    .developer-card:last-child {
        grid-column: span 1;
    }

    /* Optional: Make the first card content larger/fancier */
    .developer-card:first-child p {
        font-size: 1.3rem;
    }
}

.developer-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 30px;
    gap: 20px;
    text-align: left;
    transition: var(--transition);
    /* Ensure glass card styles apply correctly */
    background: rgba(255, 255, 255, 0.05);
    /* Slight tint adjustment if needed */
}

/* Override glass-card default for this section if needed */

.developer-card p {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--text-main);
    margin: 0;
    line-height: 1.4;
    flex-grow: 1;
}

.developer-card i.icon-highlight {
    font-size: 2.2rem;
    color: var(--accent);
    min-width: 40px;
    text-align: center;
    flex-shrink: 0;
}

.developer-card:hover {
    border-color: var(--accent);
    background: rgba(88, 132, 234, 0.1);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(88, 132, 234, 0.2);
}

/* How It Works Section */
.how-it-works {
    background-color: var(--secondary-bg);
    /* slightly clearer background to separate sections */
    position: relative;
}

/* Increase container width for this section to allow wider boxes */
.how-it-works .container {
    max-width: 1560px;
    /* 30% wider than default 1200px */
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 40px;
    align-items: start;
    /* Ensure push-down works without stretching */
    position: relative;
}

/* Desktop Only: Uniform box sizes */
@media (min-width: 1025px) {

    /* Make all boxes same size on desktop - increased by 30% */
    .process-grid .process-card {
        text-align: center;
        /* Ensure card content is centered */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* Center content vertically */
    }

    .process-card p {
        text-align: center;
        max-width: 90%;
        /* Prevent text from stretching too wide */
    }

    .step-header {
        justify-content: center;
        /* Center header items */
        width: 100%;
    }

    .process-card {
        min-height: 715px;
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 1;
    }

    .step-image-container {
        height: 364px;
        flex-shrink: 0;
    }

    .step-content {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    .process-card:nth-child(even) {
        margin-top: 60px;
        /* Push down 2nd and 4th cards */
    }
}

/* Revised How It Works - Image Based */
.process-card {
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    overflow: hidden;
    /* Remove previous glass styling as per new design reference which is cleaner */
}

/* Image Container */
.step-image-container {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
    aspect-ratio: 16 / 9;
    /* 16:9 landscape ratio */
}

.step-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.process-card:hover .step-img {
    transform: scale(1.05);
}

/* Content Styling */
.step-content {
    padding: 0 5px;
}

.step-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    /* Subtle line under header if needed, or specific line element */
    padding-bottom: 10px;
}

.line-separator {
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: var(--text-body);
    margin-right: 10px;
}

.process-card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    /* Semi-bold */
    color: var(--text-main);
    flex-grow: 1;
    margin: 0 10px;
}

.step-num {
    font-family: monospace;
    font-size: 1.2rem;
    color: var(--text-body);
    opacity: 0.7;
}

.process-card p {
    font-size: 0.95rem;
    color: var(--text-body);
    line-height: 1.5;
}

.icon-wrapper {
    display: none;
    /* Hide old icon wrapper if any remains */
}

/* =========================================
   Responsive Enhancements (Added)
   ========================================= */

/* Tablet & Smaller Laptops (max-width: 1024px) */
@media (max-width: 1024px) {
    .container {
        max-width: 900px;
    }

    .hero h1 {
        font-size: clamp(2rem, 4vw, 2.5rem);
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
        padding: 0 40px;
    }

    .hero {
        justify-content: center;
    }

    .cta-group {
        justify-content: center;
    }

    /* How It Works - Tablet (Staggered 2x2) */
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        align-items: start;
    }

    .process-card:nth-child(even) {
        margin-top: 20px;
    }
}

/* Intermediate Tablet Landscape (max-width: 1200px) */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }

    .faq-layout,
    .contact-layout {
        gap: 40px;
    }
}

/* Intermediate Large Screens (max-width: 1400px) */
@media (max-width: 1400px) {
    .container {
        max-width: 1140px;
    }
}

/* Intermediate Small Tablet (max-width: 900px) */
@media (max-width: 900px) {
    .container {
        max-width: 720px;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .process-card:nth-child(even) {
        margin-top: 0;
    }
}

/* Tablets (max-width: 768px) - Enhancing existing queries */
@media (max-width: 768px) {
    .grid-3 {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }

    .detailed-services .section-title {
        white-space: normal;
        /* Allow wrapping on small screens */

        line-height: 1.3;
    }

    .service-row {
        padding: 20px;
    }

    .rounded-img {
        height: auto;
        width: 100%;
        max-height: 300px;
        object-fit: cover;
    }
}

/* Mobile Phones (max-width: 480px) */
@media (max-width: 480px) {
    .container {
        padding: 0 15px;
    }

    .hero h1 {
        font-size: 1.8rem;
        line-height: 1.2;
    }

    .sub-headline {
        font-size: 1.1rem;
    }

    .section-title {
        font-size: clamp(1.6rem, 4vw, 2.8rem);
        margin-bottom: 40px;
    }

    .icon-large {
        font-size: 2.5rem;
    }

    .btn,
    .btn-primary,
    .btn-cta {
        padding: 12px 20px;
        font-size: 0.9rem;
        width: 100%;
        /* Full width buttons on mobile */
    }

    .cta-group {
        flex-direction: column;
        width: 100%;
    }

    .cta-box {
        padding: 30px 15px;
    }

    .cta-box h2 {
        font-size: 1.5rem;
    }

    .cta-box .subline {
        font-size: 1rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* How It Works - Mobile Stacked with Glass Style */
    .process-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .process-card {
        background: rgba(255, 255, 255, 0.08);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.15);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
        border-radius: 20px;
        padding: 15px;
        margin-top: 0 !important;
        transition: var(--transition);
    }

    .process-card:hover {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.3);
        transform: translateY(-3px);
    }

    .step-image-container {
        border-radius: 15px;
        margin-bottom: 15px;
    }

    .step-content {
        padding: 10px;
    }

    .step-header {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
}

.process-card h3 {
    font-size: 0.95rem;
    margin: 0 5px;
}

.step-num {
    font-size: 1rem;
}

.process-card p {
    font-size: 0.8rem;
    padding: 0 5px;
    line-height: 1.4;
}

.step-image-container {
    border-radius: 10px;
    margin-bottom: 10px;
}

.step-number {
    font-size: 3rem;
    /* Smaller background number */
}

/* Detailed Services Styles - Mobile Specific */
.detailed-services {
    margin: 10px;
    /* Requested 10px margin */
    padding: 20px 0;
    background: #ffffff;
    /* Requested white background */
    border-radius: 10px;
    /* Requested 10px border radius */
}

.services-container {
    padding: 0 15px;
    /* Slight padding for content */
}

.service-row {
    margin-bottom: 40px;
    background: none;
    /* Remove Glass Effect Background */
    border: none;
    /* Remove Border */
    box-shadow: none;
    /* Remove Shadow */
    padding: 0;
    /* Remove internal padding */
}

.section-header-centered {
    gap: 10px;
    margin-bottom: 40px;
}

.section-header-centered .section-title {

    white-space: normal;
    /* Allow wrapping */
    line-height: 1.3;
    flex-shrink: 0;
    max-width: 70%;
    /* Ensure text takes up most space */
}

.title-line {
    max-width: 50px;
    /* Shorten lines on mobile */
    flex-shrink: 1;
}

/* Force Image Size on Mobile as requested */
.detailed-services .rounded-img {
    width: 100%;
    height: 400px;
    /* Requested fixed height */
    object-fit: cover;
    border-radius: 10px;
}


/* Video Showcase Section */
.video-showcase {
    padding-bottom: 50px;
    background-color: var(--primary-bg);
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.video-card {
    padding: 10px !important;
    /* Glass padding/border effect */
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    transition: var(--transition);
    aspect-ratio: 16 / 9;
    /* Move aspect ratio here */
}

/* Removed .video-wrapper styles as it's deleted */

.video-card iframe {
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: auto;
    border-radius: 10px;
    /* Apply radius to iframe/video */
}

.sound-toggle-btn {
    position: absolute;
    top: 15px;
    left: 15px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 8px 16px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    z-index: 10;
    transition: var(--transition);
}

.sound-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
}

.sound-toggle-btn i {
    font-size: 1rem;
}

/* Mobile & Tablet Responsive Layout */
@media (max-width: 1024px) {
    .video-grid {
        display: flex;
        overflow-x: auto;
        gap: 20px;
        padding-bottom: 20px;
        /* Space for scrollbar if visible, or touch area */
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        /* Hide scrollbar for Chrome/Safari/Opera */
        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE 10+ */
    }

    .video-grid::-webkit-scrollbar {
        display: none;
        /* Chrome/Safari/Opera */
    }

    .video-card {
        min-width: 300px;
        /* Ensure cards have width to scroll */
        scroll-snap-align: center;
        flex-shrink: 0;
    }
}

@media (max-width: 768px) {
    .video-card {
        min-width: 85%;
        /* Show part of next card to encourage scroll */
        scroll-snap-align: center;
    }

    .video-showcase .container {
        padding-right: 0;
        /* Allow full bleed scroll on right if desired */
    }
}

@media (max-width: 768px) {
    .nav-links.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--secondary-bg);
        padding: 20px;
        text-align: center;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        z-index: 1000;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        animation: slideDown 0.3s ease forwards;
    }

    .nav-links.active li {
        margin: 15px 0;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Walkthrough Loader */
.walkthrough-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--secondary-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 20;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.walkthrough-loader.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loader-content {
    text-align: center;
    color: var(--text-main);
}

.spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255, 255, 255, 0.1);
    border-top: 3px solid var(--accent);
    border-radius: 50%;
    margin: 0 auto 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loader-content p {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

/* Mobile Fullscreen Trigger */
.fullscreen-trigger {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: auto;
    z-index: 10005;
    /* Extremely high to ensure visibility */
    width: 44px;
    height: 44px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: white;
    font-size: 1.2rem;
    display: none;
    /* Hidden by default (desktop) */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    /* Ensure clickable */
    transition: all 0.3s ease;
}

/* Hide Header on Mobile Fullscreen */
body.walkthrough-active header.glass-header {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

.fullscreen-trigger:active {
    transform: scale(0.95);
    background: rgba(0, 0, 0, 0.8);
}

/* Mobile/Tablet Adjustments */
@media (max-width: 1024px) {
    .fullscreen-trigger {
        display: flex;
        /* Show on mobile */
    }

    /* Allow inline interaction on mobile */
    .walkthrough-container:not(.fullscreen) iframe {
        pointer-events: auto;
    }

    .walkthrough-container.fullscreen .fullscreen-trigger {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}

.walkthrough-back-btn {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 10006;
    /* Above almost everything */
    background: rgba(0, 0, 0, 0.6);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.walkthrough-container.fullscreen .walkthrough-back-btn {
    opacity: 1;
    visibility: visible;
}

/* Fullscreen Logo */
.fullscreen-logo {
    display: none;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    /* Adjust size as needed */
    height: auto;
    z-index: 10006;
    /* Ensure visible over container */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.walkthrough-container.fullscreen .fullscreen-logo {
    display: block;
}

/* Fullscreen State */
.walkthrough-container.fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    max-width: none;
    margin: 0;
    border-radius: 0;
    z-index: 9999;
    padding: 0;
    background: #000;
    /* Glass Border Effect */
    border: 5px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
    /* Ensure border doesn't add to width */
}

.walkthrough-container.fullscreen iframe {
    height: 100%;
    border-radius: 0;
    pointer-events: auto !important;
    /* Force interaction in fullscreen */
}

/* =========================================
   MOBILE TEXT CUSTOMIZATION & ALIGNMENT
   (Max-Width: 768px)
   ========================================= */

@media (max-width: 768px) {

    /* --- 1. HERO SECTION (Top Area) --- */
    .hero-title {
        font-size: 24px !important;
        /* Main Headline Size: 24px */
        text-align: center;
        /* Alignment: Center */
        margin-left: 0 !important;
        /* Reset desktop layout */
    }

    .sub-headline {
        font-size: 14px !important;
        /* Sub-headline: 14px */
        text-align: center;
        /* Alignment: Center */
        margin-left: 0 !important;
    }

    .sub-headline-small {
        font-size: 14px !important;
        text-align: center;
        margin-left: 0 !important;
    }

    .cta-group {
        justify-content: center !important;
        /* Center buttons */
        margin-left: 0 !important;
    }

    /* --- 2. DETAILED SERVICES (2nd Section) --- */
    /* Note: Previously set to 30px, overriding to 24px as requested */
    .detailed-services .section-title {

        /* Section Title: 24px */
        text-align: left;
        /* Alignment: Left */
        margin-top: 10px !important;
    }

    .detailed-services .section-subtitle {
        font-size: 12px !important;
        /* Subtitle: 12px */
        text-align: left;
        /* Alignment: Left */
        padding: 0;
        margin-top: 3px !important;
    }
}

/* =========================================
   TABLET OPTIMIZATION (769px - 1024px)
   ========================================= */

@media (min-width: 769px) and (max-width: 1024px) {

    /* --- GLOBAL ADJUSTMENTS --- */
    .container {
        padding: 0 min(40px, 5vw);
        /* Fluid side padding using min() */
    }

    .section {
        padding: min(60px, 8vh) 0;
        /* Fluid vertical padding */
    }

    .section-title {
        font-size: clamp(1.6rem, 4vw, 2.8rem);
        /* Fluid font size for tablet */
        margin-bottom: min(40px, 5vh);
    }

    /* --- HERO SECTION --- */
    .hero {
        text-align: center;
        /* Center align hero */
        justify-content: center;
        /* Center horizontally */
    }

    .hero h1 {
        font-size: min(2.5rem, 6vw);
        /* Fluid Headline */
        margin-left: 0;
        /* Reset negative margin */
        text-align: center;
    }

    .sub-headline,
    .sub-headline-small {
        font-size: 1.2rem;
        margin-left: 0;
        /* Reset negative margin */
        text-align: center;
    }

    .hero-content {
        padding-left: 0;
        max-width: 100%;
    }

    .cta-group {
        margin-left: 0;
        justify-content: center;
    }

    /* Hero section buttons: equal size on mobile */
    .hero .cta-group .btn,
    .hero .cta-group .btn-whatsapp {
        padding: 12px 22px !important;
        font-size: 0.9rem !important;
        width: auto !important;
        display: inline-flex !important;
        min-width: 150px;
        justify-content: center;
    }

    /* Reduce top/bottom fade overlay on mobile so full vertical video shows */
    .overlay {
        background: linear-gradient(to bottom,
                rgba(30, 36, 46, 0.5) 0%,
                transparent 15%,
                transparent 85%,
                rgba(30, 36, 46, 0.5) 100%);
        opacity: 1;
    }

    /* --- LAYOUT STACKING (Fix Overlays) --- */
    .split-layout {
        flex-direction: column;
        /* Stack image and text */
        text-align: center;
        gap: 40px;
    }

    .split-layout .text-column,
    .split-layout .image-column {
        width: 100%;
        /* Full width */
    }

    .benefit-list {
        display: inline-block;
        /* Center list items */
        text-align: left;
    }

    /* --- DETAILED SERVICES --- */
    .detailed-services {
        padding: min(60px, 8vh) min(20px, 3vw);
        margin: min(30px, 4vh) auto;
        /* Fluid margin, centered */
    }

    .service-row {
        flex-direction: column;
        /* Stack service rows */
        gap: min(30px, 4vh);
        padding: min(30px, 4vh);
        text-align: center;
    }

    .service-row.reverse {
        flex-direction: column;
        /* Keep order consistent */
    }

    .service-image {
        margin-left: 0;
        margin-bottom: 20px;
        width: 100%;
    }

    .service-content {
        width: 100%;
    }

    .service-content h3 {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }

    .service-content p {
        max-width: 600px;
        margin: 0 auto;
    }

    /* --- GRIDS (2 Columns instead of 3 or 4) --- */
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        /* 2x2 Layout */
        gap: 20px;
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
        /* 2 Column Feature Grid */
    }

    /* --- BENTO GRID (Simplify to 2 Columns) --- */
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }

    /* Reset spans */
    .bento-grid .glass-card:nth-child(1),
    .bento-grid .glass-card:nth-child(2),
    .bento-grid .glass-card:nth-child(3),
    .bento-grid .glass-card:nth-child(4),
    .bento-grid .glass-card:nth-child(5) {
        grid-column: span 1;
    }

    /* --- FOOTER (2 Columns) --- */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        text-align: left;
        /* Ensure alignment */
    }

    /* --- INTERACTIVE WALKTHROUGH --- */
    .walkthrough-container {
        width: 90vw;
        /* Wider on tablet */
        max-width: none;
    }
}

/* Mobile/Desktop Utilities */
.mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }
}

/* Mobile CTA Redesign matches reference */
@media (max-width: 768px) {
    .cta-section .container {
        padding: 0 15px;
    }

    .cta-box {
        background: rgba(226, 232, 240, 0.9);
        /* Light blue-ish glass base like reference */
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.6);
        border-radius: 24px;
        padding: 20px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        display: flex;
        flex-direction: column;
        gap: 20px;
        text-align: left;
        /* Reset center */
    }

    .cta-content-wrapper {
        display: flex;
        gap: 15px;
        align-items: flex-start;
    }

    .cta-icon {
        background: transparent;
        color: #2563eb;
        /* Bright Reference Blue */
        font-size: 2.5rem;
        flex-shrink: 0;
        margin-top: -5px;
        /* Visual alignment */
    }

    .cta-text-content h2 {
        font-size: 1.1rem;
        font-weight: 600;
        color: #1e293b;
        /* Dark text */
        margin: 0;
        line-height: 1.4;
        text-align: left;
    }

    .cta-action-content {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .btn-cta {
        width: 100%;
        background-color: #2563eb;
        /* Reference Blue */
        color: white;
        border-radius: 12px;
        padding: 14px;
        font-size: 1rem;
        font-weight: 600;
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
    }

    .trust-text {
        font-size: 0.85rem;
        color: #64748b;
        text-align: center;
        margin: 0;
    }

    /* Hide shapes on mobile to keep it clean */
    .cta-box .shape {
        display: none;
    }
}

/* =========================================
   PC-ONLY REDESIGN (Detailed Services)
   Matches Reference Image Layout
   ========================================= */
@media (min-width: 769px) {

    /* Section Container spacing */
    #detailed-services {
        padding: 120px 0;
    }

    #detailed-services .container {
        max-width: 1280px;
        /* Slightly wider for the large layout */
    }

    /* Row Layout - Alternating */
    #detailed-services .service-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 80px;
        margin-bottom: 120px;
        /* Large spacing between rows */
        background: transparent;
        /* Remove card background for cleaner look */
        border: none;
        /* Remove border */
        box-shadow: none;
        /* Remove default shadow */
        padding: 0;
    }

    #detailed-services .service-row:last-child {
        margin-bottom: 0;
    }

    #detailed-services .service-row.reverse {
        flex-direction: row-reverse;
    }

    /* Image Styling */
    #detailed-services .service-image {
        flex: 1;
        width: 50%;
        max-width: 600px;
        margin: 0;
        /* Reset any previous margins */
    }

    #detailed-services .service-image img {
        width: 100%;
        max-width: 600px;
        height: auto;
        aspect-ratio: 2 / 1;
        object-fit: cover;
        border-radius: 40px;
        /* Large rounded corners from reference */
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
        /* Deep shadow for pop */
        object-fit: cover;
        /* Ensure consistent shape */
    }

    /* Remove the fixed size override from line 1470 if it interferes, 
       but since this is a new block at the end, specificity should hold 
       if we target correctly. */
    #detailed-services .rounded-img {
        width: 600px;
        height: 300px;
        object-fit: cover;
    }

    /* Content Styling */
    #detailed-services .service-content {
        flex: 1;
        width: 45%;
        max-width: 600px;
        padding: 20px;
        margin: 0;
        /* Reset margins */
        text-align: left;
    }

    /* Typography from Reference */
    #detailed-services .service-content h3 {
        font-size: 1.5rem;
        /* Normal Heading Size */
        font-weight: 600;
        margin-bottom: 20px;
        line-height: 1.2;
        letter-spacing: normal;
        color: #000000 !important;
    }

    #detailed-services .service-content p {
        font-size: 1.15rem;
        line-height: 1.8;
        color: #000000 !important;
        margin-bottom: 40px;
        opacity: 0.9;
    }

    /* Add Link style button if needed (visual match) */

}

/* User Requested Alignments for PC & Tablet (Glass Redesign) */
@media (min-width: 768px) {

    /* 1. Remove shadow from Detailed Services images */
    #detailed-services .service-image img {
        box-shadow: none !important;
    }

    /* 2. Glass Theme: Remove White Container, Add Glass Rows */
    #detailed-services {
        background: transparent !important;
        box-shadow: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #detailed-services .service-row {
        background: rgba(255, 255, 255, 0.05) !important;
        backdrop-filter: blur(10px) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 20px !important;
        padding: 50px !important;
        margin-bottom: 40px !important;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
    }

    /* 3. Typography: Revert to White/Light for Dark Background */
    #detailed-services .section-title,
    #detailed-services .section-subtitle,
    #detailed-services .service-content h3 {
        color: #ffffff !important;
    }

    #detailed-services .service-content p {
        color: #cbd5e1 !important;
        /* Light Grey */
        opacity: 1 !important;
    }

    /* 4. Match Title Sizes */
    #how-it-works .section-title,
    .developers-choice .section-title {}
}

/* Tablet Specific Optimizations (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    #detailed-services .service-row {
        flex-direction: row !important;
        align-items: center !important;
        text-align: left !important;
        padding: 30px !important;
        gap: 20px !important;
    }

    /* Restore reverse layout for tablet */
    #detailed-services .service-row.reverse {
        flex-direction: row-reverse !important;
    }

    #detailed-services .service-image,
    #detailed-services .service-content {
        width: 48% !important;
        max-width: 48% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #detailed-services .service-image img {
        width: 100% !important;
        margin: 0;
    }

    #detailed-services .service-content h3 {
        font-size: 1.2rem !important;
        margin-top: 0;
    }

    #detailed-services .service-content p {
        font-size: 0.95rem !important;
        max-width: 100% !important;
        margin: 0 0 20px 0 !important;
    }

    /* Adjust Buttons for Tablet Touch Targets */
    .btn,
    .cta-button,
    button,
    input[type="submit"] {
        font-size: 0.9rem !important;
        padding: 10px 20px !important;
        display: inline-block !important;
    }
}

/* Contact Form 7 Styles */
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
    margin-bottom: 20px;
}

.wpcf7-text,
.wpcf7-tel,
.wpcf7-email,
.wpcf7-textarea,
.wpcf7-select {
    width: 100%;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-main);
    font-family: inherit;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.wpcf7-text:focus,
.wpcf7-tel:focus,
.wpcf7-email:focus,
.wpcf7-textarea:focus {
    outline: none;
    border-color: var(--accent);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 4px rgba(88, 132, 234, 0.1);
}

.wpcf7 label {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-main);
    margin-bottom: 10px;
    display: block;
}

/* Submit Button Match */
.wpcf7-submit {
    width: 100%;
    margin-top: 10px;
    padding: 18px !important;
    font-size: 1.15rem !important;
    background-color: var(--accent) !important;
    color: white !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
}

.wpcf7-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px var(--accent-glow);
    background-color: var(--accent) !important;
}

/* Center CTA Text Content */
.cta-text-content {
    text-align: center;
}

/* Desktop CTA: force center alignment (overrides any inherited left-align) */
@media (min-width: 769px) {
    .cta-box {
        text-align: center;
        align-items: center;
    }

    .cta-text-content {
        text-align: center;
    }

    .cta-text-content h2,
    .cta-box .subline {
        text-align: center;
    }
}

/* Hero section buttons: equal size on mobile */
@media (max-width: 768px) {

    .hero .cta-group .btn,
    .hero .cta-group .btn-whatsapp {
        padding: 12px 22px !important;
        font-size: 0.9rem !important;
        width: auto !important;
        display: inline-flex !important;
        min-width: 150px;
        justify-content: center;
    }
}

/* Page Template Styles (page.php) */
.page-content {
    background-color: var(--primary-bg);
    min-height: 60vh;
}

.page-title {
    color: var(--text-main) !important;
    margin-bottom: 20px;
    font-size: 2.5rem;
    font-weight: 700;
}

.page-body {
    color: var(--text-body) !important;
    line-height: 1.8;
    font-size: 1.1rem;
}

.page-body a {
    color: var(--accent);
    text-decoration: underline;
}

.page-body a:hover {
    color: var(--text-main);
}

.page-body ul,
.page-body ol {
    margin-bottom: 20px;
    padding-left: 20px;
    list-style: disc;
}

.page-body li {
    margin-bottom: 10px;
}

/* Base Colors & Variables */
:root {
    --bg-dark: #1e242e;
    --bg-surface: #151920;
    --accent-primary: #5884ea;
    --accent-secondary: #3b5cb0;
    --text-primary: #ffffff;
    --text-secondary: #cbd5e1;
    --glass-bg: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.05);
    --glass-blur: blur(16px);
    --transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-secondary);
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
}

h1,
h2,
h3,
h4 {
    color: var(--text-primary);
    font-weight: 700;
    line-height: 1.2;
}

a {
    text-decoration: none;
    color: inherit;
}

.kitchen-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Glass Panel Utility */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    transition: var(--transition);
    overflow: hidden;
}

.glass-panel:hover {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    transform: translateY(-4px);
}

.glass-image-border {
    border: 2px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    padding: 8px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.02);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Header */
.glass-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 15px 0;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo img {
    height: 40px;
}

.nav-links {
    display: flex;
    gap: 30px;
    list-style: none;
}

.nav-links a {
    font-weight: 500;
    font-size: 0.95rem;
    color: var(--text-primary);
    transition: color 0.3s;
}

.nav-links a:hover {
    color: var(--accent-primary);
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    transition: var(--transition);
}

.btn-primary {
    background-color: var(--accent-primary);
    color: white;
    box-shadow: 0 4px 20px rgba(88, 132, 234, 0.4);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(88, 132, 234, 0.6);
}

.btn-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
}

.btn-glass:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Hero Section Full Width */
.kitchen-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    background-color: var(--bg-dark);
    overflow: hidden;
}

.kitchen-hero-bg-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.kitchen-hero-bg-mobile {
    display: none;
}

.kitchen-hero-bg-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 1;
}

.kitchen-hero-bg-slide.active {
    opacity: 1;
    z-index: 2;
}

.kitchen-hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* Move content further left by adjusting padding */
    padding-left: 2%;
}

.kitchen-hero-text {
    text-align: left;
    max-width: 700px;
    /* Allow text to expand for single-line heading */
    padding-top: 40px;
    transform: translateX(-95px);
    /* Move 65px more left side (-30px - 65px) */
}

.kitchen-hero-text h1 {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    /* Matches Virtual Walkthrough H1 */
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    color: #ffffff;
    line-height: 1.1;
    font-weight: 600;
    /* Calming, soft drop shadow, reduced blue by 30% from 0.3 to 0.21 */
    text-shadow: 0 4px 15px rgba(255, 255, 255, 0.15), 0 2px 40px rgba(88, 132, 234, 0.21);
}

.kitchen-hero-text p {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    /* Matches Virtual Walkthrough Subheading */
    margin-bottom: 40px;
    color: var(--bg-surface);
    /* Brand dark blue type color */
    font-weight: 600;
    text-shadow: 0 2px 10px rgba(255, 255, 255, 0.4);
    /* Slight contrast against dark bg */
}

/* Section Globals */
.kitchen-section {
    padding: 100px 0;
    position: relative;
    z-index: 2;
}

/* Glow line at section top (matching VW page) */
.kitchen-section::before,
.kitchen-faq-section::before,
.kitchen-cta-section::before,
.kitchen-contact-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    opacity: 1;
    box-shadow: 0 0 30px 5px rgba(255, 255, 255, 0.05);
}

.kitchen-section-header {
    text-align: center;
    margin-bottom: 80px;
}

.kitchen-section-title {
    font-size: clamp(1.6rem, 4vw, 2.8rem);
    margin-bottom: 16px;
}

/* Pinterest Masonry Grid */
.pinterest-grid {
    column-count: 3;
    column-gap: 24px;
}

.pinterest-item {
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin-bottom: 24px;
    padding: 0;
    display: inline-block;
    width: 100%;
    flex-direction: column;
}

.pinterest-item img {
    width: 100%;
    height: auto;
    display: block;
    border-bottom: 1px solid var(--glass-border);
}

.pinterest-content {
    padding: 24px;
}

.pinterest-content h3 {
    font-size: 1.15rem;
    margin-bottom: 12px;
}

.pinterest-content p {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

.pinterest-price {
    font-weight: 700 !important;
    color: var(--accent-primary) !important;
    font-size: 1.1rem !important;
    margin-bottom: 0 !important;
}

/* Footer */
.footer {
    padding: 80px 0 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background-color: var(--bg-surface);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

@media (max-width: 992px) {
    .kitchen-hero-text {
        text-align: center;
        max-width: 100%;
    }

    .kitchen-hero-text h1,
    .kitchen-hero-text p {
        margin-inline: auto;
    }

    .kitchen-hero-text .flex-wrap,
    .kitchen-hero-text div[style*="display: flex"] {
        justify-content: center !important;
    }

    .pinterest-grid {
        column-count: 2;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {

    /* Hide desktop slider, show mobile slider */
    .kitchen-hero-bg-desktop {
        display: none !important;
    }

    .kitchen-hero-bg-mobile {
        display: block !important;
    }

    .kitchen-hero {
        min-height: 100vh;
        align-items: flex-start;
        /* Align text to top */
    }

    .kitchen-hero-bg-container {
        width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
        height: 100% !important;
    }

    .kitchen-hero-bg-slide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        left: 0 !important;
        transform: none !important;
    }

    .kitchen-hero-text {
        text-align: left;
        transform: none;
        padding: clamp(100px, 15vh, 140px) 20px 20px;
        /* More padding to clear logo */
        max-width: 100%;
        width: 100%;
        z-index: 5;
    }

    .kitchen-hero-text h1 {
        font-size: clamp(1.8rem, 7.5vw, 2.3rem);
        /* Slightly smaller to prevent crowding */
        line-height: 1.1;
        color: #ffffff !important;
        margin-bottom: clamp(8px, 2vh, 15px);
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    }

    .kitchen-hero-text p {
        font-size: clamp(0.75rem, 3.4vw, 0.9rem);
        /* Decreased by ~15% */
        text-align: left;
        color: #1e242e !important;
        line-height: 1.4;
        margin-bottom: clamp(15px, 3vh, 25px);
        font-weight: 600;
        /* Semi-bold */
    }

    .kitchen-hero-text div[style*="display: flex"] {
        justify-content: flex-start !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .kitchen-hero-content {
        padding-left: 0;
        align-items: flex-start;
    }
}

@media (max-width: 576px) {
    .pinterest-grid {
        column-count: 2;
        /* 2-column masonry for mobile */
        column-gap: 12px;
    }

    .pinterest-item {
        margin-bottom: 12px;
        border-radius: 12px;
    }

    .pinterest-content {
        padding: 10px;
    }

    .pinterest-content h3 {
        font-size: 0.9rem;
        /* Slightly larger small text */
        font-weight: 500;
        /* Medium weight */
        margin-bottom: 0;
        line-height: 1.3;
    }

    /* Hide everything except short name */
    .pinterest-content p {
        display: none;
    }

    /* Interactive Icon Overlay for Mobile */
    .interactive-product-link {
        position: relative;
    }

    .interactive-product-link::after {
        content: 'Explore';
        position: absolute;
        top: 8px;
        right: 8px;
        background-color: rgba(255, 255, 255, 0.15);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(255, 255, 255, 0.4);
        color: #ffffff;
        font-size: 0.65rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        padding: 4px 10px;
        border-radius: 20px;
        z-index: 5;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* Kitchen CTA Section */
.kitchen-cta-section {
    padding: 80px 0;
    position: relative;
}

.kitchen-cta-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 3%;
}

/* Animated gradient border wrapper */
.kitchen-cta-border {
    padding: 1px;
    border-radius: 25px;
    background: linear-gradient(135deg,
            rgba(88, 132, 234, 0.4),
            rgba(255, 255, 255, 0.06),
            rgba(88, 132, 234, 0.25),
            rgba(255, 255, 255, 0.04),
            rgba(88, 132, 234, 0.4));
    background-size: 300% 300%;
    animation: borderShift 6s ease-in-out infinite;
}

@keyframes borderShift {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

.kitchen-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 60px 70px;
    gap: 50px;
    background: linear-gradient(135deg, rgba(88, 132, 234, 0.15) 0%, rgba(30, 36, 46, 0.95) 50%, rgba(88, 132, 234, 0.1) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(88, 132, 234, 0.3);
    border-radius: 24px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.5),
        0 0 100px rgba(88, 132, 234, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    min-height: 340px;
    position: relative;
    overflow: hidden;
}

/* Large accent glow — top left */
.kitchen-cta-box::before {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(88, 132, 234, 0.4) 0%, rgba(59, 92, 176, 0.1) 40%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: glowPulse 4s ease-in-out infinite;
}

/* Accent glow — bottom right */
.kitchen-cta-box::after {
    content: '';
    position: absolute;
    bottom: -80px;
    right: 5%;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(88, 132, 234, 0.15) 0%, rgba(59, 92, 176, 0.05) 40%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: glowPulse 4s ease-in-out infinite 2s;
}

@keyframes glowPulse {

    0%,
    100% {
        opacity: 0.7;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

/* Shimmer sweep across the box */
.cta-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(105deg,
            transparent 20%,
            rgba(88, 132, 234, 0.04) 40%,
            rgba(255, 255, 255, 0.06) 50%,
            rgba(88, 132, 234, 0.04) 60%,
            transparent 80%);
    pointer-events: none;
    z-index: 0;
    animation: shimmerSweep 5s ease-in-out infinite 1s;
}

@keyframes shimmerSweep {
    0% {
        left: -100%;
    }

    100% {
        left: 200%;
    }
}

.cta-deco-2 {
    position: absolute;
    bottom: 30px;
    left: 15%;
    width: 50px;
    height: 50px;
    border-radius: 12px;
    border: 1px solid rgba(88, 132, 234, 0.1);
    transform: rotate(25deg);
    z-index: 0;
    animation: floatShape 6s ease-in-out infinite;
}

.cta-deco-3 {
    position: absolute;
    top: 25%;
    right: 10%;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 1px solid rgba(88, 132, 234, 0.08);
    z-index: 0;
    animation: floatShape 6s ease-in-out infinite 3s;
}

@keyframes floatShape {

    0%,
    100% {
        transform: rotate(25deg) translateY(0);
        opacity: 0.5;
    }

    50% {
        transform: rotate(25deg) translateY(-8px);
        opacity: 1;
    }
}

.cta-grid-pattern {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 250px;
    height: 180px;
    background-image:
        linear-gradient(rgba(88, 132, 234, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(88, 132, 234, 0.04) 1px, transparent 1px);
    background-size: 25px 25px;
    mask-image: linear-gradient(135deg, transparent 20%, rgba(0, 0, 0, 0.6) 100%);
    -webkit-mask-image: linear-gradient(135deg, transparent 20%, rgba(0, 0, 0, 0.6) 100%);
    pointer-events: none;
    z-index: 0;
}

.kitchen-cta-text {
    flex: 1 1 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.kitchen-cta-text h2 {
    font-size: clamp(1.92rem, 3.36vw, 2.88rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin-bottom: 0;
}

.kitchen-cta-text h2 span {
    color: var(--accent-primary);
    display: block;
    margin-top: 4px;
    margin-bottom: 32px;
    text-shadow: 0 0 30px rgba(88, 132, 234, 0.3);
    font-size: 1.15em;
    background: linear-gradient(135deg, #5884ea, #7ba4f7, #5884ea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 20px rgba(88, 132, 234, 0.35));
}

/* ── Kitchen FAQ Section (matching VW page exactly) ── */
.kitchen-faq-section {
    padding: 100px 0;
    position: relative;
    background: transparent;
}

.kitchen-faq-layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
    align-items: start;
}

.kitchen-faq-header .subtitle {
    font-size: 0.9rem;
    color: var(--accent-primary);
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 600;
    text-transform: uppercase;
}

.kitchen-faq-header .kitchen-section-title {
    margin-bottom: 20px;
    text-align: left;
}

.kitchen-faq-header .description {
    color: var(--text-secondary);
    font-size: 1.1rem;
    max-width: 400px;
}

.kitchen-faq-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    margin-bottom: 20px;
    padding: 0 25px;
    transition: all 0.3s ease;
}

.kitchen-faq-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kitchen-faq-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.15);
}

.kitchen-faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-primary);
    font-size: 1.15rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    transition: color 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

.kitchen-faq-question:hover {
    color: var(--text-primary);
}

.kitchen-faq-question i {
    font-size: 1.25rem;
    transition: transform 0.3s ease;
    color: var(--text-secondary);
    flex-shrink: 0;
    margin-left: 15px;
}

.kitchen-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.kitchen-faq-answer p {
    color: var(--text-secondary);
    font-size: 1.05rem;
    padding-bottom: 25px;
    line-height: 1.6;
    opacity: 0.9;
    padding-top: 0;
}

.kitchen-faq-answer ul {
    color: var(--text-secondary);
    font-size: 1.05rem;
    padding-bottom: 25px;
    line-height: 1.8;
    opacity: 0.9;
    padding-left: 20px;
    list-style: disc;
}

.kitchen-faq-item.active {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}

.kitchen-faq-item.active .kitchen-faq-question {
    color: var(--text-primary);
}

.kitchen-faq-item.active .kitchen-faq-question i {
    transform: rotate(45deg);
    color: var(--text-primary);
}

/* ── Kitchen Benefits Section ── */
.kitchen-benefits-section {
    padding: 100px 0;
    background: var(--bg-surface);
    position: relative;
}

.kitchen-benefits-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

.kitchen-benefits-header .subtitle {
    font-size: 0.9rem;
    color: var(--accent-primary);
    letter-spacing: 1px;
    margin-bottom: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.kitchen-benefits-header .kitchen-section-title {

    margin-bottom: 20px;
}

.kitchen-benefits-header .description {
    color: var(--text-secondary);
    font-size: 1.15rem;
    opacity: 0.9;
}

.benefits-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.benefit-card {
    flex: 1 1 calc(33.333% - 30px);
    min-width: 320px;
    max-width: 400px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: 35px;
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    transition: var(--transition);
}

.benefit-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.06);
}

.benefit-icon {
    width: 60px;
    height: 60px;
    background: rgba(88, 132, 234, 0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--accent-primary);
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(88, 132, 234, 0.15);
}

.benefit-card h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--text-primary);
}

.benefit-card p {
    color: var(--text-secondary);
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 992px) {
    .kitchen-faq-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .kitchen-faq-header {
        text-align: center;
        margin-bottom: 20px;
    }

    .kitchen-faq-header .kitchen-section-title {
        text-align: center;
    }

    .kitchen-faq-header .description {
        margin: 0 auto;
    }

    .kitchen-benefits-header .kitchen-section-title {}

    .benefit-card {
        flex: 1 1 calc(50% - 30px);
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .benefit-card {
        flex: 1 1 100%;
    }
}

/* ── Kitchen Contact Section ── */
.kitchen-contact-section {
    padding: 120px 0;
    position: relative;
    background: transparent;
}

.kitchen-contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 30px;
    padding: 60px;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.2);
}

.kitchen-contact-text .subtitle {
    font-size: 0.9rem;
    color: var(--accent-primary);
    letter-spacing: 1px;
    margin-bottom: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.kitchen-contact-text .kitchen-section-title {
    margin-bottom: 20px;
    text-align: left;

    line-height: 1.2;
}

.kitchen-contact-text .description {
    color: var(--text-secondary);
    font-size: 1.15rem;
    line-height: 1.8;
    margin-bottom: 50px;
    opacity: 0.9;
}

.kitchen-contact-info {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.kitchen-info-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.kitchen-info-item i {
    width: 60px;
    height: 60px;
    background: rgba(88, 132, 234, 0.1);
    border: 1px solid rgba(88, 132, 234, 0.2);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--accent-primary);
    box-shadow: 0 4px 15px rgba(88, 132, 234, 0.2);
}

.kitchen-info-item h4 {
    font-size: 1.1rem;
    color: var(--text-primary);
    margin-bottom: 5px;
}

.kitchen-info-item p {
    color: var(--text-secondary);
    font-size: 1.1rem;
    margin: 0;
}

.kitchen-form-wrapper {
    padding: 50px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}


@media (max-width: 992px) {
    .kitchen-contact-layout {
        grid-template-columns: 1fr;
        gap: 50px;
        padding: 40px 25px;
    }

    .kitchen-contact-text {
        text-align: left;
    }

    .kitchen-contact-text .kitchen-section-title {
        text-align: left;

    }

    .kitchen-contact-text .description {
        margin: 0 0 40px;
        max-width: 600px;
    }

    .kitchen-info-item {
        justify-content: flex-start;
        text-align: left;
    }

    .kitchen-form-wrapper {
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .kitchen-contact-section {
        padding: 80px 0;
    }

    .kitchen-contact-text .kitchen-section-title {}

    .kitchen-info-item i {
        width: 50px;
        height: 50px;
        font-size: 1.4rem;
    }

    .kitchen-form-row {
        grid-template-columns: 1fr;
    }
}

/* Glass CTA button */
.btn-glass-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 34px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    border: 1px solid rgba(88, 132, 234, 0.25);
    background: rgba(88, 132, 234, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #ffffff;
    transition: var(--transition);
    box-shadow: 0 4px 25px rgba(88, 132, 234, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.btn-glass-cta:hover {
    background: rgba(88, 132, 234, 0.18);
    border-color: rgba(88, 132, 234, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 8px 35px rgba(88, 132, 234, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.kitchen-cta-video {
    flex: 0 0 auto;
    width: 42%;
    aspect-ratio: 16 / 10;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.kitchen-cta-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 14px;
}

@media (max-width: 992px) {
    .kitchen-cta-box {
        flex-direction: column;
        padding: 45px 30px;
        text-align: center;
        min-height: auto;
    }

    .kitchen-cta-text {
        align-items: center;
    }

    .kitchen-cta-video {
        width: 100%;
        aspect-ratio: 16 / 9;
    }

    .kitchen-cta-video video {
        object-position: center;
    }
}

/* How It Works Section */
.how-it-works {
    background-color: var(--bg-surface);
    position: relative;
    padding: 100px 0;
}

.how-it-works .kitchen-container {
    max-width: 1560px;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 40px;
    align-items: start;
    position: relative;
}

.process-grid .process-card {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.process-card {
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    overflow: hidden;
}

.process-card p {
    text-align: left;
    max-width: 100%;
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.step-image-container {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
    aspect-ratio: 16 / 9;
}

.step-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.process-card:hover .step-img {
    transform: scale(1.05);
}

.step-content {
    padding: 0 5px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.step-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
    width: 100%;
}

.line-separator {
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: var(--accent-primary);
    margin-right: 10px;
}

.process-card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text-primary);
    flex-grow: 1;
    margin: 0 10px;
    text-align: left;
}

.step-num {
    font-family: monospace;
    font-size: 1.2rem;
    color: var(--text-secondary);
    opacity: 0.7;
}

@media (min-width: 1025px) {
    .process-card {
        min-height: 715px;
        position: relative;
        z-index: 1;
    }

    .step-image-container {
        height: 364px;
        flex-shrink: 0;
    }

    .process-card:nth-child(even) {
        margin-top: 60px;
    }
}

@media (max-width: 1024px) {
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        align-items: start;
    }

    .process-card:nth-child(even) {
        margin-top: 20px;
    }

    .process-grid .process-card,
    .process-card p,
    .process-card h3 {
        text-align: left;
        align-items: flex-start;
    }
}

@media (max-width: 900px) {
    .process-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .process-card:nth-child(even) {
        margin-top: 0;
    }

    .process-grid .process-card {
        align-items: flex-start;
        margin-bottom: 20px;
    }

    .how-it-works .process-grid {
        margin-bottom: 60px;
        /* Added gap between content and banner */
    }

    .how-it-works .kitchen-section-title {

        margin-bottom: 0;
    }

    .kitchen-cta-box .btn-glass-cta {
        background: var(--accent-primary);
        border: 1px solid var(--accent-primary);
        color: white;
    }

    .kitchen-cta-box .btn-glass-cta:hover {
        background: var(--accent-hover);
        box-shadow: 0 15px 30px rgba(0, 113, 227, 0.3);
    }
}

/* Mobile Phones (max-width: 480px) */
@media (max-width: 480px) {
    .process-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .process-card {
        background: rgba(255, 255, 255, 0.08);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.15);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
        border-radius: 20px;
        padding: 15px;
        margin-top: 0 !important;
        transition: var(--transition);
        text-align: left;
    }

    .process-card:hover {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.3);
        transform: translateY(-3px);
    }

    .step-header {
        flex-wrap: nowrap;
        margin-bottom: 10px;
    }

    .process-card h3 {
        font-size: 1rem;
    }

    .process-card p {
        font-size: 0.95rem;
    }
}

/* ── Section Header (Synced with index.html) ── */
.kitchen-section-header-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 60px;
    width: 100%;
}

.title-line {
    height: 1px;
    flex-grow: 1;
    max-width: 200px;
}

.kitchen-section-header-centered .title-line:first-child {
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5));
}

.kitchen-section-header-centered .title-line:last-child {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
}

.kitchen-section-header-centered .kitchen-section-title {
    margin-bottom: 0;
    white-space: nowrap;
    text-align: center;

}

@media (max-width: 768px) {
    .kitchen-section-header-centered .kitchen-section-title {

        white-space: normal;
    }

    .kitchen-section-header-centered {
        margin-bottom: 40px;
    }
}

/* ── Discovery Banner (Desktop/Tablet) ── */
.discovery-banner {
    max-width: 1000px;
    width: 100%;
    margin: 40px auto;
    background: #16192a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    padding: 25px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 50;
}

@media (min-width: 768px) {
    #how-it-works .discovery-banner {
        margin-top: -100px;
        /* Reduced from -200px to prevent overlap */
    }
}

.banner-left,
.banner-right {
    display: flex;
    align-items: center;
    gap: 20px;
    text-align: left;
}

.banner-left p {
    font-size: 1.1rem;
    font-weight: 500;
    color: #ffffff;
    line-height: 1.4;
    margin: 0;
}

.icon-circle {
    width: 48px;
    height: 48px;
    background: #5884ea;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
}

.banner-right {
    gap: 20px;
}

.discovery-banner .btn {
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: all 0.3s ease;
}

.discovery-banner .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(88, 132, 234, 0.4);
}

.discovery-banner .trust-text {
    font-size: 0.9rem;
    opacity: 0.7;
    max-width: 100px;
    line-height: 1.2;
    color: #ffffff;
}

/* ── Mobile CTA Box (Light Blue Glass) ── */
.mobile-only-box {
    display: none !important;
}

@media (max-width: 768px) {
    .desktop-tablet-only {
        display: none !important;
    }

    .mobile-only-box {
        display: flex !important;
        flex-direction: column;
        margin: 40px 20px 0;
        /* Matched to style.css exactly */
        background: rgba(226, 232, 240, 0.95);
        /* Matched to index.html audit */
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.6);
        border-radius: 24px;
        padding: 24px 20px;
        /* Reduced vertical padding to match index.html feel */
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        gap: 20px;
        text-align: left;
        width: auto;
        position: relative;
        overflow: hidden;
    }

    .cta-content-wrapper {
        display: flex;
        gap: 15px;
        align-items: flex-start;
    }

    .cta-icon {
        color: #5884ea;
        /* matched var(--accent) from style.css which wins specificity */
        font-size: 2.5rem;
        /* Reverted to 2.5rem to match index.html */
        flex-shrink: 0;
        margin-top: -5px;
    }

    .cta-icon i {
        font-size: 1.69em;
        /* Exact 30% increase override from style.css */
    }

    .cta-text-content h2 {
        font-size: 1.1rem;
        font-weight: 600;
        color: #1e293b;
        margin: 0;
        line-height: 1.4;
        text-align: left;
    }

    .cta-action-content {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        position: relative;
        z-index: 2;
    }

    .btn-cta {
        width: 100%;
        background-color: #5884ea;
        /* Matched to brand blue */
        color: white !important;
        border-radius: 12px;
        padding: 14px;
        font-size: 1rem;
        font-weight: 600;
        box-shadow: 0 4px 12px rgba(88, 132, 234, 0.3);
        border: none;
        cursor: pointer;
        text-align: center;
        text-decoration: none;
        margin: 0;
    }

    .mobile-only-box .trust-text {
        font-size: 0.85rem;
        color: #64748b;
        text-align: center;
        margin: 0;
        max-width: none;
        opacity: 1;
    }

    .mobile-only-box .shape {
        position: absolute;
        border-radius: 50%;
        filter: blur(40px);
        z-index: 1;
        opacity: 0.4;
    }

    .shape-1 {
        width: 150px;
        height: 150px;
        background: #5884ea;
        top: -50px;
        right: -50px;
    }

    .shape-2 {
        width: 100px;
        height: 100px;
        background: #93c5fd;
        bottom: -30px;
        left: -30px;
    }
}

/* Custom Contact Form Layout */
.custom-contact-form {
    width: 100%;
    margin: 0 auto;
    font-family: var(--font-main, 'Poppins', sans-serif);
}

.custom-contact-form label {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
    display: block;
    color: var(--text-secondary);
}

.custom-contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.custom-contact-form .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.custom-contact-form .form-row .form-group {
    margin-bottom: 0;
}

.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="url"],
.custom-contact-form input[type="tel"],
.custom-contact-form select,
.custom-contact-form textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.05);
    /* Matching existing form inputs */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    /* Smooth corners */
    padding: 16px 20px;
    color: var(--text-primary);
    font-size: 1rem;
    font-family: inherit;
    transition: all 0.3s ease;
}

.custom-contact-form input::placeholder,
.custom-contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.custom-contact-form input:focus,
.custom-contact-form select:focus,
.custom-contact-form textarea:focus {
    outline: none;
    border-color: var(--accent-primary);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 15px rgba(88, 132, 234, 0.2);
}

.custom-contact-form select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23cbd5e1' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    padding-right: 45px;
    cursor: pointer;
}

.custom-contact-form select option {
    background: var(--bg-surface);
    color: var(--text-primary);
}

.custom-contact-form textarea {
    min-height: 140px;
    resize: vertical;
}

.custom-contact-form .form-submit {
    margin-top: 10px;
}

.custom-contact-form .wpcf7-submit,
.custom-contact-form .btn-primary {
    font-family: inherit;
}

@media (max-width: 768px) {
    .custom-contact-form .form-row {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }

    .custom-contact-form .form-row .form-group {
        margin-bottom: 20px;
    }
}

/* --- Global Contact Form 7 White Background Wrapper --- */
.cf7-white-container {
    background: #ffffff !important;
    border-radius: 30px !important;
    padding: 50px !important;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.cf7-white-container label {
    color: #1e293b !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

.cf7-white-container input:not([type='submit']),
.cf7-white-container select,
.cf7-white-container textarea {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #1e242e !important;
    width: 100% !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
}

.cf7-white-container input::placeholder,
.cf7-white-container textarea::placeholder {
    color: #94a3b8 !important;
}

@media (max-width: 768px) {
    .cf7-white-container {
        padding: 30px 20px !important;
        border-radius: 20px !important;
    }
}

/* --- Global Container Alignment Sync --- */
.container {
    padding: 0 5%;
}

/* --- Global Header Visibility Fix --- */
.glass-header {
    z-index: 9999 !important;
}

/* --- Kitchen Product Masonry Shadow Fix --- */
.pinterest-item.glass-panel {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}


/* --- REUSABLE CONTACT SECTION STYLES --- */
#contact {
    width: 100% !important;
    padding: 80px 0 !important;
    font-family: 'Poppins', sans-serif !important;
    background: #05080f;
    /* Almost Black Background */
    position: relative;
    z-index: 10;
}

#contact .kitchen-contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    align-items: start;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid rgba(0, 0, 0, 0.05);
    /* Soft border for light bg */
    border-radius: 40px;
    padding: 60px;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.1);
    max-width: 1200px;
    margin: 0 auto !important;
    box-sizing: border-box;
    /* Fix for potential overflow */
}

/* Branding & Left Alignment */
#contact .kitchen-contact-text {
    text-align: left !important;
}

#contact .subtitle {
    color: #5884ea !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    margin: 0 0 15px 0 !important;
}

#contact h2 {
    color: #ffffff !important;
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.5px;
}

#contact .description {
    color: #cbd5e1 !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
    margin: 0 0 40px 0 !important;
}

/* Info Items */
#contact .kitchen-contact-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#contact .kitchen-info-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

#contact .info-icon-box {
    width: 52px;
    height: 52px;
    background: #111827;
    border: 1px solid rgba(88, 132, 234, 0.2);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#contact .info-icon-box i {
    font-size: 1.4rem;
    color: #5884ea;
}

#contact .info-text h4 {
    color: #64748b;
    margin: 0 0 2px 0 !important;
    font-size: 0.9rem;
    font-weight: 500;
}

#contact .info-text p {
    color: #ffffff;
    margin: 0 !important;
    font-weight: 600;
    font-size: 1.1rem;
}

/* Form Wrapper - THE WHITE BOX REQUESTED */
.contact-form-wrapper {
    background: #ffffff !important;
    padding: 40px !important;
    border-radius: 30px !important;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-top: 0 !important;
}

/* Form Fields Styling (Compact) */
#contact .wpcf7-form p {
    margin: 0 !important;
}

#contact label {
    display: block !important;
    color: #1e293b !important;
    /* Dark text for light bg */
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

#contact .form-row {
    display: flex !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

#contact .form-row>div {
    flex: 1;
    width: 100%;
}

#contact input,
#contact select,
#contact textarea {
    width: 100% !important;
    background: #f8fafc !important;
    /* Very light background for inputs */
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    color: #1e242e !important;
    font-size: 0.95rem !important;
    font-family: 'Poppins', sans-serif !important;
}

#contact textarea {
    height: 100px !important;
    /* Small Message Box */
    resize: none;
}

#contact input::placeholder,
#contact textarea::placeholder {
    color: #94a3b8 !important;
}

/* Red Border Validation */
#contact .wpcf7-not-valid {
    border: 1px solid #ef4444 !important;
    /* Solid Red Border */
    background: rgba(239, 68, 68, 0.05) !important;
}

#contact .wpcf7-not-valid-tip {
    color: #ef4444 !important;
    font-size: 11px !important;
    /* Smaller text */
    margin-top: 4px !important;
    display: block !important;
    text-align: left !important;
    font-weight: 400 !important;
}

/* Bottom Error Box (Brand Guideline Image 2 - Refined to Blue) */
#contact .wpcf7-response-output {
    margin: 20px 0 0 0 !important;
    padding: 15px 25px !important;
    border: 2px solid #5884ea !important;
    /* Blue Border */
    border-radius: 4px !important;
    color: #ffffff !important;
    background: rgba(88, 132, 234, 0.05) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    display: none;
    /* Hidden by default, CF7 reveals it */
}

#contact .wpcf7-form.invalid .wpcf7-response-output,
#contact .wpcf7-form.unconfirmed .wpcf7-response-output {
    display: block !important;
}

/* Dropdown Options Visibility */
#contact select option {
    background-color: #05080f !important;
    color: #ffffff !important;
}

/* Submit Button */
#contact .form-submit {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

#contact .wpcf7-submit {
    background: #5884ea !important;
    color: #fff !important;
    padding: 14px 50px !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    box-shadow: 0 8px 25px rgba(88, 132, 234, 0.3) !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

#contact .wpcf7-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(88, 132, 234, 0.5) !important;
}

/* Mobile Adjustments (Perfect Stacking) */
@media (max-width: 991px) {
    #contact .kitchen-contact-layout {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        padding: 40px 5% !important;
    }

    #contact h2 {
        font-size: 2.4rem !important;
        text-align: center !important;
    }

    #contact .description {
        text-align: center !important;
    }

    #contact .kitchen-contact-info {
        align-items: center !important;
    }

    #contact .form-row {
        flex-direction: column !important;
        gap: 10px !important;
    }
}

@media (max-width: 768px) {
    #contact {
        padding: 40px 0 !important;
    }

    #contact .kitchen-contact-layout {
        border-radius: 0 !important;
        padding: 30px 10px !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    .contact-form-wrapper {
        padding: 25px 15px !important;
        border-radius: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Align all text left items left except form */
    #contact .kitchen-contact-info {
        margin-bottom: 40px;
        gap: 25px;
        text-align: left !important;
        align-items: flex-start !important;
    }

    #contact .kitchen-contact-text {
        text-align: left !important;
    }

    #contact .kitchen-info-item {
        flex-direction: row !important;
        text-align: left !important;
        align-items: center !important;
        gap: 15px;
        width: 100%;
    }

    #contact .description {
        text-align: left !important;
    }

    #contact .form-submit {
        justify-content: center !important;
    }

    #contact .wpcf7-submit {
        width: 100% !important;
    }

    #contact h2 {
        font-size: 1.8rem !important;
        margin-bottom: 15px !important;
        text-align: left !important;
    }

    #contact .form-row {
        flex-direction: column !important;
        gap: 0 !important;
    }

    #contact .form-row>div {
        margin-bottom: 20px;
    }
}

/* Kitchen Exact Wrapper Specific Styles */
.kitchen-exact-wrapper .how-it-works .step-image-container {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
}

.kitchen-exact-wrapper .how-it-works .step-img {
    object-fit: cover !important;
}

/* specific centering fix for walkthrough cta */
.cta-box .cta-content-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.cta-box .cta-icon {
    margin: 0 auto 10px;
}

/* =========================================
   Mobile Discovery Banner — Pixel-Perfect Fix
   Matches index.html screenshot exactly:
   - Row layout: icon LEFT, text RIGHT
   - Blue circle behind globe icon
   ========================================= */
@media (max-width: 768px) {

    /* Row layout: icon on left, text on right */
    .mobile-only-box .cta-content-wrapper {
        flex-direction: row !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 14px;
    }

    /* Text stays left-aligned */
    .mobile-only-box .cta-text-content {
        text-align: left !important;
    }

    .mobile-only-box .cta-text-content h2 {
        text-align: left !important;
        font-size: 1.05rem;
        font-weight: 600;
        color: #1e293b;
        margin: 0;
        line-height: 1.45;
    }

    /* Blue circle icon — fixed size, no auto-margin */
    .mobile-only-box .cta-icon {
        width: 52px;
        height: 52px;
        min-width: 52px;
        background: rgba(88, 132, 234, 0.18);
        border-radius: 50%;
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        /* remove auto-center from global override */
        font-size: 0;
        flex-shrink: 0;
    }

    .mobile-only-box .cta-icon i {
        font-size: 1.6rem;
        color: #5884ea;
    }
}