:root {
--plum:#6F3376;
--beige:#F3E8DC;
--linen:#F7F2EB;
--oat:#ECE4D8;
--stone:#CFC5B8;
--charcoal:#2C2B2A;
--warm-grey:#756C65;
--sage:#A99A8B;
--sage-light:#DDD0BE;
--sage-dark:#6F3376;
--cream:#F6F1EA;
--warm-white:#F7F2EB;
--terracotta:#9B7666;
--gold:#6F3376;
--gold-light:#D8BEDA;
--deep-green:#2C2B2A;
--glass-bg:rgba(243, 232, 220, .08);
--glass-border:rgba(243, 232, 220, .15);
}
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: 'Syne', sans-serif;
	background: var(--charcoal);
	color: var(--cream);
	overflow-x: hidden;
	cursor: none;
}
.color {
	background:var(--charcoal);
}
/* ── CUSTOM CURSOR ── */
.cursor-dot {
	width: 8px;
	height: 8px;
	background: var(--gold);
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 9999;
	transform: translate(-50%, -50%);
	transition: transform 0.1s ease;
}
.cursor-ring {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(201, 169, 110, 0.5);
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 9998;
	transform: translate(-50%, -50%);
	transition: transform 0.15s ease, width 0.3s, height 0.3s, border-color 0.3s;
}
.cursor-ring.hovered {
	width: 60px;
	height: 60px;
	border-color: var(--gold);
}

