@import url("casa-ds.css");

:root {
	--ink: var(--color-text);
	--ink-60: var(--color-text-muted);
	--ink-30: var(--color-border-strong);
	--cream: var(--color-bg);
	--cream-2: var(--color-bg-raised);
	--green: var(--color-secondary);
	--btn: var(--color-button);
	--dark: var(--color-bg-inverse);
	--gray: var(--gray-600);
	--serif: var(--font-display);
	--sans: var(--font-body);
	--gutter: var(--layout-gutter);
	--maxw: var(--layout-max);
	--fs-hero: var(--fs-h1);
	--fs-villa: var(--fs-h3);
	--fs-card: var(--fs-h4);
	--fs-row: var(--fs-h5)
}

* {
	box-sizing: border-box
}

html {
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0;
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden
}

img {
	display: block;
	max-width: 100%
}

h1,
h2,
h3,
p {
	margin: 0
}

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

button {
	font: inherit;
	color: inherit;
	border: 0;
	background: 0;
	cursor: pointer;
	outline: none !important
}

.serif {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.3;
	font-weight: 400
}

.italic {
	font-style: italic
}

.wrap {
	width: min(100% - var(--gutter)*2, var(--maxw));
	margin-inline: auto
}

img.mark {
	height: 42px;
	width: auto;
	flex: none
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--serif);
	font-size: 16px;
	line-height: 1;
	padding: 8px 12px;
	white-space: nowrap;
	transition: background-color .16s cubic-bezier(.2, .7, .2, 1), color .16s
}

.btn-cream {
	background: var(--cream);
	color: #000;
	font-size:16px;
	line-height:24px;
}

.btn-cream:hover,.booking-btn .wpcf7-submit:hover {
	background: #fff
}

.btn-dark {
	background: rgba(31, 30, 16, 1);
	color: #fff;
	transition:.2s;
	border: 1px solid rgba(31, 30, 16, 1);
}

.btn-dark:hover {
	background: #fff;
	color:  rgba(31, 30, 16, 1);
	border:1px solid rgba(31, 30, 16, 1);
}

.lead {
	font-size: 14px;
	color: var(--ink);
	max-width: 73ch
}

.hero {
	position: relative;
	min-height: 760px;
	height: 100svh;
	max-height: 900px;
	display: flex;
	flex-direction: column;
	color: var(--cream)
}
.hero_img{
	position:relative;
	z-index:9;
}
.hero video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover
}

.video_section {
    position: absolute;
    width:100%;
    height:100%;
    display:inline-block;
    top: 0;
}
.video_section:before{
    position: absolute;
    content:"";
    background: rgb(0 0 0 / 40%);
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:inline-block;
    z-index: 9;
}
.hero h1 ,.hero-sub,div.wpcf7.js{
    z-index: 99;
}
.nav {
	position: absolute;
	top: 46px;
	left: 0;
	right: 0;
	z-index: 999
}

.nav-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 62px;
	padding: 0 20px;
	background: rgba(250, 239, 221, .12);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 0;
	overflow: visible;
	
}
.booking-form .wpcf7-not-valid-tip {
       background: #f70202;
    display: inline-block;
    position: absolute;
    width: 139px;
    top: 203%;
    left: -13px;
    text-shadow: none !important;
    color: #fff;
    font-size: 12px;
}
.nav-inner::before {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/vec1.svg) no-repeat center;
	background-size: contain;
	top: -5px;
	left: -5px
}

.nav-inner::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/vec2.svg) no-repeat center;
	background-size: contain;
	bottom: -5px;
	left: -5px
}

.nav-cta {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px
}

.nav-cta::before {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/vec3.svg) no-repeat center;
	background-size: contain;
	top: -17px;
	right: -25px
}

.nav-cta::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/vec4.svg) no-repeat center;
	background-size: contain;
	bottom: -16px;
	right: -25px
}

.brand {
	font-family: var(--serif);
	font-size: 24px;
	line-height: 1;
	color: var(--cream)
}

.nav-links {
	display: flex;
	align-items: center;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0
}

