@import url("https://fonts.googleapis.com/css2?family=Anta&family=Poppins:wght@400;500&display=swap");
:root {
    --b: #004a96;
    --b2: #ff5b04;
    --b3: #89b5c6;
    --c: #3971ad;
    --i: #16375c;
    --m: #66758a;
    --l: #dbe4ef;
    --s: #f1f4f8;
    --w: #fff;
    --h: "Anta", sans-serif;
    --p: "Poppins", sans-serif;
}

/* Partners list */
.partners-section {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.partners-heading {
    display: grid;
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
    gap: clamp(60px, 9vw, 150px);
    align-items: end;
    margin-bottom: 80px;
}
.partners-heading-title {
    position: sticky;
    top: 115px;
}
.partners-heading-title h2 {
    max-width: 610px;
    margin-top: 22px;
    font-size: clamp(40px, 4.2vw, 70px);
}
.partners-heading-text {
    max-width: 720px;
    padding-top: 31px;
    color: var(--m);
}
.partners-heading-text p {
    margin: 0 0 22px;
}
.partners-heading-text p:last-child {
    margin-bottom: 0;
}
.partners-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--l);
    border-left: 1px solid var(--l);
}
.partner-card {
    display: flex;
    min-width: 0;
    min-height: 230px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
    padding: 30px 24px 25px;
    border-right: 1px solid var(--l);
    border-bottom: 1px solid var(--l);
    background: #fff;
    transition: background-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.partner-card:hover {
    z-index: 1;
    background: var(--s);
    box-shadow: 0 20px 45px rgba(22,55,92,.08);
    transform: translateY(-5px);
}
.partner-logo {
    display: grid;
    width: 100%;
    height: 92px;
    margin: 0;
    place-items: center;
}
.partner-logo img {
    width: auto;
    height: auto;
    max-width: 150px;
    max-height: 72px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .72;
    transition: filter .35s ease, opacity .35s ease, transform .35s ease;
}
.partner-card:hover .partner-logo img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.04);
}
.partner-card h3 {
    min-height: 34px;
    color: var(--i);
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 1199px) {
    .partners-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .partners-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 60px;
    }
    .partners-heading-title { position: relative; top: auto; }
    .partners-heading-text { max-width: 780px; padding-top: 0; }
    .partners-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .partners-heading { margin-bottom: 42px; }
    .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-card { min-height: 180px; gap: 16px; padding: 24px 14px 20px; }
    .partner-logo { height: 72px; }
    .partner-logo img { max-width: 115px; max-height: 58px; }
    .partner-card h3 { font-size: 12px; }
}

/* Projects index and detail */
.projects-index { background: #fff; }
.projects-index-heading,
.related-projects-heading {
    display: grid;
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
    gap: clamp(60px, 9vw, 150px);
    align-items: end;
    margin-bottom: 80px;
}
.projects-index-heading h2,
.related-projects-heading h2 {
    margin-top: 20px;
}
.projects-index-heading > p {
    max-width: 480px;
    margin: 0 0 8px;
    color: var(--m);
}
.projects-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 38px;
}
.project-index-card {
    min-width: 0;
}
.project-index-card:nth-child(2n){
    margin-top: 85px;
}
.project-index-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--s);
}
.project-index-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,35,73,.52));
    pointer-events: none;
}
.project-index-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.72);
    transition: filter .45s ease, transform .75s cubic-bezier(.22,1,.36,1);
}
.project-index-card:hover .project-index-media img {
    filter: saturate(1);
    transform: scale(1.045);
}
.project-index-number {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    background: var(--b);
    color: #fff;
    font: 500 11px var(--h);
}
.project-index-arrow {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 22px;
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(0,74,150,.35);
    color: #fff;
    transition: background-color .3s ease, transform .3s ease;
}
.project-index-card:hover .project-index-arrow {
    background: var(--b2);
    transform: rotate(8deg);
}
.project-index-content { padding: 27px 8px 0; }
.project-index-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-bottom: 16px;
    color: var(--b2);
    font: 500 10px var(--h);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.project-index-meta span + span::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 10px 2px 0;
    border-radius: 50%;
    background: var(--b3);
}
.project-index-content h3 {
    max-width: 620px;
    font-size: clamp(24px, 2.2vw, 36px);
}
.project-index-content p {
    max-width: 590px;
    margin: 18px 0 0;
    color: var(--m);
    font-size: 12px;
}
.project-index-link {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 22px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--b);
    font: 500 11px var(--h);
}
.project-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 90px;
}
.project-pagination a,
.project-pagination span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--l);
    background: #fff;
    font: 500 11px var(--h);
}
.project-pagination .is-current {
    border-color: var(--b);
    background: var(--b);
    color: #fff;
}
.project-pagination .project-pagination-arrow { width: 62px; }
.project-pagination .is-disabled { color: #aab5c3; }

.project-detail-section { background: #fff; }
.project-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: clamp(65px, 8vw, 125px);
    align-items: start;
}
.project-detail-lead {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    margin-bottom: 55px;
}
.project-detail-lead p {
    max-width: 720px;
    margin: 0;
    color: var(--i);
    font: 500 clamp(22px, 2.4vw, 36px)/1.4 var(--h);
}
.project-detail-cover {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--s);
}
.project-detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.22,1,.36,1);
}
.project-detail-cover:hover img { transform: scale(1.035); }
.project-detail-cover > span {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #fff;
    color: var(--b);
    font: 500 10px var(--h);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.project-detail-text {
    max-width: 880px;
    padding: 70px 0 30px;
}
.project-detail-text p,
.project-detail-text li {
    color: var(--m);
    font-size: 14px;
}
.project-detail-text p:first-child {
    color: var(--i);
    font-size: 17px;
}
.project-facts {
    position: sticky;
    top: 105px;
    border-top: 4px solid var(--b2);
    background: var(--b);
    color: #fff;
    padding: 38px 34px 34px;
}
.project-facts-label {
    display: block;
    margin-bottom: 22px;
    font: 500 24px var(--h);
    letter-spacing: .09em;
}
.project-facts dl { margin: 0; }
.project-facts dl > div {
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.18);
}
.project-facts dt {
    margin-bottom: 6px;
    color: rgba(255,255,255,.52);
    font: 400 9px var(--p);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.project-facts dd {
    margin: 0;
    font: 500 14px/1.45 var(--h);
}
.project-facts dd a:hover { color: var(--b2); }
.project-back-link {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 25px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.18);
    font: 500 12px var(--h);
}
.project-gallery { padding-top: 80px; }
.project-gallery-heading { margin-bottom: 40px; }
.project-gallery-heading h2 { margin-top: 17px; font-size: clamp(34px, 3.5vw, 55px); }
.project-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.project-gallery-grid a {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--s);
}
.project-gallery-grid a:first-child:nth-last-child(odd) { grid-column: 1 / -1; aspect-ratio: 16 / 8; }
.project-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.project-gallery-grid a:hover img { transform: scale(1.04); }
.project-gallery-grid a > span {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    background: #fff;
    color: var(--b);
}
.related-projects-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}
.related-projects-heading .link { margin-bottom: 8px; }
.related-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}
.related-project-card { min-width: 0; }
.related-project-card figure {
    aspect-ratio: 4 / 3;
    margin: 0;
    overflow: hidden;
    background: #dfe6ee;
}
.related-project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.related-project-card:hover img { transform: scale(1.045); }
.related-project-card > a > div { padding: 22px 3px 0; }
.related-project-card span {
    color: var(--b2);
    font: 500 9px var(--h);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.related-project-card h3 { margin-top: 10px; font-size: 21px; line-height: 1.3; }

@media (max-width: 991px) {
    .projects-index-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 48px; }
    .project-index-card:nth-child(4n + 2), .project-index-card:nth-child(4n + 3) { padding-top: 45px; }
    .project-detail-layout { grid-template-columns: 1fr; }
    .project-facts { position: relative; top: auto; }
    .related-projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .projects-index-grid { grid-template-columns: 1fr; gap: 55px; }
    .project-index-card:nth-child(4n + 2), .project-index-card:nth-child(4n + 3) { padding-top: 0; }
    .project-index-content { padding: 22px 0 0; }
    .project-pagination { margin-top: 60px; }
    .project-detail-lead { grid-template-columns: 1fr; gap: 20px; margin-bottom: 38px; }
    .project-detail-text { padding-top: 48px; }
    .project-gallery-grid { grid-template-columns: 1fr; }
    .project-gallery-grid a:first-child:nth-last-child(odd) { grid-column: auto; aspect-ratio: 4 / 3; }
    .related-projects-heading { grid-template-columns: 1fr; gap: 24px; }
    .related-projects-grid { grid-template-columns: 1fr; }
}

/* Certificates */
.certificates-section {
    position: relative;
    overflow: hidden;
    background: var(--s);
}
.certificates-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .55fr);
    gap: clamp(45px, 8vw, 130px);
    align-items: end;
    margin-bottom: 65px;
}
.certificates-heading h2 {
    max-width: 760px;
    margin-top: 20px;
}
.certificates-heading > p {
    max-width: 470px;
    margin: 0 0 8px;
    color: var(--m);
}
.certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.certificate-card {
    position: relative;
    min-width: 0;
    background: #fff;
    border: 1px solid var(--l);
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.certificate-card:hover {
    border-color: rgba(0,74,150,.45);
    box-shadow: 0 24px 55px rgba(22,55,92,.1);
    transform: translateY(-8px);
}
.certificate-link {
    position: relative;
    display: block;
    margin: 14px 14px 0;
    overflow: hidden;
    background: #e7edf4;
}
.certificate-number {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    background: var(--b);
    color: #fff;
    font: 500 12px var(--h);
}
.certificate-image {
    display: block;
    aspect-ratio: 3 / 4;
    padding: clamp(22px, 3vw, 42px);
}
.certificate-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: saturate(.82);
    transition: filter .4s ease, transform .55s cubic-bezier(.22,1,.36,1);
}
.certificate-card:hover .certificate-image img {
    filter: saturate(1);
    transform: scale(1.035);
}
.certificate-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(0,58,121,.76);
    color: #fff;
    opacity: 0;
    font: 500 12px var(--h);
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: opacity .35s ease;
}
.certificate-link:hover .certificate-overlay,
.certificate-link:focus-visible .certificate-overlay {
    opacity: 1;
}
.certificate-overlay i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
}
.certificate-content {
    display: flex;
    min-height: 132px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 27px 30px 25px;
}
.certificate-content h3 {
    font-size: 20px;
    line-height: 1.35;
}
.certificate-content > span {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 18px;
    color: var(--b2);
    font: 500 10px var(--h);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.certificates-empty {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border: 1px solid var(--l);
    background: #fff;
    color: var(--m);
    text-align: center;
}
.certificates-empty i {
    color: var(--b3);
    font-size: 42px;
}
.certificates-empty p { margin: 0; }

@media (max-width: 991px) {
    .certificates-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 48px;
    }
    .certificates-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .certificates-grid { grid-template-columns: 1fr; gap: 24px; }
    .certificate-content { min-height: 115px; padding: 24px; }
}

