/* 
 * Main Theme Styles
 * Tam Construction
 */

:root {
    --primary: #FF9800;
    --primary-dark: #F57C00;
    --secondary: #1E293B;
    --dark: #0F172A;
    --light: #F8FAFC;
    --white: #FFFFFF;
    --text-main: #334155;
    --text-muted: #64748B;
    --border: #E2E8F0;
    
    --font-heading: 'Noor', sans-serif;
    --font-body: 'Noor', sans-serif;
    
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    --shadow-hover: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

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

body {
    font-family: var(--font-body);
    color: var(--text-main);
    line-height: 1.6;
    background-color: var(--white);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--dark);
    line-height: 1.2;
    margin-bottom: 1rem;
    font-weight: 700;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition-normal);
}

a:hover {
    color: var(--primary-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Layout */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.section-padding {
    padding: 5rem 0;
}

.bg-light {
    background-color: var(--light);
}

.text-center {
    text-align: center;
}

.mt-8 { margin-top: 2rem; }
.mt-12 { margin-top: 3rem; }
.relative { position: relative; }
.z-10 { z-index: 10; }

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    border-radius: 0.375rem;
    transition: all var(--transition-normal);
    cursor: pointer;
    font-family: var(--font-heading);
    border: 2px solid transparent;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--white) !important;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-outline {
    background-color: transparent;
    color: var(--primary) !important;
    border-color: var(--primary);
}

.btn-outline:hover {
    background-color: var(--primary);
    color: var(--white) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-large {
    padding: 1rem 2rem;
    font-size: 1.125rem;
}

/* Header Figma Design */
.site-header {
    background-color: transparent;
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all var(--transition-normal);
    box-shadow: none;
}

.site-header.scrolled {
    position: fixed;
    top: 0;
    background-color: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 0;
    box-shadow: var(--shadow-md);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center; 
}

.site-branding img { 
}
.rtl .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    padding-right: 0;
    padding-left: calc(8px + 1em);
}

/* Glass Pills */
.glass-pill {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    background-color: rgba(255, 255, 255, 0.16);
    border-radius: 100px;
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 2rem;
}

.desktop-menu.glass-pill {
    padding: 0 1.5rem;
}

.desktop-menu ul {
    display: flex;
    list-style: none;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    align-items: center;
    height: 100%;
}

.desktop-menu a {
    color: var(--white);
    font-weight: 500;
    font-size: 16px;
    font-family: var(--font-body);
    position: relative;
    padding: 0.5rem 0.5rem;
    display: flex;
    align-items: center;
    height: 100%;
}

.desktop-menu .current-menu-item > a {
    background-color: var(--white);
    color: var(--dark);
    border-radius: 100px;
    padding: 0.5rem 1.5rem;
    height: 40px;
}

.desktop-menu a:not(.current-menu-item > a):hover {
    color: rgba(255,255,255,0.8);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-pill {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    background-color: rgba(255, 255, 255, 0.16);
    border-radius: 100px;
    height: 56px;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white) !important;
    font-size: 16px;
    font-weight: 500;
    white-space: nowrap;
    transition: all var(--transition-normal);
}

.contact-pill:hover {
    background-color: rgba(255, 255, 255, 0.25);
}

.lang-pill {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    background-color: #4C6C77;
    border-radius: 100px;
    height: 56px;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--white);
    font-size: 16px;
    cursor: pointer;
    transition: all var(--transition-normal);
}

.lang-pill:hover {
    background-color: #3b555e;
}

.lang-pill svg {
    margin-top: 2px;
}

.search-toggle, .menu-toggle {
    background: rgba(255,255,255,0.16);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    border: none;
    color: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-normal);
}

.search-toggle:hover, .menu-toggle:hover {
    background: rgba(255,255,255,0.3);
}

.menu-toggle {
    display: none;
}

/* Mobile Menu */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-menu-inner {
    position: absolute;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    background-color: var(--white);
    padding: 2rem;
    transition: right var(--transition-normal);
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

html[dir="rtl"] .mobile-menu-inner {
    right: auto;
    left: -300px;
    box-shadow: 5px 0 15px rgba(0,0,0,0.1);
    transition: left var(--transition-normal);
}

.mobile-menu-overlay.active .mobile-menu-inner {
    right: 0;
}

html[dir="rtl"] .mobile-menu-overlay.active .mobile-menu-inner {
    left: 0;
}

.mobile-menu-close {
    background: none;
    border: none;
    color: var(--dark);
    cursor: pointer;
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
}

html[dir="rtl"] .mobile-menu-close {
    right: auto;
    left: 1.5rem;
}

.mobile-navigation ul {
    list-style: none;
    margin-top: 3rem;
}

.mobile-navigation li {
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: 1rem;
}

.mobile-navigation a {
    color: var(--secondary);
    font-size: 1.125rem;
    font-weight: 600;
    font-family: var(--font-heading);
    display: block;
}

/* Search Overlay */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-overlay-inner {
    width: 100%;
    max-width: 600px;
    padding: 0 1.5rem;
    position: relative;
}

.search-close {
    position: absolute;
    top: -3rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: var(--dark);
    cursor: pointer;
}

html[dir="rtl"] .search-close {
    right: auto;
    left: 1.5rem;
}

.search-form {
    display: flex;
    border-bottom: 2px solid var(--primary);
    padding-bottom: 0.5rem;
}

.search-form label {
    flex: 1;
}

.search-field {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 1.5rem;
    color: var(--dark);
    font-family: var(--font-heading);
    outline: none;
}

.search-submit {
    background: none;
    border: none;
    color: var(--primary);
    cursor: pointer;
}
.wpml-ls-legacy-dropdown {
    width: auto;
}
.wpml-ls-legacy-dropdown a{
  padding:0;
  background:transparent;
  border:none;
  color:  #FFF;
text-align: right; 
font-size: 1rem;
font-style: normal;
font-weight: 400;
line-height: 150%; /* 24px */
letter-spacing: -0.32px;
text-transform: capitalize;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after{
    background: url('../images/Arrow-btm.png') no-repeat center;
    width:8px;
    height:8px;
    border:None !important;
}

/* Hero Section */
.home-hero {
    position: relative;
    height: 950px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-color: var(--dark);
}

.home-hero .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(44, 44, 44, 0.6);
}

.home-hero .container {
    height: 100%;
    display: flex;
    align-items: center;
}

.hero-content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 4rem;
}

.hero-text-right {
    flex: 1;
    max-width: 650px;
}