.nav-links a {
	font-family: var(--serif);
	font-size: 20px;
	color: var(--cream);
	opacity: .92;
	transition: opacity .15s
}

.nav-links a:hover {
	opacity: 1
}

.nav-cta {
	display: flex;
	align-items: center;
	gap: 14px
}

.nav-toggle {
	display: none;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center
}

.nav-toggle span {
	display: block;
	width: 22px;
	height: 1.5px;
	background: var(--cream);
	position: relative
}

.nav-toggle span::before,
.nav-toggle span::after {
	content: "";
	position: absolute;
	left: 0;
	width: 22px;
	height: 1.5px;
	background: var(--cream);
	transition: .2s
}

.nav-toggle span::before {
	top: -7px
}

.nav-toggle span::after {
	top: 7px
}

.hero-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 12px;
	padding: 120px 20px 0;
	z-index:99;
}

.hero-body .mark {
	margin-bottom: 4px
}

.hero h1 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.28;
	font-weight: 400;
	font-size: var(--fs-hero);
	position:relative;
}

.hero-sub {
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	max-width: 67ch;
	position:relative;
	color: var(--cream);
	    margin: 12px 0px 40px 0px;
}

.booking {
	margin: 36px 20px 0;
	align-self: center;
	display: flex;
	align-items: stretch;
	gap: 0;
	background: rgba(250, 239, 221, .12);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(250, 239, 221, .18);
	padding: 16px 20px;
	z-index: 99
}

.book-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 0 22px;
	justify-content: center
}

.book-field:first-child {
	padding-left: 0
}

.book-field .lbl {
	font-family: var(--serif);
	font-size: 16px;
	line-height: 1;
	color: var(--cream)
}

.book-field .val {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--cream);
	opacity: .85
}

.book-sep {
	width: 1px;
	background: rgba(250, 239, 221, .22);
	margin: 4px 0
}

.book-arrow {
	display: flex;
	align-items: center;
	opacity: .4;
	padding: 0 4px;
	color: var(--cream)
}

.booking .btn {
	align-self: center;
	margin-left: 18px
}

.icon {
	width: 14px;
	height: 14px;
	flex: none
}

.ode {
	position: relative;
	min-height: 760px;
	display: flex;
	align-items: flex-start;
	padding: 120px 0;
	color: var(--ink);
	background: 0;
	overflow: hidden
}
.booking-arrow.booking-item img{
	margin:0 auto;
}
.ode .wrap {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	gap: 24px 24px;
	align-items: start;
	width: min(100% - var(--gutter)*2, var(--maxw));
	position: relative;
	z-index: 1
}

.ode-loc {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px
}

.ode-note {
	max-width: 45ch;
	font-size: 14px;
	justify-self: center
}

.ode h2 {
	grid-column: 1 / -1;
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.28;
	font-size: var(--fs-h2);
	max-width: 14ch;
	margin-top: 0
}

.sanctuaries {
	position: relative;
	background: var(--cream);
	padding: 64px 0;
	overflow: hidden
}

.section-head {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-bottom: 40px
}

.section-head h2 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.28;
	font-size: var(--fs-h2);
	font-weight: 400
}

.section-head .lead {
	text-align: center
}

.carousel {
	position: relative
}

.carousel-track {
	display: flex;
	gap: 28px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 4px
}

.carousel-track::-webkit-scrollbar {
	display: none
}

.villa {
	flex: 0 0 calc((100% - 28px) / 1.5);
	scroll-snap-align: start
}

.villa {
	flex: 0 0 calc((100% - 28px) / 1.5)
}

@media(max-width:1024px) {
	.villa {
		flex: 0 0 calc((100% - 28px) / 1.5)
	}
}

@media(max-width:768px) {
	
	.villa {
		flex: 0 0 calc((100% - 16px) / 1.5)
	}

	.carousel-track {
		gap: 16px
	}
}

.villa-body_inner {
	display: flex
}

.villa-img {
	flex: 0 0 55%
}

.villa-body_inner .villa-img img {
	height: 100%;
	object-fit: cover
}

.villa-body {
	padding: 40px 48px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	justify-content: center;
	background: #fff;
	width:100%;
}

