@charset "UTF-8";
section,
footer, .mosaic-section .mosaic-item .content-wrapper, .mosaic-section .section-header, .mosaic-section .container, .cobe-section .image-box, .cobe-section, .arch-blueprint-footer {
    width: 100%;
    float: left;
}

.mosaic-section .mosaic-item .item-overlay, .arch-blueprint-footer .logo-col .vertical-logo .top, .cta-work__btn, .cta-work__top, .sp-nav__search-btn, .sp-nav__tools, .sp-nav__list, .sp-nav__left, .sp-nav__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mosaic-section .section-header .main-title, .archive-card__hover-content h2, .page-title, .atelier-card__content h2, .arch-blueprint-footer .content-col h2, .arch-blueprint-footer .logo-col, .arch-blueprint-footer .footer-grid .grid-col .num, .cta-work__btn, .cta-work__title, .lp-card__name, .latest-projects__heading, .svg-text, .service-card h3, .services__heading, .hero__title, .sub-menu-container ul li a, .sp-nav__lang .lang-current, .sp-nav__list li a {
    font-family: "Bebas Neue";
    font-weight: 700;
    font-style: normal;
}

.mosaic-section .mosaic-item .item-overlay .category {
    font-family: "Bebas Neue";
    font-weight: 700;
    font-style: normal;
}

.mosaic-item__label, .mosaic-section .section-header .sub-title, .cobe-section .image-box .image-label, .cobe-section .text-wrapper .scroll-reveal, .filter-btn, body, .arch-blueprint-footer .content-col .cta-mail, .cta-work__info p, .cta-work__top, .sp-nav__lang {
    font-family: "Bebas Neue";
    font-weight: 400;
    font-style: normal;
}

.mosaic-section .mosaic-item img, .mosaic-section .mosaic-item video, .cobe-section .image-box img, .map-container #google-map {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mosaic-section .section-header .main-title, .cobe-section .text-wrapper .scroll-reveal, .sp-nav__list li a {
    color: #000000;
}

h1 {
    font-size: 36px;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
code,
em,
img,
small,
strike,
strong,
sub,
sup,
tt,
b,
u,
i,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
canvas,
embed,
footer,
header,
nav,
section,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    text-size-adjust: none;
    text-decoration: none;
    line-height: 1;
}

footer,
header,
nav,
section,
main {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input {
    -webkit-appearance: none;
    border-radius: 0;
}

@font-face {
    font-family: "Helvetica Neue LT GEO 45";
    src: url("../fonts/TB-PublicSans-Medium.eot");
    src: url("../fonts/TB-PublicSans-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/TB-PublicSans-Medium.woff2") format("woff2"), url("../fonts/TB-PublicSans-Medium.woff") format("woff"), url("../fonts/TB-PublicSans-Medium.ttf") format("truetype"), url("../fonts/TB-PublicSans-Medium.svg#TB-PublicSans-Medium") format("svg");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Bebas Neue";
    src: url("../fonts/BebasNeue-Bold.eot");
    src: url("../fonts/BebasNeue-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/BebasNeue-Bold.woff2") format("woff2"), url("../fonts/BebasNeue-Bold.woff") format("woff"), url("../fonts/BebasNeue-Bold.ttf") format("truetype"), url("../fonts/BebasNeue-Bold.svg#BebasNeue-Bold") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
:root {
    --edge: clamp(15px, 3.4vw, 15px);
    --gap: clamp(16px, 2vw, 32px);
    --section: clamp(72px, 10vw, 140px);
    --ease-out: cubic-bezier(.16, 1, .3, 1);
}

.fluid-container,
.container-xxl,
.container {
    width: 100%;
    max-width: none;
    margin-inline: auto;
    padding-inline: var(--edge);
}

.row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--gap);
    align-items: start;
}

[class*=col-] {
    min-width: 0;
}

.col-3 {
    grid-column: span 3;
}

.col-4 {
    grid-column: span 4;
}

.col-8 {
    grid-column: span 8;
}

.col-9 {
    grid-column: span 9;
}

.col-lg-3 {
    grid-column: span 3;
}

.col-lg-4 {
    grid-column: span 4;
}

.col-lg-8 {
    grid-column: span 8;
}

.col-lg-9 {
    grid-column: span 9;
}

.pe-lg-5 {
    padding-right: clamp(20px, 4vw, 72px);
}

.mb-5 {
    margin-bottom: 3rem;
}

.justify-content-start {
    justify-content: start;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    color: #000;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
.section-kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: #000;
}

.parallax-media img {
    will-change: transform;
}

@media (max-width: 991px) {
    .row {
        grid-template-columns: 1fr;
    }

    .col-3, .col-4, .col-8, .col-9, .col-lg-3, .col-lg-4, .col-lg-8, .col-lg-9 {
        grid-column: 1/-1;
    }

    .pe-lg-5 {
        padding-right: 0;
    }

    .mb-lg-0 {
        margin-bottom: 0;
    }
}



.header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: height 0.3s ease;
    transition: background 0.3s ease;
    background: #000;
}
.header .container-xxl {
    padding:0 40px;

}


/*#siteMain:after {*/
/*    content: "";*/
/*    position: fixed;*/
/*    background: #000;*/
/*    left: 0;*/
/*    top: 40px;*/
/*    z-index: -1;*/
/*    height: 80px;*/
/*    width: 267px;*/
/*    transition: 0.3s all ease-in;*/
/*}*/


.logo-fixed{
    position: fixed;
    top: 40px;
    left: 0;
    width: 268px;
    height: 80px;
    overflow: hidden;
    z-index: 300;
    background: #000;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* მოძრავი შრე */
.logo-fixed .sp-nav__brand{
    position: relative;
    display:block;
    width:100%;
    height:160px; /* 2 ლოგოს სიმაღლე */
}

/*!* ორივე ლოგო *!*/
/*.logo-fixed img{*/
/*    position:absolute;*/
/*    left:50%;*/
/*    transform:translateX(-50%);*/
/*    max-height:50px;*/
/*}*/



/*!* შავი ქვემოთ, დამალული *!*/
/*.logo-fixed .black{*/
/*    top:95px;*/
/*}*/

/* scroll */
/*.logo-fixed.is-compact .sp-nav__brand{*/
/*    transform:translateY(-80px);*/
/*}*/

.logo-fixed.is-compact{
    transform:translateY(-160px);
}


/*.logo-fixed:before {*/
/*    content: "";*/
/*    width: 100%;*/
/*    position: fixed;*/
/*    background: #000;*/
/*    top: 40px;*/
/*    width: 292px;*/
/*    height: 80px;*/
/*}*/

.header.header--scrolled {
    background: #000000;
    height: 40px;
    position: fixed;
}



.header.header--scrolled .lang-current,
.header.header--scrolled .lang-sep,
.header.header--scrolled .lang-alt,
.header.header--scrolled .sp-nav__search-btn {
    color: #ffffff;
}
.header.header--scrolled:before {
    display: none;
}
.header.header--scrolled .white {
    display: block;
    transition: 0.3s all ease-in;
}

.header.header--scrolled .has-dropdown {
    height: 40px !important;
}
.header #projectHeader {
    background: #000000;
    height: 40px;
}
.header #projectHeader .sp-nav {
    height: 40px;
}
.header #projectHeader .lang-current,
.header #projectHeader .lang-sep,
.header #projectHeader .lang-alt,
.header #projectHeader .sp-nav__search-btn {
    color: #ffffff;
}
.header #projectHeader:before {
    display: none;
}
.header #projectHeader .white {
    display: none;
    transition: 0.3s all ease-in;
}

.header #projectHeader .has-dropdown {
    height: 40px !important;
}





.sp-nav {
    display: flex;
    align-items: center;
    transition: height 0.3s ease;
    min-height: 40px;
}
.sp-nav__inner {
    justify-content: space-between;
}
.sp-nav__left {
    gap: 50px;
    width: 100%;
    justify-content: space-between;
}
.sp-nav__brand {
    display: block;
    z-index: 300;
    width: 20%;
}
.sp-nav__brand img {
    height: 40px;
    /*transition: 0.3s all ease-in;*/
    position: fixed;
    left: 40px;

}
.sp-nav__list {
    gap: 80px;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 60%;
}
.sp-nav__list li {
    display: flex;
    align-items: center;
}
.sp-nav__list li a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    transition: opacity 0.3s;
    color: #888;
    margin-top: -2px;

}
.sp-nav__list li a:hover {
    opacity: 1;
    color: #fff;
}
.sp-nav__tools {
    gap: 20px;
}
.sp-nav__lang {
    font-size: 13px;
    color: #fff;
    width: 20%;
    display: flex;
    justify-content: flex-end;
}
.sp-nav__lang .lang-sep {
    margin: 0 5px;
}
.sp-nav__lang .lang-alt {
    text-decoration: none;
    color: inherit;
    opacity: 0.5;
}
.sp-nav__search-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #fff;
}

.has-dropdown {
    position: relative;
}

.sp-nav__dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) scaleY(0);
    transform-origin: top;
    background: #000;
    min-width: 220px;
    padding: 15px 0;
    padding-top: 5px;
    border-radius: 0 0 4px 4px;
    border-top: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.4s;
    z-index: 100;
    height: 80px;
    margin-top: 14px;
}
.sp-nav__dropdown .dropdown-content {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: translateY(-10px);
    transition: transform 0.3s ease, opacity 0.2s ease;
    transition-delay: 0.05s;
}
.sp-nav__dropdown .dropdown-content li {
    width: 100%;
    display: flex;
    justify-content: center;
    height: auto;
}
.sp-nav__dropdown .dropdown-content li a {
    display: block;
    width: 100%;
    padding: 8px 25px;
    color: #888 !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.25s ease;
    text-align: center;
}
.sp-nav__dropdown .dropdown-content li a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.04);
    padding-left: 30px;
}
.sp-nav__dropdown.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) scaleY(1);
}
.sp-nav__dropdown.is-active .dropdown-content {
    opacity: 1;
    transform: translateY(0);
}

#siteHeader {
    position: relative;
}

.sub-menu-bar {
    width: 100%;
    background-color: #000000;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}

.sub-menu-bar.show-bar {
    max-height: 300px;
    opacity: 1;
    visibility: visible;
}

.sub-menu-container {
    padding-top: 0px;
    box-sizing: border-box;
    transition: margin-left 0.25s ease-out;
}

.sub-menu-container ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 20px!important;
}

.sub-menu-container ul li a {
    color: #888;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    display: inline-block;
    transition: color 0.2s ease;
}

.sub-menu-container ul li a:hover {
    color: #fff;
}

.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 600px;
    overflow: hidden;
}
.hero__slider {
    width: 100%;
    height: 100%;
}
.hero__slide {
    position: relative;
    overflow: hidden;
}
.hero__bg {
    position: absolute;
    inset: 0;
}
.hero__bg picture {
    display: block;
    width: 100%;
    height: 100%;
}
.hero__video, .hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hero__img {
    transform: scale(1.06);
}
.swiper-slide-active .hero__img {
    animation: heroBgZoom 8s ease-out forwards;
}
.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.45) 60%, rgba(0, 0, 0, 0.65) 100%);
    z-index: 1;
}
.hero__content-wrap {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 40px;
}
.hero__captions {
    max-width: 780px;
}
.hero__category {
    margin-bottom: 16px;
    opacity: 0;
    transform: translateY(16px);
    animation: heroFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.4s;
}
.hero__category a {
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: color 0.2s;
}
.hero__category a:hover {
    color: #fff;
}
.hero__title-wrap {
    margin-bottom: 20px;
    overflow: hidden;
}
.hero__title {
    font-size: clamp(36px, 6vw, 82px);
    font-weight: 700;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin: 0;
    opacity: 0;
    transform: translateY(28px);
    animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.6s;
}
.hero__tagline {
    opacity: 0;
    transform: translateY(16px);
    animation: heroFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.85s;
}
.hero__tagline p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.04em;
    margin: 0;
    font-style: italic;
}
.hero__pagination {
    position: absolute !important;
    bottom: 30px !important;
    right: 0px !important;
    left: auto !important;
    width: auto !important;
    z-index: 10;
    display: flex !important;
    justify-content: center!important;
    width: 100%!important;
    gap: 8px;
}
.hero__pagination .swiper-pagination-bullet {
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, 0.4);
    opacity: 1;
    margin: 0 !important;
    border-radius: 3px;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease;
}
.hero__pagination .swiper-pagination-bullet-active {
    background: #fff;
    width: 22px;
}
.hero__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.08);
    z-index: 10;
    overflow: hidden;
}
.hero__progress-bar {
    height: 100%;
    width: 0%;
    background: #000000;
}
@media (max-width: 768px) {
    .hero__content-wrap {
        padding-bottom: 80px;
    }
    .hero__pagination {
        right: 20px !important;
        bottom: 24px !important;
    }
}

