/*
Theme Name: Draw Creative
Author: James Elliott
Description: Draw Creative Bespoke Theme
Version: 1.0
*/

*, *::before, *::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow-x: hidden;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    line-height: 1.5rem;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    background: transparent;
    overflow-x: clip;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

input, button, textarea, select {
    font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

a {
    color: inherit;
    text-decoration: none;
}

#root, #app {
    isolation: isolate;
}

.page-wrapper {
    position: relative;
    min-height: 100vh;
}

.main-content {
    position: relative;
    z-index: 10;
}

header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
}

.burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 30px;
    height: 24px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001;
}

.burger span {
    display: block;
    height: 3px;
    width: 100%;
    background: white;
    border-radius: 2px;
    transition: 0.3s ease;
}

body.page-id-15 .single-column-section.has-buttons-below h1 {
    margin-bottom: 100px;
}

.burger.open span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 6px);
}

.burger.open span:nth-child(2) {
    opacity: 0;
}

.burger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

.site-logo {
    display: flex;
    align-items: center;
}

.site-logo img {
    height: auto;
    display: block;
    transition: all 0.3s ease;
}

.site-navigation {
    display: flex;
    align-items: center;
}

.site-navigation .menu,
.site-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}

.site-navigation a {
    font-family: 'VisbyCF', sans-serif;
    font-weight: 400;
    font-size: 1.4rem;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.site-logo.over-invert,
.site-navigation.over-invert, .burger.over-invert {
    filter: invert(1);
    transition: filter 0.3s ease;
}

.full-header {
    width: 100%;
    overflow: hidden;
}

#architectural-interior-design, #architectural-interior-design .video-wrapper, #branding, #branding .hero-image-container {
    max-height: 1400px;
}

#branding, #architectural-interior-design {
    scroll-margin-top: -40px;
}

body.home .fixed_header_scroll .full-header {
    max-height: 1000px;
}

.full-header.fixed_in_place {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    transition: opacity 0.5s ease, z-index 0.5s ease;
    padding-top: 0;
}

.for_mobile.full-header.fixed_in_place {
    aspect-ratio: 1/1;
}

body.home .for_mobile.full-header.fixed_in_place {
    aspect-ratio: 12/15;
}

.full-header img {
    width: 100%;
}

.full-header video {
    width: 100%;
    height: auto;
    display: block;
}

.full-header .container {
    padding: 0;
    max-width: 100%;
    width: 100%;
}

.full-header.fixed_in_place.header-out {
    height: 0;
    z-index: 0;
    pointer-events: none;
}

body:not(.page-ready) .site-footer {
    opacity: 0 !important;
    pointer-events: none;
}

body.page-ready .site-footer {
    opacity: 1;
    transition: opacity 0.4s ease;
}

section {
    background-color: #f4f2ef;
    padding-top: 40px;
    padding-bottom: 40px;
}

body.single-project section {
    background-color: #f4f2ef;
}

.single-column-section, .project-columns-section {
    background-color: #f4f2ef;
    text-align: center;
}

.project-columns-section, .cb.cb--text-image {
    background-color: #f4f2ef;
}

.fixed_header_scroll {
    z-index: 9999;
    position: relative;
    background-color: transparent;
}

.page-id-15 .fixed_header_scroll {
    padding-top: 0;
}

.project-columns-section {
    text-align: left;
    padding: 40px;
    z-index: 2;
}

.gravity_form {
    padding: 0 0 180px;
}

.single-column-section.has-buttons-below {
    padding: 180px 20px 30px;
}

.single-column-section .container, .single .container, .project-carousel .container,
.archive-section .container {
    max-width: 1250px;
    margin: 0 auto;
}

.single .container {
    max-width: 100%;
    color: #000000;
}

h1, h2 {
    color: #000;
    margin-bottom: 60px;
}

.cookie_button {
    background-color: #d89b8e;
    color: #000;
    padding: 5px 10px;
    margin-left: 20px;
    border: none;
    border-radius: 6px;
    font: 700 14px/1.6 'VisbyCF', sans-serif;
    cursor: pointer;
}

body.post-type-archive-news h1, h2 {
    font: 700 3rem/1.6 'VisbyCF', sans-serif;
    text-align: center;
}

body.page-id-1546 p + h2 {
    margin: 30px 0 10px;
}

body.post-type-archive-news .site-logo img {
    filter: invert(1);
}

.single-column-section .circled {
    display: inline-block;
    position: relative;
}

.single-column-section .circled::after {
    content: '';
    position: absolute;
    left: -10px;
    right: -10px;
    top: 50%;
    bottom: 0;
    border: 2px solid #000;
    border-radius: 999px;
    transform: translateY(-50%);
    pointer-events: none;
}

.single-column-section p, .project-carousel p, .archive-section .container p {
    font: 400 1.2rem/1.6 'VisbyCF', sans-serif;
    color: #000;
    margin-bottom: 15px;
}

.archive-section .container p {
    text-align: center;
}

.single-column-section .cta-link {
    font: 500 1.4rem/1.6 'VisbyCF', sans-serif;
    color: #000;
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

.single-column-section .cta-link:hover {
    opacity: 0.7;
}

.scribble-wrapper {
    position: relative;
    display: inline-block;
}

.scribble-trigger {
    position: relative;
    display: inline-block;
}

.scribble__icon {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

.scribble__icon--3 {
    width: 110%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.2);
    stroke: #000;
    stroke-width: 6;
    z-index: 1;
}

.archive-section, .single-post-section {
    position: relative;
    z-index: 99;
    background-color: #f4f2ef;
}

.project-gallery {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    display: block;
}

.project-col--left {
    min-width: 0;
    position: relative;
}

.project-gallery.owl-carousel {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
}

.project-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 120px;
}

