@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap");
:root {
  --yellow:#f5bf23;
  --black:#111;
  --white:#fff;
  --light-color:#666;
  --light-bg:#eee;
  --box-shadow:0 .5rem 1rem rgba(0,0,0,.1);
  --border:.1rem solid rgba(0,0,0,.3);
}

* {
  font-family: 'Poppins', sans-serif;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
  border: none;
  text-decoration: none;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
}

html::-webkit-scrollbar {
  width: 1rem;
}

html::-webkit-scrollbar-track {
  background: transparent;
}

html::-webkit-scrollbar-thumb {
  background: var(--yellow);
}

section {
  padding: 5rem 10%;
}

.heading {
  margin-bottom: 3rem;
  font-size: 3rem;
  color: var(--black);
  text-transform: capitalize;
  padding-left: 1rem;
  border-left: 1rem solid var(--yellow);
}

.btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 1rem 3rem;
  background: var(--black);
  color: var(--white);
  cursor: pointer;
  font-size: 1.7rem;
  text-transform: capitalize;
  -webkit-transition: .2s linear;
  transition: .2s linear;
}

.btn:hover {
  background: var(--yellow);
  color: var(--black);
}

@-webkit-keyframes fadeIn {
  0% {
    top: 50%;
    opacity: 0;
  }
}

@keyframes fadeIn {
  0% {
    top: 50%;
    opacity: 0;
  }
}

.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
  padding: 1.5rem 10%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1000;
  background: var(--white);
}

.header .logo {
  font-size: 2.5rem;
  color: var(--black);
  text-transform: capitalize;
}

.header .logo span {
  color: var(--yellow);
}

.header .navbar a {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
  margin: 0 1rem;
}

.header .navbar a:hover {
  color: var(--yellow);
}

.header .icons div {
  height: 5rem;
  width: 5rem;
  line-height: 5rem;
  font-size: 2rem;
  background: var(--light-bg);
  color: var(--black);
  cursor: pointer;
  text-align: center;
  margin-left: .3rem;
}

.header .icons div:hover {
  background: var(--black);
  color: var(--white);
}

.header #menu-btn {
  display: none;
}

.header .search-form {
  position: absolute;
  top: 120%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 70rem;
  background: var(--white);
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
  padding: 1rem;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-animation: fadeIn .2s linear;
          animation: fadeIn .2s linear;
}

.header .search-form.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header .search-form input {
  width: 100%;
  padding: 1.2rem 1.4rem;
  background: var(--light-bg);
  font-size: 1.6rem;
  color: var(--light-color);
}

.header .search-form label {
  font-size: 2.5rem;
  color: var(--black);
  cursor: pointer;
  margin: 0 1rem;
}

.header .search-form label:hover {
  color: var(--yellow);
}



/* =========================================
        CLASSIC LANDMARK HEADER
========================================= */

.site-header {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 1000;

    background: rgba(255, 255, 255, 0.97);

    border-bottom: 1px solid #e8e5e1;

}


/* =========================================
        HEADER MAIN
========================================= */

.header-main {

    max-width: 1400px;

    margin: auto;

    padding: 0 40px;

    min-height: 92px;

    display: flex;

    align-items: center;

    justify-content: space-between;

}


/* =========================================
        LOGO
========================================= */

.logo {

    display: flex;

    flex-direction: column;

    text-decoration: none;

    line-height: 1;

    min-width: 220px;

}

.logo-main {

    font-family: Georgia, "Times New Roman", serif;

    font-size: 27px;

    font-weight: 700;

    letter-spacing: 3px;

    color: #16202b;

}

.logo-sub {

    margin-top: 7px;

    font-size: 9px;

    letter-spacing: 3px;

    color: #0cb406;

    font-weight: 600;

}


/* =========================================
        NAVIGATION
========================================= */

.navbar {

    display: flex;

    align-items: center;

    gap: 34px;

}

.navbar a {

    position: relative;

    color: #26313d;

    font-size: 14px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 1px;

    text-decoration: none;

    padding: 36px 0;

    transition: .3s ease;

}

.navbar a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 27px;

    width: 0;

    height: 2px;

    background: #0cb406;

    transition: .3s ease;

}

.navbar a:hover,

.navbar a.active {

    color: #0cb406;

}

.navbar a:hover::after,

.navbar a.active::after {

    width: 100%;

}


/* =========================================
        CONSULTATION BUTTON
========================================= */

.header-cta {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 24px;

    border: 1px solid #0cb406;

    color: #26313d;

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 1px;

    text-decoration: none;

    transition: .3s ease;

}

.header-cta:hover {

    background: #0cb406;

    color: #fff;

}


/* =========================================
        MOBILE MENU
========================================= */

#menu-btn {

    display: none;

    font-size: 24px;

    color: #16202b;

    cursor: pointer;

}

/* =========================================================
                    LANDMARK LOGO IMAGE
========================================================= */

.site-header .logo {

    display: flex;

    align-items: center;

    width: 255px;

    height: 100%;

    flex-shrink: 0;

    text-decoration: none;

}


.site-header .logo img {

    display: block;

    width: 190px;

    max-width: 100%;

    height: auto;

    max-height: 65px;

    object-fit: contain;

}


/* =========================================================
                    TABLET
========================================================= */

@media (max-width: 1100px) {

    .site-header .logo {

        width: 210px;

    }

    .site-header .logo img {

        width: 175px;

    }

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 768px) {

    .site-header .logo {

        width: auto;

    }

    .site-header .logo img {

        width: 155px;

        max-height: 50px;

    }

}


/* =========================================================
                    SMALL PHONES
========================================================= */

@media (max-width: 420px) {

    .site-header .logo img {

        width: 135px;

    }

}


/* =========================================
        CONTACT PANEL
========================================= */

.contact-info {

    position: fixed;

    top: 0;

    right: -420px;

    width: 420px;

    height: 100vh;

    background: #16202b;

    color: #fff;

    z-index: 2000;

    padding: 70px 45px;

    transition: .45s ease;

    box-shadow: -20px 0 50px rgba(0,0,0,.15);

}

.contact-info.active {

    right: 0;

}


/* CLOSE BUTTON */

#close-contact-info {

    position: absolute;

    top: 25px;

    right: 30px;

    font-size: 22px;

    color: #fff;

    cursor: pointer;

    transition: .3s;

}

#close-contact-info:hover {

    color: #0cb406;

    transform: rotate(90deg);

}


/* PANEL TITLE */

.contact-panel-title {

    padding-bottom: 35px;

    border-bottom: 1px solid rgba(255,255,255,.15);

    margin-bottom: 35px;

}

.contact-panel-title span {

    color: #0cb406;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 3px;

}

.contact-panel-title h2 {

    color: #fff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 30px;

    line-height: 1.3;

    margin-top: 12px;

}


/* CONTACT ITEMS */

.contact-info .info {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 22px 0;

    border-bottom: 1px solid rgba(255,255,255,.1);

}

.contact-info .info > i {

    width: 42px;

    height: 42px;

    border: 1px solid #0cb406;

    color: #0cb406;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 15px;

    flex-shrink: 0;

}

.contact-info .info h3 {

    color: #fff;

    font-family: inherit;

    font-size: 12px;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    margin: 0 0 5px;

}

.contact-info .info p {

    color: #c8cdd2;

    font-size: 14px;

    margin: 0;

}


/* =========================================
        SOCIAL MEDIA
========================================= */

.contact-info .share {

    margin-top: 40px;

}

.contact-info .share > span {

    display: block;

    color: #0cb406;

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 2px;

    margin-bottom: 18px;

}

.contact-info .share > div {

    display: flex;

    gap: 10px;

}

.contact-info .share a {

    width: 42px;

    height: 42px;

    border: 1px solid rgba(255,255,255,.2);

    display: flex;

    align-items: center;

    justify-content: center;

    color: #fff;

    text-decoration: none;

    transition: .3s;

}

.contact-info .share a:hover {

    background: #0cb406;

    border-color: #0cb406;

}


/* =========================================
        RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .navbar {

        gap: 20px;

    }

    .navbar a {

        font-size: 12px;

    }

    .header-cta {

        display: none;

    }

}


@media (max-width: 768px) {

    .header-main {

        min-height: 75px;

        padding: 0 20px;

    }

    .logo {

        min-width: auto;

    }

    .logo-main {

        font-size: 22px;

    }

    .logo-sub {

        font-size: 7px;

        letter-spacing: 2px;

    }

    .navbar {

        position: absolute;

        top: 100%;

        left: 20px;

        right: 20px;

        display: none;

        flex-direction: column;

        align-items: flex-start;

        gap: 0;

        background: #fff;

        padding: 15px 25px;

        box-shadow: 0 15px 40px rgba(0,0,0,.1);

    }

    .navbar.active {

        display: flex;

    }

    .navbar a {

        width: 100%;

        padding: 15px 0;

    }

    .navbar a::after {

        bottom: 7px;

    }

    #menu-btn {

        display: block;

    }

    .contact-info {

        width: 100%;

        right: -100%;

        padding: 60px 30px;

    }

}

/* ==================================================
        MOBILE — CLASSIC LANDMARK STYLE
================================================== */

@media (max-width: 768px) {

    /* HEADER */

    .site-header {
        position: relative;
        background: #ffffff;
        border-bottom: 1px solid #e5e1dc;
    }

    .header-main {
        min-height: 78px;
        padding: 0 20px;
    }

    /* LOGO */

    .logo {
        min-width: auto;
    }

    .logo-main {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        letter-spacing: 2px;
    }

    .logo-sub {
        font-size: 6px;
        letter-spacing: 1.8px;
        margin-top: 5px;
    }

    /* HAMBURGER */

    #menu-btn {
        display: block;
        font-size: 23px;
        color: #16202b;
        cursor: pointer;
        margin-left: auto;
    }

    /* MOBILE NAVIGATION */

    .navbar {
        position: absolute;

        top: 100%;
        left: 0;
        right: 0;

        width: 100%;

        display: none;

        flex-direction: column;
        align-items: stretch;

        gap: 0;

        background: #ffffff;

        padding: 10px 25px 20px;

        border-top: 1px solid #eeeeee;

        box-shadow: 0 15px 30px rgba(0,0,0,.08);

        z-index: 9999;
    }

    .navbar.active {
        display: flex;
    }

    .navbar a {
        width: 100%;

        padding: 14px 0;

        font-size: 13px;

        color: #26313d;

        border-bottom: 1px solid #eeeeee;
    }

    .navbar a:last-child {
        border-bottom: none;
    }

    .navbar a::after {
        display: none;
    }

    .navbar a.active {
        color: #0cb406;
    }

    /* HIDE DESKTOP CTA ON SMALL SCREEN */

    .header-cta {
        display: none;
    }


    /* ==================================================
            HERO — MOBILE
    ================================================== */

    .hero-section {

        min-height: auto;

        padding: 0;

        display: block;

        background: #ffffff;

        overflow: hidden;
    }

    .hero-section::before {
        display: none;
    }

    .hero-content {

        position: absolute;

        left: 0;

        top: 0;

        width: 100%;

        height: 100%;

        padding: 70px 28px 40px;

        display: flex;

        flex-direction: column;

        justify-content: center;

        z-index: 5;

        text-align: left;
    }


    /* ==================================================
            HERO IMAGE
    ================================================== */

    .hero-image-wrapper {

        position: relative;

        width: 100%;

        height: 600px;

        margin: 0;

        z-index: 1;
    }

    .hero-slider {

        width: 100%;

        height: 600px;

        border-radius: 0;

        box-shadow: none;
    }

    .hero-slide {

        width: 100%;

        height: 100%;

        object-fit: cover;
    }


    /* DARK/LIGHT OVERLAY */

    .hero-image-wrapper::after {

        content: "";

        position: absolute;

        inset: 0;

        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.95) 0%,
                rgba(255,255,255,.78) 38%,
                rgba(255,255,255,.20) 75%,
                rgba(255,255,255,.05) 100%
            );

        z-index: 2;

        pointer-events: none;
    }


    /* ==================================================
            HERO TEXT
    ================================================== */

    .hero-subtitle {

        font-size: 10px;

        letter-spacing: 2px;

        padding: 8px 14px;

        margin-bottom: 18px;

        align-self: flex-start;
    }

    .hero-content h1 {

        font-size: 39px;

        line-height: 1.08;

        max-width: 380px;

        margin-bottom: 20px;

        color: #111820;
    }

    .hero-content p {

        font-size: 14px;

        line-height: 1.7;

        max-width: 370px;

        margin: 0 0 25px;
    }


    /* ==================================================
            HERO BUTTONS
    ================================================== */

    .hero-buttons {

        display: flex;

        flex-wrap: wrap;

        gap: 10px;

        margin-bottom: 30px;

        justify-content: flex-start;
    }

    .primary-btn,
    .secondary-btn {

        padding: 13px 20px;

        font-size: 12px;

        border-radius: 0;

        margin: 0;
    }


    /* ==================================================
            HERO STATS
    ================================================== */

    .hero-stats {

        display: flex;

        gap: 22px;

        justify-content: flex-start;

        margin: 0;
    }

    .stat-item h2 {

        font-size: 27px;

        margin-bottom: 0;
    }

    .stat-item span {

        font-size: 10px;

        text-transform: uppercase;

        letter-spacing: .5px;
    }


    /* ==================================================
            PROJECT CARD
    ================================================== */

    .project-card {

        display: none;
    }


    /* ==================================================
            SLIDER CONTROLS
    ================================================== */

    .hero-slider .carousel-control-prev,
    .hero-slider .carousel-control-next {

        display: flex;

        position: absolute;

        top: auto;

        bottom: 20px;

        width: 42px;

        height: 42px;

        background: #ffffff;

        color: #16202b;

        z-index: 10;
    }

}

@media (min-width: 481px) and (max-width: 768px) {

    .header-main {
        padding: 0 30px;
    }

    .logo-main {
        font-size: 24px;
    }

    .hero-image-wrapper,
    .hero-slider {
        height: 650px;
    }

    .hero-content {
        padding-left: 45px;
    }

    .hero-content h1 {
        font-size: 48px;
        max-width: 500px;
    }

    .hero-content p {
        font-size: 16px;
        max-width: 500px;
    }

}

/* =========================================================
            LANDMARK HERO — LEFT SIDE LAYOUT
========================================================= */

.home-slider {
    position: relative;
    width: 100%;
    height: calc(100vh - 92px);
    min-height: 600px;
    overflow: hidden;
}


.home-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}


/* Dark overlay */

.home-slider .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(8, 15, 20, .78) 0%,
            rgba(8, 15, 20, .48) 38%,
            rgba(8, 15, 20, .12) 72%,
            rgba(8, 15, 20, .05) 100%
        );
}


/* CONTENT */

.home-slider .content {

    position: absolute;

    z-index: 5;

    top: 50%;
    left: 8%;

    transform: translateY(-50%);

    width: min(650px, 48%);

    margin: 0;

    padding: 0;

    text-align: left;

}


/* Small label */

.home-slider .hero-label {

    display: block;

    margin-bottom: 20px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

}


/* Main heading */

.home-slider .content h1 {

    margin: 0 0 22px;

    max-width: 650px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(48px, 5.2vw, 76px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -1px;

    text-align: left;

}


/* Green heading part */

.home-slider .content h1 span {

    display: block;

    color: #18a936;

}


/* Description */

.home-slider .content p {

    max-width: 590px;

    margin: 0 0 32px;

    color: rgba(255,255,255,.88);

    font-family: Arial, sans-serif;

    font-size: 13px;

    line-height: 1.75;

    text-align: left;

}


/* Buttons */

.home-slider .hero-buttons {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 28px;

}


/* Main button */

.home-slider .hero-buttons .btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    min-height: 52px;

    padding: 0 25px;

    background: #18a936;

    color: #ffffff;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    text-decoration: none;

    text-transform: uppercase;

    transition: .3s ease;

}


.home-slider .hero-buttons .btn:hover {

    background: #101820;

}


/* Secondary link */

.home-slider .hero-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #ffffff;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    text-decoration: none;

    text-transform: uppercase;

}


.home-slider .hero-link i {

    color: #18a936;

    transition: .3s ease;

}


.home-slider .hero-link:hover i {

    transform: translateX(5px);

}


/* =========================================================
                HERO COUNTER
========================================================= */

.home-slider .hero-counter {

    position: absolute;

    z-index: 10;

    right: 6%;

    top: 50%;

    transform: translateY(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.55);

    font-size: 9px;

    letter-spacing: 2px;

}


.home-slider .current-slide {

    color: #18a936;

    font-size: 18px;

    font-weight: 700;

}


.home-slider .counter-line {

    width: 1px;

    height: 55px;

    background: #18a936;

}


/* =========================================================
                HERO ARROWS
========================================================= */

.home-slider .swiper-button-next,
.home-slider .swiper-button-prev {

    z-index: 20;

    top: auto;

    bottom: 45px;

    width: 58px;

    height: 58px;

    margin: 0;

    background: rgba(255,255,255,.92);

    color: #101820;

}


.home-slider .swiper-button-next {

    right: 4%;

}


.home-slider .swiper-button-prev {

    right: calc(4% + 70px);

    left: auto;

}


.home-slider .swiper-button-next::after,
.home-slider .swiper-button-prev::after {

    font-size: 18px;

    font-weight: 400;

}


/* =========================================================
                HERO PAGINATION
========================================================= */

.home-slider .swiper-pagination {

    left: 7% !important;

    bottom: 30px !important;

    width: auto !important;

    text-align: left;

}