/* Error content area */
.fx-error-area {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    background: var(--s);
}
.fx-error-area .container {
    width: min(1340px, calc(100% - 40px));
    max-width: none;
}
.fx-error-content {
    display: grid;
    grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr);
    min-height: 500px;
    border: 1px solid var(--l);
    background: #fff;
}
.fx-error-visual {
    position: relative;
    display: grid;
    min-height: 500px;
    overflow: hidden;
    place-items: center;
    background:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        var(--b);
    background-size: 52px 52px;
}
.fx-error-visual::before,
.fx-error-visual::after {
    content: "";
    position: absolute;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 50%;
}
.fx-error-visual::after {
    width: 250px;
    height: 250px;
}
.fx-error-code {
    position: relative;
    z-index: 2;
    color: transparent;
    font: 500 clamp(130px, 15vw, 245px)/1 var(--h);
    letter-spacing: -.09em;
    -webkit-text-stroke: 2px rgba(255,255,255,.9);
}
.fx-error-line {
    position: absolute;
    z-index: 1;
    width: 75%;
    height: 7px;
    background: var(--b2);
    transform: rotate(-34deg) skewX(-25deg);
}
.fx-error-point {
    position: absolute;
    z-index: 3;
    top: 22%;
    right: 18%;
    width: 18px;
    height: 18px;
    border: 4px solid var(--b2);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 10px rgba(255,91,4,.16);
}
.fx-error-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(55px, 7vw, 105px);
}
.fx-error-copy h2 {
    max-width: 580px;
    margin: 22px 0 28px;
    font-size: clamp(38px, 4vw, 64px);
}
.fx-error-copy p {
    max-width: 510px;
    margin: 0 0 36px;
    color: var(--m);
}
.fx-error-copy .btn {
    gap: 34px;
    min-width: 205px;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.fx-error-copy .btn:hover {
    color: #fff;
    background: var(--b2);
    border-color: var(--b2);
    transform: translateY(-3px);
}

@media (max-width: 991px) {
    .fx-error-content { grid-template-columns: 1fr; }
    .fx-error-visual { min-height: 360px; }
}

@media (max-width: 767px) {
    .fx-error-area { padding: 70px 0; }
    .fx-error-content { min-height: 0; }
    .fx-error-visual { min-height: 270px; background-size: 38px 38px; }
    .fx-error-visual::before { width: 250px; height: 250px; }
    .fx-error-visual::after { width: 160px; height: 160px; }
    .fx-error-code { font-size: clamp(115px, 40vw, 175px); }
    .fx-error-copy { padding: 48px 28px 55px; }
    .fx-error-copy h2 { margin: 18px 0 22px; font-size: clamp(34px, 10vw, 46px); }
}


* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    color: var(--b);
    background: #fff;
    font: 14px/1.65 var(--p);
}
body:before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(25% - 1px),
    rgba(29, 57, 96, 0.075) 25%
    );
    background-size: min(1720px, calc(100% - 48px)) 100%;
    background-position: center;
    pointer-events: none;
}
.hidden-h1{
    opacity: 0;
    height: 0;
    width: 0;
}
img {
    display: block;
    width: 100%;
    object-fit: cover;
}
a {
    color: inherit;
    text-decoration: none;
}
.wrap {
    width: min(1720px, calc(100% - 20px));
    margin: auto;
}
.narrow {
    width: min(1340px, calc(100% - 40px));
    margin: auto;
}
.sec {
    padding: 125px 0;
}
.sec.gray {
    background: var(--s);
}
h1,
h2,
h3,
h4 {
    margin: 0;
    font-family: var(--h);
    font-weight: 500;
    line-height: 1.1;
}
h1 {
    font-size: clamp(50px, 5vw, 96px);
    letter-spacing: -0.035em;
}
h2 {
    font-size: clamp(36px, 3.6vw, 68px);
    letter-spacing: -0.03em;
}
h3 {
    font-size: 24px;
}
.tag {
    font: 500 11px var(--h);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color:var(--b2);
}
.tag:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 1px;
    background: currentColor;
    margin: 0 10px 3px 0;
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    height: 52px;
    padding: 0 24px;
    border: 1px solid var(--b);
    background: var(--b);
    color: #fff;
    font: 500 12px var(--h);
}
.btn.white {
    background: #fff;
    color: var(--b);
    border-color: #fff;
}
.btn.secondary {
    background: var(--b3);
    border-color: var(--b3);
}
.btn.secondary:hover {
    background: var(--b2);
    border-color: var(--b2);
    color: #fff;
}
.link {
    font: 500 12px var(--h);
    border-bottom: 1px solid;
    padding-bottom: 5px;
}
.header {
    height: 120px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    color: white;
    transition:
    height 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.header.is-sticky {
    height: 78px;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.96);
    color: var(--b);
    box-shadow: 0 12px 35px rgba(20, 36, 58, 0.11);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    animation: header-drop 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes header-drop {
    from {
        opacity: 0;
        transform: translateY(-22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.head-in {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.head-in > a:first-child {
    position: relative;
    display: block;
    width: 200px;
    height: 80px;
}
.logo {
    position: absolute;
    inset: 0 auto auto 0;
    object-fit: contain;
    width: 250px;
    padding: 5px;
    transition:
    width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.35s ease,
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.logo2 {
    position: absolute;
    inset: 0 auto auto 0;
    object-fit: contain;
    width: 250px;
    padding: 5px;
    opacity: 0;
    transform: translateY(5px);
    transition:
    width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.header.is-sticky .logo {
    opacity: 0;
    transform: translateY(-5px);
    pointer-events: none;
}
.header.is-sticky .logo2 {
    opacity: 1;
    transform: translateY(0);
}
.header.is-sticky .logo2 {
    padding: 10px;
    height: 100%;
}
.nav {
    display: flex;
    gap: 40px;
    align-items: center;
    font: 500 16px var(--h);
    transition: gap 0.35s ease;
}
.header.is-sticky .nav {
    gap: 32px;
}
.header-navigation {
    height: 100%;
}
#main-nav {
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
#main-nav > li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
#main-nav li {
    list-style: none;
}
#main-nav li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
#main-nav > li.dropdown > a::after {
    content: "";
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
}
#main-nav .dropdown-menu {
    position: absolute;
    z-index: 100;
    display: block;
    top: calc(100% - 8px);
    left: -24px;
    min-width: 235px;
    margin: 0;
    padding: 16px 0;
    border: 1px solid rgba(29, 57, 96, 0.1);
    background: #fff;
    color: var(--b);
    box-shadow: 0 24px 55px rgba(20, 36, 58, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
#main-nav .dropdown-menu::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 18px;
}
#main-nav .dropdown-menu li {
    position: relative;
}
#main-nav .dropdown-menu a {
    min-height: 42px;
    justify-content: space-between;
    padding: 9px 24px;
    color: var(--b);
    transition:
    color 0.2s ease,
    background-color 0.2s ease,
    padding-left 0.2s ease,
    padding-right 0.2s ease;
}
#main-nav .dropdown-menu a:hover,
#main-nav .dropdown-menu a:focus-visible {
    padding-left: 29px;
    background: var(--s);
    color: #3971ad;
}
#main-nav .dropdown-menu .dropdown-menu {
    top: -17px;
    right: 100%;
    left: auto;
}
#main-nav li:hover > .dropdown-menu,
#main-nav li:focus-within > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
#main-nav > li.dropdown:hover > a::after,
#main-nav > li.dropdown:focus-within > a::after {
    transform: translateY(3px) rotate(225deg);
}
#main-nav .dropdown-menu .dropdown-menu a{
    justify-content: flex-end;
}
#main-nav .dropdown-menu .dropdown-menu a:hover{
    padding-right: 29px;
}
.submenu-toggle {
    display: none;
}
.hamb {
    display: none;
    border: 0;
    background: transparent;
    color: inherit;
}
.hamb i {
    display: block;
    width: 25px;
    height: 2px;
    background: currentColor;
    margin: 5px;
}
.section-title{
    display: grid;
    gap:5px
}
.section-text{
    text-align: right;
    padding-right: 20px;
}
.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 65px;
}
.section-head p {
    max-width: 520px;
    color: var(--m);
}
.home-slider {
    position: relative;
    min-height: 980px;
    overflow: hidden;
    color: #fff;
}
.home-slider-shape {
    position: absolute;
    z-index: 0;
    inset: 0 0 auto;
    height: 900px;
    background: var(--b);
    clip-path: polygon(0 0, 100% 0, 100% 68%, 0 88%);
}
.home-slider-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 45%) minmax(0, 55%);
    width: min(1720px, calc(100% - 48px));
    min-height: 900px;
    margin: auto;
    padding-top: 175px;
}
.home-slider-copy-area {
    min-width: 0;
    padding: 25px 70px 90px 0;
}
.home-slider-kicker {
    display: block;
    margin-bottom: 38px;
    color: #b9cce0;
    font: 500 11px var(--h);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.home-slider-text {
    overflow: visible;
}
.home-slider-text-slide {
    width: min(590px, 82%);
    min-height: 470px;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;
    padding: 28px 34px 32px 0;
    opacity: 0.34;
    cursor: pointer;
    transition:
    opacity 0.4s ease,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.home-slider-text-slide.swiper-slide-thumb-active {
    opacity: 1;
    transform: translateY(-4px);
}
.home-slider-number {
    padding-top: 12px;
    color: #9db8d4;
    font: 500 12px var(--h);
}
.home-slider-text-slide h1 {
    max-width: 650px;
    margin-bottom: 26px;
    font-size: clamp(46px, 4.4vw, 82px);
}
.home-slider-description {
    max-width: 540px;
    margin-bottom: 35px;
    color: #c8d5e3;
}
.home-slider-description p {
    margin: 0;
}
.home-slider-text-slide:not(.swiper-slide-thumb-active)
.home-slider-description,
.home-slider-text-slide:not(.swiper-slide-thumb-active) .btn {
    opacity: 0;
    pointer-events: none;
}
.home-slider-images {
    align-self: start;
    width: 100%;
    height: 660px;
    margin-top: 90px;
    background: #d5dde6;
}
.home-slider-image-slide,
.home-slider-image-slide img {
    width: 100%;
    height: 100%;
}
.home-slider-image-slide img {
    object-fit: cover;
    filter: saturate(0.55);
}
.home-slider-controls {
    display: flex;
    align-items: center;
    gap: 16px;
    width: min(390px, 100%);
    margin: 20px 0 0 60px;
}
.home-slider-prev,
.home-slider-next {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.home-slider-pagination {
    position: static !important;
    display: flex;
    align-items: center;
}
.home-slider-pagination .swiper-pagination-bullet {
    width: 22px;
    height: 2px;
    margin: 0 3px !important;
    border-radius: 0;
    background: #fff;
}
.home-hero {
    height: 1200px;
    padding-top: 190px;
    color: #fff;
    background: transparent;
    position: relative;
    overflow: hidden;
}
.home-hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 0 auto;
    height: 960px;
    background: var(--b);
    clip-path: polygon(0 0, 100% 0, 100% 64%, 0 82%);
}
.home-hero .wrap {
    position: relative;
    z-index: 1;
}
.hero-copy {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 90px;
}
.hero-copy p {
    max-width: 500px;
    margin-left: auto;
    padding-top: 28px;
    text-align: right;
    color: #d2deea;
}
.home-hero .btn {
    margin-top: 55px;
}
.hero-img {
    position: absolute;
    z-index: 2;
    top: 440px;
    right: max(24px, calc((100vw - 1720px) / 2));
    width: min(1000px, 72vw);
    height: 600px;
    filter: saturate(0.5);
}
.mission {
    position: absolute;
    z-index: 3;
    top: 850px;
    left: max(24px, calc((100vw - 1340px) / 2));
    width: 300px;
    color: var(--i);
}
.mission h3 {
    font-size: 18px;
    margin-bottom: 18px;
}
.mission ul {
    list-style: none;
    padding: 0;
    color: var(--m);
}
.mission li:before {
    content: "✣";
    color: #3971ad;
    margin-right: 8px;
}
.home-hero-slider .home-hero-kicker {
    display: block;
    margin-bottom: 34px;
    color: #b9cce0;
    font: 500 11px var(--h);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.home-hero-slider .home-copy-swiper {
    overflow: hidden;
}
.home-hero-slider .hero-copy {
    align-items: start;
}
.home-hero-slider .hero-copy-title{
    font-size:clamp(50px, 5vw, 80px);
}
.home-hero-slider .hero-copy-detail {
    text-align: right;
}
.home-hero-slider .hero-copy-text {
    max-width: 500px;
    margin-left: auto;
    padding-top: 28px;
    color: #d2deea;
}
.home-hero-slider .hero-copy-text p {
    margin: 0;
    padding: 0;
}
.home-hero-slider .home-image-swiper.hero-img {
    overflow: hidden;
}
.home-hero-slider .home-image-slide,
.home-hero-slider .home-image-slide img {
    width: 100%;
    height: 100%;
}
.home-hero-slider .home-image-slide {
    margin: 0;
}
.home-hero-slider .home-image-slide img {
    display: block;
    object-fit: cover;
}
.home-hero-slider .home-hero-thumbs.mission {
    width: 330px;
}
.home-hero-slider .home-thumb-swiper {
    height: 152px;
    overflow: hidden;
}
.home-hero-slider .home-thumb-slide {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    width: 100%;
    min-height: 54px;
    padding: 3px 0 12px;
    border: 0;
    border-bottom: 1px solid rgba(29, 57, 96, 0.14);
    background: transparent;
    color: var(--m);
    text-align: left;
    cursor: pointer;
    opacity: 0.48;
    transition: opacity 0.3s ease, color 0.3s ease;
}
.home-hero-slider .home-thumb-slide span {
    color:var(--b3);
    font: 500 11px var(--h);
}
.home-hero-slider .home-thumb-slide strong {
    font: 500 15px/1.35 var(--h);
}
.home-hero-slider .home-thumb-slide.swiper-slide-thumb-active {
    color: var(--b2);
    opacity: 1;
}
.home-hero-slider .home-thumb-slide.swiper-slide-thumb-active span {
    color: var(--b2);
}
.home-hero-slider .home-thumb-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}
.home-hero-slider .home-thumb-prev,
.home-hero-slider .home-thumb-next {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(29, 57, 96, 0.18);
    border-radius: 50%;
    background: transparent;
    color: var(--i);
}
.home-hero-slider .home-thumb-pagination {
    position: static;
    display: flex;
    flex: 1;
    align-items: center;
}
.home-hero-slider .home-thumb-pagination .swiper-pagination-bullet {
    width: 18px;
    height: 2px;
    margin: 0 3px !important;
    border-radius: 0;
    background: #3971ad;
}
.story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 120px;
    align-items: center;
}
.story img {
    height: 610px;
}
.story h2 {
    margin: 20px 0 28px;
}
.story p {
    color: var(--m);
    max-width: 650px;
}
.since {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    margin-top: 50px;
}
.since strong {
    font: 500 72px var(--h);
    color: var(--b);
}
.cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.expertise-section {
    overflow: hidden;
}
.expertise-slider-wrap {
    width: calc(100% - max(48px, calc((100vw - 1290px) / 2)));
    margin-left: max(48px, calc((100vw - 1340px) / 2));
    overflow: hidden;
}
.expertise-swiper {
    overflow: visible;
}
.expertise-swiper .swiper-slide {
    width: 370px;
    height: 500px;
}
.expertise-controls {
    width: min(440px, calc(100% - 48px));
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 42px;
}
.expertise-prev,
.expertise-next {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 1px solid var(--b);
    background: #fff;
    color: var(--b);
    cursor: pointer;
    font-size: 18px;
}
.expertise-pagination {
    position: static !important;
    display: flex;
    align-items: center;
}
.expertise-pagination .swiper-pagination-bullet {
    width: 24px;
    height: 2px;
    margin: 0 3px !important;
    border-radius: 0;
    background: var(--b);
}
.service-card {
    min-height: 480px;
    background: #fff;
    border: 1px solid var(--l);
    position: relative;
    overflow: hidden;
}
.service-card .copy {
    padding: 35px;
}
.service-card .ico {
    height: 50px;
    width: 50px;
    position: relative;
    filter:unset;
}
.service-card h3 {
    margin: 22px 0 12px;
}
.service-card p {
    font-size: 12px;
    color: var(--m);
}
.service-card img {
    position: absolute;
    bottom: 0;
    height: 195px;
    filter: saturate(0.45);
}
.location-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    margin-left:0
}
.map {
    height: 100%;
    background: var(--b);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.map:before {
    content: var(--content, '');
    position: absolute;
    left: 15px;
    top: 15px;
    right: 15px;
    font: 500 clamp(70px, 11vw, 190px) var(--h);
    color: rgba(255, 255, 255, 0.055);
    pointer-events: none;
    text-align: center;
}
.map:after {
    content: var(--content2, '');
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 15px;
    font: 500 clamp(70px, 11vw, 190px) var(--h);
    color: rgba(255, 255, 255, 0.055);
    pointer-events: none;
    text-align: center;
}
.turkey-map {
    position: absolute;
    inset: 30px 0 90px;
}
.turkey-map-svg,
.turkey-map-svg svg {
    width: 100%;
    height: 100%;
}
.turkey-map-svg svg {
    display: block;
    filter: drop-shadow(0 28px 45px rgba(4, 20, 38, 0.28));
}
.turkey-map-svg path {
    cursor: pointer;
    outline: none;
    transition:
    fill 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
    transform-box: fill-box;
    transform-origin: center;
}
.turkey-map-svg path:hover,
.turkey-map-svg path:focus-visible {
    fill: #ea8a2e;
    opacity: 1;
}
.turkey-map-svg path.has-map-data {
    fill: var(--b3);
}
.turkey-map-svg path.has-map-data:hover,
.turkey-map-svg path.has-map-data:focus-visible {
    fill: #ea8a2e;
}
.turkey-map-tooltip {
    position: fixed;
    z-index: 1000;
    min-width: 150px;
    max-width: 240px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: #fff;
    color: var(--i);
    box-shadow: 0 15px 38px rgba(4, 20, 38, 0.22);
    pointer-events: none;
    transform: translate(14px, calc(-100% - 14px));
}
.turkey-map-tooltip strong,
.turkey-map-tooltip-value {
    display: block;
}
.turkey-map-tooltip strong {
    font: 600 14px var(--h);
}
.turkey-map-tooltip-value {
    margin-top: 4px;
    color: var(--m);
    font-size: 11px;
}
.turkey-map-tooltip-value:empty {
    display: none;
}
.turkey-map-tooltip-value p,
.turkey-map-tooltip-value ul {
    margin: 6px 0 0;
}
.turkey-map-tooltip-value ul {
    padding-left: 16px;
}
.turkey-map-tooltip-value a {
    color: #3971ad;
    text-decoration: underline;
}
.turkey-map-tooltip.has-project {
    width: min(390px, calc(100vw - 30px));
    max-width: none;
    padding: 0;
    pointer-events: auto;
}
.turkey-map-tooltip.has-project > strong {
    display: block;
    padding: 10px 14px 0;
    color: #7c8b9e;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.turkey-map-tooltip.has-project .turkey-map-tooltip-value {
    margin: 0;
}
.turkey-map-project-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    min-height: 126px;
}
.turkey-map-project-card.without-image {
    grid-template-columns: 1fr;
}
.turkey-map-project-card > img {
    width: 100%;
    height: 100%;
    min-height: 126px;
    object-fit: cover;
}
.turkey-map-project-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 13px 15px 15px;
}
.turkey-map-project-content h4 {
    margin: 0 0 7px;
    color: var(--i);
    font: 600 15px/1.25 var(--h);
}
.turkey-map-project-content p {
    display: -webkit-box;
    margin: 0 0 10px;
    overflow: hidden;
    color: var(--m);
    font-size: 10px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.turkey-map-project-content a {
    margin-top: auto;
    color: #3971ad;
    font: 600 10px var(--h);
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}
.turkey-map-label {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.turkey-map-label.is-visible {
    opacity: 1;
}
.turkey-map-label circle {
    fill: #ea8a2e;
    stroke: #fff;
    stroke-width: 2;
}
.turkey-map-label text {
    fill: #fff;
    font: 600 11px var(--h);
    paint-order: stroke;
    stroke: var(--b);
    stroke-width: 4px;
    stroke-linejoin: round;
}
.turkey-map-routes-layer {
    pointer-events: none;
}
.turkey-map-route-shadow,
.turkey-map-route-line {
    fill: none !important;
    vector-effect: non-scaling-stroke;
}
.turkey-map-route-shadow {
    stroke: rgba(1, 12, 25, 0.18) !important;
    stroke-width: 5 !important;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    filter: blur(1.5px);
    transform: translate(1.5px, 3px);
    animation: turkey-map-route-draw 0.72s cubic-bezier(0.65, 0, 0.35, 1) forwards;
    animation-delay: var(--route-delay, 0s);
}
.turkey-map-route-line {
    stroke: #ff9a35 !important;
    stroke-width: 3 !important;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    filter: drop-shadow(0 2px 2px rgba(4, 20, 38, 0.204));
    animation: turkey-map-route-draw 0.72s cubic-bezier(0.65, 0, 0.35, 1) forwards;
    animation-delay: var(--route-delay, 0s);
}
.turkey-map-route-arrow {
    fill: #ff9a35 !important;
    stroke: none !important;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: turkey-map-route-arrive 0.28s ease-out forwards;
    animation-delay: var(--route-delay, 0s);
}
.turkey-map-route-source,
.turkey-map-route-target {
    fill: #ff9a35 !important;
    stroke: #fff !important;
    stroke-width: 2 !important;
    transform-box: fill-box;
    transform-origin: center;
}
.turkey-map-route-source {
    filter: drop-shadow(0 4px 7px rgba(4, 20, 38, 0.55));
}
.turkey-map-route-target {
    opacity: 0;
    animation: turkey-map-route-arrive 0.28s ease-out forwards;
    animation-delay: var(--route-delay, 0s);
}
.turkey-map-svg path.has-map-route-pending {
    pointer-events: none;
}
.turkey-map-svg path.has-map-project.has-map-data,
.turkey-map-svg path.has-map-project.has-map-route {
    cursor: pointer;
}
@keyframes turkey-map-route-draw {
    to {
        stroke-dashoffset: 0;
    }
}
@keyframes turkey-map-route-arrive {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    .turkey-map-route-shadow,
    .turkey-map-route-line,
    .turkey-map-route-arrow,
    .turkey-map-route-target {
        animation: none;
        opacity: 1;
        stroke-dashoffset: 0;
    }
}
.map-total {
    position: absolute;
    left: 0;
    bottom: 65px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 30px;
    justify-content: center;
}
.map-total strong {
    font: 500 78px var(--h);
    line-height: 1;
}
.map-total > span {
    color: rgba(255, 255, 255, 0.65);
    font: 500 26px var(--h);
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    max-width: 150px;
    text-align: left;
}
@media (max-width: 640px) {
    .map {
        height: 470px;
    }
    .turkey-map {
        inset: 42px 3% 105px;
    }
    .map-total {
        bottom: 38px;
        left: 8%;
    }
    .map-total strong {
        font-size: 54px;
    }
}
.location-copy {
    padding: 70px 0 70px 80px;
}
.location-copy h2 {
    margin-bottom: 40px;
}
.contact-line {
    margin: 10px 0;
    color: var(--m);
    display: block;
}
.loc-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 70px;
}
.loc-stats strong {
    display: block;
    font: 500 54px var(--h);
    color: var(--b);
}
.showcase {
    height: 620px;
    filter: saturate(0.5);
}
.project-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 150px;
    align-items: center;
}
.project-list {
    border-top: 1px solid var(--b);
}
.project-list a {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid var(--b);
    font: 500 17px var(--h);
}
.project-row img {
    height: 560px;
}
.projects-section {
    padding:0;
}
.home-project-row {
    grid-template-columns: minmax(340px, 0.82fr) minmax(520px, 1.18fr);
    gap: clamp(80px, 8vw, 150px);
    align-items: center;
}
.home-project-row .project-copy {
    padding: 22px 0 18px 42px;
}
.home-project-row .project-copy h2 {
    margin: 22px 0 64px;
}
.home-project-row .project-list a {
    min-height: 72px;
    padding: 23px 0;
    align-items: center;
}
.home-project-row > img {
    height: 610px;
}
.testimonials {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.quote {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    background: #fff;
    border: 1px solid var(--l);
}
.quote div {
    padding: 42px;
}
.quote img {
    height: 100%;
}
.clients {
    text-align: center;
    padding: 40px;
}
.logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 35px;
}
.logos span {
    border: 1px solid var(--l);
    background: #fff;
    padding: 10px;
    font: 600 11px var(--h);
}
.cta {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    background: var(--b2);
    color: #fff;
    align-items: center;
}
.cta .tag{
    color: white;
}
.cta > div {
    padding: 70px;
}
.cta h2 {
    font-size: 48px;
    margin-bottom: 35px;
}
.cta img {
    max-height: 600px;
    height: 100%;
    filter: saturate(0.45);
}
.blogs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.post {
    background: #fff;
    border: 1px solid var(--l);
}
.post img {
    aspect-ratio: 15 / 10;
}
.post h3 {
    font-size: 20px;
    margin: 10px 0;
}
.post small {
    color: var(--m);
}
.blog-section {
    overflow: hidden;
}
/* Blog index */
.blog-index { overflow: hidden; background: #fff; }
.blog-index-heading {
    display: grid;
    grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr);
    gap: clamp(55px, 8vw, 140px);
    align-items: end;
    margin-bottom: 75px;
}
.blog-index-heading-title h2 {
    max-width: 680px;
    margin-top: 22px;
    font-size: clamp(40px, 4.2vw, 70px);
}
.blog-index-heading-text { max-width: 720px; padding-top: 30px; color: var(--m); }
.blog-index-heading-text p { margin: 0 0 22px; }
.blog-index-heading-text p:last-child { margin-bottom: 0; }
.blog-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 54px 30px;
}
.blog-index-card { display: flex; min-width: 0; flex-direction: column; }
.blog-index-media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--s);
}
.blog-index-media::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(0, 35, 73, .42));
    pointer-events: none;
}
.blog-index-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.65);
    transition: filter .4s ease, transform .75s cubic-bezier(.22, 1, .36, 1);
}
.blog-index-card:hover .blog-index-media img { filter: saturate(1); transform: scale(1.045); }
.blog-index-arrow {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 20px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    background: rgba(0, 74, 150, .38);
    color: #fff;
    transition: background-color .3s ease, transform .3s ease;
}
.blog-index-card:hover .blog-index-arrow { background: var(--b2); transform: rotate(8deg); }
.blog-index-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 27px 6px 0;
}
.blog-index-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    color: var(--b2);
    font: 500 10px var(--h);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.blog-index-meta > * + *::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 10px 2px 0;
    border-radius: 50%;
    background: var(--b3);
}
.blog-index-content h3 {
    margin: 17px 0 13px;
    font-size: clamp(22px, 1.75vw, 30px);
    line-height: 1.28;
}
.blog-index-content h3 a { color: inherit; }
.blog-index-content p {
    display: -webkit-box;
    margin: 0 0 24px;
    overflow: hidden;
    color: var(--m);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blog-index-link {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--b);
    font: 500 11px var(--h);
}
.blog-index-empty { padding: 70px; border: 1px solid var(--l); background: var(--s); text-align: center; }
.blog-index-empty p { margin: 18px 0 0; color: var(--m); }