.hero-text-left {
    flex: 1;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hero-title {
    color: var(--white);
    font-size: 62px;
    line-height: 1.24;
    letter-spacing: -2.48px;
    margin-bottom: 0;
}

.hero-subtitle {
    color: var(--white);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0;
}

.hero-chat-btn {
    width: 60px;
    height: 60px;
    background-color: #174d5b;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

/* Hero Search Box */
.hero-search-wrapper {
    position: absolute;
    bottom: 5rem;
    left: 2rem;
    transform: translateX(-50%);
    width: 100%;
    z-index: 20;
    padding: 0 1.5rem;
}

.hero-search-box {
    background-color: var(--white);
    max-width: 1312px;
    margin:0 auto;
    border-radius: 28px;
    padding: 2rem 3rem;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.hero-search-title {
    font-size: 24px;
    color: #020202;
    margin-bottom: 2rem;
    font-weight: bold;
}

.hero-property-search {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
}

.search-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.search-field label {
    font-size: 16px;
    color: #020202;
    font-weight: 500;
}

.search-input-wrapper {
    background-color: #EFEFEF;
    border-radius: 1000px;
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    gap: 10px;
    position: relative;
}

.search-input-wrapper svg {
    color: #020202;
    opacity: 0.4;
    flex-shrink: 0;
}

.search-input-wrapper select {
    background: transparent;
    border: none;
    outline: none;
    width: 100%;
    color: #020202;
    font-family: var(--font-body);
    font-size: 14px;
    appearance: none;
    cursor: pointer;
}

.search-input-wrapper::after {
    content: '\25BE';
    position: absolute;
    left: 1.5rem;
    pointer-events: none;
    color: #020202;
    opacity: 0.4;
}

html[dir="rtl"] .search-input-wrapper::after {
    right: auto;
    left: 1.5rem;
}

.search-action {
    flex: 0 0 250px;
}

.search-submit-btn {
    background-color: #4C6C77;
    color: white !important;
    border-radius: 100px;
    height: 56px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    border: none;
    transition: all var(--transition-normal);
}

.search-submit-btn:hover {
    background-color: #3b555e;
}

/* Hover Effects */
.hover-lift {
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.hover-zoom {
    overflow: hidden;
}

.hover-zoom img {
    transition: transform var(--transition-slow);
}

.hover-zoom:hover img {
    transform: scale(1.05);
}

/* Section Header */
.section-header {
    margin-bottom: 3rem;
}

.sub-title {
    color: var(--primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 0.5rem;
}

.section-title {
    font-size: 2.5rem;
    color: var(--secondary);
}

/* Services Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
}

.service-card {
    background-color: var(--white);
    padding: 2.5rem;
    border-radius: 0.5rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
}

.service-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 152, 0, 0.1);
    color: var(--primary);
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    font-size: 2rem;
}

.service-title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.service-title a {
    color: var(--secondary);
}

.service-title a:hover {
    color: var(--primary);
}

.service-excerpt {
    color: var(--text-muted);
    margin-bottom: 1.5rem;
}

.service-link {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    gap: 0.5rem;
}

/* Projects Grid */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 2rem;
}

.project-card {
    border-radius: 0.5rem;
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-md);
}

.project-image {
    position: relative;
    height: 250px;
}

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

.project-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(30, 41, 59, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-normal);
}

.project-card:hover .project-overlay {
    opacity: 1;
}

.project-link-icon {
    width: 50px;
    height: 50px;
    background-color: var(--primary);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(20px);
    transition: all var(--transition-normal);
}

.project-card:hover .project-link-icon {
    transform: translateY(0);
}

.project-info {
    padding: 1.5rem;
    background-color: var(--white);
}

.project-title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.project-title a {
    color: var(--secondary);
}

.project-location {
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* About Section */
.home-about {
    background-color: #F3F8F8;
}

/* Stats row */
.about-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
    text-align: center;
}

.about-stat-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.stat-number {
    font-family: var(--font-heading);
    font-size: 4.25rem;
    font-weight: 400;
    color: var(--dark);
    line-height: 1;
    letter-spacing: -1px;
    color: var(--RSL-Dark, #020202);
    text-align: right; 
    letter-spacing: -2.04px;
    display:inline-block;
    direction:ltr;
}

.stat-label {
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    color: var(--RSL-Dark, #020202);
    text-align: right;
}

/* About description text */
.about-description {
    text-align: center;
}

.about-description-inner {
    max-width: 820px;
    margin: 0 auto;
    font-size: 24px;
    line-height: 1.8;
    color: var(--RSL-Dark, #020202);
    text-align: center; 
    letter-spacing: -1.44px;
}

.about-description-inner p {
    margin-bottom: 0;
}

/* legacy grid kept for other references */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.content-body {
    margin-bottom: 2rem;
}

/* Partners */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 2rem;
    align-items: center;
}

.partner-item {
    background-color: var(--white);
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: var(--shadow-sm);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
}

.partner-logo {
    max-height: 80px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all var(--transition-normal);
}

.partner-item:hover .partner-logo {
    filter: grayscale(0%);
    opacity: 1;
}
/* Testimonials */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
}

.testimonial-card {
    background-color: var(--white);
    padding: 2.5rem;
    border-radius: 0.5rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
    position: relative;
}

.testimonial-card::before {
    content: '"';
    position: absolute;
    top: 1.5rem;
    right: 2rem;
    font-size: 4rem;
    color: var(--border);
    font-family: Georgia, serif;
    line-height: 1;
    opacity: 0.5;
}

html[dir="rtl"] .testimonial-card::before {
    right: auto;
    left: 2rem;
}

.testimonial-content {
    color: var(--text-muted);
    font-style: italic;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.author-image img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}

.author-name {
    margin-bottom: 0;
    font-size: 1.125rem;
}

.author-role {
    font-size: 0.875rem;
    color: var(--primary);
}

/* Footer */
.site-footer {
    background-color: var(--dark);
    color: var(--light);
    padding-top: 5rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    margin-bottom: 3rem;
}

.widget-title {
    color: var(--white);
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 0.5rem;
}

.footer-about {
    color: var(--text-muted);
    margin-top: 1.5rem;
}

.links-widget ul {
    list-style: none;
}

.links-widget li {
    margin-bottom: 0.75rem;
}

.links-widget a {
    color: var(--text-muted);
}

.links-widget a:hover {
    color: var(--primary);
    padding-left: 5px;
}

html[dir="rtl"] .links-widget a:hover {
    padding-left: 0;
    padding-right: 5px;
}

.contact-info {
    list-style: none;
}

.contact-info li {
    margin-bottom: 1rem;
    color: var(--text-muted);
}

.contact-info strong {
    color: var(--white);
    display: block;
}

.site-info {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 1.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-muted);
}

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

.social-links a {
    color: var(--white);
    background-color: rgba(255,255,255,0.1);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all var(--transition-normal);
}

.social-links a:hover {
    background-color: var(--primary);
    transform: translateY(-3px);
}

/* Forms (Gravity Forms styling) */
.gform_wrapper {
    margin-top: 1.5rem;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.375rem;
    background-color: var(--white);
    color: var(--text-main);
    font-family: var(--font-body);
    transition: border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 152, 0, 0.2);
}

.gform_wrapper .gform_button {
    background-color: var(--primary);
    color: var(--white);
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 0.375rem;
    font-family: var(--font-heading);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-normal);
}

.gform_wrapper .gform_button:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
}