.project-item img {
    width: 100%;
    height: auto;
    display: block;
}

.project-item h3, .project-item h4 {
    font: 700 1.3rem / 1.5 'VisbyCF', sans-serif;
    margin: 10px 0 0;
}

.project-item h4 {
    font: 700 1.1rem / 1.5 'VisbyCF', sans-serif;
    margin: 0 0 10px;
}

.project-grid .project-item a{display:block;text-decoration:none;color:inherit}
.project-thumb{overflow:hidden;aspect-ratio:1/1;background:#eee;margin:0 0 12px}
.project-thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:center;transition:transform 1.5s ease;display:block;will-change:transform}
.project-item:hover .project-thumb img,
.project-item a:focus-visible .project-thumb img{transform:scale(1.15)}
@media (prefers-reduced-motion:reduce){.project-thumb img{transition:none}}

.news-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    grid-template-areas:
    "side_one main"
    "side_two main"
    "supporting main";
    align-items: start;
    margin-top: 120px;
}

.news-item {
    position: relative;
    overflow: hidden;
}

.news-item.side_one { grid-area: side_one; align-self: start; }
.news-item.side_two { grid-area: side_two; align-self: start; }
.news-item.supporting { grid-area: supporting; align-self: start; }
.news-item.main { grid-area: main; align-self: stretch; }

.news-item img {
    width: 100%;
    height: auto;
    display: block;
}

.news-item.main {
    min-height: 800px;
}

@media (max-width: 1279px) {
    .news-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
      "main"
      "side_one"
      "side_two"
      "supporting";
    }
    .news-item.main {
        min-height: auto;
    }
    .project-intro_heading br, .body-text p br {
        display: none;
    }
    body .ti-two-cols__img {
        height: 100%;
        object-fit: cover;
    }
    .ti-two-cols__quote, .project-intro_heading p {
        font: 500 4.5rem/1.2 "orpheuspro", serif;
    }
    .project_meta{
        max-width: 100%;
    }
    .ti-two-cols__col--image {
        height: 100%;
    }

}
.ti-two-cols:nth-of-type(1) .ti-two-cols__col--image {
    background-image: url('https://cool-gates.77-68-2-201.plesk.page/wp-content/uploads/jess-and-chris.jpg');
    background-size: cover;
    background-position: center;
}

@media (min-width: 900px) and (max-width: 1279px) {
    .ti-two-cols:nth-of-type(1) .ti-two-cols__col--image {
        background-image: url('https://cool-gates.77-68-2-201.plesk.page/wp-content/uploads/jess-and-chris-tablet.jpg');
    }
    body .ti-two-cols:nth-of-type(1) .ti-two-cols__img {
        display: none;
    }
}

@media (min-width: 1280px) {

    .project-intro_heading {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    .ti-two-cols__quote p {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    .project_meta{
        max-width: 70%;
    }

}

.news-thumb img {
    width: 100%;
}

.news-item.side_one,
.news-item.side_two {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
}

.news-item.side_one .news-thumb,
.news-item.side_two .news-thumb {
    flex: 0 0 48%;
    margin: 0;
}

.news-item.side_one img,
.news-item.side_two img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.news-item.side_one .text-content,
.news-item.side_two .text-content {
    flex: 1 1 auto;
    max-width: 50%;
}

.news-item.side_one h3, .news-item.side_two h3, .news-item.side_two h3 {
    margin: 0 0 0.5rem;
}

.news-item.side_one a,
.news-item.side_two a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4%;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

@media (max-width: 1708px) {
    .news-item.side_one a, .news-item.side_two a {
        flex-direction: column;
        align-items: flex-start;
    }

    .news-item.side_one .news-thumb, .news-item.side_two .news-thumb {
        flex: 0 0 auto;
        width: 100%;
    }

    .news-item.side_one .text-content, .news-item.side_two .text-content {
        max-width: 100%;
    }
}

.news-item .text-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    text-align: left;
}

.news-item.supporting .text-content, .news-item.main .text-content {
    margin-top: 30px;
}

.news-item h2 {
    font: 700 2rem/1.2 'VisbyCF', sans-serif;
    margin: 0;
    text-align: left;
}

.news-item.standard .text-content {
    text-align: center;
}

.news-item.standard h2 {
    font: 700 2rem/1.2 'VisbyCF', sans-serif;
    text-align: center;
}

.news-carousel__track .news-item .news-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.news-carousel__track .news-item .news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.news-item p, .news-item .read-more {
    font: 400 1.2rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
    margin-bottom: 15px;
    margin-top: 0.5rem;
}

.news-item .read-more {
    display: inline-block;
    margin-top: 0.5rem;
    text-decoration: underline;
}

.news-carousel, .project-carousel {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding: 0;
}

.project-carousel__track {
    margin-top: 110px;
}

.news-carousel__track {
    margin-top: 0;
}

.news-carousel .container h2 {
    padding: 120px 0 0;
}

.news-carousel__track, .news-carousel__item,
.project-carousel__track, .project-carousel__item {
    width: 100%;
}

.owl-nav button span {
    display: none;
}

.news-carousel .owl-nav, .project-carousel .owl-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
    padding: 0 30px;
}

