/*
Theme Name:   Somentra Child
Theme URI:    https://themeforest.net/user/greatives
Description:  Somentra Child Theme
Version:      2.1.0
Author:       Greatives Team
Author URI:   https://greatives.eu
Template:     impeka
*/


/* ==========================================
=! globals / vars
------------------------------------------ */

.grve-container, #grve-theme-wrapper.grve-header-side.grve-container, #grve-theme-wrapper.grve-header-side #grve-content.grve-left-sidebar .grve-content-wrapper, #grve-theme-wrapper.grve-header-side #grve-content.grve-right-sidebar .grve-content-wrapper, .single-post #grve-content:not(.grve-right-sidebar):not(.grve-left-sidebar) .grve-container, #grve-about-author-section .grve-container, #grve-comments-section .grve-container, #grve-no-comments .grve-container{
	  max-width:100%;
	}

:root {
	--ws-grve-container: 100%; /* mapped to theme grve-container width */
	--ws-grve-container-gutter: calc(100% - 10.500rem); /* mapped to theme grve-container gutter */
	--ws-grve-container-padding-s: 28px; /* mobile padding, based on grve breakpoint calc */
	
	--arch-hover: inset 0 0 0 15px var(--wp--preset--color--primary-2);
	--arch-box-trans: box-shadow 0.3s;
}



@media only screen and (max-width: 1200px) {
  :root {
    --ws-grve-container-gutter: calc(100% - 7.500rem);
  }
  
}

@media only screen and (max-width: 960px) {
  :root {
    --ws-grve-container-gutter: calc(100% - 6.000rem);
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --ws-grve-container: 500px;
    --ws-grve-container-gutter: calc(100% - 56px);
  }
}




/* ==========================================
=! hover effect
------------------------------------------ */

.arch-col-hover .grve-container{
	width: 100%;
}

.arch-link-hover{
	transition: var(--arch-box-trans);
}

.arch-link-hover:hover{
	box-shadow: var(--arch-hover);
}

/* ==========================================
=! cursor
------------------------------------------ */

#grve-indicator.grve-style-2 .grve-default::after {
  border: none;
  opacity: 1;
  width: 46px !important;
  height: 55px !important;
  background: url(https://arch.melbourne/wp-content/uploads/2026/02/cursor.svg);
  background-size: contain;
  border-radius: 0;
}

#grve-indicator.grve-style-2.grve-item-hover .grve-default.grve-indicator-expand::after {
  opacity: 1 !important;
}

#grve-indicator.grve-style-2 .grve-default, #grve-indicator.grve-style-2 .grve-default.grve-indicator-expand{
	width:0;
	height:0;
	top:1.6rem;
	left:1.6rem;
}

#grve-indicator.grve-style-2 .grve-default.grve-indicator-small{
	width:0;
	height:0;
}

#grve-indicator.grve-over-dark .grve-default {
    filter: brightness(0) saturate(100%) invert(11%) sepia(9%) saturate(2316%) hue-rotate(318deg) brightness(102%) contrast(86%); /* adjust to match your dark cursor variant */
}

body.grve-modal-open #grve-indicator {
    z-index: 10000;
}



/* ==========================================
=! header
------------------------------------------ */

/* --- stretch nav links --- */
.grve-header-menu {
  flex: 1;
}

.grve-header-menu.grve-horizontal-menu > .grve-menu {
  justify-content: space-between;
}

/* --- logo menu item home --- */
.home #grve-main-header #menu-item-422{
  opacity: 0;
  display: none;
  pointer-events: none;
  animation: fadeOut 2s ease;
  transition: display .5s ease-out;
}

/* Show on sticky or mega menu open (all pages) */
.home #grve-main-header.grve-sticky-header #menu-item-422,
.home #grve-main-header:has(.grve-menu-hover) #menu-item-422,
.home #grve-main-header.ws-scrolled-past.grve-sticky-header #menu-item-422,
.home #grve-main-header.ws-scrolled-past:has(.grve-menu-hover) #menu-item-422 {
  opacity: 1;
  display:block;
  pointer-events: auto;
  animation: fadeIn 3s ease;
  transition: all .5s ease-in;
}

/* --- homepage hero graphic fade --- */
.home:not(.ws-scrolled-past) #grve-feature-section .grve-graphic{
  animation: fadeIn 1.3s ease-in;
}

.home:has(.ws-scrolled-past) #grve-feature-section .grve-graphic{
  animation: fadeOut .3s ease-in-out;
}

