/* HEADER */

#masthead {
    left: 0;
    top: 0;
    mix-blend-mode: difference;
}
.site-branding {
    /* text-align: left;
    font-size: 24vw;
    line-height: 0.8;
    letter-spacing: -1vw; */
    color: var(--main-white);
	width: 100%;
    min-width: 200px;
}
.site-branding a {
    text-transform: uppercase;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
    font-family: var(--main-title-fam);
    padding-top: 5px;
    display: inline-block;
    width: 100%;
}
.site-branding svg {
    width: 100%;
    height: 100%;
	padding-top:20px;
}
.site-branding svg path {
    fill: var(--main-white);
}
.header-row {
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    margin: 15px 0;
    position: relative;
    z-index: 10;
}
.menu-toggler {
    cursor: pointer;
    user-select: none;
    transition: var(--main-easing);
}

#masthead {pointer-events:none;}
#masthead a, #masthead .menu-toggler {pointer-events: all;}
#masthead.scrolled .menu-toggler {
    font-size: 42px;
}
#masthead.scrolled .canvas-link {pointer-events:none;}
#masthead.scrolled .header-left span,
#masthead.scrolled .header-right span {
    transform: translateY(-100%);
}
.header-social-wrap {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
}
.header-social-wrap .social-row {
    border-top: 4px solid var(--main-white);
}
.header-social-wrap .social-row a {
    color: var(--main-white);
}

/* FOOTER */

.f-contact-title {
    display: flex;
    width: 100%;
    margin: 200px 0 20px;
    padding-bottom: 20px;
    border-bottom: 4px solid var(--main-black);
}
.f-contact-title span {
    font-size: 4.5vw;
    line-height: 1;
    font-family: var(--main-title-fam);
    letter-spacing: -0.1vw;
    font-weight: 700;
}
.footer-form--row {
    display: grid;
    align-items: start;
    gap: 20px;
    margin-bottom: 10px;
    border-bottom: 4px solid var(--main-black);
    padding-bottom: 10px;
    grid-template-columns: max-content 1fr;
    position: relative;
}
.footer-form--row p,
.footer-form--row h4 {
    margin: 0;
}
.footer-form--row span {
    display: block;
    width: 100%;
}
.footer-form--row input,
.footer-form--row textarea {
    padding: 0;
    width: 100%;
    border: none;
    outline: none;
    font-size: 28px;
    line-height: 40px;
    font-weight: 400;
    font-family: var(--main-text-fam);
    background: transparent;
    text-align: right;
}
.footer-form--row textarea {
    resize: none;
    max-height: 80px;
}
.wpcf7-not-valid-tip {
    font-size: 14px;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 0;
}
.wpcf7-form-control-wrap {
    position: unset;
}
.footer-form--submit {margin: 50px 0;}
.footer-form input[type="submit"] {
    border: 0;
    border-color: unset;
    border-radius: 0;
    background: transparent;
    color: var(--main-black);
    line-height: 1;
    padding: 0;
    font-size: 60px;
    display: block;
    margin: 0 0 0 auto;
    width: max-content;
    font-family: var(--main-title-fam);
    cursor: pointer;
    transition: var(--main-easing);
}
.social-row {
    border-top: 4px solid var(--main-black);
    padding: 40px 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.social-row a {
    font-weight: 700;
    color: var(--main-black);
    font-size: 30px;
    letter-spacing: 3px;
    line-height: 1;
}
.footer-vid {
	margin: 50px 0;
	border-radius: 10px;
	overflow: hidden;
}

/* MAIN FOOTER */
.marquee-row {
    position: relative;
    width: 100vw;
    height: 18vw;
    display: flex;
    align-items: center;
    background: transparent;
}

.marquee-row span {
    font-size: 20vw;
    font-family: var(--main-title-fam, sans-serif);
    font-weight: 900;
    letter-spacing: -1vw;
    white-space: nowrap;
    color: var(--main-white, #fff);
    display: inline-block;
    line-height: 1;
    margin-right: 4vw; /* space between repeats */
}

.marquee-row {
    animation: marquee-move 18s linear infinite;
}

@keyframes marquee-move {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100vw); /* Adjust based on number of repeats */
    }
}