.news-carousel .owl-nav button, .project-carousel .owl-nav button {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    pointer-events: auto;
    cursor: pointer;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.4) !important;
    transition: background-color 0.2s ease;
}

.news-carousel .owl-nav button.owl-prev, .project-carousel .owl-nav button.owl-prev {
    background-image: url('https://cool-gates.77-68-2-201.plesk.page/wp-content/uploads/arrow-left.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 16px;
}

.news-carousel .owl-nav button.owl-next, .project-carousel .owl-nav button.owl-next {
    background-image: url('https://cool-gates.77-68-2-201.plesk.page/wp-content/uploads/arrow-right.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 16px;
}

.owl-prev {
    color: white;
}

.owl-prev:hover {
    color: #aaa;
}

.news-carousel__item, .project-carousel__item {
    position: relative;
    display: block;
    overflow: hidden;
}

.news-carousel__overlay, .project-carousel__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
    z-index: 2;
    pointer-events: none;
}

.news-carousel__track .item img, .project-carousel__item img {
    aspect-ratio: 1 / 1;
}

.news-carousel__title, .project-carousel__title {
    font: 600 1.2rem 'VisbyCF', sans-serif;
    color: white;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    text-align: center;
    pointer-events: none;
}

.news-carousel__item:hover .news-carousel__overlay, .project-carousel__item:hover .project-carousel__overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.news-carousel__item:hover .news-carousel__title, .project-carousel__item:hover .project-carousel__title {
    opacity: 1;
    transform: translateY(0);
}

.project-columns-section h1, .related-projects__heading {
    font: 700 3rem/1.6 'VisbyCF', sans-serif;
    margin: 0 0 80px;
}

.project-hero{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 48px;
    align-items:start;
}

.project-brand{
    margin:0 0 12px;
}

.project_meta{
    display:grid;
    grid-template-columns: 120px 1fr;
    gap: 8px 20px;
    margin: 8px 0 20px;
    font-size: 14px;
    line-height: 1.6;
}

.project_meta dt{
    margin:0;
    font: 400 1.3rem / 1.6 'VisbyCF', sans-serif;
    color:#000;
    white-space:nowrap;
}

.project_meta dd{
    margin:0;
    font: 400 1.3rem / 1.6 'VisbyCF', sans-serif;
    color:#000;
    word-break:break-word;
}

.project-figure{
    margin: 0;
    margin-top: var(--img-offset, clamp(72px, 12vw, 220px));
    overflow: hidden;
}

.project-figure_img{
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 960px){
    .project-figure{ margin-top: 100px; }
}

.project-intro_heading{
    text-align: left;
    margin: 0 0 40px;
}

.project-intro_text {
    color: #000;
}

.project-intro_text h3, .cb--text-image .cb_rich h3 {
    font: 700 1.6rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
    margin-bottom: 10px;
}

.cb--text-image .cb_rich p + h3 {
    margin-top: 60px;
}

.project-intro_text p, .cb--text-image .cb_rich p, .main-content ul li {
    font: 400 1.2rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
    margin-bottom: 20px;
}

.main-content ul li {
    margin-bottom: 10px;
}

.main-content ul {
    padding-left: 20px;
}

@media (max-width: 960px){
    .project-hero{ grid-template-columns: 1fr; }
    .project-figure{ order:3; }
}

.cb--full-width-image {
    margin: 0;
    padding-top: 40px;
}

.cb--full-width-image .cb_image {
    display:block;
    width:100%;
    height:auto;
}

.cb--text-image {
    padding-left: 40px;
    padding-right: 40px;
}

.project-content {
    padding: 0;
}

.cb--text-image .cb_inner{
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 48px;
}

.cb--text-image .cb_text{
    order: 1;
    padding-top: 80px;
    padding-bottom: 80px;
}

.cb--text-image .cb_media{ order: 2; margin: 0; overflow: hidden; }

.cb--text-image.is-flipped .cb_text{ order: 2; }
.cb--text-image.is-flipped .cb_media{ order: 1; }

.cb--text-image .cb_heading{
    margin: 0 0 14px;
    line-height: 1.2;
    text-align: left;
}

.cb--text-image .cb_rich p{ margin: 0 0 12px; }

.cb--text-image .cb_img{
    display: block;
    width: 100%;
    height: auto;
}

.cb--full-width-image-gallery {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.full-width-gallery-slider .gallery-slide {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.full-width-gallery-slider .gallery-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 960px){
    .cb--text-image .cb_inner{ grid-template-columns: 1fr; gap: 18px; }
    .cb--text-image.is-flipped .cb_text,
    .cb--text-image .cb_text{ order: 2; }   /* always show image first, then text, if you prefer swap these */
    .cb--text-image.is-flipped .cb_media,
    .cb--text-image .cb_media{ order: 1; }
}

.footer-section {
    padding: 40px 0;
}

.page-id-21 .footer-section, .page-id-28 .footer-section {
    padding: 120px 0 40px;
}

.footer-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-logo img {
    width: auto;
    height: 60px;
}

.footer-socials a {
    display: inline-block;
    margin-left: 12px;
    transition: opacity 0.3s ease;
}

.page-id-21 .footer-socials img, .page-id-28 .footer-socials img {
    filter: invert(1);
}

.footer-socials a:hover {
    opacity: 0.7;
}

.site-footer {
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 700px;
    background: #2d363b;
    color: white;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: z-index 0.3s, pointer-events 0.3s;
}

.site-footer.visible {
    transform: translateY(0);
    z-index: 100;
    pointer-events: auto;
}

.footer-bg {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: #2d363b;
    z-index: 0;
    pointer-events: none;
}

.footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}

.footer-inner p a {
    text-decoration: underline;
}

.site-footer h1,
.footer-subtitle,
.footer-cta,
.footer-socials {
    margin: 0;
}

.footer-subtitle {
    font: 400 1rem 'VisbyCF', sans-serif;
    max-width: 500px;
    line-height: 1.6;
}

.footer-cta {
    font: 600 1rem 'VisbyCF', sans-serif;
    color: white;
    text-decoration: underline;
}

.footer-socials {
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
    position: fixed;
    bottom: 30px;
    right: 30px;
}

.footer-section .footer-socials {
    position: sticky;
    right: 40px;
}

.footer-section .footer-logo {
    padding-left: 40px;
}

.site-footer .icon {
    width: 50px;
    height: 54.3988px;
    position: fixed;
    bottom: 30px;
    left: 30px;
}

.site-footer .icon:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
}

