/* ===================== VARIABLES ===================== */
:root {
    --primary: #b8ad2f;
    --primary-dark: #9b9226;
    --primary-light: #d7cf6b;
    --blue: #0d99dd;
    --brand-black: #111111;
    --ink: #1c1c1c;
    --text: #5f6268;
    --muted: #8a8e94;
    --line: #e7eaec;
    --light: #f7f9fa;
    --white: #ffffff;
    --heading: 'Space Grotesk', sans-serif;
    --body: 'Manrope', sans-serif;
    --shadow: 0 24px 70px rgba(17, 17, 17, .1);
    --transition: .35s cubic-bezier(.22, .61, .36, 1);
    --desktop-topbar-height: 38px;
    --mobile-header-height: 76px;
}
/* ===================== GLOBAL ===================== */
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: var(--body);
    color: var(--text);
    background: var(--white);
    overflow-x: hidden;
}
body.menu-open {
    overflow: hidden;
}
a {
    color: inherit;
    text-decoration: none;
}
a:hover {
    color: inherit;
}
img {
    display: block;
    max-width: 100%;
}
button,
input,
textarea,
select {
    font: inherit;
}
::selection {
    color: var(--brand-black);
    background: var(--primary-dark);
}
.site-container {
    --bs-gutter-x: 3rem;
    max-width: 1540px;
    margin-inline: auto;
}
.section-space {
    padding: 120px 0;
}
.section-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--primary-dark);
}
.section-tag::before {
    width: 34px;
    height: 2px;
    content: '';
    background: var(--primary);
}
.section-tag-light {
    color: rgba(255, 255, 255, .72);
}
.section-title {
    margin: 0;
    max-width: 860px;
    font-family: var(--heading);
    font-size: clamp(2.4rem, 4.2vw, 4.4rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.045em;
    color: var(--ink);
}
.section-title-light {
    color: var(--white);
}
.lead-copy {
    font-size: 1.2rem;
    line-height: 1.75;
    color: var(--ink);
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    border-radius: 0;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    transition: var(--transition);
}
.btn-brand {
    padding: 0 24px;
    border: 1px solid var(--primary-dark);
    color: var(--brand-black);
    background: var(--primary);
}
.btn-brand:hover {
    border-color: var(--brand-black);
    color: var(--white);
    background: var(--brand-black);
}
.btn-brand-light {
    border-color: var(--primary-dark);
    color: var(--brand-black);
    background: var(--primary-dark);
}
.btn-brand-light:hover {
    border-color: var(--white);
    color: var(--brand-black);
    background: var(--white);
}
.text-arrow-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ink);
    font-size: .86rem;
    font-weight: 700;
    color: var(--ink);
    transition: var(--transition);
}
.text-arrow-link i {
    transition: transform var(--transition);
}
.text-arrow-link:hover {
    color: var(--primary);
    border-color: var(--primary);
}
.text-arrow-link:hover i {
    transform: translateX(5px);
}
.text-arrow-link-light {
    color: var(--white);
    border-color: rgba(255, 255, 255, .6);
}
/* ===================== PAGE LOADER ===================== */
.page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: var(--white);
    transition: opacity .5s ease, visibility .5s ease;
}
.page-loader.hide {
    opacity: 0;
    visibility: hidden;
}
.page-loader-inner {
    width: min(320px, 74vw);
}
.page-loader-inner img {
    width: 230px;
    margin: 0 auto 24px;
}
.page-loader-line {
    height: 2px;
    overflow: hidden;
    background: var(--line);
}
.page-loader-line span {
    display: block;
    width: 45%;
    height: 100%;
    background: var(--primary-dark);
    animation: loaderLine 1.15s ease-in-out infinite;
}
@keyframes loaderLine {
    0% {
        transform: translateX(-110%);
    }
    100% {
        transform: translateX(245%);
    }
}
/* ===================== TOP BAR ===================== */
.top-bar {
    position: relative;
    z-index: 1040;
    color: rgba(17, 17, 17, .78);
    background: var(--primary);
}
.top-bar-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .03em;
}
.top-bar-left,
.top-bar-right {
    display: flex;
    align-items: center;
    gap: 28px;
}
.top-bar a,
.top-bar span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.top-bar a {
    transition: color var(--transition);
}
.top-bar a:hover {
    color: var(--brand-black);
}

/* ===================== HEADER ===================== */
.site-header {
    position: absolute;
    top: var(--desktop-topbar-height);
    left: 0;
    right: 0;
    z-index: 1030;
    background: rgba(0, 0, 0, .7);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.site-header.is-sticky {
    position: fixed;
    top: 0;
    background: var(--white);
    border-bottom-color: rgba(0, 0, 0, .08);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .08);
    animation: headerDrop .45s cubic-bezier(.22, 1, .36, 1) both;
}
.site-header-spacer {
    display: none;
}
@keyframes headerDrop {
    from {
        opacity: 0;
        transform: translateY(-100%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.site-header .navbar {
    min-height: 86px;
    padding: 0;
}
.site-header .navbar > .site-container {
    align-items: center;
}
.navbar-brand {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
}
.navbar-logo {
    position: relative;
    display: block;
    width: 242px;
}
.navbar-logo img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity .3s ease, transform .3s ease;
}
.navbar-logo .logo-light {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.navbar-logo .logo-dark {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(3px);
}
.site-header.is-sticky .navbar-logo .logo-light {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-3px);
}
.site-header.is-sticky .navbar-logo .logo-dark {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ===================== DESKTOP NAVIGATION ===================== */
.desktop-navigation {
    min-width: 0;
}
.navbar-nav {
    align-items: center;
    gap: 5px;
}
.navbar-nav .nav-link {
    position: relative;
    padding: 32px 13px !important;
    font-size: .86rem;
    font-weight: 600;
    letter-spacing: .025em;
    color: var(--white);
    transition: color .3s ease;
}
.navbar-nav .nav-link::after {
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 23px;
    height: 2px;
    content: '';
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--white);
}
.navbar-nav .nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: left center;
}
.navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}
.site-header.is-sticky .navbar-nav .nav-link {
    color: var(--brand-black);
}
.site-header.is-sticky .navbar-nav .nav-link:hover,
.site-header.is-sticky .navbar-nav .nav-link.active {
    color: var(--brand-black);
}

/* ===================== HEADER PROJECT BUTTON ===================== */
.header-project-btn {
    width: auto;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 18px !important;
    gap: 8px;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .025em;
    white-space: nowrap;
}
.header-project-btn i {
    font-size: .85rem;
    line-height: 1;
    transition: transform .3s ease;
}
.header-project-btn:hover i {
    transform: translate(3px, -3px);
}

/* ===================== NAVBAR TOGGLER ===================== */
.navbar-toggler {
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 42px;
    height: 42px;
    padding: 0;
    gap: 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
}
.navbar-toggler span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--white);
    transition: background .3s ease, transform .3s ease;
}
.site-header.is-sticky .navbar-toggler span {
    background: var(--brand-black);
}

/* ===================== MOBILE OFFCANVAS ===================== */
.mobile-menu {
    --bs-offcanvas-width: 420px;
    --bs-offcanvas-transition: transform .5s cubic-bezier(.22, 1, .36, 1);
    z-index: 1080;
    height: 100dvh;
    max-height: 100dvh;
    border-right: 0;
    background: var(--white);
    box-shadow: 30px 0 70px rgba(0, 0, 0, .16);
}
.mobile-menu.offcanvas-start {
    transform: translateX(-100%);
}
.mobile-menu.showing,
.mobile-menu.show:not(.hiding) {
    transform: none;
}
.mobile-menu .offcanvas-header {
    position: relative;
    min-height: 100px;
    padding: 22px 28px;
    border-bottom: 1px solid #eeeeee;
}
.mobile-menu-logo {
    display: inline-flex;
    align-items: center;
}
.mobile-menu-logo img {
    width: 230px;
    height: auto;
}
.mobile-menu-close {
    position: absolute;
    top: 50%;
    right: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--brand-black);
    background: #f5f5f5;
    transform: translateY(-50%);
    transition: color .3s ease, background .3s ease, transform .3s ease;
}
.mobile-menu-close i {
    font-size: 1rem;
}
.mobile-menu-close:hover {
    color: var(--white);
    background: var(--primary);
    transform: translateY(-50%) rotate(90deg);
}
.mobile-menu .offcanvas-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 12px 28px 28px;
    overflow-y: auto;
}

/* ===================== MOBILE NAVIGATION ===================== */
.mobile-navigation {
    margin-bottom: 28px;
}
.mobile-nav-item {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr 30px;
    align-items: center;
    min-height: 62px;
    border-bottom: 1px solid #eeeeee;
    color: var(--brand-black);
    will-change: opacity, transform;
}
.mobile-nav-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: var(--primary);
    will-change: opacity, transform;
}
.mobile-nav-icon i {
    font-size: 1.05rem;
}
.mobile-nav-text {
    font-size: .92rem;
    font-weight: 600;
    letter-spacing: .02em;
}
.mobile-nav-arrow {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #9a9a9a;
    will-change: opacity, transform;
    transition: color .3s ease, transform .3s ease;
}
.mobile-nav-arrow i {
    font-size: .9rem;
}
.mobile-nav-item::after {
    position: absolute;
    left: 42px;
    bottom: -1px;
    width: 0;
    height: 2px;
    content: '';
    background: var(--primary);
    transition: width .35s ease;
}
.mobile-nav-item:hover,
.mobile-nav-item.active {
    color: var(--primary-dark);
}
.mobile-nav-item:hover::after,
.mobile-nav-item.active::after {
    width: 45px;
}
.mobile-nav-item:hover .mobile-nav-arrow {
    color: var(--primary-dark);
    transform: translate(3px, -3px);
}

/* ===================== MOBILE CONTACT ===================== */
.mobile-menu-contact {
    margin-top: auto;
    padding-top: 6px;
    will-change: opacity, transform;
}
.mobile-contact-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.mobile-contact-title span {
    width: 24px;
    height: 2px;
    background: var(--primary);
}
.mobile-contact-title p {
    margin: 0;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #888888;
}
.mobile-contact-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    margin-bottom: 14px;
    color: var(--brand-black);
}
.mobile-contact-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: var(--primary);
}
.mobile-contact-icon i {
    font-size: 1rem;
}
.mobile-contact-item small {
    display: block;
    margin-bottom: 2px;
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #999999;
}
.mobile-contact-item strong {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.4;
    color: #222222;
}
.mobile-contact-item:hover strong {
    color: var(--primary-dark);
}

/* ===================== MOBILE MENU FOOTER ===================== */
.mobile-menu-footer {
    padding-top: 20px;
    will-change: opacity, transform;
}
.mobile-project-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
}
.mobile-project-btn i {
    transition: transform .3s ease;
}
.mobile-project-btn:hover i {
    transform: translate(3px, -3px);
}

/* ===================== OFFCANVAS BACKDROP ===================== */
.offcanvas-backdrop {
    z-index: 1070;
    background: #000000;
}
.offcanvas-backdrop.show {
    opacity: .68;
}

/* ===================== HERO ===================== */
.hero-section {
    position: relative;
    height: calc(100vh - var(--desktop-topbar-height));
    height: calc(100svh - var(--desktop-topbar-height));
    overflow: hidden;
    background: var(--brand-black);
}
.hero-swiper,
.hero-slide,
.hero-container {
    height: 100%;
}
.hero-slide {
    position: relative;
    overflow: hidden;
    background: var(--brand-black);
}
.hero-slide::after {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: '';
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .76) 26%, rgba(0, 0, 0, .5) 46%, rgba(0, 0, 0, .2) 64%, rgba(0, 0, 0, .04) 80%, rgba(0, 0, 0, 0) 100%);
}
.hero-grid-pattern {
    display: none;
}
.hero-visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    transition: transform 7s cubic-bezier(.2, .75, .25, 1);
}
.swiper-slide-active .hero-visual img {
    transform: scale(1);
}
.hero-visual-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 56%, rgba(0, 0, 0, .38) 100%);
}
.hero-container {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    padding-top: 92px;
    padding-bottom: 126px;
}
.hero-content {
    width: min(700px, 52vw);
    color: var(--white);
}
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .72);
}
.hero-eyebrow span {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, .24);
    color: var(--primary);
}
.hero-content h1,
.hero-content h2 {
    max-width: 760px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(2.9rem, 3.2vw, 5.7rem);
    font-weight: 600;
    line-height: .94;
    letter-spacing: -.06em;
    color: var(--white);
}
.hero-content h1 span,
.hero-content h2 span {
    display: block;
    color: var(--primary-dark);
}
.hero-content p {
    width: min(590px, 100%);
    margin: 24px 0 0;
    font-size: .95rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, .75);
}
.hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 30px;
}
.hero-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-size: .78rem;
    font-weight: 700;
    color: var(--white);
}
.hero-text-link i {
    transition: transform var(--transition);
}
.hero-text-link:hover {
    color: var(--primary);
}
.hero-text-link:hover i {
    transform: translateX(5px);
}
.hero-meta {
    position: absolute;
    right: 3rem;
    top: 50%;
    z-index: 4;
    display: flex;
    gap: 8px;
    writing-mode: vertical-rl;
    transform: translateY(-50%);
}
.hero-meta span {
    padding: 12px 7px;
    border: 1px solid rgba(255, 255, 255, .28);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .84);
    background: rgba(17, 17, 17, .18);
    backdrop-filter: blur(8px);
}
.hero-controls-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
}
.hero-controls {
    min-height: 96px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: stretch;
    border-top: 1px solid rgba(255, 255, 255, .16);
}
.hero-pagination {
    position: static !important;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.hero-pagination .swiper-pagination-bullet {
    position: relative;
    width: auto;
    height: 96px;
    margin: 0 !important;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-radius: 0;
    opacity: 1;
    color: rgba(255, 255, 255, .5);
    background: rgba(17, 17, 17, .28);
    transition: var(--transition);
}
.hero-pagination .swiper-pagination-bullet::before {
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    height: 2px;
    content: '';
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s ease;
}
.hero-pagination .swiper-pagination-bullet span {
    font-size: .64rem;
    font-weight: 700;
    color: var(--primary);
}
.hero-pagination .swiper-pagination-bullet strong {
    font-family: var(--heading);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: -.01em;
}
.hero-pagination .swiper-pagination-bullet-active {
    color: var(--white);
    background: rgba(17, 17, 17, .78);
}
.hero-pagination .swiper-pagination-bullet-active::before {
    transform: scaleX(1);
    transform-origin: left center;
}
.hero-arrows {
    display: flex;
    align-items: stretch;
}
.hero-arrow {
    width: 68px;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, .14);
    color: var(--white);
    background: rgba(17, 17, 17, .68);
    transition: var(--transition);
}
.hero-arrow:hover {
    color: var(--brand-black);
    background: var(--primary);
}
.hero-current {
    position: absolute;
    right: 3rem;
    bottom: 112px;
    z-index: 6;
    display: flex;
    align-items: flex-end;
    gap: 6px;
    color: var(--white);
}
.hero-current span {
    font-family: var(--heading);
    font-size: 2.8rem;
    line-height: 1;
}
.hero-current small {
    padding-bottom: 5px;
    color: rgba(255, 255, 255, .55);
}

/* ===================== TRUST STRIP ===================== */
.trust-strip {
    position: relative;
    z-index: 10;
    background: var(--white);
    border-bottom: 1px solid var(--line);
}
.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.trust-item {
    min-height: 132px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    border-right: 1px solid var(--line);
}
.trust-item:first-child {
    border-left: 1px solid var(--line);
}
.trust-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    color: var(--primary);
    background: rgba(13, 131, 189, .08);
}
.trust-icon i {
    font-size: 1.25rem;
}
/*
.trust-item strong,
.trust-item span {
    display: block;
}
*/
.trust-item strong {
    margin-bottom: 4px;
    font-family: var(--heading);
    font-size: 1rem;
    color: var(--ink);
}
.trust-item div span {
    font-size: .72rem;
    line-height: 1.5;
    color: var(--muted);
}
/* ===================== ABOUT ===================== */
.about-section {
    overflow: hidden;
}
.about-visual {
    position: relative;
    min-height: 620px;
}
.about-main-image {
    width: 82%;
    height: 560px;
    overflow: hidden;
}
.about-main-image img,
.about-secondary-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-secondary-image {
    position: absolute;
    right: 0;
    bottom: -16px;
    width: 44%;
    height: 280px;
    overflow: hidden;
    border: 12px solid var(--white);
    box-shadow: var(--shadow);
}
.about-floating-card {
    position: absolute;
    left: 8%;
    bottom: 4px;
    width: 230px;
    min-height: 160px;
    padding: 28px;
    color: var(--brand-black);
    background: var(--primary-dark);
}
.about-floating-card span {
    display: block;
    margin-bottom: 10px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.about-floating-card strong {
    display: block;
    font-family: var(--heading);
    font-size: 1.45rem;
    line-height: 1.08;
}
.about-floating-card i {
    position: absolute;
    right: 22px;
    bottom: 20px;
    font-size: 1.35rem;
}
.about-content {
    padding-left: clamp(0px, 4vw, 70px);
}
.about-content > p:not(.lead-copy) {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: .93rem;
    line-height: 1.82;
}
.about-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin: 36px 0 34px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
}
.about-feature span {
    display: block;
    margin-bottom: 10px;
    font-size: .7rem;
    font-weight: 700;
    color: var(--primary);
}
.about-feature strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--heading);
    font-size: 1rem;
    color: var(--ink);
}
.about-feature p {
    margin: 0;
    font-size: .78rem;
    line-height: 1.65;
}
/* ===================== ABOUT CONTENT ===================== */
.about-title {
    max-width: 650px;
    font-size: clamp(2.5rem, 3.25vw, 3.8rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.about-title span {
    display: block;
}

.about-lead {
    max-width: 700px;
    margin: 24px 0 0;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text);
}

.about-description {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: .94rem;
    line-height: 1.8;
    color: var(--text);
}

.about-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 42px;
    margin-top: 28px;
}

.about-point {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.65;
    color: var(--ink);
}

.about-point i {
    margin-top: 2px;
    font-size: 1rem;
    color: var(--primary);
}

.about-btn {
    min-height: 48px;
    margin-top: 30px;
    padding: 0 24px;
    border: 0;
    border-radius: 30px;
    font-size: .78rem;
    font-weight: 700;
    background: #111111;
}

.about-btn:hover {
    color: #111111;
    background: var(--primary);
}
@media (max-width: 767.98px) {
    .about-title {
        font-size: clamp(2.2rem, 9vw, 3rem);
        line-height: 1.1;
    }

    .about-lead {
        font-size: .92rem;
    }

    .about-description {
        font-size: .86rem;
    }

    .about-points {
        grid-template-columns: 1fr;
        gap: 13px;
    }
}
/* ===================== CAPABILITY MARQUEE ===================== */
.capability-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--light);
}

.capability-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: capabilityMarquee 32s linear infinite;
}

.capability-group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.capability-group span {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 28px;
    padding: 24px 28px;
    font-family: var(--heading);
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--ink);
}

.capability-group i {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: var(--primary);
    transform: rotate(45deg);
}