/* HOME PAGE */

.home-page {
    min-height: 200vh;
}

/* ARCHIVE POSTS */

.latest-post.full-width {
    width: 100%;
    margin-bottom: 100px;
}

.post-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: center;
    text-align: center;
}
.post-content .post-title a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
.post-content .post-thumbnail {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
    border-radius: 10px;
}
.post-content .post-thumbnail a{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.post-content .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
	transform-origin: center;
	transition: var(--main-easing);
}
.post-content .post-thumbnail:hover img {
	transform: translate(-50%, -50%) scale(1.05);
}
.post-content .post-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin: 0 0 10px;
    font-weight: 700;
}
.posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 100px;
    width: 100%;
}
.grid-item {
    width: 100%;
}
.grid-item.featured-post.col-2 {
    grid-column: span 2;
}
.grid-item.col-1 {
    grid-column: span 1;
}

.grid-item .post-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.grid-item .post-excerpt {
    margin-bottom: 1rem;
    line-height: 1.5;
}

.post-meta {
    font-size: 0.9rem;
    color: #666;
}

/* Responsive */
@media (max-width: 768px) {
    .latest-post .post-content {
        grid-template-columns: 1fr;
    }
    
    .posts-grid {
        grid-template-columns: 1fr;
    }
    
    .grid-item.featured-post.col-2 {
        grid-column: span 1;
    }
}
.h-top-area--vid {
    width: 100%;
    height: auto;
}

/* Pagination Styles */

.pagination {
    display: block;
    margin: 40px 0;
    border-top: 4px solid var(--main-black);
    padding: 40px 0;
    list-style: none;
}
.nav-links {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.nav-links span,
.nav-links a {
    display: block;
    width: max-content;
    font-size: 30px;
    line-height: 1;
    font-family: var(--main-title-fam);
    font-weight: 700;
    color: var(--main-black);
    text-decoration: none;
    transition: var(--main-easing);
}

/* 404 Style */

.intro-404 h1 {
    font-size: 12vw;
    line-height: 0.8;
    font-family: var(--main-text-fam);
    font-weight: 300;
    margin: 0 0 20px;
	letter-spacing: -10px;
}

/* General Styles */

.link-ani-black a {
    position: relative;
}
.link-ani-black a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: var(--main-black);
    transform: scaleX(0);
    transform-origin: left;
    transition: var(--main-easing);
}
.link-ani-black a:hover::after {
    transform: scaleX(1);
}

/* Gutenberg Styles */

.link-style, 
.link-style a {
	font-family: var(--main-title-fam);
	font-size: 48px;
    line-height: 64px;
    font-weight: 700;
    margin: 45px 0 20px;
	transition: var(--main-easing);
}
.link-style a:hover {
	letter-spacing: 2px;
}
.wp-block-video {
    margin-bottom: 40px;
    border-radius: 10px;
    overflow: hidden;
}
.v-type-1 {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 120%;
}
.v-type-2 {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: calc(60% - 20px);
}
.v-type-3 {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 30%;
}
.v-type-3 video,
.v-type-1 video,
.v-type-2 video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: translate(-50%, -50%);
}
.wp-block-image img {
    border-radius: 10px;
    overflow: hidden;
}

/* FOOTER */

.address-grid {
    display: grid;
    width: 100%;
    pointer-events: none;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 100px;
}
.address-grid h4 {
    margin: 0 0 40px;
    font-size: 40px;
    line-height: 1;
    font-family: var(--main-title-fam);
    font-weight: 700;
}
.address-grid a {
    pointer-events: all;
    text-decoration: none;
}
.address-grid p {
    margin-bottom: 40px;
}
.address-grid p, 
.address-grid li, 
.address-grid div, 
.address-grid a {
    font-size: 30px;
    line-height: 1.5;
}
.f-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 4px solid var(--main-white);
}
.f-top-row span {
    font-size: 11vw;
    line-height: 0.92;
    font-family: var(--main-title-fam, sans-serif);
    font-weight: 900;
}