/* Blog detail */
/* .blog-detail { overflow: hidden; background: #fff; } */
.blog-detail-intro {
    display: grid;
    grid-template-columns: 260px minmax(0, 850px);
    gap: clamp(45px, 8vw, 130px);
    align-items: start;
    padding-top: 110px;
    padding-bottom: 70px;
}
.blog-detail-kicker { padding-top: 9px; }
.blog-detail-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 26px;
    color: var(--m);
    font: 500 10px var(--h);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.blog-detail-lead {
    max-width: 850px;
    margin: 0;
    color: var(--i);
    font: 500 clamp(24px, 3vw, 43px)/1.4 var(--h);
}
.blog-detail-cover {
    position: relative;
    display: block;
    aspect-ratio: 16 / 8;
    overflow: hidden;
    background: var(--s);
}
.blog-detail-cover::after {
    content: "";
    position: absolute;
    inset: 65% 0 0;
    background: linear-gradient(180deg, transparent, rgba(0, 35, 73, .42));
}
.blog-detail-cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-detail-cover > span,
.blog-detail-gallery-grid a > span {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 24px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    background: rgba(0, 74, 150, .38);
    color: #fff;
}
.blog-detail-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 850px);
    gap: clamp(60px, 9vw, 145px);
    align-items: start;
    padding-top: 90px;
    padding-bottom: 110px;
}
.blog-detail-aside {
    position: sticky;
    top: 120px;
    padding-top: 8px;
}
.blog-detail-aside-label {
    color: var(--i);
    font: 500 11px var(--h);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.blog-detail-toc { margin-bottom: 48px; }
.blog-detail-toc[hidden] { display: none; }
.blog-detail-toc-tree { margin-top: 20px; }
.blog-detail-toc-tree ul { margin: 0; padding: 0; list-style: none; }
.blog-detail-toc-tree ul ul {
    margin: 5px 0 5px 10px;
    padding-left: 14px;
    border-left: 1px solid var(--l);
}
.blog-detail-toc-tree li { margin: 0; }
.blog-detail-toc-tree a {
    position: relative;
    display: block;
    padding: 7px 0 7px 13px;
    color: var(--m);
    font-size: 10px;
    line-height: 1.5;
    transition: color .25s ease, transform .25s ease;
}
.blog-detail-toc-tree a::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--b3);
    transition: background-color .25s ease, transform .25s ease;
}
.blog-detail-toc-tree a:hover,
.blog-detail-toc-tree a.is-active { color: var(--b); transform: translateX(3px); }
.blog-detail-toc-tree a.is-active { font-weight: 500; }
.blog-detail-toc-tree a.is-active::before { background: var(--b2); transform: scale(1.6); }
.blog-detail-share-block { padding-top: 30px; border-top: 1px solid var(--l); }
.blog-detail-share { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.blog-detail-share a,
.blog-detail-share button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--l);
    border-radius: 50%;
    background: #fff;
    color: var(--i);
    cursor: pointer;
    transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