@keyframes capabilityMarquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}
@media (max-width: 767.98px) {
    .capability-track {
        animation-duration: 22s;
    }
    .capability-group {
        justify-content: flex-start;
    }
    .capability-group span {
        gap: 20px;
        padding: 20px 22px;
        font-size: .88rem;
    }
    .capability-group i {
        width: 7px;
        height: 7px;
        flex-basis: 7px;
    }
}
/* ===================== SERVICES ===================== */
.services-section {
    color: rgba(255, 255, 255, .78);
    background: #171717;
}
.services-intro {
    max-width: 540px;
    margin-left: auto;
    font-size: .92rem;
    line-height: 1.8;
}
.service-list {
    border-top: 1px solid rgba(255, 255, 255, .14);
}
/* ===================== SERVICE ROW ===================== */
.service-row {
    position: relative;
    min-height: 154px;
    display: grid;
    grid-template-columns: 90px minmax(260px, 1.15fr) minmax(280px, 1fr) 220px 64px;
    align-items: center;
    gap: 24px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    transition: background .45s cubic-bezier(.22, 1, .36, 1), border-color .45s ease;
}
.service-row::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    content: '';
    background: var(--primary);
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.service-row:hover {
    background: rgba(255, 255, 255, .035);
    border-color: rgba(255, 255, 255, .22);
}
.service-row:hover::before {
    transform: scaleY(1);
    transform-origin: top center;
}

/* ===================== SERVICE NUMBER ===================== */
.service-number {
    font-size: .72rem;
    font-weight: 700;
    color: var(--primary);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.service-row:hover .service-number {
    transform: translateX(8px);
}

/* ===================== SERVICE TITLE ===================== */
.service-title-wrap {
    transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.service-title-wrap span {
    display: block;
    margin-bottom: 8px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
    transition: color .35s ease;
}
.service-title-wrap h3 {
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(1.65rem, 2.5vw, 2.7rem);
    font-weight: 600;
    letter-spacing: -.035em;
    color: var(--white);
    transition: color .35s ease;
}
.service-row:hover .service-title-wrap {
    transform: translateX(8px);
}
.service-row:hover .service-title-wrap span {
    color: var(--primary-light);
}
.service-row:hover .service-title-wrap h3 {
    color: var(--primary-light);
}

/* ===================== SERVICE COPY ===================== */
.service-copy {
    transition:
        transform .45s cubic-bezier(.22, 1, .36, 1),
        color .35s ease;
}
.service-copy p {
    margin: 0;
    max-width: 470px;
    font-size: .78rem;
    line-height: 1.7;
}
.service-row:hover .service-copy {
    transform: translateX(5px);
    color: rgba(255, 255, 255, .9);
}

/* ===================== SERVICE IMAGE ===================== */
.service-image {
    height: 100px;
    overflow: hidden;
    opacity: .72;
    clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
    transform: translateX(0);
    transition:
        opacity .45s ease,
        transform .55s cubic-bezier(.22, 1, .36, 1);
}
.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.7);
    transform: scale(1.04);
    transition:
        transform .7s cubic-bezier(.22, 1, .36, 1),
        filter .45s ease;
}
.service-row:hover .service-image {
    opacity: 1;
    transform: translateX(-6px);
}
.service-row:hover .service-image img {
    filter: saturate(1);
    transform: scale(1.1);
}

/* ===================== SERVICE LINK ===================== */
.service-link {
    position: relative;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .22);
    color: var(--white);
    background: transparent;
    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease,
        transform .4s cubic-bezier(.22, 1, .36, 1);
}
.service-link i {
    position: relative;
    z-index: 2;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.service-row:hover .service-link {
    border-color: var(--primary);
}
.service-link:hover {
    border-color: var(--primary);
    color: var(--brand-black);
    background: var(--primary);
    transform: translateY(-3px);
}
.service-link:hover i {
    transform: translate(3px, -3px);
}
/* ===================== PROJECTS ===================== */
.projects-section {
    overflow: hidden;
    background: var(--light);
}
.projects-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 54px;
}
.project-slider-controls {
    display: flex;
    gap: 8px;
}
.project-arrow {
    width: 58px;
    height: 58px;
    border: 1px solid var(--line);
    color: var(--ink);
    background: var(--white);
    transition: var(--transition);
}
.project-arrow:hover {
    border-color: var(--brand-black);
    color: var(--white);
    background: var(--brand-black);
}
.project-swiper {
    overflow: visible;
    padding-left: max(1.5rem, calc((100vw - 1540px) / 2 + 1.5rem));
}
.project-slide {
    width: min(720px, 66vw);
}
.project-card {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--white);
}
.project-card-image {
    height: 500px;
    overflow: hidden;
}
.project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}
.project-card-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 90px 34px 32px;
    color: var(--white);
    background: linear-gradient(0deg, rgba(17, 17, 17, .88), transparent);
}
.project-card-content span {
    display: block;
    margin-bottom: 8px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .68);
}
.project-card-content h3 {
    max-width: 82%;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(1.7rem, 3vw, 3rem);
    font-weight: 600;
    letter-spacing: -.035em;
}
.project-card-arrow {
    position: absolute;
    right: 28px;
    bottom: 28px;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: var(--brand-black);
    background: var(--primary);
    transition: transform var(--transition), background var(--transition);
}
.project-card:hover .project-card-image img {
    transform: scale(1.055);
}
.project-card:hover .project-card-arrow {
    transform: rotate(45deg);
    background: var(--white);
}
.projects-footer {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 38px;
}
.project-progress {
    position: relative;
    height: 2px;
    flex: 1;
    overflow: hidden;
    background: #d7dcdf;
}
.project-progress span {
    position: absolute;
    left: 0;
    top: 0;
    width: 25%;
    height: 100%;
    background: var(--primary);
    transition: width .35s ease;
}
/* ===================== PURPOSE ===================== */
.purpose-section {
    color: var(--ink);
    background: var(--light);
}
.purpose-intro {
    height: 100%;
    min-height: 620px;
    padding: 72px 64px 64px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--line);
}
.purpose-intro h2 {
    margin: 0 0 24px;
    font-family: var(--heading);
    font-size: clamp(2.2rem, 3.5vw, 4rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.045em;
}
.purpose-intro p {
    max-width: 500px;
    margin-bottom: 30px;
    font-size: .86rem;
    line-height: 1.8;
    color: var(--text);
}
.purpose-grid {
    height: 100%;
    display: grid;
    grid-template-rows: repeat(3, 1fr);
}
.purpose-card {
    min-height: 205px;
    padding: 48px 0 48px 64px;
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 28px;
    align-items: start;
    border-bottom: 1px solid var(--line);
}
.purpose-card:last-child {
    border-bottom: 0;
}
.purpose-card > span {
    font-size: .72rem;
    font-weight: 700;
    color: var(--primary-dark);
}
.purpose-card small {
    display: block;
    margin-bottom: 10px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
}
.purpose-card h3 {
    max-width: 780px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(1.25rem, 2vw, 2rem);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -.025em;
    color: var(--ink);
}
/* ===================== CLIENTS ===================== */
.clients-section {
    overflow: hidden;
}
.clients-heading {
    max-width: 760px;
    margin: 0 auto 54px;
}
.clients-heading .section-title {
    font-size: clamp(2.1rem, 3.4vw, 3.6rem);
}
.client-swiper {
    width: 100%;
    overflow: hidden;
}
.client-swiper .swiper-wrapper {
    align-items: center;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
}
.client-logo {
    width: 180px;
    height: 110px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    border: 1px solid var(--line);
    background: var(--white);
}
.client-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .65;
    transition: filter var(--transition), opacity var(--transition);
}
.client-logo:hover img {
    filter: grayscale(0);
    opacity: 1;
}
/* ===================== TESTIMONIAL ===================== */
.testimonial-section {
    padding: 0 0 120px;
    overflow: hidden;
}
.testimonial-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 38px;
}

.testimonial-section-title {
    max-width: 650px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(2rem, 3vw, 3.4rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.045em;
    color: var(--ink);
}
/* ===================== TESTIMONIAL CONTROLS ===================== */
.testimonial-controls {
    display: flex;
    gap: 8px;
}
.testimonial-arrow {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    color: var(--ink);
    background: var(--white);
    transition: color .3s ease, border-color .3s ease, background .3s ease, transform .3s ease;
}
.testimonial-arrow:hover {
    border-color: var(--primary);
    color: var(--brand-black);
    background: var(--primary);
    transform: translateY(-2px);
}
.testimonial-arrow.swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}

/* ===================== TESTIMONIAL SWIPER ===================== */
.testimonial-swiper {
    overflow: visible;
}
.testimonial-swiper .swiper-slide {
    height: auto;
}

/* ===================== TESTIMONIAL BOX ===================== */
.testimonial-box {
    position: relative;
    display: grid;
    grid-template-columns: 350px 1fr;
    min-height: 420px;
    overflow: hidden;
    color: var(--white);
    background: #161616;
}
.testimonial-box::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: '';
    background: var(--primary);
}

/* ===================== TESTIMONIAL SIDE ===================== */
.testimonial-side {
    position: relative;
    padding: 54px 44px;
    border-right: 1px solid rgba(255, 255, 255, .1);
    background: linear-gradient(145deg, rgba(184, 173, 47, .12), transparent 58%);
}
.testimonial-number {
    margin-bottom: 40px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--primary);
}
.testimonial-quote-mark {
    margin-bottom: 18px;
    font-family: Georgia, serif;
    font-size: 5rem;
    line-height: .6;
    color: var(--primary);
}
.testimonial-side h3 {
    max-width: 260px;
    margin: 0;
    font-family: var(--heading);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.03em;
    color: var(--white);
}
.testimonial-points {
    display: grid;
    gap: 12px;
    margin-top: 34px;
}
.testimonial-points span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .74rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .66);
}
.testimonial-points i {
    color: var(--primary);
}

/* ===================== TESTIMONIAL CONTENT ===================== */
.testimonial-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px clamp(40px, 6vw, 90px);
}
.testimonial-kicker {
    margin-bottom: 24px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--primary);
}
.testimonial-content blockquote {
    max-width: 900px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(1.4rem, 1.85vw, 2rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -.022em;
    color: rgba(255, 255, 255, .94);
}
.testimonial-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 38px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .1);
}
.testimonial-footer strong,
.testimonial-footer span {
    display: block;
}
.testimonial-footer strong {
    margin-bottom: 4px;
    font-size: .78rem;
    font-weight: 700;
    color: var(--white);
}
.testimonial-footer span {
    font-size: .7rem;
    color: rgba(255, 255, 255, .46);
}
.testimonial-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .14);
    color: var(--primary);
}
.testimonial-icon i {
    font-size: 1.3rem;
}

/* ===================== TESTIMONIAL PAGINATION ===================== */
.testimonial-pagination {
    position: relative !important;
    bottom: auto !important;
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}
.testimonial-pagination .swiper-pagination-bullet {
    width: 28px;
    height: 3px;
    margin: 0 !important;
    border-radius: 0;
    opacity: 1;
    background: #d8d8d8;
    transition: width .35s ease, background .35s ease;
}
.testimonial-pagination .swiper-pagination-bullet-active {
    width: 54px;
    background: var(--primary);
}
@media (max-width: 991.98px) {
    .testimonial-box {
        grid-template-columns: 1fr;
    }
    .testimonial-side {
        padding: 40px 34px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }
    .testimonial-side h3 {
        max-width: 520px;
    }
    .testimonial-points {
        grid-template-columns: repeat(3, 1fr);
    }
    .testimonial-content {
        padding: 44px 34px;
    }
}

@media (max-width: 767.98px) {
    .testimonial-section {
        padding-bottom: 78px;
    }
    .testimonial-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
    }
    .testimonial-section-title {
        font-size: 2.2rem;
    }
    .testimonial-side {
        padding: 34px 26px;
    }
    .testimonial-points {
        grid-template-columns: 1fr;
    }
    .testimonial-content {
        padding: 36px 26px;
    }
    .testimonial-content blockquote {
        font-size: 1.18rem;
        line-height: 1.65;
    }
}
/* ===================== CTA ===================== */
.cta-section {
    padding: 120px 0 120px;
    background: var(--white);
}
.cta-wrap {
    position: relative;
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    overflow: hidden;
    color: var(--white);
    background: #171717;
}
.cta-wrap::before {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    opacity: .065;
    background-image:
        linear-gradient(rgba(255, 255, 255, .7) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .7) 1px, transparent 1px);
    background-size: 64px 64px;
}
.cta-wrap::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    content: '';
    background: var(--primary);
}
/* ===================== CTA CONTENT ===================== */
.cta-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 68px clamp(42px, 5vw, 82px);
}
.cta-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.cta-tag span {
    width: 30px;
    height: 2px;
    background: var(--primary);
}
.cta-content h2 {
    max-width: 850px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(2.5rem, 4vw, 4.5rem);
    font-weight: 600;
    line-height: 1.03;
    letter-spacing: -.055em;
    color: var(--white);
}
.cta-content h2 span {
    display: block;
    color: var(--primary-light);
}
.cta-content > p {
    max-width: 720px;
    margin: 24px 0 0;
    font-size: .9rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, .6);
}

/* ===================== CTA CONTACT ===================== */
.cta-contact {
    display: flex;
    align-items: center;
    gap: 42px;
    margin-top: 34px;
}
.cta-contact a {
    display: flex;
    align-items: center;
    gap: 13px;
}
.cta-contact i {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .16);
    font-size: .95rem;
    color: var(--primary);
}
.cta-contact small,
.cta-contact strong {
    display: block;
}
.cta-contact small {
    margin-bottom: 3px;
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .38);
}
.cta-contact strong {
    font-size: .76rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .82);
}
.cta-contact a:hover strong {
    color: var(--primary-light);
}

/* ===================== CTA ACTION ===================== */
.cta-action {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border-left: 1px solid rgba(255, 255, 255, .1);
}
.cta-action-label {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .42);
}
.cta-project-link {
    position: relative;
    width: 190px;
    height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    overflow: hidden;
    color: var(--brand-black);
    background: var(--primary);
    transition: color .4s ease, background .4s ease, transform .4s cubic-bezier(.22, 1, .36, 1);
}
.cta-project-link::before {
    position: absolute;
    inset: 0;
    content: '';
    background: var(--white);
    transform: translateY(101%);
    transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.cta-project-link span,
.cta-project-link i {
    position: relative;
    z-index: 2;
}
.cta-project-link span {
    font-family: var(--heading);
    font-size: 1.05rem;
    line-height: 1.3;
}
.cta-project-link strong {
    display: block;
    font-size: 1.45rem;
    font-weight: 600;
}
.cta-project-link i {
    align-self: flex-end;
    font-size: 1.7rem;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.cta-project-link:hover {
    color: var(--brand-black);
    transform: translateY(-6px);
}
.cta-project-link:hover::before {
    transform: translateY(0);
}
.cta-project-link:hover i {
    transform: translate(5px, -5px);
}

/* ===================== CTA WATERMARK ===================== */
.cta-watermark {
    position: absolute;
    right: 260px;
    bottom: -85px;
    z-index: 1;
    font-family: var(--heading);
    font-size: 13rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.08em;
    color: rgba(255, 255, 255, .025);
    pointer-events: none;
}
@media (max-width: 991.98px) {
    .cta-wrap {
        grid-template-columns: 1fr 240px;
    }
    .cta-content {
        padding: 54px 40px;
    }
    .cta-project-link {
        width: 160px;
        height: 160px;
        padding: 24px;
    }
    .cta-watermark {
        right: 180px;
    }
}

@media (max-width: 767.98px) {
    .cta-section {
        padding-bottom: 78px;
    }
    .cta-wrap {
        grid-template-columns: 1fr;
    }
    .cta-content {
        padding: 42px 26px;
    }
    .cta-content h2 {
        font-size: clamp(2.25rem, 10vw, 3.2rem);
    }
    .cta-contact {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
    .cta-action {
        align-items: flex-start;
        padding: 0 26px 42px;
        border-left: 0;
    }
    .cta-project-link {
        width: 100%;
        height: auto;
        min-height: 110px;
        flex-direction: row;
        align-items: flex-end;
        padding: 24px;
    }
    .cta-project-link i {
        align-self: auto;
    }
    .cta-watermark {
        display: none;
    }
}
/* ===================== FOOTER ===================== */
.site-footer {
    color: rgba(255, 255, 255, .62);
    background: var(--brand-black);
}
.footer-top {
    padding: 74px 0 58px;
    display: grid;
    grid-template-columns: 1.4fr .65fr 1fr auto;
    gap: 70px;
}
.footer-brand img {
    width: 250px;
    padding: 12px;
}
.footer-brand p {
    max-width: 430px;
    margin: 24px 0 0;
    font-size: .78rem;
    line-height: 1.8;
}
.footer-links,
.footer-contact,
.footer-social {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.footer-links > span,
.footer-contact > span,
.footer-social > span {
    margin-bottom: 10px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--primary-dark);
}
.footer-links a,
.footer-contact a {
    font-size: .78rem;
    color: rgba(255, 255, 255, .72);
    transition: color var(--transition);
}
.footer-links a:hover,
.footer-contact a:hover {
    color: var(--white);
}
.footer-contact p {
    margin: 5px 0 0;
    font-size: .73rem;
    line-height: 1.7;
}
.footer-social {
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 122px;
}
.footer-social > span {
    width: 100%;
}
.footer-social a {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    color: var(--white);
    transition: var(--transition);
}
.footer-social a:hover {
    border-color: var(--brand-black);
    color: var(--white);
    background: var(--brand-black);
}
.footer-bottom {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}
.footer-bottom p {
    margin: 0;
    font-size: .68rem;
}
/* ===================== BACK TO TOP ===================== */
.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: 0;
    color: var(--brand-black);
    background: var(--primary-dark);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: var(--transition);
}
.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-to-top:hover {
    color: var(--white);
    background: var(--primary);
}
/* ===================== REVEAL ANIMATION ===================== */
.reveal-up,
.reveal-left {
    opacity: 0;
    transition: opacity .75s ease, transform .75s cubic-bezier(.22, .61, .36, 1);
}
.reveal-up {
    transform: translateY(28px);
}
.reveal-left {
    transform: translateX(-30px);
}
.reveal-up.is-visible,
.reveal-left.is-visible {
    opacity: 1;
    transform: translate(0);
}
/* ===================== RESPONSIVE ===================== */
@media (max-width: 1399.98px) {
    .site-container {
        --bs-gutter-x: 2rem;
    }
    .navbar-logo {
        width: 220px;
    }
    .navbar-nav {
        gap: 2px;
    }
    .navbar-nav .nav-link {
        padding-inline: 10px !important;
        font-size: .82rem;
    }
    .navbar-nav .nav-link::after {
        left: 10px;
        right: 10px;
    }
    .hero-meta,
    .hero-current {
        right: 2rem;
    }
    .service-row {
        grid-template-columns: 64px minmax(230px, 1.1fr) 1fr 180px 56px;
    }
}

@media (max-width: 1199.98px) {
    .section-space {
        padding: 96px 0;
    }
    .navbar-logo {
        width: 205px;
    }
    .navbar-nav .nav-link {
        padding-inline: 8px !important;
        font-size: .76rem;
    }
    .navbar-nav .nav-link::after {
        left: 8px;
        right: 8px;
    }
    .header-project-btn {
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        padding-inline: 14px !important;
        font-size: .7rem;
    }
    .hero-content {
        width: 62vw;
    }
    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(2.8rem, 5.2vw, 4.8rem);
    }
    .hero-meta {
        display: none;
    }
    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .trust-item:nth-child(2) {
        border-right: 0;
    }
    .trust-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }
    .about-content {
        padding-left: 0;
    }
    .service-row {
        grid-template-columns: 60px 1.1fr 1fr 58px;
        padding: 26px 0;
    }
    .service-image {
        display: none;
    }
    .purpose-intro {
        min-height: auto;
        padding: 80px 0 60px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .purpose-card {
        padding-left: 0;
    }
    .footer-top {
        grid-template-columns: 1.3fr .7fr 1fr;
    }
    .footer-social {
        max-width: none;
        grid-column: 1 / -1;
    }
}

@media (min-width: 992px) {
    .navbar-toggler {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .site-container {
        --bs-gutter-x: 1.5rem;
    }
    .site-header {
        position: relative;
        top: auto;
        background: var(--white);
        border-bottom: 1px solid var(--line);
        box-shadow: none;
    }
    .site-header.is-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background: var(--white);
        border-bottom-color: var(--line);
        box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    }
    .site-header.is-sticky + .site-header-spacer {
        display: block;
        height: var(--mobile-header-height);
    }
    .site-header .navbar {
        min-height: var(--mobile-header-height);
    }
    .navbar-logo {
        width: 205px;
    }
    .navbar-logo .logo-light {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-3px);
    }
    .navbar-logo .logo-dark {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .site-header.is-sticky .navbar-logo .logo-light {
        opacity: 0;
        visibility: hidden;
    }
    .site-header.is-sticky .navbar-logo .logo-dark {
        opacity: 1;
        visibility: visible;
    }
    .navbar-toggler {
        display: inline-flex;
    }
    .navbar-toggler span,
    .site-header.is-sticky .navbar-toggler span {
        background: var(--brand-black);
    }
    .hero-section {
        height: calc(100vh - var(--mobile-header-height));
        height: calc(100svh - var(--mobile-header-height));
    }
    .hero-slide::after {
        background: linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .72) 45%, rgba(0, 0, 0, .32) 72%, rgba(0, 0, 0, .06) 100%);
    }
    .hero-container {
        padding-top: 54px;
        padding-bottom: 112px;
    }
    .hero-content {
        width: 74vw;
    }
    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(2.65rem, 7vw, 4.4rem);
    }
    .hero-pagination .swiper-pagination-bullet strong {
        display: none;
    }
    .hero-pagination .swiper-pagination-bullet {
        justify-content: center;
        padding: 0 10px;
    }
    .hero-current {
        display: none;
    }
    .about-visual {
        min-height: 560px;
    }
    .about-main-image {
        height: 500px;
    }
    .service-row {
        grid-template-columns: 48px 1fr 56px;
        gap: 18px;
    }
    .service-copy {
        grid-column: 2 / 3;
    }
    .service-link {
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
    }
    .project-slide {
        width: 76vw;
    }
    .project-card-image {
        height: 440px;
    }
    .cta-card {
        min-height: 320px;
    }
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 46px;
    }
}