.home-slider .swiper-pagination-bullet {

    width: 30px;

    height: 2px;

    margin: 0 5px 0 0 !important;

    border-radius: 0;

    background: rgba(255,255,255,.45);

    opacity: 1;

}


.home-slider .swiper-pagination-bullet-active {

    width: 55px;

    background: #18a936;

}

/* =========================================
            SMALL LABEL
========================================= */

.hero-label {

    display: inline-block;

    color: #0cb406;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    margin-bottom: 22px;

    position: relative;

    padding-left: 55px;
}

.hero-label::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    width: 40px;

    height: 1px;

    background: #0cb406;

    transform: translateY(-50%);
}


/* =========================================
            MAIN HEADING
========================================= */

.home-slider h1 {

    max-width: 720px;

    margin: 0 0 25px;

    color: #101820;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(48px, 5vw, 76px);

    font-weight: 700;

    line-height: 1.08;

    letter-spacing: -1px;
}

.home-slider h1 span {

    display: block;

    color: #07b123;
}


/* =========================================
            DESCRIPTION
========================================= */

.home-slider .content p {

    max-width: 590px;

    margin: 0 0 35px;

    color: #4f5963;

    font-size: 17px;

    line-height: 1.8;
}


/* =========================================
            BUTTONS
========================================= */

.hero-buttons {

    display: flex;

    align-items: center;

    gap: 30px;

    flex-wrap: wrap;
}

.hero-buttons .btn {

    display: inline-flex;

    align-items: center;

    gap: 14px;

    background: #101820;

    color: #fff;

    padding: 17px 28px;

    border-radius: 0;

    border: 1px solid #101820;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .5px;

    text-transform: uppercase;

    transition: .35s ease;
}

.hero-buttons .btn:hover {

    background: #0cb406;

    border-color: #0cb406;

    transform: translateY(-3px);
}

.hero-buttons .btn i {

    font-size: 11px;

    transition: .3s;
}

.hero-buttons .btn:hover i {

    transform: translateX(5px);
}


/* SECONDARY LINK */

.hero-link {

    color: #101820;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    transition: .3s;
}

.hero-link i {

    color: #0cb406;

    transition: .3s;
}

.hero-link:hover {

    color: #0cb406;
}

.hero-link:hover i {

    transform: translateX(5px);
}


/* =========================================
            SWIPER ARROWS
========================================= */

.home-slider .swiper-button-next,
.home-slider .swiper-button-prev {

    width: 58px;

    height: 58px;

    border: 1px solid rgba(16,24,32,.25);

    background: rgba(255,255,255,.85);

    color: #101820;

    transition: .3s;

    top: auto;

    bottom: 35px;
}

.home-slider .swiper-button-prev {

    right: 105px;

    left: auto;
}

.home-slider .swiper-button-next {

    right: 35px;
}

.home-slider .swiper-button-next:hover,
.home-slider .swiper-button-prev:hover {

    background: #101820;

    color: #fff;
}

.home-slider .swiper-button-next::after,
.home-slider .swiper-button-prev::after {

    font-size: 17px;

    font-weight: 600;
}


/* =========================================
            PAGINATION
========================================= */

.home-slider .swiper-pagination {

    bottom: 42px;

    left: 70px;

    width: auto;

    text-align: left;
}

.home-slider .swiper-pagination-bullet {

    width: 28px;

    height: 2px;

    border-radius: 0;

    background: #101820;

    opacity: .35;

    transition: .3s;
}

.home-slider .swiper-pagination-bullet-active {

    width: 55px;

    background: #0cb406;

    opacity: 1;
}


/* =========================================
            COUNTER
========================================= */

.hero-counter {

    position: absolute;

    right: 38px;

    top: 50%;

    transform: translateY(-50%);

    z-index: 10;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 10px;

    color: #101820;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;
}

.hero-counter .current-slide {

    color: #0cb406;

    font-size: 20px;
}

.counter-line {

    width: 1px;

    height: 55px;

    background: #0cb406;
}

/* =========================================
            HERO MOBILE
========================================= */

@media (max-width: 768px) {

    .home-slider {

        height: calc(100vh - 78px);

        min-height: 620px;
    }


    .home-slider .slide {

        background-position: 60% center;
    }


    .home-slider .hero-overlay {

        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.97) 0%,
                rgba(255,255,255,.88) 45%,
                rgba(255,255,255,.30) 100%
            );
    }


    .home-slider .content {

        padding: 30px 25px 90px;

        margin: 0;

        display: flex;

        flex-direction: column;

        justify-content: center;

        height: 100%;
    }


    .hero-label {

        font-size: 9px;

        letter-spacing: 2px;

        padding-left: 40px;

        margin-bottom: 18px;
    }

    .hero-label::before {

        width: 28px;
    }


    .home-slider h1 {

        font-size: 43px;

        line-height: 1.08;

        letter-spacing: -.5px;

        max-width: 100%;

        margin-bottom: 20px;
    }


    .home-slider .content p {

        font-size: 14px;

        line-height: 1.7;

        max-width: 95%;

        margin-bottom: 25px;
    }


    .hero-buttons {

        gap: 18px;

        align-items: flex-start;

        flex-direction: column;
    }


    .hero-buttons .btn {

        padding: 14px 20px;

        font-size: 11px;
    }


    .hero-link {

        font-size: 11px;
    }


    .home-slider .swiper-button-next,
    .home-slider .swiper-button-prev {

        width: 42px;

        height: 42px;

        bottom: 18px;
    }


    .home-slider .swiper-button-prev {

        right: 70px;
    }

    .home-slider .swiper-button-next {

        right: 18px;
    }


    .home-slider .swiper-pagination {

        left: 25px;

        bottom: 36px;
    }


    .home-slider .swiper-pagination-bullet {

        width: 18px;
    }


    .home-slider .swiper-pagination-bullet-active {

        width: 35px;
    }


    .hero-counter {

        display: none;
    }

}

.contact-info {
  position: fixed;
  top: 0;
  right: 0;
  width: 35rem;
  background: var(--white);
  height: 100%;
  text-align: center;
  z-index: 1100;
  padding: 0 2rem;
  padding-top: 5rem;
  display: none;
}

.contact-info.active {
  -webkit-box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.7);
  display: block;
}

.contact-info #close-contact-info {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  cursor: pointer;
  font-size: 4rem;
  color: var(--black);
}

.contact-info #close-contact-info:hover {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.contact-info .info {
  padding: 2rem 0;
}

.contact-info .info i {
  height: 5rem;
  width: 5rem;
  line-height: 5rem;
  font-size: 2rem;
  background: var(--light-bg);
  color: var(--black);
  cursor: pointer;
  text-align: center;
  margin-bottom: .5rem;
}

.contact-info .info i:hover {
  background: var(--black);
  color: var(--white);
}

.contact-info .info h3 {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
  padding: 1rem 0;
}

.contact-info .info p {
  font-size: 1.5rem;
  color: var(--light-color);
  line-height: 2;
}

.contact-info .share {
  padding-top: 2rem;
  border-top: var(--border);
  margin-top: 1rem;
}

.contact-info .share a {
  height: 5rem;
  width: 5rem;
  line-height: 5rem;
  font-size: 2rem;
  background: var(--light-bg);
  color: var(--black);
  cursor: pointer;
  text-align: center;
  margin: 0 .3rem;
}

.contact-info .share a:hover {
  background: var(--black);
  color: var(--white);
}

.home {
  padding: 0;
}

.home .slide {
  min-height: 60rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-size: cover !important;
  background-position: center !important;
}

.home .slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(var(--white)), to(transparent));
  background: linear-gradient(90deg, var(--white), transparent);
}

.home .slide .content {
  width: 50rem;
  position: relative;
}

.home .slide .content h3 {
  font-size: 6rem;
  color: var(--black);
  text-transform: capitalize;
  text-transform: uppercase;
}

.home .slide .content p {
  font-size: 1.4rem;
  color: var(--light-color);
  line-height: 2;
  padding: 1rem 0;
}

.home .swiper-button-next,
.home .swiper-button-prev {
  top: initial;
  bottom: 0;
  left: initial;
  right: 0;
  height: 7rem;
  width: 7rem;
  line-height: 7rem;
  background: var(--white);
}

.home .swiper-button-next:hover,
.home .swiper-button-prev:hover {
  background: var(--yellow);
}

.home .swiper-button-next::after,
.home .swiper-button-prev::after {
  font-size: 2rem;
  color: var(--black);
}

.home .swiper-button-prev {
  right: 7rem;
}

/* =========================================================
        COMPACT LANDMARK ABOUT
========================================================= */

.about {
    padding: 70px 0;
    background: #fff;
}

.about .container {
    max-width: 1200px;
}


/* =========================================================
                ABOUT SECTION INTRO
========================================================= */

.section-intro {

    width: 100%;

    max-width: 1100px;

    margin: 0 auto;

    padding: 0 25px;

    text-align: center;

}


.section-intro .section-label {

    display: block;

    margin-bottom: 12px;

    color: #30373c;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

}


.section-intro .heading {

    position: relative;

    display: block;

    width: 100%;

    margin: 0 auto 12px;

    padding-left: 25px;

    color: #101820;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(32px, 4vw, 48px);

    line-height: 1.15;

    font-weight: 600;

    text-align: center;

}


/* Yellow architectural line */

.section-intro .heading::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    width: 7px;

    height: 70px;

    transform: translateY(-50%);

    background: #f2c21a;

}


.section-intro p {

    max-width: 650px;

    margin: 0 auto;

    color: #555;

    font-size: 13px;

    line-height: 1.7;

    text-align: center;

}

/* =========================================================
        VIDEO
========================================================= */

.about-media {
    position: relative;

    padding-right: 15px;
    padding-bottom: 15px;
}

.about-video {
    width: 100%;
    height: 400px;

    position: relative;

    overflow: hidden;

    background: #16202b;

    box-shadow: 0 20px 45px rgba(0,0,0,.10);
}

.about-video::before {
    width: 4px;
}

.about-video video {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: .6s ease;

     pointer-events: none;
}

.about-video:hover video {
    transform: scale(1.03);
}


/* =========================================================
        VIDEO CAPTION
========================================================= */

.video-caption {
    left: 18px;
    bottom: 18px;

    min-width: 210px;

    padding: 15px 18px;

    border-left-width: 2px;
}

.video-caption span {
    font-size: 8px;

    letter-spacing: 2px;

    margin-bottom: 5px;
}

.video-caption strong {
    font-size: 16px;
}


/* =========================================================
        ABOUT TEXT
========================================================= */

.about-content {
    padding: 0;
}

.about-number {
    font-size: 11px;

    margin-bottom: 10px;
}

.about-content h3 {
    max-width: 500px;

    font-size: 34px;

    line-height: 1.15;

    margin-bottom: 18px;
}

.about-content p {
    max-width: 540px;

    font-size: 13px;

    line-height: 1.7;

    margin-bottom: 12px;
}

.about-content .about-lead {
    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
        ABOUT POINTS
========================================================= */

.about-points {
    grid-template-columns: repeat(2, 1fr);

    gap: 10px 18px;

    margin: 20px 0;
}

.about-point {
    gap: 8px;
}

.about-point i {
    width: 21px;
    height: 21px;

    font-size: 8px;
}

.about-point span {
    font-size: 11px;
}


/* =========================================================
        BUTTON
========================================================= */

.about-content .btn {
    padding: 12px 19px;

    font-size: 10px;

    gap: 9px;
}


/* =========================================================
        STATISTICS
========================================================= */

.about-statistics {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    margin-top: 55px;

    border-top: 1px solid #e7e3df;
    border-bottom: 1px solid #e7e3df;
}

.about-stat {
    min-height: 100px;

    padding: 18px;

    gap: 12px;

    justify-content: center;

    border-right: 1px solid #e7e3df;
}

.stat-icon {
    width: 40px;
    height: 40px;

    font-size: 14px;
}

.about-stat h3 {
    font-size: 25px;

    margin-bottom: 2px;
}

.about-stat p {
    font-size: 9px;

    letter-spacing: .5px;
}


/* =========================================================
        TABLET
========================================================= */

@media (max-width: 991px) {

    .about {
        padding: 65px 0;
    }

    .about-wrapper {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .about-video {
        height: 400px;
    }

    .about-statistics {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-stat:nth-child(2) {
        border-right: none;
    }

    .about-stat:nth-child(-n+2) {
        border-bottom: 1px solid #e7e3df;
    }

}


/* =========================================================
        PHONE
========================================================= */

@media (max-width: 600px) {

    .about {
        padding: 55px 0;
    }

    .about .container {
        padding: 0 15px;
    }

    .about .heading {
        font-size: 32px;
    }

    .about-video {
        height: 280px;
    }

    .about-content h3 {
        font-size: 29px;
    }

    .about-points {
        grid-template-columns: 1fr;
    }

    .about-statistics {
        grid-template-columns: 1fr 1fr;

        margin-top: 40px;
    }

    .about-stat {
        min-height: 85px;

        padding: 12px;

        justify-content: flex-start;
    }

    .about-stat:nth-child(2) {
        border-right: none;
    }

    .about-stat:nth-child(3) {
        border-right: 1px solid #e7e3df;
        border-bottom: none;
    }

    .about-stat:nth-child(4) {
        border-bottom: none;
    }

    .stat-icon {
        width: 34px;
        height: 34px;

        font-size: 12px;
    }

    .about-stat h3 {
        font-size: 21px;
    }

    .about-stat p {
        font-size: 8px;
    }

}
/* =========================================================
        COMPACT LANDMARK SERVICES
========================================================= */

.services {
    padding: 70px 0;
    background: #f7f5f2;
}

.services .container {
    max-width: 1200px;
}


/* Heading */

.services .section-intro {
    max-width: 600px;
    margin: 0 auto 35px;
    text-align: center;
}

.services .heading {
    font-size: 38px;
    margin-bottom: 12px;
}

.services .section-intro p {
    font-size: 14px;
    line-height: 1.6;
}


/* GRID */

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


/* CARD */

.service-card {
    background: #fff;
    border: 1px solid #e5dfd8;

    overflow: hidden;

    transition: .3s ease;
}

.service-card:hover {
    transform: translateY(-4px);

    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}


/* IMAGE */

.service-image {
    position: relative;

    width: 100%;
    height: 160px;

    overflow: hidden;
}

.service-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: .5s ease;
}

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


/* NUMBER */

.service-number {
    position: absolute;

    top: 10px;
    right: 10px;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #16202b;
    color: #fff;

    font-family: Georgia, serif;
    font-size: 12px;
}


/* CONTENT */

.service-content {
    padding: 17px 18px 19px;
}

.service-label {
    display: block;

    margin-bottom: 6px;

    color: #a98f73;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.service-content h3 {
    margin: 0 0 8px;

    color: #16202b;

    font-family: Georgia, serif;

    font-size: 19px;
    line-height: 1.2;
}

.service-content p {
    margin: 0 0 13px;

    color: #727b83;

    font-size: 11px;
    line-height: 1.6;

    min-height: 52px;
}

.service-content a {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #16202b;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .8px;

    text-transform: uppercase;

    text-decoration: none;
}

.service-content a i {
    color: #a98f73;

    font-size: 9px;

    transition: .25s;
}

.service-content a:hover {
    color: #a98f73;
}

.service-content a:hover i {
    transform: translateX(4px);
}


/* FEATURED */

.service-card.featured {
    border-top: 2px solid #a98f73;
}


/* =========================================================
        TABLET
========================================================= */

@media (max-width: 1100px) {

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

    .service-image {
        height: 170px;
    }

}


/* =========================================================
        SMALL TABLET
========================================================= */

@media (max-width: 800px) {

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
        PHONE
========================================================= */

@media (max-width: 550px) {

    .services {
        padding: 55px 0;
    }

    .services .container {
        padding: 0 15px;
    }

    .services .heading {
        font-size: 32px;
    }

    .services-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .service-image {
        height: 125px;
    }

    .service-content {
        padding: 13px;
    }

    .service-content h3 {
        font-size: 17px;
    }

    .service-content p {
        font-size: 10px;
        line-height: 1.5;
        min-height: 45px;
    }

}

/* =========================================================
            COMPACT LANDMARK PROJECTS
========================================================= */

.projects {
    padding: 65px 0;
    background: #fff;
}

.projects .container {
    max-width: 1200px;
}


/* ================= HEADER ================= */

.projects-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 30px;
}

.projects-header .heading {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 36px;
    line-height: 1.15;

    color: #16202b;
}

.projects-intro {
    max-width: 320px;
}

.projects-intro p {
    margin: 0 0 10px;

    color: #727b83;

    font-size: 12px;
    line-height: 1.6;
}

.projects-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #16202b;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    text-decoration: none;
}

.projects-link i {
    color: #a98f73;
}


/* ================= PROJECT GRID ================= */

.projects-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-auto-rows: 190px;

    gap: 10px;
}


/* ================= PROJECT CARD ================= */

.project-card {
    position: relative;

    display: block;

    overflow: hidden;

    background: #16202b;

    text-decoration: none;
}


/* Featured project */

.project-card.project-large {
    grid-column: span 2;
    grid-row: span 2;
}


/* ================= IMAGE ================= */

.project-image {
    position: absolute;
    inset: 0;

    overflow: hidden;
}

.project-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: .6s ease;
}

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


/* ================= OVERLAY ================= */

.project-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(10,18,25,.88),
            rgba(10,18,25,.15)
        );
}