/* ── NOISE OVERLAY ── */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 9997;
opacity: 0.4;
}
/* ── TYPOGRAPHY ── */
.font-display {
	font-family: 'Cormorant Garamond', serif;
}
.font-ui {
	font-family: 'Syne', sans-serif;
}
h1, h2, h3 {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 300;
}
/* ── NAVBAR ── */
.navbar-custom1 {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	padding: 1.5rem 3rem;
	transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	background: rgba(35, 54, 45, 0.99);
}
.navbar-custom {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	padding: 1rem 3rem;
	transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.navbar-custom.scrolled {
	background: rgba(26, 26, 24, 0.99);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	padding: 1rem 3rem;
}
.navbar-brand-text {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--cream) !important;
	text-decoration: none;
}
.navbar-brand-text img {
	width:40%;
}
.nav-link-custom {
	font-family: 'Syne', sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(245, 240, 232, 0.75) !important;
	text-decoration: none;
	transition: color 0.3s;
	padding: 0.3rem 0;
	position: relative;
}
.nav-link-custom::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: var(--gold);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-link-custom:hover {
	color: var(--cream) !important;
}
.nav-link-custom:hover::after {
transform: scaleX(1);
}
.btn-nav-book {
	font-family: 'Syne', sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--charcoal);
	background: var(--gold);
	border: none;
	padding: 0.6rem 1.5rem;
	transition: all 0.3s ease;
	text-decoration: none;
}
.btn-nav-book:hover {
	background: var(--gold-light);
	color: var(--charcoal);
}
/* ── HERO ── */
.hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--deep-green);
}
.hero-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.hero-bg-gradient {
	position: absolute;
	inset: 0;
	background: url(../images/hero.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(28, 24, 20, .4) 0%, rgba(28, 24, 20, .2) 40%, var(--bg) 100%);
}
.hero-content {
	position: relative;
	z-index: 10;
	text-align: center;
	padding: 0 1.5rem;
}
.hero-eyebrow {
	font-family: 'Syne', sans-serif;
	font-size: 0.68rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 2rem;
	opacity: 0;
	animation: fadeUp 1s ease forwards 0.5s;
}
.hero-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(4rem, 10vw, 9rem);
	font-weight: 300;
	line-height: 0.95;
	color: var(--cream);
	letter-spacing: -0.01em;
	margin-bottom: 1.5rem;
	opacity: 0;
	animation: fadeUp 1.2s ease forwards 0.7s;
}
.hero-title em {
	font-style: italic;
	color: var(--sage-light);
}
.hero-subtitle {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.05rem;
	font-weight: 300;
	color: rgba(245, 240, 232, 0.65);
	letter-spacing: 0.04em;
	max-width:680px;
	margin: 0 auto 3rem;
	opacity: 0;
	animation: fadeUp 1.2s ease forwards 0.9s;
}
.hero-ctas {
	display: flex;
	gap: 1.2rem;
	justify-content: center;
	flex-wrap: wrap;
	opacity: 0;
	animation: fadeUp 1.2s ease forwards 1.1s;
}
.btn-primary-gold {
	font-family: 'Syne', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #fff;
	background: var(--gold);
	border: 2px solid var(--gold);
	padding: 0.9rem 2.5rem;
	text-decoration: none;
	transition: all 0.4s ease;
	display: inline-block;
}
.btn-primary-gold:hover {
	background: transparent;
	color: var(--gold);
}
.btn-outline-cream {
	font-family: 'Syne', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cream);
	background: transparent;
	border: 1px solid rgba(245, 240, 232, 0.3);
	padding: 0.9rem 2.5rem;
	text-decoration: none;
	transition: all 0.4s ease;
	display: inline-block;
}
.btn-outline-cream:hover {
	border-color: var(--cream);
	color: var(--charcoal);
	background: var(--cream);
}
.hero-scroll-indicator {
	position: absolute;
	bottom: 2.5rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	opacity: 0;
	animation: fadeIn 1s ease forwards 1.8s;
}
.hero-scroll-indicator span {
	font-family: 'Syne', sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(245, 240, 232, 0.4);
}
.scroll-line {
	width: 1px;
	height: 50px;
	background: linear-gradient(to bottom, var(--gold), transparent);
	animation: scrollPulse 2s ease infinite;
}
.hero-slider {
	position: relative;
	min-height: 100vh;
}
.hero-slide {
	min-height: 100vh;
	background-size: cover;
	background-position: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hero-overlay-dark {
	position: absolute;
	inset: 0;
	background:
linear-gradient( rgba(20, 20, 20, .55), rgba(20, 20, 20, .65) );
}
.hero-slide-content {
	position: relative;
	z-index: 5;
	max-width: 900px;
	width: 100%;
	padding: 0 20px;
	text-align: center;
}
.hero-title, .hero-subtitle, .hero-eyebrow {
	text-align: center;
}
.hero-ctas {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.hero-title {
	color: #fff;
}
.hero-subtitle {
	color: rgba(255, 255, 255, .9);
	max-width: 700px;
	margin: 0 auto 30px;
}
.carousel-item {
	transition: transform 1.2s ease-in-out;
}
.carousel-fade .carousel-item {
	opacity: 0;
	transition: opacity 1.5s ease;
}
.carousel-fade .carousel-item.active {
	opacity: 1;
}
/* ── MARQUEE STRIP ── */
.marquee-section {
	background: var(--sage-dark);
	padding: 1rem 0;
	overflow: hidden;
}
.marquee-track {
	display: flex;
	gap: 0;
	animation: marquee 25s linear infinite;
	white-space: nowrap;
}
.marquee-item {
	font-family: 'Syne', sans-serif;
	font-size: 1.2rem;
	color: rgba(245, 240, 232, 0.6);
	letter-spacing: 0em;
	padding: 0 2.5rem;
	flex-shrink: 0;
}
.marquee-item span {
	color: var(--gold);
	margin: 0 0.5rem;
	font-style: normal;
	font-size: 0.6rem;
	vertical-align: middle;
}
/* ── WELCOME / INTRO ── */
.section-intro {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.section-intro::before {
content: '';
position: absolute;
font-family: 'Cormorant Garamond', serif;
font-size: clamp(8rem, 20vw, 18rem);
font-weight: 300;
color: rgba(122, 155, 118, 0.07);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
white-space: nowrap;
pointer-events: none;
letter-spacing: 0.1em;
}
.intro-label {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--sage);
	margin-bottom: 1.5rem;
	font-weight: 400;
}
.intro-heading {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 500;
	line-height: 1;
	color: var(--charcoal);
	margin-bottom:0.2em;
}
.intro-heading em {
	font-style: italic;
	color: var(--sage-dark);
}
.intro-body {
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.65;
	color: var(--warm-grey);
	max-width: 600px;
}
.intro-stat {
	border-left: 2px solid var(--gold);
	padding-left: 1.5rem;
	margin-bottom: 2rem;
}
.intro-stat-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 3.5rem;
	font-weight: 300;
	color: var(--sage-dark);
	line-height: 1;
	margin-bottom: 0.2rem;
}
.intro-stat-label {
	font-family: 'Syne', sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--warm-grey);
}
.intro-image-wrap {
	position: relative;
}
.intro-image-frame {
	position: relative;
	aspect-ratio: 4/4;
	overflow: hidden;
	background: var(--sage);
}
.intro-image-frame::before {
content: '';
position: absolute;
inset: 0;
z-index: 1;
}
.intro-image-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.7);
	transition: filter 0.6s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.intro-image-frame:hover img {
	filter: saturate(1);
	transform: scale(1.03);
}
.intro-image-accent {
	position: absolute;
	bottom: -1.5rem;
	right: -1.5rem;
	width: 60%;
	aspect-ratio: 1;
	border: 1px solid var(--gold);
	z-index: -1;
}
/* ── INTRO OFFER BANNER ── */
.offer-banner {
	background: var(--deep-green);
	padding: 2.5rem;
	position: relative;
	overflow: hidden;
}
/*.offer-banner::before {
content: '';
position: absolute;
inset: 0;
}*/
.offer-tag {
	font-family: 'Syne', sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	background: var(--terracotta);
	color: white;
	padding: 0.3rem 0.8rem;
	display: inline-block;
	margin-bottom: 0rem;
}
.offer-text {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 500;
	color: #333;
}
.offer-price {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	font-weight: 500;
	color: #6f3476;
	margin: 0 1rem;
}
/* ── CLASSES SECTION ── */
.section-classes {
	background: var(--charcoal);
	padding: 4rem 0;
	position: relative;
}
.section-label {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 1rem;
	font-weight: 700;
}
.section-heading {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 300;
	line-height: 1.1;
	color: #333;
}
.section-heading em {
	font-style: italic;
	color: var(--sage-light);
}
.class-card {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	background: var(--deep-green);
	border: 1px solid rgba(122, 155, 118, 0.15);
	transition: border-color 0.4s;
}
.class-card:hover {
	border-color: rgba(201, 169, 110, 0.4);
}
.class-card-inner {
	padding: 2.5rem 2rem;
	position: relative;
	z-index: 1;
}
.class-card-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(122, 155, 118, 0.05), transparent);
	transition: opacity 0.4s;
}
.class-card:hover .class-card-bg {
	opacity: 0;
}
.class-card-num {
	font-family: 'Syne', sans-serif;
	font-size: 2rem;
	color: #fff;
	margin-bottom: 1.5rem;
	font-weight: 400;
}
.class-card-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--cream);
	margin-bottom: 1rem;
	line-height: 1.1;
}
.class-card-desc {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(245, 240, 232, 0.85);
	margin-bottom: 1.5rem;
}
.class-card-level {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: var(--sage-light);
	padding: 0.3rem 0.8rem;
	border: 1px solid rgba(168, 196, 164, 0.3);
	display: inline-block;
	font-weight: 700;
}
.class-card-arrow {
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(201, 169, 110, 0.3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold);
	font-size: 0.8rem;
	transform: translate(10px, 10px) rotate(0deg);
	opacity: 0;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.class-card:hover .class-card-arrow {
	transform: translate(0, 0);
	opacity: 1;
}
/* ── IMMERSIVE QUOTE ── */
.section-quote {
	position: relative;
	padding: 5rem 0;
	overflow: hidden;
	background: var(--sage-dark);
}
.section-quote::before {
content: '';
position: absolute;
inset: 0;
background: 
radial-gradient(ellipse 80% 60% at 30% 50%, rgba(245, 240, 232, 0.06), transparent), radial-gradient(ellipse 50% 80% at 80% 70%, rgba(201, 169, 110, 0.08), transparent);
}
.quote-marks {
	font-family: 'Cormorant Garamond', serif;
	font-size: 15rem;
	line-height: 0.5;
	color: rgba(245, 240, 232, 0.06);
	position: absolute;
	top: 2rem;
	left: 2rem;
	pointer-events: none;
	font-weight: 300;
}
.quote-text {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(1.8rem, 4vw, 3.2rem);
	font-weight: 300;
	font-style: italic;
	line-height: 1.05;
	color: var(--cream);
	position: relative;
	z-index: 1;
}
.quote-attr {
	font-family: 'Syne', sans-serif;
	font-size: 1rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #fff;
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
	font-weight:700;
}
/* ── TREATMENTS SECTION ── */
.section-treatments {
	background: var(--warm-white);
	padding: 8rem 0;
	position: relative;
	color: var(--charcoal);
}
.treatment-card {
	position: relative;
	background: white;
	border-bottom: 2px solid transparent;
	padding: 2.5rem 2rem;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: pointer;
	overflow: hidden;
}
.treatment-card::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--sage), var(--gold));
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.treatment-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 50px rgba(26, 26, 24, 0.1);
}
.treatment-card:hover::before {
transform: scaleX(1);
}
.treatment-icon {
	width: 48px;
	height: 48px;
	background: rgba(122, 155, 118, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
	font-size: 1.2rem;
}
.treatment-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 600;
	color: var(--charcoal);
	margin-bottom: 0.75rem;
}
.treatment-desc {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--warm-grey);
	font-weight: 300;
	margin-bottom: 1.5rem;
}
.treatment-price {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--sage-dark);
}
/* ── MEMBERSHIPS ── */
.section-memberships {
	background: #e7ddd3;
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.section-memberships::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 1px;
height: 100%;
background: linear-gradient(to bottom, transparent, rgba(201, 169, 110, 0.15), transparent);
}
.membership-card {
	border: 1px solid rgba(245, 240, 232, 0.1);
	padding: 3rem 2.5rem;
	position: relative;
	overflow: hidden;
	transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
	background: rgba(245, 240, 232, 0.02);
}
.membership-card:hover {
	border-color: rgba(201, 169, 110, 0.4);
	background: rgba(245, 240, 232, 0.04);
	transform: translateY(-8px);
}
.membership-card.featured {
	border-color: var(--gold);
	background: rgba(201, 169, 110, 0.06);
}
.membership-card.featured::before {
content: 'Most Popular';
position: absolute;
top: 1.5rem;
right: 1.5rem;
font-family: 'Syne', sans-serif;
font-size: 0.6rem;
letter-spacing: 0.2em;
text-transform: uppercase;
background: var(--gold);
color: #fff;
padding: 0.3rem 0.8rem;
}
.membership-tier {
	font-family: 'Syne', sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color:#333;
	margin-bottom: 0.5rem;
}
.membership-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.2rem;
	font-weight: 300;
	color:#333;
	margin-bottom: 0.5rem;
}
.membership-price {
	font-family: 'Cormorant Garamond', serif;
	font-size: 3.5rem;
	font-weight: 300;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 0.3rem;
}
.membership-price sup {
	font-size: 2rem;
	vertical-align: super;
}
sup {
	top: -.2em;
}
.membership-period {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #333;
	margin-bottom: 1rem;
	margin-top:1em;
}
.membership-tagline {
	font-size: 1rem;
	font-weight: 300;
	color: #333;
	line-height: 1.6;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(245, 240, 232, 0.08);
}
.membership-feature {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.9rem;
	font-size: 0.85rem;
	color: rgba(245, 240, 232, 0.7);
	font-weight: 300;
}
.membership-feature::before {
content: '✦';
color: var(--gold);
font-size: 0.55rem;
margin-top: 0.3rem;
flex-shrink: 0;
}
.btn-membership {
	font-family: 'Syne', sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	display: block;
	width: 100%;
	padding: 1rem;
	text-align: center;
	text-decoration: none;
	margin-top: 2rem;
	border: 1px solid rgba(245, 240, 232, 0.25);
	color: var(--cream);
	transition: all 0.4s;
}
.btn-membership:hover, .membership-card.featured .btn-membership {
	background: var(--gold);
	border-color: var(--gold);
	color: var(--charcoal);
}
/* ── RETREATS SECTION ── */
.section-retreats {
	background: var(--deep-green);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.retreat-item {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/5;
	cursor: pointer;
	background: rgba(122, 155, 118, 0.2);
}
.retreat-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(29, 48, 40, 0.95) 0%, rgba(29, 48, 40, 0.3) 60%, transparent 100%);
	z-index: 1;
	transition: opacity 0.4s;
}
.retreat-item:hover .retreat-overlay {
	opacity: 0.8;
}
.retreat-visual {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.retreat-visual svg {
	width: 100%;
	height: 100%;
	opacity: 0.3;
}
.retreat-info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2rem;
	z-index: 2;
	transform: translateY(0);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.retreat-item:hover .retreat-info {
	transform: translateY(-8px);
}
.retreat-location {
	font-family: 'Syne', sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 0.5rem;
}
.retreat-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 300;
	color: var(--cream);
	margin-bottom: 0.5rem;
}
.retreat-date {
	font-size: 0.82rem;
	font-weight: 300;
	color: rgba(245, 240, 232, 0.6);
}
.retreat-status {
	font-family: 'Syne', sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	display: inline-block;
	padding: 0.3rem 0.8rem;
	margin-top: 1rem;
}
.status-sold {
	background: rgba(196, 114, 90, 0.2);
	color: var(--terracotta);
	border: 1px solid rgba(196, 114, 90, 0.3);
}
.status-book {
	background: rgba(122, 155, 118, 0.2);
	color: var(--sage-light);
	border: 1px solid rgba(122, 155, 118, 0.3);
}
/* ── EVENTS ── */
.section-events {
	background: var(--warm-white);
	padding: 8rem 0;
	color: var(--charcoal);
}
.event-row {
	display: grid;
	grid-template-columns: 90px 1fr auto;
	gap: 2rem;
	align-items: center;
	padding: 2rem 0;
	border-bottom: 1px solid rgba(26, 26, 24, 0.08);
	cursor: pointer;
	transition: all 0.3s;
}
.event-row:hover {
	padding-left: 1rem;
}
.event-date {
	text-align: center;
}
.event-day {
	font-family: 'Cormorant Garamond', serif;
	font-size: 3.5rem;
	font-weight: 400;
	color: var(--sage-dark);
	line-height: 1;
}
.event-month {
	font-family: 'Syne', sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 400;
}
.event-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--charcoal);
	margin-bottom: 0.3rem;
}
.event-meta {
	font-size:1rem;
	color: var(--warm-grey);
	font-weight: 400;
}
.event-cta {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--sage-dark);
	text-decoration: none;
	border-bottom: 1px solid var(--sage-dark);
	padding-bottom: 2px;
	white-space: nowrap;
	transition: all 0.3s;
	font-weight: 700;
}
.event-cta:hover {
	color: var(--terracotta);
	border-color: var(--terracotta);
}
/* ── TESTIMONIALS ── */
.section-testimonials {
	background: var(--charcoal);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
/* ==============================
   CAROUSEL
============================== */

.testimonial-carousel {
	position: relative;
	padding: 0 55px 55px;
}
.testimonial-carousel .carousel-inner {
	overflow: hidden;
}
.testimonial-carousel .carousel-item {
	transition: transform 0.8s cubic-bezier(.65, 0, .35, 1);
}
/* ==============================
   TESTIMONIAL CARD
============================== */

.testimonial-card {
	background: var(--glass-bg);
	border: 1px solid var(--glass-border);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 3rem 2.5rem;
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	transition:
 transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.testimonial-card:hover {
	transform: translateY(-7px);
	border-color: rgba(255, 255, 255, 0.25);
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}
.testimonial-quote {
	font-family: 'Cormorant Garamond', serif;
	font-size: 0.8rem;
	color: var(--gold);
	letter-spacing: 0.1em;
	margin-bottom: 1.5rem;
}
.testimonial-text {
	font-family: 'Syne', sans-serif;
	font-size: 1rem;
	font-weight: 400;
	font-style: italic;
	color: var(--cream);
	line-height: 1.6;
	margin-bottom: 2rem;
	flex-grow: 1;
}
.testimonial-author {
	font-family: 'Syne', sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sage-light);
	margin-bottom: 0;
}
.testimonial-stars {
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: 1rem;
	letter-spacing: 0.15em;
}
/* ==============================
   ARROWS
============================== */

.testimonial-carousel .carousel-control-prev, .testimonial-carousel .carousel-control-next {
	width: 46px;
	height: 46px;
	top: 50%;
	transform: translateY(-70%);
	opacity: 1;
	border: 1px solid var(--glass-border);
	background: var(--glass-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 50%;
	transition: all 0.3s ease;
}
.testimonial-carousel .carousel-control-prev {
	left: 0;
}
.testimonial-carousel .carousel-control-next {
	right: 0;
}
.testimonial-carousel .carousel-control-prev:hover, .testimonial-carousel .carousel-control-next:hover {
	background: var(--sage-dark);
	border-color: var(--sage-dark);
	transform: translateY(-70%) scale(1.08);
}
.testimonial-arrow-icon {
	font-size: 1rem;
	line-height: 1;
	color: var(--cream);
	font-family: Arial, sans-serif;
}
/* ==============================
   INDICATORS / DOTS
============================== */

.testimonial-indicators {
	position: absolute;
	bottom: 0;
	margin: 0;
	gap: 8px;
}
.testimonial-indicators [data-bs-target] {
	width: 9px;
	height: 9px;
	border: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.35);
	opacity: 1;
	margin: 0;
	transition: all 0.3s ease;
}
.testimonial-indicators .active {
	width: 26px;
	border-radius: 20px;
	background-color: var(--sage-light);
}

/* ==============================
   TABLET
============================== */

@media (max-width: 991px) {
 .section-testimonials {
 padding: 6rem 0;
}
 .testimonial-carousel {
 padding: 0 45px 55px;
}
 .testimonial-card {
 padding: 2.5rem 2rem;
}
 .testimonial-text {
 font-size: 0.95rem;
}
 .testimonial-carousel .carousel-control-prev, .testimonial-carousel .carousel-control-next {
 width: 42px;
 height: 42px;
}
}

/* ==============================
   MOBILE
============================== */

@media (max-width: 767px) {
 .section-testimonials {
 padding: 5rem 0;
}
 .testimonial-carousel {
 padding: 0 0 55px;
}
 .testimonial-card {
 padding: 2.2rem 1.7rem;
 min-height: auto;
}
 .testimonial-text {
 font-size: 0.95rem;
 line-height: 1.65;
}
 .testimonial-author {
 font-size: 0.8rem;
}
 .testimonial-stars {
 font-size: 1.25rem;
}

  /* Move arrows below card on mobile */

  .testimonial-carousel .carousel-control-prev, .testimonial-carousel .carousel-control-next {
 top: auto;
 bottom: 0;
 transform: none;
 width: 38px;
 height: 38px;
}
 .testimonial-carousel .carousel-control-prev:hover, .testimonial-carousel .carousel-control-next:hover {
 transform: scale(1.05);
}
 .testimonial-carousel .carousel-control-prev {
 left: calc(50% - 90px);
}
 .testimonial-carousel .carousel-control-next {
 right: calc(50% - 90px);
}
 .testimonial-indicators {
 bottom: 14px;
}
}

/* ==============================
   SMALL MOBILE
============================== */

@media (max-width: 480px) {
 .section-testimonials {
 padding: 4rem 0;
}
 .testimonial-card {
 padding: 2rem 1.4rem;
}
 .testimonial-text {
 font-size: 0.9rem;
}
 .testimonial-author {
 font-size: 0.75rem;
}
}
/* ── NEWSLETTER ── */
.section-newsletter {
	background: var(--sage-dark);
	padding: 6rem 0;
	position: relative;
	overflow: hidden;
}
.section-newsletter::before {
content: '';
position: absolute;
inset: 0;
background: 
radial-gradient(ellipse 80% 60% at 80% 50%, rgba(201, 169, 110, 0.12), transparent);
}
.newsletter-form {
	display: flex;
	gap: 0;
	max-width: 480px;
}
.newsletter-input {
	flex: 1;
	background: rgba(245, 240, 232, 0.08);
	border: 1px solid rgba(245, 240, 232, 0.2);
	border-right: none;
	padding: 1rem 1.5rem;
	color: var(--cream);
	font-family: 'DM Sans', sans-serif;
	font-size: 0.9rem;
	outline: none;
	transition: border-color 0.3s;
}
.newsletter-input::placeholder {
color: rgba(245, 240, 232, 0.4);
}
.newsletter-input:focus {
	border-color: var(--gold);
}
.newsletter-btn {
	font-family: 'Syne', sans-serif;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	background: var(--gold);
	color: var(--charcoal);
	border: none;
	padding: 1rem 1.5rem;
	cursor: pointer;
	transition: background 0.3s;
	white-space: nowrap;
}
.newsletter-btn:hover {
	background: var(--gold-light);
}
/* ── FOOTER ── */
footer {
	background: var(--charcoal);
	padding: 5rem 0 2.5rem;
	border-top: 1px solid rgba(245, 240, 232, 0.06);
}
.footer-logo {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 300;
	color: var(--cream);
	letter-spacing: 0.1em;
	margin-bottom: 1rem;
}
.footer-logo img {
	width:25%;
}
.footer-tagline {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.90rem;
	font-weight: 300;
	color: rgba(245, 240, 232, 0.45);
	margin-bottom: 2rem;
	line-height: 1.7;
	max-width: 350px;
}
.footer-tagline a {
	color: rgba(245, 240, 232, 0.45);
	text-decoration:none;
}
.footer-tagline a:hover {
	color: rgba(245, 240, 232, 0.99);
	text-decoration:none;
}
.footer-heading {
	font-family: 'Syne', sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 1.5rem;
}
.footer-links {
	list-style: none;
	padding: 0;
}
.footer-links li {
	margin-bottom: 0.7rem;
}
.footer-links a {
	font-size: 0.88rem;
	font-weight: 300;
	color: rgba(245, 240, 232, 0.55);
	text-decoration: none;
	transition: color 0.3s;
}
.footer-links a:hover {
	color: var(--cream);
}
.footer-social {
	display: flex;
	gap: 1rem;
	margin-top: 1.5rem;
}
.footer-social a {
	width: 36px;
	height: 36px;
	border: 1px solid rgba(245, 240, 232, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(245, 240, 232, 0.5);
	text-decoration: none;
	font-size: 0.75rem;
	transition: all 0.3s;
}
.footer-social a:hover {
	border-color: var(--gold);
	color: var(--gold);
}
.footer-bottom {
	margin-top: 1rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(245, 240, 232, 0.06);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
}
.footer-copy {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: rgba(245, 240, 232, 0.3);
}
/* ── FLOATING PARTICLES ── */
.particles-wrap {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}
.particle {
	position: absolute;
	width: 2px;
	height: 2px;
	background: var(--gold);
	border-radius: 50%;
	animation: floatParticle var(--dur, 15s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
	opacity: 0;
	left: var(--x, 50%);
	top: var(--y, 50%);
}
/* ── GLASSMORPHISM CARDS ── */
.glass-card {
	background: rgba(245, 240, 232, 0.06);
	border: 1px solid rgba(245, 240, 232, 0.12);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
/* ── SCROLL REVEAL ── */
.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}
.reveal-left {
	opacity: 0;
	transform: translateX(-30px);
	transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-left.visible {
	opacity: 1;
	transform: translateX(0);
}
.reveal-right {
	opacity: 0;
	transform: translateX(30px);
	transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-right.visible {
	opacity: 1;
	transform: translateX(0);
}
/* ── DECORATIVE LINES ── */
.deco-line {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	color: var(--gold);
}
.deco-line::before, .deco-line::after {
content: '';
width: 40px;
height: 1px;
background: var(--gold);
opacity: 0.5;
}
/* ── SCHEDULE PREVIEW ── */
.schedule-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: rgba(122, 155, 118, 0.12);
	border: 1px solid rgba(122, 155, 118, 0.2);
	padding: 0.5rem 1rem;
	margin: 0.3rem;
}
.schedule-pill-time {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: var(--gold);
}
.schedule-pill-name {
	font-size: 0.8rem;
	font-weight: 700;
	color: rgba(245, 240, 232, 0.8);
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
.navbar-custom {
padding: 1.2rem 1.5rem;
}
.navbar-custom.scrolled {
padding: 0.8rem 1.5rem;
}
.hero-title {
font-size: clamp(3rem, 14vw, 5rem);
}
.section-intro, .section-classes, .section-memberships, .section-retreats, .section-events, .section-testimonials, .section-newsletter, .section-treatments, .section-quote {
padding: 5rem 0;
}
.intro-image-accent {
display: none;
}
.event-row {
grid-template-columns: 60px 1fr;
}
.event-cta {
display: none;
}
.newsletter-form {
flex-direction: column;
}
.newsletter-input {
border-right: 1px solid rgba(245, 240, 232, 0.2);
}
.footer-bottom {
flex-direction: column;
text-align: center;
}
body {
cursor: auto;
}
.cursor-dot, .cursor-ring {
display: none;
}
}
@media (max-width: 576px) {
.hero-ctas {
flex-direction: column;
align-items: center;
}
.hero-ctas a {
width: 100%;
text-align: center;
}
}

/* ── KEYFRAMES ── */
@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(25px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
	opacity: 1;
}
}
@keyframes marquee {
from {
transform: translateX(0);
}
to {
	transform: translateX(-50%);
}
}
@keyframes scrollPulse {
0%, 100% {
transform: scaleY(1);
transform-origin: top;
opacity: 1;
}
50% {
transform: scaleY(0.5);
transform-origin: top;
opacity: 0.5;
}
}
@keyframes floatParticle {
0% {
opacity: 0;
transform: translateY(0) scale(0);
}
10% {
opacity: 0.6;
transform: translateY(-20px) scale(1);
}
90% {
opacity: 0.3;
transform: translateY(-150px) scale(1);
}
100% {
opacity: 0;
transform: translateY(-170px) scale(0);
}
}
@keyframes rotateSlow {
from {
transform: rotate(0deg);
}
to {
	transform: rotate(360deg);
}
}
@keyframes breathe {
0%, 100% {
transform: scale(1);
opacity: 0.3;
}
50% {
transform: scale(1.1);
opacity: 0.5;
}
}
/* ── HERO ANIMATED BACKGROUND ── */
.hero-orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.hero-orb-1 {
	width: 600px;
	height: 600px;
	top: 50%;
	left: 20%;
	transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(122, 155, 118, 0.15), transparent 70%);
	animation: breathe 8s ease-in-out infinite;
}
.hero-orb-2 {
	width: 400px;
	height: 400px;
	top: 30%;
	right: 10%;
	background: radial-gradient(circle, rgba(201, 169, 110, 0.08), transparent 70%);
	animation: breathe 12s ease-in-out infinite reverse;
}
.hero-orb-3 {
	width: 200px;
	height: 200px;
	bottom: 20%;
	left: 60%;
	background: radial-gradient(circle, rgba(122, 155, 118, 0.12), transparent 70%);
	animation: breathe 6s ease-in-out infinite 2s;
}
/* ── GEOMETRIC LINES HERO ── */
.hero-lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}
.hero-lines svg {
	width: 100%;
	height: 100%;
}
/* ── MOBILE NAV ── */
.navbar-toggler-custom {
	background: none;
	border: 1px solid rgba(245, 240, 232, 0.3);
	padding: 0.4rem 0.6rem;
	cursor: pointer;
}
.navbar-toggler-custom span {
	display: block;
	width: 22px;
	height: 1px;
	background: var(--cream);
	margin: 5px 0;
	transition: all 0.3s;
}
.mobile-nav {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(26, 26, 24, 0.98);
	backdrop-filter: blur(20px);
	z-index: 999;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
.mobile-nav.open {
	display: flex;
}
.mobile-nav a {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.7;
	transition: opacity 0.3s;
}
.mobile-nav a:hover {
	opacity: 1;
}
.mobile-nav-close {
	position: absolute;
	top: 2rem;
	right: 2rem;
	background: none;
	border: none;
	color: var(--cream);
	font-size: 1.5rem;
	cursor: pointer;
	opacity: 0.6;
	font-family: 'Syne', sans-serif;
}
.mobile-nav-close:hover {
	opacity: 1;
}
/* Gradient text */
.text-gradient {
	background: linear-gradient(135deg, var(--sage-light), var(--gold));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
/* ── CANCELLATION POLICY THEME ── */
.section-cancellation {
	background: var(--deep-green);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.section-cancellation::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 70% 60% at 10% 20%, rgba(122, 155, 118, 0.16), transparent), radial-gradient(ellipse 60% 70% at 90% 80%, rgba(201, 169, 110, 0.12), transparent);
}
.cancellation-card {
	position: relative;
	z-index: 1;
	background: rgba(245, 240, 232, 0.06);
	border: 1px solid rgba(245, 240, 232, 0.14);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: 3rem;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.18);
}
.cancellation-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(201, 169, 110, 0.14);
	border: 1px solid rgba(201, 169, 110, 0.45);
	color: var(--gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	margin-right: 1rem;
}
.cancellation-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.2rem, 4vw, 2.8rem);
	font-weight: 300;
	color: var(--cream);
}
.cancellation-intro {
	font-size: 1.08rem;
	font-weight: 300;
	line-height: 1.8;
	color: rgba(245, 240, 232, 0.72);
	max-width: 900px;
	margin-bottom: 2rem;
}
.booking-policy h4 {
	font-family: 'Syne', sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 1rem;
}
.booking-policy h4 span {
	width: 22px;
	height: 22px;
	border: 1px solid var(--gold);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.7rem;
	font-size: 0.75rem;
}
.booking-policy ul {
	padding-left: 1.2rem;
	margin-bottom: 2.2rem;
}
.booking-policy li {
	color: rgba(245, 240, 232, 0.72);
	font-size: 1rem;
	font-weight: 300;
	margin-bottom: 0.8rem;
}
.booking-policy li::marker {
color: var(--gold);
}
.health-box {
	background: rgba(122, 155, 118, 0.12);
	border-left: 3px solid var(--sage-light);
	padding: 1.3rem 1.5rem;
	margin-bottom: 2rem;
}
.health-box h5 {
	font-family: 'Syne', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sage-light);
	margin-bottom: 0.7rem;
}
.health-box p {
	color: rgba(245, 240, 232, 0.72);
	font-size: 0.95rem;
	line-height: 1.7;
	margin-bottom: 0.4rem;
}
.community-rate-box {
	background: rgba(201, 169, 110, 0.08);
	border: 1px solid rgba(201, 169, 110, 0.2);
	padding: 1.7rem;
}
.community-rate-box p {
	color: rgba(245, 240, 232, 0.78);
	font-size: 1.05rem;
	font-weight: 300;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.community-rate-box p:last-child {
	margin-bottom: 0;
}
.community-rate-box a {
	color: var(--gold);
	text-decoration: none;
	font-weight: 600;
}
.community-rate-box a:hover {
	color: var(--gold-light);
}
@media (max-width: 768px) {
.section-cancellation {
padding: 5rem 0;
}
.cancellation-card {
padding: 2rem 1.4rem;
}
.cancellation-title {
font-size: 2rem;
}
.cancellation-intro, .community-rate-box p {
font-size: 1rem;
}
}
/* ── MASSAGE THERAPY ── */
.section-massage {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 4rem 0;
}
.section-massage .section-heading {
	color: var(--charcoal);
}
.section-massage .section-heading em {
	color: var(--sage-dark);
}
.massage-intro {
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.55;
	color: var(--warm-grey);
	margin: 1rem 0;
}
.massage-link {
	color: var(--sage-dark);
	font-family: 'Syne', sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	text-decoration: none;
}
.massage-benefit {
	background: rgba(122, 155, 118, 0.08);
	border: 1px solid rgba(122, 155, 118, 0.16);
	padding: 2.4rem 2rem;
	text-align: center;
	transition: all 0.4s ease;
}
.massage-benefit:hover {
	transform: translateY(-6px);
	background: rgba(201, 169, 110, 0.1);
	border-color: rgba(201, 169, 110, 0.35);
}
.massage-icon {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: rgba(201, 169, 110, 0.16);
	color: var(--sage-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.4rem;
	font-size: 1.5rem;
}
.massage-benefit h4, .massage-service-body h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--charcoal);
}
.massage-benefit p, .massage-service-body p {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--warm-grey);
	margin-bottom: 0;
}
.massage-service-card {
	background: #fff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	overflow: hidden;
	transition: all 0.4s ease;
}
.massage-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 55px rgba(26, 26, 24, 0.12);
}
.massage-service-img {
	background-size: cover;
	background-position: center;
}
.massage-service-img.img-1 {
	background: linear-gradient(135deg, var(--sage-light), var(--deep-green));
}
.massage-service-img.img-2 {
	background: linear-gradient(135deg, var(--gold-light), var(--sage-dark));
}
.massage-service-img.img-3 {
	background: linear-gradient(135deg, var(--terracotta), var(--deep-green));
}
.massage-service-body {
	padding: 1.6rem;
}
.massage-meta {
	display: flex;
	justify-content: space-between;
	font-family: 'Syne', sans-serif;
	font-size: 1.2rem;
	color: var(--sage-dark);
	margin: 0.8rem 0 1.2rem;
}
.massage-meta strong {
	color: var(--gold);
}
.massage-cta {
	margin-top: 5rem;
	background: var(--sage-dark);
	color: var(--cream);
	padding: 4rem 2rem;
	text-align: center;
}
.massage-cta h3, .massage-faq h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.9rem;
	font-weight: 400;
}
.massage-cta p {
	max-width: 720px;
	margin: 1rem auto;
	color: rgba(245, 240, 232, 0.8);
	line-height: 1.7;
}
.massage-cta a {
	color: var(--gold-light);
	font-weight: 700;
	text-decoration: none;
}
.massage-cta small {
	color: rgba(245, 240, 232, 0.65);
	font-size:1rem;
}
.massage-faq {
	margin: 5rem auto 0;
}
.massage-faq h3 {
	text-align: center;
	color: var(--charcoal);
	margin-bottom: 2rem;
}
.faq-item {
	border-bottom: 1px solid rgba(26, 26, 24, 0.1);
	padding: 1.5rem 0;
}
.faq-item h5 {
	font-family: 'Syne', sans-serif;
	font-size: 1.1rem;
	color: var(--sage-dark);
	font-weight: 700;
}
.faq-item p {
	color: var(--warm-grey);
	font-size: 1rem;
	line-height: 1.7;
	margin-bottom: 0;
}
@media (max-width: 768px) {
.section-massage {
padding: 5rem 0;
}
.massage-service-img {
height: 350px;
}
.massage-cta {
padding: 3rem 1.4rem;
}
}
.hero-slider {
	position: relative;
	min-height: 100vh;
}
.hero-slide {
	min-height: 100vh;
	background-size: cover;
	background-position: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hero-overlay-dark {
	position: absolute;
	inset: 0;
	background:
linear-gradient( rgba(20, 20, 20, .55), rgba(20, 20, 20, .45) );
}
.hero-slide-content {
	position: relative;
	z-index: 5;
	max-width: 1100px;
	width: 100%;
	padding: 0 20px;
	text-align: center;
}
.hero-title, .hero-subtitle, .hero-eyebrow {
	text-align: center;
}
.hero-ctas {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.hero-title {
	color: #fff;
}
.hero-subtitle {
	color: rgba(255, 255, 255, .9);
	max-width: 700px;
	margin: 0 auto 30px;
}
.carousel-item {
	transition: transform 1.2s ease-in-out;
}
.carousel-fade .carousel-item {
	opacity: 0;
	transition: opacity 1.5s ease;
}
.carousel-fade .carousel-item.active {
	opacity: 1;
}
.carousel {
	position: relative;
	width: 100%!important;
}
/* ── OUR STORY / ABOUT ── */
.section-story {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.story-bg-word {
	position: absolute;
	top: 8%;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(7rem, 18vw, 17rem);
	color: rgba(122, 155, 118, 0.06);
	letter-spacing: 0.12em;
	white-space: nowrap;
	pointer-events: none;
}
.section-story .section-heading, .section-values .section-heading, .section-find-us .section-heading {
	color: var(--charcoal);
}
.section-story .section-heading em, .section-values .section-heading em, .section-find-us .section-heading em {
	color: var(--sage-dark);
}
.story-lead {
	font-size: 1.3rem;
	line-height: 1.75;
	color: var(--warm-grey);
	max-width: 760px;
	margin: 1.2rem auto 0;
}
.story-text {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.75;
	color: var(--warm-grey);
	max-width: 760px;
}
.story-philosophy {
	margin-top: 6rem;
	padding-top: 5rem;
	border-top: 1px solid rgba(26, 26, 24, 0.08);
}
/* ── COMMUNITY VALUES ── */
.section-values {
	background: #e7ddd3;
	color: var(--charcoal);
	padding: 7rem 0;
}
.value-card {
	background: #fff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 2.5rem 2rem;
	text-align: center;
	transition: all 0.4s ease;
}
.value-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 50px rgba(26, 26, 24, 0.08);
	border-color: rgba(201, 169, 110, 0.45);
}
.value-icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(201, 169, 110, 0.15);
	color: var(--sage-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin: 0 auto 1.4rem;
}
.value-card h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--charcoal);
}
.value-card p {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--warm-grey);
	margin-bottom: 0;
}
/* ── FIND US ── */
.section-find-us {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 7rem 0;
}
.find-map {
	max-width: 1200px;
	margin: 0 auto;
	border: 1px solid rgba(26, 26, 24, 0.08);
	box-shadow: 0 22px 50px rgba(26, 26, 24, 0.1);
	overflow: hidden;
}
@media (max-width: 768px) {
.section-story, .section-values, .section-find-us {
padding: 5rem 0;
}
.story-philosophy {
margin-top: 4rem;
padding-top: 3rem;
}
.find-map iframe {
height: 320px;
}
}
/* ── STUDIO HIRE ── */
.section-studio-hire {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.studio-hire-bg-word {
	position: absolute;
	top: 6%;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(7rem, 18vw, 17rem);
	color: rgba(122, 155, 118, 0.06);
	letter-spacing: 0.14em;
	white-space: nowrap;
	pointer-events: none;
}
.section-studio-hire .section-heading {
	color: var(--charcoal);
}
.section-studio-hire .section-heading em {
	color: var(--sage-dark);
}
.studio-hire-lead {
	font-size: 1.15rem;
	font-weight: 300;
	line-height: 1.75;
	color: var(--warm-grey);
	max-width: 760px;
	margin: 1rem auto 0;
}
.studio-hire-card {
	position: relative;
	z-index: 1;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 4rem;
	max-width: 1080px;
	margin: 0 auto;
	box-shadow: 0 24px 60px rgba(26, 26, 24, 0.08);
}
.studio-hire-intro {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	line-height: 1.35;
	color: var(--charcoal);
	margin-bottom: 1.5rem;
}
.studio-hire-text {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--warm-grey);
	font-weight: 300;
}
.studio-hire-subtitle {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 600;
	color: var(--sage-dark);
	margin-bottom: 1.5rem;
}
.studio-hire-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.studio-hire-list li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 1rem;
	font-size: 1rem;
	color: var(--warm-grey);
	line-height: 1.6;
}
.studio-hire-list li::before {
content: '✓';
position: absolute;
left: 0;
top: 0.1rem;
width: 22px;
height: 22px;
border: 1px solid var(--gold);
border-radius: 50%;
color: var(--gold);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.65rem;
}
.parking-box {
	margin-top: 3rem;
	background: rgba(122, 155, 118, 0.08);
	border-left: 3px solid var(--sage-dark);
	padding: 1.7rem 2rem;
}
.parking-box h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--sage-dark);
	margin-bottom: 0.8rem;
}
.parking-box p {
	margin-bottom: 0;
	color: var(--warm-grey);
	line-height: 1.75;
}
.studio-hire-btn {
	background: var(--sage-dark);
	border-color: var(--sage-dark);
	color: var(--cream) !important;
}
.studio-hire-btn:hover {
	background: transparent;
	color: var(--sage-dark) !important;
}
@media (max-width: 768px) {
.section-studio-hire {
padding: 5rem 0;
}
.studio-hire-card {
padding: 2rem 1.4rem;
}
.studio-hire-intro {
font-size: 1.45rem;
}
.studio-hire-subtitle {
font-size: 1.65rem;
}
}
/* ── LOGIN PAGE ── */
.section-login {
	min-height: 100vh;
	background:
radial-gradient(ellipse 70% 60% at 15% 10%, rgba(122, 155, 118, 0.08), transparent), radial-gradient(ellipse 60% 70% at 90% 85%, rgba(201, 169, 110, 0.12), transparent), var(--warm-white);
	color: var(--charcoal);
	display: flex;
	align-items: center;
	padding: 8rem 0 5rem;
	position: relative;
	overflow: hidden;
}
.login-bg-word {
	position: absolute;
	top: 12%;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(6rem, 16vw, 15rem);
	color: rgba(122, 155, 118, 0.06);
	letter-spacing: 0.12em;
	white-space: nowrap;
	pointer-events: none;
}
.login-heading {
	position: relative;
	z-index: 1;
	margin-bottom: 2rem;
}
.login-heading h1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.5rem, 5vw, 3.8rem);
	font-weight: 500;
	color: var(--charcoal);
	line-height: 1;
	margin-bottom: 1rem;
}
.login-heading h1 em {
	color: var(--sage-dark);
	font-style: italic;
}
.login-heading p {
	color: var(--warm-grey);
	font-size: 0.95rem;
	margin-bottom: 0;
}
.login-heading a, .login-small-link, .login-signup a, .login-terms a {
	color: var(--sage-dark);
	font-weight: 700;
	text-decoration: none;
	font-size: 0.9rem;
}
.login-card {
	position: relative;
	z-index: 1;
	background: #fff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 2.5rem;
	box-shadow: 0 24px 60px rgba(26, 26, 24, 0.08);
}
.login-label {
	font-family: 'Syne', sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--charcoal);
	margin-bottom: 0.6rem;
}
.login-small-link {
	font-size: 0.8rem;
}
.login-input-wrap {
	position: relative;
}
.login-input {
	height: 52px;
	border: 1px solid rgba(26, 26, 24, 0.14);
	border-radius: 0;
	padding-left: 2.8rem;
	padding-right: 2.8rem;
	font-size: 0.95rem;
	color: var(--charcoal);
	box-shadow: none !important;
}
.login-input:focus {
	border-color: var(--sage-dark);
}
.login-input-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--sage-dark);
	z-index: 2;
	font-size: 0.9rem;
}
.login-eye {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--warm-grey);
	font-size: 0.85rem;
}
.login-check label {
	color: var(--warm-grey);
	font-size: 0.9rem;
}
.login-check .form-check-input {
	border-radius: 0;
	box-shadow: none;
}
.login-check .form-check-input:checked {
	background-color: var(--sage-dark);
	border-color: var(--sage-dark);
}
.login-btn {
	width: 100%;
	border: 2px solid var(--sage-dark);
	background: var(--sage-dark);
	color: var(--cream);
	padding: 0.9rem 1.5rem;
	font-family: 'Syne', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: all 0.35s ease;
}
.login-btn:hover {
	background: transparent;
	color: var(--sage-dark);
}
.login-signup {
	text-align: center;
	margin: 1.6rem 0 0;
	color: var(--warm-grey);
	font-size: 1rem;
}
.login-terms {
	position: relative;
	z-index: 1;
	text-align: center;
	margin-top: 2rem;
	color: var(--warm-grey);
	font-size: 1rem;
}
@media (max-width: 768px) {
.section-login {
padding: 6rem 0 4rem;
}
.login-card {
padding: 2rem 1.4rem;
}
}
/* ── SIGN UP PAGE ── */
.section-signup {
	min-height: 100vh;
	background:
radial-gradient(ellipse 70% 60% at 15% 10%, rgba(122, 155, 118, 0.08), transparent), radial-gradient(ellipse 60% 70% at 90% 85%, rgba(201, 169, 110, 0.12), transparent), var(--warm-white);
	color: var(--charcoal);
	display: flex;
	align-items: center;
	padding: 8rem 0 5rem;
	position: relative;
	overflow: hidden;
}
.signup-bg-word {
	position: absolute;
	top: 12%;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(6rem, 16vw, 15rem);
	color: rgba(122, 155, 118, 0.06);
	letter-spacing: 0.12em;
	white-space: nowrap;
	pointer-events: none;
}
.signup-heading {
	position: relative;
	z-index: 1;
	margin-bottom: 2rem;
}
.signup-heading h1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.4rem, 5vw, 3.7rem);
	font-weight: 500;
	color: var(--charcoal);
	line-height: 1;
	margin-bottom: 1rem;
}
.signup-heading h1 em {
	color: var(--sage-dark);
	font-style: italic;
}
.signup-heading p {
	color: var(--warm-grey);
	font-size: 0.95rem;
	margin-bottom: 0;
}
.signup-card {
	position: relative;
	z-index: 1;
	background: #fff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 2.5rem;
	box-shadow: 0 24px 60px rgba(26, 26, 24, 0.08);
}
.signup-label {
	font-family: 'Syne', sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--charcoal);
	margin-bottom: 0.6rem;
}
.signup-input-wrap {
	position: relative;
}
.signup-input {
	height: 52px;
	border: 1px solid rgba(26, 26, 24, 0.14);
	border-radius: 0;
	padding-left: 2.8rem;
	padding-right: 2.8rem;
	font-size: 0.95rem;
	color: var(--charcoal);
	box-shadow: none !important;
}
.signup-input:focus {
	border-color: var(--sage-dark);
}
.signup-input-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--sage-dark);
	z-index: 2;
	font-size: 0.9rem;
}
.signup-eye {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--warm-grey);
	font-size: 0.85rem;
}
.signup-helper {
	display: block;
	margin-top: 0.55rem;
	color: var(--warm-grey);
	font-size: 0.78rem;
}
.signup-check label {
	color: var(--warm-grey);
	font-size: 0.9rem;
}
.signup-check a, .signup-login a {
	color: var(--sage-dark);
	font-weight: 700;
	text-decoration: none;
}
.signup-check .form-check-input {
	border-radius: 0;
	box-shadow: none;
}
.signup-check .form-check-input:checked {
	background-color: var(--sage-dark);
	border-color: var(--sage-dark);
}
.signup-btn {
	width: 100%;
	border: 2px solid var(--sage-dark);
	background: var(--sage-dark);
	color: var(--cream);
	padding: 0.9rem 1.5rem;
	font-family: 'Syne', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: all 0.35s ease;
}
.signup-btn:hover {
	background: transparent;
	color: var(--sage-dark);
}
.signup-divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--warm-grey);
	font-size: 0.85rem;
	margin: 1.8rem 0;
}
.signup-divider::before, .signup-divider::after {
content: '';
height: 1px;
flex: 1;
background: rgba(26, 26, 24, 0.12);
}
.signup-login {
	text-align: center;
	color: var(--warm-grey);
	font-size: 0.95rem;
	margin-bottom: 0;
}
@media (max-width: 768px) {
.section-signup {
padding: 6rem 0 4rem;
}
.signup-card {
padding: 2rem 1.4rem;
}
}
/* ── CONTACT PAGE ── */
.section-contact {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 8rem 0 5rem;
}
.contact-title, .contact-faq-title, .contact-info-bar h3 {
	font-family: 'Cormorant Garamond', serif;
	color: var(--charcoal);
}
.contact-title {
	font-size: clamp(3rem, 6vw, 5rem);
	line-height: 1;
}
.contact-title em, .contact-faq-title em {
	color: var(--sage-dark);
	font-style: italic;
}
.contact-text {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--warm-grey);
	margin-top: 2rem;
	margin-bottom:2em;
}
.contact-input {
	border: none;
	border-radius: 0;
	background: rgba(122, 155, 118, 0.08);
	height: 60px;
	padding: 1rem 1.3rem;
	color: var(--charcoal);
	box-shadow: none !important;
}
.contact-input:focus {
	background: rgba(122, 155, 118, 0.12);
	border: 1px solid var(--sage-dark);
}
.contact-textarea {
	border: none;
	border-radius: 0;
	background: rgba(122, 155, 118, 0.08);
	height: 140px;
	padding: 1rem 1.3rem;
	color: var(--charcoal);
	box-shadow: none !important;
	resize: none;
}
.contact-btn {
	background: var(--sage-dark);
	border-color: var(--sage-dark);
	color: var(--cream) !important;
}
/* FAQ */
.section-contact-faq {
	background: var(--warm-white);
	padding: 4rem 0 6rem;
}
.contact-faq-title {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin-bottom: 3rem;
}
.contact-accordion {
	max-width: 980px;
	margin: 0 auto;
}
.contact-accordion .accordion-item {
	border: none;
	border-bottom: 1px solid rgba(26, 26, 24, 0.12);
	background: transparent;
}
.contact-accordion .accordion-button {
	background: transparent;
	color: var(--charcoal);
	font-family: 'Syne', sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	box-shadow: none;
	padding: 1.2rem 0;
}
.contact-accordion .accordion-body {
	color: var(--warm-grey);
	padding: 0 0 1.3rem;
}
/* Info Bar */
.contact-info-bar {
	background: var(--cream);
	border-top: 1px solid rgba(26, 26, 24, 0.1);
	padding: 3rem 0;
}
.contact-info-bar h3 {
	font-size: 2.4rem;
	margin-bottom: 1.2rem;
	font-weight:400;
}
.contact-info-bar p {
	color: var(--warm-grey);
	line-height: 1.7;
	margin-bottom: 0;
	font-weight:400;
	font-size: 1.1rem;
}
@media (max-width: 768px) {
.section-contact {
padding: 5rem 0 3rem;
}
.contact-title {
font-size: 3rem;
}
.contact-info-bar h3 {
font-size: 2rem;
}
}
/* ── CLASSES SCHEDULE ── */
.section-class-schedule {
	background: var(--warm-white);
	color: var(--charcoal);
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}
.schedule-bg-word {
	position: absolute;
	top: 6%;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(6rem, 15vw, 16rem);
	color: rgba(122, 155, 118, 0.06);
	letter-spacing: 0.12em;
	pointer-events: none;
}
.section-class-schedule .section-heading {
	color: var(--charcoal);
}
.section-class-schedule .section-heading em {
	color: var(--sage-dark);
}
.schedule-intro {
	max-width: 820px;
	margin: 1rem auto 0;
	color: var(--warm-grey);
	font-weight: 300;
	line-height: 1.75;
}
.schedule-day-card {
	height: 100%;
	min-height: 280px;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 2rem;
	box-shadow: 0 18px 45px rgba(26, 26, 24, 0.05);
	transition: all 0.35s ease;
}
.schedule-day-card:hover {
	transform: translateY(-6px);
	border-color: rgba(201, 169, 110, 0.45);
	box-shadow: 0 26px 65px rgba(26, 26, 24, 0.08);
}
.schedule-day-card h3 {
	font-family: 'Syne', sans-serif;
	font-size: 2rem;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--sage-dark);
}
.schedule-class {
	display: grid;
	gap: 1rem;
	align-items: center;
	background: rgba(122, 155, 118, 0.07);
	padding: 1.25rem 1rem;
	margin-top: 1rem;
}
.schedule-class:last-child {
	margin-bottom: 0;
}
.schedule-class span {
	font-family: 'Syne', sans-serif;
	font-size: 1.5rem;
	color: var(--charcoal);
	font-weight: 600;
}
.schedule-class p {
	margin: 0;
	color: var(--warm-grey);
	font-size: 1.1rem;
	line-height: 1.6;
}
@media (max-width: 768px) {
.section-class-schedule {
padding: 5rem 0;
}
.schedule-day-card {
padding: 1.5rem;
min-height: auto;
}
.schedule-class {
grid-template-columns: 1fr;
gap: 0.4rem;
}
}
/* =====================================
SMALL HERO SECTION
===================================== */
.hero-bg-gradients {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-01 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-01.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-02 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-02.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-03 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-03.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-04 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-04.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-05 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-05.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-06 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-06.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-07 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-07.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-08 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-08.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-bg-gradients-09 {
	position: absolute;
	inset: 0;
	background: url(../images/inner-header-09.webp) center / cover no-repeat;
	animation: slow-zoom 20s ease-out forwards;
}
.hero-small {
	position: relative;
	min-height: 550px;
	padding: 140px 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.hero-small .hero-content {
	max-width: 700px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.hero-small .hero-eyebrow {
	font-size: 12px;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin-bottom: 15px;
}
.hero-small .hero-title {
	font-size: clamp(2.8rem, 5vw, 4.5rem);
	line-height: 1;
	margin-bottom: 15px;
}
.hero-small .hero-title em {
	color: var(--sage);
	font-style: italic;
}
.hero-small .hero-subtitle {
	max-width: 500px;
	margin: 0 auto 25px;
	font-size: 1rem;
	line-height: 1.7;
}
.hero-small .hero-ctas {
	display:flex;
	justify-content:center;
	gap:15px;
	flex-wrap:wrap;
}
/* Hide Scroll Indicator */
.hero-small .hero-scroll-indicator {
	display:none;
}

/* Tablet */
@media (max-width:991px) {
.hero-small {
min-height:280px;
padding:120px 0 50px;
}
.hero-small .hero-title {
font-size:3rem;
}
}

/* Mobile */
@media (max-width:767px) {
.hero-small {
min-height:240px;
padding:100px 0 40px;
}
.hero-small .hero-title {
font-size:2.2rem;
}
.hero-small .hero-subtitle {
font-size:.9rem;
padding:0 15px;
}
.hero-small .hero-ctas {
flex-direction:column;
align-items:center;
}
.hero-small .hero-ctas a {
width:220px;
}
}
/* ── TERMS & CONDITIONS ── */
.section-terms {
	background: url(../images/header-01.webp);
	background-repeat:no-repeat;
	background-size: cover;
	background-position:center;
	padding: 7rem 0;
	color: var(--charcoal);
}
.terms-card {
	background: #fff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 4rem;
	box-shadow: 0 24px 70px rgba(26, 26, 24, 0.08);
}
.terms-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 300;
	color: var(--charcoal);
}
.terms-title em {
	color: var(--sage-dark);
}
.terms-intro {
	max-width: 950px;
	margin: 1.3rem auto 3rem;
	color: var(--warm-grey);
	line-height: 1.8;
}
.terms-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: rgba(26, 26, 24, 0.12);
	border: 1px solid rgba(26, 26, 24, 0.12);
}
.terms-item {
	background: #fff;
	padding: 2rem;
}
.terms-item span {
	font-family: 'Syne', sans-serif;
	font-size: 1.5rem;
	color: var(--gold);
}
.terms-item h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.7rem;
	color: var(--sage-dark);
	margin: 0.6rem 0 1rem;
	font-weight:700;
}
.terms-item p, .terms-item li {
	color: var(--warm-grey);
	font-size: 1rem;
	line-height: 1.75;
}
.terms-item ul {
	padding-left: 1.2rem;
	margin-bottom: 0;
}
.terms-item a, .terms-footer a {
	color: var(--sage-dark);
	font-weight: 600;
	text-decoration: none;
}
.terms-footer {
	margin-top: 3rem;
	background: rgba(122, 155, 118, 0.08);
	border-left: 3px solid var(--sage-dark);
	padding: 2rem;
	text-align: center;
}
.terms-footer p {
	color: var(--warm-grey);
	margin-bottom: 0.6rem;
}
.terms-footer h5 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.7rem;
	color: var(--sage-dark);
	margin-bottom: 0;
}
@media (max-width: 991px) {
.terms-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.section-terms {
padding: 5rem 0;
}
.terms-card {
padding: 2rem 1.4rem;
}
.terms-item {
padding: 1.5rem;
}
}
/* ── PRIVACY POLICY ── */
.section-privacy {
	background: url(../images/header-01.webp);
	background-repeat:no-repeat;
	background-size: cover;
	background-position:center;
	padding: 7rem 0;
	color: var(--charcoal);
}
.privacy-card {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 24, 0.08);
	padding: 4rem;
	box-shadow: 0 24px 70px rgba(26, 26, 24, 0.08);
}
.privacy-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 300;
	color: var(--charcoal);
	margin-bottom: 2rem;
}
.privacy-title em {
	color: var(--sage-dark);
	font-style: italic;
}
.privacy-meta {
	max-width: 850px;
	margin: 0 auto 3rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.9rem;
}
.privacy-meta span {
	background: rgba(122, 155, 118, 0.08);
	color: var(--warm-grey);
	padding: 1rem 1rem;
	font-size:1.2rem;
}
.privacy-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: rgba(26, 26, 24, 0.12);
	border: 1px solid rgba(26, 26, 24, 0.12);
}
.privacy-item {
	background: #ffffff;
	padding: 2rem;
}
.privacy-wide {
	grid-column: span 2;
}
.privacy-item span {
	font-family: 'Syne', sans-serif;
	font-size: 1.5rem;
	color: var(--gold);
}
.privacy-item h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	color: var(--sage-dark);
	margin: 0.6rem 0 1rem;
	font-weight:700;
}
.privacy-item p, .privacy-item li {
	color: var(--warm-grey);
	font-size: 1rem;
	line-height: 1.75;
}
.privacy-item ul {
	padding-left: 1.2rem;
	margin-bottom: 1rem;
}
.privacy-item a, .privacy-meta a {
	color: var(--sage-dark);
	font-weight: 600;
	text-decoration: none;
}
@media (max-width: 991px) {
.privacy-grid, .privacy-meta {
grid-template-columns: 1fr;
}
.privacy-wide {
grid-column: span 1;
}
}
@media (max-width: 768px) {
.section-privacy {
padding: 5rem 0;
}
.privacy-card {
padding: 2rem 1.4rem;
}
.privacy-item {
padding: 1.5rem;
}
}
/* Final mobile-only safety fixes: keep desktop design unchanged */
html, body {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden !important;
}
body.mobile-menu-lock {
	overflow: hidden !important;
}
img, video, iframe, canvas, svg {
	max-width: 100%;
}
@media (max-width: 991.98px) {
.navbar-custom {
overflow: visible !important;
box-sizing: border-box !important;
}
.navbar-brand-text {
max-width: calc(100vw - 95px) !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}
.navbar-brand-text img {
max-width: 35%!important;
height: auto !important;
flex-shrink: 0 !important;
}
.navbar-toggler-custom {
display: flex !important;
align-items: center !important;
justify-content: center !important;
flex-direction: column !important;
gap: 6px !important;
width: 42px !important;
height: 42px !important;
min-width: 42px !important;
border: 0 !important;
background: transparent !important;
padding: 0 !important;
cursor: pointer !important;
position: relative !important;
z-index: 100005 !important;
pointer-events: auto !important;
}
.navbar-toggler-custom span {
display: block !important;
width: 28px !important;
height: 2px !important;
background: var(--gold) !important;
border-radius: 99px !important;
transition: transform .25s ease, opacity .25s ease !important;
}
.navbar-toggler-custom.mobile-toggle-active span:nth-child(1) {
transform: translateY(8px) rotate(45deg) !important;
}
.navbar-toggler-custom.mobile-toggle-active span:nth-child(2) {
opacity: 0 !important;
}
.navbar-toggler-custom.mobile-toggle-active span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg) !important;
}
.mobile-nav {
position: fixed !important;
inset: 0 !important;
width: 100vw !important;
height: 100dvh !important;
max-width: 100vw !important;
background: #17120f !important;
z-index: 100000 !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
padding: 80px 22px 35px !important;
margin: 0 !important;
box-sizing: border-box !important;
overflow-y: auto !important;
overflow-x: hidden !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
transform: translateX(100%) !important;
transition: transform .32s ease, opacity .32s ease, visibility .32s ease !important;
}
.mobile-nav.open, .mobile-nav.active, .mobile-nav.force-open {
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
transform: translateX(0) !important;
}
.mobile-nav a {
color: #f6ead8 !important;
font-family: 'Syne', sans-serif !important;
font-size: clamp(16px, 4.2vw, 22px) !important;
line-height: 1.25 !important;
font-weight: 500 !important;
letter-spacing: .12em !important;
text-transform: uppercase !important;
text-decoration: none !important;
text-align: center !important;
margin: 10px 0 !important;
max-width: 100% !important;
word-break: normal !important;
}
.mobile-nav a[href="login"], .mobile-nav a[href="sign-up"] {
color: var(--gold) !important;
font-size: clamp(17px, 4.5vw, 24px) !important;
font-weight: 600 !important;
margin-top: 14px !important;
}
.mobile-nav-close {
position: fixed !important;
top: 22px !important;
right: 24px !important;
width: 42px !important;
height: 42px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
border: 0 !important;
background: transparent !important;
color: var(--gold) !important;
font-size: 32px !important;
line-height: 1 !important;
cursor: pointer !important;
z-index: 100006 !important;
pointer-events: auto !important;
}
}
@media (min-width: 992px) {
.mobile-nav {
display: none !important;
}
}