@media (max-width: 767.98px) {
    .section-space {
        padding: 78px 0;
    }
    .section-title {
        font-size: clamp(2.2rem, 10vw, 3.4rem);
    }
    .hero-slide::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .42) 40%, rgba(0, 0, 0, .86) 100%);
    }
    .hero-visual img {
        object-position: center;
    }
    .hero-container {
        align-items: flex-end;
        padding-top: 140px;
        padding-bottom: 104px;
    }
    .hero-content {
        width: 100%;
    }
    .hero-eyebrow {
        margin-bottom: 14px;
    }
    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(2.35rem, 10.5vw, 3.6rem);
        line-height: .98;
    }
    .hero-content p {
        margin-top: 16px;
        font-size: .82rem;
        line-height: 1.65;
    }
    .hero-actions {
        gap: 16px;
        margin-top: 20px;
    }
    .hero-actions .btn {
        min-height: 46px;
        padding-inline: 16px;
        font-size: .7rem;
    }
    .hero-text-link {
        min-height: 46px;
        font-size: .7rem;
    }
    .hero-controls {
        min-height: 76px;
    }
    .hero-pagination .swiper-pagination-bullet {
        height: 76px;
    }
    .hero-arrows {
        display: none;
    }
    .trust-grid {
        grid-template-columns: 1fr;
    }
    .trust-item,
    .trust-item:first-child,
    .trust-item:nth-child(2) {
        min-height: 100px;
        border: 0;
        border-bottom: 1px solid var(--line);
    }
    .about-visual {
        min-height: 470px;
    }
    .about-main-image {
        width: 90%;
        height: 420px;
    }
    .about-secondary-image {
        width: 48%;
        height: 210px;
        border-width: 8px;
    }
    .about-floating-card {
        left: 0;
        width: 190px;
        min-height: 132px;
        padding: 22px;
    }
    .about-floating-card strong {
        font-size: 1.2rem;
    }
    .about-feature-grid {
        grid-template-columns: 1fr;
    }
    .service-row {
        grid-template-columns: 38px 1fr 48px;
    }
    .service-title-wrap h3 {
        font-size: 1.7rem;
    }
    .service-link {
        width: 46px;
        height: 46px;
    }
    .projects-head {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 34px;
    }
    .project-slide {
        width: 86vw;
    }
    .project-card-image {
        height: 390px;
    }
    .project-card-content {
        padding: 74px 24px 24px;
    }
    .project-card-arrow {
        right: 20px;
        bottom: 20px;
        width: 50px;
        height: 50px;
    }
    .purpose-card {
        grid-template-columns: 42px 1fr;
        gap: 18px;
        padding: 34px 0;
    }
    .testimonial-section,
    .cta-section {
        padding-bottom: 78px;
    }
    .testimonial-card {
        padding: 58px 26px;
    }
    .cta-card {
        min-height: auto;
        padding: 48px 28px;
        align-items: flex-start;
        flex-direction: column;
    }
    .cta-button {
        width: 140px;
        height: 140px;
        flex-basis: 140px;
    }
    .footer-top {
        grid-template-columns: 1fr;
        gap: 38px;
    }
    .footer-bottom {
        padding: 22px 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 575.98px) {
    :root {
        --mobile-header-height: 72px;
    }
    .site-container {
        --bs-gutter-x: 1.25rem;
    }
    .navbar-logo {
        width: 185px;
    }
    .navbar-toggler {
        width: 40px;
        height: 40px;
    }
    .navbar-toggler span {
        width: 20px;
    }
    .mobile-menu {
        --bs-offcanvas-width: 90vw;
    }
    .mobile-menu .offcanvas-header {
        min-height: 84px;
        padding: 18px 20px;
    }
    .mobile-menu-logo img {
        width: 190px;
    }
    .mobile-menu-close {
        right: 18px;
        width: 38px;
        height: 38px;
    }
    .mobile-menu .offcanvas-body {
        padding: 8px 20px 22px;
    }
    .mobile-nav-item {
        grid-template-columns: 38px 1fr 26px;
        min-height: 58px;
    }
    .mobile-nav-item::after {
        left: 38px;
    }
    .hero-container {
        padding-top: 110px;
        padding-bottom: 98px;
    }
    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(2.15rem, 10.5vw, 2.9rem);
    }
    .hero-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
    .hero-pagination .swiper-pagination-bullet {
        padding: 0 4px;
    }
    .hero-pagination .swiper-pagination-bullet span {
        font-size: .6rem;
    }
    .trust-item {
        padding-inline: 18px;
    }
    .about-main-image {
        width: 100%;
    }
    .about-secondary-image {
        right: -8px;
    }
    .about-floating-card {
        bottom: 20px;
    }
    .service-row {
        grid-template-columns: 32px 1fr 44px;
        gap: 12px;
    }
    .service-copy p {
        font-size: .72rem;
    }
    .project-card-image {
        height: 340px;
    }
    .projects-footer {
        align-items: flex-start;
        flex-direction: column;
    }
    .project-progress {
        width: 100%;
    }
    .footer-brand img {
        width: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   ABOUT PAGE
========================================================= */

/* ===================== ABOUT HERO ===================== */
.about-page-hero {
    position: relative;
    min-height: 650px;
    height: calc(82svh - var(--desktop-topbar-height));
    overflow: hidden;
    color: var(--white);
    background: var(--brand-black);
}
.about-page-hero-media {
    position: absolute;
    inset: 0;
}
.about-page-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.03);
}
.about-page-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .9) 0%,
            rgba(0, 0, 0, .76) 34%,
            rgba(0, 0, 0, .42) 60%,
            rgba(0, 0, 0, .12) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .08) 55%,
            rgba(0, 0, 0, .56) 100%
        );
}
.about-page-hero-container {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
    padding-top: 86px;
    padding-bottom: 72px;
}
.about-page-hero-content {
    width: min(790px, 58vw);
}
.about-page-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 34px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .56);
}
.about-page-breadcrumb a {
    transition: color .3s ease;
}
.about-page-breadcrumb a:hover {
    color: var(--primary);
}
.about-page-breadcrumb i {
    font-size: .75rem;
    color: var(--primary);
}
.about-page-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .7);
}
.about-page-eyebrow span {
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .22);
    color: var(--primary-light);
}
.about-page-hero-content h1 {
    max-width: 820px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(3.4rem, 2.7vw, 6.4rem);
    font-weight: 600;
    line-height: .94;
    letter-spacing: -.065em;
}
.about-page-hero-content h1 span {
    display: block;
    color: var(--primary-light);
}
.about-page-hero-content > p {
    max-width: 670px;
    margin: 28px 0 0;
    font-size: .98rem;
    line-height: 1.85;
    color: rgba(255, 255, 255, .68);
}
.about-page-hero-facts {
    align-self: flex-end;
    width: 280px;
    margin-bottom: 42px;
    border-top: 1px solid rgba(255, 255, 255, .2);
}
.about-page-hero-fact {
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.about-page-hero-fact small,
.about-page-hero-fact strong {
    display: block;
}
.about-page-hero-fact small {
    margin-bottom: 6px;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .46);
}
.about-page-hero-fact strong {
    font-family: var(--heading);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--white);
}
.about-page-hero-scroll {
    position: absolute;
    right: 3rem;
    bottom: 28px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}
.about-page-hero-scroll i {
    color: var(--primary);
}

/* ===================== COMPANY STORY ===================== */
.about-page-story {
    overflow: hidden;
}
.about-page-story-intro {
    position: sticky;
    top: 130px;
	padding-right: 40px;
}
.about-page-year {
    margin: 38px 0 18px;
}
.about-page-year span {
    display: block;
    margin-bottom: 4px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--muted);
}
.about-page-year strong {
    display: block;
    font-family: var(--heading);
    font-size: clamp(5rem, 8vw, 8.5rem);
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.08em;
    color: var(--primary);
}
.about-page-disciplines {
    max-width: 420px;
    margin: 0;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--muted);
}
.about-page-story-title {
    max-width: 560px;
    margin: 42px 0 0;
    font-family: var(--heading);
    font-size: clamp(2.6rem, 3.8vw, 4.3rem);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.05em;
    color: var(--ink);
}
.about-page-story-title span {
    display: block;
    margin-top: 4px;
    color: var(--primary-dark);
}
.about-page-story-content {
    padding-left: clamp(0px, 4vw, 70px);
}
.about-page-story-copy {
    max-width: 760px;
    margin-top: 0;
}
.about-page-story-copy p {
    margin: 0 0 20px;
    font-size: .94rem;
    line-height: 1.9;
}
.about-page-story-copy p:first-child {
    font-size: 1.08rem;
    color: var(--ink);
}
.about-page-strengths {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 34px;
    max-width: 760px;
    margin-top: 32px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
}
.about-page-strength {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.6;
    color: var(--ink);
}
.about-page-strength i {
    margin-top: 1px;
    font-size: 1rem;
    color: var(--primary);
}
@media (max-width: 991.98px) {
    .about-page-story-intro {
        position: static;
        padding-right: 0;
    }
    .about-page-story-title {
        max-width: 700px;
        margin-top: 34px;
    }
    .about-page-story-content {
        padding-left: 0;
    }
}

@media (max-width: 767.98px) {
    .about-page-story-title {
        font-size: clamp(2.2rem, 10vw, 3.2rem);
    }
    .about-page-strengths {
        grid-template-columns: 1fr;
    }
}

/* ===================== ENGINEERING FOOTPRINT ===================== */
.about-page-footprint {
    padding: 110px 0;
    overflow: hidden;
    color: var(--white);
    background: #171717;
}
.about-page-footprint-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 70px;
    margin-bottom: 54px;
}
.about-page-footprint-head h2 {
    max-width: 780px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(2.5rem, 4vw, 4.4rem);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.05em;
}
.about-page-footprint-head h2 span {
    display: block;
    color: var(--primary-light);
}
.about-page-footprint-head > p {
    max-width: 500px;
    margin: 0;
    font-size: .86rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, .58);
}
.about-page-footprint-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.about-page-footprint-card {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
}
.about-page-footprint-image {
    position: absolute;
    inset: 0;
}
.about-page-footprint-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    transform: scale(1.04);
    transition: filter .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}
.about-page-footprint-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17, 17, 17, .22) 0%, rgba(17, 17, 17, .5) 45%, rgba(17, 17, 17, .96) 100%);
    transition: background .5s ease;
}
.about-page-footprint-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 34px 30px;
}
.about-page-footprint-content > span {
    position: absolute;
    top: 28px;
    left: 30px;
    font-size: .68rem;
    font-weight: 700;
    color: var(--primary);
}
.about-page-footprint-content small {
    display: block;
    margin-bottom: 9px;
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .48);
}
.about-page-footprint-content h3 {
    margin: 0;
    font-family: var(--heading);
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.035em;
}
.about-page-footprint-content p {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    font-size: .75rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .66);
    transform: translateY(16px);
    transition: max-height .5s ease, margin .5s ease, opacity .4s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
}
.about-page-footprint-card:hover .about-page-footprint-image img {
    filter: grayscale(0);
    transform: scale(1.1);
}
.about-page-footprint-card:hover .about-page-footprint-overlay {
    background: linear-gradient(180deg, rgba(17, 17, 17, .14) 0%, rgba(17, 17, 17, .44) 38%, rgba(17, 17, 17, .95) 100%);
}
.about-page-footprint-card:hover .about-page-footprint-content p {
    max-height: 120px;
    margin-top: 16px;
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 1199.98px) {
    .about-page-footprint-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}
@media (max-width: 767.98px) {
    .about-page-footprint-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}
/* ===================== COMPANY NUMBERS ===================== */
.about-page-numbers {
    border-bottom: 1px solid var(--line);
    background: var(--white);
}
.about-page-numbers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-left: 1px solid var(--line);
}
.about-page-number {
    min-height: 220px;
    padding: 38px 32px;
    border-right: 1px solid var(--line);
}
.about-page-number > span {
    display: block;
    margin-bottom: 26px;
    font-size: .66rem;
    font-weight: 700;
    color: var(--primary-dark);
}
.about-page-number strong {
    display: block;
    margin-bottom: 18px;
    font-family: var(--heading);
    font-size: clamp(1.8rem, 1.6vw, 2.8rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--ink);
}
.about-page-number p {
    max-width: 250px;
    margin: 0;
    font-size: .74rem;
    line-height: 1.7;
}

/* ===================== PURPOSE ===================== */
.about-page-purpose {
    background: var(--light);
}
.about-page-purpose-head {
    max-width: 850px;
    margin-bottom: 52px;
}
.about-page-purpose-head h2 {
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(2.6rem, 4vw, 4.5rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.05em;
    color: var(--ink);
}
.about-page-purpose-head h2 span {
    display: block;
    color: var(--primary-dark);
}
.about-page-purpose-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.about-page-purpose-card {
    position: relative;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    padding: 42px 38px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--white);
    transition: color .45s ease, background .45s ease, transform .45s cubic-bezier(.22, 1, .36, 1), border-color .45s ease;
}
.about-page-purpose-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: auto;
}
.about-page-purpose-top span {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-dark);
}
.about-page-purpose-top i {
    font-size: 1.5rem;
    color: var(--primary-dark);
}
.about-page-purpose-card > small {
    display: block;
    margin-bottom: 14px;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
}
.about-page-purpose-card h3 {
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(1.3rem, 1vw, 1.8rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -.025em;
    color: var(--ink);
}
.about-page-purpose-line {
    width: 46px;
    height: 2px;
    margin-top: 28px;
    background: var(--primary);
    transition: width .45s cubic-bezier(.22, 1, .36, 1);
}
.about-page-purpose-card:hover {
    color: var(--white);
    border-color: #171717;
    background: #171717;
    transform: translateY(-8px);
}
.about-page-purpose-card:hover .about-page-purpose-top span,
.about-page-purpose-card:hover .about-page-purpose-top i {
    color: var(--primary);
}
.about-page-purpose-card:hover > small {
    color: rgba(255, 255, 255, .46);
}
.about-page-purpose-card:hover h3 {
    color: var(--white);
}
.about-page-purpose-card:hover .about-page-purpose-line {
    width: 100%;
}

@media (max-width: 991.98px) {
    .about-page-purpose-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .about-page-purpose-card {
        min-height: 330px;
    }
}

@media (max-width: 767.98px) {
    .about-page-purpose-card {
        min-height: 300px;
        padding: 34px 28px;
    }
}

/* ===================== LEADERSHIP ===================== */
.about-page-leadership {
    padding: 120px 0;
    overflow: hidden;
    background: #171717;
}
.about-page-leadership-wrap {
    display: grid;
    grid-template-columns: minmax(400px, .8fr) minmax(0, 1.2fr);
    min-height: 650px;
}
.about-page-leadership-image {
    position: relative;
    min-height: 650px;
    overflow: hidden;
}
.about-page-leadership-image::after {
    position: absolute;
    inset: 0;
    content: '';
    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(0, 0, 0, .72) 100%
        );
}
.about-page-leadership-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-page-leadership-caption {
    position: absolute;
    left: 38px;
    right: 38px;
    bottom: 34px;
    z-index: 2;
}
.about-page-leadership-caption span,
.about-page-leadership-caption strong {
    display: block;
}
.about-page-leadership-caption span {
    margin-bottom: 8px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--primary-light);
}
.about-page-leadership-caption strong {
    max-width: 300px;
    font-family: var(--heading);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--white);
}
.about-page-leadership-qualification {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: -12px 0 26px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .14);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .7);
}
.about-page-leadership-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px clamp(42px, 6vw, 95px);
    border: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .68);
}
.about-page-leadership-role {
    display: block;
    margin-bottom: 9px;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--primary);
}
.about-page-leadership-content h2 {
    margin: 0 0 24px;
    font-family: var(--heading);
    font-size: clamp(2.6rem, 4vw, 4.4rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.055em;
    color: var(--white);
}
.about-page-leadership-lead {
    max-width: 760px;
    margin-bottom: 18px !important;
    font-size: 1.02rem !important;
    color: rgba(255, 255, 255, .9) !important;
}
.about-page-leadership-content > p {
    max-width: 760px;
    margin: 0 0 14px;
    font-size: .83rem;
    line-height: 1.82;
}
.about-page-leadership-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    margin: 32px 0;
    background: rgba(255, 255, 255, .12);
}
.about-page-leadership-facts > div {
    min-width: 0;
    padding: 22px 18px;
    background: #171717;
}
.about-page-leadership-facts strong,
.about-page-leadership-facts span {
    display: block;
}
.about-page-leadership-facts strong {
    margin-bottom: 7px;
    font-family: var(--heading);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--primary-light);
}
.about-page-leadership-facts span {
    font-size: .61rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, .48);
}

