﻿/* 
  Varga Homes Handover - Custom Styles
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&display=swap');

@font-face {
    font-family: 'Syne';
    src: url('../fonts/Syne-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
}

@font-face {
    font-family: 'DM Sans';
    src: url('../fonts/DMSans-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
}

@font-face {
    font-family: 'DM Sans';
    src: url('../fonts/DMSans-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
}

:root {
    --bg-off-white: #F7F6F3;
    /* Adjusted for better contrast based on screenshot */
    --navy-blue: #0E233A;
    --accent-teal: #17FAF3;
    --gold-beige: #E0CBA2;
    --sand-bg: #E4DBC8;
    /* Slightly darker for quote block */
}

html,
body {
    width: 100%;
    min-height: 100%;
}

body {
    background-color: var(--bg-off-white);
    color: var(--navy-blue);
    font-family: 'DM Sans', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}


.privacy-policy-text{
        font-family: Montserrat;
     /* color: white; */
     padding: 80px 10%;
     font-size:20px;
     line-height: 1.8;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

/* Typography Utility Classes */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 1rem 0;
}

.heading-primary {
    font-family: 'Syne', sans-serif;
    font-weight: 500;
    font-size: 42pt;
    line-height: 1.2;
}

.heading-secondary {
    font-family: 'Syne', sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.3;
}
.heading-secondary1 {
    font-family: 'Syne', sans-serif;
    font-weight: 500;
    font-size: 27px;
    line-height: 1.3;
}

.subheading {
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 19pt;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
}

.overline {
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 12pt;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold-beige);
    margin-bottom: 1rem;
}

.body-text {
    font-family: 'DM Sans', sans-serif;
    font-size: 16pt;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.6;
    color: var(--navy-blue);
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 1.2rem 2.5rem;
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 10pt;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.btn:hover,
.btn:focus,
.btn-glass:hover,
.btn-glass:focus,
.btn-gold:hover,
.btn-gold:focus,
.btn-navy:hover,
.btn-navy:focus,
.btn-iss:hover,
.btn-iss:focus,
.btn-hww-cta:hover,
.btn-hww-cta:focus,
button {
    text-decoration: none !important;
}

.btn-gold:hover , .what-we-do .btn-gold:hover{
    background-color: #0E233A !important;
}

.btn-glass {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(5px);
}

.btn-glass:hover {
    background-color: #fff;
    color: var(--navy-blue);
}

.btn-gold {
    background-color: var(--gold-beige);
    color: #fff;
}

.btn-gold:hover {
    background-color: var(--navy-blue);
    color: var(--gold-beige);
}

.btn-navy {
    background-color: var(--navy-blue);
    color: #fff;
}

.btn-navy:hover {
    background-color: var(--accent-teal);
    color: var(--navy-blue);
}

/* Layout Utilities */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
}

.section {
    padding: 8rem 0;
}

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

.mt-2 {
    margin-top: 2rem;
}

.mt-4 {
    margin-top: 4rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mb-4 {
    margin-bottom: 4rem;
}

/* Navigation */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 2rem 5%;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    z-index: 999;
    background-color: transparent;
    transition: all 0.3s ease-in-out;
}

.navbar.scrolled {
    background-color: rgba(14, 35, 58, 0.93); /* #0E233A with 93% opacity for glassmorphism */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 1rem 10% !important; /* Sleek padding shrink effect */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05); /* Subtle bottom border for depth */
}

.nav-links-left {
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
}

.nav-links-right {
    display: flex;
    gap: 2rem;
    justify-content: flex-end;
}

.nav-links a {
    color: #fff;
    text-decoration: none;
    font-family: 'DM Sans', sans-serif;
    font-size: 11pt;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    position: relative;
    transition: color 0.3s ease;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--gold-beige);
    transition: width 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.nav-links a:hover {
    color: var(--gold-beige);
}

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

.nav-brand {
    grid-column: 2;
}

.nav-brand img {
    height: 30px;
}

.hamburger-container {
    grid-column: 3;
}

/* Hero Section */
.hero {
    position: relative;
    height: 100vh;
    min-height: 800px;
    background-image: url('../assets/Header.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(14, 35, 58, 0.20) 0%, rgba(14, 35, 58, 0.05) 50%, rgba(14, 35, 58, 0.15) 100%);
    z-index: 1;
}

.hero-content {
    position: absolute;
    bottom: 250px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90%;
    z-index: 2;
    color: #fff;
    max-width: 900px;
}

.hero-content .overline {
    color: #fff;
    font-size: 14pt;
    letter-spacing: 0.2em;
}

.hero-content .body-text {
    color: #fff;
    margin-bottom: 3rem;
}

/* What We Do Section */
.what-we-do {
    max-width: 800px;
    margin: 0 auto;
}

/* Projects Section */
.projects-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 5rem;
}

.projects-tabs {
    display: none !important;
}

.cs-tabs {
    display: none !important;
}

.project-tab {
    margin: 0;
    padding: 0 2.5rem;
    color: #9a9a9a;
    cursor: pointer;
    transition: color 0.25s ease;
    background: none;
    border: none;
    border-left: 1px solid #c8c8c8;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    line-height: inherit;
    appearance: none;
    -webkit-appearance: none;
}

.project-tab:first-child {
    border-left: none;
}

.project-tab.active {
    color: #C4887B;
}

.project-tab:not(.active):hover {
    color: var(--navy-blue);
}