/* Home link menu item */
#menu-item-422 .home-link{
  text-indent: -999999px;
  display: block;
  background: url(https://arch.melbourne/wp-content/uploads/2026/02/arch-logo-header.svg) no-repeat;
  width: 246px;
  height: 21px;
	
	& .grve-item::after{
		display:none;
	}
}

/* Dark menu */

#grve-main-header.grve-skin-dark #menu-item-422{
	filter: brightness(0) saturate(100%) invert(11%) sepia(38%) saturate(601%) hue-rotate(318deg) brightness(95%) contrast(86%);
}

/* --- mega menu background --- */
#grve-main-header:has(.menu-item-has-children.grve-menu-hover) {
  background: var(--wp--preset--color--primary-1) !important;
}

/* --- mega menu sub-menu width --- */
.grve-header-menu.grve-horizontal-menu li.megamenu .grve-megamenu-sub-menu {
  width: 100vw;
  left: 50%;
  transform: translate(-50%);
}

#grve-main-header:has(.grve-menu-hover) .sub-menu {
  max-width: var(--ws-grve-container) !important;
  width: var(--ws-grve-container-gutter) !important;

  & li.menu-item {
    padding-left: 0 !important;
  }
}


/* Responsive menu */

#grve-main-responsive-header{ 
	& .grve-header-row{
		margin-left:15px;
		margin-right:15px;
	}

	& .grve-burger-icon svg {
		width: 30px;
	}

	& .grve-logo{
		opacity:0;
		transition: none;
	}
	
	&.grve-header-visible .grve-logo{
		opacity:1;
		transition: opacity 1.5s ease-in;
	}
	 
}

#grve-responsive-menu-area .grve-area-scroller .grve-area-container{
		padding-inline:30px !important;
		
	& .grve-arrow{
		margin-right:30px;
	}
	
	& .grve-arrow::after{
	  display:none;
	}
	& .grve-arrow::before{
	  background: url(https://arch.melbourne/wp-content/uploads/2026/03/ico-chevron-down.svg) no-repeat;
	  width:26px;
	  height:16px;
	}
	
	.grve-vertical-menu.grve-toggle-animation .grve-arrow.grve-open {
	  transform: rotate(180deg);
	}

}



/* Keyframes */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/* --- sticky header --- */
#grve-main-header.grve-skin-sticky .grve-bottom-header-area {
  background-color: transparent;
}


/* ==========================================
=! responsive / off-canvas menu
------------------------------------------ */

/* --- icons --- */

/* exit */
.grve-close-button-wrapper .grve-close-btn.grve-white {
	background-color: transparent;
}

/* arrows */
.grve-vertical-menu.grve-slide-animation {
	--_icon-size: 7px;
	--_icon-width: 0 5px 5px 0;
	
	/* spacing */
	& .grve-link-wrapper {
		margin-top: 0.5rem;
		
		& .grve-arrow {
			margin-left: 2rem;
		}
	}

	/* overrides */
	& .grve-arrow:before {
		transform: translateX(0) rotate(45deg);
		border-width: var(--_icon-width);
		padding: var(--_icon-size);
		
		&:hover:before {
			transform: translateX(0) translateY(5px)  rotate(225deg);
		}
	}
	
	& .grve-go-back-wrapper .grve-go-back {
		border: unset;
	}
	
	& .grve-back-arrow {
		transform: unset !important;
	}
	
	& .grve-back-arrow:before {
		border-width: var(--_icon-width) !important;
		padding: var(--_icon-size) !important;
		
		&:hover:before {
			transform: translateX(0) translateY(5px)  rotate(225deg);
		}
	}
	
	/* hidden */
	& .grve-arrow:after, & .grve-back-arrow:after {
		display:none !important;
	}
}




/* ==========================================
=! hero section / page title
------------------------------------------ */

/* --- home --- */

body.home #grve-feature-section{ 
	& .grve-title-content-wrapper{
		height:100vh;
		display:flex;
		flex-direction:column;
		justify-content: space-between;
		max-width:100%;
	}
	
	& .grve-container{
		width:100%;
		max-width:100%;
	}
	
	& .grve-graphic {
		/*max-width: 100% !important;
		width: var(--ws-grve-container-gutter) !important;*/
	}

	& .grve-feature-title{
		order:1;
		opacity:0 !important; /* Added hidden title to use for spacing */
	}
	& .grve-graphic{
		order:2;
		align-self: center;
	}
	
	& .grve-button-wrapper{
		order:3;
		align-self: flex-end;
	}
	
	& .grve-btn{
		padding: 59px 22px;
		color: var(--wp--preset--color--primary-1);
		margin-bottom: 0px;
	}
	
	& .grve-btn:hover{
		background-color: var(--wp--preset--color--primary-3);
		border-color: var(--wp--preset--color--primary-3);
		color: var(--wp--preset--color--primary-2);
	}
}