@media (max-width: 1199.98px) {
    .about-page-leadership-facts {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575.98px) {
    .about-page-leadership-facts {
        grid-template-columns: 1fr;
    }
}

/* ===================== WORKING PRINCIPLES ===================== */
.about-page-principles{
	background:var(--white);
}
.about-page-principles .section-title{
	max-width:760px;
	margin-bottom:0;
}
.about-page-principles-intro{
	max-width:520px;
	margin:0 0 4px auto;
	font-size:.88rem;
	line-height:1.8;
	color:var(--muted);
}
.about-page-principles-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.about-page-principle{
	position:relative;
	min-height:320px;
	padding:34px 30px;
	border:1px solid var(--line);
	background:var(--white);
	transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
}
.about-page-principle>span{
	display:block;
	margin-bottom:54px;
	font-size: 2rem;
	font-weight:700;
	letter-spacing:.06em;
	color:var(--primary-dark);
}
.about-page-principle-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	margin-bottom:26px;
	color:var(--primary-dark);
	background:rgba(184,173,47,.1);
	transition: color .35s ease, background .35s ease, transform .4s cubic-bezier(.22,1,.36,1);
}
.about-page-principle-icon i{
	font-size:1.2rem;
}
.about-page-principle h3{
	margin:0 0 12px;
	font-family:var(--heading);
	font-size:1.35rem;
	font-weight:600;
	line-height:1.25;
	letter-spacing:-.03em;
	color:var(--ink);
	transition:color .35s ease;
}
.about-page-principle p{
	margin:0;
	font-size:.74rem;
	line-height:1.72;
	color:var(--muted);
	transition:color .35s ease;
}
.about-page-principle::before{
	position:absolute;
	top:-1px;
	left:-1px;
	width:0;
	height:3px;
	content:'';
	background:var(--primary);
	transition:width .45s cubic-bezier(.22,1,.36,1);
}
.about-page-principle:hover{
	border-color:rgba(184,173,47,.34);
	background:var(--light);
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(0,0,0,.05);
}
.about-page-principle:hover::before{
	width:calc(100% + 2px);
}
.about-page-principle:hover .about-page-principle-icon{
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-3px);
}
.about-page-principle:hover h3{
	color:var(--primary-dark);
}
.about-page-principle:hover p{
	color:var(--text);
}

/* ===================== WORKING PRINCIPLES RESPONSIVE ===================== */
@media (max-width:1199.98px){
	.about-page-principles-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:18px;
	}
	.about-page-principle{
		min-height:290px;
	}
}
@media (max-width:991.98px){
	.about-page-principles-intro{
		max-width:100%;
		margin-left:0;
	}
}
@media (max-width:767.98px){
	.about-page-principles .row{
		margin-bottom:32px!important;
	}
	.about-page-principles-grid{
		grid-template-columns:1fr;
		gap:14px;
	}
	.about-page-principle{
		min-height:auto;
		padding:28px 24px;
	}
	.about-page-principle>span{
		margin-bottom:34px;
	}
	.about-page-principle-icon{
		width:48px;
		height:48px;
		margin-bottom:22px;
	}
	.about-page-principle h3{
		font-size:1.25rem;
	}
}
@media (max-width:575.98px){
	.about-page-principles-grid{
		gap:12px;
	}
	.about-page-principle{
		padding:24px 20px;
	}
	.about-page-principles-intro{
		font-size:.82rem;
		line-height:1.7;
	}
}

/* ===================== ABOUT RESPONSIVE ===================== */
@media (max-width: 1199.98px) {
    .about-page-hero-content {
        width: 65vw;
    }
    .about-page-hero-facts {
        width: 230px;
    }

    .about-page-leadership-wrap {
        grid-template-columns: .8fr 1.2fr;
    }

    .about-page-principles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991.98px) {
    .about-page-hero {
        height: calc(76svh - var(--mobile-header-height));
        min-height: 620px;
    }

    .about-page-hero-container {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .about-page-hero-content {
        width: 72vw;
    }

    .about-page-hero-facts {
        display: none;
    }

    .about-page-hero-scroll {
        right: 1.5rem;
    }

    .about-page-story-intro {
        position: static;
    }

    .about-page-year {
        margin-top: 26px;
    }

    .about-page-year strong {
        font-size: 5.5rem;
    }

    .about-page-story-content {
        padding-left: 0;
    }

    .about-page-footprint {
        padding: 90px 0;
    }

    .about-page-numbers-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-page-purpose-grid {
        grid-template-columns: 1fr;
    }

    .about-page-leadership-wrap {
        grid-template-columns: 1fr;
    }

    .about-page-leadership-image {
        min-height: 580px;
    }

    .about-page-leadership-content {
        padding: 54px 40px;
    }
}

@media (max-width: 767.98px) {
    .about-page-hero {
        min-height: 560px;
        height: calc(75svh - var(--mobile-header-height));
    }

    .about-page-hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, .24) 0%,
                rgba(0, 0, 0, .7) 52%,
                rgba(0, 0, 0, .94) 100%
            );
    }

    .about-page-hero-container {
        align-items: flex-end;
        padding-top: 100px;
        padding-bottom: 70px;
    }

    .about-page-hero-content {
        width: 100%;
    }

    .about-page-breadcrumb {
        margin-bottom: 22px;
    }

    .about-page-eyebrow {
        margin-bottom: 16px;
    }

    .about-page-hero-content h1 {
        font-size: clamp(2.6rem, 12vw, 4rem);
        line-height: .98;
    }

    .about-page-hero-content > p {
        margin-top: 20px;
        font-size: .85rem;
        line-height: 1.7;
    }

    .about-page-hero-scroll {
        display: none;
    }

    .about-page-story-content > h2,
    .about-page-footprint-head h2,
    .about-page-purpose-head h2 {
        font-size: clamp(2.2rem, 10vw, 3.2rem);
    }

    .about-page-story-copy p {
        font-size: .86rem;
    }

    .about-page-story-copy p:first-child {
        font-size: .94rem;
    }

    .about-page-strengths {
        grid-template-columns: 1fr;
    }
  	.about-page-numbers-grid {
        grid-template-columns: 1fr;
    }

    .about-page-number {
        min-height: auto;
    }

    .about-page-leadership {
        padding: 78px 0;
    }

    .about-page-leadership-image {
        min-height: 470px;
    }

    .about-page-leadership-content {
        padding: 42px 26px;
    }

    .about-page-leadership-content h2 {
        font-size: 2.6rem;
    }

    .about-page-leadership-facts {
        grid-template-columns: 1fr;
    }

    .about-page-principles-grid {
        grid-template-columns: 1fr;
    }

    .about-page-principle {
        min-height: auto;
    }

    .about-page-principle > span {
        margin-bottom: 34px;
    }
}

@media (max-width: 575.98px) {
    .about-page-hero {
        min-height: 540px;
    }

    .about-page-hero-container {
        padding-bottom: 54px;
    }

    .about-page-eyebrow {
        font-size: .62rem;
    }

    .about-page-eyebrow span {
        padding: 7px 9px;
    }

    .about-page-hero-content h1 {
        font-size: 2.75rem;
    }

    .about-page-footprint-content {
        padding: 28px 24px;
    }

    .about-page-footprint-content > span {
        left: 24px;
    }

    .about-page-leadership-image {
        min-height: 420px;
    }

    .about-page-leadership-caption {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }
}

/* =========================================================
   SERVICES PAGE
========================================================= */

/* ===================== SERVICES HERO ===================== */
.services-page-hero{
	position:relative;
	min-height:700px;
	height:calc(90svh - var(--desktop-topbar-height));
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.services-page-hero-media{
	position:absolute;
	top:0;
	right:0;
	width:54%;
	height:100%;
	overflow:hidden;
	clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
}
.services-page-hero-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.03);
}
.services-page-hero-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(90deg,#171717 0%,#171717 35%,rgba(23,23,23,.94) 48%,rgba(23,23,23,.45) 68%,rgba(23,23,23,.08) 100%);
}
.services-page-hero-overlay::after{
	position:absolute;
	inset:0;
	content:'';
	opacity:.05;
	background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
	background-size:72px 72px;
}
.services-page-hero-container{
	position:relative;
	z-index:3;
	height:100%;
	display:flex;
	align-items:center;
	padding-top:80px;
	padding-bottom:130px;
}
.services-page-hero-content{
	width:min(760px,54vw);
}
.services-page-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:32px;
	font-size:.66rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,.48);
}
.services-page-breadcrumb a{
	transition:color .3s ease;
}
.services-page-breadcrumb a:hover{
	color:var(--primary);
}
.services-page-breadcrumb i{
	font-size:.72rem;
	color:var(--primary);
}
.services-page-eyebrow{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:20px;
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:rgba(255,255,255,.68);
}
.services-page-eyebrow span{
	display:grid;
	place-items:center;
	width:36px;
	height:36px;
	border:1px solid rgba(255,255,255,.2);
	color:var(--primary-light);
}
.services-page-hero-content h1{
	max-width:760px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(3.2rem,2.3vw,5.9rem);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.06em;
	color:var(--white);
}
.services-page-hero-content h1 span{
	display:block;
	color:var(--primary-light);
}
.services-page-hero-content>p{
	max-width:640px;
	margin:26px 0 0;
	font-size:.94rem;
	line-height:1.8;
	color:rgba(255,255,255,.66);
}
.services-page-hero-actions{
	display:flex;
	align-items:center;
	gap:26px;
	margin-top:30px;
}
.services-page-text-link{
	display:inline-flex;
	align-items:center;
	gap:12px;
	padding:10px 0;
	font-size:.78rem;
	font-weight:700;
	color:var(--white);
}
.services-page-text-link i{
	transition:transform .3s ease;
}
.services-page-text-link:hover{
	color:var(--primary-light);
}
.services-page-text-link:hover i{
	transform:translateX(5px);
}
.services-page-hero-nav{
	position:absolute;
	left:var(--bs-gutter-x);
	right:var(--bs-gutter-x);
	bottom:0;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-top:1px solid rgba(255,255,255,.14);
	border-left:1px solid rgba(255,255,255,.14);
	background:rgba(17,17,17,.76);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
.services-page-hero-nav-item{
	position:relative;
	min-height:100px;
	display:grid;
	grid-template-columns:34px 1fr 20px;
	align-items:center;
	gap:10px;
	padding:0 24px;
	border-right:1px solid rgba(255,255,255,.14);
	border-bottom:1px solid rgba(255,255,255,.14);
	color:rgba(255,255,255,.68);
	transition:color .35s ease,background .35s ease;
}
.services-page-hero-nav-item::before{
	position:absolute;
	top:-1px;
	left:0;
	width:0;
	height:2px;
	content:'';
	background:var(--primary);
	transition:width .4s cubic-bezier(.22,1,.36,1);
}
.services-page-hero-nav-item>span{
	font-size:.66rem;
	font-weight:700;
	color:var(--primary);
}
.services-page-hero-nav-item strong{
	font-family:var(--heading);
	font-size:.88rem;
	font-weight:600;
}
.services-page-hero-nav-item i{
	font-size:.8rem;
}
.services-page-hero-nav-item:hover{
	color:var(--white);
	background:rgba(255,255,255,.04);
}
.services-page-hero-nav-item:hover::before{
	width:100%;
}
@media(max-width:1199.98px){
	.services-page-hero-content{
		width:60vw;
	}
	.services-page-hero-nav-item{
		padding:0 18px;
	}
}
@media(max-width:991.98px){
	.services-page-hero{
		height:calc(88svh - var(--mobile-header-height));
		min-height:690px;
	}
	.services-page-hero-media{
		width:100%;
		clip-path:none;
	}
	.services-page-hero-overlay{
		background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.82) 52%,rgba(17,17,17,.35) 100%);
	}
	.services-page-hero-container{
		padding-top:70px;
		padding-bottom:118px;
	}
	.services-page-hero-content{
		width:76vw;
	}
	.services-page-hero-nav{
		left:0;
		right:0;
	}
}
@media(max-width:767.98px){
	.services-page-hero{
		height:auto;
		min-height:720px;
	}
	.services-page-hero-overlay{
		background:linear-gradient(180deg,rgba(17,17,17,.38) 0%,rgba(17,17,17,.78) 42%,rgba(17,17,17,.98) 100%);
	}
	.services-page-hero-container{
		align-items:flex-end;
		padding-top:140px;
		padding-bottom:190px;
	}
	.services-page-hero-content{
		width:100%;
	}
	.services-page-breadcrumb{
		margin-bottom:22px;
	}
	.services-page-hero-content h1{
		font-size:clamp(2.6rem,11vw,4rem);
	}
	.services-page-hero-content>p{
		font-size:.84rem;
		line-height:1.7;
	}
	.services-page-hero-actions{
		align-items:flex-start;
		flex-direction:column;
		gap:4px;
	}
	.services-page-hero-nav{
		grid-template-columns:repeat(2,1fr);
	}
	.services-page-hero-nav-item{
		min-height:72px;
		padding:0 16px;
	}
}
@media(max-width:575.98px){
	.services-page-hero-container{
		padding-top:120px;
		padding-bottom:188px;
	}
	.services-page-eyebrow{
		font-size:.6rem;
	}
	.services-page-hero-content h1{
		font-size:2.65rem;
	}
	.services-page-hero-nav-item{
		grid-template-columns:25px 1fr;
	}
	.services-page-hero-nav-item i{
		display:none;
	}
	.services-page-hero-nav-item strong{
		font-size:.75rem;
	}
}

/* ===================== SERVICES INTRO ===================== */
.services-page-intro{
	background:var(--white);
}
.services-page-intro-copy{
	max-width:620px;
	margin-left:auto;
}
.services-page-intro-copy p{
	margin:0 0 16px;
	font-size:.88rem;
	line-height:1.85;
}
.services-page-intro-copy p:last-child{
	margin-bottom:0;
}
.services-page-intro-lead{
	font-size:1.05rem!important;
	line-height:1.75!important;
	color:var(--ink);
}
.services-page-intro-line{
	width:100%;
	height:1px;
	margin-top:64px;
	background:var(--line);
}
@media(max-width:991.98px){
	.services-page-intro-copy{
		max-width:100%;
		margin-left:0;
	}
	.services-page-intro-line{
		margin-top:44px;
	}
}
@media(max-width:767.98px){
	.services-page-intro-copy p{
		font-size:.83rem;
	}
	.services-page-intro-lead{
		font-size:.94rem!important;
	}
	.services-page-intro-line{
		margin-top:34px;
	}
}

/* ===================== SERVICE DETAILS ===================== */
.services-page-detail{
	padding:110px 0;
	overflow:hidden;
	background:var(--white);
	scroll-margin-top:90px;
}
.services-page-detail-alt{
	background:var(--light);
}
.services-page-detail-dark{
	color:rgba(255,255,255,.62);
	background:#171717;
}
.services-page-detail-grid{
	display:grid;
	grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);
	align-items:stretch;
	gap:72px;
}
.services-page-detail-grid-reverse{
	grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
}
.services-page-detail-visual{
	position:relative;
	min-height:610px;
	overflow:hidden;
	background:#111;
}
.services-page-detail-visual::after{
	position:absolute;
	inset:0;
	content:'';
	background:linear-gradient(180deg,rgba(0,0,0,.04) 48%,rgba(0,0,0,.7) 100%);
}
.services-page-detail-visual>img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.02);
	transition:transform .9s cubic-bezier(.22,1,.36,1);
}
.services-page-detail-visual:hover>img{
	transform:scale(1.07);
}
.services-page-detail-number{
	position:absolute;
	top:28px;
	left:30px;
	z-index:2;
	font-family:var(--heading);
	font-size:clamp(4rem,7vw,7.5rem);
	font-weight:600;
	line-height:1;
	letter-spacing:-.08em;
	color:rgba(255,255,255,.18);
}
.services-page-detail-caption{
	position:absolute;
	left:30px;
	right:30px;
	bottom:28px;
	z-index:2;
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.services-page-detail-caption span{
	padding:8px 11px;
	border:1px solid rgba(255,255,255,.26);
	font-size:.58rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:rgba(255,255,255,.82);
	background:rgba(17,17,17,.24);
	backdrop-filter:blur(8px);
}
.services-page-detail-content{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:30px 0;
}
.services-page-detail-label{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:20px;
	font-size:.66rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--muted);
}
.services-page-detail-label span{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	border:1px solid var(--line);
	color:var(--primary-dark);
}
.services-page-detail-content h2{
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.7rem,4.1vw,4.6rem);
	font-weight:600;
	line-height:1.02;
	letter-spacing:-.055em;
	color:var(--ink);
}
.services-page-detail-content h2 span{
	display:block;
	color:var(--primary-dark);
}
.services-page-detail-lead{
	max-width:690px;
	margin:28px 0 14px!important;
	font-size:1.04rem!important;
	line-height:1.75!important;
	color:var(--ink)!important;
}
.services-page-detail-content>p{
	max-width:690px;
	margin:0;
	font-size:.86rem;
	line-height:1.85;
}
.services-page-capabilities{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:0 30px;
	margin:34px 0;
	border-top:1px solid var(--line);
}
.services-page-capabilities>div{
	display:flex;
	align-items:flex-start;
	gap:10px;
	min-height:62px;
	padding:17px 0;
	border-bottom:1px solid var(--line);
	font-size:.76rem;
	font-weight:600;
	line-height:1.55;
	color:var(--ink);
}
.services-page-capabilities i{
	margin-top:1px;
	color:var(--primary-dark);
}
.services-page-authorities{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:34px 0;
	padding-top:30px;
	border-top:1px solid var(--line);
}
.services-page-authorities span{
	display:grid;
	place-items:center;
	min-width:76px;
	min-height:46px;
	padding:0 16px;
	border:1px solid var(--line);
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.06em;
	color:var(--ink);
	background:var(--white);
	transition:color .3s ease,border-color .3s ease,background .3s ease;
}
.services-page-authorities span:hover{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
}
.services-page-detail-dark .services-page-detail-label{
	color:rgba(255,255,255,.42);
}
.services-page-detail-dark .services-page-detail-label span{
	border-color:rgba(255,255,255,.14);
	color:var(--primary);
}
.services-page-detail-dark .services-page-detail-content h2{
	color:var(--white);
}
.services-page-detail-dark .services-page-detail-content h2 span{
	color:var(--primary-light);
}
.services-page-detail-dark .services-page-detail-lead{
	color:rgba(255,255,255,.88)!important;
}
.services-page-detail-dark .services-page-detail-content>p{
	color:rgba(255,255,255,.56);
}
.services-page-detail-dark .services-page-capabilities{
	border-color:rgba(255,255,255,.12);
}
.services-page-detail-dark .services-page-capabilities>div{
	border-color:rgba(255,255,255,.12);
	color:rgba(255,255,255,.76);
}
.services-page-detail-dark .services-page-capabilities i{
	color:var(--primary);
}
@media(max-width:1199.98px){
	.services-page-detail-grid,
	.services-page-detail-grid-reverse{
		grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
		gap:48px;
	}
	.services-page-detail-visual{
		min-height:560px;
	}
}
@media(max-width:991.98px){
	.services-page-detail{
		padding:90px 0;
	}
	.services-page-detail-grid,
	.services-page-detail-grid-reverse{
		grid-template-columns:1fr;
		gap:44px;
	}
	.services-page-detail-grid-reverse .services-page-detail-content{
		order:2;
	}
	.services-page-detail-grid-reverse .services-page-detail-visual{
		order:1;
	}
	.services-page-detail-visual{
		min-height:520px;
	}
	.services-page-detail-content{
		padding:0;
	}
}
@media(max-width:767.98px){
	.services-page-detail{
		padding:76px 0;
	}
	.services-page-detail-grid,
	.services-page-detail-grid-reverse{
		gap:34px;
	}
	.services-page-detail-visual{
		min-height:420px;
	}
	.services-page-detail-content h2{
		font-size:clamp(2.3rem,10vw,3.3rem);
	}
	.services-page-detail-lead{
		font-size:.94rem!important;
	}
	.services-page-detail-content>p{
		font-size:.82rem;
	}
	.services-page-capabilities{
		grid-template-columns:1fr;
		margin:28px 0;
	}
}
@media(max-width:575.98px){
	.services-page-detail-visual{
		min-height:360px;
	}
	.services-page-detail-number{
		top:20px;
		left:20px;
	}
	.services-page-detail-caption{
		left:20px;
		right:20px;
		bottom:20px;
	}
	.services-page-detail-caption span{
		padding:7px 9px;
	}
	.services-page-authorities span{
		min-width:70px;
		min-height:42px;
		padding:0 12px;
	}
}