.project-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    margin-bottom: 8rem;
    background-color: var(--bg-off-white);
}

.project-img-col {
    padding: 0;
    margin: 0;
    line-height: 0;
    /* Removes bottom space under image */
}

.project-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.project-text-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--bg-off-white);
}

.project-text-inner {
    width: 100%;
    padding: 6rem;
}

.project-row .project-text-inner {
    padding-left: 6rem;
}

.project-row-reversed .project-text-inner {
    padding-right: 6rem;
}

.project-title-wrap {
    max-width: 540px;
}

.project-row .body-text {
    margin-top: 0;
    margin-bottom: 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Quote Section */
.quote-section {
    background-color: var(--navy-blue);
    padding: 8rem 0;
    text-align: center;
}

.quote-mark {
    margin-bottom: 2rem;
}

.quote-mark img {
    width: 70px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.quote-text {
    font-family: 'DM Sans', sans-serif;
    font-size: 22pt;
    color: #fff;
    max-width: 900px;
    margin: 0 auto 3rem;
    line-height: 1.6;
}

.quote-author {
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 14pt;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold-beige);
}

/* =========================================================
   How We Work — 50/50 Split + ScrollMagic Pin Animation
   ========================================================= */
.how-we-work-section {
    display: grid;
    grid-template-columns: 50vw 50vw;
    background-color: #F9F7F4;
    width: 100vw;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

.hww-image-col {
    width: 100%;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    align-self: start;
}

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

/* Stacked images — inactive: invisible + slight zoom */
.hww-image-item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.hww-image-item.active {
    opacity: 1;
    transform: scale(1);
}

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

.hww-content-col {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6rem 0;
}

.hww-content-inner {
    width: 100%;
    max-width: 600px;
    padding: 0 2rem;
}

@media (max-width: 900px) {
    .how-we-work-section {
        display: flex;
        flex-direction: column;
    }
    .hww-image-col,
    .hww-content-col {
        width: 100vw;
    }
    .hww-image-col {
        height: 54vh;
        position: relative !important;
        top: auto !important;
    }
    .hww-image-item {
        position: relative !important;
        inset: auto !important;
        opacity: 0 !important;
        transform: none !important;
        transition: none !important;
        display: none !important;
    }
    .hww-image-item:first-child {
        opacity: 1 !important;
        display: block !important;
    }
    .hww-content-col {
        padding: 0;
    }
    .hww-content-inner {
        padding: 0 1rem;
    }
}

.hww-header {
    font-family: 'Montserrat', sans-serif;
    font-size: 14pt;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #1A2B3C;
    margin-bottom: 3rem;
    margin-top:1rem;
}

.hww-timeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 5rem;
}

.hww-step {
    max-width: 320px;
    margin: 0 auto;
    transition: opacity 0.5s ease, filter 0.5s ease;
}

.hww-step.closed {
    opacity: 0.3;
    filter: blur(2px);
}

.hww-step.opened {
    opacity: 1;
    filter: blur(0);
}

.hww-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 16pt;
    font-weight: 500;
    color: #D9C39E;
    margin-bottom: 0.75rem;
    margin-top:20px;
}

.hww-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 12pt;
    font-weight: 400;
    line-height: 1.45;
    color: #1A2B3C;
    margin: 0;
}

.hww-divider {
    width: 1px;
    height: 45px;
    background-color: #C4B49F;
   margin-bottom:1rem;
}

.btn-hww-cta {
    display: inline-block;
    background-color: #D9C39E;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 10pt;
    font-weight: 500;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1.2rem 3.5rem;
    border-radius: 0;
    border: none;
    transition: background-color 0.3s ease;
}

.btn-hww-cta:hover {
    background-color: #1A2B3C;
}

/* Services Grid */
.services-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 5rem;
}

.services-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.service-card {
    position: relative;
    height: 600px;
    overflow: hidden;
}

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

.service-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem 2rem 2rem;
    background: linear-gradient(to top, rgba(18, 20, 57, 0.9), transparent);
    color: #fff;
    text-align: center;
}

.service-card-title {
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 14pt;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.service-card-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 12pt;
    opacity: 0.8;
}

/* Contact Section */
.contact-section {
    background-color: var(--navy-blue);
    padding: 8rem 0;
}

.contact-section .overline {
    color: #CCAE83;
}

.contact-section .heading-secondary {
    color: #fff !important;
}

.contact-section .form-input-border {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.3);
}

.contact-section .form-input-border::placeholder {
    color: rgba(255, 255, 255, 0.6);
    opacity: 1;
}