/* ==========================================
=! home
------------------------------------------ */

/* ---  home contact modal --- */
.home #grve-modal-area {
	
	& .grve-modal-element.grve-modal-dialog .grve-close-button-wrapper{
		top:0;
		right: unset;
		left:0;
	}
	
	& .grve-close-button-wrapper .grve-close-btn.grve-white{
		background: var(--wp--preset--color--primary-1);
		clip-path: polygon(0 0, 0% 100%, 100% 0); /* Defines the three points of the triangle */
		border-radius:0;
		width:68px;
		height:68px;
		transform: scale(100%) !important;
		
		& svg{
			fill:var(--wp--preset--color--primary-2);
			top: 5px;
			left: 10px;
			transform: none;
		}
	}
	
	& .grve-modal-element{
		right: 0;
		left: unset;
		width: 50%;
	}

	& .grve-modal-overlay{
		right: 0;
		left: unset;
		width: 50%;
	}

	& .grve-modal-element .grve-modal-content{
		top:0 !important;
		transform: translate(-50%,0);
		width: 100% !important;
	}
	
	
	& .grve-column-wrapper{
		margin-top:20%;
	}
	
	& .grve-column-content{
		width:90%;
		margin-inline:auto;
	}
}	


/* ==========================================
=! child
------------------------------------------ */

/* Arch home */

.page-id-210 #grve-page-title .grve-bg-image.grve-bg-center-center{
	background-position: center top;
}

/* ==========================================
=! broken galleries
------------------------------------------ */


/* ── Hidden state (toggled by JS filter) ─────────────────────────────────────
   display:none lets CSS grid reflow cleanly so remaining items
   fill the layout without gaps */
.arch-broken-container .grve-broken-item.arch-hidden{
	display: none;
}


/* ── Broken portfolio (portfolio-broken.php) ── */
/* ── Broken gallery (image-gallery-broken.php) ── */
/* ── Broken portfolio flex layout ── */
.arch-broken-portfolio-filtered, .arch-press-gallery{
    
    
    & .grve-broken-item.grve-image-landscape {
    flex: 0 0 calc(60% - 0.75rem);
    }
    
    & .grve-broken-item.grve-image-square {
        flex: 0 0 calc(40% - 0.75rem);
    }
    /* ── Force aspect ratios — overrides inline padding-top set by theme ── */
    & .grve-broken-item.grve-image-landscape .grve-thumbnail{
        padding-top: 66.667% !important;
    }
    
    & .grve-broken-item.grve-image-square .grve-thumbnail{
        padding-top: 100% !important;
    }
    
    /* ── Object-fit crop to fill the box ── */
    & .grve-broken-item .grve-thumbnail img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center center;
    }

    
}


.arch-broken-container{

        display: flex !important;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 1.5rem;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;

	& .grve-hover-item.grve-hover-style-3:not(.hover) .grve-content .grve-char span, .grve-hover-item.grve-hover-style-3:not(.hover) .grve-content .grve-description{
		opacity:0;
  		transform: translateY(30);
	}
	
	& .grve-hover-item.grve-hover-style-3.hover .grve-content .grve-char span, & .grve-hover-item.grve-hover-style-3.hover .grve-content .grve-description{
		opacity:1;
		transform: translateY(0);
	}
	
	& .grve-hover-item.grve-hover-style-3{
		& .grve-thumbnail-wrapper{
			transition: var(--arch-box-trans);
		}	

		& .grve-thumbnail-wrapper::before{
			box-shadow: var(--arch-hover);
			opacity:0;
			transition: all .3s ease-in;
		}

	}

	& .grve-hover-item.grve-hover-style-3.hover{

		& .grve-thumbnail-wrapper::before{
			opacity:1;

		}

		& .grve-thumbnail img{
			transform:none;
		}
	}


}

.grve-filter{
	
	margin-bottom:6rem;
	
	& ul{
	justify-content: space-between;
	}
}




/* ==========================================
=! components
------------------------------------------ */

/* -----   buttons   -----   */
/* reverse underline effect */
.grve-btn-line.grve-line-bottom .grve-btn-inner .grve-line{
  transform: scaleX(1);
  transform-origin: left center;
  height: 1px;
  margin-top:0;
}

.grve-btn-line.grve-line-bottom:hover .grve-btn-inner .grve-line {
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .25s cubic-bezier(.785,.135,.15,.86);
}

/* --- full width bg img section breaks --- */