.villa-body h3 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.25;
	font-size: var(--fs-villa);
	font-weight: 400
}
.villa-owl .btn.btn-dark{
    display: inline-block;
    width: 140px;
    
}
.villa-top {
	display: flex;
	flex-direction: column;
	gap: 24px
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr)
}

.stat {
	padding: 12px;
	border: 1px solid rgba(0, 0, 0, .06)
}

.stat .k {
	font-family: var(--serif);
	font-size: 16px;
	line-height: 1
}

.stat .v {
	font-size: 12px;
	margin-top: 8px
}

.villa-desc {
	font-size: 14px;
	max-width: 46ch
}

.carousel-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 3px 4px 14px rgba(0, 0, 0, .06);
	color: var(--ink);
	z-index: 5
}

.carousel-nav.prev {
	left: -18px
}

.carousel-nav.next {
	right: -18px
}

.carousel-nav svg {
	width: 20px;
	height: 20px
}

.carousel-nav.prev svg {
	transform: scaleX(-1)
}

.rule {
	height: 1px;
	background: var(--ink-30);
	margin-top: 40px;
	position: relative
}

.rule::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 2px;
	width: min(398px, 40%);
	background: var(--ink)
}

img.leaf {
	position: absolute;
	width: clamp(160px, 22vw, 230px);
	height: auto;
	pointer-events: none;
	z-index: 0
}

img.leaf.tl {
	top: 0;
	left: 0
}

img.leaf.br {
	top: 0;
    right: 0;
    transform: unset
}

.sanctuaries .wrap,
.editorial .wrap {
	position: relative;
	z-index: 1
}

.experiences {
	background: var(--cream);
	padding: 64px 0
}

.exp-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 40px;
	align-items: start
}

.exp-intro {
	display: flex;
	flex-direction: column;
	gap: 40px;
	position: sticky;
	top: 32px
}

.exp-intro h2 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.25;
	font-size: var(--fs-h2);
	font-weight: 400
}

.exp-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-left: 64px
}

.exp-item {
	display: flex;
	flex-direction: column;
/* 	gap: 8px */
}

.exp-item .ttl {
	display: flex;
	align-items: center;
	gap: 12px
}

.exp-item .ttl .glyph {
	width: 34px;
	height: auto;
	opacity: .55;
	display: none;
	flex: none
}

.hidden {
	display: none
}

.exp-item .ttl h3 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.25;
	font-size: var(--fs-row);
	font-weight: 400
}

.exp-item p {
	font-size: 14px;
	max-width: 48ch
}

.exp-photos {
	display: flex;
	flex-direction: column;
	gap: 20px
}

.exp-photos .ph {
	width: 100%
}

.innercalm {
	position: relative;
	min-height: 675px;
	display: flex;
	align-items: center;
	padding: 64px 0;
	color: var(--ink);
	background: 0;
	overflow: hidden
}

.innercalm .wrap {
	display: flex;
	justify-content: flex-end;
	position: relative;
	z-index: 2
}

.calm-col {
	width: min(100%, 506px);
	display: flex;
	flex-direction: column;
	gap: 40px
}

.calm-col h2 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.25;
	font-size: var(--fs-h2);
	font-weight: 400
}

.accordion {
	background: rgba(253, 252, 249, .4);
	-webkit-backdrop-filter: blur(60px);
	backdrop-filter: blur(60px)
}

.accordion {
	position: relative
}

.accordion:before {
	content: "";
	background-image: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/acc_plus.svg);
	width: 12px;
	height: 12px;
	display: inline-block;
	position: absolute;
	top: -4px;
	right: -4px
}