.site-footer h1 {
    color: white;
    font: 600 3rem 'VisbyCF', sans-serif;
    margin: 0 0 10px;
}

.footer-animation-trigger {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
}

.scribble__icon--footer path {
    stroke: white;
}

.site-footer p {
    font: 400 1.3rem/1.6 'VisbyCF', sans-serif;
    color: white;
    margin-top: 1rem;
}

.acf-buttons {
    display: flex;
    justify-content: center;
    gap: 6rem;
    flex-wrap: wrap;
}

.page-id-15 .acf-buttons {
    padding-bottom: 100px;
}

.acf-button {
    display: inline-block;
    padding: 0.8rem 1.6rem;
    background: white;
    color: black;
    border-radius: 9999px;
    text-decoration: none;
    font: 600 1.3rem 'VisbyCF', sans-serif;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    margin: 0 1rem;
}

.acf-button:hover {
    background: #eaeaea;
}

.video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
}

.text-overlay {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    color: white;
    text-align: center;
    padding: 1rem;
}

.video-sound-toggle {
    width: 130px;
    height: 60px;
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.icon-sound {
    position: absolute;
    height: 100%;
    display: none;
    object-fit: contain;
}

.icon-sound.active {
    display: block;
}

body.page-id-28 .single-column-section .body-text p:first-of-type {
    margin-bottom: 40px;
}

body.page-id-28 .single-column-section .body-text p a {
    font: 700 1.4rem / 1.6 'VisbyCF', sans-serif;
}

body.page-id-28 .hero-image-wrapper{
    position: relative;
    height: 100svh;
    overflow: hidden;
}

body.page-id-28 .ginput_container.ginput_container_select {
    background: transparent url('https://cool-gates.77-68-2-201.plesk.page/wp-content/themes/drawcreative-minimal-theme/assets/icons/dropdown.svg') no-repeat center right;
    background-size: 14px 7px;

}
body.page-id-28 .hero-image-wrapper .hero-image-container{
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100svh;
    z-index: 0;
    pointer-events: none;
}

body.page-id-28 .hero-image-wrapper .hero-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-wrapper {
    position: relative;
    z-index: 0;
}

body.page-id-28 .page-wrapper,
body.page-id-28 .main-content section {
    position: relative;
    z-index: 1;
}

body.page-id-28 .hero-image-wrapper .hero-image-container{z-index:0}
body.page-id-28 .hero-image-wrapper .hero-image-container.below-footer{z-index:-1}
body.page-id-28 .site-footer, body.page-id-21 .site-footer{display: none;}
body.page-id-28 .site-footer.visible{pointer-events:auto;z-index:10}

body.page-id-28 .main-content {
    padding-bottom: 0;
}

.hero-image-wrapper {
    width: 100%;
    position: relative;
}

.hero-image-container {
    width: 100%;
    position: relative;
    display: block;
    overflow: hidden;
}

.hero-image-container img.hero-image {
    width: 100%;
    display: block;
    height: auto;
}

.hero-image-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.hero-image-text {
    width: 100%;
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    padding: 1rem;
    max-width: 90%;
}

.services-list-section {
    padding: 4rem 1rem;
    text-align: center;
}

.services-list-inner {
    max-width: 700px;
    margin: 0 auto;
}

.main-content ul.services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.services-list .service-item {
    font: 600 1.4rem 'VisbyCF', sans-serif;
    margin: 0.5rem 0;
    cursor: pointer;
    overflow: hidden;
    transition: background 0.3s ease;
}

.service-item p {
    max-height: 0;
    overflow: hidden;
    margin: 12px 0;
    transition: max-height 1.6s ease, opacity 1s ease;
    opacity: 0;
    padding-left: 5px;
    font: 400 1.2rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
}

.service-item.active p {
    max-height: 200px;
    opacity: 1;
    margin: 12px 0;
}

section.single-column-section + section.word-block {
    padding: 0 0 90px;
}

.word-block__arrow {
    display: none;
}

.word-block__wrapper {
    display: flex;
    gap: 3rem;
    max-width: 860px;
    margin: 0 auto;
    padding: 100px 0;
    align-items: flex-start;
}

.word-block__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: right;
    font: 700 3rem 'VisbyCF', sans-serif;
    flex-shrink: 0;
}

.lottie-icon {
    max-width: 140px;
}

.main-content ul.word-block__menu li {
    opacity: 0.3;
    font-weight: 700;
    font-size: unset;
    margin: 0;
    cursor: pointer;
    transition: opacity 0.3s, font-weight 0.3s;
}