.ws-title-section {
	& .grve-column-content .ws-title-section {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

.grve-fullwidth-background.grve-with-bg-image :has(.grve-column-content:empty, .grve-column-content .ws-title-section) {
	min-height: 596px;
}


/* --- featured logos --- */
.ws-featured-logos{
	
	& .grve-row-inner{
		justify-content: space-between;
		gap:1rem;
		
	}
	& .grve-column-1-5{
		max-width: 300px;
    	min-width: 50px;
		width: auto !important;
	}
	& .grve-thumbnail-wrapper{
		max-width: 216px !important;
	}
	& img{
		max-height:40px !important;
		min-height: unset !important;
		width: auto !important;
	}
} 


/* --- post carousel --- */


.ws-post-carousel{

	/* Blog carousel - enforce portrait aspect ratio */
	& .grve-post-item.grve-style-3 .grve-post-content{
		max-width: 100vw !important;
    	max-height: 100%;
	}
	
	& .grve-carousel-stage{
		max-height:100dvh;
		overflow:hidden;
	}

	
	/* Force OWL carousel stage to respect content height */
	& .grve-carousel-stage,
	& .grve-carousel-item-wrapper {
		height: auto !important;
	}

	/* Set portrait aspect ratio on the correct element */
	/*.ws-post-carousel .grve-post-item-inner {
		padding-top: 133% !important; 
	}*/
	
	/* --- base / blog loop --- */
	
	/* base overrides and hover state setup */
	& .grve-post-item {
		transition: unset;
	}
	
	& .grve-post-item-inner {
		background-color: transparent !important;
	}
	
	& .grve-bg-image {
		transition: var(--arch-box-trans) !important;
	}
	
	& .grve-bg-overlay {
		background-image: none !important;
	}
	& .grve-post-item{
		transition: var(--arch-box-trans);
	}
	& .grve-post-item:hover{
		transform: unset !important;
		
		& .grve-bg-image{
			transform: unset !important;
			box-shadow: var(--arch-hover);
		}
		
		& .grve-post-content{
			opacity:1;
			transition: all .3s ease-in;
		}
	}
	
	& .grve-post-item.grve-style-3 .grve-read-more{
		margin-top:0;
	}
	
	& .grve-link-text{
		font-size: inherit;
	}
	
	& .grve-read-more svg{
		display: none;
	}
	

	/* pagination */
	& :is(.grve-carousel-next, .grve-carousel-prev) svg {
		width: 24px !important;
	}
	
	/* content styles */
	& .grve-post-content {
		padding-top: 0 !important;
		aspect-ratio: 3 / 4;
		opacity:0;
		transition: all .3s ease-out;
	}
	
	& .grve-post-title, .grve-title {
		text-transform: uppercase;	
		margin-bottom: 5px !important;
	}
	
	/* --- portfolio loop  --- */
	
	& .grve-content {
		align-items: flex-start !important;
		opacity:0;
		transition: all .3s ease-in;
		padding: 2.5rem !important;
	}
	
	& .grve-thumbnail img {
		transform: none !important;
	}
	
	& .grve-hover-item:hover .grve-content{
		box-shadow: var(--arch-hover);
		opacity:1 !important;
		transition: opacity .3s ease-in;
	}
	
	/* read more */
	&.grve-blog-carousel .grve-content-inner::after {
		content: 'Read More';
		color: var(--wp--preset--color--primary-2);
		margin-top: 1em;
	}	
	
}

/* ==========================================
=! single portfolio
------------------------------------------ */

#grve-portfolio-bar .grve-title{
	display:none;
}

body.single-portfolio{

	
	& .grve-hover-item.grve-hover-style-1{
		pointer-events:none;
	
		& .grve-media{
			will-change: unset !important;
		}

		&.hover .grve-thumbnail img{
			transform: none !important;
			/*opacity: .75;*/
		}

		:hover .grve-thumbnail img{
				transform: none !important;
		}
	}
	
}

/* ==========================================
=! single post
------------------------------------------ */


#grve-related-section{
	border-top: 0;
}

.single-post{
	
	& #grve-related-section{
		padding-bottom:0;
		border-top: 0;
		
		& .grve-bg-image{
			transform:none !important;	
		}
		& .grve-container{
			width:100%;
		}
	
		& .grve-related-top{
			max-width: var(--ws-grve-container-gutter);
			margin-inline:auto;
		}
	
		& .grve-related .grve-related-row{
			gap:0;
		}
		& .grve-related-content{
			opacity:0;
			bottom: unset;
			top:10px;
			left:20px;
		}
		
		& .grve-related-item-inner a{
			transition: var(--arch-box-trans) !important;
		}
		
		& .grve-related-item-inner:hover a{
			box-shadow: var(--arch-hover);
			
		}
		
		& .grve-related-item-inner:hover .grve-related-content{
			opacity:1;
		}
		
		& .grve-small-text{
			display:none;
		}
		
		& .grve-title{
			display: flex;
			flex-direction: column;
			gap:5px;
			text-transform: uppercase;
			font-family: 'BMFGrotesque-Headline';
		}
		& .grve-related-content .grve-title::after{
			content:'Read More';
			font-family: 'Century Schoolbook Monospace Regular';
			text-transform: none;
			font-size: 20px;
		}
	}	
}