.accordion:after {
	content: "";
	background-image: url(https://stage-casacampana.taazaahost.com/wp-content/uploads/2026/06/acc_plusup.svg);
	width: 12px;
	height: 12px;
	display: inline-block;
	position: absolute;
	left: -5px;
	bottom: -5px;
	transform: rotate(-90deg);
}

.acc-item {
	position: relative
}

.acc-item:before {
	content: "";
	background-image: url(/wp-content/uploads/2026/06/acc_plusup.svg);
	width: 12px;
	height: 12px;
	display: inline-block;
	position: absolute;
	top: -4px;
	left: -5px
}

.acc-item:after {
	content: "";
	background-image: url(/wp-content/uploads/2026/06/acc_plus.svg);
	width: 12px;
	height: 12px;
	display: inline-block;
	position: absolute;
	    right: -5px;
    bottom: -5px;
    transform: rotate(90deg);
}

.acc-item:first-child {
	border-top: 0
}

.acc-head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px;
	text-align: left
}

.acc-head h3 {
	font-family: var(--serif);
	line-height: 1.2;
	font-size: 24px;
	color: rgba(52, 38, 16, 1);
	letter-spacing: -3%;
	font-weight: 400
}

.acc-head .pm {
	width: 20px;
	height: 20px;
	flex: none;
	transition: transform .2s
}

.acc-item.open .acc-head .pm {
	transform: rotate(45deg)
}

.acc-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease
}

.acc-body p {
	padding: 0 20px 20px;
	font-size: 14px
}

.acc-item:first-child,
.acc-item.open {
	background: rgba(255, 255, 255, .2)
}

.acc-item:first-child:not(.open) {
	background: unset !important
}

.moments {
	position: relative;
	background: var(--dark);
	overflow: hidden;
	padding: 106px 0 120px 0
}

.moments-bg {
	inset: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	opacity: 1;
	padding: 12px
}

.moments-inner {
	position: absolute;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 32px;
	top: 21%;
	left: 50%;
	align-items: center;
	justify-content: center;
	transform: translate(-50%, -50%)
}

.moments h2 {
	font-family: var(--serif);
	font-style: italic;
	letter-spacing: -.03em;
	line-height: 1.25;
	color: var(--cream);
	font-size: var(--fs-h2);
	max-width: 12ch;
	text-align: center
}

.questions {
	position: relative;
	display: flex;
	padding: 120px 0;
	color: var(--ink);
	background: 0;
	overflow: hidden
}

.q-cols {
	margin-bottom: 40px
}

.q-col {
	width: min(100%, 564px);
	display: flex;
	flex-direction: column;
	gap: 40px
}

.q-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px
}

.q-head h2 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.2;
	font-size: var(--fs-h2);
	font-weight: 400
}

.q-head p {
	max-width: 30ch;
	font-size: 14px
}

.editorial {
	position: relative;
	background: var(--cream);
	padding: 64px 0;
	overflow: hidden
}

.ed-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin-bottom: 40px
}

.ed-head h2 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.2;
	font-size: var(--fs-h2);
	font-weight: 400
}

.ed-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px
}

.post {
	background: var(--cream-2);
	display: flex;
	flex-direction: column
}

.post .img {
	background: url(../images/editorial.jpg) center/cover no-repeat;
	aspect-ratio: 381/272;
	width: 100%
}

.post-body {
	padding: 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 24px
}

.post-body h3 {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.25;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 400
}

.post-body p {
	font-size: 14px
}

.post .btn {
	align-self: flex-start
}

.footer {
	background: var(--dark);
	color: var(--cream);
	padding: 64px 0
}

.footer-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 91px
}

.footer-word {
	font-family: var(--serif);
	letter-spacing: -.03em;
	line-height: 1.15;
	color: var(--cream);
	font-size: clamp(3.5rem, 9vw, 7rem)
}

.footer-cols {
	display: flex;
	gap: 48px;
	flex-wrap: wrap;
	justify-content: space-between;
	flex: 1
}

.f-nav {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.f-nav a {
	font-family: 'Quicksand';
	font-size: 16px;
	line-height: 1;
	color: var(--cream);
	opacity: .9
}

.f-nav a:hover {
	opacity: 1
}

.f-contact {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 200px
}

.socials {
	display: flex;
	gap: 12px
}

.socials a {
	color: var(--gray);
	transition: color .15s
}

.socials a:hover {
	color: var(--cream)
}

.socials svg {
	width: 20px;
	height: 20px
}

.f-info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px
}