/* Visible hamburger icon fix */
@media (max-width: 991.98px) {
.navbar-toggler-custom {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
position: relative !important;
z-index: 100010 !important;
width: 46px !important;
height: 46px !important;
min-width: 46px !important;
background: rgba(23, 18, 15, 0.35) !important;
border: 1px solid rgba(212, 166, 82, 0.45) !important;
border-radius: 50% !important;
box-shadow: 0 8px 20px rgba(0, 0, 0, .18) !important;
}
.navbar-toggler-custom span {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
width: 24px !important;
height: 2px !important;
min-height: 2px !important;
background-color: rgba(212, 166, 82, 0.45) !important;
background: rgba(212, 166, 82, 0.45) !important;
border-radius: 20px !important;
margin: 0 !important;
}
.navbar-toggler-custom.mobile-toggle-active span:nth-child(2) {
opacity: 0 !important;
}
}
.totopsec {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 52px;
	height: 52px;
	border: 1px solid #1b1713;
	border-radius: 50%;
	background: var(--gold);
	color: #1b1713;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px);
	transition: all 0.35s ease;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.22);
}
.totopsec.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.totopsec:hover {
	background: var(--cream);
	color: var(--charcoal);
	transform: translateY(-4px);
}
@media (max-width: 575px) {
.totopsec {
right: 16px;
bottom: 18px;
width: 46px;
height: 46px;
font-size: 22px;
}
}
.totopsec i {
	font-size:22px;
	line-height:1;
}
.mobile-nav-close {
	background: transparent;
	border: none;
	cursor: pointer;
}
.mobile-nav-close i {
	font-size: 28px;
	color: var(--gold);
	transition: 0.3s ease;
}
.mobile-nav-close:hover i {
	transform: rotate(90deg);
}
/* Ekantik review updates — warm boutique-spa palette */
.section-copy-light {
	max-width:880px;
	margin:0 auto;
	color:#333;
	font-weight:300
}
.info-tile, .info-panel {
	padding:1.6rem;
	border:1px solid rgba(111, 51, 118, .16);
	background:rgba(243, 232, 220, .55);
	color:var(--charcoal);
	height:100%
}
.info-tile strong, .info-tile span {
	display:block
}
.info-tile strong {
	font-family:'Cormorant Garamond', serif;
	font-size:1.5rem;
	color:var(--plum);
margin-bottom:.35rem
}
.info-panel h3 {
	color:var(--plum)
}
.text-link {
	color:var(--plum);
	font-weight:600;
	text-decoration:none
}
.studio-news {
	background:#ded3c9;
	color:var(--charcoal)
}
.consent-check {
	display:flex;
gap:.7rem;
	color:var(--charcoal);
font-size:.9rem;
	line-height:1.6
}
.hero-inner {
	min-height:420px;
	display:flex;
	align-items:center;
	background:linear-gradient(135deg, var(--charcoal), #3b3430)
}
@media print {
nav, .mobile-nav, .marquee-section, .section-newsletter, footer, .btn-primary-gold, .cursor-dot, .cursor-ring {
	display:none!important
}
.section-class-schedule {
	padding:20px!important
}
.schedule-day-card {
	break-inside:avoid
}
}
.member-benefits h3 {
	color:#333;
	font-weight:700;
}
/* EKANTIK 2026 REVIEW: FINAL BRAND CONSISTENCY */
:root {
--plum:#6F3376;
--beige:#F3E8DC;
--linen:#F7F2EB;
--oat:#ECE4D8;
--stone:#CFC5B8;
--charcoal:#2C2B2A;
--black:#171717;
--cream:#F6F1EA;
--sand:#DDD0BE;
--gold:#6F3376;
--gold-light:#D8BEDA;
--deep-green:#2C2B2A;
}
/*.navbar-custom{background:rgba(23,23,23,.96);border-bottom:1px solid rgba(247,242,235,.12);}*/
.navbar-brand-text, .nav-link-custom {
	color:var(--cream);
}
.nav-link-custom:hover, .navbar-brand-text:hover {
	color:var(--gold-light);
}
.btn-primary-gold, .btn-membership, .newsletter-btn, .btn-nav-book {
	background:var(--plum)!important;
	border-color:var(--plum)!important;
	color:#fff!important;
	border-radius:2px;
	box-shadow:none;
transition:all .25s ease;
}
.btn-primary-gold:hover, .btn-membership:hover, .newsletter-btn:hover, .btn-nav-book:hover {
	background:var(--black)!important;
	border-color:var(--black)!important;
	color:#fff!important;
	transform:translateY(-1px);
}
.btn-outline-cream {
	border-color:rgba(246, 241, 234, .8)!important;
	color:var(--cream)!important;
	background:transparent!important;
	border-radius:2px;
}
.btn-outline-cream:hover {
	background:var(--cream)!important;
	color:var(--charcoal)!important;
}
.intro-label, .text-link, .info-panel h3, .info-tile strong {
	color:var(--plum)!important;
	font-weight:400;
}
.white {
	color:#fff;
}
.marquee-section {
	background:var(--oat)!important;
	border-color:rgba(111, 51, 118, .15)!important;
}
.marquee-item {
	color:var(--charcoal)!important;
}
.marquee-item>span {
	color:var(--plum)!important;
}
.offer-banner {
	background: #e7dccb;
}
.section-intro, .studio-news {
	background:#f7f2eb;
}
.section-classes {
	background:#ece4d8;
}
.membership-card, .info-panel, .info-tile {
	background:var(--cream)!important;
	border-color:rgba(111, 51, 118, .14)!important;
	box-shadow:0 12px 35px rgba(44, 43, 42, .06);
}
.contact-accordion .accordion-item {
	background:var(--cream)!important;
	border-color:rgba(111, 51, 118, .14)!important;
}
.section-newsletter {
	background:#191919;
}
.massage-benefit {
	background:#ece3d8;
}
.massage-service-card {
	background:#e8ded3;
}
.hero-eyebrow {
	color:#fff
}
.membership-card.featured {
	border-color:var(--plum)!important;
}
footer a:hover {
	color:var(--gold-light)!important;
}
.hero-overlay-dark {
	background:linear-gradient(90deg, rgba(23, 23, 23, .72), rgba(23, 23, 23, .28))!important;
}
.hero-small {
	background:var(--charcoal)!important;
}
.contact-input:focus, .newsletter-input:focus {
	border-color:var(--plum)!important;
box-shadow:0 0 0 .2rem rgba(111, 51, 118, .10)!important;
}
@media (max-width:991.98px) {
.mobile-nav {
background:var(--black)!important
}
.mobile-nav a {
color:var(--cream)!important
}
.mobile-nav a:hover {
color:var(--gold-light)!important
}
}
/* =========================================
MASSAGE THERAPY CONSENT FORM
========================================= */
.massage-consent-section {
	padding: 60px 20px;
	background: #f8f1e8;
	font-family: Arial, sans-serif;
	color: #5c276b;
}
.massage-consent-container {
	max-width: 1050px;
	margin: 0 auto;
}
.massage-consent-card {
	background: #f7f2eb;
	border: 1px solid rgba(92, 39, 107, 0.18);
	border-radius: 18px;
	padding: 38px;
	box-shadow: 0 15px 45px rgba(54, 29, 42, 0.06);
}
.massage-form-header {
	text-align: center;
	margin-bottom: 32px;
}
.massage-form-header .form-label-top {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #9d4fbf;
}
.massage-form-header h2 {
	margin: 0 0 10px;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 600;
	color: #692c77;
}
.massage-form-header p {
	max-width: 700px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.7;
	color: #725978;
}
.massage-form-section {
	margin-top: 32px;
}
.massage-form-section:first-child {
	margin-top: 0;
}
.massage-section-title {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 12px;
	font-size: 30px;
	font-weight: 600;
	color: #6d297b;
	border-bottom: 1px solid rgba(109, 41, 123, 0.18);
}
.massage-section-title::after {
content: "";
position: absolute;
left: 0;
bottom: -1px;
width: 70px;
height: 2px;
background: #8d3caf;
}
.massage-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 24px;
}
.massage-form-grid.three-cols {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.massage-form-group {
	margin-bottom: 18px;
}
.massage-form-grid .massage-form-group {
	margin-bottom: 0;
}
.massage-form-group.full-width {
	grid-column: 1 / -1;
}
.massage-form-group label, .massage-question-label {
	display: block;
	margin-bottom: 7px;
	font-size: 15px;
	line-height: 1.45;
	font-weight: 500;
	color: #61266f;
}
.massage-form-control {
	width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	background: transparent;
	border: 1px solid #b88ec2;
	border-radius: 6px;
	outline: none;
	font-family: inherit;
	font-size: 15px;
	color: #4d2955;
	box-sizing: border-box;
	transition: all 0.25s ease;
}
.massage-form-control:focus {
	border-color: #7f3392;
	background: #fffdfa;
	box-shadow: 0 0 0 3px rgba(127, 51, 146, 0.08);
}
.massage-form-control::placeholder {
color: #aa96ad;
}
textarea.massage-form-control {
	min-height: 85px;
	resize: vertical;
}
.massage-health-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.health-question {
	padding: 16px;
	background: rgba(255, 255, 255, 0.32);
	border: 1px solid rgba(109, 41, 123, 0.12);
	border-radius: 10px;
}
.health-question.full-width {
	grid-column: 1 / -1;
}
.health-question p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: #61266f;
}
.health-options {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.health-option {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	font-size: 14px;
	color: #6a4b70;
}
.health-option input {
	width: 17px;
	height: 17px;
	accent-color: #8c3caf;
}
.health-details {
	margin-top: 12px;
}
.health-details input {
	min-height: 40px;
	font-size: 14px;
}
.consent-intro {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.6;
	color: #65476d;
}
.consent-checks {
	display: grid;
	gap: 10px;
}
.consent-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.55;
	color: #65476d;
}
.consent-check input {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin-top: 2px;
	accent-color: #8c3caf;
}
.signature-date-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 24px;
	margin-top: 24px;
}
.signature-box {
	position: relative;
}
.signature-box input {
	min-height: 65px;
	font-family: "Brush Script MT", cursive;
	font-size: 26px;
}
.form-small-note {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	line-height: 1.4;
	color: #927a97;
}
.massage-form-actions {
	margin-top: 32px;
	padding-top: 25px;
	border-top: 1px solid rgba(109, 41, 123, 0.15);
	text-align: center;
}
.massage-submit-btn {
	min-width: 180px;
	padding: 13px 30px;
	background: linear-gradient(135deg, #8c3caf, #b348da);
	border: 0;
	border-radius: 6px;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(140, 60, 175, 0.2);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.massage-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(140, 60, 175, 0.28);
}


/* =============================
TABLET
============================= */

@media (max-width: 991px) {
.massage-consent-section {
padding: 45px 18px;
}
.massage-consent-card {
padding: 30px;
}
.massage-form-header h2 {
font-size: 30px;
}
.massage-form-grid.three-cols {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}


/* =============================
MOBILE
============================= */

@media (max-width: 767px) {
.massage-consent-section {
padding: 30px 12px;
}
.massage-consent-card {
padding: 22px 16px;
border-radius: 12px;
}
.massage-form-header {
margin-bottom: 25px;
}
.massage-form-header h2 {
font-size: 26px;
}
.massage-form-header p {
font-size: 14px;
}
.massage-section-title {
font-size: 18px;
margin-bottom: 18px;
}
.massage-form-grid, .massage-form-grid.three-cols, .massage-health-grid, .signature-date-grid {
grid-template-columns: 1fr;
}
.massage-form-grid {
gap: 16px;
}
.health-question.full-width {
grid-column: auto;
}
.massage-form-section {
margin-top: 27px;
}
.massage-form-control {
font-size: 16px;
}
.massage-submit-btn {
width: 100%;
}
}
/* =========================================================
   UPCOMING EVENTS + STUDIO NEWS
========================================================= */

.ekantik-events-news {
	position: relative;
	overflow: hidden;
	padding: 7rem 0;
	background:
 radial-gradient( circle at 10% 10%, rgba(173, 156, 112, 0.08), transparent 32% ), radial-gradient( circle at 95% 90%, rgba(105, 119, 98, 0.08), transparent 35% ), var(--warm-white);
}
/* Heading */

.ekantik-events-heading {
	max-width: 960px;
	margin: 0 auto 4rem;
}
.ekantik-events-heading .section-label {
	margin-bottom: 0.8rem;
	color: var(--sage);
}
.ekantik-events-heading h2 {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2.8rem, 5vw, 4.5rem);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--charcoal);
}
.ekantik-events-heading h2 em {
	color: var(--sage);
	font-weight: 400;
}
.ekantik-events-intro {
	max-width: 800px;
	margin: 1.4rem auto 0;
	font-size: 1.08rem;
	font-weight: 300;
	line-height: 1.75;
	color: rgba(48, 48, 43, 0.68);
}
/* Event Card */