@keyframes heroBgZoom {
    from {
        transform: scale(1.06);
    }
    to {
        transform: scale(1);
    }
}
@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}.services {
     background: #fff;
     color: #000;
    padding-top: 0;

 }

.services__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
    gap: clamp(22px, 5vw, 80px);
    align-items: end;
}

.services__heading {
    max-width: 24ch;
    margin: 0;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #000;
}

.services__lead {
    margin: 0;
    color: #000;
    opacity: 0.72;
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.8;
}

.services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-right: 0;
    gap: 16px; /* სურვილისამებრ: ბარათებს შორის დაშორება */
}

.service-card {
    padding: 30px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center; /* ტექსტის ცენტრალიზება ვერტიკალურად */
    transition: 0.3s all ease-in-out;
    /* 1. ინარჩუნებს ზუსტ კვადრატულ პროპორციას ყველა ეკრანზე */
    aspect-ratio: 1 / 1;

    /* 2. უზრუნველყოფს, რომ ტექსტის გადავსების შემთხვევაში ფორმა არ გაფუჭდეს */
    box-sizing: border-box;
    overflow: hidden;

    transition: background 0.35s var(--ease-out, ease), color 0.35s var(--ease-out, ease);
}

.service-card:hover {
    background: #000;
    color: #fff;
}

/* პირველი ბარათი შავია მხოლოდ მაშინ, როცა ბადეში სხვა არცერთ ბარათზე არ არის ჰოვერი */
.services__grid:not(:has(.service-card:nth-child(n+2):hover)) .service-card:first-child {
    background: #000;
    color: #fff;

}


.service-card__num {
    font-size: 12px;
    letter-spacing: 0.18em;
    display: none;
}

.service-card h3 {
    margin: 0 0 12px 0;
    font-size: clamp(16px, 1.4vw, 22px);
    line-height: 1.25;
    color: inherit;
}

.service-card p {
    margin: 0;
    font-size: clamp(12px, 0.9vw, 14px); /* მოქნილი ზომა, რომ კვადრატში დაეტიოს */
    line-height: 1.6;
    color: inherit;
    opacity: 0.74;
}

/* responsive media queries */
@media (max-width: 1100px) {
    .services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .services__top {
        grid-template-columns: 1fr;
    }

    .services__grid {
        grid-template-columns: 1fr;
    }

    /* ამოღებულია min-height, რადგან aspect-ratio თავად აკონტროლებს სიმაღლეს */
    .service-card {
        padding: 24px;
    }
}







.latest-projects {
    padding: var(--section) 0;
    overflow: hidden;
    background: #fff;
    color: #000;
}
.latest-projects__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) auto;
    align-items: end;
    gap: clamp(18px, 3vw, 48px);
    margin-bottom: clamp(30px, 5vw, 72px);
}
.latest-projects__heading {
    max-width: 12ch;
    font-size: clamp(30px, 4vw, 54px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.025em;
    margin: 0;
    color: #000;
}
.latest-projects__desc {
    margin: 0;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.75;
    color: #000;
    opacity: 0.72;
}
.latest-projects__all-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid #000;
    color: #000;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: background 0.3s var(--ease-out), color 0.3s var(--ease-out);
    white-space: nowrap;
}
.latest-projects__all-link:hover {
    background: #000;
    color: #fff;
}
.latest-projects__slider-wrap {
    position: relative;
    margin-left: var(--edge);
    width: calc(100vw - var(--edge));
    overflow: visible;
}

.projects-slider {
    overflow: visible;
    padding-right: var(--edge);
}
.projects-slider .swiper-wrapper {
    align-items: stretch;
}

.projects-slider__controls {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 24px var(--edge) 0 0;
}

.projects-slider__btn {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    cursor: pointer;
    transition: background 0.25s var(--ease-out), color 0.25s var(--ease-out), transform 0.25s var(--ease-out);
}
.projects-slider__btn:hover {
    background: #000;
    color: #fff;
    transform: translateY(-2px);
}

.lp-card {
    min-width: 0;
    height: auto;
}
.lp-card__link {
    display: block;
    color: #000;
}
.lp-card__img-wrap {
    position: relative;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 1/1;
    border: 1px solid #000;
}
.lp-card__img-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.45));
    opacity: 0.6;
    transition: opacity 0.45s var(--ease-out);
}
.lp-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    filter: grayscale(1);
    transition: transform 0.9s var(--ease-out), filter 0.9s var(--ease-out);
}
.lp-card:hover .lp-card__img-wrap::before {
    opacity: 0.2;
}
.lp-card:hover .lp-card__img-wrap img {
    transform: scale(1.08);
    filter: grayscale(0.15);
}
.lp-card__info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0 0;
}
.lp-card__name {
    font-size: clamp(18px, 1.55vw, 24px);
    font-weight: 700;
    color: #000;
    margin: 0;
    letter-spacing: -0.015em;
}
.lp-card__cat {
    font-size: 12px;
    color: #000;
    opacity: 0.62;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .latest-projects__head {
        grid-template-columns: 1fr;
        align-items: start;
    }
}
.stats-marquee-section {
    width: 100%;
    padding: 60px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
}

.marquee-hero {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 450px;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.marquee-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.marquee-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 2;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.marquee-track {
    width: 100%;
    overflow: hidden;
    display: flex;
    white-space: nowrap;
}

.marquee-content {
    display: flex;
    gap: 40px;
    padding-right: 40px;
    animation: marqueeAnimation 25s linear infinite;
}

.marquee-item {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    line-height: 1;
    height: 50px;
}

@keyframes marqueeAnimation {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}
.marquee-track:hover .marquee-content {
    animation-play-state: paused;
}

.cta-work {
    padding-top: 80px;
    background: #ffffff;
    position: relative;
}
.cta-work__wrapper {
    position: relative;
    padding: clamp(40px, 6vw, 100px);
    background: #f9f9f9;
    overflow: hidden;
    transition: border-color 0.5s ease;
}
.cta-work__wrapper:hover {
    border-color: #000000;
}
.cta-work__line--v {
    position: absolute;
    left: 70%;
    top: 0;
    width: 1px;
    height: 100%;
    background: rgba(0, 0, 0, 0.05);
    pointer-events: none;
    display: none;
}
.cta-work__year {
    display: none;
}
.cta-work__top {
    justify-content: space-between;
    margin-bottom: 60px;
    font-size: 16px;
    text-transform: uppercase;
}
.cta-work__top .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #000000;
    border-radius: 50%;
    display: none;
    margin-right: 8px;
}
.cta-work__title {
    font-size: clamp(40px, 7vw, 90px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    margin: 0;
}
.cta-work__title .outline-text {
    color: transparent;
    -webkit-text-stroke: 1px #000000;
    transition: color 0.4s ease;
}
.cta-work__title:hover .outline-text {
    color: #000000;
}
.cta-work__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: clamp(60px, 8vw, 60px);
    align-items: flex-end;
}
.cta-work__info p {
    font-size: clamp(16px, 1.2vw, 20px);
    line-height: 1.5;
    max-width: 450px;
    margin: 0;
    opacity: 0.8;
}
.cta-work__btn {
    justify-content: space-between;
    width: 100%;
    max-width: 320px;
    height: 80px;
    padding: 0 30px;
    background: #000000;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    margin-left: auto;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.cta-work__btn svg {
    width: 24px;
    transition: transform 0.3s ease;
}
.cta-work__btn:hover {
    transform: translateY(-5px);
}
.cta-work__btn:hover svg {
    transform: translateX(10px);
}

@media (max-width: 991px) {
    .cta-work__footer {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .cta-work__btn {
        margin-left: 0;
    }
    .cta-work__line--v {
        display: none;
    }
}
.arch-blueprint-footer {
    background-color: #000000;
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    position: relative;
    margin-top: 80px;
}
.arch-blueprint-footer .footer-grid {
    display: grid;
    grid-template-columns: 150px 1fr 300px;
    min-height: 310px;
}
.arch-blueprint-footer .footer-grid .grid-col {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 60px 40px;
    display: flex;
    flex-direction: column;
    padding-bottom: 42px;
    justify-content: space-between;
}
.arch-blueprint-footer .footer-grid .grid-col:last-child {
    border-right: none;
}
.arch-blueprint-footer .footer-grid .grid-col .num {
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 20px;
}
.arch-blueprint-footer .logo-col {
    background-color: #0a0a0a;
    padding: 60px 0 !important;
    align-items: center;
    position: relative;
}
.arch-blueprint-footer .logo-col .vertical-logo {
    font-size: 60px;
    letter-spacing: 5px;
}
.arch-blueprint-footer .logo-col .vertical-logo img {
    height: 60px;
}
.arch-blueprint-footer .logo-col .vertical-logo .top {
    width: 60px;
    height: 60px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    position: absolute;
    bottom: 40px;
}
.arch-blueprint-footer .content-col h2 {
    font-size: 64px;
    line-height: 1;
    margin: 0 0 30px 0;
    text-transform: uppercase;
}
.arch-blueprint-footer .content-col .cta-mail {
    font-size: 24px;
    color: #ffffff;
    text-decoration: none;
    border-bottom: 2px solid #ffffff;
    padding-bottom: 5px;
    transition: 0.3s;
}
.arch-blueprint-footer .content-col .cta-mail:hover {
    opacity: 0.5;
}
.arch-blueprint-footer .content-col .contact-info {
    display: flex;
    gap: 80px;
}
.arch-blueprint-footer .content-col .contact-info h4 {
    text-transform: uppercase;
    margin-bottom: 10px;
    font-size: 14px;
}
.arch-blueprint-footer .content-col .contact-info p {
    opacity: 0.7;
    line-height: 1.5;
}
.arch-blueprint-footer .nav-col .soc-list {
    list-style: none;
    padding: 0;
}
.arch-blueprint-footer .nav-col .soc-list li {
    margin-bottom: 15px;
}
.arch-blueprint-footer .nav-col .soc-list li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 18px;
    display: block;
}
.arch-blueprint-footer .nav-col .soc-list li a:hover {
    transform: translateX(10px);
    color: gray;
}
.arch-blueprint-footer .nav-col .copyright-box p {
    font-size: 11px;
    opacity: 0.4;
    letter-spacing: 1px;
}

@media (max-width: 1200px) {
    .arch-blueprint-footer .footer-grid {
        grid-template-columns: 80px 1fr 200px;
    }
    .arch-blueprint-footer .footer-grid h2 {
        font-size: 40px;
    }
}
@media (max-width: 768px) {
    .arch-blueprint-footer .footer-grid {
        grid-template-columns: 1fr;
    }
    .arch-blueprint-footer .footer-grid .grid-col {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .arch-blueprint-footer .footer-grid .logo-col {
        display: none;
    }
}
.map-container {
    position: absolute;
    width: 470px;
    height: 250px;
    background: #000;
    overflow: hidden;
    right: 400px;
    top: 35px;
    opacity: 1;
}
.map-container::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 200px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    z-index: 2;
}
.map-container #google-map {
    filter: grayscale(100%) invert(90%) contrast(1.2);
}
.map-container .map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #000000 0%, transparent 35%, transparent 55%, #000000 100%), linear-gradient(to right, #000000 0%, transparent 30%, transparent 70%, #000000 100%);
    pointer-events: none;
    z-index: 3;
}

.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.reveal--delay-1 {
    transition-delay: 0.12s;
}
.reveal--delay-2 {
    transition-delay: 0.24s;
}
.reveal--delay-3 {
    transition-delay: 0.36s;
}
.reveal--delay-4 {
    transition-delay: 0.48s;
}

.atelier {
    padding: 0 0 var(--section);
    overflow: hidden;
}
.atelier__grid {
    display: grid;
    gap: clamp(54px, 8vw, 126px);
}