/* ===================== CONNECTED DELIVERY ===================== */
.services-page-journey{
	padding:110px 0;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.services-page-journey-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:70px;
	margin-bottom:50px;
}
.services-page-journey-head h2{
	max-width:760px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.4rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--white);
}
.services-page-journey-head h2 span{
	display:block;
	color:var(--primary-light);
}
.services-page-journey-head>p{
	max-width:500px;
	margin:0;
	font-size:.84rem;
	line-height:1.8;
	color:rgba(255,255,255,.54);
}
.services-page-journey-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.services-page-journey-card{
	position:relative;
	min-height:340px;
	padding:32px 28px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.015);
	transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease;
}
.services-page-journey-card>span{
	display:block;
	margin-bottom:46px;
	font-size:1.5rem;
	font-weight:700;
	color:var(--primary);
}
.services-page-journey-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	margin-bottom:24px;
	color:var(--primary);
	background:rgba(184,173,47,.09);
	transition:color .35s ease,background .35s ease,transform .35s ease;
}
.services-page-journey-icon i{
	font-size:1.2rem;
}
.services-page-journey-card small{
	display:block;
	margin-bottom:9px;
	font-size:.61rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:rgba(255,255,255,.42);
}
.services-page-journey-card h3{
	margin:0 0 12px;
	font-family:var(--heading);
	font-size:1.3rem;
	font-weight:600;
	line-height:1.3;
	letter-spacing:-.025em;
	color:var(--white);
}
.services-page-journey-card p{
	margin:0;
	font-size:.72rem;
	line-height:1.7;
	color:rgba(255,255,255,.5);
}
.services-page-journey-card:hover{
	border-color:rgba(184,173,47,.48);
	background:rgba(255,255,255,.035);
	transform:translateY(-6px);
}
.services-page-journey-card:hover .services-page-journey-icon{
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-3px);
}
@media(max-width:1199.98px){
	.services-page-journey-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:991.98px){
	.services-page-journey{
		padding:90px 0;
	}
	.services-page-journey-head{
		align-items:flex-start;
		flex-direction:column;
		gap:22px;
	}
}
@media(max-width:767.98px){
	.services-page-journey{
		padding:76px 0;
	}
	.services-page-journey-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
	.services-page-journey-grid{
		grid-template-columns:1fr;
		gap:14px;
	}
	.services-page-journey-card{
		min-height:auto;
		padding:28px 24px;
	}
	.services-page-journey-card>span{
		margin-bottom:32px;
	}
}

/* =========================================================
   TEAM PAGE
========================================================= */
/* ===================== TEAM BANNER ===================== */
.team-page-banner{
	position:relative;
	overflow:hidden;
	border-bottom:1px solid var(--line);
	background:var(--light);
}
.team-page-banner::before{
	position:absolute;
	inset:0;
	content:'';
	opacity:.5;
	pointer-events:none;
	background-image:linear-gradient(rgba(17,17,17,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px);
	background-size:80px 80px;
}
.team-page-banner-inner{
	position:relative;
	z-index:2;
	min-height:560px;
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
	align-items:end;
	gap:90px;
	padding-top:130px;
	padding-bottom:90px;
}
.team-page-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:50px;
	font-size:.66rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--muted);
}
.team-page-breadcrumb a{
	transition:color .3s ease;
}
.team-page-breadcrumb a:hover{
	color:var(--primary-dark);
}
.team-page-breadcrumb i{
	font-size:.72rem;
	color:var(--primary-dark);
}
.team-page-banner-tag{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:22px;
	font-size:.69rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--primary-dark);
}
.team-page-banner-tag span{
	width:30px;
	height:2px;
	background:var(--primary);
}
.team-page-banner-main h1{
	max-width:920px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(3.4rem,2.5vw,6rem);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.06em;
	color:var(--ink);
}
.team-page-banner-main h1 span{
	display:block;
	color:var(--primary-dark);
}
.team-page-banner-side{
	padding-bottom:8px;
}
.team-page-banner-side>p{
	max-width:510px;
	margin:0;
	font-size:.92rem;
	line-height:1.85;
	color:var(--text);
}
.team-page-banner-meta{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	margin-top:34px;
	border:1px solid var(--line);
	background:var(--line);
}
.team-page-banner-meta>div{
	padding:22px;
	background:var(--white);
}
.team-page-banner-meta strong,
.team-page-banner-meta span{
	display:block;
}
.team-page-banner-meta strong{
	margin-bottom:7px;
	font-family:var(--heading);
	font-size:1.45rem;
	font-weight:600;
	color:var(--primary-dark);
}
.team-page-banner-meta span{
	font-size:.61rem;
	line-height:1.5;
	color:var(--muted);
}
@media(max-width:991.98px){
	.team-page-banner-inner{
		min-height:auto;
		grid-template-columns:1fr;
		gap:42px;
		padding-top:90px;
		padding-bottom:70px;
	}
	.team-page-breadcrumb{
		margin-bottom:34px;
	}
	.team-page-banner-side{
		max-width:650px;
	}
}
@media(max-width:767.98px){
	.team-page-banner-inner{
		padding-top:70px;
		padding-bottom:60px;
	}
	.team-page-banner-main h1{
		font-size:clamp(2.7rem,11vw,4rem);
	}
	.team-page-banner-side>p{
		font-size:.84rem;
		line-height:1.75;
	}
}
@media(max-width:575.98px){
	.team-page-banner-meta{
		grid-template-columns:1fr;
	}
}


/* ===================== TEAM INTRO ===================== */
.team-page-intro{
	background:var(--white);
}
.team-page-intro-copy{
	max-width:620px;
	margin-left:auto;
}
.team-page-intro-copy p{
	margin:0 0 16px;
	font-size:.88rem;
	line-height:1.85;
}
.team-page-intro-copy p:last-child{
	margin-bottom:0;
}
.team-page-intro-lead{
	font-size:1.03rem!important;
	color:var(--ink);
}
@media(max-width:991.98px){
	.team-page-intro-copy{
		max-width:100%;
		margin-left:0;
	}
}
@media(max-width:767.98px){
	.team-page-intro-copy p{
		font-size:.83rem;
	}
	.team-page-intro-lead{
		font-size:.94rem!important;
	}
}

/* ===================== FOUNDER ===================== */
.team-page-founder{
	padding:110px 0;
	overflow:hidden;
	color:rgba(255,255,255,.62);
	background:#171717;
}
.team-page-founder-grid{
	display:grid;
	grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr);
	min-height:700px;
}
.team-page-founder-image{
	position:relative;
	min-height:700px;
	overflow:hidden;
}
.team-page-founder-image::after{
	position:absolute;
	inset:0;
	content:'';
	background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.78) 100%);
}
.team-page-founder-image>img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.team-page-founder-image-label{
	position:absolute;
	left:36px;
	right:36px;
	bottom:34px;
	z-index:2;
}
.team-page-founder-image-label span,
.team-page-founder-image-label strong{
	display:block;
}
.team-page-founder-image-label span{
	margin-bottom:8px;
	font-size:.62rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.team-page-founder-image-label strong{
	max-width:350px;
	font-family:var(--heading);
	font-size:1.30rem;
	line-height:1.4;
	color:var(--white);
}
.team-page-founder-content{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:60px clamp(42px,5vw,85px);
	border:1px solid rgba(255,255,255,.1);
}
.team-page-founder-role{
	display:block;
	margin-bottom:8px;
	font-size:.66rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--primary);
}
.team-page-founder-content h2{
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.8rem,4vw,4.5rem);
	font-weight:600;
	line-height:1;
	letter-spacing:-.055em;
	color:var(--white);
}
.team-page-founder-qualification{
	width:fit-content;
	margin:16px 0 26px;
	padding:8px 12px;
	border:1px solid rgba(255,255,255,.15);
	font-size:.67rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,.7);
}
.team-page-founder-content>p{
	max-width:780px;
	margin:0 0 14px;
	font-size:.81rem;
	line-height:1.82;
}
.team-page-founder-lead{
	font-size:1rem!important;
	color:rgba(255,255,255,.9)!important;
}
.team-page-founder-stats{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:1px;
	margin-top:30px;
	background:rgba(255,255,255,.12);
}
.team-page-founder-stats>div{
	padding:22px 16px;
	background:#171717;
}
.team-page-founder-stats strong,
.team-page-founder-stats span{
	display:block;
}
.team-page-founder-stats strong{
	margin-bottom:7px;
	font-family:var(--heading);
	font-size:1rem;
	font-weight:600;
	color:var(--primary-light);
}
.team-page-founder-stats span{
	font-size:.6rem;
	line-height:1.5;
	color:rgba(255,255,255,.46);
}
@media(max-width:1199.98px){
	.team-page-founder-grid{
		grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);
	}
	.team-page-founder-stats{
		grid-template-columns:repeat(2,1fr);
	}
}
@media(max-width:991.98px){
	.team-page-founder{
		padding:90px 0;
	}
	.team-page-founder-grid{
		grid-template-columns:1fr;
	}
	.team-page-founder-image{
		min-height:600px;
	}
	.team-page-founder-content{
		padding:54px 40px;
	}
}
@media(max-width:767.98px){
	.team-page-founder{
		padding:76px 0;
	}
	.team-page-founder-image{
		min-height:480px;
	}
	.team-page-founder-content{
		padding:42px 26px;
	}
	.team-page-founder-content h2{
		font-size:2.7rem;
	}
	.team-page-founder-content>p{
		font-size:.78rem;
	}
}
@media(max-width:575.98px){
	.team-page-founder-image{
		min-height:420px;
	}
	.team-page-founder-image-label{
		left:24px;
		right:24px;
		bottom:24px;
	}
	.team-page-founder-stats{
		grid-template-columns:1fr;
	}
}

/* ===================== TEAM MEMBERS ===================== */
.team-page-members{
	overflow:hidden;
	background:var(--white);
}
.team-page-members-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:60px;
	margin-bottom:48px;
}
.team-page-members-head h2{
	max-width:780px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.3rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.team-page-members-head h2 span{
	display:block;
	color:var(--primary-dark);
}
.team-page-members-controls{
	display:flex;
	gap:8px;
}
.team-page-members-arrow{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	padding:0;
	border:1px solid var(--line);
	color:var(--ink);
	background:var(--white);
	transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s ease;
}
.team-page-members-arrow:hover{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-2px);
}
.team-page-members-arrow i{
	font-size:1rem;
}
.team-members-swiper{
	overflow:visible;
}
.team-members-swiper .swiper-slide{
	width:420px;
	height:auto;
}
.team-member-card{
	height:100%;
	display:flex;
	flex-direction:column;
	border:1px solid var(--line);
	background:var(--white);
	transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease;
}
.team-member-image{
	position:relative;
	height:470px;
	overflow:hidden;
	background:var(--light);
}
.team-member-image>img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
	filter:grayscale(.18);
	transform:scale(1.02);
	transition:filter .55s ease,transform .75s cubic-bezier(.22,1,.36,1);
}
.team-member-image-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.42) 100%);
	pointer-events:none;
}
.team-member-number{
	position:absolute;
	top:22px;
	left:22px;
	z-index:2;
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border:1px solid rgba(255,255,255,.4);
	font-size:.80rem;
	font-weight:700;
	color:var(--primary-light);
	background:rgba(17,17,17,.50);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.team-member-content{
	flex:1;
	display:flex;
	flex-direction:column;
	padding:28px;
}
.team-member-role{
	display:block;
	margin-bottom:9px;
	font-size:.63rem;
	font-weight:700;
	line-height:1.5;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--primary-dark);
}
.team-member-content h3{
	margin:0;
	font-family:var(--heading);
	font-size:1.7rem;
	font-weight:600;
	line-height:1.2;
	letter-spacing:-.035em;
	color:var(--ink);
}
.team-member-qualification{
	display:block;
	margin-top:7px;
	font-size:.66rem;
	font-weight:600;
	color:var(--muted);
}
.team-member-content>p{
	margin:20px 0 0;
	font-size:.76rem;
	line-height:1.75;
	color:var(--text);
}
.team-member-tags{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-top:auto;
	padding-top:26px;
}
.team-member-tags span{
	padding:7px 10px;
	font-size:.56rem;
	font-weight:700;
	letter-spacing:.04em;
	color:var(--muted);
	background:var(--light);
}
.team-member-card:hover{
	border-color:rgba(184,173,47,.38);
	transform:translateY(-7px);
	box-shadow:0 22px 48px rgba(0,0,0,.08);
}
.team-member-card:hover .team-member-image>img{
	filter:grayscale(0);
	transform:scale(1.07);
}
.team-members-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	margin-top:34px;
}
.team-members-pagination{
	position:relative!important;
	top:auto!important;
	left:auto!important;
	right:auto!important;
	bottom:auto!important;
	width:calc(100% - 120px)!important;
	height:2px!important;
	overflow:hidden;
	border-radius:0!important;
	background:var(--line)!important;
}
.team-members-pagination .swiper-pagination-progressbar-fill{
	background:var(--primary)!important;
}
.team-members-count{
	min-width:90px;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:7px;
	font-family:var(--heading);
	color:var(--ink);
}
.team-members-count span{
	font-size:.9rem;
	font-weight:600;
}
.team-members-count small{
	font-size:.68rem;
	color:var(--muted);
}
.team-members-current{
	color:var(--primary-dark)!important;
}
@media(max-width:1199.98px){
	.team-members-swiper .swiper-slide{
		width:370px;
	}
	.team-member-image{
		height:420px;
	}
}
@media(max-width:991.98px){
	.team-page-members-head{
		align-items:flex-start;
		flex-direction:column;
		gap:24px;
	}
	.team-members-swiper .swiper-slide{
		width:360px;
	}
}
@media(max-width:767.98px){
	.team-page-members-head{
		margin-bottom:34px;
	}
	.team-page-members-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
	.team-page-members-arrow{
		width:46px;
		height:46px;
	}
	.team-members-swiper .swiper-slide{
		width:82vw;
	}
	.team-member-image{
		height:430px;
	}
}
@media(max-width:575.98px){
	.team-members-swiper .swiper-slide{
		width:88vw;
	}
	.team-member-image{
		height:390px;
	}
	.team-member-content{
		padding:24px;
	}
	.team-members-bottom{
		margin-top:26px;
	}
}

/* ===================== TEAM APPROACH ===================== */
.team-page-approach{
	padding:110px 0;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.team-page-approach-head{
	max-width:870px;
	margin-bottom:50px;
}
.team-page-approach-head h2{
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.4rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--white);
}
.team-page-approach-head h2 span{
	display:block;
	color:var(--primary-light);
}
.team-page-approach-head>p{
	max-width:650px;
	margin:24px 0 0;
	font-size:.84rem;
	line-height:1.8;
	color:rgba(255,255,255,.52);
}
.team-page-approach-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.team-page-approach-card{
	position:relative;
	min-height:330px;
	padding:32px 28px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.015);
	transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease;
}
.team-page-approach-card > span{
	display:block;
	margin-bottom:44px;
	font-size:1.5rem;
	font-weight:700;
	color:var(--primary);
}
.team-page-approach-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	margin-bottom:24px;
	color:var(--primary);
	background:rgba(184,173,47,.09);
	transition:color .35s ease,background .35s ease,transform .35s ease;
}
.team-page-approach-icon i{
	font-size:1.2rem;
}
.team-page-approach-card h3{
	margin:0 0 12px;
	font-family:var(--heading);
	font-size:1.25rem;
	font-weight:600;
	line-height:1.3;
	color:var(--white);
}
.team-page-approach-card p{
	margin:0;
	font-size:.72rem;
	line-height:1.7;
	color:rgba(255,255,255,.48);
}
.team-page-approach-card:hover{
	border-color:rgba(184,173,47,.48);
	background:rgba(255,255,255,.035);
	transform:translateY(-6px);
}
.team-page-approach-card:hover .team-page-approach-icon{
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-3px);
}
@media(max-width:1199.98px){
	.team-page-approach-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:991.98px){
	.team-page-approach{
		padding:90px 0;
	}
}
@media(max-width:767.98px){
	.team-page-approach{
		padding:76px 0;
	}
	.team-page-approach-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
	.team-page-approach-grid{
		grid-template-columns:1fr;
		gap:14px;
	}
	.team-page-approach-card{
		min-height:auto;
		padding:28px 24px;
	}
	.team-page-approach-card>span{
		margin-bottom:30px;
	}
}

/* =========================================================
   GALLERY PAGE
========================================================= */

/* ===================== GALLERY BANNER ===================== */
.gallery-page-banner{
	position:relative;
	overflow:hidden;
	border-bottom:1px solid var(--line);
	background:var(--light);
}
.gallery-page-banner::before{
	position:absolute;
	inset:0;
	content:'';
	opacity:.5;
	pointer-events:none;
	background-image:linear-gradient(rgba(17,17,17,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px);
	background-size:80px 80px;
}
.gallery-page-banner-inner{
	position:relative;
	z-index:2;
	min-height:560px;
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
	align-items:end;
	gap:90px;
	padding-top:130px;
	padding-bottom:90px;
}
.gallery-page-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:50px;
	font-size:.66rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--muted);
}
.gallery-page-breadcrumb a{
	transition:color .3s ease;
}
.gallery-page-breadcrumb a:hover{
	color:var(--primary-dark);
}
.gallery-page-breadcrumb i{
	font-size:.72rem;
	color:var(--primary-dark);
}
.gallery-page-banner-tag{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:22px;
	font-size:.69rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--primary-dark);
}
.gallery-page-banner-tag span{
	width:30px;
	height:2px;
	flex-shrink:0;
	background:var(--primary);
}
.gallery-page-banner-main h1{
	max-width:950px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(3.4rem,2.5vw,6rem);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.06em;
	color:var(--ink);
}
.gallery-page-banner-main h1 span{
	display:block;
	color:var(--primary-dark);
}
.gallery-page-banner-side{
	padding-bottom:8px;
}
.gallery-page-banner-side>p{
	max-width:510px;
	margin:0;
	font-size:.92rem;
	line-height:1.85;
	color:var(--text);
}
.gallery-page-banner-note{
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:30px;
	padding-top:24px;
	border-top:1px solid var(--line);
	font-size:.69rem;
	font-weight:600;
	line-height:1.6;
	color:var(--muted);
}
.gallery-page-banner-note i{
	flex-shrink:0;
	font-size:1rem;
	color:var(--primary-dark);
}
@media(max-width:991.98px){
	.gallery-page-banner-inner{
		min-height:auto;
		grid-template-columns:1fr;
		gap:42px;
		padding-top:90px;
		padding-bottom:70px;
	}
	.gallery-page-breadcrumb{
		margin-bottom:34px;
	}
	.gallery-page-banner-side{
		max-width:650px;
		padding-bottom:0;
	}
}
@media(max-width:767.98px){
	.gallery-page-banner-inner{
		gap:32px;
		padding-top:70px;
		padding-bottom:60px;
	}
	.gallery-page-breadcrumb{
		margin-bottom:26px;
	}
	.gallery-page-banner-tag{
		margin-bottom:18px;
		font-size:.62rem;
	}
	.gallery-page-banner-main h1{
		font-size:clamp(2.7rem,11vw,4rem);
	}
	.gallery-page-banner-side>p{
		font-size:.84rem;
		line-height:1.75;
	}
	.gallery-page-banner-note{
		margin-top:22px;
		padding-top:20px;
	}
}
@media(max-width:575.98px){
	.gallery-page-banner-inner{
		padding-top:60px;
		padding-bottom:52px;
	}
	.gallery-page-banner-main h1{
		font-size:2.7rem;
	}
}