.gform_wrapper .validation_error {
    color: #ef4444;
    margin-bottom: 1rem;
    font-weight: 600;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea {
    border-color: #ef4444;
}

.gform_wrapper .validation_message {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.gform_confirmation_message {
    color: #10b981;
    font-weight: 600;
    padding: 1rem;
    background-color: rgba(16, 185, 129, 0.1);
    border-radius: 0.375rem;
}

/* Responsive */
@media (max-width: 1024px) {
    .about-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .desktop-menu {
        display: none;
    }
    
    .menu-toggle {
        display: block;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    .hero-property-search ,.hero-content-wrapper {
    flex-wrap: wrap;
    }
    .hero-text-left,.hero-text-right{
    max-width: 100%;
     flex: 1 1 100%;
     text-align: center;
     justify-content: center;
     align-items: center;
    }
    .about-stats-row { 
    grid-template-columns: repeat(2, 1fr);
    margin-bottom:0;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .site-info {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .section-padding {
        padding: 3rem 0;
    }
    
    .projects-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   Home Projects Section — Figma node 89:106
   ========================================= */

.home-projects {
    background-color: var(--white);
}

/* Section Header */
.projects-section-header {
    margin-bottom: 3rem;
    text-align: center;
}

html[dir="ltr"] .projects-section-header {
    text-align: left;
}

.projects-title {
    font-family: var(--font-heading);
    font-size: 2.25rem;
    font-weight: 700;
    color: #020202;
    letter-spacing: -0.48px;
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

.projects-subtitle {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 400;
    color: rgba(2, 2, 2, 0.6);
    letter-spacing: -0.32px;
    line-height: 1.5;
    margin-bottom: 0;
}

/* ---- Grid ---- */
.projects-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* ---- Card ---- */
.pcn-card {
    background-color: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--transition-normal), transform var(--transition-normal);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.pcn-card:hover {
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
}

/* ---- Image ---- */
.pcn-image-wrap {
    position: relative;
    width: 100%;
    height: 286px;   /* exact Figma height */
    overflow: hidden;
    flex-shrink: 0;
}

.pcn-img-link {
    display: block;
    width: 100%;
    height: 100%;
}

.pcn-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px 20px 0 0;
    transition: transform var(--transition-slow);
}

.pcn-card:hover .pcn-thumbnail {
    transform: scale(1.04);
}

/* ---- Price badge (Figma: white pill, bottom of image) ---- */
.pcn-price-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;                           /* RTL: left side of card = start */
    background: #ffffff;
    border-radius: 100px;
    padding: 8px 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    direction: rtl;
}

/* In LTR context badge sits at right */
html[dir="ltr"] .pcn-price-badge {
    left: auto;
    right: 20px;
    direction: ltr;
}

.pcn-price-value {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 400;
    color: #020202;
    letter-spacing: -0.28px;
    line-height: 1.5;
    white-space: nowrap;
}

/* ---- Body ---- */
.pcn-body {
    padding: 20px 20px 12px;
    flex: 1;
}

.pcn-title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 400;
    color: #020202;
    letter-spacing: -0.48px;
    line-height: 1.4;
    margin-bottom: 8px;
    text-align: right;
}

html[dir="ltr"] .pcn-title {
    text-align: left;
}

.pcn-title a {
    color: inherit;
    text-decoration: none;
    transition: opacity var(--transition-fast);
}

.pcn-title a:hover {
    opacity: 0.75;
}

.pcn-excerpt {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 400;
    color: rgba(2, 2, 2, 0.7);     /* 70% opacity — Figma spec */
    letter-spacing: -0.32px;
    line-height: 1.5;
    text-align: right;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0;
}

html[dir="ltr"] .pcn-excerpt {
    text-align: left;
}

/* ---- Footer ---- */
.pcn-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px 20px;
    gap: 12px;
}

/* Meta items (location + type) */
.pcn-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    direction: rtl;
}

html[dir="ltr"] .pcn-meta {
    direction: ltr;
}

.pcn-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 400;
    color: rgba(2, 2, 2, 0.4);     /* 40% opacity — Figma spec */
    letter-spacing: -0.32px;
    line-height: 1.5;
    white-space: nowrap;
}

.pcn-meta-item svg {
    flex-shrink: 0;
}

/* "View Details" pill button — Figma: white bg, 1.2px border rgba(2,2,2,0.42), border-radius 100px */
.pcn-details-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 37px;
    padding: 0 20px;
    background-color: #ffffff;
    border: 1.2px solid rgba(2, 2, 2, 0.42);
    border-radius: 100px;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 400;
    color: #020202;
    letter-spacing: -0.24px;
    line-height: 1.5;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.pcn-details-btn:hover {
    background-color: #020202;
    color: #ffffff;
    border-color: #020202;
}

/* ---- Slider Navigation ---- */
.projects-slider-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 2.5rem;
}

.psn-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.2px solid rgba(2, 2, 2, 0.2);
    background: #ffffff;
    color: #020202;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.psn-btn:hover {
    background-color: #4C6C77;
    border-color: #4C6C77;
    color: #ffffff;
}

/* ---- Responsive ---- */
@media (max-width: 1024px) {
    .projects-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

    .projects-title {
        font-size: 1.75rem;
    }

    .pcn-image-wrap {
        height: 220px;
    }

    .pcn-footer {
        flex-direction: column-reverse;
        align-items: flex-end;
        gap: 10px;
 
   }
}

/* =========================================
   Home Services Section — Figma node 213:176
   ========================================= */

.home-services-new {
    background-color: #ffffff;
    overflow: hidden;
}

/* Section Header */
.hsn-header {
    text-align: center;
    margin-bottom: 3rem;
}

.hsn-title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    color: #000000;
    letter-spacing: -1.92px;
    line-height: 1.24;
    text-transform: capitalize;
    margin-bottom: 0.75rem;
}

.hsn-subtitle {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    color: #000000;
    letter-spacing: -0.88px;
    line-height: 1.24;
    text-transform: capitalize;
    margin-bottom: 0;
}

/* Navigation */
.hsn-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 1.5rem;
}

.hsn-nav-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1.2px solid rgba(2, 2, 2, 0.2);
    background: #ffffff;
    color: #020202;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.hsn-nav-btn:hover {
    background-color: #4C6C77;
    border-color: #4C6C77;
    color: #ffffff;
}

/* Slider track */
.hsn-slider-wrapper {
    overflow: hidden;
}

.hsn-track {
    display: flex;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.hsn-slide {
    min-width: 100%;
    flex-shrink: 0;
}

/* Content: icon + text, right-aligned (RTL) */
.hsn-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: right;
    gap: 12px;
    padding-bottom: 2rem;
}

html[dir="ltr"] .hsn-content {
    align-items: flex-start;
    text-align: left;
}

/* Icon box: teal 64×64, radius 12px — Figma spec */
.hsn-icon-box {
    width: 64px;
    height: 64px;
    background-color: #4C6C77;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

.hsn-icon-img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* Service title: 24px bold teal */
.hsn-service-title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: #4C6C77;
    line-height: 32px;
    margin-bottom: 0;
}