.ekantik-event-card {
	height: 100%;
	overflow: hidden;
	position: relative;
	background: #fff;
	border: 1px solid rgba(60, 65, 55, 0.09);
	box-shadow: 0 18px 55px rgba(49, 48, 41, 0.07);
	transition:
 transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.ekantik-event-card:hover {
	transform: translateY(-8px);
	border-color: rgba(155, 135, 83, 0.25);
	box-shadow: 0 28px 75px rgba(49, 48, 41, 0.12);
}
/* Event Date */

.ekantik-event-date {
	min-height: 112px;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.6rem 2rem;
	background: var(--sage);
	color: var(--cream);
}
.event-day {
	font-family: "Cormorant Garamond", serif;
	font-size: 3.8rem;
	font-weight: 400;
	line-height: 0.9;
}
.ekantik-event-date > div {
	position: relative;
	padding-left: 1rem;
}
 .ekantik-event-date > div::before {
 content: "";
 position: absolute;
 left: 0;
 top: 2px;
 bottom: 2px;
 width: 1px;
 background: rgba(255, 255, 255, 0.3);
}
.event-month, .event-year {
	display: block;
}
.event-month {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.event-year {
	margin-top: 0.15rem;
	font-size: 1.2rem;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.62);
}
/* Event Content */

.ekantik-event-content {
	padding: 2.2rem;
}
.ekantik-event-type {
	display: inline-block;
	margin-bottom: 0.9rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold);
}
.ekantik-event-content h3 {
	margin: 0 0 1rem;
	font-family: "Cormorant Garamond", serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.12;
	color: var(--charcoal);
}
.ekantik-event-content p {
	margin: 0;
	min-height: 100px;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.7;
	color: rgba(48, 48, 43, 0.67);
}
/* Event Meta */