/* ==========================================
=! contact / forms
------------------------------------------ */

/* --- form globals --- */

/* error messaging */
#grve-theme-wrapper .wpcf7 form .wpcf7-response-output {
	background: var(--wp--preset--color--primary-3);
	font-family: 'BMFGrotesque-Headline';
}

/* override weird theme defaults */
span.wpcf7-not-valid-tip, div.wpcf7-mail-sent-ok, div.wpcf7-validation-errors {
	letter-spacing: 0 !important;
}

/* --- contact form --- */

body #grve-theme-wrapper .wpcf7 .ws-cf7-form {
	/* globals */
	--_form-border-radius: 20px;
	--_form-border-width: 4px;
	--_form-border-color: var(--wp--preset--color--primary-2);
	--_form-input-space-outer: 1.25em;
	--_form-bg-color: white;
	--_form-padding: 10px 14px;
	color: var(--wp--preset--color--primary-1);	
	font-size: 16px;
	font-family: 'BMFGrotesque-Headline';
	
	/* layout */
	& .ws-cf7-form__col-1-2 {
		display: flex;
		gap: var(--_form-input-space-outer);
	}
	
	/* spacing */
	& span.wpcf7-form-control-wrap {
		padding-bottom: var(--_form-input-space-outer);
	}

	/* styling */
	&  span:not(.grve-heading-color) {
		color: var(--wp--preset--color--primary-1);
	}
	
	& input {
		border: var(--_form-border-width) var(--_form-border-color) solid;
		border-radius: var(--_form-border-radius);	
		background-color: var(--_form-bg-color);
		padding: var(--_form-padding);
	}

	& textarea {
		border: var(--_form-border-width) var(--_form-border-color) solid;
		border-radius: var(--_form-border-radius);	
		background-color: var(--_form-bg-color);
		padding: var(--_form-padding);
	}
	
	& .wpcf7-submit {
		color: var(--wp--preset--color--primary-2);	
		background-color: transparent;
		padding: 0;
		margin-left: auto;
		display: block;
		min-width: auto;
		text-decoration: underline;
		text-underline-offset: 3px;
		transition: color .3s;
		min-height: 40px;
		font-size: 20px;
	}
	
	/* hover/focus styles */
	& .wpcf7-submit:hover {
		color: var(--wp--preset--color--primary-3);	
		background-color: transparent;
	}
	
	& :is(input,textarea,submit):focus {
		border-color: var(--wp--preset--color--primary-3);
		border-width: var(--_form-border-width);
	}
	
	& .wpcf7-not-valid-tip{
		background: var(--wp--preset--color--primary-3);
	}
}

/* --- modal variant --- */
body #grve-theme-wrapper :is(#grve-modal-area) .wpcf7 .ws-cf7-form {
	--_form-bg-color: transparent;
	--_form-border-color: var(--wp--preset--color--primary-1);
	--_form-border-width: 1.5px;
	
	& .wpcf7-submit {
		color: var(--wp--preset--color--primary-1);	
	}
}



/* ==========================================
=! footer
------------------------------------------ */

/* --- custom footer area --- */
.ws-footer {
	
	& .grve-section .grve-container {
		padding-inline: 60px;
	}
		
	& p {
		font-family: 'BMFGrotesque-Headline';
		font-size: 14px;
		line-height: 20px;
	}
	
	& a {
		text-decoration: underline;
	}
}

/* --- bottom bar --- */
.ws-footer{
	/*padding-bottom: 64px !important;
	
	& .grve-container {
		padding-inline: 32px;
	}
	*/

	& .grve-footer-column-1-2:first-of-type {
		margin-left: auto;
		order:2;
		
		& .grve-left-side {
			display: flex;	
			flex-direction: column;
			justify-content: center;
			align-items: flex-end;
		}
	}
	
	& .grve-align-right {
		text-align: left;
	}
	
	& .grve-vertical-menu-wrapper{
		padding-bottom:0 !important;
	}
}

.ws-footer-right .grve-column-content{
		justify-content: flex-end;
		display:flex;
	}


	

