:root {
    --alp-navy: #071f2b;
    --alp-navy-soft: #0b3040;
    --alp-cyan: #25b8c8;
    --alp-ink: #082431;
    --alp-muted: #6e7f83;
    --alp-line: #dce4e2;
    --alp-mist: #eef4f2;
    --alp-white: #fff;
    --alp-max: 1120px;
}

.alp-page-builder,
.alp-page-builder * {
    box-sizing: border-box;
}

.alp-page-builder {
    overflow: hidden;
    background: #fff;
    color: var(--alp-ink);
    font-family: "Poppins", sans-serif;
}

.alp-container {
    width: min(calc(100% - 48px), var(--alp-max));
    margin-inline: auto;
}

.alp-section {
    position: relative;
    padding: 112px 0;
}

.alp-eyebrow {
    margin: 0 0 30px;
    color: #159cae;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.5;
    text-transform: uppercase;
}

.alp-section-head h2,
.alp-featured-copy h2 {
    max-width: 650px;
    margin: 0;
    color: var(--alp-ink);
    font-size: clamp(36px, 4.25vw, 62px);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.alp-section-head h2 span,
.alp-featured-copy h2 span {
    color: var(--alp-cyan);
}

.alp-section-lead,
.alp-side-copy,
.alp-richtext,
.alp-hero-text {
    color: var(--alp-muted);
    font-size: 14px;
    line-height: 1.9;
}

.alp-section-lead p:last-child,
.alp-side-copy p:last-child,
.alp-richtext p:last-child,
.alp-hero-text p:last-child {
    margin-bottom: 0;
}

.alp-heading-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr);
    align-items: end;
    gap: 80px;
    margin-bottom: 58px;
}

.alp-side-copy .alp-text-link {
    margin-top: 18px;
}

.alp-button,
.alp-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 48px;
    padding: 0 20px;
    border: 0;
    background: var(--alp-cyan);
    color: var(--alp-ink) !important;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: none !important;
    transition: color .25s ease, background .25s ease, transform .25s ease;
}

.alp-button:hover {
    background: #fff;
    transform: translateY(-2px);
}

.alp-button--dark {
    background: var(--alp-navy);
    color: #fff !important;
}

.alp-button--dark:hover {
    background: #0b3445;
}

.alp-text-link {
    min-height: auto;
    padding: 8px 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    color: var(--alp-ink) !important;
}

.alp-text-link:hover {
    color: var(--alp-cyan) !important;
}

.alp-text-link--light {
    color: #fff !important;
}

.alp-design-icon {
    display: block;
    max-width: none;
    object-fit: contain;
}

.alp-button .alp-arrow-icon,
.alp-text-link .alp-arrow-icon,
.alp-card-corner .alp-arrow-icon {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
}

.alp-image-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 240px;
    place-items: center;
    background: linear-gradient(135deg, #dce7e5, #aebfbd);
    color: rgba(7, 31, 43, .35);
    font-size: 42px;
}

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


/* Hero */

.alp-hero.alp-section {
    --alp-hero-split: 54.65%;
    position: relative;
    overflow: hidden;
    padding: 0;
    background: var(--alp-navy);
    color: #fff;
}

.alp-dark-steps::after,
.alp-clients::after {
    position: absolute;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(37, 184, 200, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.alp-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    width: 100%;
    max-width: none;
    min-height: 600px;
    margin: 0;
    grid-template-columns: var(--alp-hero-split) calc(100% - var(--alp-hero-split));
}

.alp-hero-copy {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding: 74px 54px 36px max(6.6vw, 48px);
}

.alp-hero-copy::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image: linear-gradient(rgba(49, 146, 160, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(49, 146, 160, .07) 1px, transparent 1px);
    background-position: -1px -1px;
    background-size: 61px 61px;
    content: "";
    pointer-events: none;
}

.alp-hero-copy>* {
    position: relative;
    z-index: 2;
}

.alp-hero-orbits {
    position: absolute;
    z-index: 1;
    top: 275px;
    left: var(--alp-hero-split);
    width: 760px;
    height: 760px;
    border: 1px solid rgba(37, 184, 200, .045);
    border-radius: 50%;
    background: rgba(3, 22, 31, .09);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.alp-hero-orbits i {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(37, 184, 200, .055);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.alp-hero-orbits i:nth-child(1) {
    width: 610px;
    height: 610px;
    background: rgba(4, 27, 38, .2);
}

.alp-hero-orbits i:nth-child(2) {
    width: 460px;
    height: 460px;
    background: rgba(5, 31, 43, .34);
}

.alp-hero-orbits i:nth-child(3) {
    width: 310px;
    height: 310px;
    background: rgba(6, 34, 46, .5);
}

.alp-hero .alp-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 35px;
    color: #55c6d2;
    font-size: 11px;
    letter-spacing: .18em;
}

.alp-hero .alp-eyebrow::before {
    width: 26px;
    height: 1px;
    background: var(--alp-cyan);
    content: "";
    flex: 0 0 26px;
}

.alp-hero h1 {
    max-width: 535px;
    margin: 0 0 30px;
    color: #fff;
    font-size: clamp(52px, 5.15vw, 68px);
    font-weight: 700;
    letter-spacing: -.065em;
    line-height: .99;
}

.alp-hero h1 span {
    color: var(--alp-cyan);
}

.alp-hero h1 .alp-dot {
    display: inline;
    margin-left: .03em;
}

.alp-hero-text {
    max-width: 485px;
    color: #aebfc3 !important;
    font-size: 13px;
    line-height: 1.85;
}

.alp-hero-text p {
    color: inherit !important;
}

.alp-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 28px;
}

.alp-hero .alp-actions .alp-button {
    min-width: 190px;
    min-height: 51px;
    gap: 18px;
}

.alp-hero .alp-actions .alp-arrow-icon {
    width: 10px;
    height: 10px;
    flex-basis: 10px;
}

.alp-hero .alp-text-link {
    gap: 18px;
    color: #fff !important;
}

.alp-microcopy {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: auto 0 0;
    color: #fff;
}

.alp-microcopy>img {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
}

.alp-microcopy span,
.alp-microcopy small,
.alp-microcopy strong {
    display: block;
}

.alp-microcopy small {
    margin-bottom: 2px;
    color: #688991;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-microcopy strong {
    color: #dbe4e6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .11em;
}

.alp-hero-media {
    position: relative;
    z-index: 3;
    display: grid;
    min-height: 600px;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
}

.alp-hero-figure {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.alp-hero-figure::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(7, 31, 43, .03) 42%, rgba(7, 31, 43, .82));
    content: "";
}

.alp-hero-figure.is-reference::after {
    display: none;
}

.alp-hero-figure .alp-cover {
    position: absolute;
    inset: 0;
}

.alp-hero-image-label {
    position: absolute;
    z-index: 2;
    top: 29px;
    left: 31px;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .18em;
}

.alp-hero-figure figcaption {
    position: absolute;
    z-index: 2;
    right: 32px;
    bottom: 34px;
    left: 32px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .42);
}

.alp-hero-figure small,
.alp-hero-figure strong {
    display: block;
}

.alp-hero-figure small {
    margin-bottom: 6px;
    color: var(--alp-cyan);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .2em;
}

.alp-hero-figure strong {
    color: #fff;
    font-size: 25px;
    line-height: 1.2;
}

.alp-hero-figure figcaption p {
    margin: 9px 0 0;
    color: #b6c5c9;
    font-size: 12px;
}