.contact-section textarea.form-input-border {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.contact-section .btn.btn-navy {
    background-color: var(--gold-beige);
    color: var(--navy-blue);
}

.contact-section .btn.btn-navy:hover {
    background-color: #fff;
    color: var(--navy-blue);
}

.contact-container {
    max-width: 800px;
    margin: 0 auto;
}

.form-group-border {
    margin-bottom: 1rem;
}

.form-label {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 14pt;
    color: var(--navy-blue);
    margin-bottom: 0.5rem;
}

.form-input-border {
    width: 100%;
    padding: 0.5rem 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 14pt;
    border: none;
    border-bottom: 1px solid rgba(18, 20, 57, 0.3);
    background: transparent;
    color: var(--navy-blue);
}

.form-input-border:focus {
    outline: none;
    border-bottom-color: var(--navy-blue);
}

textarea.form-input-border {
    resize: vertical;
}

.form-input-border::placeholder {
    color: #000000;
    opacity: 1;
}

.icon-circle {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background-color: var(--gold-beige) !important;
    transition: background-color 0.3s ease !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.icon-circle img {
    width: 50px !important;
    height: 50px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.icon-circle:hover {
    background-color: var(--navy-blue) !important;
}

/* Hidden sections (used for project tab filtering) */
section[data-hidden-section="true"] {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

/* Footer */
.footer-new {
    background-color: var(--navy-blue);
    color: #fff;
}

.footer-new .container {
    color: #fff;
    gap: 4rem !important;
}

.footer-new .container a,
.footer-new .text-center {
    color: #fff;
}

.footer-new .icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

a {
    text-decoration: none !important;
}

.footer-link {
    display: block;
    color: #fff;
    text-decoration: none !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 11pt;
    font-weight: 400;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: var(--gold-beige);
}

/* =========================================================
   Interactive Services Slider
   ========================================================= */
.interactive-services-slider {
    background-color: #EAE5D9;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 6rem 0 4rem;
    overflow-x: hidden;
}

.iss-grid-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.iss-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: var(--navy-blue);
    color: #fff;
    border: none;
    width: 50px;
    height: 50px;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.iss-arrow:hover {
    background-color: var(--gold-beige);
}

.iss-arrow-prev {
    left: 1rem;
}

.iss-arrow-next {
    right: 1rem;
}

.iss-grid {
    display: flex;
    gap: 0px;
    padding: 0 2rem;
    overflow-x: auto;
    /* scroll-snap-type: none; */
    /* Hide scrollbar for WebKit */
    /* -ms-overflow-style: none; */
    /* scrollbar-width: none; */
    align-items: center; /* Center cards vertically to allow expansion */
    min-height: auto;
    /* overscroll-behavior: contain; */
}
.iss-grid::-webkit-scrollbar {
    display: none;
}

.iss-card {
    flex: 0 0 calc(25% - 15px); /* 4 columns with gap */
    min-width: 300px;
    height: 400px;
    max-height: 400px;
    margin: 50px 0;
    position: relative;
    overflow: hidden !important;
    scroll-snap-align: center;
    transition: all 0.4s ease-in-out;
    cursor: pointer;
    transform-origin: center;
}

.newServiceCard{
    width:100%;
    height:400px;
    overflow: hidden;
    position: relative;
}
.newServiceCard img{
    width:100%;
    height:100%;
object-fit: cover;
transition: 1s ease-in-out;
}
.newServiceCard:hover img{
   scale: 1.1;
}

.newServiceCard::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    z-index: 1;
    pointer-events: none;
}
.newServiceCard:hover::after {
    opacity: 1;
    cursor:pointer;
}

.iss-card:hover {
    height: 500px;
    margin: 0;
    height: 400px;
}

.iss-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

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


.iss-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 2rem;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    pointer-events: none;
}

.newServiceCard:hover .iss-overlay {
    opacity: 1;
    transform: translateY(0);
    z-index: 10;
}

.iss-title {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
    text-align: center;
}

.iss-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    line-height: 1.4;
}

.btn-iss {
    background-color: #112233;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding: 1rem 3rem;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 2rem;
}

.btn-iss:hover {
    background-color: #CCAE83;
    color: #000000;
}

.iss-dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 2rem;
}

.iss-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid #C4B49F;
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.iss-dot.active {
    background-color: #C4B49F;
    transform: scale(1.35);
}