/* ================= NUMBER ================= */

.project-number {
    position: absolute;

    top: 12px;
    left: 13px;

    color: rgba(255,255,255,.75);

    font-family: Georgia, serif;

    font-size: 12px;

    z-index: 2;
}


/* ================= CONTENT ================= */

.project-content {
    position: absolute;

    left: 16px;
    right: 16px;
    bottom: 15px;

    z-index: 3;
}

.project-content span {
    display: block;

    margin-bottom: 4px;

    color: #c5a992;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1.5px;
}

.project-content h3 {
    margin: 0 0 3px;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 19px;

    font-weight: 500;

    line-height: 1.2;
}

.project-content p {
    margin: 0;

    color: rgba(255,255,255,.7);

    font-size: 9px;
}


/* ================= ARROW ================= */

.project-arrow {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 32px;
    height: 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #fff;

    color: #16202b;

    transition: .3s ease;
}

.project-arrow i {
    font-size: 9px;
}

.project-card:hover .project-arrow {
    background: #a98f73;
    color: #fff;
}


/* =========================================================
            TABLET
========================================================= */

@media (max-width: 991px) {

    .projects-grid {
        grid-template-columns: repeat(2, 1fr);

        grid-auto-rows: 180px;
    }

    .project-card.project-large {
        grid-column: span 2;
        grid-row: span 1;
    }

}


/* =========================================================
            PHONE
========================================================= */

@media (max-width: 600px) {

    .projects {
        padding: 55px 0;
    }

    .projects .container {
        padding: 0 15px;
    }

    .projects-header {
        display: block;

        margin-bottom: 25px;
    }

    .projects-header .heading {
        font-size: 32px;
    }

    .projects-intro {
        margin-top: 12px;
    }

    .projects-grid {
        grid-template-columns: 1fr 1fr;

        grid-auto-rows: 145px;

        gap: 7px;
    }

    .project-card.project-large {
        grid-column: span 2;
    }

    .project-content {
        left: 11px;
        right: 11px;
        bottom: 11px;
    }

    .project-content h3 {
        font-size: 15px;
    }

    .project-content span {
        font-size: 6px;
    }

    .project-content p {
        font-size: 7px;
    }

    .project-number {
        top: 9px;
        left: 10px;

        font-size: 10px;
    }

    .project-arrow {
        width: 27px;
        height: 27px;
    }

}

/* =========================================================
        LANDMARK PORTFOLIO SECTIONS
========================================================= */

.designs-section,
.ongoing-section,
.gallery-section,
.finished-section {
    position: relative;
    padding: 70px 0;
}

.designs-section .container,
.ongoing-section .container,
.gallery-section .container,
.finished-section .container {
    max-width: 1200px;
}


/* =========================================================
        COMMON PORTFOLIO HEADING
========================================================= */

.portfolio-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 35px;

    margin-bottom: 35px;
}

.portfolio-heading h2 {
    margin: 0;

    color: #16202b;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 38px;
    font-weight: 600;

    line-height: 1.15;
}

.portfolio-heading > p {
    max-width: 350px;

    margin: 0;

    color: #6f7880;

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
                    OUR DESIGNS
========================================================= */

.designs-section {
    background: #f7f5f2;
}

.designs-grid {
    display: grid;

    grid-template-columns: 1.4fr 1fr 1fr;

    grid-template-rows: 190px 190px;

    gap: 12px;
}


/* Design card */

.design-card {
    position: relative;

    overflow: hidden;

    display: block;

    background: #16202b;

    text-decoration: none;
}


/* Large design */

.design-card.design-main {
    grid-row: span 2;
}


/* Image */

.design-image {
    position: absolute;

    inset: 0;

    overflow: hidden;
}

.design-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .7s ease;
}

.design-card:hover .design-image img {
    transform: scale(1.06);
}


/* Overlay */

.design-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(10,18,25,.90),
            rgba(10,18,25,.05)
        );
}


/* Design content */

.design-content {
    position: absolute;

    left: 20px;
    right: 20px;
    bottom: 18px;

    z-index: 2;
}

.design-content span {
    display: block;

    margin-bottom: 6px;

    color: #c5a992;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 2px;
}

.design-content h3 {
    margin: 0;

    color: #fff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 21px;

    font-weight: 500;

    line-height: 1.2;
}

.design-content p {
    margin: 7px 0 0;

    color: rgba(255,255,255,.7);

    font-size: 10px;

    line-height: 1.5;
}


/* =========================================================
                    ONGOING PROJECTS
========================================================= */

.ongoing-section {
    background: #fff;
}

.ongoing-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}


/* Card */

.ongoing-card {
    background: #f8f7f5;

    border: 1px solid #e5e0da;

    transition: .35s ease;
}

.ongoing-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}


/* Image */

.ongoing-image {
    position: relative;

    height: 190px;

    overflow: hidden;
}

.ongoing-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: .6s ease;
}

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


/* Status */

.project-status {
    position: absolute;

    top: 12px;
    left: 12px;

    padding: 7px 11px;

    background: #a98f73;

    color: #fff;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1.5px;
}


/* Body */

.ongoing-body {
    padding: 20px;
}

.ongoing-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 8px;
}

.ongoing-top span {
    color: #a98f73;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1.3px;
}

.ongoing-top strong {
    color: #16202b;

    font-family: Georgia, serif;

    font-size: 17px;
}

.ongoing-body h3 {
    margin: 0 0 7px;

    color: #16202b;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 21px;

    font-weight: 600;

    line-height: 1.25;
}

.ongoing-body > p {
    margin: 0 0 15px;

    color: #747d85;

    font-size: 11px;

    line-height: 1.6;
}


/* Progress */

.progress {
    width: 100%;

    height: 3px;

    margin-bottom: 8px;

    background: #dedad5;

    overflow: hidden;
}

.progress-bar {
    height: 100%;

    background: #a98f73;
}

.progress-info {
    display: flex;

    justify-content: space-between;

    color: #7b838a;

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: .6px;
}


/* =========================================================
                    GALLERY
========================================================= */

.gallery-section {
    background: #16202b;
}

.gallery-section .portfolio-heading h2 {
    color: #fff;
}

.gallery-section .section-label {
    color: #c5a992;
}

.gallery-section .section-label::before {
    background: #c5a992;
}

.gallery-section .portfolio-heading > p {
    color: #aeb5ba;
}


/* Gallery grid */

.gallery-grid {
    display: grid;

    grid-template-columns: 1.4fr 1fr 1fr;

    grid-template-rows: 170px 170px;

    gap: 8px;
}


/* Gallery item */

.gallery-item {
    position: relative;

    display: block;

    overflow: hidden;

    background: #101820;
}

.gallery-item.gallery-large {
    grid-row: span 2;
}

.gallery-item img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease,
        opacity .5s ease;
}

.gallery-item:hover img {
    transform: scale(1.06);

    opacity: .7;
}


/* Gallery overlay */

.gallery-overlay {
    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(10,18,25,.25);

    opacity: 0;

    transition: .35s ease;
}

.gallery-overlay i {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #16202b;

    background: #fff;

    font-size: 11px;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}


/* =========================================================
                FINISHED PROJECTS
========================================================= */

.finished-section {
    background: #f7f5f2;
}


/* List */

.finished-list {
    border-top: 1px solid #ddd8d1;
}


/* Project */

.finished-project {
    position: relative;

    display: grid;

    grid-template-columns: 250px 1fr 50px;

    align-items: center;

    gap: 28px;

    padding: 18px 0;

    border-bottom: 1px solid #ddd8d1;

    transition: .3s ease;
}

.finished-project:hover {
    padding-left: 10px;

    background: rgba(255,255,255,.55);
}


/* Image */

.finished-image {
    width: 250px;
    height: 140px;

    overflow: hidden;
}

.finished-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: .6s ease;
}

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


/* Information */

.finished-info > span {
    display: block;

    margin-bottom: 8px;

    color: #a98f73;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1.5px;
}

.finished-info h3 {
    margin: 0 0 5px;

    color: #16202b;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 24px;

    font-weight: 600;
}

.finished-info > p {
    margin: 0 0 14px;

    color: #747d85;

    font-size: 11px;
}


/* Meta */

.finished-meta {
    display: flex;

    align-items: center;

    gap: 20px;
}

.finished-meta span {
    color: #69737b;

    font-size: 9px;
}

.finished-meta span:first-child {
    color: #4f7359;
}

.finished-meta i {
    margin-right: 5px;
}


/* Number */

.finished-number {
    color: #c5bdb5;

    font-family: Georgia, serif;

    font-size: 25px;
}


/* Button */

.finished-action {
    margin-top: 30px;

    text-align: center;
}

.finished-action .btn {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 13px 22px;

    background: #16202b;

    color: #fff;

    border: 1px solid #16202b;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    transition: .3s ease;
}

.finished-action .btn:hover {
    background: #a98f73;

    border-color: #a98f73;
}


/* =========================================================
                    TABLET
========================================================= */

@media (max-width: 991px) {

    .designs-grid {
        grid-template-columns: 1fr 1fr;

        grid-template-rows: 190px 190px;

    }

    .design-card.design-main {
        grid-row: span 2;
    }

    .ongoing-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr;

        grid-template-rows: 180px 180px 180px;
    }

    .gallery-item.gallery-large {
        grid-row: span 2;
    }

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 600px) {

    .designs-section,
    .ongoing-section,
    .gallery-section,
    .finished-section {
        padding: 55px 0;
    }

    .designs-section .container,
    .ongoing-section .container,
    .gallery-section .container,
    .finished-section .container {
        padding: 0 15px;
    }
    
    


    /* Heading */

    .portfolio-heading {
        display: block;

        margin-bottom: 25px;
    }

    .portfolio-heading h2 {
        font-size: 32px;
    }

    .portfolio-heading > p {
        margin-top: 12px;

        font-size: 11px;
    }


    /* Designs */

    .designs-grid {
        grid-template-columns: 1fr 1fr;

        grid-template-rows: 160px 160px;

        gap: 7px;
    }

    .design-card.design-main {
        grid-column: span 2;

        grid-row: span 1;
    }

    .design-content {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .design-content h3 {
        font-size: 16px;
    }

    .design-content span {
        font-size: 6px;

        letter-spacing: 1px;
    }

    .design-content p {
        display: none;
    }


    /* Ongoing */

    .ongoing-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .ongoing-image {
        height: 190px;
    }

    .ongoing-body {
        padding: 17px;
    }

    .ongoing-body h3 {
        font-size: 19px;
    }


    /* Gallery */

    .gallery-grid {
        grid-template-columns: 1fr 1fr;

        grid-template-rows: 150px 150px 150px;

        gap: 6px;
    }

    .gallery-item.gallery-large {
        grid-column: span 2;

        grid-row: span 1;
    }


    /* Finished */

    .finished-project {
        grid-template-columns: 110px 1fr;

        gap: 15px;

        padding: 14px 0;
    }

    .finished-image {
        width: 110px;
        height: 90px;
    }

    .finished-info h3 {
        font-size: 17px;
    }

    .finished-info > span {
        font-size: 6px;
    }

    .finished-info > p {
        font-size: 9px;

        margin-bottom: 7px;
    }

    .finished-meta {
        display: block;
    }

    .finished-meta span {
        display: block;

        font-size: 8px;

        margin-top: 3px;
    }

    .finished-number {
        display: none;
    }

}
.reviews .slide p {
  padding: 1.5rem;
  background: var(--light-bg);
  position: relative;
  margin-bottom: 3rem;
  font-size: 1.4rem;
  color: var(--light-color);
  line-height: 2;
}

.reviews .slide p::before {
  content: '';
  position: absolute;
  bottom: -1rem;
  left: 2rem;
  height: 2rem;
  width: 2rem;
  background: var(--light-bg);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.reviews .slide .user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}

.reviews .slide .user img {
  height: 7rem;
  width: 7rem;
}

.reviews .slide .user h3 {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
}

.reviews .slide .user .stars {
  padding-top: .5rem;
}

.reviews .slide .user .stars i {
  font-size: 1.4rem;
  color: var(--yellow);
}

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

.pricing .box-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(30rem, 1fr))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 2rem;
}

.pricing .box-container .box {
  background: var(--white);
  text-align: center;
  padding: 2rem;
  border: var(--border);
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
}

.pricing .box-container .box i {
  font-size: 3rem;
  height: 7rem;
  width: 7rem;
  line-height: 7rem;
  border-radius: 50%;
  margin-bottom: 2rem;
  background: var(--yellow);
  color: var(--black);
}

.pricing .box-container .box h3 {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
  font-weight: normal;
}

.pricing .box-container .box .price {
  padding: 1rem 0;
  font-size: 5rem;
  color: var(--black);
  text-transform: capitalize;
}

.pricing .box-container .box .price span {
  font-size: 2rem;
}

.pricing .box-container .box .list {
  padding: 1rem 0;
}

.pricing .box-container .box .list p {
  padding: 1rem 0;
  font-size: 1.4rem;
  color: var(--light-color);
  line-height: 2;
}

.contact {
  background: var(--black);
}

.contact .heading {
  color: var(--white);
}

.contact .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}

.contact .row .map {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 41rem;
          flex: 1 1 41rem;
  width: 100%;
}

.contact .row form {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 41rem;
          flex: 1 1 41rem;
  background: var(--white);
  padding: 2rem;
}

.contact .row form h3 {
  font-size: 2.5rem;
  color: var(--black);
  text-transform: capitalize;
}

.contact .row form .box {
  margin: .7rem 0;
  width: 100%;
  padding: 1.5rem 0;
  border-bottom: var(--border);
  font-size: 1.6rem;
  color: var(--light-color);
}

.contact .row form .box:focus {
  border-color: var(--yellow);
}

.contact .row form textarea {
  height: 15rem;
  resize: none;
}

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

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

.blogs .slide:hover .image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.blogs .slide .image {
  height: 25rem;
  width: 90%;
  overflow: hidden;
  margin: 0 auto;
  margin-bottom: -3rem;
}

.blogs .slide .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: .2s linear;
  transition: .2s linear;
}

.blogs .slide .content {
  padding: 2rem;
  padding-top: 5rem;
  background: var(--white);
  -webkit-box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
}

.blogs .slide .content h3 {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
}

.blogs .slide .content p {
  padding: 1rem 0;
  font-size: 1.4rem;
  color: var(--light-color);
  line-height: 2;
}

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

.logo-container img {
  height: 10rem;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.footer {
  text-align: center;
}

.footer .links .btn {
  margin: .5rem;
}

.footer .credit {
  font-size: 2rem;
  color: var(--black);
  text-transform: capitalize;
  margin-top: 2rem;
  padding-top: 1rem;
}

.footer .credit span {
  color: var(--yellow);
}

@media (max-width: 1200px) {
  .header {
    padding: 1.5rem 2rem;
  }
  section {
    padding: 3rem 5%;
  }
}

@media (max-width: 991px) {
  html {
    font-size: 55%;
  }
  section {
    padding: 3rem 2rem;
  }
  .header #menu-btn {
    display: inline-block;
  }
  .header .navbar {
    position: absolute;
    top: 99%;
    left: 0;
    right: 0;
    background: var(--white);
    border-top: var(--border);
    border-bottom: var(--border);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    -webkit-transition: .2s linear;
    transition: .2s linear;
  }
  .header .navbar.active {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .header .navbar a {
    display: block;
    margin: 2rem;
  }
}

@media (max-width: 768px) {
  .header .search-form {
    width: 90%;
  }
  .header .login-form {
    width: 90%;
  }
  .home .slide {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home .slide .content {
    text-align: center;
  }
  .home .slide .content h3 {
    font-size: 3rem;
  }
}

@media (max-width: 450px) {
  html {
    font-size: 50%;
  }
  .about .row .content h3 {
    font-size: 2.5rem;
  }
}


.section-intro .heading {
    margin: 0;

    color: #08ca32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 48px;

    font-weight: 600;

    line-height: 1.1;

    letter-spacing: -1px;

    white-space: nowrap;
}

@media (max-width: 600px) {

    .section-intro .heading {
        font-size: 30px;

        line-height: 1.15;

        white-space: normal;

        letter-spacing: -.5px;
    }

}
/* =====================================
   MOBILE HERO
===================================== */

@media (max-width: 768px){

    #landmarkVideoHero{
        height: 100vh;
        min-height: 700px;
    }

    #landmarkVideoHero video{
        object-position: center;
    }

    #landmarkVideoHero .lvh-content{
        width: 100%;
        max-width: 100%;
        padding: 0 25px;
    }

    #landmarkVideoHero .lvh-content h1{
        font-size: 42px !important;
        line-height: 1.1 !important;
        margin-bottom: 20px;
    }

    #landmarkVideoHero .lvh-content p{
        max-width: 100%;
        font-size: 15px;
        line-height: 1.8;
    }

    #landmarkVideoHero .hero-buttons{
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    #landmarkVideoHero .btn{
        width: 100%;
        text-align: center;
    }

    #landmarkVideoHero .hero-link{
        margin-left: 0;
    }

    .hero-counter,
    .swiper-button-next,
    .swiper-button-prev{
        display: none !important;
    }

}

/* =========================================================
        LANDMARK PROJECT EXPERIENCE
========================================================= */

.landmark-projects {

    position: relative;

    width: 100%;

    padding: 110px 7% 90px;

    background: #f7f7f5;

    overflow: hidden;

}


/* =========================================================
        HEADING
========================================================= */