.atelier-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.68fr);
    align-items: center;
    gap: clamp(24px, 5vw, 92px);
}
.atelier-card--reverse {
    grid-template-columns: minmax(300px, 0.68fr) minmax(0, 0.95fr);
}
.atelier-card--reverse .atelier-card__media {
    order: 2;
}
.atelier-card--reverse .atelier-card__content {
    order: 1;
}
.atelier-card--reverse::before {
    inset: auto 45% 8% auto;
    transform: rotate(-12deg);
}
.atelier-card__media {
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #ffffff;
}
.atelier-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.05);
}
.atelier-card__content {
    position: relative;
    z-index: 1;
    padding: clamp(24px, 4vw, 54px);
    background: rgba(245, 245, 243, 0.72);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(30, 33, 38, 0.09);
    box-shadow: 0 28px 80px rgba(30, 33, 38, 0.08);
}
.atelier-card__content span {
    display: block;
    margin-bottom: 18px;
    color: #000000;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
.atelier-card__content h2 {
    margin: 0 0 22px;
    color: #000000;
    font-size: clamp(28px, 4.2vw, 60px);
    line-height: 0.98;
    letter-spacing: -0.045em;
}
.atelier-card__content p {
    max-width: 620px;
    margin: 0;
    color: rgba(30, 33, 38, 0.63);
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.85;
}

@media (max-width: 900px) {
    .atelier-card,
    .atelier-card--reverse {
        grid-template-columns: 1fr;
    }
    .atelier-card .atelier-card__media,
    .atelier-card .atelier-card__content,
    .atelier-card--reverse .atelier-card__media,
    .atelier-card--reverse .atelier-card__content {
        order: initial;
    }
}
*,
*::before,
*::after {
    box-sizing: border-box;
    border: none;
    outline: none;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #fff;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    text-decoration: none;
    color: inherit;
}

img,
video {
    max-width: 100%;
}

::selection {
    background: #000;
    color: #fff;
}

.padding-top {
    padding-top: 100px;
}

.padding-bottom {
    padding-bottom: 100px;
}

.d-none {
    display: none !important;
}

.d-flex {
    display: flex !important;
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .d-lg-flex {
        display: none !important;
    }
}

* {
    border-radius: 0 !important;
}

:root {
    --edge: clamp(15px, 3.4vw, 15px);
    --section: clamp(72px, 10vw, 140px);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

.page {
    background: #fff;
    color: #000;
}

.page-hero {
    border-bottom: 1px solid #f2f2f2;
    padding: 40px 0;
}

.page-kicker {
    display: inline-flex;
    margin-bottom: 22px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.page-title {
    max-width: 980px;
    margin: 0;
    font-size: clamp(38px, 7vw, 86px);
    line-height: 0.96;
    letter-spacing: -0.025em;
}

.page-lead {
    max-width: 680px;
    margin: 28px 0 0;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.8;
}

/* PROJECTS FILTER */
.project-filter {
    padding: 28px var(--edge);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.filter-group > span {
    margin-right: 12px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.filter-btn {
    height: 38px;
    padding: 0 14px;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 0.08em;
    transition: background 0.25s var(--ease-out), color 0.25s var(--ease-out);
}
.filter-btn:hover, .filter-btn.is-active {
    background: #000;
    color: #fff;
}

/* PROJECTS ARCHIVE */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
}
.archive-grid.fluid-container {
    padding: 15px;
}

.archive-card {
    background: #fff;
    transition: opacity 0.25s ease, transform 0.35s var(--ease-out);
}
.archive-card.is-hidden {
    display: none;
}
.archive-card__link {
    display: block;
    color: #000;
    height: 100%;
}
.archive-card__media {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #fff;
    position: relative;
}
.archive-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1);
    transform: scale(1.02);
    transition: filter 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.archive-card__hover-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 1;
}
.archive-card__hover-content h2 {
    margin: 0;
    padding: 10px 20px;
    font-size: clamp(40px, 1.9vw, 30px);
    line-height: 1.05;
    color: #fff;
    background-color: #000;
    display: inline-block;
}
.archive-card__hover-content p {
    margin: 10px 0 0;
    font-size: 13px;
    color: #fff;
    opacity: 0.8;
}
.archive-card__body {
    padding: 12px 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: rgba(1,0,0,0.8);
    position: absolute;
    text-align: center;
    bottom: 0;
    width: 100%;
}
.archive-card__body span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #fff;
    transition: opacity 0.4s ease;
}
.archive-card:hover img {
    filter: grayscale(0);
    transform: scale(1.08);
}
.archive-card:hover .archive-card__hover-content {
    opacity: 1;
}
.archive-card:hover .archive-card__body {
    opacity: 0;
}

/* PROJECT DETAIL */
.project-hero-full {
    height: 100vh;
    min-height: 620px;
    background: #000;
    position: relative;
}

.project-fullscreen-slider,
.project-fullscreen-slider .swiper-wrapper,
.project-fullscreen-slider .swiper-slide {
    width: 100%;
    height: 100%;
}

.project-hero__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(0.15);
}

.project-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    transform: translateY(-50%);
    width: 54px;
    height: 54px;
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 22px;
    transition: background 0.25s var(--ease-out), color 0.25s var(--ease-out);
}
.project-nav:hover {
    background: #fff;
    color: #000;
}
.project-nav--prev {
    left: var(--edge);
}
.project-nav--next {
    right: var(--edge);
}

.project-hero__caption {
    position: absolute;
    left: var(--edge);
    bottom: var(--edge);
    z-index: 5;
    display: flex;
    gap: 14px;
    align-items: center;
    background: #fff;
    color: #000;
    padding: 12px 16px;
    font-size: 12px;
}
.project-hero__caption strong {
    font-weight: 900;
}

.project-content {
    padding-top: var(--section);
    padding-bottom: var(--section);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
    gap: clamp(34px, 8vw, 120px);
    align-items: start;
}

.project-content__main h1 {
    font-family: "Gugeshashvili Rachveli", sans-serif;
    font-size: clamp(36px, 5vw, 72px);
    line-height: 1;
    margin: 0 0 34px;
}
.project-content__main p {
    max-width: 820px;
    margin: 0 0 20px;
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.85;
}

.project-specs dl {
    margin: 0;
    border-top: 1px solid #000;
}
.project-specs div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #000;
}
.project-specs dt {
    font-weight: 900;
}
.project-specs dd {
    margin: 0;
    opacity: 0.72;
}

.project-more {
    padding-bottom: var(--section);
}

/* SPLIT SECTIONS */
.split-callout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr);
    gap: clamp(28px, 6vw, 90px);
    align-items: center;
    padding-top: clamp(60px, 8vw, 120px);
    padding-bottom: clamp(60px, 8vw, 120px);
}

.split-callout--reverse .split-callout__media {
    order: 2;
}
.split-callout--reverse .split-callout__text {
    order: 1;
}

.split-callout__media {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #fff;
    border: 1px solid #000;
}
.split-callout__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1);
    transform: scale(1.05);
}

.split-callout__text {
    border: 1px solid #000;
    padding: clamp(26px, 4vw, 58px);
    background: #fff;
}
.split-callout__text span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.split-callout__text h2 {
    font-family: "Gugeshashvili Rachveli", sans-serif;
    margin: 22px 0;
    font-size: clamp(30px, 4.8vw, 62px);
    line-height: 0.98;
}
.split-callout__text p {
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.85;
}

/* SERVICES PAGE */
.services-page-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: #000;
    padding-top: 1px;
    padding-bottom: 1px;
}

.service-page-card {
    min-height: 360px;
    background: #fff;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.service-page-card span {
    font-size: 12px;
    font-weight: 900;
}
.service-page-card h2 {
    font-family: "Gugeshashvili Rachveli", sans-serif;
    font-size: clamp(24px, 2.3vw, 38px);
    line-height: 1.05;
    margin: 50px 0 20px;
}
.service-page-card p {
    font-size: 14px;
    line-height: 1.75;
    opacity: 0.72;
}

/* NEWS PAGE */
.news-archive {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #000;
    padding-top: 1px;
    padding-bottom: 1px;
}

.news-archive-card {
    background: #fff;
    min-height: 300px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.news-archive-card span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.news-archive-card h2 {
    font-family: "Gugeshashvili Rachveli", sans-serif;
    font-size: clamp(24px, 2.3vw, 38px);
    line-height: 1.05;
}
.news-archive-card p {
    font-size: 14px;
    line-height: 1.75;
}

/* CONTACT / OFFICE */
.contact-hero {
    min-height: 100vh;
    padding-top: clamp(150px, 18vw, 230px);
    padding-bottom: var(--section);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #000;
    margin-top: 60px;
}
.contact-grid > * {
    background: #fff;
    border: 1px solid #000;
    padding: 28px;
    font-size: clamp(18px, 2vw, 28px);
    font-family: "Gugeshashvili Rachveli", sans-serif;
}

/* FORCE SQUARE / NO RADIUS */
.lp-card__img-wrap,
.archive-card__media,
.split-callout__media,
.project-hero__caption,
.service-page-card,
.news-archive-card,
.filter-btn,
.project-nav {
    border-radius: 0 !important;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .archive-grid,
    .services-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-archive {
        grid-template-columns: 1fr 1fr;
    }

    .project-filter {
        grid-template-columns: 1fr;
    }

    .project-content {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .archive-grid,
    .services-page-grid,
    .news-archive,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .project-hero-full {
        height: 82vh;
        min-height: 520px;
    }

    .project-nav {
        width: 44px;
        height: 44px;
    }

    .project-content {
        padding-top: 70px;
    }

    .split-callout,
    .split-callout--reverse {
        grid-template-columns: 1fr;
    }

    .split-callout--reverse .split-callout__media,
    .split-callout--reverse .split-callout__text {
        order: initial;
    }

    .project-hero__caption {
        left: 18px;
        right: 18px;
        bottom: 18px;
        justify-content: space-between;
    }

    .project-specs div {
        grid-template-columns: 92px 1fr;
    }

    .page-title {
        font-size: clamp(34px, 14vw, 58px);
    }
}
.cobe-section {
    padding: 80px 0;
    background-color: #ffffff;
}
.cobe-section .text-wrapper {
    margin-bottom: 80px;
    width: 100%;
    display: flex;
    justify-content: center;
}
.cobe-section .text-wrapper .scroll-reveal {
    font-size: 18px;
    line-height: 1.5;
    max-width: 100%;
    padding: 60px;
    text-align: justify;
    max-width: 1000px;
    font-family: "Helvetica Neue LT GEO 45"!important;
    background: #000;

}
.cobe-section .text-wrapper .scroll-reveal span {
    opacity: 0.5;
    transition: opacity 0.3s ease;
    display: inline-block;
    margin-right: 3px;
    color: #fff;
}
.cobe-section .text-wrapper .scroll-reveal span.active {
    opacity: 1;
}
.cobe-section__image {
    width: 100%;
    display: flex;
    justify-content: center;
}
.cobe-section .image-box {
    position: relative;
    width: 1400px;
}
.cobe-section .image-box img {
    display: block;
}
.cobe-section .image-box .image-label {
    display: block;
    margin-top: 15px;
    font-size: 14px;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: absolute;
    bottom: 0px;
    background: #000;
    width: 100%;
    padding: 10px 0;
    color: #fff;
    text-align: center;
}
.mosaic-section {
    padding: 80px 0;
    background-color: #ffffff;
    color: #000000;
    width: 100%;
    position: relative;
}

.mosaic-section .container-fluid {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.mosaic-slider {
    width: 100%;
}

/* Story 9:16 პროპორციები */
.mosaic-section .mosaic-item {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: 12px;
}

.mosaic-section .mosaic-item .content-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.mosaic-section .mosaic-item img,
.mosaic-section .mosaic-item video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.mosaic-section .mosaic-item .item-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    z-index: 2;
    padding: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mosaic-section .mosaic-item .item-overlay .category {
    color: #ffffff;
    font-size: 14px;
    text-transform: uppercase;
}

.mosaic-section .mosaic-item:hover .item-overlay {
    opacity: 1;
}


.mosaic-item__label {
    text-align: center;
    margin-top: 20px;
    position: absolute;
    width: calc(100% - 40px);
    background: rgba(0, 0, 0, .8);
    bottom: 0px;
    z-index: 300;
    padding: 15px 0;
    font-size: 14px;
    color: #fff;
}
.mosaic-item__label h2 {
    font-size: 14px;
    font-weight: 600;
}

.mosaic-section .swiper-button-next , .mosaic-section .swiper-button-prev {
    display: none;
}

.swiper-button-next,
.swiper-button-prev {
    color: #000000 !important;
}
.swiper-pagination-bullet-active {
    background: #000000 !important;
}

.archive-page {
    margin-top: 185px;
}

/* ── FIXED SITE HEADER ────────────────────────────── */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    background: #000;
    color: #fff;
    height: var(--hdr-h);
    align-items: center;
    padding: 0 10px;
    font-size: 14px;
    font-weight: 600;
}

.site-header .logo {
    grid-column: 1/3;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    opacity: 0;
}

.site-header nav {
    grid-column: 3/13;
    display: flex;
    gap: 0;
}

.site-header nav a {
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    margin-right: 28px;
    font-size: 13px;
    transition: color 0.2s;
}

.site-header nav a:hover {
    color: #fff;
}

/* ── PROJECT INFO BAR (sticky) ────────────────────── */
.project-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    background: #000;
    color: #fff;
    height: var(--hdr-h);
    align-items: center;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 600;
}

.project-bar .pb-title {
    grid-column: 3/5;
}

.project-bar .pb-loc {
    grid-column: 5/7;
}

.project-bar .pb-year {
    grid-column: 7/9;
}

.project-bar .pb-type {
    grid-column: 9/13;
}

/* ── PAGE BODY OFFSET ─────────────────────────────── */
.page-body {
    padding-top: var(--hdr-h);
}

/* ── METADATA SECTION ─────────────────────────────── */
.meta-section {
    background: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 50px 0px;
    padding-top: 44px;
    padding-bottom: 30px;

}

.meta-content {
    grid-column: 3/7;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.75);
    width: 327px;
    margin-left: -32px;
}