.blog-detail-share a:hover,
.blog-detail-share button:hover,
.blog-detail-share button.is-copied { border-color: var(--b); background: var(--b); color: #fff; }
.blog-detail-back {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-top: 42px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--b);
    font: 500 11px var(--h);
}
.blog-detail-main { min-width: 0; }
.blog-detail-content { color: var(--m); }
.blog-detail-content > *:first-child { margin-top: 0; }
.blog-detail-content h2,
.blog-detail-content h3,
.blog-detail-content h4 { color: var(--b); }
.blog-detail-content h2 { margin: 55px 0 22px; font-size: clamp(30px, 3vw, 44px); }
.blog-detail-content h3 { margin: 42px 0 18px; font-size: clamp(24px, 2.3vw, 34px); }
.blog-detail-content .blog-content-heading { scroll-margin-top: 125px; }
.blog-detail-content p { margin: 0 0 24px; line-height: 1.9; }
.blog-detail-content ul,
.blog-detail-content ol { margin: 0 0 30px; padding-left: 22px; }
.blog-detail-content li { margin-bottom: 10px; }
.blog-detail-content blockquote {
    margin: 45px 0;
    padding: 10px 0 10px 35px;
    border-left: 4px solid var(--b2);
    color: var(--i);
    font: 500 clamp(20px, 2vw, 29px)/1.55 var(--h);
}
.blog-detail-content img { width: 100%; height: auto; margin: 25px 0 35px; }
.blog-detail-gallery { padding-top: 70px; }
.blog-detail-gallery header { margin-bottom: 32px; }
.blog-detail-gallery h2 { margin-top: 16px; font-size: clamp(32px, 3.2vw, 50px); }
.blog-detail-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.blog-detail-gallery-grid a { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--s); }
.blog-detail-gallery-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}
.blog-detail-gallery-grid a:hover img { transform: scale(1.04); }
.blog-detail-gallery-grid a > span { right: 16px; bottom: 16px; width: 40px; height: 40px; }
.blog-detail-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--l);
    border-bottom: 1px solid var(--l);
}
.blog-detail-navigation > a {
    display: flex;
    min-height: 190px;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    padding: 35px 55px;
    color: var(--i);
    transition: background-color .3s ease;
}
.blog-detail-navigation > a:hover { background: var(--s); }
.blog-detail-navigation .is-next { border-left: 1px solid var(--l); text-align: right; }
.blog-detail-navigation a > span { color: var(--b2); font: 500 10px var(--h); text-transform: uppercase; }
.blog-detail-navigation a > strong { font: 500 clamp(18px, 1.6vw, 25px)/1.4 var(--h); }