.projects-heading {

    max-width: 1250px;

    margin: 0 auto 55px;

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 60px;

}


.projects-heading-left {

    max-width: 700px;

}


.projects-label {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.projects-label::before {

    content: "";

    width: 35px;

    height: 2px;

    background: #18a936;

}


.projects-heading h2 {

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(45px, 5vw, 70px);

    line-height: 1;

    font-weight: 600;

    color: #101820;

}


.projects-heading h2 span {

    display: block;

    color: #18a936;

}


.projects-heading-right {

    max-width: 390px;

}


.projects-heading-right p {

    margin: 0;

    color: #667078;

    font-size: 14px;

    line-height: 1.8;

}


/* =========================================================
        BIG PROJECT LAUNCH BUTTON
========================================================= */

.projects-launch {

    position: relative;

    max-width: 1250px;

    height: 390px;

    margin: 0 auto;

    overflow: hidden;

    cursor: pointer;

    background: #101820;

}


.projects-launch-image {

    position: absolute;

    inset: 0;

    background-image:
        url("../images/project-3.webp");

    background-size: cover;

    background-position: center;

    transform: scale(1);

    transition: transform 1.2s ease;

}


.projects-launch:hover .projects-launch-image {

    transform: scale(1.08);

}


.projects-launch-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(10,18,24,.90),
            rgba(10,18,24,.45),
            rgba(10,18,24,.10)
        );

}


.projects-launch-content {

    position: absolute;

    left: 7%;

    top: 50%;

    transform: translateY(-50%);

    z-index: 5;

    color: white;

}


.launch-small {

    display: block;

    margin-bottom: 12px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 4px;

}


.projects-launch-content h3 {

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(65px, 8vw, 115px);

    line-height: .82;

    font-weight: 400;

}


.projects-launch-content h3 strong {

    display: block;

    color: #fff;

    font-weight: 700;

}


.launch-arrow {

    width: 58px;

    height: 58px;

    margin-top: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.6);

    border-radius: 50%;

    transition: .4s ease;

}


.projects-launch:hover .launch-arrow {

    background: #18a936;

    border-color: #18a936;

    transform: translateY(7px);

}


.launch-number {

    position: absolute;

    right: 5%;

    bottom: 8%;

    z-index: 5;

    color: rgba(255,255,255,.20);

    font-size: 110px;

    font-weight: 700;

    line-height: 1;

}


/* =========================================================
        PROJECT WORLDS
========================================================= */

.project-worlds {

    max-width: 1250px;

    margin: 25px auto 0;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;

    max-height: 0;

    opacity: 0;

    overflow: hidden;

    transform: translateY(-20px);

    transition:
        max-height 1s ease,
        opacity .7s ease,
        transform .7s ease;

}


.project-worlds.open {

    max-height: 1500px;

    opacity: 1;

    transform: translateY(0);

}


/* =========================================================
        WORLD CARD
========================================================= */

.project-world {

    position: relative;

    min-height: 560px;

    background: #101820;

    overflow: hidden;

    transition: transform .4s ease;

}


.project-world:hover {

    transform: translateY(-8px);

}


/* IMAGE */

.project-world-image {

    position: relative;

    height: 270px;

    overflow: hidden;

}


.project-world-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .8s ease;

}


.project-world:hover img {

    transform: scale(1.08);

}


.project-world-number {

    position: absolute;

    right: 20px;

    top: 20px;

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #18a936;

    color: white;

    font-size: 11px;

    font-weight: 700;

}


/* CONTENT */

.project-world-content {

    padding: 35px 30px 35px;

    color: white;

}


.project-world-label {

    color: #18a936;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

}


.project-world-content h3 {

    margin: 12px 0 15px;

    color: white;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 36px;

    line-height: 1;

    font-weight: 500;

}


.project-world-content h3 span {

    color: #18a936;

}


.project-world-content p {

    margin: 0 0 28px;

    color: rgba(255,255,255,.68);

    font-size: 12px;

    line-height: 1.8;

}


.project-explore {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: white;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    text-decoration: none;

}


.project-explore i {

    color: #18a936;

    transition: transform .3s ease;

}


.project-explore:hover {

    color: white;

}


.project-explore:hover i {

    transform: translateX(6px);

}


/* =========================================================
        BOTTOM
========================================================= */

.projects-bottom {

    max-width: 1250px;

    margin: 55px auto 0;

    padding-top: 20px;

    border-top: 1px solid #dfe2df;

    display: flex;

    justify-content: space-between;

    align-items: center;

}


.projects-bottom span {

    color: #8a9195;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.projects-bottom p {

    margin: 0;

    color: #101820;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;

    font-style: italic;

}


.projects-bottom i {

    margin: 0 8px;

    color: #18a936;

}


/* =========================================================
        MOBILE
========================================================= */

@media (max-width: 768px) {

    .landmark-projects {

        padding: 70px 20px 60px;

    }


    .projects-heading {

        display: block;

        margin-bottom: 35px;

    }


    .projects-heading h2 {

        font-size: 42px;

    }


    .projects-heading-right {

        margin-top: 20px;

    }


    .projects-heading-right p {

        font-size: 12px;

    }


    .projects-launch {

        height: 330px;

    }


    .projects-launch-content {

        left: 25px;

    }


    .projects-launch-content h3 {

        font-size: 65px;

    }


    .launch-number {

        font-size: 75px;

        right: 20px;

        bottom: 20px;

    }


    .project-worlds {

        grid-template-columns: 1fr;

        gap: 15px;

    }


    .project-world {

        min-height: auto;

    }


    .project-world-image {

        height: 230px;

    }


    .project-world-content {

        padding: 28px 25px 32px;

    }


    .project-world-content h3 {

        font-size: 32px;

    }


    .projects-bottom {

        display: block;

    }


    .projects-bottom p {

        margin-top: 12px;

    }

}