.f-legal {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.f-legal a {
	font-family: 'Quicksand';
	font-size: 16px;
	line-height: 1;
	color: var(--cream);
	opacity: .9
}

.footer-rule {
	height: 1px;
	background: rgba(250, 239, 221, .4);
	margin: 32px 0
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 14px
}

.menu-sheet {
	display: none
}

@media (max-width:1024px) {
	.title-block h1 {
	    font-size: 40px !important;
	}
	.gallery-btn {
	    width: 125px;
	}
	.villa {
		grid-template-columns: 1fr
	}

	.villa-img {
		min-height: 300px
	}

	.exp-grid {
		grid-template-columns: 1fr;
		gap: 48px
	}

	.exp-intro {
		position: static
	}

	.exp-photos {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px
	}

	.moments-bg {
		grid-template-columns: repeat(3, 1fr)
	}

	.ed-grid {
		grid-template-columns: 1fr 1fr
	}

	.post:nth-child(3) {
		grid-column: 1 / -1
	}

	.post:nth-child(3) {
		flex-direction: row
	}

	.post:nth-child(3) .img {
		flex: 0 0 45%;
		aspect-ratio: auto
	}

	.footer-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 40px
	}

	.footer-cols {
		justify-content: flex-start;
		width: 100%
	}
}

@media(max-width:720px) {

	.nav-links,
	.nav-cta .btn {
		display: none
	}

	.nav-toggle {
		display: flex
	}

	.nav-inner {
		height: 56px
	}

	body.menu-open .nav-toggle span {
		background: transparent
	}

	body.menu-open .nav-toggle span::before {
		top: 0;
		transform: rotate(45deg)
	}

	body.menu-open .nav-toggle span::after {
		top: 0;
		transform: rotate(-45deg)
	}

	.menu-sheet {
		display: flex;
		flex-direction: column;
		gap: 4px;
		position: fixed;
		inset: 0;
		z-index: 30;
		background: var(--dark);
		color: var(--cream);
		padding: 170px 28px 28px;
		transform: translateY(-100%);
		transition: transform .32s cubic-bezier(.2, .7, .2, 1)
	}

	body.menu-open .menu-sheet {
		transform: translateY(0);
		position: absolute;
        z-index: 99;
        top: 0;
        height: max-content;
	}

	.menu-sheet a {
		font-family: var(--serif);
		font-size: 32px;
		line-height: 1.5;
		color: var(--cream)
	}

	.menu-sheet .btn {
		margin-top: 20px;
		align-self: flex-start;
		font-size: 20px;
		padding: 12px 20px;
		color:#000;
	}

	.hero {
		height: auto;
		min-height: 0;
		padding-bottom: 48px
	}

	.hero-body {
		padding: 140px 4px 0
	}

	.booking {
		flex-direction: column;
		width: min(100% - 40px, 420px);
		padding: 18px;
		gap: 14px
	}

	.book-field {
		padding: 0
	}

	.book-sep,
	.book-arrow {
		display: none
	}

	.booking .btn {
		margin-left: 0;
		width: 100%;
		padding: 12px
	}

	.ode {
		min-height: 0;
		padding: 96px 0
	}

	.ode .wrap {
		grid-template-columns: 1fr
	}

	.ode-note {
		justify-self: start
	}

	.ode h2 {
		margin-top: 24px;
		max-width: none
	}

	.villa-body {
		padding: 28px 24px;
		gap: 24px
	}

	.carousel-nav.prev {
		left: 6px
	}

	.carousel-nav.next {
		right: 6px
	}

	.exp-photos {
		grid-template-columns: 1fr
	}

	.innercalm {
		background-position: center;
		min-height: 0
	}

	.innercalm .wrap {
		justify-content: stretch
	}

	.calm-col {
		width: 100%
	}

	.questions {
		min-height: 0
	}

	.questions-overlay {
		background: linear-gradient(180deg, rgba(250, 239, 221, .35), rgba(250, 239, 221, .85))
	}

	.q-col {
		width: 100%
	}

	.q-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px
	}

	.q-head p {
		max-width: none
	}

	.moments {
		padding: 64px 0
	}

	.moments-inner {
		padding: 48px 0
	}

	.moments-bg {
		grid-template-columns: repeat(2, 1fr);
		opacity: .22
	}

	.ed-head {
		flex-direction: column;
		align-items: flex-start
	}

	.ed-grid {
		grid-template-columns: 1fr
	}

	.post:nth-child(3) {
		flex-direction: column
	}

	.post:nth-child(3) .img {
		flex: none;
		aspect-ratio: 381/272
	}

	.footer-cols {
		flex-direction: column;
		gap: 36px
	}

	.footer-bottom {
		flex-direction: column
	}
}