/* Contact page */
.contact-page { overflow: hidden; background: #fff; }
.contact-page-heading {
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
    gap: clamp(55px, 9vw, 145px);
    align-items: end;
    margin-bottom: 75px;
}
.contact-page-heading h2 {
    max-width: 650px;
    margin-top: 22px;
    font-size: clamp(40px, 4.2vw, 70px);
}
.contact-page-heading-text { max-width: 690px; padding-top: 31px; color: var(--m); }
.contact-page-heading-text p { margin: 0 0 22px; }
.contact-page-grid {
    display: grid;
    grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
    align-items: stretch;
    border: 1px solid var(--l);
}
.contact-information {
    position: relative;
    overflow: hidden;
    padding: clamp(45px, 5vw, 75px);
    background: var(--i);
    color: #fff;
}
.contact-information::after {
    content: "";
    background: url(/favicon.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 500px;
    height: 500px;
    position: absolute;
    right: -30%;
    bottom: -10%;
    color: rgba(255, 255, 255, .035);
    pointer-events: none;
    opacity: .1;
}
.contact-information-head,
.contact-form-title { display: flex; gap: 26px; align-items: flex-start; }
.contact-information-index,
.contact-form-index {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    font: 500 10px var(--h);
}
.contact-information-head h3,
.contact-form-title h3 { margin: 8px 0 0; font-size: clamp(28px, 2.6vw, 42px); }
.contact-information-list { position: relative; z-index: 1; margin-top: 58px; }
.contact-information-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 18px;
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.contact-information-item > i { padding-top: 5px; color: var(--b3); font-size: 16px; }
.contact-information-item span {
    display: block;
    margin-bottom: 8px;
    color: var(--b3);
    font: 500 9px var(--h);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.contact-information-item a,
.contact-information-item address,
.contact-information-item p {
    display: block;
    margin: 0 0 5px;
    color: #fff;
    font-size: 12px;
    font-style: normal;
    line-height: 1.75;
}
.contact-information-item a:hover { color: var(--b3); }
.contact-form-panel { padding: clamp(45px, 5vw, 75px); background: var(--s); }
.contact-form-title { margin-bottom: 48px; }
.contact-form-title .contact-form-index { border-color: var(--l); color: var(--b); }
.contact-form-title .tag { margin-bottom: 12px; }
.contact-art-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}
.contact-art-form .full { grid-column: 1 / -1; }
.contact-art-form .field { display: flex; min-width: 0; flex-direction: column; }
.contact-art-form .field label {
    margin-bottom: 9px;
    color: var(--i);
    font: 500 10px var(--h);
    letter-spacing: .04em;
}
.contact-art-form input,
.contact-art-form textarea {
    width: 100%;
    border: 1px solid var(--l);
    border-radius: 0;
    outline: 0;
    background: #fff;
    color: var(--i);
    font: 400 12px var(--p);
    transition: border-color .25s ease, box-shadow .25s ease;
}
.contact-art-form input { height: 58px; padding: 0 18px; }
.contact-art-form textarea { min-height: 150px; padding: 17px 18px; resize: vertical; }
.contact-art-form input:focus,
.contact-art-form textarea:focus { border-color: var(--b); box-shadow: 0 0 0 3px rgba(0, 74, 150, .07); }
.contact-form-consent {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
}
.contact-form-consent input { width: 16px; height: 16px; margin-top: 3px; accent-color: var(--b); }
.contact-form-consent label { color: var(--m); font-size: 10px; line-height: 1.65; }
.contact-form-consent label a { color: var(--b); text-decoration: underline; }
.contact-form-action { display: flex; gap: 30px; align-items: center; justify-content: space-between; }
.contact-form-action p { max-width: 330px; margin: 0; color: var(--m); font-size: 9px; line-height: 1.6; }
.contact-map-section { position: relative; min-height: 690px; margin-top: 0; background: #dce4ec; }
.contact-tomtom-map { width: 100%; height: 690px; }
.contact-map-copy {
    position: absolute;
    z-index: 3;
    top: 70px;
    left: max(30px, calc((100vw - 1440px) / 2));
    width: min(430px, calc(100% - 60px));
    padding: 45px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(22, 55, 92, .16);
}
.contact-map-copy h2 { margin: 16px 0; font-size: clamp(30px, 3vw, 45px); }
.contact-map-copy p { margin: 0 0 28px; color: var(--m); font-size: 11px; line-height: 1.7; }
.contact-map-copy .link { display: inline-flex; gap: 12px; align-items: center; }
.contact-map-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--i);
    white-space: nowrap;
}
.contact-map-marker-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 5px solid #fff;
    border-radius: 50% 50% 50% 10%;
    background: var(--b2);
    box-shadow: 0 15px 28px rgba(22, 55, 92, .24);
    color: #fff;
    font-size: 20px;
    transform: rotate(-45deg);
}
.contact-map-marker-icon i { transform: rotate(45deg); }
.contact-map-marker-label {
    display: flex;
    align-items: stretch;
    margin-top: 12px;
    box-shadow: 0 12px 25px rgba(22, 55, 92, .14);
}
.contact-map-marker strong {
    display: flex;
    align-items: center;
    margin-top: 12px;
    padding: 7px 11px;
    background: var(--i);
    color: #fff;
    font: 500 10px var(--h);
}
.contact-map-marker-label strong { margin-top: 0; }
.contact-map-marker-label em {
    display: flex;
    width: 0;
    overflow: hidden;
    align-items: center;
    padding: 0;
    background: var(--b2);
    color: #fff;
    font: normal 500 9px var(--h);
    opacity: 0;
    white-space: nowrap;
    transform: translateX(-5px);
    transition: width .3s ease, padding .3s ease, opacity .25s ease, transform .3s ease;
}
.contact-map-marker-label em::after { content: "→"; margin-left: 8px; }
.contact-map-marker:hover .contact-map-marker-label em,
.contact-map-marker:focus-visible .contact-map-marker-label em {
    width: 120px;
    padding: 7px 11px;
    opacity: 1;
    transform: translateX(0);
}
.contact-tomtom-map .mapboxgl-ctrl-logo,
.contact-tomtom-map .mapboxgl-ctrl-attrib { opacity: .65; }

@media (max-width: 991px) {
    .contact-page-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 58px; }
    .contact-page-heading-text { max-width: 780px; padding-top: 0; }
    .contact-page-grid { grid-template-columns: 1fr; }
    .contact-map-section,
    .contact-tomtom-map { height: 720px; }
    .contact-map-copy { top: 35px; left: 30px; }
}

@media (max-width: 767px) {
    .contact-page-heading { margin-bottom: 42px; }
    .contact-information,
    .contact-form-panel { padding: 38px 24px; }
    .contact-information-head,
    .contact-form-title { gap: 17px; }
    .contact-information-list { margin-top: 40px; }
    .contact-art-form { grid-template-columns: 1fr; }
    .contact-art-form .full { grid-column: auto; }
    .contact-form-action { align-items: flex-start; flex-direction: column; }
    .contact-map-section,
    .contact-tomtom-map { height: 650px; }
    .contact-map-copy { top: 24px; left: 20px; width: calc(100% - 40px); padding: 30px 24px; }
}

@media (max-width: 991px) {
    .blog-detail-intro { grid-template-columns: 1fr; gap: 28px; padding-top: 80px; }
    .blog-detail-meta { flex-direction: row; flex-wrap: wrap; gap: 18px; }
    .blog-detail-layout { grid-template-columns: 1fr; gap: 55px; }
    .blog-detail-aside { position: static; order: 0; padding-top: 0; }
    .blog-detail-toc-tree > ul { columns: 2; column-gap: 40px; }
    .blog-detail-toc-tree > ul > li { break-inside: avoid; }
    .blog-detail-back { margin-top: 28px; }
}