.grve-copyright p{
	font-size: 12px;
	line-height: 18px;
	font-family: 'BMFGrotesque-Headline';
	
	& a{
		text-decoration:none;
	}
	& a:hover{
		text-decoration:underline;
	}
}


/* ==========================================
=! utilities
------------------------------------------ */

/* hide elements but keep them in the dom for screen readers (form labels etc) */
.visually-hidden {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

/* workaround to 'fake' a full-width right col (used on home blog post carousel) */
:root body .no-margin-r .grve-container {
	margin-right: 0 !important;
	width: calc(100% - 10.500rem) !important;
}

/* add full-height block padding for merged header sections (used on contact page)  */
.ws-container--full-height {
	padding-top: 15vh;
	padding-bottom: 15vh;
}

.embed-container.wp-block-embed {
    position: absolute;
    inset: 0;
    overflow: hidden;
    container-type: size;
    margin-bottom: 0;
}
.embed-container.wp-block-embed .wpb_wrapper {
    position: absolute;
    inset: 0;
}
.embed-container.wp-block-embed iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100cqw;
    height: 177.78cqw;   /* video is 1080×1920, so height = width × (1920/1080) */
    min-width: 56.25cqh; /* and the inverse, for when the container is wide/short */
    min-height: 100cqh;
    transform: translate(-50%, -50%);
    border: 0;
	z-index:999999;
}

/* ==========================================
=! responsive
------------------------------------------ */

/* Cursor */

@media only screen and (max-width: 1200px) {
  #grve-indicator {
    display: block !important;
  }
}
@media only screen and (device-width: 768px) {
  /* For general iPad layouts */
	#grve-indicator {
    display: none !important;
  }
	
  #grve-feature-section.grve-fullscreen, #grve-page-title .grve-wrapper{
		min-height:100svh !important;
	}
	
	#grve-feature-section.grve-fullscreen .grve-title-content-wrapper{
		height:100svh !important;
	}	
	
	
}

@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
  /* For portrait layouts only */
	  .col-padding-right .grve-column-content {
    	padding-left: 30px !important;
		 padding-right:20px;
  	  }
	.col-padding-left .grve-column-content {
    	padding-left: 30px !important;
		padding-right:20px;
  	  }
	
	 #grve-feature-section .grve-content .grve-graphic img {
    	max-width: unset !important;
	}
	
	body #grve-theme-wrapper .wpcf7 .ws-cf7-form {
		& .ws-cf7-form__col-1-2 {
		  display: inherit;
		}
	  }
	
	.page-id-174 .arch-col-hover.grve-section.grve-percentage-height[data-height-ratio="40"]{
		min-height: 30vh;
	}
	
	/* --- typography --- */
	body{
		font-size:18px;
		line-height:24px;
	}
	
	h1:not(.grve-title), .grve-h1{
		font-size:30px !important;
		line-height:normal !important;
	}
	.grve-page-title, #grve-blog-title .grve-title, #grve-search-page-title .grve-title, #grve-portfolio-tax-title .grve-title{
		font-size:43px !important;
		line-height:normal !important;
	}
	
	h3:not(.grve-h2):not(.grve-h4), .grve-h3{
		font-size:22px !important;
		line-height:normal !important;
	}
	h3.grve-h2{
		font-size:30px !important;
	}
	
	h3.grve-h4{
		font-size:19px !important;
	}
	
	h5, .grve-h5{
		font-size:22px !important;
		line-height:normal !important;
	}
	
	.single-post .grve-title.grve-h5 {
		font-size: 18px !important;
  	}
	
	#grve-theme-wrapper .grve-btn-text{
		font-size:18px !important;
	}
}





@media (max-width:1023px) {
	
	body.home #grve-feature-section {
		--_home-feature-height: 92vh;
		
		&.grve-fullscreen {
			min-height: var(--_home-feature-height);
		}
	
		&.grve-fullscreen .grve-wrapper, .grve-title-content-wrapper {
			height: var(--_home-feature-height);
		}
		
		& .grve-content {
			padding-bottom: 0px;
		}
	}


	body.home #grve-modal-area {
		& .grve-modal-overlay, .grve-modal-element {
			width: 100%;
		}
		
		& .grve-close-button-wrapper .grve-close-btn.grve-white {
			width: 90px;
			height: 90px;
		}
	}
	
	.grve-filter.grve-filter-style-simple{
		display:block;
		
		& select{
			display:none;
		}
	}
	
	.arch-broken-gallery-filtered .grve-filter{
		margin-bottom:40px;
		
  		& ul {
    		justify-content: space-around;
			gap:30px;
	  	}
		& li{
			font-size:20px;
			margin-right:1%;
		}
	}
	
	 .grve-related .grve-related-row {
    	flex-wrap: nowrap;
  	}

}