.alp-hero-project-link {
    position: absolute;
    z-index: 4;
    right: 31px;
    bottom: 36px;
    display: grid;
    width: 43px;
    height: 43px;
    border: 1px solid rgba(255, 255, 255, .45);
    place-items: center;
}

.alp-hero-project-link img {
    width: 10px;
    height: 10px;
}

.alp-hero-pagination {
    position: absolute;
    z-index: 6;
    top: 50%;
    right: 27px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    color: rgba(255, 255, 255, .65);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .08em;
    transform: translateY(-50%);
}

.alp-hero-pagination b {
    position: relative;
    color: #fff;
}

.alp-hero-pagination b::before {
    position: absolute;
    top: 50%;
    right: calc(100% + 6px);
    width: 11px;
    height: 1px;
    background: var(--alp-cyan);
    content: "";
}

.alp-hero--collage .alp-hero-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}

.alp-hero--collage .alp-hero-media {
    grid-auto-columns: 1fr;
}

.alp-hero--collage .alp-hero-figure figcaption {
    writing-mode: vertical-rl;
    left: 16px;
}

.alp-hero-tags {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, .11);
    grid-template-columns: repeat(4, 1fr);
}

.alp-hero-tags span {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    color: #b7c5c8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.alp-hero-tags img {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
}


/* Services full-image hero */

.alp-hero--service.alp-section {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    padding: 0;
    background: var(--alp-navy);
    color: #fff;
}

.alp-service-hero-media,
.alp-service-hero-media::after {
    position: absolute;
    inset: 0;
}

.alp-service-hero-media {
    z-index: 0;
}

.alp-service-hero-media::after {
    z-index: 1;
    background: linear-gradient(90deg, rgba(4, 27, 38, .98) 0%, rgba(4, 27, 38, .94) 23%, rgba(4, 27, 38, .78) 43%, rgba(4, 27, 38, .34) 69%, rgba(4, 27, 38, .1) 100%), linear-gradient(180deg, rgba(4, 27, 38, .2), rgba(4, 27, 38, .32));
    content: "";
}

.alp-service-hero-media .alp-cover {
    position: absolute;
    inset: 0;
    object-position: center 54%;
}

.alp-service-hero-fallback {
    position: absolute;
    inset: 0;
    background: #0a2b38;
}

.alp-hero--service::before {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 52%;
    background-image: linear-gradient(rgba(49, 146, 160, .065) 1px, transparent 1px), linear-gradient(90deg, rgba(49, 146, 160, .065) 1px, transparent 1px);
    background-position: -1px -1px;
    background-size: 61px 61px;
    content: "";
    pointer-events: none;
}

.alp-service-hero-inner {
    position: relative;
    z-index: 3;
    min-height: 610px;
    padding-top: 25px;
    padding-bottom: 46px;
}