.ekantik-event-meta {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 1.6rem 0;
	padding: 1.2rem 0;
	border-top: 1px solid rgba(60, 65, 55, 0.08);
	border-bottom: 1px solid rgba(60, 65, 55, 0.08);
}
.ekantik-event-meta span {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 1rem;
	color: rgba(48, 48, 43, 0.62);
}
.ekantik-event-meta i {
	width: 18px;
	color: var(--sage);
}
/* Event Link */

.ekantik-event-link, .ekantik-news-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--charcoal);
	transition: color 0.3s ease;
}
.ekantik-event-link span, .ekantik-news-link span {
	display: inline-block;
	transition: transform 0.3s ease;
}
.ekantik-event-link:hover, .ekantik-news-link:hover {
	color: var(--sage);
}
.ekantik-event-link:hover span, .ekantik-news-link:hover span {
	transform: translateX(6px);
}
/* =========================================================
   STUDIO NEWS CARD
========================================================= */

.ekantik-studio-news {
	position: relative;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	padding: 2.5rem;
	background: var(--charcoal);
	box-shadow: 0 18px 55px rgba(30, 30, 27, 0.12);
}
.ekantik-news-top {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 3.2rem;
}
.ekantik-news-label {
	font-size: 0.76rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold-light);
}
.ekantik-news-icon {
	display: flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(245, 240, 232, 0.2);
	border-radius: 50%;
	font-size: 1rem;
	color: var(--gold-light);
}
.ekantik-studio-news h3 {
	position: relative;
	z-index: 2;
	max-width: 320px;
	margin: 0 0 1.4rem;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.65rem;
	font-weight: 400;
	line-height: 1;
	color: var(--cream);
}
.ekantik-studio-news h3 em {
	display: block;
	color: var(--gold-light);
}
.ekantik-studio-news p {
	position: relative;
	z-index: 2;
	margin-bottom: 1rem;
	font-size: 0.98rem;
	font-weight: 300;
	line-height: 1.7;
	color: rgba(245, 240, 232, 0.58);
}
.ekantik-news-link {
	z-index: 2;
	margin-top: 1.1rem;
	color: var(--cream);
}
.ekantik-news-link:hover {
	color: var(--gold-light);
}
/* Background Decorative Text */