.meta-content h1 {
    font-size: clamp(12px, 6vw, 12px);
    margin-bottom: 20px;
    color: #fff;
    opacity: 0.5;
    font-weight: 600;
}

.meta-content strong {
    display: block;
    color: rgba(255, 255, 255, 0.4);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 20px;
    margin-bottom: 4px;
}

.meta-content strong:first-child {
    margin-top: 0;
}

.project-spec-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    float: left;
    width: 100%;
}

.project-spec-list li {
    display: flex;
    justify-content: space-between; /* სახელი მარცხნივ, მნიშვნელობა მარჯვნივ */
    padding: 8px 0;
    border-bottom: 1px solid #eee; /* სურვილისამებრ, გამყოფი ხაზი */
}

.spec-label {
    font-weight: bold;
    color: #333;
}

.spec-value {
    color: #666;
    text-align: right;
}

/* ── FULL BLEED IMAGE (exceeds grid) ──────────────── */
.img-exceed {
    width: 100%;
    display: block;
    background: #111;
}

.img-exceed img {
    width: 100%;
    display: block;
    height: auto;
    min-height: 480px;
    object-fit: cover;
}

/* ── CENTERED IMAGE BLOCK ─────────────────────────── */
.img-centered {
    width: 100%;
    background: var(--gray01);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    padding: 0 10px;
}

.img-centered .img-inner {
    grid-column: 3/11;
    display: block;
}

.img-centered .img-inner img {
    width: 100%;
    display: block;
    object-fit: cover;
}

/* ── GALLERY CAPTION BAR ──────────────────────────── */
.gallery-caption-bar {
    background: var(--gray01);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    padding: 0 10px;
}

.gallery-caption-bar .gcb-inner {
    grid-column: 3/11;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.gallery-caption-bar .gcb-text {
    font-size: 12px;
    font-weight: 400;
    color: #000;
}

.gallery-caption-bar .gcb-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.gallery-caption-bar .gcb-count {
    font-size: 12px;
    font-weight: 400;
    min-width: 34px;
    text-align: center;
}

.gallery-caption-bar .gcb-btn {
    background: none;
    border: 1px solid rgba(0, 0, 0, 0.3);
    color: #000;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: border-color 0.2s, background 0.2s;
}

.gallery-caption-bar .gcb-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: #000;
}

/* ── TEXT BLOCK ───────────────────────────────────── */
.text-block {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    padding-bottom: 60px;
    min-height: 110px;
}

.img-exceed , .visual-block {
    margin-bottom: 60px;
}

.text-block p {
    grid-column: 3/11;
    font-size: 24px;
    line-height: 1.3;
    color: #000;
}

/* ── HORIZONTAL STRIP GALLERY ─────────────────────── */
.strip-gallery {
    width: 100%;
    overflow: hidden;
    background: #fff;
    cursor: grab;
    position: relative;
}

.strip-gallery:active {
    cursor: grabbing;
}

.strip-track {
    display: flex;
    transition: transform 0.4s ease;
    will-change: transform;
    gap: 5px;
}

.strip-slide {
    flex-shrink: 0;
    width: 27.7777777778%;
}

.strip-slide img {
    width: 100%;
    aspect-ratio: 9 / 16;
    object-fit: cover;
    display: block;
}

/* ── VISUAL BLOCK (image + caption overlay) ───────── */
.visual-block {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    padding: 0 10px;
    background: #fff;
}

.visual-block.full-bleed {
    padding: 0;
    display: block;
}

.visual-inner {
    grid-column: 3/11;
    position: relative;
}

.visual-inner img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.visual-block.full-bleed img {
    width: 100%;
    height: auto;
    min-height: 480px;
    object-fit: cover;
    display: block;
}

.visual-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 14px;
    background: rgba(245, 245, 240, 0.85);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    color: #000;
    z-index: 2;
}

.visual-block.full-bleed .visual-caption {
    padding: 12px 10px;
}

/* ── RELATED PROJECTS ─────────────────────────────── */
.related {
    background: var(--gray01);
    padding: 32px 10px 80px;
}

.related-title {
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 24px;
    color: #000;
    font-size: clamp(36px, 6vw, 82px);
    font-family: "Bebas Neue";
    margin-bottom: 30px;
}

.related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 2px;
}

.related-card {
    position: relative;
    overflow: hidden;
}

.related-card img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.4s;
}

.related-card:hover img {
    filter: grayscale(0%);
}

.related-card-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
    background: rgba(0, 0, 0, 0.7);
}

.related-card-label h3 {
    font-family: var(--font-display);
    font-size: 28px;
    color: #fff;
    line-height: 1;
}

.related-card-label p {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 4px;
}

.footer-logo {
    font-family: var(--font-display);
    font-size: 36px;
    color: #fff;
    line-height: 1;
    margin-bottom: 12px;
}

/* ── SINGLE CAROUSEL (centered) ──────────────────── */
.single-carousel {
    background:#fff;
    overflow: hidden;
    height: 520px;
}

.single-carousel .sc-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.single-carousel .sc-slide {
    min-width: 100%;
    flex-shrink: 0;
}

/*.single-carousel .sc-slide-inner {*/
/*    display: flex!important;*/
/*    justify-content: center!important;*/
/*    gap: 10px;*/
/*    padding: 0 10px;*/
/*}*/

/*.single-carousel .sc-img-wrap {*/
/*    width: 1000px;*/
/*    overflow: hidden;*/
/*}*/

.single-carousel .sc-img-wrap img {
    width: 100%;
    display: block;
    object-fit: cover;
    max-height: 65vh;
}

/* Full-width single carousel */
.single-carousel.fw .sc-slide-inner {
    display: block;
    padding: 0;
}

.single-carousel.fw .sc-img-wrap {
    display: block;
}

.single-carousel.fw .sc-img-wrap img {
    width: 100%;
    height: 68vh;
    min-height: 480px;
}

/* Caption bar for single carousel */
.sc-caption-bar {
    background: var(--gray01);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    position: absolute;
    margin-top: 15px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sc-caption-bar.fw {
    padding: 0;
    display: flex;
}

.sc-caption-inner {
    grid-column: 3/11;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0 0px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.sc-caption-bar.fw .sc-caption-inner {
    grid-column: unset;
    width: 100%;
    border-top: none!important;
}

.g0-slide-inner {
    background: #fff;
}

.sc-caption-text {
    font-size: 16px;
    font-weight: 400;
    font-family: "Bebas Neue";
}

.sc-nav {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sc-count {
    font-size: 12px;
    font-weight: 400;
    min-width: 34px;
    text-align: center;
}

.sc-btn {
    background: none;
    border: 1px solid rgba(0, 0, 0, 0.3);
    color: #000;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: 0.2s;
}

.sc-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: #000;
}


.header .sp-nav__brand {
    position: relative;
    display: block;
    overflow: hidden;
}


.header .sp-nav__brand img.black {
    position: fixed;
    left: 40px;
    height: 20px;
    top: 10px;
    opacity: 0;

}


/*#siteMain::after {*/
/*    content: "";*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 40px;*/
/*    width: 267px;*/
/*    height: 80px;*/
/*    background: #000;*/
/*    z-index: 5;*/
/*    transition: transform .5s cubic-bezier(.76,0,.24,1);*/
/*}*/


.sp-nav__brand img {
    position: fixed;
    left: 40px;
    height: 40px;
    transition: transform 0.5s cubic-bezier(.16,0,.24,1);
}

.sp-nav__brand img.white {

    transform: translateY(0);
}

.sp-nav__brand img.black {
    top: 40px;
    transition: 0.3s all ease-in;

}

.header.header--scrolled::after {
    transform: translateY(-80px);
}


.header.header--scrolled .sp-nav__brand img.white {
    transform: translateY(0px);
}

.header.header--scrolled .sp-nav__brand img.black {
    opacity: 1;
}

#siteHeader .white {
    display: none;
}
#siteHeader .black {
    display: block;
    position: relative;
    left: 0;
    opacity: 1!important;
    top: 0;
    transform:translate(0);
}


.cl-header__small-logo--visible {
    transform: translateY(0)!important;;
    opacity: 1!important;
}

.cl-header__small-logo--visible img {
    max-height: 24px;
}


.news-page {
    width: 100%;
    float: left;
    padding-top: 140px;
    background: #fff;
    color: #000;
}

.news-head {
    padding: 0 var(--edge) 50px;
}

.blog-menu {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0 var(--edge) 35px;
}

.blog-menu button {
    height: 38px;
    padding: 0 16px;
    background: #fff;
    border: 1px solid #000;
    color: #000;
    font-size: 12px;
    letter-spacing: .14em;
    cursor: pointer;
    transition: .25s var(--ease-out);
}

.blog-menu button:hover,
.blog-menu button.active {
    background: #000;
    color: #fff;
}

.blogs-grids {
    background: #fff;
}

#blogss {
    max-width: none;
    width: 100%;
    padding: 17.5px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.views-row {
    width: 100%;
}

.news-card {
    background: #fff;
    border: 1px solid #000;
    height: 100%;
}

.news-card__link {
    display: block;
    height: 100%;
    color: #000;
}

.news-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / .72;
    background: #000;
}

.news-card__media figure {
    width: 100%;
    height: 100%;
}

.news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1);
    transform: scale(1.02);
    transition: .8s var(--ease-out);
}

.news-card__hover {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: .35s var(--ease-out);
}

.news-card__hover span {
    color: #fff;
    border: 1px solid #fff;
    padding: 14px 20px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .22em;
}

.news-card__content {
    min-height: 210px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.news-card__content span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .65;
}

.news-card__content h2 {
    font-family: "Bebas Neue";
    font-size: clamp(28px, 3vw, 48px);
    line-height: .95;
    text-transform: uppercase;
}

.news-card:hover img {
    filter: grayscale(0);
    transform: scale(1.08);
}

.news-card:hover .news-card__hover {
    opacity: 1;
}


/* DETAIL */

.news-full {
    width: 100%;
    float: left;
    background: #fff;
    color: #000;
}

.news-full__hero {
    width: 100%;
    height: 100vh;
    min-height: 620px;
    background: #000;
    overflow: hidden;
}

.news-full__hero figure,
.news-full__hero img {
    width: 100%;
    height: 100%;
}

.news-full__hero img {
    object-fit: cover;
    display: block;
    filter: grayscale(.15);
}

.news-full__grid {
    display: grid;
    grid-template-columns: minmax(320px, .45fr) minmax(0, 1fr);
    gap: clamp(40px, 7vw, 110px);
    padding: clamp(70px, 9vw, 140px) 0;
}