.alp-service-breadcrumb {
    margin: 0;
    color: rgba(212, 227, 230, .72);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.alp-service-hero-copy {
    width: min(510px, 52%);
    margin-top: 100px;
}

.alp-hero--service .alp-eyebrow {
    margin-bottom: 27px;
}

.alp-hero--service h1 {
    margin-bottom: 26px;
    font-size: clamp(54px, 5.55vw, 76px);
    line-height: .95;
}

.alp-hero--service .alp-hero-text {
    max-width: 455px;
    color: #c0ced1 !important;
}

.alp-hero--service .alp-actions {
    margin-top: 27px;
}

.alp-service-scope-link .alp-down-arrow-icon {
    width: 9px;
    height: 14px;
    flex: 0 0 9px;
}

.alp-side-copy p {
    font-family: "Poppins";
    color: #7b8fa5 !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    line-height: 25px !important;
}


/* Logo marquee */

.alp-logo-marquee {
    display: grid;
    min-height: 124px;
    border-bottom: 1px solid var(--alp-line);
    background: #f1f5f3;
    grid-template-columns: minmax(210px, calc((100vw - var(--alp-max)) / 2 + 0px)) 1fr;
}

.alp-logo-label {
    display: flex;
    align-items: center;
    padding: 0 36px;
    border-right: 1px solid var(--alp-line);
    color: var(--alp-muted);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-logo-viewport {
    display: flex;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.alp-logo-track {
    display: flex;
    width: max-content;
    animation: alp-marquee var(--alp-marquee-speed) linear infinite;
}

.alp-logo-marquee:hover .alp-logo-track {
    animation-play-state: paused;
}

.alp-logo-set {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.alp-logo-set>span {
    display: grid;
    width: 210px;
    padding: 0 34px;
    place-items: center;
}

.alp-logo-set img {
    max-width: 150px;
    max-height: 50px;
    filter: grayscale(1);
    opacity: .48;
    transition: filter .25s ease, opacity .25s ease;
}

.alp-logo-set span:hover img {
    filter: grayscale(0);
    opacity: 1;
}

.alp-logo-word {
    color: #8d9998;
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
}

@keyframes alp-marquee {
    to {
        transform: translateX(-50%);
    }
}


/* Expertise */

.alp-expertise-grid,
.alp-scope-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.alp-expertise-card {
    position: relative;
    display: flex;
    min-height: 370px;
    overflow: hidden;
    padding: 26px;
    flex-direction: column;
    border: 1px solid var(--alp-line);
    background: #fff;
    color: var(--alp-ink) !important;
    text-decoration: none !important;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, color .25s ease;
}

.alp-expertise-card+.alp-expertise-card {
    border-left: 0;
}

.alp-card-photo,
.alp-card-shade {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .35s ease;
}

.alp-card-shade {
    background: linear-gradient(180deg, rgba(7, 31, 43, .1), rgba(7, 31, 43, .88));
}

.alp-card-number,
.alp-card-arrow,
.alp-card-icon-wrap,
.alp-card-content {
    position: relative;
    z-index: 2;
}

.alp-card-number {
    align-self: flex-start;
    color: #179bad;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.4;
    white-space: nowrap;
}

.alp-card-arrow {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 10px;
    height: 10px;
    opacity: 1;
    transform: none;
    transition: opacity .25s ease, transform .25s ease;
}

.alp-card-content {
    display: flex;
    width: 100%;
    margin-top: auto;
    padding-top: 0;
    align-self: stretch;
    flex-direction: column;
}

.alp-card-icon-wrap {
    position: absolute;
    top: 105px;
    left: 26px;
    display: flex;
    width: 118px;
    height: 92px;
    align-items: center;
    justify-content: flex-start;
    transform: none;
    opacity: 1;
    transition: opacity .2s ease, transform .3s ease;
    pointer-events: none;
}

.alp-card-icon-image {
    display: block;
    width: 100%;
    max-width: 110px;
    height: 100%;
    max-height: 86px;
    object-fit: contain;
    object-position: left center;
}

.alp-card-icon {
    margin: 0;
    color: #77bac2;
    font-size: 45px;
    font-style: normal;
    font-weight: 400;
    transition: transform .3s ease;
}

.alp-card-content strong {
    margin-bottom: 15px;
    font-size: 25px;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.alp-card-content small {
    color: #839091;
    font-size: 13px;
    line-height: 1.7;
    transition: color .25s ease;
}

.alp-expertise-card:hover {
    z-index: 3;
    color: #fff !important;
    box-shadow: 0 24px 55px rgba(7, 31, 43, .25);
    transform: scale(1.045);
}

.alp-expertise-card:hover .alp-card-photo,
.alp-expertise-card:hover .alp-card-shade,
.alp-expertise-card:hover .alp-card-arrow {
    opacity: 1;
}

.alp-expertise-card:hover .alp-card-arrow {
    transform: translate(0, 0);
}

.alp-expertise-card:hover .alp-card-icon-wrap {
    opacity: 0;
    transform: translateY(-6px);
}

.alp-expertise-card:hover .alp-card-icon {
    color: #fff;
}

.alp-expertise-card:hover .alp-card-content small {
    color: #d5e0e2;
}


/* Split */

.alp-split {
    display: grid;
    min-height: 680px;
    background: var(--alp-navy);
    grid-template-columns: 1fr 1fr;
}

.alp-split--right .alp-split-media {
    order: 2;
}

.alp-split-media {
    min-height: 620px;
}

.alp-split-copy {
    display: flex;
    align-items: center;
    background: var(--alp-navy);
    color: #fff;
}

.alp-split-inner {
    width: min(100% - 80px, 560px);
    margin-inline: auto;
}

.alp-split h2,
.alp-dark-steps h2,
.alp-clients h2,
.alp-featured h2,
.alp-photo-copy h3 {
    color: #fff;
}

.alp-split .alp-richtext,
.alp-dark-steps .alp-richtext {
    margin-top: 28px;
    color: #9eb0b5;
}

.alp-number-list {
    margin: 34px 0;
    padding: 0;
    list-style: none;
}

.alp-number-list li {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 13px 0;
    font-size: 15px;
    font-weight: 600;
}

.alp-number-list span {
    color: var(--alp-cyan);
    font-size: 15px;
}


/* Project cards */

.alp-projects {
    background: #fff;
}

.alp-project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.alp-project-card {
    border: 1px solid var(--alp-line);
    color: var(--alp-ink) !important;
    text-decoration: none !important;
    transition: transform .25s ease, box-shadow .25s ease;
}

.alp-project-card:hover {
    box-shadow: 0 16px 36px rgba(7, 31, 43, .1);
    transform: translateY(-6px);
}

.alp-project-image {
    position: relative;
    display: block;
    height: 330px;
    overflow: hidden;
}

.alp-project-image img {
    transition: transform .55s ease;
}

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

.alp-project-image b {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    background: #fff;
    font-size: 12px;
}

.alp-project-body {
    position: relative;
    display: flex;
    min-height: 116px;
    padding: 24px;
    flex-direction: column;
    justify-content: center;
}

.alp-project-body small {
    margin-bottom: 8px;
    color: #159cae;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.alp-project-body strong {
    font-size: 20px;
    letter-spacing: -.02em;
}

.alp-project-arrow {
    position: absolute;
    top: 25px;
    right: 24px;
    width: 10px;
    height: 10px;
}


/* Automatic project carousel */

.alp-project-carousel-section {
    overflow: hidden;
    background: #fff;
}

.alp-project-carousel-section .alp-heading-grid {
    margin-bottom: 42px;
}

.alp-project-carousel.owl-carousel {
    position: relative;
    width: calc(100% + max(24px, (100vw - var(--alp-max)) / 2));
}

.alp-project-slide {
    position: relative;
    display: block;
    height: 460px;
    overflow: hidden;
    background: var(--alp-navy);
    color: #fff !important;
    text-decoration: none !important;
}

.alp-project-slide-image,
.alp-project-slide-image::after {
    position: absolute;
    inset: 0;
    display: block;
}

.alp-project-slide-image::after {
    background: linear-gradient(180deg, rgba(3, 20, 29, 0) 34%, rgba(3, 20, 29, .92) 100%);
    content: "";
}

.alp-project-slide-image img {
    transition: transform .65s cubic-bezier(.22, .61, .36, 1);
}

.alp-project-slide:hover .alp-project-slide-image img {
    transform: scale(1.045);
}

.alp-project-slide-overlay {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 140px;
    padding: 28px 28px 30px;
    flex-direction: column;
    justify-content: flex-end;
}

.alp-project-slide-overlay small {
    margin-bottom: 9px;
    color: var(--alp-cyan);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.alp-project-slide-overlay strong {
    padding-right: 38px;
    color: #fff;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.18;
}

.alp-project-slide-arrow {
    position: absolute;
    right: 28px;
    bottom: 34px;
    width: 11px;
    height: 11px;
}

.alp-project-carousel .owl-nav {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    width: 100%;
    margin: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

.alp-project-carousel .owl-nav button.owl-prev,
.alp-project-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 0;
    display: grid;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(7, 31, 43, .86);
    color: #fff;
    place-items: center;
    transform: translateY(-50%);
    pointer-events: auto;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.alp-project-carousel .owl-nav button.owl-prev {
    left: 0 !important;
}

.alp-project-carousel .owl-nav button.owl-next {
    right: 0 !important;
}

.alp-project-carousel .owl-nav button:hover {
    border-color: var(--alp-cyan);
    background: var(--alp-cyan);
    color: #fff;
}

.alp-project-carousel .owl-nav button.disabled {
    opacity: .35;
}

.alp-project-carousel .alp-project-carousel-nav-icon {
    font-size: 19px;
    line-height: 1;
}

.header-top {
    background: #081721;
}

@media only screen and (min-width: 768px) {
    .header-top .headright .htop-navlink:last-child {
        padding: 0px 0 0px 15px;
    }
}

.alp-header-cta {
    border: 1px solid #00B7C7;
    border-radius: 0;
    font-size: 15px;
    color: #fff;
    gap: 13px;
    display: flex;
    padding: .6125rem 1.4rem;
    margin-left: 20px;
}

.header-top .container-fluid {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.header-bottom {
    padding-left: 40px;
    padding-right: 40px;
}

.headright>a.htop-navlink {
    border-right: 1px solid #165465!important;
}

@media only screen and (min-width: 768px) {
    .header-top .headright .htop-navlink {
        padding: 0px 15px 0px 15px;
    }
}

.header-top .nav-link.htop-navlink {
    font-weight: normal;
    font-size: 11px;
    text-align: left;
    color: #283d54;
    font-weight: 500;
}


/* Light process */

.alp-process {
    background: var(--alp-mist);
}

.alp-process-grid {
    display: grid;
    margin-top: 60px;
    border-top: 1px solid #cedad8;
    border-bottom: 1px solid #cedad8;
    grid-template-columns: repeat(3, 1fr);
}

.alp-process-grid--four {
    grid-template-columns: repeat(4, 1fr);
}

.alp-process-step {
    display: grid;
    min-height: 160px;
    padding: 36px 28px;
    grid-template-columns: 44px 1fr;
    gap: 12px;
}

.alp-process-step+.alp-process-step {
    border-left: 1px solid #cedad8;
}

.alp-process-step>span {
    color: var(--alp-cyan);
    font-size: 15px;
    font-weight: 700;
}

.alp-process-step h3 {
    margin: 0 0 12px;
    color: var(--alp-ink);
    font-size: 19px;
}

.alp-process-step p {
    margin: 0;
    color: var(--alp-muted);
    font-size: 15px;
    line-height: 1.7;
}


/* Intro */

.alp-intro {
    padding-bottom: 58px;
}

.alp-intro .alp-heading-grid {
    margin-bottom: 0;
}

.alp-intro .alp-richtext {
    max-width: 480px;
}

.alp-intro .alp-richtext p {
    color: var(--alp-muted);
}

.alp-intro .alp-richtext .alp-note {
    color: var(--alp-ink);
}

.alp-note {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid var(--alp-line);
    color: var(--alp-ink);
    font-size: 10px;
    font-weight: 600;
}

.alp-note b {
    color: #159cae;
    font-size: 8px;
    letter-spacing: .14em;
}


/* Media panel */

.alp-media-panel {
    padding-bottom: 105px;
    background: #fff;
}

.alp-media-panel-grid {
    display: grid;
    height: 480px;
    grid-template-columns: 1.65fr .95fr;
}

.alp-media-panel figure {
    position: relative;
    margin: 0;
    min-height: 0;
    overflow: hidden;
}

.alp-media-panel figure>.alp-cover,
.alp-media-panel figure>.alp-image-placeholder {
    position: absolute;
    inset: 0;
}

.alp-media-panel figure figcaption {
    position: absolute;
    bottom: 20px;
    left: 24px;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-media-card {
    position: relative;
    display: flex;
    overflow: hidden;
    padding: 58px 44px 36px;
    flex-direction: column;
    justify-content: center;
    background: var(--alp-navy-soft);
    color: #fff;
}

.alp-media-orbits {
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 0;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(37, 184, 200, .07);
    border-radius: 50%;
    background: rgba(5, 38, 51, .16);
    transform: translate(56%, -50%);
    pointer-events: none;
}

.alp-media-orbits i {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(37, 184, 200, .075);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.alp-media-orbits i:nth-child(1) {
    width: 330px;
    height: 330px;
    background: rgba(5, 42, 56, .13);
}

.alp-media-orbits i:nth-child(2) {
    width: 230px;
    height: 230px;
    background: rgba(5, 46, 60, .18);
}

.alp-media-orbits i:nth-child(3) {
    width: 130px;
    height: 130px;
    background: rgba(5, 51, 65, .24);
}

.alp-media-card-content {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 100%;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
}

.alp-media-card h2 {
    color: #fff;
    font-size: clamp(28px, 3vw, 44px);
}

.alp-media-card .alp-richtext {
    margin-top: 24px;
    color: #a8bbc0;
}

.alp-media-card-content>small {
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #d8e2e4;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-card-corner {
    position: absolute;
    top: 34px;
    right: 34px;
    display: grid;
    width: 32px;
    height: 32px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    background: transparent;
    color: #fff !important;
}

.alp-card-corner span {
    display: none;
}


/* Scope */

.alp-scope {
    background: var(--alp-mist);
}

.alp-scope-card {
    position: relative;
    display: flex;
    min-height: 335px;
    padding: 25px;
    border: 1px solid #d5dfdd;
    flex-direction: column;
    background: #fff;
    color: var(--alp-ink) !important;
    text-decoration: none !important;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.alp-scope-card+.alp-scope-card {
    border-left: 0;
}

.alp-scope-card>span {
    color: #159cae;
    font-size: 12px;
    font-weight: 700;
}

.alp-scope-arrow {
    position: absolute;
    top: 23px;
    right: 23px;
    width: 10px;
    height: 10px;
    opacity: 0;
    transition: opacity .25s ease;
}

.alp-scope-icon {
    margin: 19px 0 18px;
    color: #7cbac2;
    font-size: 42px;
    font-style: normal;
}

.alp-scope-icon--image {
    display: grid;
    width: 100px;
    height: 100px;
    place-items: center;
}

.alp-scope-icon--image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100px;
    max-height: 100px;
    object-fit: contain;
}

.alp-scope-card strong {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.15;
}

.alp-scope-card small {
    color: #7c898c;
    font-size: 14px;
    line-height: 1.7;
}

.alp-scope-card:hover {
    z-index: 1;
    background: var(--alp-navy);
    color: #fff !important;
    transform: translateY(-5px);
}

.alp-scope-card:hover .alp-scope-arrow {
    opacity: 1;
}

.alp-scope-card:hover small {
    color: #b4c3c6;
}

.alp-richtext {
    margin-bottom: 25px;
}

.alp-richtext p {
    color: #fff;
}

.alp-section-note,
.alp-gallery-note {
    display: grid;
    margin-top: 38px;
    padding-top: 20px;
    border-top: 1px solid #ccd8d6;
    grid-template-columns: 1fr 2fr auto;
    align-items: center;
    gap: 24px;
}

.alp-section-note span,
.alp-section-note b,
.alp-gallery-note span,
.alp-gallery-note b {
    color: #159cae;
    font-size: 12px;
    letter-spacing: .14em;
}

.alp-section-note p,
.alp-gallery-note p {
    margin: 0;
    color: #52666a;
    font-size: 13px;
}


/* Dark process */

.alp-dark-steps,
.alp-clients {
    position: relative;
    overflow: hidden;
    background: var(--alp-navy);
    color: #fff;
}

.alp-dark-steps::after,
.alp-clients::after {
    right: -220px;
    bottom: -310px;
}

.alp-dark-steps-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.5fr 1.2fr;
    gap: 110px;
}

.alp-dark-steps ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .13);
    list-style: none;
}

.alp-dark-steps li {
    display: grid;
    min-height: 82px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    grid-template-columns: 60px 1fr;
}

.alp-dark-steps li>span {
    color: var(--alp-cyan);
    font-size: 15px;
    font-weight: 700;
}

.alp-dark-steps li strong,
.alp-dark-steps li small {
    display: block;
}

.alp-dark-steps li strong {
    margin-bottom: 6px;
    font-size: 17px;
}

.alp-dark-steps li small {
    color: #91a5aa;
    font-size: 15px;
    line-height: 1.6;
}


/* Photo story */

.alp-photo-story {
    padding-bottom: 0;
}

.alp-photo-grid {
    display: grid;
    height: 560px;
    min-height: 0;
    grid-template-columns: 1.55fr .82fr .86fr;
    grid-template-rows: 1fr;
}

.alp-photo-grid figure {
    position: relative;
    height: 100%;
    min-height: 0;
    margin: 0;
    overflow: hidden;
}

.alp-photo-grid figure>.alp-cover,
.alp-photo-grid figure>.alp-image-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.alp-photo-grid figure figcaption {
    position: absolute;
    bottom: 19px;
    left: 20px;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .12em;
}

.alp-photo-copy {
    display: flex;
    padding: 42px;
    flex-direction: column;
    justify-content: center;
    background: var(--alp-navy-soft);
    color: #fff;
}

.alp-photo-copy .alp-eyebrow {
    margin-bottom: 42px;
}

.alp-photo-copy h3 {
    margin: 0 0 14px;
    font-size: 32px;
    line-height: 1.15;
    white-space: nowrap;
}

.alp-photo-copy p {
    color: #a7b9bd;
    font-size: 11px;
    line-height: 1.8;
}


/* Featured project */

.alp-featured {
    background: var(--alp-mist);
}

.alp-featured>.alp-container>.alp-eyebrow {
    margin-bottom: 30px;
}

.alp-featured-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
}

.alp-featured figure {
    position: relative;
    min-height: 510px;
    margin: 0;
    overflow: hidden;
}

.alp-featured figure figcaption {
    position: absolute;
    bottom: 20px;
    left: 22px;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .14em;
}

.alp-featured-copy {
    display: flex;
    padding: 56px 48px;
    flex-direction: column;
    justify-content: center;
    background: var(--alp-navy-soft);
    color: #fff;
}

.alp-featured-copy h2 {
    font-size: clamp(34px, 3.6vw, 50px);
}

.alp-featured-copy .alp-richtext {
    margin-top: 25px;
    color: #a9bbc0;
}

.alp-featured-meta {
    display: grid;
    margin: 28px 0 10px;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.alp-featured-meta span {
    display: flex;
    flex-direction: column;
}

.alp-featured-meta small {
    margin-bottom: 7px;
    color: var(--alp-cyan);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
}

.alp-featured-meta strong {
    font-size: 12px;
}


/* Project gallery */

.alp-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.alp-gallery-grid>a {
    position: relative;
    display: grid;
    padding-bottom: 22px;
    border: 1px solid var(--alp-line);
    color: var(--alp-ink) !important;
    text-decoration: none !important;
}

.alp-gallery-image {
    display: block;
    height: 340px;
    overflow: hidden;
}

.alp-gallery-image img {
    transition: transform .45s ease;
}

.alp-gallery-grid>a:hover img {
    transform: scale(1.04);
}

.alp-gallery-grid small {
    margin: 21px 24px 7px;
    color: #159cae;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.alp-gallery-grid strong {
    margin: 20px 52px 0 24px;
    font-size: 21px;
}

.alp-gallery-arrow {
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 10px;
    height: 10px;
}

.alp-gallery-note {
    margin-top: 34px;
}


/* Clients */

.alp-clients .alp-heading-grid {
    position: relative;
    z-index: 1;
}

.alp-clients .alp-side-copy {
    color: #93a8ad;
}

.alp-client-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 50px;
}

.alp-client-grid a {
    display: grid;
    min-height: 82px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, .13);
    color: #fff !important;
    text-decoration: none !important;
    grid-template-columns: 55px 1fr 24px;
    align-items: center;
}

.alp-client-grid a>span {
    color: var(--alp-cyan);
    font-size: 14px;
    font-weight: 700;
}

.alp-client-grid strong,
.alp-client-grid small {
    display: block;
}

.alp-client-grid strong {
    margin-bottom: 6px;
    font-size: 17px;
}

.alp-client-grid small {
    color: #7e959a;
    font-size: 15px;
}

.alp-client-arrow {
    width: 10px;
    height: 10px;
    opacity: 0;
    transform: translate(-6px, 6px);
    transition: opacity .2s ease, transform .2s ease;
}

.alp-client-grid a:hover .alp-client-arrow {
    opacity: 1;
    transform: translate(0, 0);
}


/* CTA */

.alp-cta {
    position: relative;
    overflow: hidden;
    padding: 84px 0;
    background: var(--alp-cyan);
    color: var(--alp-ink);
}

.alp-cta::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(37, 184, 200, .95), rgba(37, 184, 200, .85)), var(--alp-cta-image);
    background-position: center;
    background-size: cover;
    content: "";
}

.alp-cta::after {
    position: absolute;
    right: 10%;
    bottom: -180px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(7, 31, 43, .08);
    content: "";
    transform: rotate(32deg);
}

.alp-cta-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.4fr .7fr;
    align-items: center;
    gap: 70px;
}

.alp-cta h2 {
    max-width: 730px;
    color: var(--alp-ink);
}

.alp-cta h2 span {
    color: #fff;
}

.alp-cta .alp-eyebrow {
    color: rgba(7, 31, 43, .72);
}

.alp-cta .alp-richtext {
    max-width: 580px;
    margin-top: 22px;
    color: rgba(7, 31, 43, .7);
}

.alp-cta-grid>div:last-child {
    display: flex;
    justify-content: flex-end;
}


/* Footer */

.alp-footer {
    padding: 72px 0 20px;
    background: #061b25;
    color: #9fb0b5;
}

.alp-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr .7fr .9fr;
    gap: 110px;
}

.alp-footer-brand img {
    width: 145px;
    height: auto;
    margin-bottom: 18px;
}

.alp-footer-brand p {
    max-width: 290px;
    font-size: 11px;
    line-height: 1.8;
}

.alp-footer .footer-title {
    margin: 4px 0 22px;
    color: var(--alp-cyan) !important;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.alp-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.alp-footer li {
    margin-bottom: 10px;
}

.alp-footer a {
    color: #d7e0e2 !important;
    font-size: 14px;
    text-decoration: none !important;
}

.alp-footer a:hover {
    color: var(--alp-cyan) !important;
}

.alp-footer p {
    margin-bottom: 10px;
    color: #9fb0b5;
    font-size: 11px;
}

.alp-footer-bottom {
    display: grid;
    margin-top: 60px;
    padding-top: 19px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    color: #758b91;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.alp-footer-bottom span:nth-child(2) {
    text-align: center;
}

.alp-footer-bottom a {
    justify-self: end;
    font-size: 8px;
}

.alp-footer-socials {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}

.alp-footer-socials a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
}


/* WPBakery removes margins unpredictably; these sections own their spacing. */

.alp-page-builder>.vc_row,
.alp-page-builder>.wpb-content-wrapper>.vc_row,
.alp-page-builder .wpb_content_element {
    margin-bottom: 0;
}

.alp-page-builder>.vc_row,
.alp-page-builder>.wpb-content-wrapper>.vc_row {
    margin-right: 0;
    margin-left: 0;
}

.alp-page-builder>.vc_row>.vc_column_container>.vc_column-inner,
.alp-page-builder>.wpb-content-wrapper>.vc_row>.vc_column_container>.vc_column-inner {
    padding-right: 0;
    padding-left: 0;
}

@media (max-width: 991px) {
    .headbtnul .alp-header-cta {
        color: #000000 !important;
    }
    .alp-section {
        padding: 82px 0;
    }
    .alp-heading-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .alp-hero-grid {
        min-height: auto;
        grid-template-columns: 1fr;
    }
    .alp-hero-copy {
        padding: 64px 48px 52px;
    }
    .alp-hero-media {
        min-height: 480px;
    }
    .alp-hero-orbits {
        top: 330px;
        left: 88%;
    }
    .alp-hero-tags {
        grid-template-columns: repeat(2, 1fr);
    }
    .alp-service-hero-copy {
        width: min(540px, 70%);
    }
    .alp-logo-marquee {
        grid-template-columns: 190px 1fr;
    }
    .alp-expertise-grid,
    .alp-scope-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .alp-expertise-card:nth-child(3),
    .alp-scope-card:nth-child(3) {
        border-left: 1px solid var(--alp-line);
    }
    .alp-expertise-card {
        min-height: 330px;
    }
    .alp-split {
        min-height: auto;
        grid-template-columns: 1fr;
    }
    .alp-split--right .alp-split-media {
        order: initial;
    }
    .alp-split-media {
        min-height: 480px;
    }
    .alp-split-copy {
        min-height: 560px;
    }
    .alp-project-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .alp-process-grid {
        grid-template-columns: 1fr;
    }
    .alp-process-step+.alp-process-step {
        border-top: 1px solid #cedad8;
        border-left: 0;
    }
    .alp-media-panel-grid {
        height: auto;
        grid-template-columns: 1fr;
    }
    .alp-media-panel figure {
        height: 430px;
        min-height: 430px;
    }
    .alp-dark-steps-grid {
        grid-template-columns: 1fr;
        gap: 58px;
    }
    .alp-photo-grid {
        height: auto;
        grid-template-columns: 1fr 1fr;
    }
    .alp-photo-grid figure {
        height: 430px;
        min-height: 0;
    }
    .alp-photo-copy {
        grid-column: 1 / -1;
        min-height: 330px;
    }
    .alp-featured-grid {
        grid-template-columns: 1fr;
    }
    .alp-featured figure {
        min-height: 450px;
    }
    .alp-footer-grid {
        gap: 55px;
    }
}

@media (max-width: 767px) {
    .alp-container {
        width: min(calc(100% - 32px), var(--alp-max));
    }
    .alp-section {
        padding: 66px 0;
    }
    .alp-section-head h2,
    .alp-featured-copy h2 {
        font-size: 38px;
    }
    .alp-eyebrow {
        margin-bottom: 20px;
    }
    .alp-hero-grid {
        width: 100%;
    }
    .alp-hero-copy {
        padding: 56px 16px 42px;
    }
    .alp-hero h1 {
        font-size: clamp(42px, 13vw, 54px);
    }
    .alp-hero--service.alp-section,
    .alp-service-hero-inner {
        min-height: 620px;
    }
    .alp-service-hero-inner {
        padding-top: 22px;
        padding-bottom: 42px;
    }
    .alp-service-hero-copy {
        width: 100%;
        margin-top: 92px;
    }
    .alp-hero--service::before {
        width: 100%;
    }
    .alp-service-hero-media::after {
        background: linear-gradient(90deg, rgba(4, 27, 38, .96), rgba(4, 27, 38, .7)), linear-gradient(180deg, rgba(4, 27, 38, .12), rgba(4, 27, 38, .5));
    }
    .alp-actions {
        align-items: flex-start;
        flex-direction: column;
    }
    .alp-microcopy {
        margin-top: 34px;
    }
    .alp-hero-orbits {
        display: none;
    }
    .alp-hero-media {
        min-height: 390px;
    }
    .alp-hero--collage .alp-hero-media {
        min-height: 430px;
    }
    .alp-hero-figure figcaption {
        right: 20px;
        bottom: 24px;
        left: 20px;
    }
    .alp-hero-tags {
        grid-template-columns: 1fr;
    }
    .alp-hero-tags span {
        min-height: 52px;
    }
    .alp-logo-marquee {
        min-height: 150px;
        grid-template-columns: 1fr;
    }
    .alp-logo-label {
        min-height: 48px;
        border-right: 0;
        border-bottom: 1px solid var(--alp-line);
    }
    .alp-logo-set>span {
        width: 165px;
    }
    .alp-expertise-grid,
    .alp-scope-grid,
    .alp-project-grid,
    .alp-gallery-grid,
    .alp-client-grid {
        grid-template-columns: 1fr;
    }
    .alp-expertise-card+.alp-expertise-card,
    .alp-scope-card+.alp-scope-card {
        border-top: 0;
        border-left: 1px solid var(--alp-line);
    }
    .alp-expertise-card {
        min-height: 310px;
    }
    .alp-expertise-card:hover {
        transform: scale(1.02);
    }
    .alp-split-media {
        min-height: 360px;
    }
    .alp-split-copy {
        min-height: 520px;
    }
    .alp-split-inner {
        width: calc(100% - 32px);
    }
    .alp-project-image {
        height: 300px;
    }
    .alp-media-panel figure {
        height: 340px;
        min-height: 340px;
    }
    .alp-media-card,
    .alp-featured-copy {
        padding: 42px 25px;
    }
    .alp-scope-grid {
        gap: 0;
    }
    .alp-section-note,
    .alp-gallery-note {
        grid-template-columns: 1fr;
    }
    .alp-dark-steps li {
        grid-template-columns: 45px 1fr;
    }
    .alp-photo-grid {
        grid-template-columns: 1fr;
    }
    .alp-photo-grid figure {
        height: 360px;
        min-height: 0;
    }
    .alp-photo-copy {
        grid-column: auto;
    }
    .alp-featured figure {
        min-height: 340px;
    }
    .alp-gallery-image {
        height: 280px;
    }
    .alp-client-grid {
        column-gap: 0;
    }
    .alp-cta {
        padding: 70px 0;
    }
    .alp-cta-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .alp-cta-grid>div:last-child {
        justify-content: flex-start;
    }
    .alp-footer-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }
    .alp-footer-bottom {
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: left;
    }
    .alp-footer-bottom span:nth-child(2) {
        text-align: left;
    }
    .alp-footer-bottom a {
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .alp-logo-track {
        animation-play-state: paused;
    }
    .alp-expertise-card,
    .alp-project-card,
    .alp-cover {
        transition: none !important;
    }
}

@media (max-width: 991px) {
    .alp-project-carousel.owl-carousel {
        width: calc(100% + 24px);
    }
    .alp-project-slide {
        height: 410px;
    }
}

@media (max-width: 767px) {
    .alp-project-carousel-section .alp-heading-grid {
        margin-bottom: 30px;
    }
    .alp-project-slide {
        height: 370px;
    }
    .alp-project-slide-overlay {
        min-height: 124px;
        padding: 24px 22px 26px;
    }
    .alp-project-slide-overlay strong {
        font-size: 22px;
    }
    .alp-project-slide-arrow {
        right: 22px;
        bottom: 30px;
    }
}


/* Contact page */

.alp-contact-page {
    overflow: hidden;
    background: var(--alp-mist);
}

.alp-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 66px;
    background: var(--alp-ink);
    color: #fff;
}