.hsn-service-title a {
    color: inherit;
    text-decoration: none;
    transition: opacity var(--transition-fast);
}

.hsn-service-title a:hover {
    opacity: 0.75;
}

/* Description: 16px, #43474C, line-height 26px */
.hsn-service-desc {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 400;
    color: #43474C;
    line-height: 26px;
    max-width: 500px;
    margin-bottom: 0;
}

/* Background image panel below text */
.hsn-bg-image {
    width: 100%;
    height: 370px;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    border-radius: 16px;
}

/* Responsive */
@media (max-width: 768px) {
    .hsn-title { font-size: 32px; }
    .hsn-subtitle { font-size: 16px; }
    .hsn-bg-image { height: 240px; }
    .hsn-service-desc { max-width: 100%; }
}

@media (max-width: 480px) {
    .hsn-title { font-size: 26px; letter-spacing: -0.8px; }
}

/* =========================================
   Home Contact Section — Figma node 89:215
   ========================================= */
.home-contact-section {
    background-color: #F3F8F8;
    padding: 80px 0;
    overflow: hidden;
}

.hc-slider-wrapper {
    position: relative;
    margin-bottom: 40px;
}

/* Navigation arrows */
.hc-nav {
    position: absolute;
    top: 0;
    left: 0; /* RTL context left */
    display: flex;
    gap: 12px;
    z-index: 10;
}

html[dir="ltr"] .hc-nav {
    left: auto;
    right: 0;
}

.hc-nav-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(2, 2, 2, 0.16);
    background: rgba(2, 2, 2, 0.02);
    color: #020202;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.hc-nav-btn:hover {
    background: #4C6C77;
    color: #ffffff;
    border-color: #4C6C77;
}

/* Slides track (Controlled by Slick) */
.hc-track {
    /* Slick handles display and transitions */
}

.hc-slide {
    display: flex;
    flex-direction: column;
}

/* Top Content */
.hc-top-content {
    max-width: 800px;
    margin-left: auto; /* Push to left in LTR, but we want right alignment in RTL */
}

/* In RTL, we want text on the right side. The container handles this naturally if we just align right */
.hc-title {
    font-family: var(--font-heading);
    font-size: 60px;
    font-weight: 400;
    color: #020202;
    line-height: 1.4;
    letter-spacing: -1.2px;
    margin-bottom: 24px;
    text-align: right;
}

.hc-desc {
    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 300;
    color: rgba(2, 2, 2, 0.7);
    line-height: 1.5;
    letter-spacing: -0.6px;
    max-width: 600px;
    text-align: right;
    margin-left: auto; /* Push away from left */
}

html[dir="ltr"] .hc-title,
html[dir="ltr"] .hc-desc {
    text-align: left;
    margin-right: auto;
    margin-left: 0;
}

/* Bottom Row */
.hc-bottom-row {
    display: flex;
    gap: 24px;
    align-items: stretch;
}

/* RTL layout puts the image visually on the right */
.hc-image-wrap {
    flex: 1; /* Takes up remaining space (approx 785px in design) */
    min-width: 0;
}

.hc-image {
    width: 100%;
    height: 270px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
}

/* Contact Box */
.hc-contact-box {
    width: 452px;
    height: 270px;
    background-color: #ffffff;
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-shrink: 0;
}

.hc-box-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.hc-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(2, 2, 2, 0.02);
    border: 1px solid rgba(2, 2, 2, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 41px;
    padding: 0 24px;
    background-color: #4C6C77;
    border-radius: 100px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    text-decoration: none;
    letter-spacing: -0.28px;
    transition: opacity var(--transition-fast);
}

.hc-btn:hover {
    opacity: 0.85;
    color: #ffffff;
}

.hc-box-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: right;
}

html[dir="ltr"] .hc-box-body {
    text-align: left;
}

.hc-info-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hc-label {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 400;
    color: #020202;
    letter-spacing: -0.96px;
    line-height: 1.24;
}

.hc-value {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 400;
    color: rgba(2, 2, 2, 0.7);
    letter-spacing: -0.36px;
    direction: ltr; /* keep phone numbers ltr */
    display: inline-block;
    text-align: right;
}

html[dir="ltr"] .hc-value {
    text-align: left;
}

.hc-email-link {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 400;
    color: #020202;
    text-decoration: underline;
    letter-spacing: -0.32px;
}

.hc-email-link:hover {
    color: #4C6C77;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .hc-title { font-size: 48px; }
    .hc-desc { font-size: 24px; }
    .hc-bottom-row { flex-direction: column; }
    .hc-contact-box { width: 100%; height: auto; gap: 40px; }
    .hc-image { height: 350px; }
    .hc-nav { position: relative; margin-bottom: 24px; justify-content: flex-end; }
}

@media (max-width: 640px) {
    .hc-title { font-size: 32px; }
    .hc-desc { font-size: 18px; }
    .hc-image { height: 200px; }
    .hc-box-header {  gap: 20px; align-items: flex-end; }
    html[dir="ltr"] .hc-box-header { align-items: flex-start; }
}

/* =========================================
   Home Banner (CTA) Section — Figma node 221:244
   ========================================= */
.home-banner-section {
    position: relative;
    height: 490px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.hb-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.76);
    z-index: 1;
}

.hb-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.hb-text {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 400;
    color: #ffffff;
    line-height: 1.24;
    letter-spacing: -1.6px;
    margin-bottom: 40px;
}

.hb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 53px;
    padding: 0 32px;
    background-color: #4C6C77;
    border-radius: 100px;
    color: #ffffff;
    text-decoration: none;
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.hb-btn:hover {
    opacity: 0.9;
    color: #ffffff;
    transform: translateY(-2px);
}

.hb-btn-text {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.44px;
    line-height: 1.5;
}

.hb-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

/* Responsive Banner */
@media (max-width: 768px) {
    .home-banner-section {
        height: 400px;
    }
    .hb-text {
        font-size: 28px;
        letter-spacing: -1px;
    }
}

@media (max-width: 480px) {
    .home-banner-section {
        height: 350px;
    }
    .hb-text {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .hb-btn {
        height: 46px;
        padding: 0 24px;
    }
    .hb-btn-text {
        font-size: 18px;
    }
}
/* =========================================
   Footer Area (Figma 89:255)
   ========================================= */
.site-footer {
    background-color: #ffffff;
    padding-top: 80px;
    font-family: var(--font-heading);
}

.footer-top-grid {
    display: grid;
    grid-template-columns: 2.5fr 1fr 1fr 1fr 1.5fr;
    gap: 30px;
    margin-bottom: 60px;
    align-items: start;
}

/* Widget Titles */
.widget-title, .newsletter-title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 400;
    color: #020202;
    margin-bottom: 24px;
}

.newsletter-title {
    font-size: 2rem;
    line-height: 124%;
    margin-bottom: 16px;
}

/* Newsletter Styles */
.newsletter-desc {
    font-size: 16px;
    color: #96a9be;
    line-height: 1.6;
    margin-bottom: 24px;
}