@media (max-width: 767px) {
    .blog-detail-intro { padding-top: 60px; padding-bottom: 45px; }
    .blog-detail-cover { aspect-ratio: 4 / 3; }
    .blog-detail-layout { padding-top: 55px; padding-bottom: 75px; }
    .blog-detail-toc-tree > ul { columns: 1; }
    .blog-detail-gallery-grid { grid-template-columns: 1fr; }
    .blog-detail-navigation { grid-template-columns: 1fr; }
    .blog-detail-navigation > span { display: none; }
    .blog-detail-navigation > a { min-height: 145px; padding: 30px 24px; }
    .blog-detail-navigation .is-next { border-top: 1px solid var(--l); border-left: 0; }
}

@media (max-width: 991px) {
    .blog-index-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 58px; }
    .blog-index-heading-text { max-width: 780px; padding-top: 0; }
    .blog-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .blog-index-heading { margin-bottom: 42px; }
    .blog-index-grid { grid-template-columns: 1fr; gap: 42px; }
    .blog-index-media { aspect-ratio: 16 / 11; }
    .blog-index-empty { padding: 45px 24px; }
}
.blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.blog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition:
        border-color 0.3s ease,
        box-shadow 0.35s ease,
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.blog-card:hover {
    border-color: rgba(22, 55, 92, 0.28);
    box-shadow: 0 24px 55px rgba(22, 55, 92, 0.1);
    transform: translateY(-6px);
}
.blog-card-image {
    display: block;
    height: 320px;
    overflow: hidden;
    background: #dfe5ec;
}
.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.65);
    transition:
        filter 0.4s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.blog-card:hover .blog-card-image img {
    filter: saturate(0.9);
    transform: scale(1.035);
}
.blog-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 34px;
}
.blog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: #7c8b9e;
    font: 500 10px var(--h);
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.blog-card-meta span {
    position: relative;
}
.blog-card-meta span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #7c8b9e;
}
.blog-card h3 {
    margin: 20px 0 14px;
    font-size: clamp(21px, 1.8vw, 31px);
    line-height: 1.25;
}
.blog-card h3 a {
    color: inherit;
}
.blog-card p {
    display: -webkit-box;
    margin: 0 0 28px;
    overflow: hidden;
    color: var(--m);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blog-card-link {
    margin-top: auto;
}

@media (max-width: 767px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
    .blog-card.is-featured {
        grid-column: auto;
        display: flex;
    }
    .blog-card-image,
    .blog-card.is-featured .blog-card-image {
        height: 290px;
    }
    .blog-card-content,
    .blog-card.is-featured .blog-card-content {
        padding: 28px;
    }
    .blog-card.is-featured h3 {
        font-size: 28px;
    }
}
.footer {
    position: relative;
    overflow: hidden;
    background: var(--i);
    color: #cbd7e4;
    padding: 100px 0 50px;
}
.footer-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(330px, 1.6fr) 0.72fr 0.9fr 1fr;
    gap: clamp(45px, 5vw, 90px);
}
.footer .logo {
    width: 158px;
    margin-bottom: 0;
}
.footer h2 {
    color: #fff;
    margin: 0 0 22px;
    font-size: 16px;
}
.footer a,
.footer p {
    display: block;
    margin: 8px 0;
    font-size: 14px;
}
.footer-brand {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.footer-newsletter {
    max-width: 390px;
}
.newsletter {
    display: flex;
    border: 1px solid rgba(255, 255, 255, 0.55);
}
.newsletter input {
    min-width: 0;
    flex: 1;
    width: auto;
    padding: 13px 15px;
    border: 0;
    background: transparent;
    color: #fff;
    outline: 0;
}
.newsletter button {
    width: 50px;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.35);
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.footer-column a,
.footer-contact a,
.footer-contact p {
    color: #becdde;
}
.footer-column a:hover,
.footer-contact a:hover {
    color: #fff;
}
.follow-title {
    margin-top: 35px !important;
}
.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}
.footer-socials a {
    margin: 0;
}
.footer-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 70px;
    padding-top: 26px;
    font-size: 11px;
}
.footer-bottom a {
    margin: 0;
}
.footer-gear {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    opacity: .1;
    pointer-events: none;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.inner-title {
    padding: 90px 0 120px;
}
.inner-title p {
    /* max-width: 700px; */
    color: var(--m);
}
.about-inner-title {
    display: grid;
    align-items: center;
    padding-top: 85px;
    padding-bottom: 105px;
}
.about-title-copy {
    padding-left: 36px;
}
.about-inner-title h2 {
    margin: 24px 0 34px;
}
.about-title-image {
    height: 480px;
    align-self: end;
    object-position: center;
}
.split-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.split-hero .blue {
    background: var(--b);
    color: #fff;
    padding: 95px;
}
.split-hero .blue p {
    color: #c9d6e3;
    margin-top: 30px;
}
.split-hero img {
    height: 560px;
}
.about-purpose {
    grid-template-columns: 1.08fr 0.92fr;
}
.about-purpose.no-media {
    grid-template-columns: 1fr;
}
.about-purpose > img {
    height: 620px;
}
.purpose-panel {
    min-height: 620px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.about-purpose.no-media .purpose-panel {
    min-height: 0;
}
.purpose-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid rgba(255, 255, 255, 0.32);
    margin-bottom: 30px;
}
.purpose-tab {
    position: relative;
    padding: 0 0 22px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    text-align: left;
    font: 500 15px var(--h);
}
.purpose-tab::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.purpose-tab.is-active {
    color: #fff;
}
.purpose-tab.is-active::after {
    transform: scaleX(1);
}
.purpose-content {
    /* min-height: 330px; */
    display: flex;
    align-items: flex-end;
}
.purpose-pane {
    max-width: 620px;
    animation: purpose-in 0.35s ease;
}
.about-purpose.no-media .purpose-pane {
    max-width: 100%;
}
.purpose-pane[hidden] {
    display: none;
}
.purpose-pane h2 {
    margin: 18px 0 28px;
    font-size: clamp(34px, 3.2vw, 58px);
}
.purpose-pane p {
    max-width: 540px;
}
.purpose-index {
    font: 500 13px var(--h);
    color: rgba(255, 255, 255, 0.58);
}
@keyframes purpose-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.band {
    background: var(--b);
    color: #fff;
    padding: 75px;
}
.tabs {
    display: flex;
    gap: 75px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 30px;
}
.tabs span {
    padding-bottom: 15px;
}
.timeline {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: clamp(80px, 9vw, 165px);
    align-items: start;
}
.timeline-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(34px, 4vw, 76px);
    padding-top: 0;
}
.timeline-track::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 35px;
    right: 0;
    left: 0;
    height: 2px;
    background: #3971ad;
}
.history-section {
    padding: 145px 0 155px;
    overflow: hidden;
}
.timeline-intro {
    padding-top: 12px;
}
.timeline-intro h2 {
    margin-top: 20px;
    font-size: clamp(36px, 3vw, 58px);
}
.history-colors {
    display: flex;
    margin-top: 25px;
}
.history-colors i {
    width: 32px;
    height: 32px;
    border: 1px solid var(--b);
    background: var(--b);
}
.history-colors i + i {
    border-left: 0;
    background: var(--b2);
}
.history-colors i + i + i {
    border-left: 0;
    background: var(--b3);
}
.timeline-item {
    position: relative;
    z-index: 1;
    min-width: 0;
}
.timeline-year {
    display: block;
    height: 35px;
    padding-left: 2px;
    color: var(--b2);
    font: 500 14px var(--h);
}
.timeline-dot {
    position: absolute;
    top: 30px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 3px solid var(--b3);
    border-radius: 50%;
    background: #fff;
}
.timeline-card {
    min-height: 185px;
    margin-top: 14px;
    background: #fff;
    border: 1px solid var(--l);
    padding: 34px 30px 30px;
}
.timeline-card h3 {
    margin-bottom: 15px;
    font-size: 19px;
}
.timeline-card p {
    margin: 0;
    color: var(--m);
    font-size: 12px;
}
.feature-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding:0;
}
.feature-split.no-media{
    grid-template-columns: 1fr;
}
.feature-split > img {
    height: 720px;
}
.feature-copy {
    padding: 70px;
}
.features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 55px;
}
.feature-split.no-media .features {
    grid-template-columns: repeat(4,1fr);
}
.feature b,
.benefit b {
    display: block;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid var(--b3);
    margin-bottom: 18px;
    padding: 7px;
}
.client-band {
    background: var(--b);
    padding: 35px;
}
.client-band .logos {
    grid-template-columns: repeat(8, 1fr);
    margin: 0;
}
.client-references {
    overflow: hidden;
}
.client-references-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
    gap: clamp(70px, 8vw, 145px);
    align-items: center;
}
.client-references.has-no-testimonials .client-references-grid {
    grid-template-columns: minmax(0, 1fr);
}
.client-quotes-column,
.client-logos-column {
    min-width: 0;
}
.client-quotes-swiper {
    min-height: 470px;
    background: var(--b3);
    color: #fff;
}
.client-quote-slide {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 470px;
    padding: clamp(45px, 5vw, 82px);
}
.client-quote-mark {
    color: white;
    font: 500 300px Georgia, serif;
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: .3;
}
.client-quote-slide blockquote {
    max-width: 680px;
    margin: 34px 0 42px;
    color: #e9f0f7;
    font: 400 clamp(17px, 1.3vw, 23px)/1.7 var(--p);
}
.client-quote-slide blockquote.is-empty {
    min-height: 120px;
}
.client-quote-name,
.client-quote-title,
.client-quote-company {
    display: block;
}
.client-quote-name {
    color: #fff;
    font: 600 17px/1.35 var(--h);
}
.client-quote-title {
    margin-top: 6px;
    color: #c8d7e6;
    font-size: 12px;
}
.client-quote-company {
    margin-top: 3px;
    color: #9eb4ca;
    font-size: 10px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.client-references-head {
    margin-bottom: 42px;
}
.client-references-head h2 {
    margin: 15px 0 22px;
}
.client-references-head p {
    color: var(--m);
}
.client-logos-swiper {
    overflow: hidden;
}
.client-logo-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 118px;
    padding: 24px;
    border: 1px solid var(--l);
    background: #fff;
    cursor: pointer;
}
.client-logo-slide img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 58px;
    object-fit: contain;
}
.client-logo-slide span {
    color: var(--m);
    font: 600 12px var(--h);
}
.client-logo-slide.swiper-slide-active img {
    filter: grayscale(0);
}
.client-reference-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
}
.client-reference-prev,
.client-reference-next {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border: 1px solid var(--b);
    background: transparent;
    color: var(--b);
    cursor: pointer;
}
.client-reference-pagination {
    position: static !important;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
}
.client-reference-pagination .swiper-pagination-bullet {
    width: 22px;
    height: 2px;
    margin: 0 3px !important;
    border-radius: 0;
    background: var(--b);
}
.references-section {
    overflow: hidden;
    padding: 90px 0 100px;
    color: #fff;
}
.references-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 52px;
}
.references-head .tag {
    color: #9ebddd;
}
.references-head h2 {
    margin-top: 14px;
    font-size: clamp(36px, 3.4vw, 62px);
}
.references-controls {
    display: flex;
    gap: 10px;
}
.references-prev,
.references-next {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    transition:
    background 0.2s ease,
    color 0.2s ease;
}
.references-prev:hover,
.references-next:hover {
    background: #fff;
    color: var(--b);
}
.references-slider-shell {
    width: calc(100% - max(24px, calc((100vw - 1720px) / 2)));
    margin-left: max(24px, calc((100vw - 1720px) / 2));
    overflow: hidden;
}
.references-swiper {
    overflow: visible;
}
.reference-card {
    width: 250px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: #fff;
}
.reference-card img {
    max-width: 170px;
    max-height: 68px;
    object-fit: contain;
}
.reference-placeholder {
    color: #8994a3;
    text-align: center;
    font: 500 11px var(--h);
    letter-spacing: 0.08em;
}
.team {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.person img {
    height: 340px;
}
.person h3 {
    font-size: 18px;
    margin-top: 15px;
}
.experience {
    display: grid;
    grid-template-columns: 1.3fr 0.9fr;
    background: var(--b);
    color: #fff;
}
.experience > div {
    padding: 65px;
}
.xp-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
.experience img {
    height: 100%;
}
.about-experience-section {
    padding: 135px 0 150px;
}
.about-experience {
    grid-template-columns: 1.25fr 0.9fr;
    min-height: 445px;
}
.about-experience-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 72px !important;
}
.about-experience-copy .tag {
    color: #9ebddd;
}
.about-experience-copy h2 {
    max-width: 620px;
    margin-top: 18px;
    font-size: clamp(38px, 3.5vw, 62px);
}
.about-experience .xp-stats {
    gap: clamp(24px, 4vw, 70px);
    margin-top: 62px;
}
.about-experience .xp-stats strong {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font: 500 30px var(--h);
}
.about-experience .xp-stats p {
    max-width: 135px;
    margin: 0;
    color: #b8c9dc;
    font-size: 11px;
    line-height: 1.45;
}
.about-experience > img {
    min-height: 445px;
    object-position: center;
    filter: saturate(0.55);
}
.detail-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 90px;
}
.detail h3 {
    margin: 35px 0 12px;
}
.detail p,
.detail li {
    color: var(--m);
}
.detail > img {
    width: 55%;
    height: 440px;
    margin: 45px 0;
}
.side-form {
    background: #fff;
    border: 1px solid var(--l);
    padding: 36px;
    align-self: start;
}
.field {
    display: block;
    margin: 17px 0;
}
.field > label,
.field > span {
    display: block;
    font-size: 11px;
    color: var(--m);
    margin-bottom: 6px;
}
.field input,
.field textarea {
    width: 100%;
    border: 0;
    background: var(--s);
    padding: 13px;
}
.field .error,
.service-form-consent .error,
.contact-form-consent .error {
    margin-top: 5px;
    color: var(--b2);
    font-size: 10px;
}
.service-form-consent {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    margin: 22px 0;
}
.service-form-consent input {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    accent-color: var(--b);
}
.service-form-consent label {
    color: var(--m);
    font-size: 10px;
    line-height: 1.6;
}
.service-form-consent label a {
    color: var(--b);
    text-decoration: underline;
}
.service-form-consent .error,
.contact-form-consent .error {
    grid-column: 2;
}
.achievement {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 25px;
    background: var(--b);
    color: #fff;
    padding: 35px;
    margin: 55px 0;
}
.achievement strong {
    font: 500 34px var(--h);
}
.contact-panel {
    display: grid;
    grid-template-columns: 42% 58%;
}
.contact-info {
    background: var(--b);
    color: #fff;
    padding: 65px;
}
.contact-info img {
    height: 280px;
    margin-top: 40px;
}
.contact-form {
    background: #fff;
    padding: 65px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}