.alp-contact-hero>.alp-container,
.alp-contact-body>.alp-container {
    position: relative;
    z-index: 2;
}

.alp-contact-breadcrumb {
    margin: 0 0 54px;
    color: rgba(255, 255, 255, .58);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .13em;
}

.alp-contact-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 70px;
    align-items: end;
}

.alp-contact-heading h1 {
    max-width: 760px;
    margin: 24px 0 0;
    color: #fff;
    font-size: clamp(46px, 5.2vw, 76px);
    line-height: .98;
    letter-spacing: -.045em;
}

.alp-contact-heading h1 span,
.alp-contact-info h2 span {
    color: var(--alp-cyan);
}

.alp-contact-intro {
    padding: 2px 0 2px 28px;
    border-left: 1px solid rgba(37, 184, 200, .65);
    color: rgba(255, 255, 255, .68);
    font-size: 15px;
    line-height: 1.7;
}

.alp-contact-intro p {
    margin: 0;
    color: inherit;
}

.alp-contact-orbits {
    position: absolute;
    top: -170px;
    right: -115px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(37, 184, 200, .1);
    border-radius: 50%;
}

.alp-contact-orbits i {
    position: absolute;
    inset: 70px;
    border: 1px solid rgba(37, 184, 200, .1);
    border-radius: 50%;
}