.main-content ul.word-block__menu li.active {
    opacity: 1;
    color: #000;
}

.word-block__content-wrapper {
    flex: 1;
    border-left: 1px solid black;
    padding-left: 60px;
}

.word-block__content {
    display: none;
}

.word-block__content.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.word-block__icon img {
    width: 80px;
    margin-bottom: 1rem;
}

.word-block__text-area {
    font: 400 1.2rem/1.6 'VisbyCF', sans-serif;
}

.word-block__heading {
    margin-top: 1rem;
}

.word-block__list {
    list-style: disc;
    margin: 1rem 0 0;
    padding: 0;
}

.word-block__link {
    display: inline-block;
    margin-top: 1rem;
    text-decoration: underline;
}

.ti-two-cols{padding:40px 0}

body.page-id-21 .fixed_header_scroll .ti-two-cols:nth-of-type(1) {
    padding-top: 80px;
}
.ti-two-cols__inner{max-width:100%;margin:0 auto;padding:0 40px}
.ti-two-cols__grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
.ti-two-cols__heading{font: 700 3rem / 1.6 'VisbyCF', sans-serif;margin:0 0 3rem;text-align:left;}
.ti-two-cols__body{margin:0 0 1rem;font: 400 1.2rem / 1.6 'VisbyCF', sans-serif;}
.ti-two-cols__body p {margin: 0 0 1rem;}
.ti-two-cols__body p:last-child {margin-bottom: 0;}
.ti-two-cols__quote{max-width: 860px;margin:4rem 0;}
.ti-two-cols__cta .btn{display:inline-block;padding:.75rem 1.2rem;border:1px solid currentColor;text-decoration:none}
.ti-two-cols__img{display:block;width:100%;height:auto}
@media (min-width:900px){
    .ti-two-cols__grid{grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px)}
    .ti-two-cols__col--image{order:1;}
    .ti-two-cols__col--text{order:2; padding-left: 0; padding-right: 40px;}
    .ti-two-cols.swap .ti-two-cols__col--image{order:2}
    .ti-two-cols.swap .ti-two-cols__col--text{order:1; padding-left: 19%; padding-right: 19%;}
}

.clients{padding:150px 0 200px}
.clients__inner{max-width:1600px;margin:0 auto;padding:0 20px;text-align:center}
.clients__title{margin:0 0 140px;color:inherit;}
.clients__intro{max-width:760px;margin:0 auto 2rem;color:inherit}
.clients__grid{
    list-style:none;margin:0;padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:44px;
    align-items:center;
    justify-items:center
}
.clients__item{
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:.9;
    transition:opacity .2s ease;
    height:72px
}

.clients__item:hover{opacity:1}
.clients__logo{
    max-height:92px;
    max-width:240px;
    width:auto;
    height:auto;
    display:block;
    filter:contrast(0) brightness(2)
}

@media(max-width:500px){
    body .clients__grid{grid-template-columns:repeat(1,1fr);
    padding-left: 0;}
}

@media(max-width:1279px){
    .clients__grid{grid-template-columns:repeat(2,1fr)}
    .clients__item{height:60px}
    .clients__logo{max-height:40px}

    .clients__grid {
        gap: 44px 0;
    }

}

@media(min-width:1280px){
    .clients__grid{grid-template-columns:repeat(4,1fr)}
    .clients__item{height:72px}
    .clients__logo{max-height:50px;}
    .clients__grid{
        gap:44px;
    }
}

.interactive_map {
    padding: clamp(40px, 6vw, 80px) 0;
    background-color: #f4f2ef;
}

.dc-map, .dc-legend {
    background-color: #f4f2ef;
}

.gravity_form { display:block; }
.gravity_form .container {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.gravity_form .gform_wrapper input:focus,
.gravity_form .gform_wrapper select:focus,
.gravity_form .gform_wrapper textarea:focus,
.gravity_form .gform_wrapper button:focus {
    outline: none !important;
    box-shadow: none !important;
}

.gravity_form .gform_wrapper .ginput_container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.gravity_form .gform_wrapper .ginput_container select {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #111 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    font: 400 1rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
}

.gravity_form .gform_wrapper .ginput_container input:focus,
.gravity_form .gform_wrapper .ginput_container select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-bottom-color: #000 !important;
}

.gravity_form .gform_wrapper .ginput_container textarea {
    border: 1px solid #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px !important;
    resize: vertical;
    font: 400 1rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
}

.gravity_form .gform_wrapper ::placeholder {
    font: 400 1rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
    opacity: 1;
}

body.page-id-28 .gform_wrapper .gform_footer {
    text-align: center;
    justify-content: center;
}

body.page-id-28 #gform_submit_button_2,
body.page-id-28 .gform_wrapper .gform_footer .gform_button.button {
    display: inline-block;
    padding: 0.8rem 1.6rem;
    background: white;
    color: black;
    border-radius: 9999px;
    text-decoration: none;
    font: 600 1.3rem 'VisbyCF', sans-serif;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    margin: 0 1rem;
}

body.page-id-28 #gform_submit_button_2:hover,
body.page-id-28 .gform_wrapper .gform_footer .gform_button.button:hover {
    transform: translateY(-1px);
}

body.page-id-28 #gform_submit_button_2:active,
body.page-id-28 .gform_wrapper .gform_footer .gform_button.button:active {
    transform: translateY(0);
}

body.page-id-28 #gform_submit_button_2:focus-visible,
body.page-id-28 .gform_wrapper .gform_footer .gform_button.button:focus-visible {
    outline: none;
}