.static-newsletter-form .snf-inner {
    display: flex;
    background: #ffffff;
    border: 1px solid #EAEAEA;
    border-radius: 100px;
    height: 56px;
    overflow: hidden;
    padding: 4px;
    gap: 8px;
    /* In RTL, button on left means it should be last in flex row */
    flex-direction: row-reverse; 
}

html[dir="ltr"] .static-newsletter-form .snf-inner {
    flex-direction: row;
}

.snf-input-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 8px;
}

.snf-input-wrap input {
    border: none;
    outline: none;
    width: 100%;
    font-family: var(--font-body);
    font-size: 14px;
    color: #020202;
}

.snf-icon {
    color: #96a9be;
}

.snf-btn {
    background-color: #536e78;
    color: #ffffff;
    border: none;
    border-radius: 100px;
    padding: 0 24px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity var(--transition-fast);
}

.snf-btn:hover {
    opacity: 0.9;
}

/* Gravity Forms Overrides for Newsletter */
.newsletter-widget .gform_wrapper form {
    margin: 0 !important;
}
.newsletter-widget .gform_wrapper .gform_body {
    width: auto !important;
}
.newsletter-widget .gform_wrapper .gform_footer {
    padding: 0 !important;
    margin: 0 !important;
}

/* Menu Links */
.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-menu li {
    margin-bottom: 12px;
}
.footer-menu li a {
    color: #536e78;
    font-size: 16px;
    text-decoration: none;
    transition: color var(--transition-fast);
}
.footer-menu li a:hover {
    color: #020202;
}

/* Contact Info */
.contact-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.contact-info-list li {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ci-label {
    color: #96a9be;
    font-size: 14px;
}
.ci-value {
    color: #536e78;
    font-size: 16px;
    text-decoration: none;
    font-weight: 400;
    display: inline-flex;
    width: auto;
    text-align: right;
    justify-content: flex-end;
}

/* Huge Bottom Text */
.footer-big-text {
    text-align: center;
    font-size: 16vw;
    font-family: var(--font-heading);
    font-weight: 400;
    color: #4C6C77;
    line-height: 124%;
    margin-bottom: 3rem;
    white-space: nowrap;
    overflow: hidden;
}

/* Bottom Bar */
.footer-bottom-bar {
    background-color: #536e78;
    color: #ffffff;
    padding: 20px 0;
    font-size: 14px;
    position: relative;
    z-index: 10; /* Above the big text */
}
.fb-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.fb-designer a {
    color: #ffffff;
    text-decoration: none;
}
.fb-designer a:hover {
    text-decoration: underline;
}

/* Responsive Footer */
@media (max-width: 1024px) {
    .footer-top-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .newsletter-widget {
        grid-column: 1 / -1;
        max-width: 500px;
    }
}

@media (max-width: 768px) {
    .footer-top-grid {
        grid-template-columns: 1fr 1fr;
    }
    .fb-container {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .footer-top-grid {
        grid-template-columns: 1fr;
    }
    .footer-big-text {
        font-size: 20vw;
    }
}
/* =========================================
   Page Hero Section & Breadcrumb (Figma 110:3410)
   ========================================= */
.page-hero-section {
    position: relative;
    height: 558px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    display: flex;
    align-items: flex-end;
    padding-bottom: 80px;
    background-color: #4C6C77; /* Fallback */
}

.page-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.79);;
    pointer-events: none;
}

.page-hero-title {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 16px;
    line-height: 1.24;
}

.custom-breadcrumb {
    margin-top: 10px;
}

.custom-breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}

.custom-breadcrumb a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity var(--transition-fast);
}

.custom-breadcrumb a:hover {
    opacity: 0.8;
}

.custom-breadcrumb .current {
    color: rgba(255, 255, 255, 0.5);
}

/* =========================================
   Projects Archive (Figma 110:3408)
   ========================================= */
.projects-archive-section,
.services-archive-section {
    background-color: #f3f8f8;
    padding-top: 80px;
    padding-bottom: 80px;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.project-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.project-card-image {
    position: relative;
    height: 286px;
    border-radius: 20px;
    overflow: hidden;
}

.pc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-normal);
}

.project-card-image:hover .pc-img {
    transform: scale(1.05);
}

.pc-img-placeholder {
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
}

.project-price-badge {
    position: absolute;
    bottom: 20px;
    right: 20px; /* Right in RTL */
    background: #ffffff;
    border-radius: 100px;
    height: 37px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 6px;
    color: #020202;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 500;
}

.project-card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* RTL friendly */
}

.project-title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: #020202;
    margin-bottom: 12px;
}

.project-title a {
    color: inherit;
    text-decoration: none;
}

.project-excerpt {
    font-size: 16px;
    color: rgba(2, 2, 2, 0.7);
    line-height: 1.5;
    margin-bottom: 20px;
}

.project-meta {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
}

.pm-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(2, 2, 2, 0.4);
    font-size: 16px;
}

.project-btn {
    background: #ffffff;
    border: 1.2px solid rgba(2, 2, 2, 0.42);
    border-radius: 100px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    color: #020202;
    font-size: 12px;
    text-decoration: none;
    transition: all var(--transition-fast);
}

.project-btn:hover {
    background: #020202;
    color: #ffffff;
    border-color: #020202;
}

/* =========================================
   Services Archive (Figma 110:2851)
   ========================================= */
.services-archive-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
}


@media (max-width: 991px) {
    .services-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .services-archive-grid {
        grid-template-columns: 1fr;
    }
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .projects-grid {
        grid-template-columns: 1fr;
    }
    .page-hero-section {
        height: 400px;
    }
}
footer .newsletter{ 
    padding-left:2rem;
}
footer .newsletter  form {
	display: flex;
	border-radius: 1.25rem;
    padding:6px !important;
border-radius: 100px !important;
border: 1px solid rgba(2, 2, 2, 0.16) !important;
background: var(--RSL-Light, #FFF) !important;
backdrop-filter: blur(2px);
	align-items: center;
}
footer .newsletter  form label {
	margin: 0;
}
footer .newsletter  form .es-field-wrap {
	width: 100%;
	font-size: 0;
	margin: 0 !important;
}
footer .newsletter  form .es-field-wrap input {
	font-size: 1rem;
	border: 0; 
    min-width: 15rem;
	padding: 0 0.5rem;
	background: transparent;
	color: #020202;
border:None !important;
text-align: right; 
font-size: 0.875rem;
font-style: normal;
font-weight: 400;
}
footer .newsletter   form .es-field-wrap input::placeholder {
	color: #020202 !important;

text-align: right; 
font-size: 0.875rem;
font-style: normal;
font-weight: 400;
}
footer .newsletter form .es-field-wrap input.es-subscribe-btn {   
    color: #FFF !important;
text-align: right; 
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 150%; /* 21px */
letter-spacing: -0.28px;
text-transform: capitalize;
padding: 0.5rem 1.9375rem !important;
    border-radius: 100px !important;
background: #4C6C77 !important;
    margin:0 !important;
}

/* =========================================
   About Us Page (Figma 108:299)
   ========================================= */
.about-intro-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.about-intro-text {
    max-width: 900px;
    margin: 0 auto 60px;
    font-size: 24px;
    line-height: 1.6;
    color: #4C6C77; /* Deep teal/blue color */
    font-weight: 500;
}

.about-main-image {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    height: 500px;
}

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

.ami-placeholder {
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
}

.about-mvv-section {
    padding: 80px 0;
    background-color: #f3f8f8;
}

.mvv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.mvv-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 40px 30px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mvv-icon {
    width: 80px;
    height: 80px;
    background-color: #f3f8f8;
    color: #4C6C77;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.mvv-title {
    font-size: 24px;
    font-weight: 700;
    color: #020202;
    margin-bottom: 16px;
    font-family: var(--font-heading);
}

.mvv-text {
    font-size: 16px;
    color: rgba(2, 2, 2, 0.7);
    line-height: 1.6;
}

.mvv-text ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: right;
}