.alp-contact-orbits i:nth-child(2) {
    inset: 140px;
}

.alp-contact-orbits i:nth-child(3) {
    inset: 210px;
}

.alp-contact-body {
    padding: 72px 0 92px;
}

.alp-contact-grid {
    display: grid;
    grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
    box-shadow: 0 24px 70px rgba(8, 35, 47, .09);
}

.alp-contact-info {
    position: relative;
    overflow: hidden;
    min-height: 650px;
    padding: 58px 54px 48px;
    background: #07313e;
    color: #fff;
    box-sizing: border-box;
}

.alp-contact-info::after {
    position: absolute;
    right: -145px;
    bottom: -145px;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(37, 184, 200, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 58px rgba(37, 184, 200, .04), 0 0 0 116px rgba(37, 184, 200, .025);
    content: '';
}

.alp-contact-info h2 {
    margin: 22px 0 46px;
    color: #fff;
    font-size: clamp(35px, 3.2vw, 52px);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.alp-contact-detail-list {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, .13);
}

.alp-contact-detail {
    display: grid;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    grid-template-columns: 42px 1fr;
    gap: 8px;
}

.alp-contact-detail>b {
    color: var(--alp-cyan);
    font-size: 10px;
    letter-spacing: .08em;
}

.alp-contact-detail small {
    display: block;
    margin-bottom: 5px;
    color: rgba(255, 255, 255, .48);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
}

.alp-contact-detail a,
.alp-contact-detail span {
    color: #fff !important;
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none !important;
}

.alp-contact-note {
    position: relative;
    z-index: 1;
    max-width: 330px;
    margin: 38px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
    line-height: 1.7;
}

.alp-contact-form-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 58px 64px 54px;
    background: #fff;
    box-sizing: border-box;
}