/* ===================== GALLERY SECTION ===================== */
.gallery-page-section{
	overflow:hidden;
	background:var(--white);
}
.gallery-page-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:60px;
	margin-bottom:38px;
}
.gallery-page-head h2{
	max-width:780px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.3rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.gallery-page-head h2 span{
	display:block;
	color:var(--primary-dark);
}
.gallery-page-count{
	min-width:150px;
	padding-left:24px;
	border-left:1px solid var(--line);
}
.gallery-page-count strong,
.gallery-page-count span{
	display:block;
}
.gallery-page-count strong{
	margin-bottom:5px;
	font-family:var(--heading);
	font-size:2.2rem;
	font-weight:600;
	line-height:1;
	color:var(--primary-dark);
}
.gallery-page-count span{
	font-size:.62rem;
	font-weight:700;
	line-height:1.5;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--muted);
}
@media(max-width:991.98px){
	.gallery-page-head{
		align-items:flex-start;
		flex-direction:column;
		gap:24px;
	}
	.gallery-page-count{
		min-width:0;
		padding-top:16px;
		padding-left:0;
		border-top:1px solid var(--line);
		border-left:0;
	}
}
@media(max-width:767.98px){
	.gallery-page-head{
		margin-bottom:30px;
	}
	.gallery-page-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
}

/* ===================== GALLERY FILTER ===================== */
.gallery-page-filters{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:38px;
	padding-bottom:22px;
	border-bottom:1px solid var(--line);
}
.gallery-filter-btn{
	position:relative;
	min-height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 18px;
	border:1px solid var(--line);
	font-size:.68rem;
	font-weight:700;
	line-height:1;
	letter-spacing:.04em;
	color:var(--muted);
	background:var(--white);
	transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s ease;
}
.gallery-filter-btn:hover{
	border-color:var(--primary);
	color:var(--ink);
	transform:translateY(-2px);
}
.gallery-filter-btn.active{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
}
@media(max-width:767.98px){
	.gallery-page-filters{
		gap:6px;
		margin-bottom:28px;
		padding-bottom:18px;
	}
	.gallery-filter-btn{
		min-height:40px;
		padding:0 14px;
		font-size:.62rem;
	}
}
@media(max-width:575.98px){
	.gallery-page-filters{
		display:grid;
		grid-template-columns:repeat(3,1fr);
	}
	.gallery-filter-btn{
		width:100%;
		padding:0 10px;
	}
}

/* ===================== GALLERY GRID ===================== */
.gallery-page-grid{
	display:grid;
	grid-template-columns:repeat(12,minmax(0,1fr));
	gap:18px;
}
.gallery-page-item{
	position:relative;
	grid-column:span 4;
	overflow:hidden;
	color:var(--white);
	background:#171717;
	transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.gallery-page-item-large{
	grid-column:span 8;
}
.gallery-page-item.gallery-hidden{
	display:none;
}
.gallery-page-image{
	aspect-ratio:1200 / 762;
	overflow:hidden;
	background:#e9e9e9;
}
.gallery-page-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.01);
	transition:transform .75s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.gallery-page-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
	background:linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.18) 50%,rgba(0,0,0,.8) 100%);
	transition:background .45s ease;
}
.gallery-page-item-top{
	position:absolute;
	top:20px;
	left:20px;
	right:20px;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}
.gallery-page-item-top span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:30px;
	padding:0 11px;
	font-size:.57rem;
	font-weight:700;
	line-height:1;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--brand-black);
	background:var(--primary);
}
.gallery-page-item-top small{
	display:grid;
	place-items:center;
	width:36px;
	height:36px;
	flex-shrink:0;
	border:1px solid rgba(255,255,255,.34);
	font-size:.58rem;
	font-weight:700;
	color:rgba(255,255,255,.9);
	background:rgba(17,17,17,.18);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.gallery-page-item-content{
	position:absolute;
	left:26px;
	right:84px;
	bottom:24px;
	z-index:3;
	color:var(--white);
	transform:translateY(7px);
	transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.gallery-page-item-content>span{
	display:block;
	margin-bottom:7px;
	font-size:.59rem;
	font-weight:700;
	line-height:1.4;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.gallery-page-item-content h3{
	max-width:520px;
	margin:0;
	font-family:var(--heading);
	font-size:1.35rem;
	font-weight:600;
	line-height:1.25;
	letter-spacing:-.025em;
	color:var(--white);
}
.gallery-page-view{
	position:absolute;
	right:22px;
	bottom:22px;
	z-index:3;
	width:48px;
	height:48px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.32);
	color:var(--white);
	background:rgba(17,17,17,.22);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transform:scale(.88);
	opacity:.78;
	transition:color .3s ease,background .3s ease,border-color .3s ease,transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.gallery-page-view i{
	font-size:.94rem;
}
.gallery-page-item:hover .gallery-page-image img{
	transform:scale(1.07);
}
.gallery-page-item:hover .gallery-page-overlay{
	background:linear-gradient(180deg,rgba(0,0,0,.02) 18%,rgba(0,0,0,.24) 42%,rgba(0,0,0,.88) 100%);
}
.gallery-page-item:hover .gallery-page-item-content{
	transform:translateY(0);
}
.gallery-page-item:hover .gallery-page-view{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
	transform:scale(1);
	opacity:1;
}
@media(max-width:1199.98px){
	.gallery-page-grid{
		gap:16px;
	}
	.gallery-page-item,
	.gallery-page-item-large{
		grid-column:span 6;
	}
}
@media(max-width:767.98px){
	.gallery-page-grid{
		grid-template-columns:1fr;
		gap:14px;
	}
	.gallery-page-item,
	.gallery-page-item-large{
		grid-column:auto;
	}
	.gallery-page-item-content{
		left:20px;
		right:72px;
		bottom:20px;
	}
	.gallery-page-view{
		right:18px;
		bottom:18px;
		width:44px;
		height:44px;
	}
	.gallery-page-item-top{
		top:18px;
		left:18px;
		right:18px;
	}
}
@media(max-width:575.98px){
	.gallery-page-item-top{
		top:15px;
		left:15px;
		right:15px;
	}
	.gallery-page-item-top span{
		min-height:28px;
		padding:0 9px;
		font-size:.53rem;
	}
	.gallery-page-item-top small{
		width:32px;
		height:32px;
	}
	.gallery-page-item-content{
		left:17px;
		right:65px;
		bottom:17px;
	}
	.gallery-page-item-content h3{
		font-size:1.08rem;
	}
	.gallery-page-view{
		right:15px;
		bottom:15px;
		width:42px;
		height:42px;
	}
}

/* ===================== CULTURE STATEMENT ===================== */
.gallery-page-statement{
	padding:100px 0;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.gallery-page-statement-inner{
	display:grid;
	grid-template-columns:150px minmax(0,1fr) 190px;
	align-items:center;
	gap:60px;
}
.gallery-page-statement-mark{
	width:120px;
	height:120px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.12);
	color:var(--primary);
	background:rgba(255,255,255,.02);
}
.gallery-page-statement-mark i{
	font-size:2.3rem;
}
.gallery-page-statement-content h2{
	max-width:800px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.3rem,3.6vw,4rem);
	font-weight:600;
	line-height:1.06;
	letter-spacing:-.05em;
	color:var(--white);
}
.gallery-page-statement-content h2 span{
	display:block;
	color:var(--primary-light);
}
.gallery-page-statement-content>p{
	max-width:700px;
	margin:22px 0 0;
	font-size:.8rem;
	line-height:1.8;
	color:rgba(255,255,255,.5);
}
.gallery-page-statement-link{
	width:190px;
	height:190px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:28px;
	color:var(--brand-black);
	background:var(--primary);
	transition:color .35s ease,background .35s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.gallery-page-statement-link span{
	font-family:var(--heading);
	font-size:.95rem;
	line-height:1.3;
}
.gallery-page-statement-link strong{
	display:block;
	font-size:1.35rem;
	font-weight:600;
}
.gallery-page-statement-link i{
	align-self:flex-end;
	font-size:1.6rem;
	transition:transform .35s ease;
}
.gallery-page-statement-link:hover{
	color:var(--brand-black);
	background:var(--white);
	transform:translateY(-6px);
}
.gallery-page-statement-link:hover i{
	transform:translate(4px,-4px);
}
@media(max-width:1199.98px){
	.gallery-page-statement-inner{
		grid-template-columns:120px minmax(0,1fr) 160px;
		gap:40px;
	}
	.gallery-page-statement-mark{
		width:100px;
		height:100px;
	}
	.gallery-page-statement-link{
		width:160px;
		height:160px;
		padding:22px;
	}
}
@media(max-width:991.98px){
	.gallery-page-statement{
		padding:90px 0;
	}
	.gallery-page-statement-inner{
		grid-template-columns:1fr;
		gap:30px;
	}
	.gallery-page-statement-mark{
		width:80px;
		height:80px;
	}
	.gallery-page-statement-mark i{
		font-size:1.8rem;
	}
	.gallery-page-statement-link{
		width:100%;
		height:auto;
		min-height:110px;
		flex-direction:row;
		align-items:flex-end;
		padding:24px;
	}
	.gallery-page-statement-link i{
		align-self:auto;
	}
}
@media(max-width:767.98px){
	.gallery-page-statement{
		padding:76px 0;
	}
	.gallery-page-statement-content h2{
		font-size:clamp(2.1rem,9vw,3rem);
	}
	.gallery-page-statement-content>p{
		font-size:.76rem;
	}
}
@media(max-width:575.98px){
	.gallery-page-statement-mark{
		width:70px;
		height:70px;
	}
	.gallery-page-statement-link{
		min-height:100px;
		padding:20px;
	}
}

/* ===================== FANCYBOX ===================== */
.fancybox__backdrop{
	background:rgba(10,10,10,.96)!important;
}
.fancybox__container{
	--fancybox-bg:rgba(10,10,10,.96);
	--f-button-bg:rgba(255,255,255,.08);
	--f-button-hover-bg:var(--primary);
	--f-button-color:#ffffff;
	--f-button-hover-color:#111111;
}
.fancybox__caption{
	padding:14px 20px 24px!important;
	font-family:var(--body);
	font-size:.78rem!important;
	font-weight:600;
	letter-spacing:.02em;
	color:rgba(255,255,255,.76)!important;
}
.fancybox__toolbar{
	padding:12px!important;
}
.f-button{
	transition:color .3s ease,background .3s ease!important;
}
@media(max-width:767.98px){
	.fancybox__caption{
		padding:12px 16px 20px!important;
		font-size:.72rem!important;
	}
}

/* =========================================================
   PROJECTS PAGE
========================================================= */

/* ===================== PROJECTS BANNER ===================== */
.projects-page-banner{
	position:relative;
	overflow:hidden;
	color:var(--white);
	background:url('../images/projects/banner.webp') center center/cover no-repeat;
}
.projects-page-banner::before{
	position:absolute;
	inset:0;
	z-index:1;
	content:'';
	background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.86) 38%,rgba(17,17,17,.58) 68%,rgba(17,17,17,.34) 100%);
}
.projects-page-banner::after{
	position:absolute;
	inset:0;
	z-index:1;
	content:'';
	opacity:.06;
	pointer-events:none;
	background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
	background-size:80px 80px;
}
.projects-page-banner-inner{
	position:relative;
	z-index:3;
	min-height:620px;
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
	align-items:end;
	gap:90px;
	padding-top:150px;
	padding-bottom:95px;
}
.projects-page-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:50px;
	font-size:.66rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,.5);
}
.projects-page-breadcrumb a{
	transition:color .3s ease;
}
.projects-page-breadcrumb a:hover{
	color:var(--primary-light);
}
.projects-page-breadcrumb i{
	font-size:.72rem;
	color:var(--primary);
}
.projects-page-banner-tag{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:22px;
	font-size:.69rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.projects-page-banner-tag span{
	width:30px;
	height:2px;
	flex-shrink:0;
	background:var(--primary);
}
.projects-page-banner-main h1{
	max-width:950px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(3.4rem,2.5vw,6rem);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.06em;
	color:var(--white);
}
.projects-page-banner-main h1 span{
	display:block;
	color:var(--primary-light);
}
.projects-page-banner-side{
	padding-bottom:8px;
}
.projects-page-banner-side>p{
	max-width:510px;
	margin:0;
	font-size:.92rem;
	line-height:1.85;
	color:rgba(255,255,255,.7);
}
.projects-page-banner-note{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	margin-top:30px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.14);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
}
.projects-page-banner-note>div{
	padding:18px 20px;
	background:rgba(17,17,17,.42);
}
.projects-page-banner-note strong,
.projects-page-banner-note span{
	display:block;
}
.projects-page-banner-note strong{
	margin-bottom:4px;
	font-family:var(--heading);
	font-size:.92rem;
	font-weight:600;
	color:var(--primary-light);
}
.projects-page-banner-note span{
	font-size:.58rem;
	font-weight:600;
	color:rgba(255,255,255,.55);
}
@media(max-width:1199.98px){
	.projects-page-banner-inner{
		gap:60px;
	}
}
@media(max-width:991.98px){
	.projects-page-banner{
		background-position:center center;
	}
	.projects-page-banner::before{
		background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.82) 58%,rgba(17,17,17,.48) 100%);
	}
	.projects-page-banner-inner{
		min-height:auto;
		grid-template-columns:1fr;
		gap:42px;
		padding-top:110px;
		padding-bottom:80px;
	}
	.projects-page-breadcrumb{
		margin-bottom:34px;
	}
	.projects-page-banner-side{
		max-width:650px;
		padding-bottom:0;
	}
}
@media(max-width:767.98px){
	.projects-page-banner::before{
		background:linear-gradient(180deg,rgba(17,17,17,.62) 0%,rgba(17,17,17,.9) 62%,rgba(17,17,17,.97) 100%);
	}
	.projects-page-banner-inner{
		gap:32px;
		padding-top:90px;
		padding-bottom:70px;
	}
	.projects-page-breadcrumb{
		margin-bottom:26px;
	}
	.projects-page-banner-main h1{
		font-size:clamp(2.7rem,11vw,4rem);
	}
	.projects-page-banner-side>p{
		font-size:.84rem;
		line-height:1.75;
	}
}
@media(max-width:575.98px){
	.projects-page-banner{
		background-position:58% center;
	}
	.projects-page-banner-inner{
		padding-top:75px;
		padding-bottom:60px;
	}
	.projects-page-banner-note{
		grid-template-columns:1fr;
	}
}

/* ===================== PROJECTS SECTION ===================== */
.projects-page-section{
	overflow:hidden;
	background:var(--white);
}
.projects-page-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:60px;
	margin-bottom:42px;
}
.projects-page-head h2{
	max-width:780px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.3rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.projects-page-head h2 span{
	display:block;
	color:var(--primary-dark);
}
.projects-page-total{
	min-width:150px;
	padding-left:24px;
	border-left:1px solid var(--line);
}
.projects-page-total strong,
.projects-page-total span{
	display:block;
}
.projects-page-total strong{
	margin-bottom:5px;
	font-family:var(--heading);
	font-size:2.2rem;
	font-weight:600;
	line-height:1;
	color:var(--primary-dark);
}
.projects-page-total span{
	font-size:.61rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--muted);
}
@media(max-width:991.98px){
	.projects-page-head{
		align-items:flex-start;
		flex-direction:column;
		gap:24px;
	}
	.projects-page-total{
		padding-top:16px;
		padding-left:0;
		border-top:1px solid var(--line);
		border-left:0;
	}
}
@media(max-width:767.98px){
	.projects-page-head{
		margin-bottom:32px;
	}
	.projects-page-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
}

/* ===================== PROJECT FILTER ===================== */
.projects-page-filters{
	display:flex;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
	margin-bottom:40px;
	padding:0 0 22px;
	border-bottom:1px solid var(--line);
}
.projects-filter-btn{
	padding:0;
	border:0;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.035em;
	text-transform:uppercase;
	color:var(--ink);
	background:transparent;
	transition:color .3s ease;
}
.projects-page-filters>span{
	font-size:.88rem;
	font-weight:400;
	color:#88b8dd;
}
.projects-filter-btn:hover,
.projects-filter-btn.active{
	color:var(--primary-dark);
}
@media(max-width:767.98px){
	.projects-page-filters{
		gap:10px;
		margin-bottom:30px;
		padding-bottom:18px;
	}
	.projects-filter-btn{
		font-size:.64rem;
	}
	.projects-page-filters>span{
		font-size:.7rem;
	}
}
@media(max-width:575.98px){
	.projects-page-filters{
		gap:8px;
	}
	.projects-filter-btn{
		font-size:.6rem;
	}
}