.project-video,
.project-gallery {
    transform: translateY(var(--img-offset, 0));
    transition: transform 0.4s ease;
}

.project-video {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f2ef;
}

.project-video video {
    width: 100% !important;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    display: block;
}

.project-video video {
    aspect-ratio: 1/1;
}

.cb--image-grid {
    width: 100%;
}

.image-grid__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 auto;
}

.image-grid__right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
}

.image-grid__tile {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f0f0f0;
}

.image-grid__tile--0 {
    grid-row: 1 / span 2;
    grid-column: 1 / 2;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.image-grid__tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.image-grid__tile:not(:has(.tile-slider)):hover img {
    transform: scale(1.05);
}

.tile-slider,
.tile-slider .owl-stage-outer,
.tile-slider .owl-stage,
.tile-slider .owl-item,
.tile-slider .tile-slide {
    width: 100%;
    height: 100%;
    position: relative;
}

.tile-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tile-slider .owl-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
}

.tile-slider .owl-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transition: background 0.3s;
}

.tile-slider .owl-dot.active {
    background: white;
}

/* === RESPONSIVE === */
@media (max-width: 900px) {
    .image-grid__wrapper {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .image-grid__tile--0 {
        grid-row: auto;
        grid-column: auto;
        aspect-ratio: 1 / 1;
    }
}

.related-projects {
    background: #f4f2ef;
    padding: 40px 0 80px;
    text-align: center;
}

.related-projects__inner {
    margin: 0 auto;
    padding: 60px 0 0;
}

.related-projects__heading {
    font-size: 2.5rem;
}

.related-projects__carousel .related-projects__item {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.related-projects__carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    aspect-ratio: 1/1;
}

.related-projects__item:hover img {
    transform: scale(1.05);
}

.related-projects__overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
    color: white;
    padding: 20px;
    text-align: left;
}

.related-projects__overlay h3 {
    font: 400 1rem / 1.6 'VisbyCF', sans-serif;
    margin: 0;
}

.related-projects__cta {
    margin-top: 40px;
}

.btn-view-more {
    font: 400 1.6rem / 2 'VisbyCF', sans-serif;
    text-decoration: none;
    color: #000;
    border-bottom: 1px solid #000;
    transition: color 0.3s, border-color 0.3s;
}

.btn-view-more:hover {
    color: #666;
    border-color: #666;
}

/* Owl nav controls (optional) */
.related-projects .owl-dots {
    margin-top: 20px;
}

.related-projects .owl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0,0,0,0.3);
    margin: 0 4px;
    transition: background 0.3s;
}

.related-projects .owl-dot.active {
    background: #000;
}

.image-grid-rows {
    width: 100%;
    background: #f4f2ef;
}

.image-grid-rows__wrapper {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.image-grid-rows__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.image-grid-rows__tile {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #eee;
}

.image-grid-rows__tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* Hover zoom for single images only */
.image-grid-rows__tile:not(:has(.tile-slider)):hover img {
    transform: scale(1.05);
}

/* Slideshow handling */
.tile-slider,
.tile-slider .owl-stage-outer,
.tile-slider .owl-stage,
.tile-slider .owl-item,
.tile-slider .tile-slide {
    width: 100%;
    height: 100%;
    position: relative;
}

.tile-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Dots */
.tile-slider .owl-dots {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
}

.tile-slider .owl-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transition: background 0.3s;
}

.tile-slider .owl-dot.active {
    background: white;
}