.mvv-text ul li {
    position: relative;
    padding-right: 20px;
    margin-bottom: 10px;
}

.mvv-text ul li::before {
    content: "•";
    color: #4C6C77;
    position: absolute;
    right: 0;
    font-size: 20px;
    line-height: 1;
}

.about-stats-section {
    padding: 60px 0;
    background-color: #ffffff;
    border-bottom: 1px solid #eaeaea;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.stat-icon {
    color: #4C6C77;
    margin-bottom: 8px;
}

.stat-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.stat-number {
    font-size: 48px;
    font-weight: 700;
    color: #020202;
    font-family: var(--font-heading);
    margin: 0;
    line-height: 1;
}

.stat-label {
    font-size: 16px;
    color: rgba(2, 2, 2, 0.6);
    margin: 0;
}

.about-team-section {
    padding: 80px 0;
    background-color: #f3f8f8;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.team-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
    padding-bottom: 30px;
}

.tc-image {
    width: 100%;
    height: 350px;
    position: relative;
    margin-bottom: 24px;
}

.tc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter var(--transition-fast);
}

.team-card:hover .tc-img {
    filter: grayscale(0%);
}

.tc-placeholder {
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
}

.tc-name {
    font-size: 24px;
    font-weight: 700;
    color: #020202;
    margin-bottom: 8px;
    font-family: var(--font-heading);
}

.tc-role {
    font-size: 16px;
    color: #4C6C77;
    font-weight: 500;
    margin-bottom: 16px;
}

.tc-bio {
    font-size: 14px;
    color: rgba(2, 2, 2, 0.7);
    line-height: 1.6;
    padding: 0 24px;
}

/* Responsive */
@media (max-width: 1024px) {
    .mvv-grid, .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
    .about-main-image {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .mvv-grid, .team-grid, .stats-grid {
        grid-template-columns: 1fr;
    }
    .about-intro-text {
        font-size: 18px;
    }
    .about-main-image {
        height: 250px;
    }
}

/* =========================================
   Single Service (Figma 110:3211)
   ========================================= */
.single-service-section {
    background-color: #f9fbfc;
}

.ss-content-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.ss-title {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 700;
    color: #4C6C77; /* Teal */
    margin-bottom: 24px;
}

.ss-description {
    font-size: 18px;
    line-height: 1.8;
    color: #43474C;
    margin-bottom: 40px;
}

.ss-features-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-bottom: 60px;
}

.ss-feature-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid rgba(76, 108, 119, 0.1);
    padding: 12px 24px;
    border-radius: 100px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.ss-feature-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    color: #4C6C77;
}

.ss-feature-title {
    font-size: 16px;
    font-weight: 600;
    color: #4C6C77;
}

.ss-main-image {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.ss-main-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Custom Projects Page Figma Design */
.custom-projects-page {
    background-color: #f3f8f8;
}
.custom-projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 38px;
    margin-top: 50px;
    margin-bottom: 50px;
}
.cp-card {
    display: flex;
    flex-direction: column;
}
.cp-image-wrap {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    height: 286px;
    margin-bottom: 20px;
}
.cp-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.cp-img-link:hover .cp-thumbnail {
    transform: scale(1.05);
}
.cp-price-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background-color: #FFFFFF;
    border-radius: 100px;
    height: 37px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #020202;
    font-size: 14px;
    z-index: 2;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.cp-title {
    margin: 0 0 10px 0;
    font-size: 24px;
}
.cp-title a {
    color: #020202;
    text-decoration: none;
}
.cp-title a:hover {
    color: #4C6C77;
}
.cp-excerpt {
    color: #020202;
    opacity: 0.7;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
}
.cp-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}
.cp-meta {
    display: flex;
    gap: 20px;
    align-items: center;
}
.cp-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #020202;
    opacity: 0.4;
    font-size: 16px;
}
.cp-details-btn {
    border: 1.2px solid rgba(2, 2, 2, 0.42);
    border-radius: 100px;
    height: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    color: #020202;
    font-size: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    background: transparent;
}
.cp-details-btn:hover {
    background-color: #4C6C77;
    color: #FFFFFF;
    border-color: #4C6C77;
}
.custom-projects-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
}
.custom-projects-pagination a,
.custom-projects-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #FFFFFF;
    color: #020202;
    text-decoration: none;
    transition: all 0.3s;
    border: 1px solid rgba(2,2,2,0.1);
}
.custom-projects-pagination svg{
    display:inline-block;
    transform:rotate(180deg)
}
.custom-projects-pagination .current {
    background: #4C6C77;
    color: #FFFFFF;
    border-color: #4C6C77;
}
.custom-projects-pagination a:hover {
    background: rgba(76, 108, 119, 0.1);
}

/* Single Project Figma Design Revamp */
.single-project-revamped {
    padding-bottom: 0;
}
.sp-hero {
    height: 558px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
}
.sp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(44,44,44,0.12), rgba(0,0,0,0.6));
}
.sp-hero-title {
    color: #fff;
    font-size: 40px;
    text-align: right;
    margin-bottom: 40px;
}
.sp-about-section {
    padding-top: 80px;
    padding-bottom: 80px;
}
.sp-about-layout {
    display: flex;
    justify-content: flex-start;
}
.sp-about-content {
    max-width: 800px;
    width: 100%;
}
.sp-section-title {
    font-size: 30px;
    color: #1a365d;
    margin-bottom: 20px;
}
.sp-about-text {
    font-size: 18px;
    color: #45556c;
    line-height: 1.6;
}
.sp-about-text p {
    margin-bottom: 1rem;
}
.sp-tags-row {
    display: flex;
    gap: 16px;
    justify-content: flex-start;
    margin-top: 30px;
    flex-wrap: wrap;
}
.sp-tag {
    background-color: #f1f5f9;
    border-radius: 8px;
    padding: 8px 16px;
    color: #1a365d;
    font-size: 14px;
    font-weight: 700;
}
.sp-features-section {
    background-color: #f8fafc;
}
.sp-section-header {
    margin-bottom: 60px;
}
.sp-section-subtitle {
    font-size: 16px;
    color: #45556c;
    max-width: 600px;
    margin: 0 auto;
}
.sp-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.sp-feature-card {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 16px;
    padding: 33px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: right;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}