/* ===================== PROJECT GRID ===================== */
.projects-page-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px 18px;
}
.projects-page-item{
	min-width:0;
}
.projects-page-item.projects-hidden{
	display:none;
}
.projects-page-card{
	height:100%;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:1px solid var(--line);
	color:inherit;
	background:#f6f7f8;
	transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .4s ease;
}
.projects-page-image{
	position:relative;
	aspect-ratio:1.55 / 1;
	overflow:hidden;
	background:var(--light);
}
.projects-page-image>img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	transform:scale(1.01);
	transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease;
}
.projects-page-image-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.42) 100%);
	transition:background .4s ease;
}
.projects-page-category{
	position:absolute;
	top:20px;
	left:20px;
	z-index:3;
	padding:8px 11px;
	font-size:.56rem;
	font-weight:700;
	letter-spacing:.11em;
	text-transform:uppercase;
	color:var(--brand-black);
	background:var(--primary);
}
.projects-page-number{
	position:absolute;
	top:20px;
	right:20px;
	z-index:3;
	display:grid;
	place-items:center;
	width:36px;
	height:36px;
	border:1px solid rgba(255,255,255,.35);
	font-size:.58rem;
	font-weight:700;
	color:var(--white);
	background:rgba(17,17,17,.18);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.projects-page-arrow{
	position:absolute;
	right:20px;
	bottom:20px;
	z-index:3;
	width:48px;
	height:48px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.34);
	color:var(--white);
	background:rgba(17,17,17,.22);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transform:translateY(8px) scale(.92);
	opacity:.82;
	transition:color .35s ease,background .35s ease,border-color .35s ease,transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease;
}
.projects-page-arrow i{
	font-size:1rem;
	transition:transform .35s ease;
}
.projects-page-card-content{
	flex:1;
	display:flex;
	flex-direction:column;
	min-height:210px;
	padding:25px 24px 22px;
}
.projects-page-location{
	display:flex;
	align-items:center;
	gap:7px;
	margin-bottom:10px;
	font-size:.8rem;
	font-weight:600;
	color:var(--muted);
}
.projects-page-location i{
	color:var(--primary-dark);
}
.projects-page-card-content h3{
	margin:0;
	font-family:var(--heading);
	font-size:1.42rem;
	font-weight:600;
	line-height:1.25;
	letter-spacing:-.03em;
	color:var(--ink);
	transition:color .35s ease;
}
.projects-page-card-bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:18px;
	margin-top:auto;
	padding-top:22px;
	border-top:1px solid var(--line);
}
.projects-page-card-bottom span{
	max-width:65%;
	font-size:.8rem;
	line-height:1.5;
	color:var(--muted);
}
.projects-page-card-bottom strong{
	flex-shrink:0;
	font-size:.59rem;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--primary-dark);
}
.projects-page-card:hover{
	border-color:rgba(184,173,47,.4);
	transform:translateY(-8px);
	box-shadow:0 22px 50px rgba(0,0,0,.09);
}
.projects-page-card:hover .projects-page-image>img{
	transform:scale(1.075);
}
.projects-page-card:hover .projects-page-image-overlay{
	background:linear-gradient(180deg,rgba(0,0,0,.03) 20%,rgba(0,0,0,.62) 100%);
}
.projects-page-card:hover .projects-page-arrow{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(0) scale(1);
	opacity:1;
}
.projects-page-card:hover .projects-page-arrow i{
	transform:translate(2px,-2px);
}
.projects-page-card:hover .projects-page-card-content h3{
	color:var(--primary-dark);
}
@media(max-width:1199.98px){
	.projects-page-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:767.98px){
	.projects-page-grid{
		grid-template-columns:1fr;
		gap:16px;
	}
	.projects-page-card-content{
		min-height:190px;
	}
}
@media(max-width:575.98px){
	.projects-page-image{
		aspect-ratio:1.45 / 1;
	}
	.projects-page-category{
		top:16px;
		left:16px;
	}
	.projects-page-number{
		top:16px;
		right:16px;
	}
	.projects-page-arrow{
		right:16px;
		bottom:16px;
		width:44px;
		height:44px;
	}
	.projects-page-card-content{
		padding:22px 20px 20px;
	}
	.projects-page-card-content h3{
		font-size:1.28rem;
	}
}

/* ===================== PROJECT STATEMENT ===================== */
.projects-page-statement{
	padding:100px 0;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.projects-page-statement-inner{
	display:grid;
	grid-template-columns:150px minmax(0,1fr) 190px;
	align-items:center;
	gap:60px;
}
.projects-page-statement-icon{
	width:120px;
	height:120px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.12);
	color:var(--primary);
	background:rgba(255,255,255,.02);
}
.projects-page-statement-icon i{
	font-size:2.2rem;
}
.projects-page-statement-content h2{
	max-width:800px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.3rem,3.6vw,4rem);
	font-weight:600;
	line-height:1.06;
	letter-spacing:-.05em;
	color:var(--white);
}
.projects-page-statement-content h2 span{
	display:block;
	color:var(--primary-light);
}
.projects-page-statement-content>p{
	max-width:700px;
	margin:22px 0 0;
	font-size:.8rem;
	line-height:1.8;
	color:rgba(255,255,255,.5);
}
.projects-page-statement-link{
	width:190px;
	height:190px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:28px;
	color:var(--brand-black);
	background:var(--primary);
	transition:background .35s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.projects-page-statement-link span{
	font-family:var(--heading);
	font-size:.95rem;
	line-height:1.3;
}
.projects-page-statement-link strong{
	display:block;
	font-size:1.35rem;
}
.projects-page-statement-link i{
	align-self:flex-end;
	font-size:1.6rem;
	transition:transform .35s ease;
}
.projects-page-statement-link:hover{
	color:var(--brand-black);
	background:var(--white);
	transform:translateY(-6px);
}
.projects-page-statement-link:hover i{
	transform:translate(4px,-4px);
}
@media(max-width:1199.98px){
	.projects-page-statement-inner{
		grid-template-columns:120px minmax(0,1fr) 160px;
		gap:40px;
	}
	.projects-page-statement-icon{
		width:100px;
		height:100px;
	}
	.projects-page-statement-link{
		width:160px;
		height:160px;
		padding:22px;
	}
}
@media(max-width:991.98px){
	.projects-page-statement{
		padding:90px 0;
	}
	.projects-page-statement-inner{
		grid-template-columns:1fr;
		gap:30px;
	}
	.projects-page-statement-icon{
		width:80px;
		height:80px;
	}
	.projects-page-statement-link{
		width:100%;
		height:auto;
		min-height:110px;
		flex-direction:row;
		align-items:flex-end;
		padding:24px;
	}
	.projects-page-statement-link i{
		align-self:auto;
	}
}
@media(max-width:767.98px){
	.projects-page-statement{
		padding:76px 0;
	}
	.projects-page-statement-content h2{
		font-size:clamp(2.1rem,9vw,3rem);
	}
	.projects-page-statement-content>p{
		font-size:.76rem;
	}
}

/* =========================================================
   PROJECT DETAIL PAGE
========================================================= */

/* ===================== PROJECT DETAIL BANNER ===================== */
.project-detail-banner{
	position:relative;
	min-height:650px;
	height:calc(88svh - var(--desktop-topbar-height));
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.project-detail-banner-image{
	position:absolute;
	inset:0;
}
.project-detail-banner-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.project-detail-banner-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.82) 40%,rgba(17,17,17,.42) 72%,rgba(17,17,17,.22) 100%);
}
.project-detail-banner-container{
	position:relative;
	z-index:2;
	height:100%;
	display:flex;
	align-items:flex-end;
	padding-top:140px;
	padding-bottom:80px;
}
.project-detail-banner-content{
	width:100%;
}
.project-detail-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:42px;
	font-size:.65rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,.48);
}
.project-detail-breadcrumb a{
	transition:color .3s ease;
}
.project-detail-breadcrumb a:hover{
	color:var(--primary-light);
}
.project-detail-breadcrumb i{
	font-size:.7rem;
	color:var(--primary);
}
.project-detail-category{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:20px;
	font-size:.69rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.project-detail-category span{
	width:30px;
	height:2px;
	background:var(--primary);
}
.project-detail-banner-content h1{
	max-width:920px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(4rem,5vw,7.6rem);
	font-weight:600;
	line-height:.9;
	letter-spacing:-.07em;
	color:var(--white);
}
.project-detail-banner-content h1 span{
	display:block;
	color:var(--primary-light);
}
.project-detail-banner-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	margin-top:42px;
	padding-top:26px;
	border-top:1px solid rgba(255,255,255,.16);
}
.project-detail-banner-bottom>div{
	display:flex;
	align-items:center;
	gap:9px;
	font-size:.72rem;
	font-weight:600;
	color:rgba(255,255,255,.7);
}
.project-detail-banner-bottom>div i{
	color:var(--primary);
}
.project-detail-banner-bottom>a{
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-size:.67rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--white);
}
.project-detail-banner-bottom>a i{
	color:var(--primary);
	transition:transform .3s ease;
}
.project-detail-banner-bottom>a:hover{
	color:var(--primary-light);
}
.project-detail-banner-bottom>a:hover i{
	transform:translateY(4px);
}
@media(max-width:991.98px){
	.project-detail-banner{
		height:720px;
		min-height:auto;
	}
	.project-detail-banner-overlay{
		background:linear-gradient(90deg,rgba(17,17,17,.91) 0%,rgba(17,17,17,.7) 65%,rgba(17,17,17,.36) 100%);
	}
	.project-detail-banner-container{
		padding-top:100px;
		padding-bottom:70px;
	}
}
@media(max-width:767.98px){
	.project-detail-banner{
		height:650px;
	}
	.project-detail-banner-overlay{
		background:linear-gradient(180deg,rgba(17,17,17,.36) 0%,rgba(17,17,17,.78) 48%,rgba(17,17,17,.97) 100%);
	}
	.project-detail-banner-container{
		padding-top:80px;
		padding-bottom:52px;
	}
	.project-detail-breadcrumb{
		margin-bottom:30px;
	}
	.project-detail-banner-content h1{
		font-size:clamp(3.1rem,14vw,5rem);
	}
	.project-detail-banner-bottom{
		align-items:flex-start;
		flex-direction:column;
		margin-top:32px;
	}
}
@media(max-width:575.98px){
	.project-detail-banner{
		height:600px;
	}
}

/* ===================== ABOUT PROJECT ===================== */
.project-detail-about{
	background:var(--white);
}
.project-detail-about-grid{
	display:grid;
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	gap:100px;
}
.project-detail-about-title h2{
	max-width:650px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.7rem,4vw,4.4rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.project-detail-about-title h2 span{
	display:block;
	color:var(--primary-dark);
}
.project-detail-about-copy{
	max-width:720px;
	padding-top:30px;
}
.project-detail-about-copy p{
	margin:0 0 17px;
	font-size:.86rem;
	line-height:1.85;
	color:var(--text);
}
.project-detail-about-copy p:last-child{
	margin-bottom:0;
}
.project-detail-about-lead{
	font-size:1.05rem!important;
	line-height:1.75!important;
	color:var(--ink)!important;
}
@media(max-width:991.98px){
	.project-detail-about-grid{
		grid-template-columns:1fr;
		gap:38px;
	}
	.project-detail-about-copy{
		max-width:760px;
		padding-top:0;
	}
}
@media(max-width:767.98px){
	.project-detail-about-title h2{
		font-size:clamp(2.3rem,10vw,3.3rem);
	}
	.project-detail-about-copy p{
		font-size:.81rem;
	}
	.project-detail-about-lead{
		font-size:.94rem!important;
	}
}

/* ===================== PROJECT INFORMATION ===================== */
.project-detail-info{
	padding:0 0 110px;
	overflow:hidden;
	background:var(--white);
}
.project-detail-info-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:14px;
}
.project-detail-info-item{
	position:relative;
	min-height:230px;
	display:flex;
	flex-direction:column;
	padding:28px 24px;
	border:1px solid var(--line);
	background:var(--light);
	transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease;
}
.project-detail-info-number{
	position:absolute;
	top:20px;
	right:20px;
	font-size:1rem;
	font-weight:700;
	color:var(--muted);
}
.project-detail-info-icon{
	width:46px;
	height:46px;
	display:grid;
	place-items:center;
	margin-bottom:auto;
	color:var(--primary-dark);
	background:rgba(184,173,47,.1);
	transition:color .35s ease,background .35s ease,transform .35s ease;
}
.project-detail-info-icon i{
	font-size:1rem;
}
.project-detail-info-item small{
	display:block;
	margin:28px 0 8px;
	font-size:.58rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--muted);
}
.project-detail-info-item strong{
	font-family:var(--heading);
	font-size:1.06rem;
	font-weight:600;
	line-height:1.4;
	color:var(--ink);
}
.project-detail-info-item:hover{
	border-color:rgba(184,173,47,.4);
	background:var(--white);
	transform:translateY(-6px);
}
.project-detail-info-item:hover .project-detail-info-icon{
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-3px);
}
@media(max-width:1199.98px){
	.project-detail-info-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}
@media(max-width:991.98px){
	.project-detail-info{
		padding-bottom:90px;
	}
}
@media(max-width:767.98px){
	.project-detail-info{
		padding-bottom:76px;
	}
	.project-detail-info-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:12px;
	}
	.project-detail-info-item{
		min-height:210px;
	}
}
@media(max-width:575.98px){
	.project-detail-info-grid{
		grid-template-columns:1fr;
	}
	.project-detail-info-item{
		min-height:190px;
	}
}

/* ===================== PROJECT GALLERY ===================== */
.project-detail-gallery{
	overflow:hidden;
	background:var(--light);
}
.project-detail-gallery-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:60px;
	margin-bottom:48px;
}
.project-detail-gallery-head h2{
	max-width:760px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.3rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.project-detail-gallery-head h2 span{
	display:block;
	color:var(--primary-dark);
}
.project-detail-gallery-note{
	max-width:300px;
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding-left:24px;
	border-left:1px solid var(--line);
}
.project-detail-gallery-note i{
	margin-top:2px;
	flex-shrink:0;
	color:var(--primary-dark);
}
.project-detail-gallery-note p{
	margin:0;
	font-size:.7rem;
	line-height:1.65;
	color:var(--muted);
}
.project-detail-gallery-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}
.project-detail-gallery-item{
	position:relative;
	overflow:hidden;
	background:#171717;
}
.project-detail-gallery-image{
	aspect-ratio:1200 / 762;
	overflow:hidden;
}
.project-detail-gallery-image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	transform:scale(1.01);
	transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.project-detail-gallery-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.68) 100%);
	transition:background .4s ease;
}
.project-detail-gallery-number{
	position:absolute;
	top:22px;
	left:22px;
	z-index:3;
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border:1px solid rgba(255,255,255,.35);
	font-size:.6rem;
	font-weight:700;
	color:var(--primary-light);
	background:rgba(17,17,17,.18);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.project-detail-gallery-content{
	position:absolute;
	left:26px;
	right:90px;
	bottom:25px;
	z-index:3;
	transform:translateY(7px);
	transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.project-detail-gallery-content span{
	display:block;
	margin-bottom:6px;
	font-size:.58rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.project-detail-gallery-content h3{
	margin:0;
	font-family:var(--heading);
	font-size:1.3rem;
	font-weight:600;
	color:var(--white);
}
.project-detail-gallery-view{
	position:absolute;
	right:22px;
	bottom:22px;
	z-index:3;
	width:48px;
	height:48px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.34);
	color:var(--white);
	background:rgba(17,17,17,.18);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transform:scale(.9);
	transition:color .35s ease,background .35s ease,border-color .35s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.project-detail-gallery-item:hover .project-detail-gallery-image img{
	transform:scale(1.075);
}
.project-detail-gallery-item:hover .project-detail-gallery-overlay{
	background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,0,0,.82) 100%);
}
.project-detail-gallery-item:hover .project-detail-gallery-content{
	transform:translateY(0);
}
.project-detail-gallery-item:hover .project-detail-gallery-view{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
	transform:scale(1);
}
@media(max-width:991.98px){
	.project-detail-gallery-head{
		align-items:flex-start;
		flex-direction:column;
		gap:24px;
	}
	.project-detail-gallery-note{
		max-width:450px;
		padding-top:16px;
		padding-left:0;
		border-top:1px solid var(--line);
		border-left:0;
	}
}
@media(max-width:767.98px){
	.project-detail-gallery-head{
		margin-bottom:34px;
	}
	.project-detail-gallery-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
	.project-detail-gallery-grid{
		grid-template-columns:1fr;
		gap:14px;
	}
	.project-detail-gallery-content{
		left:20px;
		right:72px;
		bottom:20px;
	}
	.project-detail-gallery-view{
		right:18px;
		bottom:18px;
		width:44px;
		height:44px;
	}
}
@media(max-width:575.98px){
	.project-detail-gallery-number{
		top:16px;
		left:16px;
	}
	.project-detail-gallery-content h3{
		font-size:1.12rem;
	}
}

/* ===================== PROJECT NAVIGATION ===================== */
.project-detail-navigation{
	padding:90px 0;
	color:var(--white);
	background:#171717;
}
.project-detail-navigation-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:60px;
}
.project-detail-navigation-inner>div>span{
	display:block;
	margin-bottom:10px;
	font-size:.62rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--primary);
}
.project-detail-navigation-inner h2{
	max-width:700px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2rem,3.2vw,3.5rem);
	font-weight:600;
	line-height:1.08;
	letter-spacing:-.045em;
	color:var(--white);
}
.project-detail-navigation-inner h2 strong{
	display:block;
	font-weight:600;
	color:var(--primary-light);
}
.project-detail-navigation-inner>a{
	width:150px;
	height:150px;
	flex-shrink:0;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:24px;
	color:var(--brand-black);
	background:var(--primary);
	transition:background .35s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.project-detail-navigation-inner>a span{
	font-family:var(--heading);
	font-size:.9rem;
	font-weight:600;
}
.project-detail-navigation-inner>a i{
	align-self:flex-end;
	font-size:1.45rem;
	transition:transform .35s ease;
}
.project-detail-navigation-inner>a:hover{
	color:var(--brand-black);
	background:var(--white);
	transform:translateY(-6px);
}
.project-detail-navigation-inner>a:hover i{
	transform:translate(3px,-3px);
}
@media(max-width:767.98px){
	.project-detail-navigation{
		padding:76px 0;
	}
	.project-detail-navigation-inner{
		align-items:flex-start;
		flex-direction:column;
		gap:32px;
	}
	.project-detail-navigation-inner>a{
		width:100%;
		height:auto;
		min-height:100px;
		flex-direction:row;
		align-items:flex-end;
	}
	.project-detail-navigation-inner>a i{
		align-self:auto;
	}
}

/* ===================== PROJECT FANCYBOX ===================== */
.project-detail-page .fancybox__backdrop{
	background:rgba(8,8,8,.97)!important;
}
.project-detail-page .fancybox__container{
	--fancybox-bg:rgba(8,8,8,.97);
	--f-button-bg:rgba(255,255,255,.08);
	--f-button-hover-bg:var(--primary);
	--f-button-color:#ffffff;
	--f-button-hover-color:#111111;
}
.project-detail-page .fancybox__caption{
	font-family:var(--body);
	font-size:.76rem!important;
	font-weight:600;
	color:rgba(255,255,255,.72)!important;
}

/* =========================================================
   CONTACT PAGE
========================================================= */

/* ===================== CONTACT BANNER ===================== */
.contact-page-banner{
	position:relative;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.contact-page-banner::before{
	position:absolute;
	inset:0;
	content:'';
	opacity:.06;
	pointer-events:none;
	background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
	background-size:80px 80px;
}
.contact-page-banner::after{
	position:absolute;
	top:-180px;
	right:-140px;
	width:620px;
	height:620px;
	content:'';
	border:1px solid rgba(184,173,47,.14);
	border-radius:50%;
	box-shadow:0 0 0 90px rgba(184,173,47,.025),0 0 0 180px rgba(184,173,47,.018);
	pointer-events:none;
}
.contact-page-banner-inner{
	position:relative;
	z-index:2;
	min-height:590px;
	display:grid;
	grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
	align-items:end;
	gap:90px;
	padding-top:140px;
	padding-bottom:90px;
}
.contact-page-breadcrumb{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:50px;
	font-size:.66rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,.45);
}
.contact-page-breadcrumb a{
	transition:color .3s ease;
}
.contact-page-breadcrumb a:hover{
	color:var(--primary-light);
}
.contact-page-breadcrumb i{
	font-size:.72rem;
	color:var(--primary);
}
.contact-page-banner-tag{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:22px;
	font-size:.69rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--primary-light);
}
.contact-page-banner-tag span{
	width:30px;
	height:2px;
	background:var(--primary);
}
.contact-page-banner-main h1{
	max-width:900px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(3.4rem,2.7vw,6rem);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.06em;
	color:var(--white);
}
.contact-page-banner-main h1 span{
	display:block;
	color:var(--primary-light);
}
.contact-page-banner-side{
	padding-bottom:6px;
}
.contact-page-banner-side>p{
	max-width:520px;
	margin:0;
	font-size:.92rem;
	line-height:1.85;
	color:rgba(255,255,255,.62);
}
.contact-page-banner-contact{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin-top:32px;
}
.contact-page-banner-contact>a{
	display:flex;
	align-items:center;
	gap:13px;
	padding:17px;
	border:1px solid rgba(255,255,255,.12);
	color:var(--white);
	background:rgba(255,255,255,.025);
	transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.contact-page-banner-contact>a>i{
	font-size:1rem;
	color:var(--primary);
}
.contact-page-banner-contact span{
	min-width:0;
}
.contact-page-banner-contact small,
.contact-page-banner-contact strong{
	display:block;
}
.contact-page-banner-contact small{
	margin-bottom:3px;
	font-size:.54rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:rgba(255,255,255,.4);
}
.contact-page-banner-contact strong{
	font-size:.7rem;
	font-weight:600;
	white-space:nowrap;
}
.contact-page-banner-contact>a:hover{
	border-color:rgba(184,173,47,.45);
	background:rgba(184,173,47,.06);
	transform:translateY(-3px);
}
@media(max-width:991.98px){
	.contact-page-banner-inner{
		min-height:auto;
		grid-template-columns:1fr;
		gap:42px;
		padding-top:100px;
		padding-bottom:75px;
	}
	.contact-page-breadcrumb{
		margin-bottom:34px;
	}
	.contact-page-banner-side{
		max-width:650px;
	}
}
@media(max-width:767.98px){
	.contact-page-banner-inner{
		gap:32px;
		padding-top:75px;
		padding-bottom:65px;
	}
	.contact-page-banner-main h1{
		font-size:clamp(2.7rem,11vw,4rem);
	}
	.contact-page-banner-side>p{
		font-size:.84rem;
		line-height:1.75;
	}
}
@media(max-width:575.98px){
	.contact-page-banner-contact{
		grid-template-columns:1fr;
	}
}

/* ===================== CONTACT DETAILS ===================== */
.contact-page-details{
	padding:0 0 110px;
	background:var(--white);
}
.contact-page-details-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
	margin-top:-55px;
	position:relative;
	z-index:4;
}
.contact-page-detail-card{
	position:relative;
	min-height:235px;
	display:flex;
	flex-direction:column;
	padding:28px 24px;
	border:1px solid var(--line);
	color:inherit;
	background:var(--white);
	box-shadow:0 15px 35px rgba(0,0,0,.04);
	transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease;
}
.contact-page-detail-number{
	position:absolute;
	top:20px;
	right:20px;
	font-size:1rem;
	font-weight:700;
	color:var(--muted);
}
.contact-page-detail-icon{
	width:48px;
	height:48px;
	display:grid;
	place-items:center;
	margin-bottom:auto;
	color:var(--primary-dark);
	background:rgba(184,173,47,.1);
	transition:color .35s ease,background .35s ease,transform .35s ease;
}
.contact-page-detail-card small{
	display:block;
	margin-bottom:8px;
	font-size:.57rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--muted);
}
.contact-page-detail-card strong{
	
	font-family:var(--heading);
	font-size:1rem;
	font-weight:600;
	line-height:1.4;
	color:var(--ink);
}
.contact-page-detail-arrow{
	position:absolute;
	right:22px;
	bottom:22px;
	font-size:.9rem;
	color:var(--primary-dark);
	transition:transform .3s ease;
}
.contact-page-detail-card:hover{
	border-color:rgba(184,173,47,.4);
	transform:translateY(-7px);
	box-shadow:0 20px 45px rgba(0,0,0,.07);
}
.contact-page-detail-card:hover .contact-page-detail-icon{
	color:var(--brand-black);
	background:var(--primary);
	transform:translateY(-3px);
}
.contact-page-detail-card:hover .contact-page-detail-arrow{
	transform:translate(3px,-3px);
}
@media(max-width:1199.98px){
	.contact-page-details-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:767.98px){
	.contact-page-details{
		padding-bottom:76px;
	}
	.contact-page-details-grid{
		margin-top:-35px;
		gap:12px;
	}
}
@media(max-width:575.98px){
	.contact-page-details-grid{
		grid-template-columns:1fr;
	}
	.contact-page-detail-card{
		min-height:190px;
	}
}