/* Responsive adjustments */
@media (max-width: 1024px) {

    .project-row,
    .how-we-work-row {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .services-grid-container {
        grid-template-columns: 1fr;
    }

    /* navbar grid preserved on tablet; handled by the tablet breakpoint below */
}

/* Target laptops and smaller screens (Max-width: 1439px) */
@media screen and (max-width: 1439px) {

    /* =========================================================
       1. GLOBAL TYPOGRAPHY & BUTTONS (Applies to all sections)
       ========================================================= */
    .overline {
        font-size: 12px;
    }
    .heading-secondary {
        font-size: 18px;
        margin-bottom: 1rem;
    }
    .body-text {
        font-size: 14px;
    }
    .body-text.mb-4 {
        margin-bottom: 1rem;
    }
    .mt-4 {
        margin-top: 1rem;
    }
    .btn,
    .btn-glass {
        font-size: 8px;
        padding: 0.8rem 0.8rem;
    }

    /* =========================================================
       2. HERO & NAVIGATION SECTION
       ========================================================= */
    .navbar {
        padding: 3rem 10%;
    }
    .nav-links a {
        font-size: 11px;
    }
    .nav-brand img {
        height: 50px;
    }
    .hero {
        min-height: 850px;
        padding-bottom: 8vh;
    }
    .hero-content {
        max-width: 700px;
    }

    /* =========================================================
       3. WHAT WE DO SECTION
       ========================================================= */
    #what-we-do-section {
        padding: 0rem 0;
    }

    .what-we-do {
        max-width: 670px;
        padding-top: 5rem;
        padding-bottom: 7rem;
    }

    /* =========================================================
       4. PROJECTS SECTION (Strictly Scoped Layout)
       ========================================================= */
    #projects-section {
        padding: 0rem 0; /* Applies 0rem 0 padding ONLY to this section */
    }
    #projects-section .project-row {
        margin-bottom: 6rem;
    }
    #projects-section .overline {
        margin-bottom: 0.3rem;
    }
    #projects-section .heading-secondary {
        margin-bottom: 0rem;
    }
    #projects-section .container {
        max-width: 800px;
    }
    #projects-section .projects-tabs {
        font-size: 11px;
        margin-top: 2rem;
    }

    #projects-section .projects-tabs span {
        padding: 0 3rem;
    }
    #projects-section .project-img-col {
        padding-right: 4rem;
    }
    #projects-section .project-row .project-text-inner {
        padding-left: 4rem;
        padding-right: 10rem;
    }

    /* =========================================================
       5. SHAKESPEARE PROJECT SECTION
       ========================================================= */
    .shakespeare-section .project-img-col {
        padding-left: 4rem;
    }
    .shakespeare-section .overline {
        margin-bottom: 0.3rem;
    }
    .shakespeare-section .heading-secondary {
        margin-bottom: 0rem;
    }
    .shakespeare-section .project-text-inner {
        padding-left: 6rem;
    }

    /* =========================================================
       6. QUOTE SECTION
       ========================================================= */
    .quote-section {
        padding: 8rem 0;
    }
    .quote-section .quote-text {
        font-weight: 500;
        font-size: 18px;
        max-width: 600px;
        margin: 0px auto 2rem;
    }
    .quote-section .quote-mark {
        margin-bottom: 0rem;
    }
    .quote-section .quote-author {
        font-size: 18px;
    }

    /* =========================================================
       7. HOW WE WORK SECTION
       ========================================================= */
    .how-we-work-section {
        padding-top: 4rem;
        padding-bottom: 7rem;
    }
    .how-we-work-section .hww-header {
        font-size: 12px;
        letter-spacing: 0.1em;
        margin-bottom: 3rem;
    }
    .how-we-work-section .hww-title {
        margin-bottom: 0.5rem;
        font-size: 14px;
    }
    .how-we-work-section .hww-desc {
        font-size: 12px;
    }
    .how-we-work-section .hww-divider {
        width: 0.5px;
        background-color: black;
        margin: 1rem 0;
        height: 70px;
    }
    .how-we-work-section .hww-timeline {
        margin-bottom: 3rem;
    }
    .how-we-work-section .btn-hww-cta {
        font-size: 8px;
        padding: 0.7rem 0.7rem;
    }
    .how-we-work-section .hww-content-inner {
        max-width: 300px;
    }

    /* =========================================================
       8. INTERACTIVE SERVICES SLIDER (Scoped & Unique)
       ========================================================= */
    .interactive-services-slider {
        padding-top: 4rem;
    }

    .interactive-services-slider .heading-secondary {
        font-size: 20px;
    }

    .interactive-services-slider .container {
        max-width: 700px;
    }

    /* Fixes the margin-bottom for the inner container wrapper */
    .interactive-services-slider .container.text-center {
        margin-bottom: 0rem;
    }

    .interactive-services-slider .iss-grid {
        min-height: 400px;
        padding: 0px 0rem;
        gap: 18px;
    }

    .interactive-services-slider .iss-card {
        height: 300px;
    }

    .interactive-services-slider .iss-card:hover {
        height: 400px;
    }

    .interactive-services-slider .btn-iss {
        font-size: 8px;
        padding: 1rem 1.5rem;
        font-weight: 400;
    }

    /* --- Interactive Services Slider - Slider Elements (Scoped & Unique) --- */
    .interactive-services-slider .iss-dots {
        gap: 18px;
    }

    .interactive-services-slider .iss-dot {
        width: 6px;
        height: 6px;
    }

    .interactive-services-slider .iss-title {
        font-size: 12px;
        font-weight: 500;
    }

    .interactive-services-slider .iss-desc {
        font-size: 10px;
    }

    /* --- Focal Statement Banner (Scoped & Unique) --- */
    .banner-section {    
        padding: 14rem 5% !important;
    }

    .banner-section .heading-primary {
        font-size: 26px !important;
    }

    .banner-section .btn-glass {
        font-size: 8px !important;
        padding: 0.7rem 1.5rem !important;
    }

    /* --- Recent News Grid (Scoped & Unique) --- */
    .recent-news-section .services-header {    
        max-width: 650px !important;
        padding: 5rem 5% 2rem !important;
    }

    .recent-news-section .recent-news-card {
        height: 350px !important;
    }

    .recent-news-section .recent-news-full-bleed {
        gap: 8px !important;
    }

    .recent-news-section .recent-news-title {
        font-size: 12px !important;
    }

    .recent-news-section .recent-news-subtitle {
        font-size: 12px !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    /* Target the wrapper for the padding */
    .recent-news-section .text-center {
        padding: 3rem 0 3rem !important;
    }

    .recent-news-section .recent-news-overlay {
        background: linear-gradient(to top, rgb(0 0 0 / 0%) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) !important;
    }

    /* --- Contact Form Section (Scoped & Unique) --- */
    .contact-section {
        padding: 4rem 0 !important;
    }

    .contact-section .container.text-center {
        max-width: 655px !important;
    }

    .contact-section .form-input-border {
        font-size: 13px !important;
    }

    .contact-section .heading-secondary {
        margin-bottom: 3rem !important;
    }

    .contact-section .contact-form-new.text-left {
        max-width: 450px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        gap: 2rem !important;
        margin-top: 2rem !important;
    }

    .contact-section .contact-form-new.text-left .btn, 
    .contact-section .contact-form-new.text-left .btn-glass,
    .contact-section .contact-form-new.text-left .btn-navy {
        padding: 0.7rem 2rem !important;
        font-size: 8px !important;
    }

    /* Target the social icons inside the contact section */
    .contact-section .contact-icons-row {    
        gap: 2rem !important;
    }

    .contact-section .icon-circle {
        width: 30px !important;
        height: 30px !important;
    }

    .contact-section .icon-circle img {
        width: 30px !important;
        height: 30px !important;
    }

    /* --- Footer Section (Scoped & Unique) --- */
    /* 1. Wrapper/inner div inside the footer */
    .footer-new > div:first-child > div {
        padding-top: 2rem !important;
    }

    /* 2. The .overline element */
    .footer-new .overline {
        margin-bottom: 0.5rem !important;
        font-size: 12px !important;
    }

    /* 3. The div right after the .overline text */
    .footer-new .overline + div {
        font-size: 16px !important;
    }

    /* 4. Gallery Strip Placeholder container */
    .footer-new > div:nth-child(2) {
        height: 350px !important;
        gap: 10px !important;
    }

    /* 5. Varga Homes text-center logo */
    .footer-new .container .text-center > img[alt="Varga Homes"] {
        height: 65px !important;
        margin-bottom: 2rem !important;
    }

    /* 6. Social icon circles and their images */
    .footer-new .icon-circle {
        width: 30px !important;
        height: 30px !important;
        gap: 10px !important;
    }
    .footer-new .icon-circle img {
        width: 30px !important;
        height: 30px !important;
    }

    /* 7. Footer links and their immediate parent container */
    .footer-new .footer-link {
        font-size: 11px !important;
    }
    .footer-new .container div:has(> .footer-link) {
        align-items: center !important;
    }

    /* Container grid gap adjustment */
    .footer-new .container > div:first-child {
        gap: 0rem !important;
    }
}