.news-full__title {
    position: sticky;
    top: 90px;
    align-self: start;
    padding-top: 24px;
}

.news-full__title span {
    display: block;
    margin-bottom: 28px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .65;
}

.news-full__title h1 {
    font-family: "Bebas Neue";
    font-size: clamp(44px, 6vw, 44px);
    line-height: .9;
    text-transform: uppercase;
    margin-bottom: 34px;
}

.news-full__desc {

    padding-top: 24px;
}

.news-full__desc figcaption,
.news-full__desc p {
    font-size: clamp(16px, 1.15vw, 19px);
    line-height: 1.85;
}

.news-full__desc p {
    margin-bottom: 24px;
}

.news-full__desc img {
    width: 100%;
    display: block;
    margin: 50px 0;
    filter: grayscale(1);
}

.news-full__desc h2,
.news-full__desc h3 {
    font-family: "Bebas Neue";
    text-transform: uppercase;
    line-height: .95;
    margin: 55px 0 22px;
}

.news-full__desc h2 {
    font-size: clamp(34px, 4vw, 24px);
}

.news-full__desc h3 {
    font-size: clamp(28px, 3vw, 24px);
}

@media (max-width: 1100px) {
    #blogss {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-full__grid {
        grid-template-columns: 1fr;
    }

    .news-full__title {
        position: relative;
        top: auto;
    }
}

@media (max-width: 700px) {
    #blogss {
        grid-template-columns: 1fr;
    }

    .news-full__hero {
        height: 70vh;
        min-height: 460px;
    }

    .news-card__content {
        min-height: 170px;
    }
}


/* CONTACT PAGE */

.contact-page {
    width: 100%;
    float: left;
    background: #fff;
    color: #000;
}

.contact-hero {
    min-height: 82vh;
    padding-top: clamp(150px, 18vw, 230px);
    padding-bottom: clamp(70px, 8vw, 130px);
    display: flex;
    align-items: flex-end;
    border-bottom: 1px solid #000;
}

.contact-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: clamp(34px, 7vw, 120px);
    align-items: end;
}

.contact-hero .page-title {
    max-width: 900px;
    text-transform: uppercase;
}

.contact-hero .page-lead {
    margin: 0;
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.85;
    opacity: .72;
}


/* INFO CARDS */

.contact-info-section {
    background: #000;
    padding: 5px 0;
}

.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 17.5px;
}

.contact-info-card {
    min-height: 300px;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    padding: clamp(24px, 3vw, 42px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background .35s var(--ease-out), color .35s var(--ease-out);
}

.contact-info-card span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .6;
}

.contact-info-card h2 {
    font-family: "Bebas Neue";
    font-size: clamp(30px, 3vw, 54px);
    line-height: .9;
    text-transform: uppercase;
    word-break: break-word;
}

.contact-info-card p {
    max-width: 360px;
    font-size: 14px;
    line-height: 1.75;
    opacity: .72;
}

.contact-info-card:hover {
    background: #000;
    color: #fff;
    border-color: #fff;
}


/* MAIN CONTACT */

.contact-main-section {
    padding: clamp(70px, 9vw, 140px) 0;
    background: #fff;
}

.contact-main-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, .65fr);
    gap: clamp(34px, 6vw, 100px);
    align-items: stretch;
}

.contact-map-box {
    position: relative;
    min-height: 720px;
    background: #000;
    overflow: hidden;
    border: 1px solid #000;
}

.contact-map-box #google-map {
    width: 100%;
    height: 100%;
    min-height: 720px;
    filter: grayscale(100%) invert(92%) contrast(1.2);
}

.contact-map-box::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(to bottom, #000 0%, transparent 32%, transparent 65%, #000 100%),
            linear-gradient(to right, #000 0%, transparent 35%, transparent 80%, #000 100%);
    opacity: .75;
    pointer-events: none;
    z-index: 2;
}

.contact-map-overlay {
    position: absolute;
    left: 34px;
    bottom: 34px;
    z-index: 3;
    color: #fff;
}

.contact-map-overlay span {
    display: block;
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    opacity: .6;
}

.contact-map-overlay h2 {
    font-family: "Bebas Neue";
    font-size: clamp(46px, 6vw, 96px);
    line-height: .85;
    text-transform: uppercase;
}


/* FORM */

.contact-form-box {
    border-top: 1px solid #000;
    padding-top: 28px;
}

.contact-form-box h2 {
    font-family: "Bebas Neue";
    font-size: clamp(42px, 5vw, 82px);
    line-height: .9;
    text-transform: uppercase;
    margin: 24px 0 40px;
}

.contact-form {
    display: grid;
    gap: 10px;
}

.form-row {
    width: 100%;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    padding: 0 18px;
    min-height: 58px;
    font-family: "Helvetica Neue LT GEO 45", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 0;
}

.contact-form textarea {
    padding-top: 18px;
    min-height: 180px;
    resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(0,0,0,.45);
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
    background: #000;
    color: #fff;
}

.contact-form input:focus::placeholder,
.contact-form textarea:focus::placeholder {
    color: rgba(255,255,255,.5);
}

.contact-submit {
    margin-top: 10px;
    width: 100%;
    height: 78px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-family: "Bebas Neue";
    font-size: 22px;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: transform .3s var(--ease-out), background .3s var(--ease-out), color .3s var(--ease-out);
}

.contact-submit svg {
    width: 28px;
    transition: transform .3s var(--ease-out);
}

.contact-submit:hover {
    background: #fff;
    color: #000;
    transform: translateY(-4px);
}

.contact-submit:hover svg {
    transform: translateX(8px);
}


/* SOCIAL */

.contact-social-section {
    padding-bottom: clamp(70px, 8vw, 130px);
}

.contact-social-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}

.contact-social-grid a {
    min-height: 160px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 28px;
    color: #000;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    transition: background .3s var(--ease-out), color .3s var(--ease-out);
}

.contact-social-grid span {
    font-family: "Bebas Neue";
    font-size: clamp(26px, 3vw, 48px);
    line-height: .9;
    text-transform: uppercase;
}

.contact-social-grid strong {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.contact-social-grid a:hover {
    background: #000;
    color: #fff;
}

.cover-bg {
    width: 100%;
    float: left;
    height: 350px;
    overflow: hidden;
}

.cover-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .contact-hero__grid,
    .contact-main-grid {
        grid-template-columns: 1fr;
    }

    .contact-info-grid,
    .contact-social-grid {
        grid-template-columns: 1fr;
    }

    .contact-map-box,
    .contact-map-box #google-map {
        min-height: 520px;
    }
}

@media (max-width: 700px) {
    .contact-hero {
        min-height: auto;
        padding-top: 130px;
    }

    .contact-info-card {
        min-height: 230px;
    }

    .contact-map-overlay {
        left: 22px;
        bottom: 22px;
    }

    .contact-submit {
        height: 66px;
    }
}

/* ABOUT PAGE */

.about-page {
    width: 100%;
    float: left;
    background: #fff;
    color: #000;
}

.about-hero {
    min-height: 88vh;
    padding-top: clamp(150px, 18vw, 230px);
    display: flex;
    align-items: flex-end;
    border-bottom: 1px solid #000;
    position: relative;
    overflow: hidden;
    background: #000;
}

.about-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
    position: absolute;
}

.about-hero .fluid-container {
    position: relative;
    z-index: 300;
    color: #fff;
    padding-bottom: 80px;
}

.about-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 560px);
    gap: clamp(34px, 7vw, 120px);
    align-items: end;
}

.about-hero .page-title {
    max-width: 980px;
    text-transform: uppercase;
}

.about-hero .page-lead {
    margin: 0;
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.85;
    opacity: .72;
}


/* INTRO */

.about-intro {
    padding: clamp(70px, 9vw, 140px) 0;
}

.about-intro__grid {
    display: grid;
    grid-template-columns: minmax(200px, .35fr) minmax(0, 1fr);
    gap: clamp(34px, 7vw, 120px);
    border-top: 1px solid #000;
    padding-top: 32px;
}

.about-intro__grid > span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    opacity: .65;
}

.about-intro h2 {
    font-family: "Bebas Neue";
    font-size: clamp(40px, 5.8vw, 92px);
    line-height: .9;
    text-transform: uppercase;
    max-width: 1100px;
    margin-bottom: 40px;
}

.about-intro p {
    max-width: 820px;
    font-size: clamp(16px, 1.15vw, 19px);
    line-height: 1.85;
    margin-bottom: 24px;
    opacity: .78;
}


/* FULL IMAGE */

.about-full-image {
    width: 100%;
    height: 92vh;
    min-height: 620px;
    overflow: hidden;
    background: #000;
}

.about-full-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(.2);
}


/* VALUES */

.about-values {
    padding: 5px 0;
    background: #000;
}

.about-values__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 17.5px;
}

.about-value-card {
    min-height: 340px;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    padding: clamp(24px, 3vw, 42px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background .35s var(--ease-out), color .35s var(--ease-out);
}

.about-value-card span {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .2em;
    opacity: .6;
}

.about-value-card h3 {
    font-family: "Bebas Neue";
    font-size: clamp(34px, 4vw, 68px);
    line-height: .9;
    text-transform: uppercase;
}

.about-value-card p {
    font-size: 14px;
    line-height: 1.75;
    opacity: .72;
    max-width: 380px;
}

.about-value-card:hover {
    background: #000;
    color: #fff;
    border-color: #fff;
}


/* SECTION HEAD */

.section-head {
    margin-bottom: clamp(36px, 5vw, 72px);
    max-width: 900px;
}

.section-head h2 {
    font-family: "Bebas Neue";
    font-size: clamp(40px, 5vw, 82px);
    line-height: .9;
    text-transform: uppercase;
}

.section-head--split {
    display: grid;
    grid-template-columns: minmax(200px, .35fr) minmax(0, 1fr);
    gap: clamp(34px, 7vw, 120px);
    max-width: none;
    border-top: 1px solid #000;
    padding-top: 32px;
}


/* TEAM */

.about-team {
    padding: clamp(80px, 10vw, 150px) 0;
    background: #fff;
}
.team__card {
    background: var(--c-white);
    display: flex;
    flex-direction: column;
    aspect-ratio: 1 / 1; /* მთლიანი ქარდის 1:1 პროპორცია */
    width: 100%;
    overflow: hidden;
    position: relative;
}

.team__card-photo {
    flex: 1; /* იკავებს დარჩენილ მთლიან სიმაღლეს */
    min-height: 0; /* კრიტიკულია: უზრუნველყოფს, რომ ფოტო/ფლექსი ქარდს არ გაწელავს */
    position: relative;
    overflow: hidden;
    background: var(--c-grey);
}

.team__card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team__card-info {
    padding: 10px;
    border-top: none;
    position: absolute;
    width: 100%;
    bottom: 0;
    flex-shrink: 0; /* ინარჩუნებს თავის ზომას და ფოტოს უტოვებს დარჩენილ კვადრატულ ფართობს */
    background: rgba(255,255,255,.9)
}

/* AWARDS */

.about-awards {
    padding: clamp(80px, 10vw, 150px) 0;
    background: #f5f5f5;
}

.awards-list {
    border-top: 1px solid #000;
}

.award-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1.2fr);
    gap: 30px;
    padding: 26px 0;
    border-bottom: 1px solid #000;
    align-items: center;
    transition: background .3s var(--ease-out), color .3s var(--ease-out), padding .3s var(--ease-out);
}

.award-row span {
    font-size: 14px;
    line-height: 1.4;
}