.tst {
    --tst-bg:#dcd7d3;--tst-ink:#111;--tst-muted:#6a6a6a;--tst-white:#fff;
    background:var(--tst-bg);color:var(--tst-ink);padding:76px 0 96px;
}
.tst__inner{max-width:1200px;margin:0 auto;padding:0 clamp(16px,3vw,32px);}
.tst__head{
    text-align:center;
    margin-bottom:60px;
}
.tst h2{margin:0 0 10px;}
.tst__intro{margin:0;font: 700 2rem / 1.6 'VisbyCF', sans-serif;text-align: center;}
.tst__carousel .tst__slide{
    display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(24px,5vw,64px);
    align-items:center;padding:clamp(16px,3vw,24px);
}
.st0, .cls-1 {
    fill: #fff;
}
.tst__figure{margin:0;box-shadow:0 0 0 10px var(--tst-white);}
.tst__figure img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
    filter:grayscale(100%);
}
.tst__copy{position:relative;}
.tst__name,.tst__role{font: 400 1.4rem / 1.6 'VisbyCF', sans-serif;color: #000;}

.tst__quote {
    font: 400 1.3rem / 1.6 'VisbyCF', sans-serif;
    color: #000;
    margin-bottom: 0;
}
.tst__name{
    margin: 32px 0 0;
    font-weight:700;
}

.tst__quote {
    position: relative;
    padding: 32px 80px;

}
.tst__quote-icon {
    margin: 0;
    position: relative;
    width: fit-content;
}

.tst__quote-icon--top {
    top: 67px;
    left: -14px;
}

.tst__quote-icon--bottom {
    bottom: 67px;
    left: 78%;
}

.owl-carousel .owl-item .tst__quote-img {
    width: 80px;
    height: auto;
    transform: rotate(180deg);
}

.owl-carousel .owl-item .tst__quote-img.tst__quote-img--rotate {
    transform: rotate(0deg);
}
@media (max-width: 860px) {
    .tst__quote {
        padding: 32px 10px;
        z-index: 3;
    }
    .tst__quote-icon--top {
        top: 17px;
    }
    .tst__quote-icon--bottom {
        bottom: 17px;
    }
    .tst__figure img{
        aspect-ratio: 1/1;
    }

 }

.tst__figure,.tst__copy{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;}
.tst__slide.is-in .tst__figure{opacity:1;transform:none;transition-delay:.05s;}
.tst__slide.is-in .tst__copy{opacity:1;transform:none;transition-delay:.18s;}
.tst .owl-dots{display:flex;justify-content:center;gap:10px;margin-top:clamp(12px,2.4vw,28px);}
.tst .owl-dot span{width:15px;height:15px;display:block;border-radius:50%;background:rgba(255,255,255,1);transition:transform .2s ease,background-color .2s ease;}
.tst .owl-dot.active span{background:#000;transform:scale(1.05);}
@media (max-width:860px){
    .tst__carousel .tst__slide{grid-template-columns:1fr;gap:60px;}
    .tst__figure{max-width:420px;margin:0 auto;}
    .tst__copy::before{left:-2px;top:-10px;}
    .tst__copy::after{right:0;bottom:-6px;}
}

/* split in/out animations */
.tst__slide{ overflow:hidden; }
.tst__figure, .tst__copy{
    will-change: transform, opacity;
    opacity:0;
}

/* entering */
.tst__figure.in-left   { animation: tstInLeft  .6s ease forwards; }
.tst__copy.in-right    { animation: tstInRight .6s ease .12s forwards; }

/* leaving */
.tst__figure.out-left  { animation: tstOutLeft .45s ease forwards; }
.tst__copy.out-right   { animation: tstOutRight .45s ease forwards; }

@keyframes tstInLeft   { from{opacity:0; transform:translateX(-60px);} to{opacity:1; transform:none;} }
@keyframes tstInRight  { from{opacity:0; transform:translateX(60px);}  to{opacity:1; transform:none;} }
@keyframes tstOutLeft  { from{opacity:1; transform:none;}              to{opacity:0; transform:translateX(-80px);} }
@keyframes tstOutRight { from{opacity:1; transform:none;}              to{opacity:0; transform:translateX(80px);} }

.header-slideshow .slide {
    position: relative;
    overflow: hidden;
}

.header-slideshow .slide img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 900px) {
    .image-grid-rows__row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 699px) {

    .project-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

}

@media (min-width: 700px) and (max-width: 1023px) {

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

}

@media (max-width: 1023px) {

    .break_desktop {
        display: none;
    }

    .site-logo {
        z-index: 999;
    }

    .burger {
        display: flex;
        z-index: 999;
    }

    .site-navigation {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.9);
        flex-direction: column;
        width: 100vw;
        height: 100vh;
        align-items: center;
        padding-top: 160px;
        transform: translateY(-100%);
        opacity: 0;
        pointer-events: none;
        transition: all 0.3s ease;
        z-index: 998;
    }

    body.page-id-15 .site-navigation {
        background: rgba(255, 255, 255, 0.9);
    }

    .site-navigation.open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .site-navigation .menu,
    .site-navigation ul {
        flex-direction: column;
        gap: 20px;
    }

    .site-navigation li {
        text-align: center;
    }

    .site-navigation a {
        font-size: 1.4rem;
    }

    .word-block__wrapper {
        flex-direction: column;
        gap: 2rem;
        padding: 0;
    }

    .word-block__menu {
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        font-size: 2rem;
    }

    .main-content ul.word-block__menu {
        padding: 0;
    }

    .word-block__menu li {
        opacity: 1;
        font-weight: 600;
    }

    .word-block__menu li.active {
        font-weight: 700;
        color: #000;
    }

    .word-block__content-wrapper {
        width: 100%;
        border-left: none;
        padding: 0 30px;
    }

    .word-block__content {
        width: 100%;
    }

    .word-block__text-area {
        width: 100%;
    }

    .word-block__icon {
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
    }

    .word-block__trigger {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        position: relative;
    }

    .word-block__arrow {
        display: inline-block;
        width: 12px;
        height: 7px;
        opacity: 0.3;
        transition: transform 0.35s ease, opacity 0.25s ease;
    }

    .word-block__trigger.active .word-block__arrow {
        opacity: 1;
        transform: rotate(0deg);
    }

    .word-block__trigger:not(.active) .word-block__arrow {
        opacity: 0.3;
        transform: rotate(270deg);
    }

}

@media (orientation: portrait) {

    body.home .single-column-section h1 br {
        display: none;
    }
}