/* Target only large LCD/Desktop monitors (Min-width: 1440px) */
@media screen and (min-width: 1440px) {

    /* Scoped strictly to your navigation to prevent affecting other sections */
    .navbar {
        padding: 3rem 10% !important;
    }

    .navbar .nav-links-left {
        gap: 5rem !important;
    }

    .navbar .nav-brand img {
        height: 65px !important;
    }

    .navbar .nav-links-right {
        gap: 5rem !important;
    }

    /* Scoped strictly to your hero section */
    .hero {
        min-height: 1200px !important;
    }

    .hero .hero-content .body-text {
        font-size: 18px !important;
    }

    .hero .hero-content .overline {
        font-size: 18px !important;
    }

    /* Scoped strictly to glass buttons inside large screens */
    .hero .btn.btn-glass {
        font-size: 10px !important;
        letter-spacing: 0.2em !important;
        padding: 1rem 1rem !important;
    }

    /* ==========================================================================
       WHAT WE DO SECTION (Scoped uniquely using .what-we-do)
       ========================================================================== */
    .what-we-do {
        max-width: 1000px !important;
    }

    .what-we-do .overline {
        font-size: 18px !important;
    }

    .what-we-do .heading-secondary {
        font-size: 30px !important;
    }

    .what-we-do .body-text {
        font-size: 18px !important;
    }

    .what-we-do .mt-4 {
        margin-top: 2rem !important;
    }

    .what-we-do .btn-gold {
        background-color: var(--gold-beige) !important;
        color: #fff !important;
    }

    .what-we-do .btn {
        padding: 1rem 1rem !important;
        font-size: 10px !important;
    }

    /* ==========================================================================
       PROJECTS SECTION (Scoped uniquely using .section and project classes)
       ========================================================================== */
    .section {
        padding: 4rem 0 !important;
    }

    .projects-header {
        max-width: 1200px !important;
        margin: 0px auto 8rem !important;
    }

    .projects-tabs span {
        padding: 0 4rem !important;
    }

    /* Base styles for all project rows on large screens */
    .project-row {
        margin-bottom: 0rem !important;
    }

    /* Scoped strictly to project rows so regular text isn't affected */
    .project-row .overline {
        font-size: 16px !important;
    }

    .project-row .project-text-inner {
        padding-left: 6rem !important;
    }

    /* Target buttons specifically inside project rows */
    .project-row .btn.btn-gold {
        padding: 1rem 1rem !important;
        font-size: 10px !important;
    }

    /* Standard Project Image Column Padding (Right Side) */
    .project-row .project-img-col {
        padding-right: 6rem !important;
        padding-left: 0 !important;
        /* Resets any unexpected left padding */
    }

    /* ==========================================================================
       SHAKESPEARE PROJECT SPECIFIC OVERRIDE 
       (Using the actual class project-row-reversed found in the HTML)
       ========================================================================== */
    .project-row.project-row-reversed .project-img-col {
        padding-left: 6rem !important;
        padding-right: 0 !important;
    }

    /* ==========================================================================
       SHAKESPEARE PROJECT AREA (Scoped uniquely so it doesn't affect other sections)
       ========================================================================== */
    .shakespeare-section.section {
        padding-bottom: 10rem !important;
    }

    /* ==========================================================================
       QUOTE SECTION (Scoped strictly using .quote-section)
       ========================================================================== */
    .quote-section {
        background-color: var(--navy-blue) !important;
        padding: 10rem 0 !important;
    }

    /* These typography adjustments will ONLY apply inside the quote banner */
    .quote-section .quote-text {
        font-weight: 500 !important;
        font-size: 26px !important;
        margin: 0 auto 2rem !important;
    }

    .quote-section .quote-author {
        font-weight: 600 !important;
        font-size: 26px !important;
        letter-spacing: 0.05em !important;
    }

    .quote-section .quote-mark img {
        width: 100px !important;
    }
}