@media(prefers-reduced-motion:reduce) {
	* {
		scroll-behavior: auto !important
	}
}

.ode,
.innercalm,
.questions {
	will-change: background-position-y
}

.exp-photos .ph {
	overflow: hidden
}

.exp-photos .ph img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.exp-item {
	
	padding-bottom: 10px;
/* 	opacity: .32; */
	transition: opacity .45s ease;
	cursor: default
}

.exp-item.exp-active {
	opacity: 1
}

.exp-item .ttl h3 {
	transition: letter-spacing .35s ease, color .35s ease
}

.exp-item.exp-active .ttl h3 {
	letter-spacing: -.02em;
	color: var(--color-primary)
}

.exp-item .ttl .glyph {
	display: none;
	opacity: 1;
	transition: opacity .3s ease
}

.exp-item.exp-active .ttl .glyph {
	display: block;
	opacity: 1
}

.exp-item p,
.exp-item p.hidden {
	display: block !important;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	margin-top: 0;
	font-size: 14px;
	max-width: 48ch;
	transition: max-height .48s cubic-bezier(0.4, 0, 0.2, 1), opacity .36s ease .06s, margin-top .36s ease
}

.exp-item.exp-active p,
.exp-item.exp-active p.hidden {
	max-height: 140px;
	opacity: 1;
	margin-top: 4px
}

.parallax-img-wrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	pointer-events: none
}

.parallax-img-wrap img {
	position: absolute;
	width: 100%;
	height: 125%;
	top: -12.5%;
	left: 0;
	object-fit: cover;
	object-position: center;
	will-change: transform;
	transform: translateY(0);
	display: block
}

.innercalm-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(270deg, rgba(250, 239, 221, .32) 38%, rgba(250, 239, 221, 0) 66%);
	z-index: 1;
	pointer-events: none
}

.questions-overlay {
	position: absolute;
	inset: 0;
	background: transparent;
	z-index: 1;
	pointer-events: none;
	transition: background .2s
}

.questions .wrap {
	position: relative;
	z-index: 2
}

.villa-owl,
.editorial-owl {
	display: block !important
}

.villa-owl .owl-item .villa,
.editorial-owl .owl-item .post {
	flex: none;
	width: 100%
}

.villa-owl .villa-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.owl-nav {
	margin-top: 28px;
	display: flex;
	gap: 10px;
	justify-content: flex-end
}
.owl-nav{
	position: absolute;
    margin: 0;
    top: 45%;
    left: 0;
    width: 100%;
	justify-content: space-between;
}

.owl-prev,
.owl-next {
	width: 34px !important;
	height: 34px !important;
	background: var(--color-button) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 0 !important;
	transition: background .18s ease !important;
	margin: 0 !important
}

.owl-prev:hover,
.owl-next:hover {
	background: var(--color-button-hover) !important
}

.owl-prev svg {
	transform: scaleX(-1)
}

.owl-prev.disabled,
.owl-next.disabled {
	opacity: .35 !important;
	cursor: not-allowed !important
}

.owl-dots {
	margin-top: 24px !important;
	display: flex;
	gap: 8px;
	justify-content: center
}

.owl-dot span {
	width: 6px !important;
	height: 6px !important;
	background: rgba(52, 38, 16, 0.25) !important;
	border-radius: 0 !important;
	margin: 0 !important;
	transition: background .2s ease, width .25s ease !important
}

.owl-dot.active span {
	background: var(--color-primary) !important;
	width: 24px !important
}