.sp-feature-card:hover {
    transform: translateY(-5px);
}
.sp-feature-icon {
    background: #f8fafc;
    border-radius: 12px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4c6c77;
    margin-bottom: 20px;
}
.sp-feature-title {
    font-size: 20px;
    color: #1a365d;
    margin-bottom: 10px;
}
.sp-feature-desc {
    font-size: 14px;
    color: #45556c;
    line-height: 1.6;
    margin-bottom: 0;
}
.sp-gallery-section {
    padding-top: 80px;
    padding-bottom: 100px;
}
.sp-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 40px;
}
.sp-gallery-item {
    border-radius: 16px;
    overflow: hidden;
    height: 220px;
}
.sp-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.sp-gallery-item:hover img {
    transform: scale(1.05);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .sp-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sp-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .sp-features-grid {
        grid-template-columns: 1fr;
    }
    .sp-gallery-grid {
        grid-template-columns: 1fr;
    }
    .sp-hero {
        height: 400px;
    }
    .sp-hero-title {
        font-size: 32px;
    }
}

/* ==========================================================================
   Partners Page Styles (Matched with Figma)
   ========================================================================== */

.page-partners-layout {
    font-family: inherit;
}

/* Typography Overrides */
.text-white { color: #fff !important; }
.bg-white { background-color: #fff !important; }
.bg-secondary { background-color: var(--secondary) !important; }
.bg-light { background-color: var(--light) !important; }
.relative { position: relative; }
.z-10 { z-index: 10; }

/* Hero Section */
.partners-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: 10rem 0;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(2px);
}
.partners-hero .page-title {
    font-size: 3.5rem;
    font-weight: 700;
}

/* Category Sections */
.partner-category-block {
    margin-bottom: 4rem;
}
.category-header {
    margin-bottom: 2rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}
.category-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.category-title {
    font-size: 1.5rem;
    color: var(--secondary);
    font-weight: 700;
    margin:0;
}
.partners-grid-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}
.partner-logo-card {
    border-radius: 16px;
border: 1px solid #F1F5F9;
background: linear-gradient(0deg, #FFF 0%, #FFF 100%), #F8FAFC;
background-blend-mode: saturation, normal;
    padding: 2rem;
    min-width: 200px;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.partner-logo-card h3{
    color: #4C6C77;
text-align: right; 
margin-top:1rem;
font-size: 1rem;
font-style: normal;
font-weight: 700;
line-height: 2rem; /* 150% */
}
.partner-logo-card:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}
.partner-logo-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Testimonials Section */
.partners-testimonials .section-heading {
    margin-bottom: 3rem;
}
.partners-testimonials .section-heading h2 {
    color: var(--secondary);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.partners-testimonials .section-heading p {
    color: var(--text-muted);
    max-width: 600px;
    margin: 0 auto;
}
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}
.testimonial-card {
   border-radius: 24px;
background: rgba(255, 255, 255, 0.00);
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
    padding: 2.5rem 2rem;
    position: relative;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}
.quote-icon {
    position: absolute;
    top: 2rem;
    right: 2rem;
    opacity: 0.5;
}
.testimonial-content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-main);
    margin-bottom: 2rem;
    margin-top: 2rem;
}
.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.author-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}
.author-name {
    margin: 0;
    font-size: 1rem;
    color: var(--secondary);
    font-weight: 700;
}
.author-role {
    font-size: 0.875rem;
    color: var(--text-muted);
}

/* Join Network Section */
.join-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}
.join-form-col {
    padding: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.form-container {
    width: 100%;
    max-width: 500px;
}
.gform_heading{
    display:none !important;
}
.gform-theme--foundation .gfield:nth-child(1){
    grid-column:1/7;
}
.gform-theme--foundation .gfield:nth-child(2){
    grid-column:7/13;
}
.join-info-col {
    padding: 4rem;
    display: flex;
    align-items: center;
    border-radius: 0 40px 40px 0;
    background: #4C6C77 !important;
}
.info-content {
    max-width: 450px;
}
.info-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
}
.info-content p {
    font-size: 1.125rem;
    line-height: 1.8;
    opacity: 0.9;
    margin-bottom: 3rem;
}
.contact-details {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.join-form-col .gform-theme--framework .gform-field-label{
    color: #4C6C77;
    text-align: right; 
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}
.gform-theme.gform-theme--framework.gform_wrapper .button{
    border-radius: 12px !important;
    background: #4C6C77 !important;
    width:100% !important;
    color: #FFF;
    text-align: center; 
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
}
.join-form-col  .gform-theme--framework  .gfield input,.join-form-col  .gform-theme--framework  .gfield textarea{
    border-radius: 12px;
border: 1px solid #F1F5F9;
background: #F8FAFC;
}
.join-form-col  .gform-theme--framework  .gfield input::placeholder,.join-form-col  .gform-theme--framework  .gfield textarea::placeholder{
color: rgba(0, 0, 0, 0.50);
font-size:1rem;
font-weight:400;
}
.join-form-col  .gform-theme--framework  .gfield textarea,.contact-form-card .gform-theme--foundation .gfield textarea.large{
    min-block-size: 120px !important;
}
.contact-item {
    background: rgba(255,255,255,0.1);
    padding: 1.5rem;
    border-radius: 0.5rem;
    flex: 1;
    min-width: 200px;
}
.contact-label {
    display: block;
    font-size: 0.875rem;
    opacity: 0.7;
    margin-bottom: 0.5rem;
}
.contact-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 600;
    text-decoration: none;
}
.contact-link:hover {
    opacity: 0.8;
}

/* Footer CTA */
.footer-cta {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: 6rem 0;
}
.cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,23,42,0.8) 0%, rgba(15,23,42,0.95) 100%);
}
.cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.cta-desc {
    font-size: 1.25rem;
    max-width: 600px;
    margin: 0 auto 2.5rem;
    opacity: 0.9;
}
.cta-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--primary);
    color: #fff;
    padding: 1rem 2.5rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 600;
    transition: all 0.3s;
}
.cta-button:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
}

@media (max-width: 992px) {
    .join-grid {
        grid-template-columns: 1fr;
    }
    .join-info-col {
        order: -1;
    }
    .contact-details {
        flex-direction: column;
    }
}


/* ==========================================================================
   Contact Us Page Styles (Figma Design)
   ========================================================================== */

.page-contact-layout {
    font-family: inherit;
}

/* Contact Main Section */
.contact-main-section {
    background-color: var(--white);
}

.contact-grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 3rem;
    align-items: start;
}

/* Form Card */
.contact-form-card {
    background: var(--white);
    border: 1px solid #F1F5F9;
    border-radius: 2rem;
    padding: 3rem;
    box-shadow: var(--shadow-hover);
    position: relative;
}