.award-name,
.award-title {
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.award-year {
    font-family: "Bebas Neue";
    font-size: 34px !important;
    line-height: .9;
}

.award-row:hover {
    background: #000;
    color: #fff;
    padding-left: 24px;
    padding-right: 24px;
}


/* PARTNERS */

.about-partners {
    padding: clamp(80px, 10vw, 150px) 0 0;
    background: #fff;
    overflow: hidden;
}

.partners-carousel {
    width: 100%;
    background: #000;
    overflow: hidden;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.partners-track {
    display: flex;
    width: max-content;
    animation: partnersMove 28s linear infinite;
}

.partner-item {
    width: 320px;
    height: 150px;
    color: #fff;
    border-right: 1px solid rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Bebas Neue";
    font-size: 34px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    opacity: .75;
    transition: background .3s var(--ease-out), opacity .3s var(--ease-out);
}

.partner-item:hover {
    background: #fff;
    color: #000;
    opacity: 1;
}

.partners-carousel:hover .partners-track {
    animation-play-state: paused;
}

@keyframes partnersMove {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}


/* RESPONSIVE */

@media (max-width: 1100px) {
    .about-hero__grid,
    .about-intro__grid,
    .section-head--split {
        grid-template-columns: 1fr;
    }

    .about-values__grid,
    .team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .award-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 700px) {
    .about-hero {
        min-height: auto;
        padding-top: 130px;
    }

    .about-full-image {
        height: 70vh;
        min-height: 440px;
    }

    .about-values__grid,
    .team-grid {
        grid-template-columns: 1fr;
    }

    .about-value-card {
        min-height: 260px;
    }

    .partner-item {
        width: 240px;
        height: 120px;
        font-size: 28px;
    }
}


/* ვმალავთ .logo-fixed-ს, როცა .has-dropdown-ზე hover-ია */
body:has(.has-dropdown:hover) .logo-fixed {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease; /* რბილი ანიმაციისთვის */
}

/* გარანტია, რომ შავი ლოგო აუცილებლად გამოჩნდება */
body:has(.has-dropdown:hover) .sp-nav__brand .black {
    display: block !important;
    opacity: 1 !important;
}

/* მთავარი ლინკი უნდა იყოს relative, რომ ლისტი მის მიმართ პოზიციონირდეს */
.has-dropdown {
    position: relative;
}

/* Dropdown-ის კონტეინერი ზუსტად ლისტის ქვეშ */
.sp-nav__dropdown {
    position: absolute;
    top: 100%; /* მენიუს ზუსტად ქვემოთ */
    left: 34px;   /* ტექსტის გასწვრივ მარცხნივ */
    min-width: 200px;
padding: 30px 0;
    /* საწყისი მდგომარეობა (დამალული) */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s;
    z-index: 100;
    margin-top: 0;
    height: auto;
}

/* გამოჩენა Hover-ზე */
.has-dropdown:hover .sp-nav__dropdown {
    opacity: 1;
    visibility: visible;
}

/* --- Full-width ფონის ტრიკი --- */
.sp-nav__dropdown::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%; /* ვწევთ ეკრანის ცენტრში */
    transform: translateX(-50%); /* ვაბალანსებთ ცენტრში სრული სიგანისთვის */
    width: 130vw; /* ეკრანის სრული სიგანე */
    height: 100%; /* Dropdown კონტენტის სიმაღლე */
    background-color: #000; /* ფონის ფერი (შეგიძლია შეცვალო) */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* მსუბუქი ჩრდილი ქვემოთ */
    z-index: -1; /* ფონი ლისტის უკან რომ მოექცეს */
}

/* ლისტის დიზაინი (რომ ტექსტი ფონის წინ დარჩეს) */
.dropdown-content {
    list-style: none;
    margin: 0;
    padding: 20px 0; /* ზედა და ქვედა დაშორება */
    position: relative;
    z-index: 1;
}

.dropdown-content li a {
    display: block;
    padding: 8px 0;
    color: #000;
    text-decoration: none;
}

.cl-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    z-index: 900;
}

.cl-header__bar {
    height: 40px;
    background: #000;
    position: relative;
    z-index: 5;
}

.cl-header__inner {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cl-header__small-logo {
    /*width: 92px;*/
    height: 32px;
    display: flex;
    align-items: center;
    transform: translateY(-55px);
    opacity: 0;
    transition: .45s ease;
}

.cl-header__small-logo img {
    max-width: 100%;
    max-height: 24px;
    object-fit: contain;
}

.cl-header__menu {
    display: flex;
    align-items: center;
    gap: 82px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cl-header__menu a {
    color: #fff;
    font-size: 16px;
    opacity: 0.8;
    text-decoration: none;
    line-height: 40px;
    font-family: "Bebas Neue";
}

.cl-header__menu a:hover {
    opacity: 1;
}

.cl-header__lang {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 12px;
}

.cl-header__lang a {
    color: #fff;
    text-decoration: none;
}

/* დიდი ლოგო */
.cl-big-logo {
    position: fixed;
    top: 2px;
    left: 0px;
    width: 292px;
    height: 120px;
    z-index: 850;
    transition: .55s ease;
}

.cl-big-logo img {
    width: 292px;
    height: 120px;
    object-fit: contain;
}

/* სქროლის ეფექტი */
body.cl-is-scrolled .cl-big-logo {
    transform: translateY(-140px);
    opacity: 0;
}

body.cl-is-scrolled .cl-header__small-logo {
    transform: translateY(0);
    opacity: 1;
}

/* Dropdown */
.cl-header__dropdown {
    position: fixed;
    top: 40px;
    left: 0;
    width: 100%;
    height: 142px;
    overflow: hidden;
    background: #000;
    color: #fff;
    z-index: 4;
    transform: translateY(-120%);
    opacity: 0;
    pointer-events: none;
    transition: .35s ease;
}

.cl-header__dropdown.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.cl-header__dropdown-inner {
    height: 142px;
    padding-left: var(--cl-dropdown-left, 0px);
    display: flex;
    align-items: center;
    margin-left: -15px;
    margin-top:-6px;
}

.cl-header__dropdown-inner a {
    color: #fff;
    opacity: 0.7;
    text-decoration: none;
    font-size: 14px;
    text-decoration: none;
    padding-bottom: 5px;
    font-family: "Bebas Neue";
    transition: 0.3s all ease-in;
}

.cl-header__dropdown-inner a:hover {
    opacity: 1;
}

    /* hover dropdown submenu support */
.cl-header__menu li {
    position: relative;
}

.cl-header__menu li ul {
    display: none;
}

.cl-menu-dropdown {
    display: none;
}



@media (max-width: 991px) {
    .cl-big-logo {
        left: 16px;
        width: 190px;
        height: auto;
    }

    .cl-big-logo img {
        width: 190px;
        height: auto;
    }

    .cl-header__dropdown-inner {
        padding-left: 16px;
    }

    .cl-header__menu {
        gap: 16px;
    }
}

.news-list{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.news-row{
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.08);
    padding-bottom:30px;
}

.news-row__link{
    display:flex;
    align-items:center;
    gap:30px;
    text-decoration:none;
    color:inherit;
}

.news-row__link:hover {
    color: #000;
}

.news-row__image{
    width:320px;
    min-width:320px;
    height:320px;
    overflow:hidden;
    border-radius:12px;
}

.news-row__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s;
}

.news-row:hover img{
    transform:scale(1.05);
}

.news-row__content{
    flex:1;
    height: 320px;
    display: flex;
    flex-direction: column;
    margin-top: -10px;
}

.news-row__date{
    display:block;
    margin-top:15px;
    opacity:.7;
    font-size:14px;
}

.news-row__content h2{
    font-size:32px;
    line-height:1.2;
    margin-bottom:15px;
    font-family: "Bebas Neue";
}

.news-row__content p{
    font-size:16px;
    line-height:1.7;
    opacity:.8;
}

@media(max-width:768px){

    .news-row__link{
        flex-direction:column;
        align-items:flex-start;
    }

    .news-row__image{
        width:100%;
        min-width:100%;
        height:240px;
    }

    .news-row__content h2{
        font-size:24px;
    }

}

.cl-filter-link {
    color: rgba(255,255,255,.35);
    transition: .3s;
    text-decoration: none;
    margin-right: 40px;
    font-size: 18px;
}

.cl-filter-link:hover {
    color: #fff;
}

.cl-filter-link.active {
    color: #fff;
}

.cl-header__dropdown.is-static.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.works-page .cl-header__dropdown {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.cl-header--works .container-xxl {
    padding: 0 15px;
}

.cl-header--works .cl-header__dropdown-inner {

    margin-left: -14px;
}


/*.wk-footer {*/
/*    width: 100%;*/
/*    background: #030303;*/
/*    color: #fff;*/
/*    padding: 42px 44px 28px;*/
/*    overflow: hidden;*/
/*    margin-top: 80px;*/
/*}*/

/*.wk-footer__inner {*/
/*    width: 100%;*/
/*    min-height: 105px;*/
/*    display: grid;*/
/*    grid-template-columns: 1fr auto 1fr;*/
/*    align-items: start;*/
/*    gap: 40px;*/
/*}*/

/*.wk-footer__left {*/
/*    display: flex;*/
/*    align-items: flex-start;*/
/*    gap: 34px;*/
/*}*/

/*.wk-footer__logo {*/
/*    display: block;*/
/*    width: 82px;*/
/*    line-height: 0;*/
/*}*/

/*.wk-footer__logo img {*/
/*    width: 100%;*/
/*    height: auto;*/
/*    display: block;*/
/*}*/

/*.wk-footer__mail {*/
/*    color: #fff;*/
/*    font-size: 22px;*/
/*    line-height: 1;*/
/*    text-decoration: none;*/
/*    margin-top: -5px;*/
/*    transition: opacity .3s ease;*/
/*}*/

/*.wk-footer__mail:hover {*/
/*    opacity: .6;*/
/*    color: #fff;*/
/*}*/

/*.wk-footer__center {*/
/*    align-self: end;*/
/*    padding-bottom: 2px;*/
/*    text-align: center;*/
/*}*/

/*.wk-footer__center p {*/
/*    margin: 0;*/
/*    color: rgba(255,255,255,.28);*/
/*    font-size: 14px;*/
/*    letter-spacing: .3px;*/
/*}*/

/*.wk-footer__right {*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    align-items: flex-end;*/
/*    gap: 34px;*/
/*}*/

/*.wk-footer__socials {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: 22px;*/
/*    list-style: none;*/
/*    padding: 0;*/
/*    margin: 0;*/
/*}*/

/*.wk-footer__socials a {*/
/*    color: #fff;*/
/*    font-size: 15px;*/
/*    font-weight: 500;*/
/*    text-decoration: none;*/
/*    text-transform: uppercase;*/
/*    transition: opacity .3s ease;*/
/*}*/

/*.wk-footer__socials a:hover {*/
/*    opacity: .55;*/
/*}*/

/*.wk-footer__contact {*/
/*    text-align: right;*/
/*}*/

/*.wk-footer__contact p,*/
/*.wk-footer__contact a {*/
/*    display: block;*/
/*    margin: 0;*/
/*    color: #fff;*/
/*    font-size: 16px;*/
/*    line-height: 1.45;*/
/*    text-decoration: none;*/
/*}*/

/*@media (max-width: 991px) {*/
/*    .wk-footer {*/
/*        padding: 34px 24px 24px;*/
/*    }*/

/*    .wk-footer__inner {*/
/*        grid-template-columns: 1fr;*/
/*        gap: 34px;*/
/*    }*/

/*    .wk-footer__left,*/
/*    .wk-footer__right {*/
/*        align-items: flex-start;*/
/*    }*/

/*    .wk-footer__right {*/
/*        gap: 24px;*/
/*    }*/

/*    .wk-footer__center {*/
/*        order: 3;*/
/*        text-align: left;*/
/*    }*/

/*    .wk-footer__contact {*/
/*        text-align: left;*/
/*    }*/
/*}*/

/*@media (max-width: 575px) {*/
/*    .wk-footer__left {*/
/*        flex-direction: column;*/
/*        gap: 22px;*/
/*    }*/

/*    .wk-footer__logo {*/
/*        width: 72px;*/
/*    }*/

/*    .wk-footer__mail {*/
/*        font-size: 18px;*/
/*    }*/

/*    .wk-footer__socials {*/
/*        flex-wrap: wrap;*/
/*        gap: 14px 18px;*/
/*    }*/
/*}*/

/* ─── TOKENS ─── */
:root {
    --c-black:   #0a0a0a;
    --c-white:   #ffffff;
    --c-grey:    #f0f0f0;
    --c-mid:     #888888;
    --c-border:  #e0e0e0;

    --f-display: 'Bebas Neue', Georgia, serif;
    --f-body:    'Helvetica Neue LT GEO 45', Helvetica, Arial, sans-serif;

    --space-xs:  0.5rem;
    --space-sm:  1rem;
    --space-md:  2rem;
    --space-lg:  4rem;
    --space-xl:  7rem;

    --max-w:   1200px;
    --gutter:  2.5rem;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--f-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--c-black);
    background: var(--c-white);
}
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }

.container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--gutter);
}


/* ════════════════════════════════
   STICKY SUB-NAV
════════════════════════════════ */
.subnav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--c-white);
    border-bottom: 1px solid var(--c-border);
}

.subnav__inner {
    display: flex;
    gap: 0;
}

.subnav__link {
    flex: 1;
    text-align: center;
    padding: 0.9rem var(--space-sm);
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c-mid);
    border-right: 1px solid var(--c-border);
    transition: color 0.2s;
    white-space: nowrap;
}
.subnav__link:last-child { border-right: none; }
.subnav__link:hover { color: var(--c-black); }
.subnav__link--active { color: var(--c-black); }


/* ════════════════════════════════
   SECTION: HERO — full-bleed photo
════════════════════════════════ */
.hero {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--c-black);
    overflow: hidden;
    position: relative;
}

.hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
}

.hero__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
}


/* ════════════════════════════════
   SECTION: ABOUT TEXT
════════════════════════════════ */
.about {
    padding: 80px 0
}

.about__inner {
    display: grid;
    width: 100%;
}

.about__label {
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-mid);
    padding-top: 0.4rem;
}

.about__body { display: grid; gap: var(--space-md); }

.about__heading {
    font-family: var(--f-display);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 400;
    line-height: 1.1;
}

.about__text {
    font-size: 24px;
    line-height: 1.3;
    color: #333;
    max-width: 100ch;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.about__text p {
    line-height: 1.3;
}

/* ════════════════════════════════
   SECTION: TEAM — photo + cards
════════════════════════════════ */
.team {
}

.team__section-label {
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-mid);
    margin-bottom: var(--space-lg);
}

/* office photo */
.team__photo {
    width: 100%;
    aspect-ratio: 16 / 7;
    background: var(--c-grey);
    overflow: hidden;
    position: relative;
    margin-bottom: var(--space-lg);
}

.team__photo-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-mid);
}

/* member cards — square grid */
.team__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}

/* ბარათი გახდა იდეალური კვადრატი */
.team__card {
    background: var(--c-white);
    display: flex;
    flex-direction: column;
    aspect-ratio: 1 / 1; /* მთლიანი აითემი ინარჩუნებს კვადრატის ფორმას */
    overflow: hidden;
}

/* ფოტო იკავებს დარჩენილ თავისუფალ ადგილს */
.team__card-photo {
    flex-grow: 1;
    background: var(--c-grey);
    overflow: hidden;
    position: relative;
}

.team__card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*!* ტექსტის ბლოკი *!*/
/*.team__card-info {*/
/*    padding: var(--space-sm);*/
/*    border-top: 1px solid var(--c-border);*/
/*    flex-shrink: 0; !* ტექსტმა რომ ფოტო არ შეავიწროვოს *!*/
/*    background: #f2f2f2;*/
/*}*/

.team__card-name {
    font-size: 0.8rem;
    font-weight: 500;
    display: block;
}

.team__card-role {
    font-size: 9px;
    text-transform: uppercase;
    color: var(--c-mid);
}
/* ════════════════════════════════
   SECTION: AWARDS — list
════════════════════════════════ */
.awards {
    padding: 60px 0;
    border-bottom: 1px solid var(--c-border);
    /* overflow: hidden; <- დარწმუნდი, რომ ეს არ გიწერია აქ, თორემ ფოტოს მოჭრის */
}

.awards__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--space-lg);
}

.awards__title {
    font-family: var(--f-display);
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 400;
}

.awards__count {
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c-mid);
}

/* სიას ვადებთ relative-ს, რომ ფოტოები მთლიანი ქარდის მარჯვნივ დალაგდეს */
.awards__list {
    list-style: none;
    position: relative;
}

.awards__item-name {
    width: 20%;
}

.awards__item-cat {
    width: 60%;
}

.awards__item-year {
    width: 20%;
}

/* სიის ელემენტი: საწყისი მდგომარეობა */
.awards__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-template-columns: 3fr 1fr 1fr;
    padding:15px 30px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    gap: var(--space-md);
    background-color: #000000; /* მხოლოდ ხაზი შავდება */
    cursor: pointer;
    color: #fff;
    transition: background-color 0.3s ease, color 0.3s ease;
    margin-bottom: 10px;
}
.awards__item:first-child { border-top: 1px solid var(--c-border); }

.awards__item-name {
    font-size: 1rem;
    font-weight: 500;
}

.awards__item-cat {
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-mid);
    transition: color 0.3s ease;
}

.awards__item-year {
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    color: var(--c-mid);
    text-align: right;
    transition: color 0.3s ease;
}

/* ─── დიდი 400x400 ფოტო ქარდის გარეთ (Outside) ─── */
.awards__item-img {
    position: absolute;
    right: -440px;       /* 400px ფოტოს ზომაა + 40px დაშორება ქარდიდან */
    top: 50%;
    transform: translateY(-50%) scale(0.95); /* მსუბუქი Zoom-in ეფექტი შემოსვლისას */
    width: 400px;        /* ფოტოს სიგანე */
    height: 400px;       /* ფოტოს სიმაღლე (კვადრატი) */
    object-fit: cover;   /* ფოტო რომ არ გაიწელოს */
    border-radius: 8px;  /* ოდნავ მომრგვალებული კუთხეები სილამაზისთვის */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); /* ჩრდილი ეფექტურობისთვის */
display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.35s cubic-bezier(0.25, 1, 0.5, 1),
    visibility 0.35s;
    z-index: 99;
}

/* ─── ჰოვერის ეფექტები ─── */
.awards__item:hover {
    background-color: #000000; /* მხოლოდ ხაზი შავდება */
    color: #ffffff;            /* ტექსტი თეთრდება */
}

/* ტექსტების ფერების შეცვლა ჰოვერზე */
.awards__item:hover .awards__item-cat,
.awards__item:hover .awards__item-year {
    color: #cccccc;
}

/* ფოტოს გამოჩენა ჰოვერზე */
.awards__item:hover .awards__item-img {
    opacity: 1;
    visibility: visible;
    right: 0;
    transform: translateY(-50%) scale(1); /* ბრუნდება ზუსტ ზომაზე */
}


/* ════════════════════════════════
   SECTION: PHOTO 2
════════════════════════════════ */
.photo2 {
    width: 100%;
    aspect-ratio: 21 / 9;
    background: var(--c-black);
    overflow: hidden;
    position: relative;
}

.photo2__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.25);
}


/* ════════════════════════════════
   SECTION: TEXT BLOCK (below photo2)
════════════════════════════════ */
.textblock {
    padding: var(--space-xl) 0;
    border-bottom: 1px solid var(--c-border);
}

.textblock__inner {
    max-width: 70ch;
}

.textblock__heading {
    font-family: var(--f-display);
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: var(--space-md);
}

.textblock__text {
    font-size: 1rem;
    line-height: 1.8;
    color: #333;
}


/* ════════════════════════════════
   SECTION: CONTACT
════════════════════════════════ */
.contact {
    padding: var(--space-xl) 0;
    border-bottom: 1px solid var(--c-border);
}

.contact__label {
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-mid);
    margin-bottom: var(--space-lg);
}

/* top row: info left / vacancies right */
.contact__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
    align-items: start;
}

/* info */
.contact__info { display: grid; gap: var(--space-md); }

.contact__info-group {}

.contact__info-key {
    font-size: 0.6rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c-mid);
    margin-bottom: 0.2rem;
}

.contact__info-val {
    font-size: 0.92rem;
    line-height: 1.6;
}

/* vacancies */
.vacancies {}

.vacancies__title {
    font-family: var(--f-display);
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: var(--space-sm);
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--c-border);
}

.vacancies__list { list-style: none; }

.vacancies__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 0;
    border-bottom: 1px solid var(--c-border);
    cursor: pointer;
    transition: opacity 0.15s;
}
.vacancies__item:hover { opacity: 0.6; }

.vacancies__item-name {
    font-size: 0.88rem;
    font-weight: 500;
}

.vacancies__item-dept {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-mid);
}

.vacancies__arrow {
    font-size: 0.75rem;
    color: var(--c-mid);
    flex-shrink: 0;
    margin-left: var(--space-sm);
}

/* contact form */
.contact__form-title {
    font-family: var(--f-display);
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: var(--space-lg);
}

.contact__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--space-lg);
}

.contact__field-wrap { margin-bottom: var(--space-md); }
.contact__field-wrap--full { grid-column: 1 / -1; }

.contact__field-label {
    display: block;
    font-size: 0.6rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--c-mid);
    margin-bottom: 0.4rem;
}

.contact__field {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--c-black);
    padding: 0.6rem 0;
    font-family: var(--f-body);
    font-size: 0.9rem;
    background: none;
    outline: none;
    color: var(--c-black);
}
.contact__field::placeholder { color: var(--c-mid); }

.contact__submit {
    font-family: var(--f-body);
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    background: var(--c-black);
    color: var(--c-white);
    border: none;
    padding: 1rem 2.5rem;
    cursor: pointer;
    transition: opacity 0.2s;
    justify-self: start;
}
.contact__submit:hover { opacity: 0.7; }


/* ════════════════════════════════
   FOOTER
════════════════════════════════ */
.footer {
    padding: var(--space-lg) 0;
    background: var(--c-black);
    color: var(--c-white);
}

.footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-md);
}

.footer__brand {
    font-family: var(--f-display);
    font-size: 1rem;
    font-weight: 400;
}

.footer__links {
    display: flex;
    gap: var(--space-md);
    list-style: none;
}

.footer__link {
    font-size: 0.62rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    transition: color 0.2s;
}
.footer__link:hover { color: var(--c-white); }

.footer__copy {
    font-size: 0.62rem;
    color: rgba(255,255,255,0.25);
}


/* ════════════════════════════════
   MODAL — vacancy detail
════════════════════════════════ */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
}
.modal-overlay--open {
    opacity: 1;
    pointer-events: all;
}

.modal {
    background: var(--c-white);
    max-width: 560px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    transform: translateY(20px);
    transition: transform 0.25s;
}
.modal-overlay--open .modal { transform: translateY(0); }

.modal__header {
    padding: var(--space-md);
    border-bottom: 1px solid var(--c-border);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.modal__titles {}
.modal__title {
    font-family: var(--f-display);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 0.3rem;
}
.modal__dept {
    font-size: 0.62rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--c-mid);
}

.modal__close {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--c-mid);
    padding: 0.2rem;
    flex-shrink: 0;
    margin-left: var(--space-sm);
    transition: color 0.15s;
}
.modal__close:hover { color: var(--c-black); }

.modal__body {
    padding: var(--space-md);
}

.modal__section { margin-bottom: var(--space-md); }

.modal__section-title {
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c-mid);
    margin-bottom: var(--space-xs);
}

.modal__text {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #333;
}

.modal__list {
    list-style: none;
    display: grid;
    gap: 0.3rem;
}
.modal__list li {
    font-size: 0.88rem;
    padding-left: 1rem;
    position: relative;
    color: #333;
}
.modal__list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--c-mid);
}

.modal__apply {
    display: inline-block;
    margin-top: var(--space-md);
    font-family: var(--f-body);
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    background: var(--c-black);
    color: var(--c-white);
    border: none;
    padding: 0.9rem 2rem;
    cursor: pointer;
    transition: opacity 0.2s;
}
.modal__apply:hover { opacity: 0.7; }


/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
    .about__inner { grid-template-columns: 1fr; }
    .team__grid   { grid-template-columns: repeat(2, 1fr); }
    .contact__top { grid-template-columns: 1fr; }
    .contact__form { grid-template-columns: 1fr; }
    .contact__field-wrap--full { grid-column: 1; }
}

@media (max-width: 600px) {
    :root { --gutter: 1.25rem; --space-xl: 4rem; }
    .subnav__link { padding: 0.75rem 0.5rem; font-size: 0.55rem; }
    .team__grid { grid-template-columns: repeat(2, 1fr); }
    .awards__item { grid-template-columns: 2fr 1fr; }
    .awards__item-year { display: none; }
    .footer__inner { flex-direction: column; align-items: flex-start; }
}

/* ზედა ბეიჯების სტილი (სურვილისამებრ) */
.project-hero-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.meta-badge {
    font-size: 14px;
    color: #fff;
}