.owl-stage-outer {
	padding-bottom: 4px
}
.editorial-owl .post {
	background: var(--cream-2);
	display: flex;
	flex-direction: column;
	height: 100%
}

.editorial-owl .owl-item {
	display: flex;
	flex-direction: column
}

.carousel-track {
	display: block;
	overflow: visible
}

.carousel-nav {
	display: none !important
}

@media(max-width:720px) {
	.owl-nav {
		justify-content: center
	}

	.villa-body_inner {
		flex-direction: column
	}

	.villa-img {
		flex: none;
		min-height: 240px
	}

	.villa-body {
		padding: 24px 20px;
		gap: 20px
	}
}

.collage-section {
	max-width: 100%;
	margin: auto;
	padding: 80px 0px 120px;
	background: #121208;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 90px;
	gap: 32px
}

.item {
	overflow: hidden;
	position: relative
}

.item img {
	width: 100%;
	height: 125%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: -12.5%;
	left: 0;
	will-change: transform;
	transform: translateY(0)
}

.title-block {
	grid-column: 5/9;
	grid-row: 3/4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #f2ece0;
	z-index: 2;
    position:sticky;
    top:130px;
}

.title-block h1 {
	font-size: 68px;
    font-weight: 300;
    line-height: 88px;
    letter-spacing: -3%;
    margin-top: 12px;
    width: 15ch;
    font-family: var(--serif);
}

.gallery-btn {
	margin-top: 40px;
    background: #e8dcc9;
    color: #222;
    padding: 10px 18px;
    text-decoration: none;
    font-size: 16px;
    font-family: 'Instrument Serif';
    line-height: 24px;
}

.item-1 {
	grid-column: 2/5;
	grid-row: 1/5
}

.item-2 {
	grid-column: 8/12;
	grid-row: 1/4
}

.item-3 {
	grid-column: 11/15;
	grid-row: 4/8
}

.item-4 {
	grid-column: 5/8;
	grid-row: 4/8
}

.item-5 {
	grid-column: 1/5;
	grid-row: 6/9
}

.item-6 {
	grid-column: 8/11;
	grid-row: 6/10
}

.item-7 {
	grid-column: 11/14;
	grid-row: 11/14
}

.item-8 {
    grid-column: 2 / 5;
    grid-row: 11 / 15;
}

.item-9 {
    grid-column: 6 / 10;
    grid-row: 11 / 14;
}

.item-10 {
    grid-column: 8 / 12;
    grid-row: 15 / 17;
}
.item-11 {
    grid-column: 1 / 4;
    grid-row: 16 / 20;
}
.item-12 {
    grid-column: 5 / 10;
    grid-row: 17 / 20;
}
.hero-body .wpcf7 form.sent .wpcf7-response-output {
    background: #57b15f;
    width: 80%;
    margin: 0 auto;
    border: 0;
    padding: 10px;
}
@media only screen and (min-width:720px) and (max-width: 1024px) {
	.innercalm,.ode{
		min-height:auto !important;
	}
	section{
		padding:50px 0px  !important;
	}

	.item img {
	    height: 100%
	}
}
@media (max-width: 720px) {
	.collage-section{
		overflow-x:hidden;
	}
	.footer-word br{
		display:none;
	}
	.f-nav{
		    flex-wrap: nowrap;
    flex-direction: row;
	}
	.nav-cta::before
{
	top: -10px;
}
.nav-cta::after{
	bottom: -10px
}
	
	.villa-img {
	min-height: auto;
	}
	.owl-nav {
	display:none;
	}
	

	.item-1 {
	grid-column: 2 / 7;
	grid-row: 1 / 3;
	}
	.item-2 {
	grid-column: 8 / 14;
	grid-row: 2 / 1;
	}
	.item-3 {
	grid-column: 9 / 13;
	grid-row: 2 / 4;
	}
	.item-4 {
	grid-column: 3 / 9;
	grid-row: 3 / 5;
	}
	.item-5 {
	grid-column: 1 / 5;
	grid-row: 5 / 6;
	}
	.item-6 {
	grid-column: 6 / 12;
	grid-row: 5 / 7;
	}
	.item-7 {
	grid-column: 3 / 10;
	grid-row: 9 / 11;
	}
	.item-8 {
	grid-column: 1 / 5;
	grid-row: 8 / 6;
	}
	.item-9 {
	grid-column: 5 / 11;
	grid-row: 7 / 9;
	}
	.item-10 {
	grid-column: 4 / 12;
	grid-row: 12 / 11;
	}
	.item-11 {
	grid-column: 1 / 7;
	grid-row: 14 / 12;
	}
	.item-12 {
	grid-column: 7 / 13;
	grid-row: 13 / 13;
	}
	.title-block{
	top:85px;
	}
	section{
	padding:20px  0px !important;
	}
}
.stats {
    position: relative;
}
.stats::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-6-4.svg) no-repeat center;
    background-size: contain;
    top: -5px;
    left: -5px
}