.alp-contact-form-head {
    display: grid;
    margin-bottom: 42px;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr);
    column-gap: 36px;
}

.alp-contact-form-head>.alp-eyebrow {
    grid-column: 1 / -1;
}

.alp-contact-form-head h2 {
    margin: 18px 0 0;
    color: var(--alp-ink);
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.03;
    letter-spacing: -.035em;
}

.alp-contact-form-head>div {
    align-self: end;
    padding-left: 22px;
    border-left: 1px solid var(--alp-line);
    color: var(--alp-muted);
    font-size: 12px;
    line-height: 1.65;
}

.alp-contact-form-head>div p {
    margin: 0;
}

.alp-contact-form .wpcf7-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
}

.alp-contact-form .wpcf7-form>p {
    margin: 0;
}

.alp-contact-form .wpcf7-form>p:nth-of-type(n+3) {
    grid-column: 1 / -1;
}

.alp-contact-form label {
    display: block;
    margin: 0;
    color: var(--alp-ink);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.alp-contact-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 9px;
}

.alp-contact-form input[type='text'],
.alp-contact-form input[type='email'],
.alp-contact-form input[type='tel'],
.alp-contact-form textarea {
    display: block;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 7px 0 12px;
    border: 0;
    border-bottom: 1px solid #cbd8d6;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--alp-ink);
    font-family: inherit;
    font-size: 14px;
    box-shadow: none;
    box-sizing: border-box;
    transition: border-color .2s ease;
}