/* Main Menu */

.menu-container {
    transform: translateY(-100%);
}
.close-menu {
    right: 0;
    top: 50px;
    cursor: pointer;
}
.main-navigation {
    padding: 15vh 0;
}
#primary-menu {
    position: relative;
}
#primary-menu * {
    position: unset;
}
#primary-menu a {
    font-size: 5vw;
    line-height: 0.9;
    font-family: var(--main-title-fam, sans-serif);
    font-weight: 900;
    display: block;
    width: max-content;
    transform: translateY(100%);
    transition: var(--main-easing);
}
#primary-menu a:hover {
    letter-spacing: 0.5vw;
}
#primary-menu .menu-img-wrap {
    display: block;
    width: max-content;
    position: fixed;
    left: 50%;
    top: 50%;
    transform-origin: center;
    transform: translate(-50%, -50%);
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    pointer-events: none;
    transition: var(--main-easing-fast);
    z-index: -1;
    overflow: hidden;
}
#primary-menu .menu-img-wrap img {
    transition: var(--main-easing);
}
#primary-menu li:hover .menu-img-wrap {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
#primary-menu .menu-img-wrap img {
    transform-origin: center;
    transform: scale(1.2);
    display: block;
}
#primary-menu li:hover .menu-img-wrap img {
    transform: scale(1);
}
.menu-container #primary-menu a {
    opacity: 0;
    transform: translateY(100%);
}

/* Single Post / Project */

.all-items-link {
	display: block;
	margin: 0 auto;
	width: max-content;
}
.intro-image {
    padding-top: 56.25%;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}
.intro-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-height: 100%;
    width: auto;
    border-radius: 10px;
    max-width: initial;
	overflow:hidden;
}

/* Scroll Animations */
.fade-in-up {
    opacity: 0;
    transform: translateY(50px);
}

/* Post Custom Fields */