.contact-form .full {
    grid-column: 1/-1;
}
.offices {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}
.office {
    background: #fff;
    border: 1px solid var(--l);
    padding: 42px;
    min-height: 320px;
}
.office h3 {
    margin-bottom: 28px;
}
.center-hero {
    padding: 135px 0;
    background: var(--b);
    color: #fff;
    text-align: center;
}
.center-hero p {
    max-width: 680px;
    color: #cad7e4;
    margin: 24px auto;
}
.review {
    display: grid;
    grid-template-columns: 1.3fr repeat(3, 1fr);
    gap: 35px;
    align-items: center;
    background: var(--b);
    color: #fff;
    padding: 52px 70px;
}
.review strong {
    font: 500 37px var(--h);
}
.benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 65px;
}
@media (max-width: 1000px) {
    .home-slider {
        min-height: 930px;
    }
    .home-slider-shape {
        height: 760px;
    }
    .home-slider-layout {
        grid-template-columns: 1fr;
        padding-top: 130px;
    }
    .home-slider-copy-area {
        padding-right: 0;
    }
    .home-slider-text-slide {
        width: min(620px, 82vw);
        min-height: 390px;
    }
    .home-slider-images {
        position: absolute;
        z-index: -1;
        top: 470px;
        right: 0;
        width: 72%;
        height: 430px;
        margin: 0;
    }
    .header-navigation {
        height: auto;
    }
    #main-nav {
        height: auto;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
    }
    #main-nav > li {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: 1fr 42px;
        border-bottom: 1px solid var(--l);
    }
    #main-nav > li > a {
        min-height: 46px;
    }
    #main-nav > li.dropdown > a::after {
        display: none;
    }
    #main-nav .dropdown-menu {
        position: static;
        grid-column: 1 / -1;
        display: none;
        min-width: 0;
        padding: 5px 0 12px 16px;
        border: 0;
        border-top: 1px solid var(--l);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }
    #main-nav .dropdown-menu .dropdown-menu {
        position: static;
        padding-left: 14px;
    }
    #main-nav .dropdown.submenu-open > .dropdown-menu {
        display: block;
        animation: submenu-open 0.25s ease both;
    }
    .submenu-toggle {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        align-self: center;
        border: 0;
        background: transparent;
        color: var(--b);
        cursor: pointer;
    }
    .submenu-toggle::before {
        content: "";
        width: 7px;
        height: 7px;
        border-right: 1px solid currentColor;
        border-bottom: 1px solid currentColor;
        transform: translateY(-2px) rotate(45deg);
        transition: transform 0.25s ease;
    }
    .submenu-open > .submenu-toggle::before {
        transform: translateY(2px) rotate(225deg);
    }
    @keyframes submenu-open {
        from {
            opacity: 0;
            transform: translateY(-6px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    .footer-main {
        grid-template-columns: 1.3fr 0.7fr 0.9fr;
    }
    .footer-contact {
        grid-column: 2 / 4;
    }
    .about-experience-section {
        padding: 105px 0 115px;
    }
    .about-experience-copy {
        padding: 58px !important;
    }
    .about-experience > img {
        height: 430px;
        min-height: 0;
    }
    .references-section {
        padding: 75px 0 85px;
    }
    .references-slider-shell {
        width: calc(100% - 24px);
        margin-left: 24px;
    }
    .about-purpose {
        grid-template-columns: 1fr;
    }
    .about-purpose > img {
        height: 500px;
    }
    .purpose-panel {
        min-height: 520px;
    }
    .about-inner-title {
        grid-template-columns: 1fr 0.85fr;
        gap: 48px;
        padding: 65px 0 85px;
    }
    .about-title-copy {
        padding-left: 0;
    }
    .about-title-image {
        height: 390px;
    }
    .expertise-slider-wrap {
        width: calc(100% - 48px);
        margin-left: 48px;
    }
    .nav {
        display: none;
        position: absolute;
        top: 90px;
        left: 24px;
        right: 24px;
        background: #fff;
        color: var(--b);
        padding: 28px;
        flex-direction: column;
        align-items: flex-start;
    }
    .nav.open {
        display: flex;
    }
    .hamb {
        display: block;
    }
    .home-hero {
        height: 1060px;
    }
    .home-hero::before {
        height: 760px;
        clip-path: polygon(0 0, 100% 0, 100% 68%, 0 82%);
    }
    .hero-copy {
        grid-template-columns: 1fr;
    }
    .hero-copy p {
        margin: 0;
        text-align: left;
    }
    .home-hero-slider .hero-copy-detail {
        text-align: left;
    }
    .home-hero-slider .hero-copy-text {
        margin: 0;
        text-align: left;
    }
    .hero-img {
        top: 500px;
        width: calc(100% - 120px);
        height: 430px;
    }
    .mission {
        top: 850px;
    }
    .home-hero-slider .home-hero-thumbs.mission {
        width: 300px;
    }
    .story,
    .project-row,
    .feature-split,
    .detail-layout,
    .contact-panel {
        grid-template-columns: 1fr;
    }
    .home-project-row {
        gap: 70px;
    }
    .home-project-row .project-copy {
        max-width: 660px;
        padding-left: 0;
    }
    .home-project-row .project-copy h2 {
        margin-bottom: 45px;
    }
    .home-project-row > img {
        height: 520px;
    }
    .cards,
    .team {
        grid-template-columns: 1fr 1fr;
    }
    .location-grid {
        grid-template-columns: 1fr;
    }
    .location-copy {
        padding: 60px 0 0;
    }
    .testimonials,
    .cta,
    .experience,
    .split-hero {
        grid-template-columns: 1fr;
    }
    .foot-grid {
        grid-template-columns: 1fr 1fr;
    }
    .timeline {
        grid-template-columns: 1fr;
    }
    .history-section {
        padding: 110px 0 120px;
    }
    .timeline-intro {
        max-width: 520px;
    }
    .timeline-track {
        margin-top: 25px;
    }
    .offices {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .home-slider {
        min-height: 790px;
    }
    .home-slider-shape {
        height: 620px;
        clip-path: polygon(0 0, 100% 0, 100% 73%, 0 86%);
    }
    .home-slider-layout {
        width: calc(100% - 30px);
        padding-top: 105px;
    }
    .home-slider-copy-area {
        padding: 15px 0 0;
    }
    .home-slider-kicker {
        margin-bottom: 20px;
    }
    .home-slider-text-slide {
        width: 88vw;
        min-height: 340px;
        grid-template-columns: 30px 1fr;
        gap: 8px;
        padding-right: 20px;
    }
    .home-slider-text-slide h1 {
        font-size: clamp(37px, 11vw, 52px);
    }
    .home-slider-description {
        display: none;
    }
    .home-slider-images {
        top: 440px;
        width: calc(100% - 30px);
        height: 320px;
    }
    .home-slider-controls {
        margin: 4px 0 0 38px;
    }
    .footer {
        padding: 70px 0 28px;
    }
    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 50px 28px;
    }
    .footer-brand,
    .footer-contact {
        grid-column: 1 / -1;
    }
    .footer-brand {
        min-height: 220px;
    }
    .footer-contact {
        margin-top: 5px;
    }
    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 55px;
    }
    .footer-gear {
        right: -170px;
    }
    .about-experience-section {
        padding: 75px 0 85px;
    }
    .about-experience-copy {
        padding: 42px 30px !important;
    }
    .about-experience .xp-stats {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-top: 42px;
    }
    .about-experience .xp-stats p {
        max-width: 190px;
    }
    .about-experience > img {
        height: 300px;
    }
    .references-section {
        padding: 60px 0 70px;
    }
    .references-head {
        align-items: center;
        margin-bottom: 38px;
    }
    .references-prev,
    .references-next {
        width: 44px;
        height: 44px;
    }
    .references-slider-shell {
        width: calc(100% - 15px);
        margin-left: 15px;
    }
    .reference-card {
        width: 210px;
        height: 125px;
    }
    .about-purpose > img {
        height: 330px;
    }
    .purpose-panel {
        min-height: 450px;
    }
    .purpose-tab {
        font-size: 13px;
    }
    .purpose-content {
        min-height: 275px;
    }
    .about-inner-title {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 45px 0 65px;
    }
    .about-title-image {
        height: 310px;
    }
    .expertise-slider-wrap {
        width: calc(100% - 15px);
        margin-left: 15px;
    }
    .expertise-swiper .swiper-slide {
        width: min(82vw, 340px);
    }
    body:before {
        display: none;
    }
    .wrap,
    .narrow {
        width: calc(100% - 30px);
    }
    .sec {
        padding: 75px 0;
    }
    .header {
        height: 90px;
    }
    .header.is-sticky {
        height: 68px;
    }
    .header.is-sticky .logo {
        width: 118px;
    }
    .header.is-sticky .logo2 {
        width: 118px;
    }
    .home-hero {
        height: 850px;
        padding-top: 130px;
    }
    .home-hero::before {
        height: 625px;
        clip-path: polygon(0 0, 100% 0, 100% 72%, 0 84%);
    }
    .hero-copy p {
        display: none;
    }
    .home-hero-slider .home-hero-kicker {
        margin-bottom: 18px;
    }
    .home-hero-slider .hero-copy-text {
        display: none;
    }
    .home-hero-slider .btn {
        margin-top: 26px;
    }
    .hero-img {
        top: 410px;
        left: 15px;
        right: 15px;
        width: auto;
        height: 300px;
    }
    .mission {
        top: 700px;
        left: 15px;
    }
    .home-hero-slider .home-hero-thumbs.mission {
        right: 15px;
        width: auto;
    }
    .home-hero-slider .home-thumb-swiper {
        height: 74px;
    }
    .home-hero-slider .home-thumb-slide {
        min-height: 64px;
    }
    .story {
        gap: 35px;
    }
    .story img {
        height: 350px;
    }
    .cards,
    .blogs,
    .team,
    .foot-grid,
    .features,
    .benefits {
        grid-template-columns: 1fr;
    }
    .section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .location-stats {
        grid-template-columns: 1fr 1fr;
    }
    .showcase {
        height: 350px;
    }
    .project-row {
        gap: 50px;
    }
    .home-project-row {
        gap: 42px;
    }
    .home-project-row .project-copy h2 {
        margin: 16px 0 34px;
    }
    .home-project-row .project-list a {
        min-height: 62px;
        padding: 18px 0;
        font-size: 15px;
    }
    .home-project-row > img {
        height: 360px;
    }
    .project-row img {
        height: 330px;
    }
    .quote {
        grid-template-columns: 1fr;
    }
    .cta div {
        padding: 38px;
    }
    .contact-form {
        grid-template-columns: 1fr;
        padding: 28px;
    }
    .contact-form .full {
        grid-column: auto;
    }
    .split-hero .blue,
    .band,
    .feature-copy {
        padding: 38px;
    }
    .timeline-track {
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 18px;
        padding-left: 28px;
    }
    .timeline-track::before {
        top: 0;
        bottom: 0;
        left: 5px;
        width: 2px;
        height: auto;
    }
    .history-section {
        padding: 80px 0 90px;
    }
    .history-colors {
        margin-top: 30px;
    }
    .timeline-item {
        padding-bottom: 32px;
    }
    .timeline-year {
        height: auto;
        margin-bottom: 12px;
    }
    .timeline-dot {
        top: 3px;
        left: -28px;
    }
    .timeline-card {
        min-height: 0;
        margin-top: 0;
    }
    .client-band .logos {
        grid-template-columns: repeat(2, 1fr);
    }
    .review {
        grid-template-columns: 1fr 1fr;
        padding: 35px;
    }
    .detail > img {
        width: 100%;
    }
    .achievement {
        grid-template-columns: 1fr 1fr;
    }
    .newsletter input {
        width: 100%;
    }
}

@media (max-width: 1000px) {
    .client-references-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }
}