/* Target only large LCD/Desktop screens (1600px width and above) */
@media screen and (min-width: 1600px) {

    /* How We Work — large screen overrides */
    .how-we-work-section {
        padding-top: 8rem;
        padding-bottom: 8rem;

        .hww-header {
            letter-spacing: 0.1em;
            font-size: 18px;
            margin-bottom: 3rem;
        }

        .hww-title {
            font-size: 24px;
        }

        .hww-desc {
            font-size: 18px;
        }

        .hww-step {
            max-width: 325px;
        }

        .hww-divider {
            height: 100px;
            background-color: black;
            margin: 1rem 0;
        }

        .btn-hww-cta {
            font-size: 10px;
            padding: 1.2rem 1.2rem;
        }

        .hww-timeline {
            margin-bottom: 3rem;
        }
    }
}

/* Target only large LCD/Desktop screens (1600px width and above) */
@media screen and (min-width: 1600px) {
    
    /* Using the main section class as a wrapper to make these styles completely unique */
    .interactive-services-slider {
        padding: 6rem 0 6rem;
    }

    /* All child elements are nested safely inside to avoid bleeding into other sections */
    .interactive-services-slider .heading-secondary {
        font-size: 26px;
        max-width: 850px;
    }

    .interactive-services-slider .iss-grid {
        padding: 0px 0rem;
    }

    .interactive-services-slider .iss-card {
        height: 500px;
    }

    .interactive-services-slider .iss-card:hover {
        height: 600px;
        margin: 0;
    }

    .interactive-services-slider .iss-desc {
        max-width: 300px;
        font-size: 15px;
    }

    .interactive-services-slider .iss-dots {
        gap: 30px;
        margin-top: 3rem;
    }

    .interactive-services-slider .btn-iss {
        font-size: 10px;
        padding: 1rem 2rem;
    }

    /* Targets the specific margin utility inside this section only */
    .interactive-services-slider .mt-4.text-center {
        margin-top: 0rem;
    }

    /* =========================================================
       Focal Statement Banner
       ========================================================= */
    /* Using the main section class as a unique wrapper to isolate styles */
    .banner-section {
        padding: 20rem 5% !important;
    }

    /* This will only change primary headings inside this specific banner */
    .banner-section .heading-primary {
        font-size: 40px !important;
    }

    /* Fixed button hierarchy and applied your precise padding/font sizing */
    .banner-section .btn-glass {
        font-size: 10px !important;
        padding: 1.2rem 3.5rem !important;
    }
}

/* =========================================================
   Recent News Full-Bleed Grid
   ========================================================= */
.recent-news-full-bleed {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.recent-news-card {
    position: relative;
    height: 500px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: block;
    text-decoration: none;
    color: inherit;
}

.recent-news-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.recent-news-card:hover img {
    transform: scale(1.05);
}

.recent-news-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100% ;
    /* background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%); */
    background: 
        linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
        linear-gradient(
            to bottom,
            rgba(14, 35, 58, 0.20) 0%,
            rgba(14, 35, 58, 0.05) 50%,
            rgba(14, 35, 58, 0.15) 100%
        ) !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 2rem 2rem 3rem;
    color: #fff;
    text-align: center;
    opacity: 1; /* Keeping visible as per the design requested */
}