@media (min-width: 1024px) {
    .for_mobile {
        display: none;
    }

    .site-logo img {
        width: 185px;
    }

    .single-column-section, .project-columns-section {
        padding: 180px 40px;
    }

    h1 {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    body.page-id-1546 h1 {
        font: 500 3rem/1.2 "orpheuspro", serif;
    }

    body.page-id-1546 h2 {
        font: 700 1.7rem / 1.6 'VisbyCF', sans-serif;
    }

    .project-carousel h2 {
        padding: 80px 0 30px;
    }

    .text-overlay p, .hero-image-text p {
        font: 600 3rem 'VisbyCF', sans-serif;
    }

    .word-block__heading {
        font: 700 2rem/1.6 'VisbyCF', sans-serif;
    }

    .cb--text-image .cb_text{
        padding-left: 18%;
        padding-right: 18%;
    }

    .project-intro_heading {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    .icon-sound {
        width: 100%;
    }

    .clients__title{
        font:700 2.3rem/1.6 'VisbyCF',sans-serif;
    }

    body.page-id-21 .fixed_header_scroll .ti-two-cols:nth-of-type(2) {
        padding-top: 120px;
        padding-bottom: 160px;
    }

    .news-item.main h2 {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    .news-item .text-content {
        padding: 30px;
    }

    .gravity_form .gform_wrapper, .gravity_form .gform_wrapper form {
        max-width: 100%;
    }

    body.page-id-28 .hero-image-text p {
        font: 500 5.5rem/1.2 "orpheuspro", serif;
    }

    body.page-id-28 .single-column-section h1 {
        font: 700 3rem / 1.6 'VisbyCF', sans-serif;
    }

    .post-type-archive-project .burger span, .post-type-archive-news .burger span, .page-id-15 .burger span {
        background: black;
    }

    body.page-id-15 .burger.over-invert span {
        background: white;
    }

    .post-type-archive .site-navigation a, .page-id-15 .site-navigation a  {
        color: black;
    }

    .project-grid {
        gap: 3rem;
    }

    .project-col.project-col--right {
        padding-top: 100px;
    }

    .image-grid-rows {
        padding: 40px;
    }

    header {
        padding: 20px 40px;
    }

    .archive-section, .single-post-section {
        padding: 10rem 40px;
    }

}

@media (max-width: 1023px) {
    .for_desktop {
        display: none;
    }

    .site-logo img {
        width: 120px;
    }

    .single-column-section, .project-columns-section {
        padding: 100px 30px 80px;
    }

    .project-carousel .container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .project-carousel h2 {
        padding: 60px 0 30px;
    }

    header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        transition: transform 0.4s ease, opacity 0.4s ease;
    }

    header.header--hidden {
        transform: translateY(-100%);
        opacity: 0;
    }

    .text-overlay p, .hero-image-text p {
        font: 600 2.2rem 'VisbyCF', sans-serif;
    }

    .word-block__icon .lottie-icon {
        overflow: visible;
        max-width: 160px;
    }

    .word-block__heading {
        font: 700 1.6rem/1.6 'VisbyCF', sans-serif;
    }

    h1, body.page-id-28 .hero-image-text p {
        font: 500 4.5rem/1.2 "orpheuspro", serif;
    }

    .news-item.main h2, .project-intro_heading, .ti-two-cols__quote, .project-intro_heading p {
        font: 500 3.5rem/1.2 "orpheuspro", serif;
    }

    body.page-id-28 .single-column-section h1, .related-projects__heading, .news-item.standard h2,
    .clients__title, body.post-type-archive-news h1, h2, .interactive_map h2,
    .ti-two-cols__heading {
        font: 700 40px / 1.6 'VisbyCF', sans-serif;
    }

    .news-item.standard h2 {
        font: 700 30px / 1.4 'VisbyCF', sans-serif;
    }

    .full-header img.icon-sound {
        width: 70%;
    }

    .ti-two-cols__heading {
        padding-top: 30px;
    }

    body.page-id-21 .fixed_header_scroll .ti-two-cols:nth-of-type(2) {
        padding-top: 80px;
        padding-bottom: 160px;
    }

    body.page-id-21 .ti-two-cols__quote {
        margin-top: 90px;
        margin-bottom: 0;
    }

    .interactive_map {
        padding-top: 60px;
    }

    .news-item .text-content {
        padding: 30px 0;
    }

    .related-projects__carousel .news-item .text-content {
        padding: 30px;
    }

    body.post-type-archive-news h1 {
        margin-bottom: 0;
    }

    .news-grid {
        margin-top: 45px;
    }

    .gravity_form .gform_wrapper, .gravity_form .gform_wrapper form {
        max-width: 90%;
        margin: 0 auto;
    }

    .post-type-archive-project .burger span, .post-type-archive-news .burger span, .page-id-15 .burger span {
        background: black;
    }

    .post-type-archive .site-navigation a, .page-id-15 .site-navigation a  {
        color: black;
    }

    .post-type-archive .site-navigation {
        background: rgba(255, 255, 255, 0.9);
    }

    .post-type-archive .site-navigation a {
        color: black;
    }

    .post-type-archive .burger.open span {
        background: #000;
    }

    .image-grid-rows {
        padding: 40px 30px;
    }

    body.single-news .project-columns-section {
        padding: 60px 30px 80px;
    }

    header {
        padding: 20px 30px;
    }

    header.header-visible {
        background-color: rgba(0,0,0,0.7)
    }

    header.header-visible.over-invert {
        background-color: rgba(255,255,255,0.7)
    }

    .archive-section, .single-post-section {
        padding: 10rem 30px;
    }

    body.page-id-1546 h1 {
        font: 500 3rem/1.2 "orpheuspro", serif;
    }

    body.page-id-1546 h2 {
        font: 700 1.7rem / 1.3 'VisbyCF', sans-serif;
    }

    body.page-id-1546 .single-column-section {
        padding: 180px 30px 80px;
    }

}

@media (max-width: 500px) {
    .news-carousel .news-item {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 480px) {
    body h1, body h2 {
        font: 500 3.5rem / 1.2 "orpheuspro", serif;
    }
    body .single-column-section p, body .single-column-section .cta-link {
        font: 400 1.2rem / 1.6 'VisbyCF', sans-serif;
    }

    body.page-id-15 .body-text h2 {
        font: 700 2.2rem / 1.6 'VisbyCF', sans-serif;
    }
}