@media (max-width: 640px) {
    .client-quotes-swiper,
    .client-quote-slide {
        min-height: 390px;
    }
    .client-quote-slide {
        padding: 38px 28px;
    }
    .client-logo-slide {
        height: 98px;
        padding: 18px;
    }
}

/* Footer */
.footer {
    padding-bottom: 0;
}
.footer-main {
    grid-template-columns: minmax(260px, 1fr) minmax(360px, 2fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(45px, 5vw, 88px);
}
.footer-logo {
    display: inline-flex !important;
    margin: 0 0 15px !important;
}
.footer-logo img {
    width: 300px;
    height: auto;
}
.footer-menu-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}
.footer-menu,
.footer-bottom-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-menu li {
    margin: 0;
}
.footer-column a,
.footer-contact a,
.footer-contact address {
    color: #becdde;
    font-size: 12px;
    line-height: 1.7;
}
.footer-contact address {
    margin: 0 0 10px;
    font-style: normal;
}
.footer-contact-line {
    display: flex !important;
    align-items: flex-start;
    gap: 13px;
    margin: 0 0 10px !important;
}
.footer-contact-line i {
    flex: 0 0 18px;
    width: 18px;
    padding-top: 5px;
    color: var(--c);
    text-align: center;
}
.footer-contact-line span {
    min-width: 0;
}
.footer-socials {
    gap: 10px;
}
.footer-socials a {
    display: grid;
    width: 40px;
    height: 40px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    place-items: center;
    color: #fff;
    font-size: 14px;
    transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.footer-socials a:hover {
    border-color: var(--c);
    background: var(--c);
    transform: translateY(-3px);
}
.footer-bottom-wrap {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 70px;
}
.footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    border-top: 0;
    margin-top: 0;
    padding: 25px 0;
}
.footer-made {
    text-align: center;
    white-space: nowrap;
}
.footer-made i {
    color: var(--c) !important;
}
.footer-made a {
    display: inline;
    color: #fff;
}
.footer-bottom-menu {
    justify-self: end;
}
.footer-bottom-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 26px;
}
.footer-bottom-menu li,
.footer-bottom-menu a {
    margin: 0;
}

@media (max-width: 1000px) {
    .footer-main {
        grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
    }
    .footer-contact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .footer-main,
    .footer-menu-columns {
        grid-template-columns: 1fr;
    }
    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }
    .footer-bottom {
        grid-template-columns: 1fr;
        justify-items: start;
    }
    .footer-made {
        text-align: left;
    }
    .footer-bottom-menu {
        justify-self: start;
    }
    .footer-bottom-menu ul {
        justify-content: flex-start;
    }
}

/* Pinned horizontal history */
.history-section {
    position: relative;
    padding: 0;
    overflow: visible;
    background: #fff;
}
.history-pin {
    position: sticky;
    top: 0;
    display: flex;
    height: 100svh;
    align-items: center;
    padding: 90px 0;
    overflow: hidden;
    background: #fff;
    box-sizing: border-box;
}
.history-section .timeline {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 30px
}
.timeline-viewport {
    min-width: 0;
    overflow: hidden;
}
.history-section .timeline-track {
    position: relative;
    display: flex;
    width: max-content;
    gap: clamp(30px, 3vw, 55px);
    margin: 0;
    padding: 0 2px 0 0;
    will-change: transform;
}
.history-section .timeline-track::before {
    top: 35px;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 2px;
}
.history-section .timeline-item {
    flex: 0 0 clamp(270px, 24vw, 350px);
    width: clamp(270px, 24vw, 350px);
    min-width: 0;
    padding: 0;
}
.history-section .timeline-year {
    height: 35px;
    margin: 0;
}
.history-section .timeline-dot {
    top: 30px;
    left: 0;
}
.history-section .timeline-card {
    min-height: 205px;
    margin-top: 14px;
}
.timeline-viewport.is-scrollable {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

@media (max-width: 767px) {
    .history-pin {
        height: 100svh;
        align-items: stretch;
        padding: 82px 0 55px;
    }
    .history-section .timeline {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 1fr);
        align-content: center;
        gap: 42px;
    }
    .history-section .timeline-intro {
        max-width: 440px;
        padding: 0;
    }
    .history-section .timeline-intro h2 {
        margin-top: 12px;
        font-size: clamp(31px, 9vw, 43px);
    }
    .history-section .history-colors {
        margin-top: 24px;
    }
    .history-section .timeline-item {
        flex-basis: min(78vw, 310px);
        width: min(78vw, 310px);
    }
    .history-section .timeline-card {
        min-height: 180px;
    }
}

.kvkk{pointer-events:none}
.grecaptcha-badge{
    visibility:hidden;
    pointer-events:none;
}