.recent-news-title {
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    font-size: 16pt;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.recent-news-subtitle {
    font-family: 'DM Sans', sans-serif;
    font-size: 12pt;
    opacity: 0.9;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 1024px) {
    .recent-news-full-bleed {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .recent-news-full-bleed {
        grid-template-columns: 1fr;
    }

    .privacy-policy-text{
        font-family: Montserrat;
     /* color: white; */
     padding: 50px 5%;
     font-size:17px;
     line-height: 1.5;
}
}

/* =========================================================
   Insight Details Page
   ========================================================= */
.ins-grid-wrap {
    width: 88%;
    margin: 0 auto;
}

.ins-grid-wrap .recent-news-card {
    height: 342px;
}

.hero.hero-sd {
    max-height: 400px;
    min-height: 130px;
}

/* =========================================================
   Recent News Grid - Large Desktop Overrides (1440px+)
   ========================================================= */
@media screen and (min-width: 1440px) {
    /* Scoped strictly to the recent news section to prevent global bleeding */
    .recent-news-section .services-header {
        max-width: 1000px !important;
    }
    
    .recent-news-section .overline {
        font-size: 18px !important;
    }
    
    .recent-news-section .recent-news-title {
        font-weight: 400 !important;
        font-size: 24px !important;
    }
    
    .recent-news-section .recent-news-subtitle {
        font-size: 18px !important;
        max-width: 350px !important;
        margin: 0 auto !important;
    }
    
    .recent-news-section .text-center {
        padding: 4rem 0 4rem !important;
    }
    
    .recent-news-section .btn.btn-gold {
        padding: 1rem 2rem !important;
        font-size: 10px !important;
    }
}

/* =========================================================
   Contact Form Section - Large Desktop Overrides (1440px+)
   ========================================================= */
@media screen and (min-width: 1440px) {
    /* Scoped strictly to the contact form section */
    .contact-section .overline {    
        font-size: 18px !important;
        margin-bottom: 0.5rem !important;
    }
    
    .contact-section .container {
        max-width: 1070px !important;
    }
    
    .contact-section form {
        margin-left: auto;  
        margin-right: auto;
        max-width: 700px !important;
    }
    
    .contact-section .btn.btn-navy {
        padding: 1.2rem 3rem !important;
        font-size: 10px !important;
    }
}

/* =========================================================
   Footer Section - Large Desktop Overrides (1440px+)
   ========================================================= */
@media screen and (min-width: 1440px) {
    /* Scoped strictly to the footer to prevent global bleeding */
    .footer-new .overline {
        font-size: 18px !important;
        margin-bottom: 0.3rem !important;
    }

    .footer-new .overline + div {
        /* font-weight: 600 !important; */
        /* font-size: 22px !important; */
        letter-spacing: 0.05em !important;
    }

    .footer-new .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 90% !important;
    }

    /* Increase main brand logo height without affecting social icons */
    .footer-new .container .text-center > img {
        height: 100px !important;
    }

    /* Align footer link columns */
    .footer-new .container div:has(> .footer-link) {
        align-items: center !important;
    }
}

/* =========================================================
   Mobile Overrides (Max-width: 768px)
   ========================================================= */
@media screen and (max-width: 768px) {
    /* Typography */
    .heading-primary {
        font-size: 32px !important;
    }
    .heading-secondary {
        font-size: 20px !important;
    }
    .subheading {
        font-size: 18px !important;
    }
    .overline {
        font-size: 10px !important;
    }
    .body-text {
        font-size: 14px !important;
    }
    
    /* Layout / Spacing */
    .section {
        padding: 0rem 0 !important;
    }
    .mt-4 {
        margin-top: 2rem !important;
    }
    .mb-4 {
        margin-bottom: 2rem !important;
    }
    
    /* Buttons */
    .btn, .btn-glass, .btn-gold, .btn-navy, .btn-iss, .btn-hww-cta {
        font-size: 11px !important;
        padding: 1.2rem 2.5rem !important;
        width: auto !important;
        max-width: 100% !important;
        text-align: center !important;
        display: inline-block !important;
        letter-spacing: 0.2em !important;
    }
    
    /* Navbar */
    .navbar {
        justify-content: center !important;
        padding: 1.5rem 5% !important;
    }
    
    /* Hero Section */
    .hero {
        min-height: 60vh !important;
        padding-bottom: 5vh !important;
    }
    .hero-content {
        padding: 0 1.5rem !important;
    }
    .hero-content div[style*="display: flex"] {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    /* Project Rows */
    .project-row {
        display: flex !important;
        flex-direction: column !important;
        margin-bottom: 3rem !important;
    }
    .project-row.project-row-reversed {
        flex-direction: column-reverse !important;
    }
    
    .project-img-col {
        padding: 0 !important;
    }
    
    .project-text-inner,
    #projects-section .project-row .project-text-inner,
    .project-row-reversed .project-text-inner,
    .shakespeare-section .project-text-inner {
        padding: 2rem 1.5rem !important;
    }
    
    .project-title-wrap {
        max-width: 100% !important;
    }

    .projects-tabs {
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 0.5rem !important;
        overflow-x: auto !important;
    }

    .project-tab {
        padding: 0.4rem 0.8rem !important;
        border-left: none !important;
        white-space: nowrap !important;
        font-size: 9px !important;
    }

    .project-tab:first-child {
        border-left: none !important;
    }

    /* Quote Section */
    .quote-section {
        padding: 4rem 1.5rem !important;
    }
    .quote-mark {
        margin-bottom: 1rem !important;
    }

    .quote-mark img {
        width: 50px !important;
    }
    .quote-text {
        font-size: 18px !important;
    }

    /* How We Work — mobile: stack vertically, no sticky, no blur */
    .how-we-work-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .hww-content-col {
        padding: 2rem 0 !important;
    }
    .hww-header {
        margin-bottom: 1rem !important;
    }
    /* JS opens every step on mobile — reset blur/dim so all text is readable */
    .hww-step.closed,
    .hww-step.opened {
        opacity: 1 !important;
        filter: none !important;
    }
    /* Only first image shown; rest hidden */
    .hww-image-item:not(.active) {
        display: none !important;
    }

    /* Interactive Services Slider */
    .interactive-services-slider {
        padding: 3rem 0 !important;
    }
    .iss-grid {
        min-height: auto !important;
        padding: 0 1rem !important;
    }
    .iss-card {
        min-width: 85vw !important;
        height: 350px !important;
        margin: 10px 0 !important;
    }
    .iss-card:hover {
        height: 350px !important;
        margin: 10px 0 !important;
    }
    .iss-overlay {
        opacity: 1 !important;
        transform: translateY(0) !important;
        padding: 1.5rem !important;
        background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.4), transparent) !important;
    }

    /* Banner */
    .banner-section {
        padding: 6rem 5% !important;
    }

    /* Contact Form */
    .contact-form-new > div:first-child {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    /* Footer Info Blocks */
    .footer-new > div:first-child {
        grid-template-columns: 1fr !important;
    }
    .footer-new > div:first-child > div {
        border-right: none !important;
        border-bottom: 1px solid rgba(18,20,57,0.1) !important;
        padding: 2rem 1rem !important;
    }
    .footer-new > div:first-child > div:last-child {
        border-bottom: none !important;
    }
    
    /* Footer Gallery Strip */
    .footer-new > div:nth-child(2) {
        height: 120px !important;
        gap: 5px !important;
    }
    
    /* Footer Main Content */
    .footer-new .container > div:first-child {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
    }
    .footer-new .container > div:first-child > div {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
    .footer-new .container > div:first-child > div:last-child {
        text-align: center !important;
    }

    /* Footer Links Centering */
    .footer-new .footer-link {
        text-align: center !important;
    }
    
    /* Footer Copyright Bar */
    .footer-new .container > div:last-child {
        flex-direction: column !important;
        align-items: center !important;
        gap: 1rem !important;
    }
}

/* =========================================================
   Mobile Sidebar Drawer & Hamburger Menu
   ========================================================= */

.mobile-only {
    display: none;
}

.hamburger-container {
    justify-content: flex-end;
    align-items: center;
}

.hamburger-menu {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 18px;
    z-index: 1000;
}

.hamburger-menu span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #fff;
    transition: all 0.3s ease;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: -100%; /* Hidden off-screen to the right */
    width: 350px;
    max-width: 100%;
    height: 100vh;
    background-color: rgba(14, 35, 58, 0.97); /* Deep navy #0E233A */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.2);
}