/* მთავარი ლისტის კონტეინერი */
.meta-list {
    display: flex;
    flex-direction: column;
    gap: 10px; /* ხაზებს შორის დაცილება */
    margin: 0;
    padding: 0;
}

/* თითოეული მწკრივი (Row) */
.meta-item {
    display: flex;
    align-items: center;
    padding-bottom: 0px;
    justify-content: space-between;

}

/* Key (ლეიბლი) */
.meta-label {
    font-size: 12px;
    color: #fff;
    opacity: 0.5;
    margin: 0;
    margin-right: 5px;
}

/* Value (მნიშვნელობა) */
.meta-value {
    font-size: 12px;
    color: #fff;
    margin: 0;
    opacity: 0.5;
    text-align: left;
}

/* საწყისი მდგომარეობა (სექცია ჩვეულებრივადაა) */
.meta-content{
    transition: transform 0.4s ease, opacity 0.4s ease;
    transform: translateY(0);
    opacity: 1;
}

/* მდგომარეობა, როცა დროპდაუნი ღიაა (მაღლა იწევა და იმალება) */
.meta-content.section-hidden {
    transform: translateY(-100%); /* ან ნაკლები, მაგალითად -50px, გააჩნია დიზაინს */
    opacity: 0;
    pointer-events: none; /* რომ დამალულ სექციაზე კლიკი არ მუშაობდეს */
}

.bg-gray {
    width: 100%;
    float: left;
    background: #f2f2f2;
    padding:80px 0;
    /*margin: 40px 0;*/
    margin-bottom: 0;
}


.bg-gray-two {
    width: 100%;
    background: #f2f2f2;
    padding:80px 0;
    /*margin: 40px 0;*/
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}


.slider-plans {
    max-width: 1100px;
    position: relative;

}

.story-strip {
    margin-bottom: 60px;
}

.related-projects {
    width: 100%;
    float: left;
    margin-top: 40px;
}

.related-projects .archive-grid.fluid-container {
    padding:0;
}

.related-projects .related-projects__title {
    font-family: "Bebas Neue";
    font-size: 36px;
    margin-bottom: 40px;
}

.bg-gray .visual-block {
    background: none;
    margin-bottom: 0;
}

.bg-gray {
    margin-bottom: 60px;
}

.story-strip {
    overflow: hidden;
    width: 100%;
    position: relative;
    cursor: grab;
}

.story-strip:active {
    cursor: grabbing;
}

.story-track {
    display: flex;
    gap: 10px;
    width: max-content;
    animation: story-marquee var(--marquee-duration, 40s) linear infinite;
    will-change: transform;
}

.story-strip:hover .story-track {
    animation-play-state: paused;
}

.story-track.is-dragging {
    animation-play-state: paused !important;
}

@keyframes story-marquee {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-50%, 0, 0); }
}

.story-slide {
    flex: 0 0 auto;
    aspect-ratio: 9 / 16;
    border-radius: 12px;
    overflow: hidden;
    background: #111;
}

.story-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.hero {
    position: relative;
    width: 100%;
    height: 100vh; /* ან სასურველი სიმაღლე, მაგ. 500px */
    overflow: hidden;
}

.hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.10); /* ამუქებს ფონს ტექსტის უკეთესი კონტრასტისთვის */
    padding: 20px;
}

.hero__title {
    color: #ffffff;
    font-size: clamp(2.5rem, 6vw, 5rem); /* რესპონსიული ზომა: პატარა ეკრანზე არ გაფუჭდება, დიდზე მკვეთრად გამოჩნდება */
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.hero__title-wrap .hero__title {
    font-size: clamp(2.5rem, 6vw, 3rem);
}

.team__photo {
    position: relative;
    width: 100%;
    max-width: 100%; /* ან სასურველი მაქსიმალური სიგანე */
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 40px;
}

.team__photo img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* ფოტოს ქვედა/ზედა ნაწილში ტექსტის ელეგანტური ოვერლეი */
.team__photo-placeholder {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.15) 100%);
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
    color: #ffffff;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
    font-family: "Bebas Neue";
}


/* Werkraum — contact section + footer */

:root {
    --wk-ink: #111110;
    --wk-paper: #ffffff;
    --wk-muted: #55554f;
    --wk-label: #8a8a84;
    --wk-rule: #b8b8b2;
    --wk-hair: #111110;
    --wk-footer-bg: #111110;
    --wk-footer-fg: #f4f4f0;
    --wk-footer-rule: rgba(244, 244, 240, 0.18);
    --wk-footer-muted: #9f9f9f;
    --wk-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --wk-display: 'Bebas Neue', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.wk { font-family: var(--wk-sans); color: var(--wk-ink); background: var(--wk-paper); margin: 0; -webkit-font-smoothing: antialiased; }
.wk a { color: inherit; text-decoration: none; }
.wk a:hover { color: #6b6b66; }
.wk input, .wk textarea, .wk button { font: inherit; color: inherit; }
.wk input:focus, .wk textarea:focus { outline: none; }
.wk ::placeholder { color: var(--wk-rule); }

/* ---------- contact ---------- */

.wk-contact { max-width: 100%; margin: 0 auto; padding: 80px clamp(24px, 5vw, 15px) 15px; }

.wk-contact__head {
    display: flex; align-items: baseline; gap: 24px;
    padding-bottom: 28px;
}
.wk-contact__title {
    margin: 0; font-family: var(--wk-display);
    font-size: 44px; font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase;
}

.wk-contact__body { display: flex; flex-wrap: wrap; align-items: stretch; gap: 96px; padding-top: 40px; }

.wk-info { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 56px; }

.wk-wordmark-box {     margin: 0;
    background: var(--wk-ink);
    width: 100%;
    overflow: hidden;
    font-size: 70px;
    color: #fff;
    /* padding: 40px; */
    font-family: 'Bebas Neue';
    height: 100px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: 15px;
    align-items: flex-start;}



.wk-wordmark-box strong {
    font-size: 42px;
}

.wk-wordmark-box span {font-size: 16px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }

.wk-wordmark-img { display: block; width: 100%; height: 180px; object-fit: cover; }

.wk-intro { margin: 42px 0; max-width: 60ch; font-size: 15px; line-height: 1.7; color: var(--wk-muted); text-wrap: pretty;  }

.wk-rows { display: flex; flex-direction: column; gap: 8px; }
.wk-row {
    display: grid; grid-template-columns: 96px 1fr; gap: 24px;
    padding: 18px 0; border-bottom: 0.5px solid var(--wk-hair);
}
.wk-row__label {
    font-family: var(--wk-display); font-size: 14px; letter-spacing: 0.16em;
    text-transform: uppercase; padding-top: 2px; font-weight: 900;
}
.wk-row__value { font-size: 15px; line-height: 1.6; }
.wk-row__value a { border-bottom: 1px solid var(--wk-rule); padding-bottom: 1px; }

.wk-social {
    display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px;
    font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
}
.wk-social a { display: inline-flex; align-items: center; gap: 8px; }
.wk-social__mark {
    display: flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; border: 0.5px solid var(--wk-hair);
    font-size: 12px; letter-spacing: 0; font-weight: 700; text-transform: none;
}
.wk-social__mark--sm { font-size: 10px; }

.wk-coords {
    display: flex; gap: 32px; color: var(--wk-label);
    font-family: ui-monospace, 'SF Mono', Menlo, monospace;
    font-size: 11px; letter-spacing: 0.04em;
}

/* ---------- form ---------- */

.wk-form-col { flex: 1.4 1 420px; min-width: 0; display: flex; flex-direction: column; }

.wk-form__head {
    display: flex; align-items: baseline; justify-content: space-between;
    padding-bottom: 20px; border-bottom: 0.5px solid var(--wk-hair);
    margin-bottom: 24px;
}
.wk-form__title {
    margin: 0; font-family: var(--wk-display); font-size: 20px; font-weight: 400;
    letter-spacing: 0.14em; text-transform: uppercase;
}
.wk-form__note { font-size: 12px; letter-spacing: 0.02em; color: var(--wk-label); }

.wk-form {

}
.wk-field {
    display: flex; flex-direction: column; gap: 10px;
    padding: 12px 0 12px; border-bottom: 0.5px solid var(--wk-hair);
}
.wk-field--wide { grid-column: 1 / -1; padding-top: 32px; }
.wk-field--message { grid-column: 1 / -1; padding: 56px 0 0; border-bottom: none; }
.wk-field__label {
    font-family: var(--wk-display); font-size: 14px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--wk-label);
}
.wk-field--message .wk-field__label { margin-bottom: 2px; }
.wk-field input { border: none; background: none; font-size: 16px; padding: 0; width: 100%; min-width: 0; }
.wk-field textarea {
    border: 0.5px solid var(--wk-hair); background: none; font-size: 16px; line-height: 1.6;
    width: 100%; min-width: 0; height: 134px; padding: 12px 14px;
    box-sizing: border-box; resize: vertical;
}

.wk-form__foot {
     display: flex; align-items: center; justify-content: space-between;
     gap: 24px; padding-top: 36px;
}
.wk-form__terms { font-size: 14px; line-height: 1.65; font-weight: 700; max-width: 600px; }
.wk-form__terms a { border-bottom: 1px solid var(--wk-rule); }

button.wk-submit {
    background: var(--wk-ink); color: #fff; border: 0.5px solid var(--wk-ink);
    padding: 26px 60px; cursor: pointer; font-family: var(--wk-display);
    font-size: 18px; letter-spacing: 0.18em; text-transform: uppercase; white-space: nowrap;
}
button.wk-submit:hover { background: #fff; color: var(--wk-ink); }

.wk-sent { display: none; padding: 72px 0; border-bottom: 0.5px solid #e2e2dc; }
.wk-sent--on { display: block; }
.wk-sent__title { margin: 0 0 12px; font-family: var(--wk-display); font-size: 34px; letter-spacing: 0.02em; }
.wk-sent__body { margin: 0 0 32px; font-size: 15px; line-height: 1.7; color: var(--wk-muted); }
button.wk-sent__again {
    background: none; border: none; padding: 0; cursor: pointer;
    font-family: var(--wk-display); font-size: 16px; letter-spacing: 0.14em;
    text-transform: uppercase; border-bottom: 0.5px solid var(--wk-hair);
}
.wk-form--off { display: none; }

/* ---------- footer ---------- */

.wk-footer {
    background: var(--wk-footer-bg); color: var(--wk-footer-fg);
    border-top: 0.5px solid var(--wk-footer-rule); margin-top: 40px;
}
.wk-footer__inner { width: 100%; padding: 18px 0; box-sizing: border-box; }
.wk-footer__top {
    position: relative; display: flex; flex-wrap: wrap;
    align-items: flex-start; justify-content: flex-end; gap: 28px 64px;
}
.wk-footer__brand { position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 16px; }
.wk-footer__brand img { display: block; height: 61px; width: 62px; }
.wk-footer__contact {
    display: flex; flex-direction: column; gap: 9px;
    text-align: right; font-size: 12px; line-height: 1.6; color: var(--wk-footer-muted);
}
.wk-footer__contact a { color: var(--wk-footer-muted); }
.wk-footer__bar {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
    gap: 14px 32px; margin-top: 14px; padding-top: 10px; border-top: 0.5px solid var(--wk-footer-rule);
}
.wk-footer__copy { font-size: 11px; letter-spacing: 0.06em; opacity: 0.55; }
.wk-footer__social {
    display: flex; gap: 12px; font-family: var(--wk-display);
    font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; margin-left: auto;
}

/* ---------- narrow screens ---------- */

@media (max-width: 900px) {
    .wk-contact { padding-top: 88px; }
    .wk-contact__body { gap: 56px; }
    .wk-footer__brand { position: static; }
    .wk-footer__top { justify-content: space-between; }
    .wk-footer__contact { text-align: left; }
}


.contact {
    display: none!important;
}

.marquee-section {
    position: relative;
    width: 100%;
    background-color: #f0f0f0;
    padding: 80px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    font-family: "Bebas Neue";
    align-items: center;
    overflow: hidden;
}

.photo-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.photo-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

#marqueeCanvas {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 80px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
    font-family: "Bebas Neue";
}

.cl-header__bar .container-xxl {
    padding: 0 15px;
}