.alp-contact-form textarea {
    height: 112px;
    min-height: 112px;
    resize: vertical;
}

.alp-contact-form input:focus,
.alp-contact-form textarea:focus {
    border-color: var(--alp-cyan);
}

.alp-contact-form input[type='submit'] {
    min-width: 188px;
    min-height: 52px;
    padding: 0 52px 0 26px;
    border: 0;
    border-radius: 0;
    background-color: var(--alp-cyan);
    background-image: url('images/alp/hero-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: right 22px center;
    background-size: 11px 11px;
    color: #042733;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}

.alp-contact-form input[type='submit']:hover {
    background-color: #24c6d4;
    transform: translateY(-2px);
}

.alp-contact-form .wpcf7-spinner {
    margin: 0 0 0 12px;
    vertical-align: middle;
}

.alp-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    color: #b44747;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.alp-contact-form .wpcf7-response-output {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 12px 16px !important;
    border-width: 1px !important;
    font-size: 11px;
}

@media (max-width: 991px) {
    .alp-contact-heading,
    .alp-contact-grid {
        grid-template-columns: 1fr;
    }
    .alp-contact-heading {
        gap: 32px;
    }
    .alp-contact-intro {
        max-width: 680px;
    }
    .alp-contact-info {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .alp-contact-hero>.alp-container,
    .alp-contact-body>.alp-container {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }
    .alp-contact-hero {
        padding: 34px 0 46px;
    }
    .alp-contact-breadcrumb {
        margin-bottom: 36px;
    }
    .alp-contact-heading h1 {
        font-size: 44px;
    }
    .alp-contact-intro {
        padding-left: 18px;
    }
    .alp-contact-body {
        padding: 42px 0 58px;
    }
    .alp-contact-info,
    .alp-contact-form-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 34px 24px;
    }
    .alp-contact-grid,
    .alp-contact-form,
    .alp-contact-form .wpcf7,
    .alp-contact-form .wpcf7-form {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    .alp-contact-form-head h2 {
        display: block;
        width: 100%;
        max-width: 100%;
        font-size: 36px;
        overflow-wrap: break-word;
        white-space: normal !important;
    }
    .alp-contact-form-head,
    .alp-contact-form .wpcf7-form {
        grid-template-columns: minmax(0, 1fr);
    }
    .alp-contact-heading {
        grid-template-columns: minmax(0, 1fr);
    }
    .alp-contact-heading>*,
    .alp-contact-form-head>* {
        min-width: 0;
        max-width: 100%;
    }
    .alp-contact-intro p,
    .alp-contact-form-head p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .alp-contact-form-head>div {
        margin-top: 20px;
        padding-left: 0;
        border-left: 0;
    }
    .alp-contact-form .wpcf7-form>p {
        grid-column: 1;
    }
}


/* Project detail */

.alp-project-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 46px 0 50px;
    background: var(--alp-navy);
    color: #fff;
}

.alp-project-detail-hero>.alp-container {
    position: relative;
    z-index: 2;
}

.alp-project-detail-orbits {
    position: absolute;
    top: -270px;
    right: -180px;
    width: 660px;
    height: 660px;
    border: 1px solid rgba(37, 184, 200, .08);
    border-radius: 50%;
    pointer-events: none;
}

.alp-project-detail-orbits i {
    position: absolute;
    inset: 74px;
    border: 1px solid rgba(37, 184, 200, .08);
    border-radius: inherit;
}

.alp-project-detail-orbits i:nth-child(2) {
    inset: 148px;
}

.alp-project-detail-orbits i:nth-child(3) {
    inset: 222px;
}

.alp-project-detail-breadcrumb {
    margin: 0;
    color: rgba(255, 255, 255, .6);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-project-detail-heading {
    display: grid;
    align-items: end;
    margin-top: 42px;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 76px;
}

.alp-project-detail-heading>* {
    min-width: 0;
}

.alp-project-detail-heading .alp-eyebrow {
    color: var(--alp-cyan);
}

.alp-project-detail-heading h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.055em;
}

.alp-project-detail-heading h1 span {
    color: var(--alp-cyan);
}

.alp-project-detail-summary {
    max-width: 470px;
    padding-left: 28px;
    border-left: 1px solid rgba(37, 184, 200, .42);
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.85;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.alp-project-detail-summary p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    color: inherit !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

.alp-project-detail-meta {
    display: grid;
    margin: 42px 0 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    grid-template-columns: repeat(3, 1fr);
}

.alp-project-detail-meta>div {
    padding: 20px 24px 0 0;
}

.alp-project-detail-meta>div+div {
    padding-left: 24px;
    border-left: 1px solid rgba(255, 255, 255, .1);
}

.alp-project-detail-meta dt {
    margin-bottom: 7px;
    color: var(--alp-cyan);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
}

.alp-project-detail-meta dd {
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.alp-project-detail-content {
    padding-top: 72px;
    padding-bottom: 78px;
    background: #fff;
}

.alp-project-detail-grid {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}

.alp-project-detail-grid>* {
    min-width: 0;
    max-width: 100%;
}

.alp-project-lightbox-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: auto;
    gap: 12px;
}

.alp-project-gallery-item {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    height: auto;
    overflow: hidden;
    background: var(--alp-mist);
    color: #fff !important;
    text-decoration: none !important;
}

.alp-project-gallery-item--featured {
    height: auto;
    grid-column: auto;
    grid-row: auto;
}

@media (min-width: 992px) {
    .alp-project-gallery-item:last-child:nth-child(3n+1) {
        grid-column: 2;
    }
}

.alp-project-gallery-item::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(4, 27, 38, .78));
    content: "";
    pointer-events: none;
}