.form-card-title {
    font-size: 1.5rem;
    color: var(--secondary);
    font-weight: 700;
    margin-bottom: 2rem;
    text-align: right;
}

.contact-form-card .gform_wrapper input[type="text"],
.contact-form-card .gform_wrapper input[type="email"],
.contact-form-card .gform_wrapper input[type="tel"],
.contact-form-card .gform_wrapper input[type="url"],
.contact-form-card .gform_wrapper select,
.contact-form-card .gform_wrapper textarea {
    background-color: #F8FAFC;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    padding: 1rem 1.125rem;
    font-size: 1rem;
    font-family: var(--font-body);
    color: var(--text-main);
    transition: border-color var(--transition-normal);
    width: 100%;
}

.contact-form-card .gform_wrapper input:focus,
.contact-form-card .gform_wrapper textarea:focus {
    border-color: var(--secondary);
    outline: none;
}

.contact-form-card .gform_wrapper .gform_footer input[type="submit"],
.contact-form-card .gform_wrapper .gform_page_footer input[type="submit"] {
    background-color: var(--secondary);
    color: var(--white);
    border: none;
    border-radius: 0.75rem;
    padding: 1rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    font-family: var(--font-body);
    cursor: pointer;
    width: 100%;
    transition: all var(--transition-normal);
    box-shadow: var(--shadow-md);
}

.contact-form-card .gform_wrapper .gform_footer input[type="submit"]:hover,
.contact-form-card .gform_wrapper .gform_page_footer input[type="submit"]:hover {
    background-color: var(--dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

/* Info Side */
.contact-info-side {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-header {
    text-align: right;
}

.info-title {
    font-size: 1.875rem;
    color: var(--secondary);
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.info-description {
    color: #45556C;
    font-size: 1rem;
    line-height: 1.5;
}

/* Info Cards */
.info-cards {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.info-card {
    background: var(--light);
    border: 1px solid #F1F5F9;
    border-radius: 1rem;
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    flex-direction: row;
    transition: all var(--transition-normal);
}

.info-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.info-card-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    background-color: var(--secondary);
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-md);
}

.info-card-content {
    flex: 1;
    text-align: right;
}

.info-card-content h3 {
    font-size: 1.125rem;
    color: var(--secondary);
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.info-card-content p {
    color: #62748E;
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 0;
}

.info-card-content a {
    color: #62748E;
    text-decoration: none;
    transition: color var(--transition-normal);
}

.info-card-content a:hover {
    color: var(--secondary);
}

/* Map Section */
.contact-map-section {
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.map-wrapper {
    width: 100%;
    height: 100%;
}

.map-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Responsive */
@media (max-width: 992px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
    .contact-info-side {
        order: -1;
    }
    .info-card {
        flex-direction: row-reverse;
    }
}


/* ==========================================================================
   Mobile Menu Actions
   ========================================================================== */

.mobile-menu-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2rem 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 1.5rem;
}

.mobile-menu-actions .contact-pill {
    width: 100%;
    text-align: center;
    padding: 0.875rem 1.5rem;
    border-radius: 0.75rem;
    background-color: var(--secondary);
    color: var(--white);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: all var(--transition-normal);
}

.mobile-menu-actions .contact-pill:hover {
    background-color: var(--white);
    color: var(--secondary);
}

.mobile-menu-actions .lang-pill {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Hide on mobile */
@media (max-width: 992px) {
    .desktop-only {
        display: none !important;
    }
    
    footer .newsletter form .es-field-wrap input{
        min-width: auto;
        max-width:100%;
    }
    .home-hero .container { 
    align-items: flex-start;
    padding-top: 5rem;
      }
      .hero-search-wrapper {
    bottom: 2dvh;
    left: 0;

      }
      .hero-search-box{
        padding:2rem 1rem;
      }
      .search-input-wrapper { 
    padding: 0 0.5rem;
      }
      .search-field {
    flex: 1;
    width: 100%;
    min-width: 7rem;
      }
      .search-input-wrapper select{
        font-size: 0.875rem;
      }
      .search-input-wrapper { 
    height: 40px;
      }
      .about-description-inner { 
    font-size: 18px;
      }
      footer .newsletter {
    padding-left: 0;
       }

}

/* Hide mobile-menu-actions on desktop */
@media (min-width: 993px) {
    .mobile-menu-actions {
        display: none;
    }
    
}


/* ===========================
   WhatsApp Fixed Floating Button
   =========================== */

.whatsapp-fixed-btn {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 9999;
    width: 64px;
    height: 64px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
background: #244B59;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-decoration: none !important;
    animation: whatsapp-entrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1s both;
    overflow: visible;
}

/* RTL Support - move to right side */
html[dir="rtl"] .whatsapp-fixed-btn {
    
}

.whatsapp-fixed-btn:hover {
    transform: scale(1.1) translateY(-3px);
    box-shadow: 
        0 10px 30px rgba(37, 211, 102, 0.5),
        0 4px 12px rgba(0, 0, 0, 0.2);
    background: linear-gradient(135deg, #2be36f 0%, #159e8c 100%);
}

.whatsapp-fixed-btn:active {
    transform: scale(0.95);
}

.whatsapp-fixed-btn svg {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15));
}

.whatsapp-fixed-btn:hover svg {
    transform: rotate(-8deg) scale(1.05);
}

/* Pulse Ring Animation */
.whatsapp-pulse {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    animation: whatsapp-pulse-ring 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    background: rgba(37, 211, 102, 0.35);
    z-index: 0;
    pointer-events: none;
}

@keyframes whatsapp-pulse-ring {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    50% {
        opacity: 0.3;
    }
    100% {
        transform: scale(1.6);
        opacity: 0;
    }
}

/* Entrance Animation */
@keyframes whatsapp-entrance {
    0% {
        transform: translateY(100px) scale(0);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Tooltip */
.whatsapp-tooltip {
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(-8px);
    border-radius: 20px;
background: #244B59;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    color: #fff;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-body);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: none; 
    letter-spacing: 0.01em;
}

/* Tooltip arrow */
.whatsapp-tooltip::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-right-color: rgba(15, 23, 42, 0.9);
}

/* RTL Tooltip - flip to left side */
html[dir="rtl"] .whatsapp-tooltip { 
}

html[dir="rtl"] .whatsapp-tooltip::before { 
}

.whatsapp-fixed-btn:hover .whatsapp-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

html[dir="rtl"] .whatsapp-fixed-btn:hover .whatsapp-tooltip {
    transform: translateY(-50%) translateX(0);
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .whatsapp-fixed-btn {
        bottom: 20px;
        left: 20px;
        width: 56px;
        height: 56px;
        border-radius: 16px;
    }

    html[dir="rtl"] .whatsapp-fixed-btn {
   
    }

    .whatsapp-fixed-btn svg {
        width: 28px;
        height: 28px;
    }

    .whatsapp-pulse {
        border-radius: 16px;
    }

    /* Hide tooltip on mobile - users understand the icon */
    .whatsapp-tooltip {
        display: none;
    }
}