/* =========================================================
   LANDMARK PROJECTS EXPERIENCE
========================================================= */
.landmark-projects{position:relative;width:100%;padding:110px 7% 90px;background:#f7f7f5;overflow:hidden}
.projects-heading{max-width:1250px;margin:0 auto 55px;display:flex;justify-content:space-between;align-items:flex-end;gap:60px}
.projects-heading-left{max-width:700px}
.projects-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;color:#18a936;font-size:10px;font-weight:700;letter-spacing:3px}
.projects-label:before{content:"";width:35px;height:2px;background:#18a936}
.projects-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(45px,5vw,70px);line-height:1;font-weight:600;color:#101820}
.projects-heading h2 span{display:block;color:#18a936}
.projects-heading-right{max-width:390px}
.projects-heading-right p{margin:0;color:#667078;font-size:14px;line-height:1.8}

.projects-launch{position:relative;display:block;width:100%;max-width:1250px;height:390px;margin:0 auto;padding:0;border:0;border-radius:0;overflow:hidden;cursor:pointer;text-align:left;background:#101820;color:#fff}
.projects-launch-image{position:absolute;inset:0;background:url('../images/project-1.webp') center/cover no-repeat;transform:scale(1);transition:transform 1.2s ease}
.projects-launch-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,20,.94),rgba(8,15,20,.52),rgba(8,15,20,.08))}
.projects-launch-content{position:absolute;left:7%;top:50%;transform:translateY(-50%);z-index:5;display:block;color:#fff}
.launch-small{display:block;margin-bottom:15px;color:#18a936;font-size:10px;font-weight:700;letter-spacing:4px}
.launch-title{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(65px,8vw,115px);line-height:.82;font-weight:400}
.launch-title strong{display:block;font-weight:700;color:#fff}
.launch-arrow{width:58px;height:58px;margin-top:35px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;transition:.4s ease}
.projects-launch:hover .projects-launch-image{transform:scale(1.08)}
.projects-launch:hover .launch-arrow{background:#18a936;border-color:#18a936;transform:translateY(7px)}
.launch-number{position:absolute;right:5%;bottom:7%;z-index:5;color:rgba(255,255,255,.18);font-size:110px;font-weight:700;line-height:1}
.launch-corner{position:absolute;right:28px;top:28px;z-index:6;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);color:#fff;transition:.4s ease}
.projects-launch.open .launch-corner{transform:rotate(45deg);background:#18a936;border-color:#18a936}

.project-worlds{max-width:1250px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-20px);transition:max-height:1s ease,opacity:.7s ease,transform:.7s ease}
.project-worlds.open{max-height:1600px;opacity:1;transform:translateY(0)}
.project-world{min-height:560px;background:#101820;overflow:hidden;transition:transform .4s ease;box-shadow:0 18px 45px rgba(16,24,32,.08)}
.project-world:hover{transform:translateY(-8px)}
.project-world-image{position:relative;height:270px;overflow:hidden}
.project-world-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.project-world:hover img{transform:scale(1.08)}
.project-world-number{position:absolute;right:20px;top:20px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#18a936;color:#fff;font-size:11px;font-weight:700}
.project-world-content{padding:35px 30px 35px;color:#fff}
.project-world-label{color:#18a936;font-size:9px;font-weight:700;letter-spacing:2px}
.project-world-content h3{margin:12px 0 15px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1;font-weight:500}
.project-world-content h3 span{color:#18a936}
.project-world-content p{margin:0 0 28px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.8}
.project-explore{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.project-explore i{color:#18a936;transition:transform .3s ease}.project-explore:hover{color:#fff}.project-explore:hover i{transform:translateX(6px)}
.projects-bottom{max-width:1250px;margin:55px auto 0;padding-top:20px;border-top:1px solid #dfe2df;display:flex;justify-content:space-between;align-items:center}
.projects-bottom span{color:#8a9195;font-size:8px;font-weight:700;letter-spacing:2px}.projects-bottom p{margin:0;color:#101820;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic}.projects-bottom i{margin:0 8px;color:#18a936}

@media(max-width:768px){
 .landmark-projects{padding:70px 20px 60px}
 .projects-heading{display:block;margin-bottom:35px}
 .projects-heading h2{font-size:42px}
 .projects-heading-right{margin-top:20px}.projects-heading-right p{font-size:12px}
 .projects-launch{height:330px}.projects-launch-content{left:25px}.launch-title{font-size:65px}.launch-number{font-size:75px;right:20px;bottom:20px}
 .project-worlds{grid-template-columns:1fr;gap:15px}.project-world{min-height:auto}.project-world-image{height:230px}.project-world-content{padding:28px 25px 32px}.project-world-content h3{font-size:32px}
 .projects-bottom{display:block}.projects-bottom p{margin-top:12px}
}

/* =========================================================
                    WHY LANDMARK
========================================================= */

.why-landmark {

    position: relative;

    width: 100%;

    padding: 110px 7%;

    background: #101820;

    overflow: hidden;

}


/* subtle architectural lines */

.why-landmark::before {

    content: "";

    position: absolute;

    top: 0;

    right: 15%;

    width: 1px;

    height: 100%;

    background: rgba(255,255,255,.06);

}


.why-landmark::after {

    content: "";

    position: absolute;

    top: 0;

    right: 30%;

    width: 1px;

    height: 100%;

    background: rgba(255,255,255,.035);

}


/* =========================================================
                    MAIN LAYOUT
========================================================= */

.why-landmark-inner {

    position: relative;

    z-index: 2;

    max-width: 1250px;

    margin: auto;

    display: grid;

    grid-template-columns: 42% 58%;

    gap: 80px;

}


/* =========================================================
                    LEFT INTRO
========================================================= */

.why-landmark-intro {

    position: relative;

    padding-top: 10px;

}


.why-label {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.why-label::before {

    content: "";

    width: 35px;

    height: 2px;

    background: #18a936;

}


.why-landmark-intro h2 {

    margin: 25px 0 25px;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(45px, 5vw, 68px);

    line-height: 1;

    font-weight: 500;

}


.why-landmark-intro h2 span {

    display: block;

    color: #18a936;

}


.why-landmark-intro > p {

    max-width: 450px;

    margin: 0;

    color: rgba(255,255,255,.62);

    font-size: 14px;

    line-height: 1.8;

}


/* =========================================================
                    LANDMARK MARK
========================================================= */

.why-landmark-mark {

    display: flex;

    align-items: center;

    gap: 20px;

    margin-top: 65px;

}


.why-landmark-mark span {

    color: rgba(255,255,255,.25);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 4px;

}


.why-landmark-mark strong {

    color: rgba(255,255,255,.10);

    font-size: 80px;

    line-height: .8;

}


/* =========================================================
                    FEATURES
========================================================= */

.why-landmark-features {

    border-top: 1px solid rgba(255,255,255,.12);

}


.why-feature {

    position: relative;

    display: grid;

    grid-template-columns: 60px 1fr 30px;

    align-items: center;

    gap: 25px;

    min-height: 145px;

    padding: 25px 10px 25px 0;

    border-bottom: 1px solid rgba(255,255,255,.12);

    cursor: default;

    transition: .4s ease;

}


.why-feature::before {

    content: "";

    position: absolute;

    left: -20px;

    top: 0;

    bottom: 0;

    width: 3px;

    background: #18a936;

    transform: scaleY(0);

    transform-origin: center;

    transition: .4s ease;

}


.why-feature:hover {

    padding-left: 20px;

    background: rgba(255,255,255,.025);

}


.why-feature:hover::before {

    transform: scaleY(1);

}


/* NUMBER */

.why-feature-number {

    color: #18a936;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

}


/* CONTENT */

.why-feature-content h3 {

    margin: 0 0 8px;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;

    font-weight: 500;

}


.why-feature-content p {

    max-width: 560px;

    margin: 0;

    color: rgba(255,255,255,.55);

    font-size: 12px;

    line-height: 1.7;

}


/* ARROW */

.why-feature > i {

    color: rgba(255,255,255,.3);

    font-size: 11px;

    transition: .4s ease;

}


.why-feature:hover > i {

    color: #18a936;

    transform: translateX(6px);

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 768px) {

    .why-landmark {

        padding: 75px 22px;

    }


    .why-landmark-inner {

        display: block;

    }


    .why-landmark-intro {

        padding-bottom: 45px;

    }


    .why-landmark-intro h2 {

        font-size: 42px;

        margin-top: 20px;

    }


    .why-landmark-intro > p {

        font-size: 12px;

    }


    .why-landmark-mark {

        margin-top: 35px;

    }


    .why-landmark-mark strong {

        font-size: 55px;

    }


    .why-feature {

        grid-template-columns: 40px 1fr 20px;

        gap: 15px;

        min-height: 130px;

        padding: 22px 0;

    }


    .why-feature:hover {

        padding-left: 10px;

    }


    .why-feature::before {

        left: -10px;

    }


    .why-feature-content h3 {

        font-size: 21px;

    }


    .why-feature-content p {

        font-size: 11px;

        line-height: 1.65;

    }


    .why-feature > i {

        font-size: 9px;

    }

}

/* =========================================================
                    LANDMARK GALLERY
========================================================= */

.landmark-gallery {

    position: relative;

    padding: 110px 7% 90px;

    background: #ffffff;

    overflow: hidden;

}


/* =========================================================
                    HEADING
========================================================= */

.gallery-heading {

    max-width: 1250px;

    margin: 0 auto 55px;

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 60px;

}


.gallery-label {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.gallery-label::before {

    content: "";

    width: 35px;

    height: 2px;

    background: #18a936;

}


.gallery-heading h2 {

    margin: 0;

    color: #101820;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(45px, 5vw, 68px);

    line-height: 1;

    font-weight: 500;

}


.gallery-heading h2 span {

    display: block;

    color: #18a936;

}


.gallery-heading > p {

    max-width: 390px;

    margin: 0;

    color: #687177;

    font-size: 13px;

    line-height: 1.8;

}


/* =========================================================
                    GALLERY GRID
========================================================= */

.landmark-gallery-grid {

    max-width: 1250px;

    margin: auto;

    display: grid;

    grid-template-columns:
    1.2fr
    .8fr
    .8fr;

    grid-auto-rows: 250px;

    gap: 12px;

}


/* =========================================================
                    GALLERY ITEM
========================================================= */

.gallery-item {

    position: relative;

    display: block;

    overflow: hidden;

    background: #101820;

    text-decoration: none;

}


.gallery-item img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .9s ease,
        filter .6s ease;

}


.gallery-item::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(5,12,17,.88),
            rgba(5,12,17,.05) 65%
        );

    opacity: .85;

    transition: .4s ease;

}


.gallery-item:hover img {

    transform: scale(1.08);

    filter: brightness(.82);

}


.gallery-item:hover::after {

    opacity: 1;

}


/* =========================================================
                    LARGE IMAGE
========================================================= */

.gallery-large {

    grid-row: span 2;

}


/* =========================================================
                    WIDE IMAGE
========================================================= */

.gallery-wide {

    grid-column: span 2;

}


/* =========================================================
                    OVERLAY CONTENT
========================================================= */

.gallery-item-overlay {

    position: absolute;

    left: 25px;

    right: 25px;

    bottom: 22px;

    z-index: 5;

    display: flex;

    align-items: flex-end;

    gap: 18px;

    color: white;

}


.gallery-item-overlay > span {

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

}


.gallery-item-overlay div {

    flex: 1;

}


.gallery-item-overlay small {

    display: block;

    margin-bottom: 5px;

    color: rgba(255,255,255,.65);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.gallery-item-overlay h3 {

    margin: 0;

    color: white;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;

    font-weight: 500;

}


.gallery-item-overlay > i {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.5);

    border-radius: 50%;

    font-size: 10px;

    transition: .4s ease;

}


.gallery-item:hover .gallery-item-overlay > i {

    background: #18a936;

    border-color: #18a936;

    transform: rotate(90deg);

}


/* =========================================================
                    BOTTOM
========================================================= */

.gallery-bottom {

    max-width: 1250px;

    margin: 45px auto 0;

    padding-top: 20px;

    border-top: 1px solid #e0e3e1;

    display: flex;

    align-items: center;

    justify-content: space-between;

}


.gallery-bottom span {

    color: #969da0;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.gallery-bottom a {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #101820;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-decoration: none;

}


.gallery-bottom a i {

    color: #18a936;

    transition: .3s ease;

}


.gallery-bottom a:hover i {

    transform: translateX(6px);

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 768px) {

    .landmark-gallery {

        padding: 75px 20px 60px;

    }


    .gallery-heading {

        display: block;

        margin-bottom: 35px;

    }


    .gallery-heading h2 {

        font-size: 42px;

    }


    .gallery-heading > p {

        margin-top: 20px;

        font-size: 12px;

    }


    .landmark-gallery-grid {

        grid-template-columns: 1fr 1fr;

        grid-auto-rows: 190px;

        gap: 8px;

    }


    .gallery-large {

        grid-row: span 2;

    }


    .gallery-wide {

        grid-column: span 2;

    }


    .gallery-item-overlay {

        left: 12px;

        right: 12px;

        bottom: 12px;

        gap: 8px;

    }


    .gallery-item-overlay h3 {

        font-size: 14px;

    }


    .gallery-item-overlay small {

        font-size: 6px;

    }


    .gallery-item-overlay > span {

        font-size: 8px;

    }


    .gallery-item-overlay > i {

        width: 30px;

        height: 30px;

        font-size: 8px;

    }


    .gallery-bottom {

        display: block;

    }


    .gallery-bottom a {

        margin-top: 15px;

    }

}

/* =========================================================
                 LANDMARK CONTACT
========================================================= */

.landmark-contact {

    position: relative;

    padding: 115px 7% 35px;

    background: #f4f5f2;

    overflow: hidden;

}


/* =========================================================
                    INNER
========================================================= */

.contact-inner {

    position: relative;

    z-index: 2;

    max-width: 1250px;

    margin: auto;

    display: grid;

    grid-template-columns: .85fr 1.15fr;

    gap: 90px;

    align-items: center;

}


/* =========================================================
                    LEFT
========================================================= */

.contact-intro {

    max-width: 520px;

}


.contact-label {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: #18a936;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-label::before {

    content: "";

    width: 35px;

    height: 2px;

    background: #18a936;

}


.contact-intro h2 {

    margin: 0 0 25px;

    color: #101820;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(45px, 5vw, 68px);

    line-height: .98;

    font-weight: 500;

}


.contact-intro h2 span {

    display: block;

    color: #18a936;

}


.contact-intro > p {

    max-width: 470px;

    margin: 0;

    color: #697278;

    font-size: 13px;

    line-height: 1.9;

}


/* =========================================================
                    DETAILS
========================================================= */

.contact-details {

    margin-top: 45px;

    border-top: 1px solid #dce0dc;

}


.contact-detail {

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 19px 0;

    border-bottom: 1px solid #dce0dc;

}


.contact-detail-icon {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border: 1px solid #d4d9d5;

    color: #18a936;

    background: #fff;

    font-size: 12px;

}


.contact-detail small {

    display: block;

    margin-bottom: 4px;

    color: #90999d;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.contact-detail strong {

    color: #101820;

    font-size: 12px;

    font-weight: 600;

}


/* =========================================================
                    FORM CARD
========================================================= */

.consultation-card {

    position: relative;

    padding: 45px;

    background: #101820;

    box-shadow:
        0 30px 70px rgba(16,24,32,.16);

}


.consultation-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 25px;

}


.consultation-top span {

    color: #18a936;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 3px;

}


.consultation-top strong {

    color: rgba(255,255,255,.12);

    font-size: 55px;

    line-height: .7;

}


.consultation-card h3 {

    margin: 0 0 35px;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 40px;

    line-height: 1;

    font-weight: 500;

}


.consultation-card h3 span {

    color: #18a936;

}


/* =========================================================
                    FORM
========================================================= */

.contact-form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;

}


.contact-field {

    margin-bottom: 20px;

}


.contact-field label {

    display: block;

    margin-bottom: 8px;

    color: rgba(255,255,255,.48);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.contact-field input,
.contact-field select,
.contact-field textarea {

    width: 100%;

    padding: 14px 0;

    border: 0;

    border-bottom: 1px solid rgba(255,255,255,.18);

    outline: none;

    background: transparent;

    color: #fff;

    font-family: inherit;

    font-size: 12px;

    transition: .3s ease;

}


.contact-field input::placeholder,
.contact-field textarea::placeholder {

    color: rgba(255,255,255,.32);

}


.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {

    border-color: #18a936;

}


.contact-field select {

    color: rgba(255,255,255,.65);

    cursor: pointer;

}


.contact-field select option {

    color: #101820;

    background: #fff;

}


.contact-field textarea {

    resize: vertical;

    min-height: 100px;

}


/* =========================================================
                    SUBMIT
========================================================= */

.consultation-submit {

    width: 100%;

    margin-top: 5px;

    padding: 18px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border: 1px solid #18a936;

    background: #18a936;

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

    cursor: pointer;

    transition: .35s ease;

}


.consultation-submit i {

    transition: .35s ease;

}


.consultation-submit:hover {

    background: transparent;

    color: #18a936;

}


.consultation-submit:hover i {

    transform: translateX(7px);

}


/* =========================================================
                    BOTTOM
========================================================= */

.contact-bottom {

    max-width: 1250px;

    margin: 75px auto 0;

    padding-top: 20px;

    border-top: 1px solid #dce0dc;

    display: flex;

    justify-content: space-between;

}


.contact-bottom span {

    color: #929a9e;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 768px) {

    .landmark-contact {

        padding: 75px 20px 30px;

    }


    .contact-inner {

        display: block;

    }


    .contact-intro {

        max-width: none;

        margin-bottom: 45px;

    }


    .contact-intro h2 {

        font-size: 42px;

    }


    .contact-intro > p {

        font-size: 12px;

    }


    .contact-details {

        margin-top: 30px;

    }


    .contact-detail {

        padding: 15px 0;

    }


    .contact-detail strong {

        font-size: 11px;

    }


    .consultation-card {

        padding: 28px 22px;

    }


    .consultation-card h3 {

        font-size: 32px;

        margin-bottom: 28px;

    }


    .contact-form-row {

        grid-template-columns: 1fr;

        gap: 0;

    }


    .contact-field {

        margin-bottom: 18px;

    }


    .contact-bottom {

        display: block;

        margin-top: 45px;

    }


    .contact-bottom span {

        display: block;

        margin-bottom: 8px;

    }

}

/* =========================================================
                    LANDMARK FOOTER
========================================================= */

.landmark-footer {

    position: relative;

    background: #0b1218;

    color: #fff;

    padding: 95px 7% 25px;

    overflow: hidden;

}


/* Architectural background lines */

.landmark-footer::before {

    content: "";

    position: absolute;

    top: 0;

    right: 15%;

    width: 1px;

    height: 100%;

    background: rgba(255,255,255,.045);

}


.landmark-footer::after {

    content: "";

    position: absolute;

    top: 0;

    right: 35%;

    width: 1px;

    height: 100%;

    background: rgba(255,255,255,.025);

}


/* =========================================================
                    MAIN
========================================================= */

.footer-main {

    position: relative;

    z-index: 2;

    max-width: 1250px;

    margin: auto;

    display: grid;

    grid-template-columns:
        1.7fr
        .7fr
        .9fr
        1.2fr;

    gap: 60px;

    padding-bottom: 75px;

}


/* =========================================================
                    BRAND
========================================================= */

.footer-brand {

    max-width: 450px;

}


.footer-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #18a936;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 3px;

}


.footer-eyebrow::before {

    content: "";

    width: 30px;

    height: 2px;

    background: #18a936;

}


.footer-brand h2 {

    margin: 25px 0 20px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(45px, 5vw, 68px);

    line-height: .95;

    font-weight: 500;

}


.footer-brand h2 span {

    display: block;

    color: #18a936;

}


.footer-brand p {

    max-width: 400px;

    margin: 0 0 30px;

    color: rgba(255,255,255,.48);

    font-size: 12px;

    line-height: 1.8;

}


/* CTA */

.footer-cta {

    display: inline-flex;

    align-items: center;

    gap: 20px;

    padding: 15px 20px;

    border: 1px solid rgba(255,255,255,.25);

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-decoration: none;

    transition: .35s ease;

}


.footer-cta i {

    color: #18a936;

    transition: .35s ease;

}


.footer-cta:hover {

    background: #18a936;

    border-color: #18a936;

    color: #fff;

}


.footer-cta:hover i {

    color: #fff;

    transform: translateX(6px);

}


/* =========================================================
                    COLUMNS
========================================================= */

.footer-column h3 {

    margin: 5px 0 25px;

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.footer-column > a {

    display: block;

    margin-bottom: 13px;

    color: rgba(255,255,255,.48);

    font-size: 11px;

    text-decoration: none;

    transition: .3s ease;

}


.footer-column > a:hover {

    color: #18a936;

    transform: translateX(5px);

}


/* =========================================================
                    CONTACT
========================================================= */

.footer-contact-item {

    display: flex;

    align-items: flex-start;

    gap: 14px;

    margin-bottom: 23px;

}


.footer-contact-item > i {

    width: 30px;

    color: #18a936;

    padding-top: 2px;

    font-size: 11px;

}


.footer-contact-item small {

    display: block;

    margin-bottom: 5px;

    color: rgba(255,255,255,.3);

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 2px;

}


.footer-contact-item span {

    display: block;

    color: rgba(255,255,255,.65);

    font-size: 11px;

    line-height: 1.5;

}


/* =========================================================
                    BOTTOM
========================================================= */

.footer-bottom {

    position: relative;

    z-index: 2;

    max-width: 1250px;

    margin: auto;

    padding-top: 22px;

    border-top: 1px solid rgba(255,255,255,.1);

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

}


.footer-copy {

    color: rgba(255,255,255,.32);

    font-size: 8px;

    letter-spacing: .5px;

}


/* SOCIAL */

.footer-social {

    display: flex;

    gap: 8px;

}


.footer-social a {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.15);

    border-radius: 50%;

    color: rgba(255,255,255,.6);

    font-size: 10px;

    text-decoration: none;

    transition: .3s ease;

}


.footer-social a:hover {

    background: #18a936;

    border-color: #18a936;

    color: #fff;

    transform: translateY(-3px);

}


/* BACK TO TOP */

.footer-top {

    display: flex;

    align-items: center;

    gap: 10px;

    color: rgba(255,255,255,.45);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-decoration: none;

    transition: .3s ease;

}


.footer-top i {

    color: #18a936;

}


.footer-top:hover {

    color: #fff;

}


/* =========================================================
                    MOBILE
========================================================= */

@media (max-width: 768px) {

    .landmark-footer {

        padding: 70px 22px 25px;

    }


    .footer-main {

        grid-template-columns: 1fr 1fr;

        gap: 45px 25px;

        padding-bottom: 50px;

    }


    .footer-brand {

        grid-column: 1 / -1;

        max-width: none;

    }


    .footer-brand h2 {

        font-size: 45px;

    }


    .footer-brand p {

        font-size: 11px;

    }


    .footer-column h3 {

        margin-bottom: 20px;

    }


    .footer-column > a {

        font-size: 10px;

        margin-bottom: 11px;

    }


    .footer-contact {

        grid-column: 1 / -1;

    }


    .footer-contact-item {

        margin-bottom: 18px;

    }


    .footer-bottom {

        display: grid;

        grid-template-columns: 1fr auto;

        gap: 20px;

    }


    .footer-copy {

        order: 1;

    }


    .footer-social {

        order: 2;

        justify-content: flex-end;

    }


    .footer-top {

        order: 3;

        grid-column: 1 / -1;

        padding-top: 15px;

        border-top: 1px solid rgba(255,255,255,.07);

    }

}








/* =========================================================
   LANDMARK PROJECTS EXPERIENCE
========================================================= */
.landmark-projects{position:relative;width:100%;padding:110px 7% 90px;background:#f7f7f5;overflow:hidden}
.projects-heading{max-width:1250px;margin:0 auto 55px;display:flex;justify-content:space-between;align-items:flex-end;gap:60px}
.projects-heading-left{max-width:700px}
.projects-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;color:#18a936;font-size:10px;font-weight:700;letter-spacing:3px}
.projects-label:before{content:"";width:35px;height:2px;background:#18a936}
.projects-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(45px,5vw,70px);line-height:1;font-weight:600;color:#101820}
.projects-heading h2 span{display:block;color:#18a936}
.projects-heading-right{max-width:390px}
.projects-heading-right p{margin:0;color:#667078;font-size:14px;line-height:1.8}

.projects-launch{position:relative;display:block;width:100%;max-width:1250px;height:390px;margin:0 auto;padding:0;border:0;border-radius:0;overflow:hidden;cursor:pointer;text-align:left;background:#101820;color:#fff}
.projects-launch-image{position:absolute;inset:0;background:url('../images/project-1.webp') center/cover no-repeat;transform:scale(1);transition:transform 1.2s ease}
.projects-launch-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,20,.94),rgba(8,15,20,.52),rgba(8,15,20,.08))}
.projects-launch-content{position:absolute;left:7%;top:50%;transform:translateY(-50%);z-index:5;display:block;color:#fff}
.launch-small{display:block;margin-bottom:15px;color:#18a936;font-size:10px;font-weight:700;letter-spacing:4px}
.launch-title{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(65px,8vw,115px);line-height:.82;font-weight:400}
.launch-title strong{display:block;font-weight:700;color:#fff}
.launch-arrow{width:58px;height:58px;margin-top:35px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;transition:.4s ease}
.projects-launch:hover .projects-launch-image{transform:scale(1.08)}
.projects-launch:hover .launch-arrow{background:#18a936;border-color:#18a936;transform:translateY(7px)}
.launch-number{position:absolute;right:5%;bottom:7%;z-index:5;color:rgba(255,255,255,.18);font-size:110px;font-weight:700;line-height:1}
.launch-corner{position:absolute;right:28px;top:28px;z-index:6;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);color:#fff;transition:.4s ease}
.projects-launch.open .launch-corner{transform:rotate(45deg);background:#18a936;border-color:#18a936}

.project-worlds{max-width:1250px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-20px);transition:max-height:1s ease,opacity:.7s ease,transform:.7s ease}
.project-worlds.open{max-height:1600px;opacity:1;transform:translateY(0)}
.project-world{min-height:560px;background:#101820;overflow:hidden;transition:transform .4s ease;box-shadow:0 18px 45px rgba(16,24,32,.08)}
.project-world:hover{transform:translateY(-8px)}
.project-world-image{position:relative;height:270px;overflow:hidden}
.project-world-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.project-world:hover img{transform:scale(1.08)}
.project-world-number{position:absolute;right:20px;top:20px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#18a936;color:#fff;font-size:11px;font-weight:700}
.project-world-content{padding:35px 30px 35px;color:#fff}
.project-world-label{color:#18a936;font-size:9px;font-weight:700;letter-spacing:2px}
.project-world-content h3{margin:12px 0 15px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1;font-weight:500}
.project-world-content h3 span{color:#18a936}
.project-world-content p{margin:0 0 28px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.8}
.project-explore{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.project-explore i{color:#18a936;transition:transform .3s ease}.project-explore:hover{color:#fff}.project-explore:hover i{transform:translateX(6px)}
.projects-bottom{max-width:1250px;margin:55px auto 0;padding-top:20px;border-top:1px solid #dfe2df;display:flex;justify-content:space-between;align-items:center}
.projects-bottom span{color:#8a9195;font-size:8px;font-weight:700;letter-spacing:2px}.projects-bottom p{margin:0;color:#101820;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic}.projects-bottom i{margin:0 8px;color:#18a936}

@media(max-width:768px){
 .landmark-projects{padding:70px 20px 60px}
 .projects-heading{display:block;margin-bottom:35px}
 .projects-heading h2{font-size:42px}
 .projects-heading-right{margin-top:20px}.projects-heading-right p{font-size:12px}
 .projects-launch{height:330px}.projects-launch-content{left:25px}.launch-title{font-size:65px}.launch-number{font-size:75px;right:20px;bottom:20px}
 .project-worlds{grid-template-columns:1fr;gap:15px}.project-world{min-height:auto}.project-world-image{height:230px}.project-world-content{padding:28px 25px 32px}.project-world-content h3{font-size:32px}
 .projects-bottom{display:block}.projects-bottom p{margin-top:12px}
}
/*# sourceMappingURL=style.css.map */
/* =========================================================
   PROJECT LIST -> PROJECT DETAIL -> GALLERY
========================================================= */
.project-list-view[hidden], .project-detail-view[hidden]{display:none!important}
.project-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project-list-card{padding:0;border:1px solid #e0e3e1;background:#fff;text-align:left;cursor:pointer;display:block;overflow:hidden;transition:.35s ease;font-family:inherit}
.project-list-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(16,24,32,.12)}
.project-list-image{position:relative;display:block;height:280px;overflow:hidden;background:#101820}
.project-list-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.7s ease}
.project-list-card:hover .project-list-image img{transform:scale(1.06)}
.project-list-number{position:absolute;top:18px;left:18px;color:#fff;font-size:10px;font-weight:700;letter-spacing:2px;z-index:2}
.project-list-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(16,24,32,.48);color:#fff;font-size:9px;font-weight:700;letter-spacing:2px;opacity:0;transition:.35s ease}
.project-list-card:hover .project-list-hover{opacity:1}
.project-list-content{display:block;padding:24px 25px 26px}
.project-list-content small{display:block;color:#18a936;font-size:8px;font-weight:700;letter-spacing:2px;margin-bottom:9px}
.project-list-content strong{display:block;color:#101820;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500;line-height:1.1;margin-bottom:6px}
.project-list-content em{display:block;color:#7b8488;font-size:10px;font-style:normal;margin-bottom:20px}
.project-list-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7e9e7;padding-top:14px;color:#101820;font-size:8px;font-weight:700;letter-spacing:1.5px}
.project-list-link i{color:#18a936;transition:.3s ease}
.project-list-card:hover .project-list-link i{transform:translateX(5px)}
.project-back-btn{border:0;background:transparent;color:#18a936;padding:0;margin:0 0 22px;font-size:9px;font-weight:700;letter-spacing:1.5px;cursor:pointer}
.project-back-btn i{margin-right:8px}
@media(max-width:768px){.project-gallery-modal{padding:12px}.project-gallery-panel{padding:25px 18px}.project-list-grid{grid-template-columns:1fr;gap:12px}.project-list-image{height:210px}.project-list-content{padding:18px}.project-list-content strong{font-size:23px}.project-gallery-header{display:block;padding-right:45px}.gallery-counter{margin-top:18px}}

/* =========================================================
   LANDMARK FINAL HERO + PROJECT TWO-COLUMN LAYOUT
========================================================= */
.landmark-picture-hero{height:calc(100vh - 92px);min-height:620px;position:relative;overflow:hidden;background:#101820}
.landmark-picture-hero .swiper-slide{height:100%;background-position:center;background-size:cover;background-repeat:no-repeat;position:relative;display:flex;align-items:center}
.landmark-picture-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,20,.82) 0%,rgba(7,15,20,.58) 48%,rgba(7,15,20,.18) 100%);z-index:1}
.landmark-picture-hero .content{position:relative;z-index:2;width:min(760px,72%);margin-left:8%;color:#fff}
.landmark-picture-hero .hero-label{display:block;color:#20b33e;font-size:10px;font-weight:700;letter-spacing:3px;margin-bottom:20px}
.landmark-picture-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.8vw,82px);line-height:.98;font-weight:500;margin:0 0 22px;color:#fff}
.landmark-picture-hero h1 span{display:block;color:#20b33e}
.landmark-picture-hero .content p{max-width:650px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.82);margin:0 0 30px}
.landmark-picture-hero .hero-buttons{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.landmark-picture-hero .btn{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:#18a936;color:#fff;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.landmark-picture-hero .hero-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.landmark-picture-hero .hero-link i,.landmark-picture-hero .btn i{transition:.3s}
.landmark-picture-hero .hero-link:hover i,.landmark-picture-hero .btn:hover i{transform:translateX(5px)}
.landmark-picture-hero .swiper-button-next,.landmark-picture-hero .swiper-button-prev{color:#fff;width:45px;height:45px;border:1px solid rgba(255,255,255,.35);top:auto;bottom:45px}
.landmark-picture-hero .swiper-button-prev{left:auto;right:115px}.landmark-picture-hero .swiper-button-next{right:55px}
.landmark-picture-hero .swiper-button-next:after,.landmark-picture-hero .swiper-button-prev:after{font-size:14px}
.landmark-picture-hero .swiper-pagination{bottom:24px!important;left:8%!important;width:auto!important;text-align:left}
.landmark-picture-hero .swiper-pagination-bullet{background:#fff;opacity:.45}.landmark-picture-hero .swiper-pagination-bullet-active{background:#20b33e;opacity:1}
.landmark-picture-hero .hero-counter{position:absolute;right:6%;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;gap:12px;color:#fff;font-size:11px;font-weight:700;letter-spacing:2px}.landmark-picture-hero .counter-line{width:45px;height:1px;background:rgba(255,255,255,.5)}
.project-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-list-card{min-width:0}.project-list-image{height:300px}.project-list-content{min-height:190px;display:flex;flex-direction:column}.project-list-link{margin-top:auto}
@media(max-width:768px){
 .landmark-picture-hero{height:calc(100vh - 72px);min-height:600px}
 .landmark-picture-hero .content{width:auto;margin:0 24px;padding-bottom:35px}
 .landmark-picture-hero h1{font-size:42px;line-height:1.03}.landmark-picture-hero .content p{font-size:12px;line-height:1.7}.landmark-picture-hero .hero-label{font-size:8px;letter-spacing:2px}.landmark-picture-hero .hero-buttons{gap:16px}.landmark-picture-hero .btn{padding:12px 16px;font-size:8px}.landmark-picture-hero .hero-link{font-size:8px}.landmark-picture-hero .swiper-button-next,.landmark-picture-hero .swiper-button-prev{display:none}.landmark-picture-hero .swiper-pagination{left:24px!important;bottom:22px!important}.landmark-picture-hero .hero-counter{right:20px;top:auto;bottom:20px;transform:none;font-size:9px}.landmark-picture-hero .counter-line{width:28px}.project-list-grid{grid-template-columns:1fr;gap:16px}.project-list-image{height:220px}.project-list-content{min-height:0;padding:20px}.project-list-content strong{font-size:24px}
}


/* ================================================================
   FINAL LANDMARK LAYOUT FIXES
   These rules intentionally come last so they override conflicting
   legacy/duplicate rules earlier in this stylesheet.
================================================================ */

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

/* -------------------- HEADER -------------------- */
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
}

/* -------------------- HERO / HOME SLIDER -------------------- */
.home-slider {
    position: relative;
    width: 100%;
    height: calc(100vh - 92px);
    min-height: 600px;
    overflow: hidden;
}

.home-slider .swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-size: cover !important;
    background-position: center center !important;
}

/* Keep the photograph visible while giving the text a clean reading area. */
.home-slider .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(8,15,20,.78) 0%,
        rgba(8,15,20,.57) 30%,
        rgba(8,15,20,.25) 58%,
        rgba(8,15,20,.06) 100%
    ) !important;
}

.home-slider .content {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: clamp(40px, 8vw, 125px);
    width: min(650px, 47vw);
    max-width: 650px;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    text-align: left !important;
}

.home-slider .hero-label {
    display: inline-block;
    position: relative;
    margin: 0 0 20px;
    padding-left: 52px;
    color: #18a936 !important;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.home-slider .hero-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 38px;
    height: 1px;
    background: #18a936;
    transform: translateY(-50%);
}

.home-slider .content h1,
.home-slider h1 {
    width: 100%;
    max-width: 650px;
    margin: 0 0 22px;
    padding: 0;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 5vw, 74px);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -1.2px;
    text-align: left !important;
}

.home-slider .content h1 span,
.home-slider h1 span {
    display: block;
    color: #18a936 !important;
}

.home-slider .content p {
    width: 100%;
    max-width: 570px;
    margin: 0 0 30px;
    padding: 0;
    color: rgba(255,255,255,.90) !important;
    font-family: Poppins, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
    text-align: left !important;
}

.home-slider .hero-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 26px;
    margin: 0;
}

.home-slider .hero-buttons .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 52px;
    margin: 0;
    padding: 0 24px;
    background: #18a936 !important;
    border: 1px solid #18a936 !important;
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: .3s ease;
}

.home-slider .hero-buttons .btn:hover {
    background: #101820 !important;
    border-color: #101820 !important;
    transform: translateY(-2px);
}

.home-slider .hero-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.home-slider .hero-link i {
    color: #18a936 !important;
}

.home-slider .hero-counter {
    position: absolute;
    z-index: 8;
    top: 50%;
    right: 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0;
    transform: translateY(-50%);
    color: rgba(255,255,255,.7) !important;
    font-size: 9px;
    letter-spacing: 2px;
}

.home-slider .hero-counter .current-slide {
    color: #18a936 !important;
    font-size: 18px;
    font-weight: 700;
}

.home-slider .hero-counter .counter-line {
    width: 1px;
    height: 55px;
    background: #18a936;
}

.home-slider .swiper-button-next,
.home-slider .swiper-button-prev {
    top: auto !important;
    bottom: 35px !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    border: 1px solid rgba(16,24,32,.18);
    background: rgba(255,255,255,.90) !important;
    color: #101820 !important;
    z-index: 20;
}

.home-slider .swiper-button-prev {
    left: auto !important;
    right: 105px !important;
}

.home-slider .swiper-button-next {
    right: 35px !important;
}

.home-slider .swiper-button-next::after,
.home-slider .swiper-button-prev::after {
    font-size: 17px !important;
    font-weight: 500;
}

.home-slider .swiper-pagination {
    left: clamp(40px, 7vw, 105px) !important;
    bottom: 36px !important;
    width: auto !important;
    text-align: left !important;
    z-index: 20;
}

.home-slider .swiper-pagination-bullet {
    width: 28px;
    height: 2px;
    margin: 0 6px 0 0 !important;
    border-radius: 0;
    background: rgba(255,255,255,.55) !important;
    opacity: 1;
}

.home-slider .swiper-pagination-bullet-active {
    width: 55px;
    background: #18a936 !important;
}

/* -------------------- ABOUT SECTION -------------------- */
.about {
    position: relative;
    padding: 80px 0 75px;
    background: #fff;
}

.about .container {
    width: min(1200px, calc(100% - 50px));
    max-width: 1200px;
    margin: 0 auto;
}

.about .section-intro {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 58px;
    padding: 0;
    text-align: center;
}

.about .section-intro .section-label {
    display: block;
    margin: 0 0 13px;
    color: #30373c !important;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.about .section-intro .heading {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 13px;
    padding: 0 0 0 26px;
    border: 0 !important;
    color: #101820 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 3.4vw, 48px) !important;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -1px;
    text-align: center !important;
    white-space: nowrap;
}

.about .section-intro .heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 7px;
    height: 68px;
    margin: 0;
    padding: 0;
    border: 0;
    background: #f2c21a !important;
    transform: translateY(-50%);
}

.about .section-intro p {
    max-width: 650px;
    margin: 0 auto;
    color: #555 !important;
    font-size: 13px;
    line-height: 1.7;
    text-align: center !important;
}

.about .about-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(45px, 6vw, 85px);
    width: 100%;
}

.about .about-media {
    width: 100%;
    min-width: 0;
    padding: 0 15px 15px 0;
}

.about .about-video {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #16202b;
    box-shadow: 0 20px 45px rgba(0,0,0,.10);
}

.about .about-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about .about-content {
    width: 100%;
    max-width: 560px;
    min-width: 0;
    padding: 0;
    margin: 0;
    text-align: left;
}

.about .about-number {
    display: block;
    margin: 0 0 11px;
    color: #8b9297;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
}

.about .about-content h3 {
    max-width: 500px;
    margin: 0 0 20px;
    color: #101820 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 600;
    line-height: 1.12;
    text-align: left;
}

.about .about-content p,
.about .about-content .about-lead {
    width: 100%;
    max-width: 535px;
    margin: 0 0 16px;
    padding: 0;
    color: #555 !important;
    font-family: Poppins, sans-serif;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.85;
    text-align: left;
}

.about .about-content .about-lead {
    font-size: 13px;
    line-height: 1.85;
}

.about .about-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 25px;
    margin: 22px 0 26px;
    padding: 0;
}

.about .about-point {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.about .about-point i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    color: #18a936;
    font-size: 9px;
}

.about .about-point span {
    color: #555;
    font-size: 10.5px;
    line-height: 1.45;
}

.about .about-content .btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 13px 20px;
    font-size: 10px;
}

/* -------------------- ABOUT STATISTICS -------------------- */
.about .about-statistics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin-top: 58px;
    border-top: 1px solid #e7e3df;
    border-bottom: 1px solid #e7e3df;
}

.about .about-stat {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    padding: 18px;
    gap: 12px;
    border-right: 1px solid #e7e3df;
}

.about .about-stat:last-child {
    border-right: 0;
}

.about .stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    color: #18a936;
    font-size: 14px;
}

.about .about-stat h3 {
    margin: 0 0 2px;
    color: #101820;
    font-size: 25px;
    line-height: 1;
}

.about .about-stat p {
    margin: 0;
    color: #777;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .5px;
}

/* -------------------- TABLET -------------------- */
@media (max-width: 991px) {
    .home-slider .content {
        left: 6%;
        width: min(620px, 58vw);
    }

    .home-slider .content h1,
    .home-slider h1 {
        font-size: clamp(42px, 5.5vw, 62px);
    }

    .about .about-wrapper {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .about .about-content {
        max-width: 700px;
    }
}

/* -------------------- MOBILE -------------------- */
@media (max-width: 768px) {
    .site-header {
        position: relative;
    }

    .home-slider {
        height: calc(100svh - 78px);
        min-height: 620px;
    }

    .home-slider .swiper-slide {
        background-position: 62% center !important;
    }

    .home-slider .hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(8,15,20,.76) 0%,
            rgba(8,15,20,.54) 45%,
            rgba(8,15,20,.16) 100%
        ) !important;
    }

    .home-slider .content {
        top: 50%;
        left: 25px;
        right: 25px;
        width: auto;
        max-width: none;
        padding: 0 0 65px;
        transform: translateY(-50%);
    }

    .home-slider .hero-label {
        margin-bottom: 15px;
        padding-left: 38px;
        font-size: 8px;
        letter-spacing: 2px;
    }

    .home-slider .hero-label::before {
        width: 28px;
    }

    .home-slider .content h1,
    .home-slider h1 {
        max-width: 100%;
        margin-bottom: 18px;
        font-size: clamp(36px, 10.5vw, 52px) !important;
        line-height: 1.03;
        letter-spacing: -.5px;
    }

    .home-slider .content p {
        max-width: 430px;
        margin-bottom: 22px;
        font-size: 11px;
        line-height: 1.7;
    }

    .home-slider .hero-buttons {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
    }

    .home-slider .hero-buttons .btn {
        min-height: 47px;
        padding: 0 18px;
        font-size: 9px;
    }

    .home-slider .hero-link {
        font-size: 9px;
    }

    .home-slider .hero-counter {
        display: none !important;
    }

    .home-slider .swiper-button-next,
    .home-slider .swiper-button-prev {
        bottom: 17px !important;
        width: 43px !important;
        height: 43px !important;
    }

    .home-slider .swiper-button-prev {
        right: 69px !important;
    }

    .home-slider .swiper-button-next {
        right: 18px !important;
    }

    .home-slider .swiper-pagination {
        left: 25px !important;
        bottom: 31px !important;
    }

    .home-slider .swiper-pagination-bullet {
        width: 18px;
    }

    .home-slider .swiper-pagination-bullet-active {
        width: 35px;
    }

    .about {
        padding: 60px 0;
    }

    .about .container {
        width: calc(100% - 36px);
    }

    .about .section-intro {
        margin-bottom: 40px;
    }

    .about .section-intro .heading {
        width: 100%;
        padding-left: 18px;
        font-size: clamp(27px, 7.5vw, 35px) !important;
        white-space: normal;
    }

    .about .section-intro .heading::before {
        width: 5px;
        height: 55px;
    }

    .about .section-intro p {
        max-width: 430px;
        font-size: 11px;
        line-height: 1.7;
    }

    .about .about-wrapper {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .about .about-media {
        padding: 0 8px 8px 0;
    }

    .about .about-video {
        height: 290px;
    }

    .about .about-content {
        max-width: none;
    }

    .about .about-content h3 {
        max-width: 500px;
        font-size: 29px;
    }

    .about .about-content p,
    .about .about-content .about-lead {
        max-width: 100%;
        font-size: 11px;
        line-height: 1.8;
    }

    .about .about-points {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .about .about-statistics {
        grid-template-columns: 1fr 1fr;
        margin-top: 42px;
    }

    .about .about-stat {
        min-height: 85px;
        padding: 12px;
        justify-content: flex-start;
    }

    .about .about-stat:nth-child(2) {
        border-right: 0;
    }

    .about .about-stat:nth-child(-n+2) {
        border-bottom: 1px solid #e7e3df;
    }

    .about .about-stat:nth-child(3) {
        border-right: 1px solid #e7e3df;
    }

    .about .stat-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 12px;
    }

    .about .about-stat h3 {
        font-size: 20px;
    }

    .about .about-stat p {
        font-size: 8px;
    }
}

@media (max-width: 420px) {
    .home-slider {
        min-height: 590px;
    }

    .home-slider .content {
        left: 20px;
        right: 20px;
        padding-bottom: 55px;
    }

    .home-slider .content h1,
    .home-slider h1 {
        font-size: 35px !important;
    }

    .home-slider .content p {
        font-size: 10.5px;
    }

    .about .section-intro .heading {
        font-size: 27px !important;
    }

    .about .about-video {
        height: 250px;
    }
}


/* =========================================================
   LANDMARK VISUAL UPGRADE — PRESERVE ORIGINAL DESIGN
   Cleaner hierarchy, premium interactions and responsive polish.
========================================================= */
:root {
  --lm-green: #18a936;
  --lm-green-dark: #0f7d27;
  --lm-ink: #101820;
  --lm-stone: #f4f2ee;
  --lm-line: #e4e1dc;
  --lm-muted: #697176;
  --lm-ease: cubic-bezier(.22,.61,.36,1);
}

html { scroll-behavior: smooth; }
body { background: #fff; color: var(--lm-ink); }
body::selection { background: var(--lm-green); color: #fff; }

/* Header polish */
.site-header {
  transition: background .35s var(--lm-ease), box-shadow .35s var(--lm-ease), transform .35s var(--lm-ease);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-header.scrolled {
  box-shadow: 0 12px 35px rgba(16,24,32,.09);
  background: rgba(255,255,255,.98);
}
.site-header .header-main { max-width: 1440px; margin: 0 auto; }
.site-header .navbar a { position: relative; transition: color .25s ease; }
.site-header .navbar a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -8px;
  height: 2px; background: var(--lm-green);
  transform: scaleX(0); transform-origin: center;
  transition: transform .25s ease;
}
.site-header .navbar a:hover::after,
.site-header .navbar a.active::after { transform: scaleX(1); }
.site-header .header-cta { box-shadow: 0 8px 22px rgba(24,169,54,.16); transition: transform .25s ease, box-shadow .25s ease; }
.site-header .header-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(24,169,54,.24); }

/* Hero */
.landmark-picture-hero { overflow: hidden; }
.landmark-picture-hero .hero-slide::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,14,18,.66) 0%, rgba(8,14,18,.28) 52%, rgba(8,14,18,.08) 100%);
  pointer-events: none;
}
.landmark-picture-hero .hero-overlay { opacity: .28; }
.landmark-picture-hero .content { z-index: 3; }
.landmark-picture-hero .hero-label { letter-spacing: .22em; }
.landmark-picture-hero h1 { text-wrap: balance; }
.landmark-picture-hero h1 span { color: var(--lm-green); }
.landmark-picture-hero .btn { border: 1px solid var(--lm-green); box-shadow: 0 12px 30px rgba(0,0,0,.14); transition: transform .3s var(--lm-ease), background .3s ease; }
.landmark-picture-hero .btn:hover { transform: translateY(-3px); }
.landmark-picture-hero .swiper-button-next,
.landmark-picture-hero .swiper-button-prev { transition: transform .25s ease, background .25s ease; }
.landmark-picture-hero .swiper-button-next:hover { transform: translateX(4px); }
.landmark-picture-hero .swiper-button-prev:hover { transform: translateX(-4px); }
.landmark-picture-hero .swiper-pagination-bullet-active { background: var(--lm-green); }

/* Shared section rhythm */
.about, .services, .landmark-projects, .why-landmark, .landmark-gallery, .landmark-contact, .landmark-process { position: relative; }
.section-label, .projects-label, .why-label, .contact-label, .process-label { letter-spacing: .2em; }
.heading, .about h2, .projects-heading h2, .why-landmark h2, .landmark-contact h2, .process-intro h2 { text-wrap: balance; }

/* About */
.about { background: linear-gradient(180deg,#fff 0%,#faf9f6 100%); }
.about .about-video { box-shadow: 18px 18px 0 rgba(24,169,54,.08), 0 28px 65px rgba(16,24,32,.13); }
.about .about-video::after { border-color: rgba(255,255,255,.2); }
.about .about-point { transition: transform .25s ease, background .25s ease; }
.about .about-point:hover { transform: translateX(5px); background: #fff; }
.about-stat { transition: transform .3s var(--lm-ease), border-color .3s ease, background .3s ease; }
.about-stat:hover { transform: translateY(-5px); background: #fff; border-color: rgba(24,169,54,.3); }

/* Services */
.services { background: #fff; }
.service-card { overflow: hidden; border: 1px solid var(--lm-line); box-shadow: 0 10px 35px rgba(16,24,32,.045); transition: transform .45s var(--lm-ease), box-shadow .45s var(--lm-ease), border-color .3s ease; }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 25px 60px rgba(16,24,32,.11); border-color: rgba(24,169,54,.35); }
.service-card .service-image img { transition: transform .7s var(--lm-ease); }
.service-card:hover .service-image img { transform: scale(1.045); }
.service-card .service-content a { transition: gap .25s ease, color .25s ease; }
.service-card .service-content a:hover { gap: 14px; color: var(--lm-green); }

/* Projects */
.landmark-projects { background: var(--lm-stone); }
.project-world { border: 1px solid transparent; transition: transform .45s var(--lm-ease), box-shadow .45s var(--lm-ease), background .3s ease; }
.project-world:hover { transform: translateY(-7px); box-shadow: 0 24px 60px rgba(16,24,32,.10); }
.project-world-image { overflow: hidden; }
.project-world-image img { transition: transform .75s var(--lm-ease); }
.project-world:hover .project-world-image img { transform: scale(1.05); }
.projects-launch { transition: transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease); }
.projects-launch:hover { transform: translateY(-4px); box-shadow: 0 24px 65px rgba(16,24,32,.18); }
.project-list-card { transition: transform .35s var(--lm-ease), box-shadow .35s var(--lm-ease); }
.project-list-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(16,24,32,.10); }

/* New process section */
.landmark-process { padding: clamp(70px,8vw,120px) 7%; background: #101820; color: #fff; overflow: hidden; }
.landmark-process::before { content:''; position:absolute; width:420px; height:420px; right:-180px; top:-170px; border:1px solid rgba(24,169,54,.22); border-radius:50%; }
.process-inner { max-width: 1240px; margin:auto; display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:80px; align-items:start; position:relative; z-index:1; }
.process-label { display:block; color:var(--lm-green); font-size:10px; font-weight:700; margin-bottom:18px; }
.process-intro h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(42px,5.2vw,76px); line-height:.98; font-weight:500; margin:0 0 25px; }
.process-intro h2 span { color:var(--lm-green); }
.process-intro p { max-width:460px; color:#aeb7bb; font-size:14px; line-height:1.9; margin-bottom:30px; }
.process-cta { display:inline-flex; align-items:center; gap:12px; color:#fff; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:10px; }
.process-cta i { color:var(--lm-green); transition:transform .25s ease; }
.process-cta:hover i { transform:translateX(5px); }
.process-steps { border-top:1px solid rgba(255,255,255,.15); }
.process-step { display:grid; grid-template-columns:50px 1fr 24px; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.12); transition:padding .3s ease, background .3s ease; }
.process-step:hover { padding-left:14px; padding-right:14px; background:rgba(255,255,255,.025); }
.process-step > span { color:var(--lm-green); font-size:12px; font-weight:700; letter-spacing:.12em; }
.process-step small { display:block; color:#778388; font-size:8px; font-weight:700; letter-spacing:.2em; margin-bottom:6px; }
.process-step h3 { font-size:21px; font-weight:500; margin:0 0 7px; }
.process-step p { color:#9da8ad; font-size:11px; line-height:1.7; margin:0; max-width:620px; }
.process-step > i { color:var(--lm-green); font-size:12px; transition:transform .25s ease; }
.process-step:hover > i { transform:translateX(4px); }

/* Why / Gallery */
.why-feature { transition: transform .35s var(--lm-ease), background .35s ease; }
.why-feature:hover { transform: translateX(7px); background: rgba(24,169,54,.035); }
.gallery-item { overflow:hidden; }
.gallery-item img { transition:transform .7s var(--lm-ease); }
.gallery-item:hover img { transform:scale(1.045); }

/* Contact */
.landmark-contact { background:#f7f6f3; }
.consultation-card { box-shadow:0 25px 70px rgba(16,24,32,.10); border:1px solid var(--lm-line); }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color:var(--lm-green); box-shadow:0 0 0 3px rgba(24,169,54,.08); }
.consultation-submit { transition:transform .25s ease, box-shadow .25s ease; }
.consultation-submit:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(24,169,54,.18); }

/* Scroll reveal */
.service-card, .project-world, .why-feature, .process-step, .gallery-item, .about-stat, .contact-detail { opacity:0; transform:translateY(18px); transition:opacity .7s var(--lm-ease), transform .7s var(--lm-ease), box-shadow .45s var(--lm-ease), border-color .3s ease; }
.service-card.is-visible, .project-world.is-visible, .why-feature.is-visible, .process-step.is-visible, .gallery-item.is-visible, .about-stat.is-visible, .contact-detail.is-visible { opacity:1; transform:translateY(0); }
.process-step:nth-child(2), .service-card:nth-child(2), .project-world:nth-child(2) { transition-delay:.05s; }
.process-step:nth-child(3), .service-card:nth-child(3), .project-world:nth-child(3) { transition-delay:.1s; }
.process-step:nth-child(4), .service-card:nth-child(4) { transition-delay:.15s; }
.process-step:nth-child(5), .service-card:nth-child(5) { transition-delay:.2s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

@media (max-width: 900px) {
  .process-inner { grid-template-columns:1fr; gap:45px; }
  .process-intro p { max-width:700px; }
}

@media (max-width: 640px) {
  .landmark-process { padding:70px 6%; }
  .process-intro h2 { font-size:48px; }
  .process-step { grid-template-columns:35px 1fr 18px; gap:13px; padding:22px 0; }
  .process-step h3 { font-size:18px; }
  .process-step p { font-size:10px; }
  .site-header .header-main { padding-left:20px; padding-right:20px; }
  .landmark-picture-hero .hero-label { font-size:9px; }
}


/* =========================================================
   LANDMARK PREMIUM REFINEMENT — PASS 2
   Keep the original identity; improve hierarchy, polish and UX.
========================================================= */
:root {
  --lm-green: #18a936;
  --lm-green-dark: #117b28;
  --lm-ink: #101820;
  --lm-cream: #f7f6f2;
  --lm-border: #e5e1db;
  --lm-text: #657077;
  --lm-shadow: 0 22px 60px rgba(16,24,32,.10);
}

body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--lm-ink);
  overflow-x: hidden;
}

/* Header: keep the white Landmark character, but make it feel lighter and more premium. */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(229,225,219,.72);
  box-shadow: 0 6px 30px rgba(16,24,32,.025);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: all .35s cubic-bezier(.22,.61,.36,1);
}
.site-header .header-main { min-height: 88px; transition: min-height .35s ease; }
.site-header.scrolled { background: rgba(255,255,255,.98); box-shadow: 0 12px 35px rgba(16,24,32,.09); }
.site-header.scrolled .header-main { min-height: 72px; }
.site-header .logo img { transition: transform .3s ease; }
.site-header .logo:hover img { transform: translateY(-1px); }
.site-header .navbar a { font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.site-header .navbar a::after { height: 2px; bottom: -7px; background: var(--lm-green); }
.site-header .header-cta { border-radius: 0; letter-spacing: .08em; }

/* Hero: stronger cinematic framing while retaining existing slides. */
.home-slider { height: 100vh; min-height: 680px; }
.home-slider .swiper-slide { background-position: center; background-size: cover; }
.home-slider .hero-overlay {
  background: linear-gradient(90deg, rgba(7,13,17,.82) 0%, rgba(7,13,17,.57) 36%, rgba(7,13,17,.18) 72%, rgba(7,13,17,.04) 100%);
}
.home-slider .content { width: min(720px, 54%); left: 8%; padding-top: 45px; }
.home-slider .hero-label { display:inline-flex; align-items:center; gap:12px; margin-bottom:24px; color:#fff; opacity:.92; }
.home-slider .hero-label::before { content:''; width:34px; height:1px; background:var(--lm-green); }
.home-slider .content h1 { font-size: clamp(52px, 6vw, 88px); letter-spacing:-2.4px; line-height:.94; margin-bottom:25px; }
.home-slider .content h1 span { color: var(--lm-green); }
.home-slider .content p { max-width:600px; font-size:13px; line-height:1.9; color:rgba(255,255,255,.82); margin-bottom:34px; }
.home-slider .hero-buttons { gap:25px; }
.home-slider .hero-buttons .btn { min-height:54px; padding:0 27px; border:1px solid var(--lm-green); }
.home-slider .hero-buttons .btn:hover { background:transparent; color:#fff; }
.home-slider .hero-link { position:relative; padding-bottom:8px; }
.home-slider .hero-link::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(255,255,255,.35); transform:scaleX(.45); transform-origin:left; transition:transform .3s ease; }
.home-slider .hero-link:hover::after { transform:scaleX(1); }
.home-slider .hero-counter { right:4.5%; }
.hero-scroll-hint { position:absolute; z-index:20; left:8%; bottom:28px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.58); font-size:8px; font-weight:700; letter-spacing:2px; }
.hero-scroll-hint i { color:var(--lm-green); animation:lmScrollHint 1.8s ease-in-out infinite; }
@keyframes lmScrollHint { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }

/* Shared editorial headings. */
.section-intro { margin-bottom:56px; }
.section-intro .section-label { color:var(--lm-green); letter-spacing:.22em; }
.section-intro .heading::before { background:var(--lm-green); width:4px; }
.section-intro .heading { padding-left:20px; }
.section-intro p { color:var(--lm-text); }

/* About: more breathing room and stronger media/text relationship. */
.about { padding:clamp(80px,9vw,125px) 0; background:linear-gradient(180deg,#fff 0%,#faf9f6 100%); }
.about .container { max-width:1280px; }
.about-wrapper { gap:clamp(45px,6vw,90px); align-items:center; }
.about-media { padding-right:22px; padding-bottom:22px; }
.about-video { height:clamp(400px,43vw,560px); box-shadow:18px 18px 0 rgba(24,169,54,.08), var(--lm-shadow); }
.about-video::after { content:''; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.18); pointer-events:none; z-index:2; }
.video-caption { z-index:4; background:rgba(16,24,32,.88); backdrop-filter:blur(8px); }
.about-content h3 { font-size:clamp(32px,3.2vw,49px); letter-spacing:-1.2px; }
.about-content p { color:#687177; line-height:1.85; }
.about-content .about-lead { color:#384248; }
.about-point { padding:10px 12px; border:1px solid transparent; }
.about-point:hover { border-color:var(--lm-border); box-shadow:0 10px 25px rgba(16,24,32,.04); }
.about-point i { background:rgba(24,169,54,.10); color:var(--lm-green); }
.about-statistics { margin-top:70px; }
.about-stat { min-height:120px; }
.about-stat h3 { color:var(--lm-ink); font-size:30px; }
.about-stat p { color:#778087; }
.stat-icon { background:rgba(24,169,54,.07); color:var(--lm-green); }

/* Services: turn the grid into a refined architectural catalogue. */
.services { padding:clamp(80px,9vw,120px) 0; background:#f7f6f3; }
.services-grid { gap:22px; }
.service-card { border-color:var(--lm-border); box-shadow:0 8px 30px rgba(16,24,32,.035); }
.service-card.featured { border-top:2px solid var(--lm-green); }
.service-image { height:205px; }
.service-number { width:38px; height:38px; background:rgba(16,24,32,.88); color:#fff; }
.service-label { color:var(--lm-green); }
.service-content { padding:22px 21px 24px; }
.service-content h3 { font-size:22px; }
.service-content p { min-height:64px; line-height:1.7; }
.service-content a { padding-top:4px; }

/* Projects: preserve the existing interactive concept, make the presentation feel curated. */
.landmark-projects { padding-top:clamp(85px,9vw,120px); background:#f4f3ef; }
.projects-heading { margin-bottom:65px; }
.projects-label { color:var(--lm-green); font-weight:700; letter-spacing:.22em; }
.projects-heading h2 { font-size:clamp(50px,6vw,84px); letter-spacing:-2px; }
.projects-heading h2 span { color:var(--lm-green); }
.projects-heading-right p { font-size:13px; line-height:1.9; }
.project-world { background:#fff; border-color:#ebe7e1; }
.project-world-content { padding:25px; }
.project-world-label { color:var(--lm-green); }
.project-world-content h3 { font-size:28px; }
.projects-launch { border:1px solid rgba(255,255,255,.18); }

/* Process: align the new section with the site's established proportions. */
.landmark-process { padding-top:clamp(85px,9vw,125px); padding-bottom:clamp(85px,9vw,125px); }
.process-intro h2 { letter-spacing:-2px; }

/* Why Landmark: sharper rows and clearer green accents. */
.why-landmark { padding:clamp(85px,9vw,125px) 0; }
.why-label { color:var(--lm-green); letter-spacing:.22em; }
.why-landmark-intro h2 { font-size:clamp(46px,5vw,76px); letter-spacing:-2px; }
.why-feature { padding:28px 20px; border-bottom:1px solid var(--lm-border); }
.why-feature-number { color:var(--lm-green); }
.why-feature-content h3 { font-size:22px; }

/* Contact: make the final conversion area feel intentional. */
.landmark-contact { padding:clamp(80px,9vw,120px) 0; }
.consultation-card { border-top:3px solid var(--lm-green); }
.contact-label { color:var(--lm-green); }
.consultation-submit { background:var(--lm-green); }

/* Footer polish. */
.site-footer a { transition:color .2s ease, transform .2s ease; }
.site-footer a:hover { color:var(--lm-green); }

/* Better focus states for keyboard users. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--lm-green); outline-offset:3px; }

@media (max-width: 991px) {
  .site-header .header-main { min-height:76px; padding:0 25px; }
  .site-header.scrolled .header-main { min-height:70px; }
  .home-slider { min-height:650px; }
  .home-slider .content { left:7%; width:min(650px,70%); }
  .home-slider .content h1 { font-size:clamp(45px,7vw,70px); }
  .about { padding:80px 0; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
  .site-header .header-main { padding:0 18px; }
  .home-slider { min-height:640px; }
  .home-slider .content { left:7%; width:82%; padding-top:30px; }
  .home-slider .content h1 { font-size:clamp(40px,12vw,58px); letter-spacing:-1.5px; }
  .home-slider .content p { font-size:11px; line-height:1.75; }
  .home-slider .hero-buttons { align-items:flex-start; flex-direction:column; gap:16px; }
  .home-slider .hero-buttons .btn { min-height:49px; }
  .hero-scroll-hint { left:7%; bottom:18px; }
  .home-slider .hero-counter { right:6%; }
  .section-intro { padding:0 18px; margin-bottom:40px; }
  .section-intro .heading { font-size:34px; }
  .about { padding:70px 0; }
  .about-media { padding-right:10px; padding-bottom:10px; }
  .about-video { height:300px; }
  .about-points { grid-template-columns:1fr; }
  .about-statistics { grid-template-columns:repeat(2,1fr); margin-top:45px; }
  .about-stat { min-height:105px; padding:14px 10px; }
  .services { padding:70px 0; }
  .services-grid { grid-template-columns:1fr; gap:16px; }
  .service-image { height:220px; }
  .projects-heading { display:block; padding:0 6%; }
  .projects-heading-right { margin-top:22px; }
  .projects-heading h2 { font-size:52px; }
  .why-landmark-inner { grid-template-columns:1fr; }
  .why-feature { grid-template-columns:35px 1fr 18px; gap:14px; }
}

/* =========================================================
   LANDMARK PROJECT CARDS — PREMIUM LIGHT EDITORIAL PASS
   Fixes light-card contrast while preserving the existing design.
========================================================= */
.project-worlds .project-world {
  position: relative;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e5e2dc;
  box-shadow: 0 16px 40px rgba(16,24,32,.07);
  color: #101820;
  transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, border-color .45s ease;
}

.project-worlds .project-world::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #18a936;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
}

.project-worlds .project-world:hover {
  transform: translateY(-10px);
  border-color: #d8d5ce;
  box-shadow: 0 26px 55px rgba(16,24,32,.13);
}

.project-worlds .project-world:hover::after {
  transform: scaleX(1);
}

.project-worlds .project-world-image {
  height: 285px;
  flex: 0 0 285px;
}

.project-worlds .project-world-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,24,32,.04) 35%, rgba(16,24,32,.38) 100%);
  pointer-events: none;
}

.project-worlds .project-world-number {
  right: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  background: #18a936;
  color: #fff;
  box-shadow: 0 8px 18px rgba(24,169,54,.25);
  z-index: 3;
}

.project-worlds .project-view-overlay {
  z-index: 4;
  opacity: 0;
  transition: opacity .35s ease, transform .35s ease;
  transform: translateY(8px);
}

.project-worlds .project-world:hover .project-view-overlay {
  opacity: 1;
  transform: translateY(0);
}

.project-worlds .project-world-content {
  position: relative;
  flex: 1;
  padding: 27px 28px 30px;
  background: #fff;
  color: #101820;
}

.project-worlds .project-world-content::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 0;
  width: 34px;
  height: 2px;
  background: #18a936;
}

.project-worlds .project-world-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #18a936;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 2.2px;
  line-height: 1.4;
}

.project-worlds .project-world-content h3 {
  margin: 0 0 14px;
  color: #101820;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.2vw, 36px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -.7px;
}

.project-worlds .project-world-content h3 span {
  color: #18a936;
}

.project-worlds .project-world-content p {
  margin: 0 0 24px;
  max-width: 360px;
  min-height: 0;
  color: #687177;
  font-size: 11px;
  line-height: 1.85;
}

.project-worlds .project-explore {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 7px;
  border-bottom: 1px solid #d9ddd9;
  color: #101820;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.5px;
  transition: color .25s ease, border-color .25s ease;
}

.project-worlds .project-explore i {
  color: #18a936;
  transition: transform .3s ease;
}

.project-worlds .project-explore:hover {
  color: #18a936;
  border-color: #18a936;
}

.project-worlds .project-explore:hover i {
  transform: translateX(6px);
}

@media (max-width: 991px) {
  .project-worlds .project-world-image {
    height: 245px;
    flex-basis: 245px;
  }
}

@media (max-width: 640px) {
  .project-worlds .project-world-image {
    height: 225px;
    flex-basis: 225px;
  }
  .project-worlds .project-world-content {
    padding: 25px 23px 28px;
  }
  .project-worlds .project-world-content::before {
    left: 23px;
  }
}

/* =========================================================
   LANDMARK VIDEO — FULL FRAME / NO CROP
   The source video is 16:9, so the media frame follows the
   video's native ratio and keeps the complete composition visible.
========================================================= */
.about .about-video,
.about-video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    background: #101820;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about .about-video video,
.about-video video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain !important;
    object-position: center center;
    background: #101820;
    transform: none !important;
}

.about .about-video:hover video,
.about-video:hover video {
    transform: none !important;
}

@media (max-width: 991px) {
    .about .about-video,
    .about-video {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 575px) {
    .about .about-video,
    .about-video {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }

    .about-media {
        padding-right: 10px;
        padding-bottom: 10px;
    }
}

/* =========================================================
   LANDMARK 2026 — PREMIUM ART DIRECTION PASS
   Keep existing identity; refine hierarchy, contrast and UX.
========================================================= */
:root{
  --lm-ink:#101820;
  --lm-green:#18a936;
  --lm-green-dark:#10832a;
  --lm-stone:#f3f2ee;
  --lm-paper:#fbfaf7;
  --lm-muted:#687177;
  --lm-border:rgba(16,24,32,.11);
  --lm-shadow:0 28px 70px rgba(16,24,32,.12);
  --lm-ease:cubic-bezier(.22,.61,.36,1);
}

html{scroll-behavior:smooth}
body{background:var(--lm-paper);color:var(--lm-ink);overflow-x:hidden}
::selection{background:var(--lm-green);color:#fff}

/* Header / navigation */
.site-header .navbar a{position:relative}
.site-header .navbar a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--lm-green);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--lm-ease)}
.site-header .navbar a:hover::after,.site-header .navbar a.active::after{transform:scaleX(1);transform-origin:left}
.header-cta{box-shadow:0 9px 25px rgba(24,169,54,.15)}

/* Hero */
.home-slider .content{max-width:920px}
.home-slider .content h1{max-width:850px;letter-spacing:-2px;text-shadow:0 8px 35px rgba(0,0,0,.22)}
.home-slider .content h1 span{display:inline;color:#7fe38f}
.home-slider .content p{max-width:650px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.85}
.home-slider .hero-overlay{background:linear-gradient(90deg,rgba(5,12,16,.78) 0%,rgba(5,12,16,.46) 48%,rgba(5,12,16,.18) 100%)}
.home-slider .hero-buttons .btn{box-shadow:0 14px 35px rgba(0,0,0,.2)}
.home-slider .hero-buttons .btn:hover{background:var(--lm-green);border-color:var(--lm-green);transform:translateY(-2px)}

/* Capability strip */
.landmark-capabilities{background:#111a1f;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.capabilities-inner{max-width:1280px;margin:auto;min-height:88px;padding:0 30px;display:grid;grid-template-columns:1.1fr repeat(4,1fr);align-items:center}
.capabilities-intro{font-size:9px;font-weight:800;letter-spacing:.22em;color:var(--lm-green)}
.capability-item{display:flex;align-items:center;gap:13px;padding:0 24px;border-left:1px solid rgba(255,255,255,.1);min-height:35px}
.capability-item b{font-size:9px;color:#68767d;letter-spacing:.08em}.capability-item span{font-size:9px;letter-spacing:.16em;font-weight:700;color:#eef2f0}

/* Shared section headings */
.section-label{display:inline-flex;align-items:center;gap:10px;color:var(--lm-green);font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.section-label::before{content:"";width:30px;height:1px;background:var(--lm-green)}
.heading{letter-spacing:-1.5px}

/* About */
.about-wrapper{position:relative}
.about-video{background:#101820!important;border-radius:0!important;aspect-ratio:16/9;height:auto!important;overflow:hidden}
.about-video video{width:100%;height:100%;object-fit:contain!important;background:#101820}
.about-video .video-caption{background:linear-gradient(transparent,rgba(0,0,0,.86));padding-top:70px}
.about-content h3{letter-spacing:-1.8px}
.about-statistics{border-top:1px solid var(--lm-border);padding-top:20px}
.about-stat{border-right:1px solid var(--lm-border);padding:15px 25px}
.about-stat:last-child{border-right:0}
.about-stat h3{font-family:Georgia,'Times New Roman',serif;font-size:42px!important;letter-spacing:-1px}

/* Services */
.services-grid{align-items:stretch}
.service-card{background:#fff;border:1px solid rgba(16,24,32,.08);box-shadow:0 8px 30px rgba(16,24,32,.035);transition:transform .45s var(--lm-ease),box-shadow .45s var(--lm-ease),border-color .3s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 55px rgba(16,24,32,.12);border-color:rgba(24,169,54,.28)}
.service-image img{transition:transform .7s var(--lm-ease)}
.service-card:hover .service-image img{transform:scale(1.055)}
.service-content h3{letter-spacing:-.7px}
.service-content a{font-weight:800}

/* Projects */
.landmark-projects{overflow:hidden}
.projects-heading{position:relative}
.projects-heading h2{letter-spacing:-2px}
.projects-launch{border:1px solid rgba(16,24,32,.1);box-shadow:0 18px 45px rgba(16,24,32,.08);transition:transform .5s var(--lm-ease),box-shadow .5s var(--lm-ease)}
.projects-launch:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(16,24,32,.15)}
.project-world{border:1px solid rgba(16,24,32,.1);box-shadow:0 12px 35px rgba(16,24,32,.05);background:#fff;overflow:hidden;transition:transform .45s var(--lm-ease),box-shadow .45s var(--lm-ease)}
.project-world:hover{transform:translateY(-8px);box-shadow:0 28px 55px rgba(16,24,32,.13)}
.project-world-image{overflow:hidden}.project-world-image img{transition:transform .8s var(--lm-ease)}
.project-world:hover .project-world-image img{transform:scale(1.045)}
.project-world-content{background:#fff!important;color:var(--lm-ink)!important;padding:30px!important;min-height:255px;display:flex;flex-direction:column}
.project-world-label{color:var(--lm-green)!important;font-weight:800!important;letter-spacing:.2em!important}
.project-world-content h3{color:var(--lm-ink)!important;font-size:30px!important;letter-spacing:-1px}
.project-world-content h3 span{color:var(--lm-green)!important}
.project-world-content p{color:#677178!important;line-height:1.75!important}
.project-explore{margin-top:auto;color:var(--lm-ink)!important;border-bottom:1px solid var(--lm-border)!important;padding-bottom:10px!important}
.project-explore i{color:var(--lm-green)!important;transition:transform .3s ease}.project-world:hover .project-explore i{transform:translateX(5px)}

/* Featured project */
.featured-project{padding:clamp(90px,10vw,145px) 0;background:#101820;color:#fff;position:relative;overflow:hidden}
.featured-project::before{content:"";position:absolute;right:-180px;top:-220px;width:500px;height:500px;border:1px solid rgba(24,169,54,.2);border-radius:50%;box-shadow:0 0 0 80px rgba(24,169,54,.025),0 0 0 160px rgba(24,169,54,.018)}
.featured-project-inner{max-width:1280px;margin:auto;padding:0 30px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);gap:80px;align-items:center;position:relative;z-index:1}
.featured-project-media{position:relative;min-height:580px;overflow:hidden;background:#0b1115;box-shadow:28px 28px 0 rgba(24,169,54,.1)}
.featured-project-media img{width:100%;height:100%;min-height:580px;object-fit:cover;display:block;transition:transform 1s var(--lm-ease)}
.featured-project:hover .featured-project-media img{transform:scale(1.035)}
.featured-project-badge{position:absolute;left:25px;top:25px;padding:12px 16px;background:rgba(10,16,20,.82);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:3px}.featured-project-badge span{font-size:8px;letter-spacing:.2em;color:var(--lm-green);font-weight:800}.featured-project-badge strong{font-size:10px;letter-spacing:.16em}
.featured-project-index{position:absolute;right:25px;bottom:22px;font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.7)}
.featured-project-content h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,74px);line-height:1;letter-spacing:-2.5px;font-weight:500;margin:22px 0 28px}.featured-project-content h2 span{color:#7fe38f}
.featured-project-content>p{max-width:560px;color:#aeb8bd;line-height:1.9;font-size:13px}
.featured-project-meta{display:grid;grid-template-columns:1fr;gap:0;margin:38px 0;border-top:1px solid rgba(255,255,255,.12)}
.featured-project-meta div{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:25px}.featured-project-meta small{font-size:8px;letter-spacing:.18em;color:#6f7b80;font-weight:800}.featured-project-meta strong{font-size:11px;font-weight:600;text-align:right}
.featured-project-link{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:10px}.featured-project-link i{color:var(--lm-green);transition:transform .3s ease}.featured-project-link:hover i{transform:translateX(6px)}

/* Process */
.landmark-process{background:#111a1f}

/* Difference */
.landmark-difference{padding:clamp(80px,9vw,125px) 0;background:#f8f7f3}
.difference-inner{max-width:1280px;margin:auto;padding:0 30px}.difference-heading{max-width:760px;margin-bottom:55px}.difference-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-2px;margin:20px 0 0}.difference-heading h2 span{color:var(--lm-green)}
.difference-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lm-border);border-bottom:1px solid var(--lm-border)}
.difference-card{padding:38px 30px 40px;min-height:290px;border-right:1px solid var(--lm-border);position:relative;transition:background .35s ease,transform .35s var(--lm-ease)}.difference-card:last-child{border-right:0}.difference-card:hover{background:#fff;transform:translateY(-5px)}.difference-card>span{font-size:9px;font-weight:800;color:var(--lm-green);letter-spacing:.15em}.difference-card i{display:block;font-size:27px;color:var(--lm-green);margin:50px 0 25px}.difference-card h3{font-size:22px;margin:0 0 12px;letter-spacing:-.4px}.difference-card p{color:#6d777c;font-size:12px;line-height:1.8;max-width:310px}

/* Gallery */
.landmark-gallery{background:#fff}.gallery-item{overflow:hidden}.gallery-item img{transition:transform .8s var(--lm-ease),filter .5s ease}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.05)}
.gallery-item-overlay{background:linear-gradient(transparent 25%,rgba(5,10,14,.88) 100%)!important}

/* Contact */
.landmark-contact{background:linear-gradient(180deg,#f7f6f3 0%,#ecebe6 100%)}
.consultation-card{box-shadow:0 25px 70px rgba(16,24,32,.1);border:1px solid rgba(16,24,32,.08)}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--lm-green)!important;box-shadow:0 0 0 3px rgba(24,169,54,.08)}

/* Floating WhatsApp */
.landmark-whatsapp{position:fixed;right:24px;bottom:24px;z-index:5000;width:58px;height:58px;border-radius:50%;background:#18a936;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 35px rgba(0,0,0,.22);transition:transform .3s ease,width .3s ease,border-radius .3s ease;overflow:hidden}
.landmark-whatsapp i{font-size:25px;position:relative;z-index:2}.whatsapp-text{font-size:9px;font-weight:800;letter-spacing:.13em;white-space:nowrap;max-width:0;opacity:0;transition:max-width .3s ease,opacity .25s ease;margin-left:0}.landmark-whatsapp:hover{width:150px;border-radius:30px;justify-content:center;transform:translateY(-3px)}.landmark-whatsapp:hover .whatsapp-text{max-width:80px;opacity:1;margin-left:9px}.whatsapp-pulse{position:absolute;inset:-5px;border:1px solid rgba(24,169,54,.35);border-radius:50%;animation:lmPulse 2s infinite}.landmark-whatsapp:hover .whatsapp-pulse{display:none}
@keyframes lmPulse{0%,100%{transform:scale(.92);opacity:.1}50%{transform:scale(1.12);opacity:.65}}

/* Footer */
.landmark-footer{background:#0c1317}.footer-cta{transition:transform .3s ease}.footer-cta:hover{transform:translateX(5px)}

/* Mobile */
@media(max-width:991px){
 .capabilities-inner{grid-template-columns:repeat(2,1fr);padding:18px 20px}.capabilities-intro{grid-column:1/-1;padding-bottom:12px}.capability-item{padding:12px 15px}.featured-project-inner{grid-template-columns:1fr;gap:55px}.featured-project-media,.featured-project-media img{min-height:420px}.difference-grid{grid-template-columns:1fr}.difference-card{border-right:0;border-bottom:1px solid var(--lm-border);min-height:220px}.difference-card:last-child{border-bottom:0}
}
@media(max-width:600px){
 .home-slider .content h1{letter-spacing:-1px}.home-slider .content p{font-size:12px}.capabilities-inner{grid-template-columns:1fr}.capability-item{border-left:0;border-top:1px solid rgba(255,255,255,.1);padding-left:0}.about-stat{border-right:0;border-bottom:1px solid var(--lm-border)}.about-stat:last-child{border-bottom:0}.featured-project{padding:75px 0}.featured-project-inner,.difference-inner{padding:0 20px}.featured-project-media,.featured-project-media img{min-height:320px}.featured-project-content h2{font-size:43px}.featured-project-meta div{display:block}.featured-project-meta strong{display:block;text-align:left;margin-top:7px}.landmark-whatsapp{right:16px;bottom:16px}.landmark-whatsapp:hover{width:58px;border-radius:50%}.landmark-whatsapp:hover .whatsapp-text{max-width:0;opacity:0;margin:0}
}