.alp-project-gallery-item img {
    transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.alp-project-gallery-item:hover img {
    filter: saturate(1.08);
    transform: scale(1.035);
}

.alp-project-gallery-index,
.alp-project-gallery-caption,
.alp-project-gallery-zoom {
    position: absolute;
    z-index: 2;
}

.alp-project-gallery-index {
    top: 18px;
    left: 18px;
    display: grid;
    width: 34px;
    height: 34px;
    background: rgba(7, 31, 43, .86);
    color: var(--alp-cyan);
    font-size: 10px;
    font-weight: 700;
    place-items: center;
}

.alp-project-gallery-caption {
    right: 62px;
    bottom: 20px;
    left: 20px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
}

.alp-project-gallery-zoom {
    right: 18px;
    bottom: 18px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, .62);
}

.alp-project-gallery-zoom::before {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 8px;
    height: 8px;
    border: 1.5px solid #fff;
    border-radius: 50%;
    content: "";
}

.alp-project-gallery-zoom::after {
    position: absolute;
    top: 17px;
    left: 17px;
    width: 6px;
    height: 1.5px;
    background: #fff;
    content: "";
    transform: rotate(45deg);
    transform-origin: left center;
}

.alp-project-gallery-empty {
    display: grid;
    min-height: 690px;
    border: 1px solid var(--alp-line);
    background: var(--alp-mist);
    color: var(--alp-muted);
    grid-column: 1 / -1;
    place-items: center;
}

.alp-project-gallery-empty .alp-image-placeholder {
    display: none;
}

.alp-project-work-panel {
    position: relative;
    order: -1;
    overflow: hidden;
    padding: 42px;
    background: var(--alp-navy);
    color: #fff;
}

.alp-project-work-panel::after {
    position: absolute;
    right: -150px;
    bottom: -165px;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(37, 184, 200, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(37, 184, 200, .025), 0 0 0 110px rgba(37, 184, 200, .02);
    content: "";
    pointer-events: none;
}

.alp-project-work-head,
.alp-project-work-list {
    position: relative;
    z-index: 1;
}

.alp-project-work-head {
    display: grid;
    align-items: end;
    padding-bottom: 32px;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    grid-template-rows: auto 1fr;
    gap: 8px 70px;
}

.alp-project-work-head .alp-eyebrow {
    margin-bottom: 15px;
    color: var(--alp-cyan);
    grid-column: 1;
    grid-row: 1;
}

.alp-project-work-head h2 {
    max-width: 560px;
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.045em;
    grid-column: 1;
    grid-row: 2;
}

.alp-project-work-head h2 span {
    color: var(--alp-cyan);
}

.alp-project-work-head>div {
    margin-top: 0;
    padding-left: 26px;
    border-left: 1px solid rgba(37, 184, 200, .35);
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
    line-height: 1.75;
    grid-column: 2;
    grid-row: 1 / span 2;
}

.alp-project-work-head p:last-child {
    margin-bottom: 0;
}

.alp-project-work-head>div p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: inherit !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

.alp-project-work-item {
    display: grid;
    align-items: center;
    min-height: 100px;
    padding: 16px 18px;
    background: var(--alp-navy);
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
}

.alp-project-work-list {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-right: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    border-left: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .12);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
}

.alp-project-work-item:last-child:nth-child(3n+1) {
    grid-column: 1 / -1;
}

.alp-project-work-item:last-child:nth-child(3n+2) {
    grid-column: span 2;
}

.alp-project-work-item>div {
    min-width: 0;
}

.alp-project-work-icon {
    display: grid;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border: 1px solid rgba(37, 184, 200, .35);
    border-radius: 50%;
    background: rgba(37, 184, 200, .1);
    place-items: center;
}

.alp-project-work-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.alp-project-work-item h3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 4px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.alp-project-work-item p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.alp-related-projects {
    background: var(--alp-mist);
}

.alp-related-project-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.alp-related-project-card {
    display: block;
    border: 1px solid #d6e1df;
    background: #fff;
    color: var(--alp-ink) !important;
    text-decoration: none !important;
    transition: transform .3s ease, box-shadow .3s ease;
}

.alp-related-project-card:hover {
    box-shadow: 0 18px 40px rgba(7, 31, 43, .1);
    transform: translateY(-5px);
}

.alp-related-project-image {
    position: relative;
    display: block;
    height: 250px;
    overflow: hidden;
}

.alp-related-project-image img {
    transition: transform .5s ease;
}

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

.alp-related-project-image b {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    width: 34px;
    height: 34px;
    background: #fff;
    color: var(--alp-ink);
    font-size: 10px;
    place-items: center;
}

.alp-related-project-copy {
    position: relative;
    display: flex;
    min-height: 106px;
    padding: 22px 58px 22px 22px;
    flex-direction: column;
    justify-content: center;
}

.alp-related-project-copy small {
    margin-bottom: 7px;
    color: #159cae;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .13em;
}

.alp-related-project-copy strong {
    font-size: 17px;
    line-height: 1.25;
}

.alp-related-project-copy .alp-arrow-icon {
    position: absolute;
    top: 26px;
    right: 22px;
    width: 11px;
    height: 11px;
}

@media (max-width: 991px) {
    .alp-project-detail-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }
    .alp-project-detail-summary {
        max-width: 660px;
    }
    .alp-project-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .alp-project-lightbox-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .alp-project-work-panel {
        padding: 42px;
    }
    .alp-project-work-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1px;
    }
    .alp-project-work-item:last-child:nth-child(3n+1),
    .alp-project-work-item:last-child:nth-child(3n+2) {
        grid-column: auto;
    }
    .alp-related-project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .alp-project-detail-hero>.alp-container,
    .alp-project-detail-content>.alp-container,
    .alp-related-projects>.alp-container {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }
    .alp-project-detail-hero {
        padding: 34px 0 38px;
    }
    .alp-project-detail-heading {
        margin-top: 30px;
    }
    .alp-project-detail-heading h1 {
        font-size: 44px;
    }
    .alp-project-detail-summary {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
    }
    .alp-project-detail-meta {
        grid-template-columns: 1fr;
    }
    .alp-project-detail-meta>div,
    .alp-project-detail-meta>div+div {
        padding: 14px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        border-left: 0;
    }
    .alp-project-detail-content {
        padding-top: 48px;
        padding-bottom: 52px;
    }
    .alp-project-lightbox-gallery,
    .alp-project-work-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    .alp-project-lightbox-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: auto;
    }
    .alp-project-gallery-item,
    .alp-project-gallery-item--featured {
        aspect-ratio: 4 / 5;
        height: auto;
        grid-column: auto;
        grid-row: auto;
    }
    .alp-project-gallery-caption {
        display: none;
    }
    .alp-project-gallery-item:not(.alp-project-gallery-item--featured) .alp-project-gallery-zoom {
        right: 12px;
        bottom: 12px;
    }
    .alp-project-work-panel {
        padding: 32px 24px 18px;
    }
    .alp-project-work-head {
        display: block;
        padding-bottom: 24px;
    }
    .alp-project-work-head>div {
        margin-top: 18px;
        padding-left: 0;
        border-left: 0;
    }
    .alp-project-work-list,
    .alp-related-project-grid {
        grid-template-columns: 1fr;
    }
    .alp-project-work-item {
        min-height: 92px;
        padding: 14px 0;
    }
    .alp-related-project-image {
        height: 270px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .alp-project-gallery-item img,
    .alp-related-project-card,
    .alp-related-project-image img {
        transition: none !important;
    }
}