.intro-post-image {
    height: 80vh;
	max-height: 600px;
    width: auto;
    margin: 0 auto 100px;
    position: relative;
}
.intro-post-image img {
	height: 100%;
}
.intro-post-image.intro-image {
	padding-top: unset;
}
.intro-post-image .post-thumbnail {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.post-pad {
    padding: 20px 0;
}
.post-entry-content h3,
.entry-content h3 {
    font-size: 40px;
}
.post-entry-content a {
    text-decoration: underline;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.post-entry-content a,
.post-entry-content p,
.post-entry-content li,
.post-entry-content span,
.post-entry-content div,
.entry-content a,
.entry-content p,
.entry-content li,
.entry-content span,
.entry-content div {
    font-size: 22px;
    line-height: 1.5;
    font-family: var(--main-text-fam);
}
.post-entry-content h2 {
    font-size: 36px;
	line-height: 1.5;
}
.post-entry-content .post-intro * {
	font-size: 22px;
    line-height: 1.5;
    font-family: var(--main-text-fam);
	font-weight: 400;
}

.style-inherit a {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}

.title-wrapper h2 {
	display: flex;
    justify-content: space-between;
}
.title-wrapper h2,
.title-wrapper h2 span {
	font-size: 11vw;
    line-height: 0.92;
    font-family: var(--main-title-fam, sans-serif);
    font-weight: 900;
}

/* Responsive */

@media only screen and (max-width: 1440px) {
    .big-title {font-size: 80px;letter-spacing: -3px;}
    h3 {font-size: 60px;}
}
@media only screen and (max-width: 1200px) {
    .h-top-area--vid {height: 100%; width: auto; max-width: initial; max-height: initial;}
}
@media only screen and (max-width: 1024px) {
    .footer-form input[type="submit"], .menu-toggler, h3 {font-size: 42px;}
    .fs-34 {font-size: 24px;line-height: 1.2;}
    .social-row a, .address-grid p, .address-grid li, .address-grid div, .address-grid a {font-size: 22px;line-height: 1.5;}
}
@media only screen and (max-width: 781px) {
	.reel-area .wp-block-spacer {max-height: 0px;}
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column figure:last-child {margin-bottom: 0;}
	:where(.wp-block-columns.is-layout-flex) {gap: 0;}
    .footer-form--submit {margin: 2pr0px 0;}
    .social-row {padding: 20px 0;}
    .big-title {font-size: 60px;letter-spacing: -1px;}
    h1 {font-size: 42px;line-height: 1.2;}
    .header-row .fs-34 {font-size: 18px;line-height: 1.2;}
    .menu-toggler {font-size: 36px;line-height: 34px;}
    #masthead.scrolled .menu-toggler {font-size: 30px;line-height: 54px;}
    #primary-menu a,
    .footer-form input[type="submit"], h3, .project-title a {font-size: 36px;}
    .wp-block-spacer {max-height: 50px;}
    .site-branding {min-width: 130px;}
	.h-top-area.mh-screen {min-height: 60vh;}
	.post-content .post-title,
	h4 {font-size: 22px;line-height: 40px;}
	.f-contact-title {margin: 100px 0 20px;}
	.link-style, .link-style a, h2 {font-size: 26px;line-height: 1.5;}
	.intro-post-image {margin: 0 auto 50px;}
	.wp-block-video{margin-bottom: 20px;}
	.post-entry-content a, 
	.post-entry-content p, 
	.post-entry-content li, 
	.post-entry-content span, 
	.post-entry-content div, 
	.entry-content a, 
	.entry-content p, 
	.entry-content li, 
	.entry-content span, 
	.entry-content div,
	.post-content p,
	.post-content div,
	.post-content span,
	.post-content li {font-size: 16px; line-height: 1.4;}
    
    .intro-image img {width: auto;}
    .address-grid {grid-template-columns: 1fr;margin-bottom: 50px;}
    .address-right {text-align: left;}
}
@media only screen and (max-width: 520px) {
	/* .site-branding {max-width: 130px;}
	#masthead .menu-toggler {transform: translate(0px, -64px) !important; font-size: 20px !important; line-height: 56px !important;}
    .top-pad {padding-top: 80px;} */
	.intro-post-image {max-height: 400px;}
	.top-pad {padding-top: 150px;}
    .big-title {font-size: 40px;letter-spacing: -1px;}
    h1 {font-size: 32px;line-height: 1.2;}
    .header-row .fs-34 {font-size: 14px;line-height: 1.2;}
    .menu-toggler {font-size: 28px;line-height: 34px;}
    #masthead.scrolled .menu-toggler {font-size: 20px;line-height: 56px;}
    #primary-menu a {font-size: 30px;}
    .footer-form input[type="submit"], h3, .project-title a {font-size: 22px;}
    #primary-menu .menu-img-wrap {width: 80vw;}
    .intro-image img {width: auto;height: 100%;object-fit: cover;}
	.post-entry-content h3, .entry-content h3 {font-size: 26px;}
	.footer-form--row input, .footer-form--row textarea,
	.post-content .post-title,
	h4 {font-size: 18px;line-height: 24px;}
	.footer-form--row textarea {max-height: 70px;}
	.address-grid p {margin-bottom: 20px;}
	.address-grid h4 {margin: 0 0 20px;font-size: 26px;}
	.image-trail-target-three img {display:none;}
	.link-style, .link-style a, h2 {font-size: 22px;line-height: 1.5;}
	.f-contact-title {margin: 50px 0 20px;}
	.post-entry-content h2 {font-size: 22px;}
	.post-entry-content .post-intro * {font-size: 18px;}
	
	.h-top-area.mh-screen {min-height: 50vh;}
	.social-row {padding: 15px 0;}
	.social-row a, .address-grid p, .address-grid li, .address-grid div, .address-grid a {font-size: 18px;}
}