/* Toggled class to slide in the drawer */
.mobile-drawer.open {
    transform: translateX(-100%);
}

.drawer-close {
    position: absolute;
    top: 30px;
    right: 35px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
    line-height: 1;
    font-weight: 300;
    transition: transform 0.3s ease;
}

.drawer-close:hover {
    transform: scale(1.1) rotate(90deg);
}

.drawer-links {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 2.5rem;
}

.drawer-links a {
    color: #fff;
    text-decoration: none;
    font-family: 'DM Sans', sans-serif;
    font-size: 16pt;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.drawer-links a:hover {
    color: var(--gold-beige);
}
/* Drawer overlay — dims the page when the mobile drawer is open */
.drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.drawer-overlay.active {
    display: block;
    opacity: 1;
}

/* Tablet navbar (769px – 1024px): tighten gaps and padding */
@media (max-width: 1024px) and (min-width: 769px) {
    .navbar {
        padding: 1.5rem 4% !important;
    }

    .navbar .nav-links-left,
    .navbar .nav-links-right {
        gap: 1.5rem !important;
    }

    .nav-links a {
        font-size: 10pt;
    }

    .nav-brand img {
        height: 26px !important;
    }
}

/* Mobile navbar (<=768px) */
@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only.hamburger-container {
        display: flex;
    }

    .navbar {
        padding: 1.2rem 5%;
    }

    .nav-brand img {
        height: 28px !important;
    }
}

/* =========================================================
   Active nav link state (used across all inner pages)
   ========================================================= */
.nav-links a.nav-active {
    color: var(--gold-beige);
}
.nav-links a.nav-active::after {
    width: 100%;
}
.drawer-links a.nav-active {
    color: var(--gold-beige);
}


.slick-slide {
    margin: 0 !important;
}
.slick-list {
    margin: 0 !important;
}



/* scroll trigeer slider */


.solutions_section {
  position: relative;
  padding-top: 110px;
  padding-bottom: 100px;
}

.solutions_section.pinned {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 10;
}

.solution-image {
  position: absolute;
  inset: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.solution-image.active {
  opacity: 1;
}


html,
body {
  /* overflow-x: hidden; */
}


#solution_section {
  position: relative;
  background-color: #F9F7F4;
}

.solution-pin-wrapper {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.image-col {
  position: relative;
  height: 100vh;
}

.col-lg-6.padding {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
}


.solution-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;

  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  pointer-events: none;
}

.solution-image.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.solution_box {
    transition: opacity 0.5s ease, transform 0.5s ease;
    /* border: 1px solid red; */
}

/* .solution_box {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%) translateY(40px);
  opacity: 0;
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
  pointer-events: none;
  z-index: 1;
} */

/* ACTIVE */
.solution_box.opened {
    max-height: 300px;
    opacity: 1;
    margin-top: 10px;
}

/* INACTIVE */
.solution_box.closed .desccription{
  opacity: 0;
  max-height:0px;

}

.home_service_content{
    display: flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
}

.desccription{
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.45;
    max-height:250px;
    color: #1A2B3C;
    margin: 0;
    max-width:450px;
    text-align: center;
    transition:0.3s ease-in-out;
}


@media (max-width: 991px) {

  .solution-pin-wrapper {
    height: auto;
    overflow: visible;
  }

  .solution_box.closed{
display: none;
}

  .hww-divider{
    display:none;
  }

  .image-col {
    height: 50vh;
  }

  .col-lg-6.padding {
    position: relative;
    height: 50vh;
    display: flex;
    align-items: start;
  }


  .solutions_section {
    position: relative;
    padding-top: 0px;
    padding-bottom: 50px;
  }

}



.services-slider-wrapper {
    width: 100%;
    overflow: hidden;
}

#services-slider {
    display: flex;
}

.newServiceCard {
    width: 100%;
    flex-shrink: 0;
}

/* Mobile */
@media (max-width: 576px) {
    .newServiceCard {
        width: 100%;
    }
}

/* Tablet */
@media (max-width: 992px) {
    .newServiceCard {
        width: calc(50.333% - 20px);
    }
}