.ekantik-news-decoration {
	position: absolute;
	right: -20px;
	bottom: -35px;
	z-index: 0;
	pointer-events: none;
	user-select: none;
	font-family: "Cormorant Garamond", serif;
	font-size: 7rem;
	font-style: italic;
	font-weight: 300;
	line-height: 1;
	color: rgba(245, 240, 232, 0.035);
}
/* Bottom Area */

.ekantik-events-bottom {
	margin-top: 4rem;
}
.ekantik-events-bottom p {
	margin-bottom: 1.2rem;
	font-family: "Cormorant Garamond", serif;
	font-size: 1.35rem;
	font-style: italic;
	color: rgba(48, 48, 43, 0.62);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {
 .ekantik-events-news {
 padding: 5.5rem 0;
}
 .ekantik-events-heading {
 margin-bottom: 3rem;
}
 .ekantik-event-content p {
 min-height: auto;
}
 .ekantik-studio-news {
 min-height: 420px;
 margin-top: 0.5rem;
}
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {
 .ekantik-events-news {
 padding: 4.5rem 0;
}
 .ekantik-events-heading {
 margin-bottom: 2.5rem;
}
 .ekantik-events-heading h2 {
 font-size: clamp(2.5rem, 11vw, 3.3rem);
}
 .ekantik-events-intro {
 font-size: 1rem;
 line-height: 1.65;
}
 .ekantik-event-date {
 min-height: 95px;
 padding: 1.35rem 1.5rem;
}
 .event-day {
 font-size: 3.2rem;
}
 .ekantik-event-content {
 padding: 1.7rem;
}
 .ekantik-event-content h3 {
 font-size: 1.8rem;
}
 .ekantik-studio-news {
 min-height: auto;
 padding: 2rem 1.7rem 3rem;
}
 .ekantik-news-top {
 margin-bottom: 2.4rem;
}
 .ekantik-studio-news h3 {
 font-size: 2.35rem;
}
 .ekantik-news-decoration {
 font-size: 5rem;
}
 .ekantik-events-bottom {
 margin-top: 3rem;
}
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
 .ekantik-events-news {
 padding: 4rem 0;
}
 .ekantik-event-content {
 padding: 1.5rem;
}
 .ekantik-event-content h3 {
 font-size: 1.7rem;
}
 .ekantik-event-meta {
 margin: 1.35rem 0;
}
 .ekantik-events-bottom p {
 font-size: 1.2rem;
}
}
/* =========================================
   ATTRACTIVE 3 INFO CARDS
========================================= */



.ekantik-info-section .row {
	align-items: stretch;
}
/* CARD */
.ekantik-info-card {
	position: relative;
	height: 100%;
	min-height: 430px;
	padding: 42px 38px 36px;
	background: #ffffff;
	border: 1px solid rgba(73, 83, 65, 0.12);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow:
 0 12px 35px rgba(38, 43, 34, 0.06);
	transition:
 transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}


/* SMALL TOP DECORATION */
.ekantik-info-card::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 4px;
 background: var(--sage, #78866b);
 transform: scaleX(0);
 transform-origin: left;
 transition: transform 0.4s ease;
}


/* BACKGROUND DECORATION */
.ekantik-info-card::after {
 content: "";
 position: absolute;
 width: 150px;
 height: 150px;
 right: -70px;
 top: -70px;
 border-radius: 50%;
 background: rgba(120, 134, 107, 0.06);
 transition:
 transform 0.5s ease, background 0.5s ease;
}
/* HOVER */
.ekantik-info-card:hover {
	transform: translateY(-8px);
	border-color: rgba(120, 134, 107, 0.28);
	box-shadow:
 0 22px 55px rgba(38, 43, 34, 0.11);
}
 .ekantik-info-card:hover::before {
 transform: scaleX(1);
}
 .ekantik-info-card:hover::after {
 transform: scale(1.25);
 background: rgba(120, 134, 107, 0.09);
}
/* ICON */
.ekantik-info-icon {
	position: relative;
	z-index: 2;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	border-radius: 50%;
	background: rgba(120, 134, 107, 0.10);
	color: var(--sage, #78866b);
	font-size: 27px;
	transition:
 background 0.35s ease, color 0.35s ease, transform 0.35s ease;
}
.ekantik-info-card:hover .ekantik-info-icon {
	background: var(--sage, #78866b);
	color: #ffffff;
	transform: rotate(-4deg) scale(1.05);
}
/* CONTENT */
.ekantik-info-content {
	position: relative;
	z-index: 2;
	flex-grow: 1;
}
/* LABEL */
.ekantik-info-card .section-label {
	margin: 0 0 13px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sage, #78866b);
}
/* TITLE */
.ekantik-info-card h3 {
	margin: 0 0 20px;
	color: var(--charcoal, #30342d);
	font-size: 32px;
	line-height: 1.18;
	font-weight: 500;
	letter-spacing: -0.5px;
}
.ekantik-info-card h3 em {
	font-weight: 400;
}


/* TEXT */
.ekantik-info-card p:not(.section-label) {
 margin: 0;
 color: #696d66;
 font-size: 16px;
 line-height: 1.8;
}
/* BUTTON WRAPPER */
.ekantik-info-footer {
	position: relative;
	z-index: 2;
	margin-top: 32px;
}
/* BUTTON */
.ekantik-info-btn {
	width: 100%;
	min-height: 54px;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-decoration: none;
	background: var(--charcoal, #30342d);
	color: #ffffff;
	border: 1px solid var(--charcoal, #30342d);
	border-radius: 3px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.6px;
	transition:
 background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}
.ekantik-info-btn span {
	font-size: 21px;
	line-height: 1;
	transition: transform 0.35s ease;
}
/* BUTTON HOVER */
.ekantik-info-btn:hover {
	background: var(--sage, #78866b);
	border-color: var(--sage, #78866b);
	color: #ffffff;
	transform: translateY(-2px);
}
.ekantik-info-btn:hover span {
	transform: translateX(5px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991.98px) {
 .ekantik-info-section {
 padding: 70px 0;
}
 .ekantik-info-card {
 min-height: 410px;
 padding: 36px 30px 30px;
}
 .ekantik-info-card h3 {
 font-size: 29px;
}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767.98px) {
 .ekantik-info-section {
 padding: 55px 0;
}
 .ekantik-info-card {
 min-height: auto;
 padding: 32px 25px 26px;
}
 .ekantik-info-icon {
 width: 56px;
 height: 56px;
 margin-bottom: 23px;
 font-size: 24px;
}
 .ekantik-info-card h3 {
 font-size: 27px;
 margin-bottom: 16px;
}
 .ekantik-info-card p:not(.section-label) {
 font-size: 15px;
 line-height: 1.7;
}
 .ekantik-info-footer {
 margin-top: 26px;
}
 .ekantik-info-btn {
 min-height: 52px;
 padding: 13px 17px;
 font-size: 13px;
}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {
 .ekantik-info-card {
 padding: 28px 22px 23px;
}
 .ekantik-info-card h3 {
 font-size: 25px;
}
}
.ek-contact-section {
	background: #fbf8f1;
	padding: 24px 0 72px;
}
.ek-contact-form {
	width: 100%;
}
.ek-contact-control {
	width: 100%;
	border: 0;
	outline: 0;
	border-radius: 0;
	background: #f1efe8;
	color: #4f4d50;
	font-size: 15px;
	line-height: 1.4;
	font-family: inherit;
	padding: 0 21px;
	height: 60px;
	box-shadow: none;
 transition: background-color .25s ease, box-shadow .25s ease;
}
 .ek-contact-control::placeholder {
 color: #555158;
 opacity: 1;
}
.ek-contact-control:focus {
	background: #f5f2eb;
	box-shadow: inset 0 0 0 1px rgba(111, 51, 118, .2);
}
.ek-contact-message {
	min-height: 140px;
	height: 140px;
	resize: vertical;
	padding-top: 20px;
}
.ek-contact-submit {
	min-width: 209px;
	min-height: 50px;
	border: 0;
	border-radius: 1px;
	background: #73327b;
	color: #fff;
	padding: 16px 34px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	cursor: pointer;
 transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.ek-contact-submit:hover {
	background: #5f2868;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(111, 51, 118, .18);
}
 .ek-contact-submit:focus-visible {
 outline: 2px solid #6f3376;
 outline-offset: 3px;
}
 @media (max-width: 767.98px) {
 .ek-contact-section {
 padding: 20px 0 50px;
}
 .ek-contact-control {
 height: 58px;
}
 .ek-contact-message {
 height: 130px;
 min-height: 130px;
}
 .ek-contact-submit {
 width: 100%;
}
}
.team-placeholder {
	padding: 2rem;
}
.class-card {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	background: var(--deep-green);
	border: 1px solid rgba(122, 155, 118, 0.15);
	transition: border-color 0.4s;
}
.class-card:hover {
	border-color: rgba(201, 169, 110, 0.4);
}
.class-card-inner {
	padding: 2.5rem 2rem;
	position: relative;
	z-index: 1;
}
.class-card-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(122, 155, 118, 0.05), transparent);
	transition: opacity 0.4s;
}
.class-card:hover .class-card-bg {
	opacity: 0;
}
.class-card-num {
	font-family: 'Syne', sans-serif;
	font-size: 2rem;
	color: #fff;
	margin-bottom: 1.5rem;
	font-weight: 400;
}
.class-card-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--cream);
	margin-bottom: 1rem;
	line-height: 1.1;
}
.class-card-desc {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(245, 240, 232, 0.85);
	margin-bottom: 1.5rem;
}
.class-card-level {
	font-family: 'Syne', sans-serif;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: var(--sage-light);
	padding: 0.3rem 0.8rem;
	border: 1px solid rgba(168, 196, 164, 0.3);
	display: inline-block;
	font-weight: 700;
}
.class-card-arrow {
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(201, 169, 110, 0.3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold);
	font-size: 0.8rem;
	transform: translate(10px, 10px) rotate(0deg);
	opacity: 0;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.class-card:hover .class-card-arrow {
	transform: translate(0, 0);
	opacity: 1;
}
/* =========================================
   TEAM SECTION
========================================= */

.team-page {
	padding: 90px 0;
}
.team-page .schedule-intro {
	max-width: 700px;
	margin: 15px auto 0;
}
/* Team Card */

.team-card {
	position: relative;
	background: #fff;
	border-radius: 22px;
	overflow: hidden;
	border: 1px solid rgba(111, 51, 118, 0.10);
	box-shadow: 0 12px 35px rgba(50, 30, 45, 0.08);
	transition:
 transform 0.4s ease,  box-shadow 0.4s ease,  border-color 0.4s ease;
}
.team-card:hover {
	transform: translateY(-8px);
	border-color: rgba(111, 51, 118, 0.22);
	box-shadow: 0 22px 50px rgba(50, 30, 45, 0.14);
}
/* Team Image */

.team-photo {
	position: relative;
	width: 100%;
	height: 390px;
	overflow: hidden;
	background: #f3e8dc;
}
.team-photo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	transition: transform 0.6s ease;
}
.team-card:hover .team-photo img {
	transform: scale(1.045);
}


/* Optional subtle overlay */

.team-photo::after {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 bottom: 0;
 height: 30%;
 pointer-events: none;
 background: linear-gradient(  to top,  rgba(40, 20, 38, 0.12),  transparent  );
}
/* Team Content */

.team-content {
	padding: 28px 28px 30px;
	text-align: center;
}
.team-content .class-card-name {
	margin: 0 0 12px;
	color: #6f3376;
	font-size: 25px;
	line-height: 1.25;
	font-weight: 600;
}
.team-content .class-card-desc {
	margin: 0 auto;
	color: #686064;
	font-size: 15px;
	line-height: 1.75;
	max-width: 320px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {
 .team-page {
 padding: 70px 0;
}
 .team-photo {
 height: 360px;
}
 .team-content {
 padding: 25px 22px 28px;
}
 .team-content .class-card-name {
 font-size: 23px;
}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
 .team-page {
 padding: 55px 0;
}
 .team-page .mb-5 {
 margin-bottom: 35px !important;
}
 .team-card {
 max-width: 430px;
 margin-left: auto;
 margin-right: auto;
 border-radius: 18px;
}
 .team-photo {
 height: 420px;
}
 .team-content {
 padding: 24px 20px 27px;
}
 .team-content .class-card-name {
 font-size: 22px;
}
 .team-content .class-card-desc {
 font-size: 15px;
 line-height: 1.7;
}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {
 .team-page {
 padding: 45px 0;
}
 .team-photo {
 height: 360px;
}
 .team-content {
 padding: 22px 18px 25px;
}
 .team-content .class-card-name {
 font-size: 21px;
}
}
.launch-hidden {
	display: none !important
}
.new-class-badge {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--plum);
	color: #fff;
 font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .08em
}
.studio-news-card {
	background: var(--linen);
	color: var(--charcoal);
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: 20px;
	border: 1px solid var(--stone)
}
.studio-news-card h3 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	color: var(--plum);
	margin-bottom: 1rem
}
.studio-news-card p {
	line-height: 1.75;
	margin-bottom: 1rem
}
.studio-news-card a {
	color: var(--plum)
}
.testimonial-slide-wrap {
	max-width: 850px;
	margin: 0 auto;
	padding: 0 60px
}
.testimonial-slide-wrap .testimonial-card {
	min-height: 320px
}
/*.section-testimonials .carousel-control-prev, .section-testimonials .carousel-control-next {
	width: 52px
}*/
.treatment-women-note {
	max-width: 900px;
	margin: -20px auto 35px;
	padding: 14px 18px;
	border-left: 4px solid var(--plum);
	background: var(--beige);
	color: var(--charcoal);
	font-weight: 600
}
.massage-service-img img {
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	background: var(--linen)
}
.team-placeholder {
	padding: 2rem
}
.cookie-consent {
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 10050;
	max-width: 1350px;
	margin: auto;
	padding: 18px 20px;
	border-radius: 14px;
	background: var(--charcoal);
	color: var(--cream);
	box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	border: 1px solid rgba(255, 255, 255, .15)
}
.cookie-consent[hidden] {
	display: none
}
.cookie-consent p {
	margin: 0
}
.cookie-consent button {
	border: 0;
	border-radius: 999px;
	padding: 9px 16px;
	margin-left: 8px
}
.cookie-accept {
	background: var(--plum);
	color: #fff
}
.cookie-decline {
	background: var(--beige);
	color: var(--charcoal)
}
 @media(max-width:767px) {
 .testimonial-slide-wrap {
 padding: 0 42px
}
 .cookie-consent {
 flex-direction: column;
 align-items: flex-start
}
 .massage-service-img {
 height: auto !important;
 min-height: 0
}
 .massage-service-img img {
 height: auto !important;
 max-height: none !important;
 object-fit: contain !important
}
}
/* =========================================
   EKANTIK TEAM PAGE
========================================= */

:root {
 --ek-bg: #f8f4f0;
 --ek-white: #ffffff;
 --ek-text: #383431;
 --ek-heading: #302a27;
 --ek-muted: #746d68;
 --ek-primary: #a96f67;
 --ek-primary-light: #e8d3cd;
 --ek-soft: #f1e7e2;
 --ek-border: rgba(70, 55, 48, 0.12);
 --ek-radius-lg: 34px;
 --ek-radius-md: 22px;
 --ek-font:
 "DM Sans",  "Helvetica Neue",  Arial,  sans-serif;
 --ek-heading-font:
 "Playfair Display",  Georgia,  serif;
}
/* =========================================
   MAIN SECTION
========================================= */

.ek-team-section {
	position: relative;
	overflow: hidden;
	padding: 110px 0;
	background:
 radial-gradient(  circle at 0 15%,  rgba(218, 185, 175, 0.18),  transparent 30%  ),  radial-gradient(  circle at 100% 80%,  rgba(218, 185, 175, 0.15),  transparent 27%  ),  var(--ek-bg);
	font-family: var(--ek-font);
	color: var(--ek-text);
}
/* =========================================
   HEADER
========================================= */

.ek-team-header {
	margin: 0 auto 85px;
	text-align: center;
}
.ek-team-eyebrow {
	display: inline-block;
	margin-bottom: 15px;
	color: var(--ek-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.5px;
	text-transform: uppercase;
}
.ek-team-heading {
	margin: 0 0 22px;
	color: var(--ek-heading);
	font-family: var(--ek-heading-font);
	font-size: clamp(42px, 5vw, 68px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -1.5px;
}
.ek-team-heading span {
	color: var(--ek-primary);
	font-style: italic;
}
.ek-team-intro {
	max-width: 880px;
	margin: 0 auto;
	color: var(--ek-muted);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.8;
}
/* =========================================
   TEAM PROFILE
========================================= */

.ek-team-profile {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	align-items: center;
	margin: 0 auto 60px;
	background: var(--ek-white);
	border: 1px solid var(--ek-border);
	border-radius: var(--ek-radius-lg);
	box-shadow: 0 25px 70px rgba(49, 39, 34, 0.07);
	overflow: hidden;
}
.ek-team-profile:last-child {
	margin-bottom: 0;
}
/* Reverse layout */

.ek-team-profile-reverse {
	grid-template-columns: minmax(0, 54%) minmax(0, 46%);
}
.ek-team-profile-reverse .ek-team-image-wrap {
	order: 2;
}
.ek-team-profile-reverse .ek-team-content {
	order: 1;
}
/* =========================================
   IMAGE
========================================= */

.ek-team-image-wrap {
	position: relative;
	align-self: stretch;
	min-height: 550px;
	background: var(--ek-soft);
}
.ek-team-image {
	width: 100%;
	height: 100%;
}
.ek-team-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 550px;
	object-fit: cover;
	object-position: center;
	transition: transform 0.7s ease;
}
.ek-team-profile:hover .ek-team-image img {
	transform: scale(1.025);
}
/* Number badge */

.ek-team-number {
	position: absolute;
	right: 24px;
	bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	color: var(--ek-heading);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	backdrop-filter: blur(8px);
	font-family: var(--ek-heading-font);
	font-size: 18px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}
/* =========================================
   CONTENT
========================================= */

.ek-team-content {
	padding: 45px 50px;
}
.ek-team-role {
	display: inline-flex;
	align-items: center;
	margin-bottom: 14px;
	padding: 8px 15px;
	color: var(--ek-primary);
	background: var(--ek-soft);
	border-radius: 50px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}
.ek-team-name {
	margin: 0;
	color: var(--ek-heading);
	font-family: var(--ek-heading-font);
	font-size: clamp(42px, 4vw, 58px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -1px;
}
.ek-team-divider {
	width: 58px;
	height: 2px;
	margin: 25px 0 29px;
	background: var(--ek-primary);
}
.ek-team-content p {
	margin: 0 0 17px;
	color: var(--ek-muted);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
}
.ek-team-content p:last-child {
	margin-bottom: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {
 .ek-team-section {
 padding: 80px 0;
}
 .ek-team-header {
 margin-bottom: 55px;
}
 .ek-team-profile,  .ek-team-profile-reverse {
 grid-template-columns: 1fr;
 max-width: 720px;
 margin-bottom: 65px;
}
 .ek-team-profile-reverse .ek-team-image-wrap,  .ek-team-profile-reverse .ek-team-content {
 order: initial;
}
 .ek-team-image-wrap {
 min-height: 550px;
}
 .ek-team-image img {
 min-height: 550px;
 max-height: 680px;
}
 .ek-team-content {
 padding: 50px;
}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
 .ek-team-section {
 padding: 65px 0;
}
 .ek-team-header {
 margin-bottom: 40px;
}
 .ek-team-heading {
 font-size: 42px;
 letter-spacing: -0.8px;
}
 .ek-team-intro {
 font-size: 15px;
 line-height: 1.75;
}
 .ek-team-profile,  .ek-team-profile-reverse {
 margin-bottom: 45px;
 border-radius: 24px;
}
 .ek-team-image-wrap {
 min-height: 470px;
}
 .ek-team-image img {
 min-height: 470px;
 max-height: 560px;
}
 .ek-team-content {
 padding: 38px 30px 42px;
}
 .ek-team-name {
 font-size: 42px;
}
 .ek-team-role {
 font-size: 10px;
 letter-spacing: 1px;
}
 .ek-team-divider {
 margin: 20px 0 24px;
}
 .ek-team-content p {
 font-size: 14.5px;
 line-height: 1.8;
}
 .ek-team-number {
 right: 18px;
 bottom: 18px;
 width: 50px;
 height: 50px;
 font-size: 16px;
}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {
 .ek-team-section {
 padding: 55px 0;
}
 .ek-team-heading {
 font-size: 37px;
}
 .ek-team-image-wrap {
 min-height: 410px;
}
 .ek-team-image img {
 min-height: 410px;
}
 .ek-team-content {
 padding: 32px 24px 36px;
}
 .ek-team-name {
 font-size: 38px;
}
}