@media (min-width:768px) and (max-width:1350px) {
	#grve-footer .grve-column-1-2:first-child{
		width:60%;
	}
	#grve-footer .grve-column-1-2:last-child{
		width:40%;
	}
	
	#grve-feature-section .grve-content .grve-graphic img{
		max-width:80%;
		margin:auto;
	}
	
	.ws-footer .grve-section .grve-container {
    	padding-inline: 0;
  	}

}	
@media (min-width:768px) and (max-width:959px) {
	.ws-featured-logos img{
		max-height: 30px !important;
	}	
	#grve-footer .grve-link-text{
		font-size:13px !important;
	}
	.grve-copyright p{
		font-size:12px !important;
		line-height:17px !important;
	}
	
	.ws-footer p{
		font-size:13px;
		line-height:18px;
	}
	.ws-footer-contact .grve-column-1-3:first-child{
		width:43.333% !important;
	}
	.ws-footer-contact .grve-column-1-3:last-child{
		width:23.333% !important;
	}
}



@media (min-width:768px) {
	html, body, * {
        cursor: none !important;
    }
    
    /* Press & Projects */
	
	/* Squares that sit on the right (after a landscape) */
    .arch-broken-container .grve-image-square:nth-child(4n+2) .grve-portfolio-item-inner,
    .arch-broken-container .grve-image-square:nth-child(4n+2) .grve-gallery-item-inner{
    width: 75%;
    margin-left: auto; /* flush right */
	}

    /* Squares that sit on the left (before a landscape) */
    .arch-broken-container .grve-image-square:nth-child(4n+3) .grve-portfolio-item-inner,
    .arch-broken-container .grve-image-square:nth-child(4n+3) .grve-gallery-item-inner{
    width: 75%;
    margin-right: auto; /* flush left */
	}

	.arch-broken-container .grve-image-square .grve-portfolio-item-inner,
	.arch-broken-container .grve-image-square .grve-gallery-item-inner {
    margin-top: 25% !important;
	}
	
	.arch-broken-container .grve-broken-item{
		margin-bottom:10%;
	}

	.ws-featured-logos .grve-row-inner{
		flex-wrap:nowrap !important;
	}
	
	/* global */
	
	.show-mobile{
		display:none;
	}
	


	/* --- set full-bg image columns --- */
	.ws-full-bg-img .grve-bg-image {
		max-width: 50%;
	}
	
	.ws-third-bg-img .grve-bg-image {
		max-width: 55%;
	}

	.ws-full-bg-img--left .grve-bg-image {
		margin-right: auto;
	}
	
	.ws-full-bg-img--right .grve-bg-image {
		margin-left: auto;
	}
	.col-padding-left .grve-column-content{
		padding-left:60px;
	}
	.col-padding-right .grve-column-content{
		padding-left:60px;
	}	
	.single-post #grve-post-bar{
		display:none;
	}
}