.stats::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
    bottom: -4px;
    left: -5px
}
.stat {
    position: relative;
}
.stats .stat:first-child::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
    top: -5px;
    right: -6px;
    transform: rotate(-180deg);
}

.stats .stat:first-child::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
   bottom: -5px;
    right: -5px;
    transform: rotate(270deg);
}
.stats .stat:nth-child(2)::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
    top: -5px;
    right: -5px;
    transform: rotate(-180deg);
}

.stats .stat:nth-child(2)::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
   bottom: -5px;
    right: -5px;
    transform: rotate(270deg);
}
.stats .stat:last-child::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
    top: -5px;
    right: -5px;
    transform: rotate(-180deg);
}

.stats .stat:last-child::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(/wp-content/uploads/2026/06/Group-7-1.svg) no-repeat center;
    background-size: contain;
   bottom: -5px;
    right: -5px;
    transform: rotate(270deg);
}
.exp-mobile { display: none; }

  @media (max-width: 1025px) {
	  .footer-cols > nav.f-nav,
	  .footer-cols .f-legal{
		  flex-direction: row;
	  }

	  .footer-word br{
		  display:none;
	  }
	  .footer-cols {
        
        flex-direction: column;
    }
	  .exp-mobile__intro .italic {
    font-style: normal;
    font-family: 'Instrument Serif';
    font-weight: 400;
}
	   .exp-mobile__card-text img.glyph{
		   width:34px;
	   }
	   .exp-mobile__card-text .ttl{
		      display: flex;
			align-items: center;
			gap: 12px; 
	   }
     /* Hide desktop columns */
     .exp-intro--desktop  { display: none; }
     .exp-photos--desktop { display: none; }

     /* Show mobile block, full width */
     .exp-grid   { display: block; }
     .exp-mobile { display: block; }

     /* Intro text */
     .exp-mobile__intro {
       text-align: center;
       margin-bottom: 2rem;
     }

     /* Each paired card */
     .exp-mobile__card {
       margin-bottom: 2.5rem;
     }

     /* Text block inside card */
     .exp-mobile__card-text {
       margin-bottom: 1rem;
     }

     /* Photo fills full width */
     .exp-mobile__card-photo img {
       width: 100%;
       height: auto;
       display: block;
       border-radius: 0px; /* adjust to match your theme */
     }
   }

.editorial-progress {
    width: 100%;
    height: 2px;
    background:rgba(185, 180, 171, 1);
    border-radius: 20px;
    overflow: hidden;
    margin-top: 30px;
}

.editorial-progress-bar {
    width: 0;
    height: 100%;
    background: rgba(52, 38, 16, 1);
    border-radius: 20px;
    transition: width .4s ease;
}
.villa-progress {
    width: 100%;
    height: 2px;
    background: rgba(185, 180, 171, 1);
    border-radius: 20px;
    overflow: hidden;
    margin-top: 24px;
}

.villa-progress-bar {
    width: 0;
    height: 100%;
    background:  rgba(52, 38, 16, 1);
    border-radius: 20px;
    transition: width .4s ease;
}
html.lenis body > div:not(.animate, .menu-sheet) {
    display: none !important;
    visibility:hidden;
    opacity:0;
    position:fixed;
    z-index:-10;
}