/* ===================== CONTACT FORM ===================== */
.contact-page-form-section{
	overflow:hidden;
	background:var(--light);
}
.contact-page-form-grid{
	display:grid;
	grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
	gap:90px;
	align-items:start;
}
.contact-page-form-intro{
	position:sticky;
	top:130px;
}
.contact-page-form-intro h2{
	max-width:600px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.7rem,4.2vw,4.6rem);
	font-weight:600;
	line-height:1.04;
	letter-spacing:-.055em;
	color:var(--ink);
}
.contact-page-form-intro h2 span{
	display:block;
	color:var(--primary-dark);
}
.contact-page-form-intro>p{
	max-width:520px;
	margin:24px 0 0;
	font-size:.85rem;
	line-height:1.85;
}
.contact-page-form-help{
	margin-top:34px;
	padding-top:28px;
	border-top:1px solid var(--line);
}
.contact-page-form-help>div{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:13px;
	font-size:.72rem;
	font-weight:600;
	color:var(--ink);
}
.contact-page-form-help>div:last-child{
	margin-bottom:0;
}
.contact-page-form-help i{
	color:var(--primary-dark);
}
.contact-page-form-wrap{
	padding:42px;
	border:1px solid var(--line);
	background:var(--white);
}
.contact-form-group label{
	display:block;
	margin-bottom:9px;
	font-size:.6rem;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--ink);
}
.contact-form-group label span{
	color:var(--primary-dark);
}
.contact-form-control{
	width:100%;
	height:54px;
	padding:0 16px;
	border:1px solid var(--line);
	border-radius:0;
	outline:0;
	font-family:var(--body);
	font-size:.74rem;
	color:var(--ink);
	background:var(--white);
	transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.contact-form-control::placeholder{
	color:#a7a7a7;
}
.contact-form-control:focus{
	border-color:var(--primary);
	box-shadow:0 0 0 3px rgba(184,173,47,.08);
	background:#fff;
}
.contact-form-select{
	appearance:none;
	-webkit-appearance:none;
	cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23666666' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
	background-size:12px;
}
.contact-form-textarea{
	height:auto;
	min-height:150px;
	padding:15px 16px;
	resize:vertical;
	line-height:1.7;
}
.contact-form-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	padding-top:8px;
}
.contact-form-bottom>p{
	max-width:390px;
	margin:0;
	font-size:.62rem;
	line-height:1.6;
	color:var(--muted);
}
.contact-form-submit{
	min-width:190px;
	height:56px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	padding:0 18px 0 22px;
	border:1px solid var(--primary);
	font-size:.67rem;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--brand-black);
	background:var(--primary);
	transition:color .3s ease,background .3s ease,transform .3s ease;
}
.contact-form-submit i{
	font-size:.9rem;
	transition:transform .3s ease;
}
.contact-form-submit:hover{
	border-color:#171717;
	color:var(--white);
	background:#171717;
	transform:translateY(-3px);
}
.contact-form-submit:hover i{
	transform:translate(3px,-3px);
}
@media(max-width:1199.98px){
	.contact-page-form-grid{
		grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);
		gap:55px;
	}
	.contact-page-form-wrap{
		padding:34px;
	}
}
@media(max-width:991.98px){
	.contact-page-form-grid{
		grid-template-columns:1fr;
		gap:42px;
	}
	.contact-page-form-intro{
		position:relative;
		top:auto;
	}
}
@media(max-width:767.98px){
	.contact-page-form-intro h2{
		font-size:clamp(2.3rem,10vw,3.3rem);
	}
	.contact-page-form-wrap{
		padding:28px 22px;
	}
	.contact-form-bottom{
		align-items:flex-start;
		flex-direction:column;
	}
	.contact-form-submit{
		width:100%;
	}
}
@media(max-width:575.98px){
	.contact-page-form-wrap{
		padding:24px 18px;
	}
}
.contact-form-upload-group{
	margin-top:4px;
}
.contact-file-upload{
	position:relative;
}
.contact-file-upload-area{
	position:relative;
	min-height:128px;
	display:flex;
	align-items:center;
	gap:20px;
	padding:24px;
	border:1px dashed #c9c9c9;
	background:#fafafa;
	cursor:pointer;
	overflow:hidden;
	transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.contact-file-upload-area::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:3px;
	height:100%;
	background:var(--primary);
	transform:scaleY(0);
	transform-origin:bottom;
	transition:transform .35s ease;
}
.contact-file-upload-area:hover,
.contact-file-upload.is-dragging .contact-file-upload-area{
	border-color:var(--primary);
	background:rgba(184,173,47,.045);
}
.contact-file-upload-area:hover::before,
.contact-file-upload.is-dragging .contact-file-upload-area::before{
	transform:scaleY(1);
}
.contact-file-upload-icon{
	width:52px;
	height:52px;
	flex:0 0 52px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(184,173,47,.35);
	background:rgba(184,173,47,.08);
	color:var(--primary-dark);
}
.contact-file-upload-icon i{
	font-size:1.35rem;
}
.contact-file-upload-content{
	min-width:0;
	display:flex;
	flex:1;
	flex-direction:column;
}
.contact-file-upload-content strong{
	margin-bottom:4px;
	font-family:var(--heading);
	font-size:.86rem;
	font-weight:600;
	color:var(--ink);
}
.contact-file-upload-content small{
	font-size:.67rem;
	line-height:1.6;
	color:var(--muted);
}
.contact-file-upload-content span{
	margin-top:7px;
	margin-bottom: 20px;
	font-size:.55rem;
	font-weight:600;
	line-height:1.5;
	letter-spacing:.035em;
	color:#999;
}
.contact-file-upload-button{
	flex:0 0 auto;
	padding:11px 15px;
	border:1px solid var(--line);
	font-size:.58rem;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--ink);
	background:var(--white);
	transition:border-color .3s ease,color .3s ease,background .3s ease;
}
.contact-file-upload-area:hover .contact-file-upload-button{
	border-color:var(--primary);
	color:var(--brand-black);
	background:var(--primary);
}
.contact-file-selected{
	display:none;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:16px 18px;
	border:1px solid rgba(184,173,47,.35);
	background:rgba(184,173,47,.055);
}
.contact-file-selected.is-visible{
	display:flex;
}
.contact-file-selected-left{
	min-width:0;
	display:flex;
	align-items:center;
	gap:13px;
}
.contact-file-type-icon{
	width:42px;
	height:42px;
	flex:0 0 42px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--primary);
	color:var(--brand-black);
}
.contact-file-type-icon i{
	font-size:1.05rem;
}
.contact-file-selected-left>div{
	min-width:0;
}
.contact-file-selected-left strong{
	display:block;
	max-width:420px;
	overflow:hidden;
	font-size:.68rem;
	font-weight:700;
	color:var(--ink);
	text-overflow:ellipsis;
	white-space:nowrap;
}
.contact-file-selected-left small{
	display:block;
	margin-top:3px;
	font-size:.58rem;
	color:var(--muted);
}
.contact-file-selected button{
	width:36px;
	height:36px;
	flex:0 0 36px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	border:1px solid var(--line);
	color:var(--ink);
	background:var(--white);
	transition:border-color .3s ease,color .3s ease,background .3s ease;
}
.contact-file-selected button:hover{
	border-color:#171717;
	color:var(--white);
	background:#171717;
}
.contact-file-note{
	display:flex;
	align-items:flex-start;
	gap:7px;
	margin:9px 0 0;
	font-size:.57rem;
	line-height:1.6;
	color:var(--muted);
}
.contact-file-note i{
	margin-top:1px;
	color:var(--primary-dark);
}
@media(max-width:767.98px){
	.contact-file-upload-area{
		align-items:flex-start;
		flex-wrap:wrap;
		padding:20px;
	}
	.contact-file-upload-button{
		margin-left:72px;
	}
	.contact-file-selected-left strong{
		max-width:280px;
	}
}
@media(max-width:575.98px){
	.contact-file-upload-area{
		gap:14px;
	}
	.contact-file-upload-icon{
		width:46px;
		height:46px;
		flex-basis:46px;
	}
	.contact-file-upload-content{
		width:calc(100% - 60px);
		flex:none;
	}
	.contact-file-upload-button{
		width:100%;
		margin-left:0;
		text-align:center;
	}
	.contact-file-selected{
		padding:14px;
	}
	.contact-file-selected-left strong{
		max-width:190px;
	}
}

/* ===================== CONTACT FORM VALIDATION ===================== */
.contact-field-error{
	display:none;
	margin-top:7px;
	font-size:.62rem;
	font-weight:600;
	line-height:1.5;
	color:#c53b3b;
}
.contact-field-error.is-visible{
	display:block;
}
.contact-form-control.is-invalid{
	border-color:#c53b3b;
	background-color:rgba(197,59,59,.025);
}
.contact-form-control.is-invalid:focus{
	border-color:#c53b3b;
	box-shadow:0 0 0 3px rgba(197,59,59,.08);
}
.contact-form-control.is-valid{
	border-color:#6f9e54;
}
.contact-form-control.is-valid:focus{
	border-color:#6f9e54;
	box-shadow:0 0 0 3px rgba(111,158,84,.08);
}
.contact-form-select.is-invalid{
	border-color:#c53b3b;
}
.contact-form-select.is-valid{
	border-color:#6f9e54;
}

/* File Upload Error */
.contact-form-upload-group .contact-field-error{
	margin-top:8px;
}
.contact-file-upload.has-error .contact-file-upload-area{
	border-color:#c53b3b;
	background:rgba(197,59,59,.025);
}

/* AJAX Response */
.contact-form-response{
	display:none;
	width:100%;
	margin-bottom:18px;
	padding:14px 16px;
	border:1px solid transparent;
	font-size:.66rem;
	font-weight:600;
	line-height:1.6;
}
.contact-form-response.is-success{
	display:block;
	border-color:rgba(65,135,71,.25);
	background:rgba(65,135,71,.07);
	color:#34743a;
}
.contact-form-response.is-error{
	display:block;
	border-color:rgba(197,59,59,.25);
	background:rgba(197,59,59,.06);
	color:#b33232;
}

/* Submit Button Loading State */
.contact-form-submit:disabled{
	cursor:not-allowed;
	opacity:.68;
}
.contact-form-submit.is-loading{
	pointer-events:none;
}
.contact-form-submit.is-loading i{
	animation:contactSubmitSpin .8s linear infinite;
}
@keyframes contactSubmitSpin{
	to{
		transform:rotate(360deg);
	}
}

.contact-form-honeypot{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}

/* ===================== CONTACT MAP ===================== */
.contact-page-map{
	padding:110px 0;
	overflow:hidden;
	background:var(--white);
}
.contact-page-map-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:60px;
	margin-bottom:44px;
}
.contact-page-map-head h2{
	max-width:720px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.5rem,4vw,4.3rem);
	font-weight:600;
	line-height:1.05;
	letter-spacing:-.05em;
	color:var(--ink);
}
.contact-page-map-head h2 span{
	display:block;
	color:var(--primary-dark);
}
.contact-page-map-address{
	max-width:390px;
	display:flex;
	align-items:flex-start;
	gap:11px;
	padding-left:24px;
	border-left:1px solid var(--line);
}
.contact-page-map-address i{
	margin-top:2px;
	flex-shrink:0;
	color:var(--primary-dark);
}
.contact-page-map-address p{
	margin:0;
	font-size:.71rem;
	line-height:1.7;
	color:var(--muted);
}
.contact-page-map-wrap{
	position:relative;
	height:600px;
	overflow:hidden;
	background:var(--light);
}
.contact-page-map-wrap iframe{
	width:100%;
	height:100%;
	display:block;
	border:0;
	filter:saturate(.78) contrast(1.04);
}
.contact-page-map-card{
	position:absolute;
	left:28px;
	bottom:28px;
	z-index:3;
	width:340px;
	padding:28px;
	color:var(--white);
	background:#171717;
	box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.contact-page-map-card>span{
	display:block;
	margin-bottom:12px;
	font-size:.58rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--primary);
}
.contact-page-map-card h3{
	margin:0;
	font-family:var(--heading);
	font-size:1.7rem;
	font-weight:600;
	line-height:1.2;
	letter-spacing:-.035em;
	color:var(--white);
}
.contact-page-map-card>p{
	margin:14px 0 24px;
	font-size:.68rem;
	line-height:1.7;
	color:rgba(255,255,255,.5);
}
.contact-page-map-card>a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding-top:18px;
	border-top:1px solid rgba(255,255,255,.12);
	font-size:.62rem;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--white);
}
.contact-page-map-card>a i{
	color:var(--primary);
	transition:transform .3s ease;
}
.contact-page-map-card>a:hover{
	color:var(--primary-light);
}
.contact-page-map-card>a:hover i{
	transform:translate(3px,-3px);
}
@media(max-width:991.98px){
	.contact-page-map{
		padding:90px 0;
	}
	.contact-page-map-head{
		align-items:flex-start;
		flex-direction:column;
		gap:24px;
	}
	.contact-page-map-address{
		padding-top:16px;
		padding-left:0;
		border-top:1px solid var(--line);
		border-left:0;
	}
	.contact-page-map-wrap{
		height:540px;
	}
}
@media(max-width:767.98px){
	.contact-page-map{
		padding:76px 0;
	}
	.contact-page-map-head h2{
		font-size:clamp(2.2rem,10vw,3.2rem);
	}
	.contact-page-map-wrap{
		height:auto;
		overflow:visible;
	}
	.contact-page-map-wrap iframe{
		height:440px;
	}
	.contact-page-map-card{
		position:relative;
		left:auto;
		bottom:auto;
		width:100%;
		box-shadow:none;
	}
}
@media(max-width:575.98px){
	.contact-page-map-wrap iframe{
		height:380px;
	}
	.contact-page-map-card{
		padding:24px 20px;
	}
}

/* ===================== CONTACT FINAL ===================== */
.contact-page-final{
	padding:90px 0;
	overflow:hidden;
	color:var(--white);
	background:#171717;
}
.contact-page-final-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:70px;
}
.contact-page-final-inner>div>span{
	display:block;
	margin-bottom:11px;
	font-size:.62rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--primary);
}
.contact-page-final-inner h2{
	max-width:760px;
	margin:0;
	font-family:var(--heading);
	font-size:clamp(2.2rem,3.5vw,3.8rem);
	font-weight:600;
	line-height:1.06;
	letter-spacing:-.05em;
	color:var(--white);
}
.contact-page-final-inner h2 strong{
	display:block;
	font-weight:600;
	color:var(--primary-light);
}
.contact-page-final-inner>a{
	min-width:330px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	padding:24px;
	color:var(--brand-black);
	background:var(--primary);
	transition:background .35s ease,transform .35s ease;
}
.contact-page-final-inner>a small,
.contact-page-final-inner>a strong{
	display:block;
}
.contact-page-final-inner>a small{
	margin-bottom:4px;
	font-size:.57rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.contact-page-final-inner>a strong{
	font-family:var(--heading);
	font-size:1.25rem;
	font-weight:600;
}
.contact-page-final-inner>a>i{
	font-size:1.4rem;
}
.contact-page-final-inner>a:hover{
	color:var(--brand-black);
	background:var(--white);
	transform:translateY(-5px);
}
@media(max-width:991.98px){
	.contact-page-final-inner{
		align-items:flex-start;
		flex-direction:column;
		gap:36px;
	}
}
@media(max-width:767.98px){
	.contact-page-final{
		padding:76px 0;
	}
	.contact-page-final-inner>a{
		width:100%;
		min-width:0;
	}
}