@media (max-width:767px) {
	
	#grve-indicator, .hide-mobile{
    	display: none !important;
  	}
	
	.mobile-width-condense{
		max-width:90%;
		margin:auto;
	}
	
	
	
	/* --- theme overrides --- */
	
	/* unset grve-max-content widths (no responsive override for title/button modules in theme) */
	body.home #grve-theme-content :is(.grve-column-content, .grve-column-inner-content) :is(.grve-title[class*="grve-align-"]:not(.grve-align-center) , [class*="grve-align-"]:not(.grve-align-center):has([class*="grve-btn-"]))  {
		text-align: center;
	}
	
	body.home :is(:is(.grve-column-inner,.grve-column)[class*="grve-custom-width-"], [class*="grve-custom-width-"] :is(.grve-column-inner-content, .grve-column-content) ){
		max-width: 100%;
	}
	
	#grve-feature-section.grve-fullscreen, #grve-page-title .grve-wrapper{
		min-height:100svh !important;
	}
	
	#grve-feature-section.grve-fullscreen .grve-title-content-wrapper{
		height:100svh !important;
	}
	
	/* --- typography --- */
	
	h1:not(.grve-title), .grve-h1{
		font-size:32px !important;
		line-height:normal !important;
	}
	.grve-page-title, #grve-blog-title .grve-title, #grve-search-page-title .grve-title, #grve-portfolio-tax-title .grve-title{
		font-size:45px !important;
		line-height:normal !important;
	}
	
	h3:not(.grve-h2):not(.grve-h4), .grve-h3{
		font-size:24px !important;
		line-height:normal !important;
	}
	
	h3.grve-h4, .grve-title.grve-h4{
		font-size:21px !important;
	}
	
	h5, .grve-h5{
		font-size:24px !important;
		line-height:normal !important;
	}
	
	.single-post .grve-title.grve-h5 {
		font-size: 20px !important;
  	}
	
	#grve-theme-wrapper .grve-btn-text{
		font-size:20px !important;
	}
	
	/* --- header --- */
	

	
	#grve-main-responsive-header .grve-header-elements{
		display:none;
	}
	

	/* --- components etc --- */

	/* unset full-bg image columns */
	.ws-full-bg-img .grve-bg-image {
		display: none;
	}	
	
	.ws-full-bg-img .grve-column :has(.grve-text) {
		padding-inline: var(--ws-grve-container-padding-s);
	}
	
	.ws-full-bg-img .col-padding-right .grve-column-content, .ws-full-bg-img .col-padding-left .grve-column-content, .ws-full-bg-img.ws-full-bg-img--left .grve-column-content, .ws-full-bg-img.ws-full-bg-img--left .grve-column{
		padding-inline: 0 !important;
		
		& h3{
			margin-top:10px;
		}
	}
	
	.ws-full-bg-img--right .grve-column:first-of-type 	{
		order: 2;
	}
	
	

	body.home #grve-feature-section .grve-graphic {
		padding-inline: var(--ws-grve-container-padding-s);		
	}
	
	body.home .grve-section .ws-title-section {
		max-width: 85%;
		margin-inline: auto;
	}
	
	body #grve-theme-wrapper .wpcf7 .ws-cf7-form {
		& .ws-cf7-form__col-1-2{
			display: inherit;
		}
	}

	.home .ws-title-section{
		margin-bottom:20px !important;
	}
	
	.ws-featured-logos {
		
		& .grve-row-inner {
			justify-content: center;
			gap: unset;
		}
		
		& .grve-column-1-5 {
			max-width: 50%;
			width: 50% !important;

		 }
		
		& .grve-align-left{
			text-align: center !important;
		}
		
		& img{
			width: 100% !important;
		}
		
		 & .grve-thumbnail-wrapper {
   		 	max-width: inherit !important;
  		}
	
	}
	
	& .grve-close-button-wrapper .grve-close-btn.grve-white{

      width: 110px;
      height: 110px;
 
		
		& svg{
			top: 15px !important;
			left: 20px !important;
		}
	}

	
	/* post carousels */
	body.home .grve-section:has(.ws-post-carousel):not(:has(.grve-column-1 .ws-post-carousel)) .grve-column:nth-child(1) {
		padding-inline: var(--ws-grve-container-padding-s); /* apply padding to non-full-width cols */
	}
	
	.ws-post-carousel{
		& .grve-content, & .grve-post-content{
		opacity:1;
		}	
		
		& .grve-content{
			padding: 28px !important;
		}	
		& .grve-read-more, & .grve-content-inner::after{
			display:none;
		}
	}
	
	.single-post #grve-related-post{
		display:none;
	}

	
/* projects & press */
	
.arch-broken-portfolio-filtered, .arch-press-gallery{
    
    
    & .grve-broken-item.grve-image-landscape, & .grve-broken-item.grve-image-square{
        flex: 0 0 100%;
    }
    
  
    /* ── Force aspect ratios — overrides inline padding-top set by theme ── */
    & .grve-broken-item.grve-image-landscape .grve-thumbnail, 
    & .grve-broken-item.grve-image-square .grve-thumbnail{
        padding-top: 125% !important;
    }
    

    & .arch-broken-container .grve-broken-item .grve-thumbnail img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top; /* bias toward top of image — good for interiors */
    }
 

    
}
	


	
	.gallery-wrapper.grve-padding-bottom-3x{
		padding-bottom:15px !important;
	}
	
	.gallery-wrapper .grve-container, #grve-portfolio-bar .grve-container{
		width: calc( 100% - 30px );
	}
	
	/* --- footer --- */
	
	.ws-footer-right .grve-column-content {
		justify-content: flex-start;	
	}
	
	.ws-footer .grve-section .grve-container {
		padding-inline: unset;
	}
	
	/* --- child --- */
	
	/* about title img align */
	body.page-id-219 .grve-bg-image.grve-bg-center-center {
		background-position: 30% center;
	}

	
	.arch-col-hover{
		min-height:auto !important;
	}
	
	.arch-col-hover .grve-column{
		min-height:476px !important;
	}
	
	
	/* --- contact --- */
	
	body.page-id-199 .ws-full-bg-img .grve-column-1-2:first-of-type {
		display: none;
	}
	
}

