/* ════════════════════════════════════════════════════
   PARIS WELLNESS INSTITUTE — v6 LIGHT THEME
   Palette: #FCF5E5 · #FFFFFF · #E8D9B5 · #C6AC7E
            #A08B64 · #8B7355 · #444444 · #2F2F2F
════════════════════════════════════════════════════ */
:root {
	--cream: #FCF5E5;
	--cream2: #F5EDD5;
	--cream3: #E8D9B5;
	--cream4: #EDE0C8;
	--gold: #C6AC7E;
	--gold-m: #A08B64;
	--gold-d: #8B7355;
	--gold-pale: rgba(198,172,126,.13);
	--white: #FFFFFF;
	--text: #444444;
	--dark: #2F2F2F;
	--muted: #7A7065;
	--border: rgba(139,115,85,.18);
	--border2: rgba(198,172,126,.28);
	--fd: 'Cormorant Garamond',Georgia,serif;
	--fb: 'DM Sans',system-ui,sans-serif;
	--s0: 0 1px 6px rgba(47,40,30,.05);
	--s1: 0 2px 18px rgba(47,40,30,.08);
	--s2: 0 8px 40px rgba(47,40,30,.11);
	--s3: 0 20px 64px rgba(47,40,30,.14);
	--sg: 0 6px 28px rgba(139,115,85,.3);
	--rs: 6px;
	--rm: 14px;
	--rl: 20px;
	--rxl: 28px;
	--rf: 999px;
	--ease: cubic-bezier(.25,.46,.45,.94);
	--spring: cubic-bezier(.34,1.56,.64,1);
	--hh: 74px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--fb);
	font-size: 16px;
	line-height: 1.72;
	color: var(--text);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

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

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

ul {
	list-style: none;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: inherit;
}

input,select,textarea {
	font-family: inherit;
}

.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.stag {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--gold-m);
	margin-bottom: 14px;
}

.stag::before {
	content: '';
	width: 26px;
	height: 1.5px;
	background: var(--gold);
	flex-shrink: 0;
}

.shead {
	font-family: var(--fd);
	font-size: clamp(2rem,3.6vw,3.2rem);
	font-weight: 700;
	line-height: 1.14;
	color: var(--dark);
	margin-bottom: 18px;
}

.shead em {
	font-style: italic;
	color: var(--gold-d);
}

.sdesc {
	font-size: 1rem;
	line-height: 1.88;
	color: var(--text);
	max-width: 560px;
}

.sdesc-c {
	margin: 0 auto;
	text-align: center;
}

.sec-hd {
	text-align: center;
	margin-bottom: 60px;
}

.btn,.btn-o,.btn-soft,.btn-w,.btn-ow,.btn-book {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	font-family: var(--fb);
	font-size: .84rem;
	font-weight: 600;
	letter-spacing: .04em;
	padding: 13px 34px;
	border-radius: var(--rf);
	transition: all .28s var(--ease);
	white-space: nowrap;
	cursor: pointer;
}

.btn {
	background: var(--gold-d);
	color: #fff;
	border: 2px solid var(--gold-d);
	box-shadow: var(--sg);
}

.btn:hover {
	background: var(--dark);
	border-color: var(--dark);
	transform: translateY(-2px);
}

.btn-o {
	background: transparent;
	color: var(--dark);
	border: 2px solid var(--border2);
}

.btn-o:hover {
	border-color: var(--gold-d);
	color: var(--gold-d);
	transform: translateY(-2px);
}

.btn-soft {
	background: var(--gold-pale);
	color: var(--gold-d);
	border: 1.5px solid var(--border2);
}

.btn-soft:hover {
	background: var(--gold-d);
	color: #fff;
	transform: translateY(-2px);
}

.btn-w {
	background: var(--white);
	color: var(--dark);
	border: 2px solid rgba(255,255,255,.3);
}

.btn-w:hover {
	    background: var(--dark)!important;
	color: #fff;
	border-color: var(--gold-d);
	transform: translateY(-2px);
}

.btn-ow {
	background: transparent;
	color: var(--text);
	border: 2px solid var(--border);
}

.btn-ow:hover {
	border-color: var(--gold-d);
	color: var(--gold-d);
	transform: translateY(-2px);
}

.btn-book {
	background: var(--gold-d);
	color: #fff;
	border: 2px solid var(--gold-d);
	font-size: .8rem;
	padding: 10px 24px;
	box-shadow: var(--sg);
}

.btn-book:hover {
	background: var(--dark);
	border-color: var(--dark);
	transform: translateY(-2px);
}

.btn-full {
	width: 100%;
	justify-content: center;
}

.rv {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .7s var(--ease),transform .7s var(--ease);
	transition-delay: var(--d,0s);
}

.rv-r {
	opacity: 0;
	transform: translateX(30px);
	transition: opacity .7s var(--ease),transform .7s var(--ease);
	transition-delay: var(--d,0s);
}

.rv-u {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s var(--ease),transform .6s var(--ease);
	transition-delay: var(--d,0s);
}

.rv.on,.rv-r.on,.rv-u.on {
	opacity: 1;
	transform: translate(0);
}
/* HEADER */
.hdr {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 900;
	height: var(--hh);
	background: rgba(255,255,255,.95);
	backdrop-filter: blur(20px);
	border-bottom: 1px solid var(--border);
	transition: box-shadow .3s;
}

.hdr.scrolled {
	box-shadow: var(--s1);
}

.hdr-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 36px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.brand {
	display: flex;
	align-items: center;
	gap: 11px;
}

.brand-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--gold-d);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
	transition: transform .35s var(--spring);
}

.brand:hover .brand-icon {
	transform: rotate(-8deg) scale(1.1);
}

.brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}

.brand-name {
	font-family: var(--fd);
	font-size: 1.12rem;
	font-weight: 700;
	color: var(--dark);
}

.brand-tagline {
	font-size: .58rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--gold-m);
}

.desk-nav {
	display: flex;
	align-items: center;
	gap: 2px;
}

.desk-nav>ul {
	display: flex;
	align-items: center;
	gap: 1px;
}

.desk-nav>ul>li>a {
	font-size: .82rem;
	font-weight: 500;
	color: var(--text);
	padding: 8px 13px;
	border-radius: var(--rs);
	display: flex;
	align-items: center;
	gap: 4px;
	transition: color .2s,background .2s;
}

.desk-nav>ul>li>a:hover,.desk-nav>ul>li>a.active {
	color: var(--gold-d);
	background: var(--gold-pale);
}

.chev {
	transition: transform .25s;
	flex-shrink: 0;
}

.has-sub {
	position: relative;
}

.sub-bridge {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 14px;
	display: none;
}

.has-sub:hover .sub-bridge {
	display: block;
}

.sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: 0;
	min-width: 236px;
	background: var(--white);
	border-radius: var(--rm);
	box-shadow: var(--s3);
	border: 1px solid var(--border);
	padding: 8px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-10px) scale(.97);
	transform-origin: top left;
	transition: opacity .22s,transform .22s;
	z-index: 200;
}

.sub-menu li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	font-size: .83rem;
	color: var(--text);
	border-radius: var(--rs);
	transition: background .15s,color .15s;
}

.sub-menu li a::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--gold);
	opacity: 0;
	flex-shrink: 0;
	transition: opacity .15s;
}

.sub-menu li a:hover {
	background: var(--cream);
	color: var(--gold-d);
}

.sub-menu li a:hover::before {
	opacity: 1;
}

.has-sub:hover .sub-menu,.has-sub .sub-bridge:hover~.sub-menu,.has-sub .sub-menu:hover {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0) scale(1);
}

.has-sub:hover .chev {
	transform: rotate(180deg);
}

.desk-nav .btn-book {
	margin-left: 18px;
}

.mob-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 8px;
	z-index: 902;
}

.mob-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--dark);
	border-radius: 2px;
	transition: all .3s var(--ease);
}

.mob-toggle.open span:nth-child(1) {
	transform: rotate(45deg) translate(5px,5px);
}

.mob-toggle.open span:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

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

.mob-overlay {
	position: fixed;
	inset: 0;
	background: rgba(47,40,30,.42);
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s;
	z-index: 990;
}

.mob-overlay.show {
	opacity: 1;
	pointer-events: all;
}

.mob-nav {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(320px,90vw);
	background: var(--white);
	z-index: 995;
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform .38s cubic-bezier(.32,0,.67,0);
	box-shadow: var(--s3);
}

.mob-nav.open {
	transform: translateX(0);
}

.mob-nav-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid var(--border);
	background: var(--cream);
	flex-shrink: 0;
}

.mob-close {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--cream2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dark);
	transition: background .2s;
}

.mob-close:hover {
	background: var(--cream3);
}

.mob-links {
	flex: 1;
	overflow-y: auto;
	padding: 8px 0;
}

.mob-links>li>a,.mob-sub-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 13px 20px;
	font-size: .92rem;
	font-weight: 500;
	color: var(--dark);
	transition: background .15s,color .15s;
	text-align: left;
}

.mob-links>li>a:hover,.mob-sub-btn:hover {
	background: var(--cream);
	color: var(--gold-d);
}

.mob-sub {
	max-height: 0;
	overflow: hidden;
	background: var(--cream);
	transition: max-height .32s ease;
}

.mob-sub.open {
	max-height: 300px;
}

.mob-sub li a {
	display: block;
	padding: 10px 20px 10px 36px;
	font-size: .86rem;
	color: var(--text);
	transition: color .15s;
}

.mob-sub li a:hover {
	color: var(--gold-d);
}

.mob-sub-btn svg {
	transition: transform .25s;
	flex-shrink: 0;
}

.mob-sub-btn.open svg {
	transform: rotate(180deg);
}

.mob-foot {
	padding: 18px 20px;
	border-top: 1px solid var(--border);
	flex-shrink: 0;
}
/* HERO */
.hero {
	min-height: 100svh;
	background: var(--cream);
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	padding-top: var(--hh);
}

.hero::before {
	content: '';
	position: absolute;
	top: -120px;
	right: -100px;
	width: 680px;
	height: 680px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(232,217,181,.5) 0%,transparent 65%);
	pointer-events: none;
}

.hero::after {
	content: '';
	position: absolute;
	bottom: -60px;
	left: -60px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(198,172,126,.15) 0%,transparent 70%);
	pointer-events: none;
}

.hero-bg-blob {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E") center/cover;
	opacity: .6;
	pointer-events: none;
}

.hero-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 80px 40px 70px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	width: 100%;
	position: relative;
	z-index: 1;
}

.hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 26px;
}

.hero-eye-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gold-d);
	flex-shrink: 0;
	animation: pulseDot 2.2s infinite;
}

@keyframes pulseDot {
	0%,100% {
		box-shadow: 0 0 0 0 rgba(139,115,85,.45);
	}

	60% {
		box-shadow: 0 0 0 9px rgba(139,115,85,0);
	}
}

.hero-eye-txt {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gold-m);
}

.hero-h1 {
	font-family: var(--fd);
	font-size: clamp(2.5rem,5.5vw,5.2rem);
	color: var(--dark);
	font-weight: 700;
	line-height: 1.06;
	margin-bottom: 20px;
}

.hero-h1 em {
	font-style: italic;
	color: var(--gold-d);
}

.hero-h1 .ruled {
	position: relative;
	display: inline-block;
	color: var(--gold-d);
}

.hero-h1 .ruled::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	height: 2.5px;
	background: linear-gradient(90deg,var(--gold) 0%,var(--cream3) 100%);
	border-radius: 2px;
}

.hero-p {
	font-size: 1.02rem;
	color: var(--text);
	line-height: 1.76;
	margin-bottom: 34px;
	max-width: 460px;
}

.hero-ctas {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.hero-proof {
	display: flex;
	align-items: center;
	gap: 16px;
}

.proof-avs {
	display: flex;
}

.proof-avs img {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--white);
	margin-left: -10px;
}

.proof-avs img:first-child {
	margin-left: 0;
}

.proof-text {
	margin-left: 6px;
}

.proof-stars {
	color: var(--gold-d);
	font-size: .82rem;
	margin-bottom: 2px;
}

.proof-text span {
	font-size: .7rem;
	color: var(--muted);
}
.stats-strip{
  padding: 29px 0;
}
.section-about{
      padding: 50px 0!important;
}
.proof-text strong {
	color: var(--dark);
}

.hero-right {
	position: relative;
}

.hero-img-main {
	border-radius: var(--rxl);
	overflow: hidden;
	position: relative;
	box-shadow: var(--s3);
}

.hero-img-main img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	display: block;
	transition: transform 8s ease;
}

.hero-img-main:hover img {
	transform: scale(1.03);
}

.hero-img-badge {
	position: absolute;
	background: rgba(255,255,255,.97);
	backdrop-filter: blur(12px);
	border-radius: var(--rm);
	padding: 11px 16px;
	display: flex;
	align-items: center;
	gap: 11px;
	box-shadow: var(--s2);
	border: 1px solid var(--border);
	animation: floatY 4s ease-in-out infinite;
}

.hero-ib-1 {
	bottom: 30px;
	left: -22px;
	animation-delay: 0s;
}

.hero-ib-2 {
	top: 28px;
	right: -20px;
	animation-delay: 1.6s;
}

.hero-ib-3 {
	bottom: 110px;
	right: -20px;
	animation-delay: .9s;
}

@keyframes floatY {
	0%,100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-9px);
	}
}

.hib-icon {
	width: 34px;
	height: 34px;
	border-radius: var(--rs);
	background: var(--cream);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
	flex-shrink: 0;
}

.hib-num {
	font-family: var(--fd);
	font-size: .96rem;
	font-weight: 700;
	color: var(--dark);
	line-height: 1.1;
}

.hib-txt {
	font-size: .68rem;
	color: var(--muted);
	line-height: 1.3;
}

.hero-img-secondary {
	position: absolute;
	bottom: -28px;
	left: -28px;
	width: 165px;
	height: 195px;
	border-radius: var(--rxl);
	overflow: hidden;
	border: 4px solid var(--white);
	box-shadow: var(--s2);
	animation: floatY 5.5s ease-in-out infinite;
	animation-delay: .7s;
}

.hero-img-secondary img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* MARQUEE */
.trust-bar {
	background: var(--gold-d);
	padding: 14px 0;
	overflow: hidden;
}

.mq-wrap {
	display: flex;
	overflow: hidden;
}

.mq-track {
	display: flex;
	gap: 50px;
	align-items: center;
	animation: mqAnim 28s linear infinite;
	flex-shrink: 0;
	white-space: nowrap;
}

.mq-track:hover {
	animation-play-state: paused;
}

.mq-item {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.75);
	flex-shrink: 0;
}

.mq-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(255,255,255,.5);
	flex-shrink: 0;
}

@keyframes mqAnim {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}
/* STATS */
.stats-strip {
	background: var(--white);
	padding: 72px 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

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

.stat-cell {
	text-align: center;
	padding: 28px 24px;
	border-right: 1px solid var(--border);
}

.stat-cell:last-child {
	border-right: none;
}

.stat-icon {
	width: 52px;
	height: 52px;
	border-radius: var(--rm);
	background: var(--cream);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	color: var(--gold-d);
	transition: background .3s,transform .35s var(--spring);
}

.stat-cell:hover .stat-icon {
	background: var(--gold-d);
	color: var(--white);
	transform: rotate(-8deg) scale(1.1);
}

.stat-num {
	font-family: var(--fd);
	font-size: 3rem;
	font-weight: 700;
	color: var(--dark);
	line-height: 1;
	display: block;
	margin-bottom: 8px;
}

.stat-lbl {
	font-size: .8rem;
	color: var(--muted);
	font-weight: 500;
}
/* ABOUT */
.section-about {
	padding: 120px 0;
	background: var(--cream);
}

.about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.about-img-stack {
	position: relative;
	padding-right: 28px;
	padding-bottom: 28px;
}

.about-main img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: var(--rxl);
	box-shadow: var(--s3);
	display: block;
}

.about-accent {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 200px;
	height: 200px;
	overflow: hidden;
	border-radius: var(--rl);
	border: 5px solid var(--white);
	box-shadow: var(--s2);
}

.about-accent img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-badge {
	position: absolute;
	top: 28px;
	left: -22px;
	background: var(--gold-d);
	border-radius: var(--rl);
	padding: 18px 22px;
	box-shadow: var(--s3);
	text-align: center;
	min-width: 116px;
}

.ab-num {
	font-family: var(--fd);
	font-size: 2.1rem;
	font-weight: 700;
	color: var(--white);
	display: block;
	line-height: 1;
}

.ab-txt {
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
	margin-top: 5px;
	display: block;
}

.about-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 24px 0 36px;
}

.about-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: .93rem;
	color: var(--text);
	line-height: 1.64;
}

.al-ico {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--gold-d);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	flex-shrink: 0;
	margin-top: 1px;
}

.about-acts {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.about-ph {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ph-ring {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--cream2);
	border: 1.5px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
}
/* SIG TREATMENTS */
.sig-tx-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

.sig-card {
	border-radius: var(--rxl);
	overflow: hidden;
	background: var(--white);
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	transition: transform .38s var(--ease),box-shadow .38s;
}

.sig-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--s3);
}

.sig-img {
	position: relative;
	height: 240px;
	overflow: hidden;
}

.sig-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--ease);
}

.sig-card:hover .sig-img img {
	transform: scale(1.07);
}

.sig-body {
	padding: 26px 28px;
}

.sig-body h3 {
	font-family: var(--fd);
	font-size: 1.24rem;
	color: var(--dark);
	margin-bottom: 10px;
}

.sig-body p {
	font-size: .87rem;
	color: var(--muted);
	line-height: 1.7;
	margin-bottom: 16px;
}

.sig-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: .8rem;
	font-weight: 700;
	color: var(--gold-d);
	transition: gap .2s;
}

.sig-link:hover {
	gap: 11px;
}
/* TX GRID */
.tx-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 22px;
}

.tx-card {
	position: relative;
	border-radius: var(--rxl);
	overflow: hidden;
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	cursor: pointer;
	transition: transform .38s var(--ease),box-shadow .38s;
}

.tx-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--s3);
}

.tx-img {
	height: 280px;
	overflow: hidden;
}

.tx-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--ease);
}

.tx-card:hover .tx-img img {
	transform: scale(1.07);
}

.tx-veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,rgba(47,40,30,0) 30%,rgba(47,40,30,.82) 100%);
	transition: background .3s;
}

.tx-card:hover .tx-veil {
	background: linear-gradient(180deg,rgba(47,40,30,.1) 0%,rgba(47,40,30,.9) 100%);
}

.tx-body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 22px;
}

.tx-n {
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--cream3);
	display: block;
	margin-bottom: 4px;
}

.tx-title {
	font-family: var(--fd);
	font-size: 1.2rem;
	color: var(--white);
	line-height: 1.26;
}

.tx-desc {
	font-size: .83rem;
	color: rgba(255,255,255,.82);
	line-height: 1.62;
	margin: 9px 0 12px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height .38s ease,opacity .3s ease;
}

.tx-card:hover .tx-desc {
	max-height: 80px;
	opacity: 1;
}

.tx-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--cream3);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .28s .06s,transform .28s .06s;
}

.tx-card:hover .tx-link {
	opacity: 1;
	transform: translateY(0);
}
/* TX DETAIL (treatments.php 4 images) */
.tx-detail-section {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
}

.tx-detail-section:nth-child(even) {
	background: var(--cream);
}

.tx-detail-section:nth-child(odd) {
	background: var(--white);
}

.tx-detail-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

.tx-detail-inner.flip {
	direction: rtl;
}

.tx-detail-inner.flip>* {
	direction: ltr;
}

.tx-cat-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--cream2);
	color: var(--gold-d);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: var(--rf);
	border: 1px solid var(--border2);
	margin-bottom: 14px;
}

.tx-detail-title {
	font-family: var(--fd);
	font-size: clamp(1.9rem,3vw,2.6rem);
	color: var(--dark);
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 12px;
}

.tx-detail-title em {
	font-style: italic;
	color: var(--gold-d);
}

.tx-detail-tagline {
	font-size: 1rem;
	color: var(--muted);
	line-height: 1.7;
	margin-bottom: 26px;
}

.tx-info-table {
	border: 1px solid var(--border);
	border-radius: var(--rl);
	overflow: hidden;
	margin-bottom: 26px;
}

.tx-info-row {
	display: grid;
	grid-template-columns: 150px 1fr;
	border-bottom: 1px solid var(--border);
}

.tx-info-row:last-child {
	border-bottom: none;
}

.tx-info-lbl {
	padding: 12px 15px;
	background: var(--cream2);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gold-m);
	border-right: 1px solid var(--border);
}

.tx-info-val {
	padding: 12px 15px;
	font-size: .88rem;
	color: var(--dark);
	line-height: 1.5;
}

.tx-why {
	background: var(--cream2);
	border-radius: var(--rl);
	padding: 20px 22px;
	border-left: 3px solid var(--gold-d);
	margin-top: 20px;
}

.tx-why h4 {
	font-family: var(--fd);
	font-size: 1rem;
	color: var(--dark);
	margin-bottom: 8px;
}

.tx-why p {
	font-size: .87rem;
	color: var(--text);
	line-height: 1.7;
}

.tx-4img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 260px 200px;
	gap: 10px;
	border-radius: var(--rxl);
	overflow: hidden;
}

.tx-img-main {
	grid-row: span 2;
	overflow: hidden;
	position: relative;
}

.tx-img-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ease);
}

.tx-img-main:hover img {
	transform: scale(1.04);
}

.tx-img-sm {
	overflow: hidden;
	position: relative;
}

.tx-img-sm img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ease);
}

.tx-img-sm:hover img {
	transform: scale(1.06);
}
/* PROCESS */
.section-process {
	padding: 120px 0;
	background: var(--cream2);
}

.p-steps {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-top: 16px;
}

.p-step {
	background: var(--white);
	border-radius: var(--rxl);
	padding: 30px 26px;
	border: 1px solid var(--border);
	box-shadow: var(--s0);
	transition: transform .35s var(--ease),box-shadow .35s,border-color .3s;
}

.p-step:hover {
	transform: translateY(-6px);
	box-shadow: var(--s2);
	border-color: var(--border2);
}

.p-circle {
	width: 56px;
	height: 56px;
	border-radius: var(--rm);
	background: var(--cream);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	color: var(--gold-d);
	transition: background .3s,transform .3s var(--spring);
}

.p-step:hover .p-circle {
	background: var(--gold-d);
	color: var(--white);
	transform: rotate(-6deg) scale(1.08);
}

.p-num {
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--gold-m);
	display: block;
	margin-bottom: 3px;
}

.p-title {
	font-family: var(--fd);
	font-size: 1.08rem;
	color: var(--dark);
	margin-bottom: 8px;
	font-weight: 600;
}

.p-text {
	font-size: .86rem;
	color: var(--muted);
	line-height: 1.7;
}
/* FACILITIES */
.section-facilities {
	padding: 120px 0;
	background: var(--white);
}

.fac-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
}

.fac-card {
	border-radius: var(--rxl);
	overflow: hidden;
	background: var(--cream);
	border: 1px solid var(--border);
	box-shadow: var(--s0);
	transition: transform .38s var(--ease),box-shadow .38s;
}

.fac-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--s2);
}

.fac-img {
	height: 200px;
	overflow: hidden;
}

.fac-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ease);
}

.fac-card:hover .fac-img img {
	transform: scale(1.06);
}

.fac-info {
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.fac-num {
	font-family: var(--fd);
	font-size: 2rem;
	font-weight: 700;
	color: var(--cream3);
	line-height: 1;
	flex-shrink: 0;
}

.fac-info h4 {
	font-family: var(--fd);
	font-size: .98rem;
	color: var(--dark);
	margin-bottom: 3px;
}

.fac-info p {
	font-size: .78rem;
	color: var(--muted);
}
/* TESTIMONIALS */
.section-testi {
	padding: 120px 0;
	background: #ffffff;
}

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

.testi-card {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--rxl);
	padding: 30px;
	position: relative;
	overflow: hidden;
	transition: box-shadow .3s,transform .35s var(--ease),border-color .3s;
}

.testi-card::before {
	content: '"';
	position: absolute;
	top: -2px;
	right: 18px;
	font-family: var(--fd);
	font-size: 8rem;
	line-height: 1;
	color: rgba(198,172,126,.1);
	pointer-events: none;
}

.testi-card:hover {
	box-shadow: var(--s2);
	transform: translateY(-5px);
	border-color: var(--border2);
}

.testi-stars {
	font-size: .9rem;
	color: var(--gold-d);
	margin-bottom: 14px;
	letter-spacing: .04em;
}

.testi-text {
	font-size: .9rem;
	color: var(--text);
	line-height: 1.8;
	font-style: italic;
	margin-bottom: 22px;
	position: relative;
	z-index: 1;
}

.testi-author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.testi-author img {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	border: 2.5px solid var(--cream3);
	flex-shrink: 0;
}

.testi-name {
	font-size: .87rem;
	font-weight: 700;
	color: var(--dark);
}

.testi-role {
	font-size: .73rem;
	color: var(--gold-m);
}
/* GALLERY */
.section-gallery {
	padding: 80px 0;
	background: var(--white);
	overflow: hidden;
}

.gal-runner {
	margin-top: 38px;
}

.gal-track {
	display: flex;
	gap: 16px;
	width: max-content;
	animation: galRun 30s linear infinite;
}

.gal-track:hover {
	animation-play-state: paused;
}

.gal-item {
	width: 240px;
	height: 290px;
	border-radius: var(--rxl);
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
	border: 1px solid var(--border);
}

.gal-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ease);
}

.gal-item:hover img {
	transform: scale(1.07);
}

.gal-over {
	position: absolute;
	inset: 0;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s;
}

.gal-item:hover .gal-over {
	background: rgba(47,40,30,.22);
}

@keyframes galRun {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}
/* BLOG PREVIEW */
/* ══════════════════════════════════════════════
   BLOG PREVIEW — Editorial Bento Grid
══════════════════════════════════════════════ */

.section-blog {
  padding: 110px 0;
  background: var(--white);
}

.blog-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 52px;
  gap: 20px;
}

/* ── Bento grid: 3 cols, 2 rows ── */
.bb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 20px;
}

/* img cells: row1-col1, row1-col3, row2-col2 */
.bb-grid > .bb-img:nth-child(1) { grid-column: 1; grid-row: 1; }
.bb-grid > .bb-txt:nth-child(2) { grid-column: 2; grid-row: 1; }
.bb-grid > .bb-img:nth-child(3) { grid-column: 3; grid-row: 1; }
.bb-grid > .bb-txt:nth-child(4) { grid-column: 1; grid-row: 2; }
.bb-grid > .bb-img:nth-child(5) { grid-column: 2; grid-row: 2; }
.bb-grid > .bb-txt:nth-child(6) { grid-column: 3; grid-row: 2; }

/* ── IMAGE CARD ── */
.bb-img {
  position: relative;
  display: block;
  border-radius: 20px;
  overflow: hidden;
  height: 280px;
  text-decoration: none;
  cursor: pointer;
}
.bb-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.25,.46,.45,.94);
  display: block;
}
.bb-img:hover img {
  transform: scale(1.06);
}
.bb-cat {
  position: absolute;
  top: 14px;
  left: 14px;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--gold-d);
  color: #fff;
  padding: 5px 13px;
  border-radius: 100px;
  z-index: 2;
}

/* ── TEXT CARD ── */
.bb-txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 28px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--white);
  height: 280px;
  text-decoration: none;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.bb-txt:hover {
  border-color: rgba(139,115,85,.35);
  box-shadow: 0 8px 32px rgba(139,115,85,.1);
  transform: translateY(-4px);
}

/* ── Meta row: date · read-time ── */
.bb-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .72rem;
  color: var(--muted);
  margin-bottom: 12px;
}
.bb-dot {
  color: var(--gold-d);
}

/* ── Separator line after meta ── */
.bb-rule {
  width: 100%;
  height: 1px;
  background: var(--border);
  margin-bottom: 16px;
  border: none;
}

/* ── Title ── */
.bb-title {
  font-family: var(--fd);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.35;
  margin-bottom: 10px;
  transition: color .2s;
}
.bb-txt:hover .bb-title {
  color: var(--gold-d);
}

/* ── Excerpt ── */
.bb-excerpt {
  font-size: .84rem;
  color: var(--muted);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Read More ── */
.bb-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold-d);
  margin-top: auto;
  transition: gap .22s;
}
.bb-txt:hover .bb-link { gap: 10px; }

/* ── Responsive ── */
@media (max-width: 960px) {
  .bb-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: unset;
  }
  .bb-grid > .bb-img:nth-child(1),
  .bb-grid > .bb-txt:nth-child(2),
  .bb-grid > .bb-img:nth-child(3),
  .bb-grid > .bb-txt:nth-child(4),
  .bb-grid > .bb-img:nth-child(5),
  .bb-grid > .bb-txt:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
  }
  .bb-img, .bb-txt { height: 240px; }
}

@media (max-width: 600px) {
  .bb-grid {
    grid-template-columns: 1fr;
  }
  .bb-img { height: 220px; }
  .bb-txt { height: auto; padding: 24px 20px; }
  .blog-sec-head { flex-direction: column; align-items: flex-start; gap: 14px; }
}


.section-cta-accent {
	padding: 90px 0;
	background: var(--gold-d);
	position: relative;
	overflow: hidden;
	text-align: center;
}

.section-cta-accent::before {
	content: '';
	position: absolute;
	top: -80px;
	right: -80px;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	background: rgba(255,255,255,.06);
	pointer-events: none;
}

.section-cta-accent::after {
	content: '';
	position: absolute;
	bottom: -60px;
	left: -60px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgba(255,255,255,.04);
	pointer-events: none;
}

.cta-accent-inner {
	position: relative;
	max-width: 680px;
	margin: 0 auto;
	padding: 0 24px;
}

.cta-accent-inner h2 {
	font-family: var(--fd);
	font-size: clamp(2rem,4vw,3.2rem);
	color: var(--white);
	line-height: 1.14;
	margin-bottom: 14px;
}

.cta-accent-inner h2 em {
	font-style: italic;
	color: var(--cream3);
}

.cta-accent-inner p {
	font-size: .98rem;
	color: rgba(255,255,255,.78);
	line-height: 1.72;
	margin-bottom: 34px;
}

.cta-btns {
	display: flex;
	gap: 13px;
	justify-content: center;
	flex-wrap: wrap;
}
/* PRE-FOOTER CTA */
.pre-footer-cta {
	background: var(--gold-d);
	position: relative;
	overflow: hidden;
	padding: 88px 0;
	text-align: center;
}

.pre-footer-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 55% at 50% 0%,rgba(255,255,255,.1) 0%,transparent 65%);
}

.pfc-inner {
	position: relative;
	max-width: 680px;
	margin: 0 auto;
	padding: 0 24px;
}

.pfc-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.78);
	border: 1px solid rgba(255,255,255,.28);
	padding: 6px 16px;
	border-radius: var(--rf);
	margin-bottom: 22px;
}

.pre-footer-cta h2 {
	font-family: var(--fd);
	font-size: clamp(2rem,4.5vw,3rem);
	color: var(--white);
	font-weight: 600;
	line-height: 1.14;
	margin-bottom: 14px;
}

.pre-footer-cta h2 em {
	font-style: italic;
	color: var(--cream3);
}

.pre-footer-cta p {
	font-size: .96rem;
	color: rgba(255,255,255,.7);
	line-height: 1.7;
	margin-bottom: 32px;
}

.pfc-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 26px;
}

.pfc-trust {
	display: flex;
	gap: 22px;
	justify-content: center;
	flex-wrap: wrap;
}

.pfc-trust span {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .75rem;
	color: rgba(255,255,255,.55);
}

.pfc-trust svg {
	color: rgba(255,255,255,.7);
	flex-shrink: 0;
}
/* CONSULT FORM */
.section-consult {
	padding: 120px 0;
	background: var(--cream);
}

.consult-grid {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 80px;
	align-items: start;
}

.ci-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 24px 0 32px;
}

.ci-row {
	display: flex;
	align-items: center;
	gap: 13px;
	font-size: .9rem;
	color: var(--text);
}

.ci-ico {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--white);
	border: 1.5px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
	flex-shrink: 0;
	box-shadow: var(--s0);
}

.trust-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.t-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--rf);
	padding: 6px 13px;
	font-size: .72rem;
	font-weight: 600;
	color: var(--text);
	box-shadow: var(--s0);
}

.tp-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gold-d);
	flex-shrink: 0;
}

.form-box {
	background: var(--white);
	border-radius: var(--rxl);
	padding: 44px 40px;
	box-shadow: var(--s2);
	border: 1px solid var(--border);
}

.fb-title {
	font-family: var(--fd);
	font-size: 1.55rem;
	color: var(--dark);
	margin-bottom: 5px;
}

.fb-sub {
	font-size: .86rem;
	color: var(--muted);
	margin-bottom: 26px;
}

.cform {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 13px;
}

.fg {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.fg label {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dark);
}

.fg input,.fg select,.fg textarea {
	padding: 11px 14px;
	border: 1.5px solid var(--border2);
	border-radius: var(--rs);
	font-size: .88rem;
	color: var(--dark);
	background: var(--cream);
	outline: none;
	resize: vertical;
	transition: border-color .22s,background .22s,box-shadow .22s;
}

.fg input:focus,.fg select:focus,.fg textarea:focus {
	border-color: var(--gold-d);
	background: var(--white);
	box-shadow: 0 0 0 3px rgba(139,115,85,.1);
}
/* FOOTER */
.site-footer {
	background: var(--dark);
	padding: 90px 0 0;
}

.footer-cols {
	display: grid;
	grid-template-columns: 1.8fr 1fr 1fr 1.2fr;
	gap: 48px;
	padding-bottom: 60px;
	border-bottom: 1px solid rgba(255,255,255,.07);
}

.footer-about {
	font-size: .86rem;
	color: rgba(255,255,255,.44);
	line-height: 1.8;
	margin: 16px 0 22px;
}

.footer-socials {
	display: flex;
	gap: 9px;
}

.soc-btn {
	width: 37px;
	height: 37px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.1);
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.44);
	transition: background .2s,border-color .2s,color .2s,transform .2s;
}

.soc-btn:hover {
	background: var(--gold-d);
	border-color: var(--gold-d);
	color: var(--white);
	transform: translateY(-3px);
}

.footer-col h4 {
	font-family: var(--fd);
	font-size: 1rem;
	color: var(--white);
	margin-bottom: 18px;
}

.footer-col ul li {
	margin-bottom: 9px;
}

.footer-col ul li a {
	font-size: .84rem;
	color: rgba(255,255,255,.44);
	transition: color .2s,transform .2s;
	display: inline-block;
}

.footer-col ul li a:hover {
	color: var(--gold);
	transform: translateX(4px);
}

.f-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: .83rem;
	color: rgba(255,255,255,.44);
	margin-bottom: 13px;
	line-height: 1.55;
}

.f-contact-list li svg {
	color: var(--gold);
	flex-shrink: 0;
	margin-top: 2px;
}

.footer-btm {
	padding: 24px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: .77rem;
	color: rgba(255,255,255,.26);
}

.footer-btm-links {
	display: flex;
	gap: 16px;
}

.footer-btm-links a {
	color: rgba(255,255,255,.3);
	transition: color .2s;
}

.footer-btm-links a:hover {
	color: var(--gold);
}
/* PAGE HERO */
.page-hero {
	padding: 148px 0 78px;
	background: var(--cream);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.page-hero::before {
	content: '';
	position: absolute;
	top: -80px;
	right: -80px;
	width: 580px;
	height: 580px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(198,172,126,.16),transparent 65%);
	pointer-events: none;
}

.page-hero h1 {
	font-family: var(--fd);
	font-size: clamp(2.2rem,4.5vw,3.6rem);
	color: var(--dark);
	line-height: 1.14;
	margin-bottom: 12px;
	position: relative;
}

.page-hero h1 em {
	font-style: italic;
	color: var(--gold-d);
}

.page-hero p {
	font-size: 1.02rem;
	color: var(--muted);
	max-width: 560px;
	margin: 0 auto;
	position: relative;
}

.breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: .76rem;
	color: var(--muted);
	margin-bottom: 12px;
}

.breadcrumb a:hover {
	color: var(--gold-d);
}
/* FILTER */
.filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	justify-content: center;
	margin-bottom: 48px;
}

.f-btn {
	padding: 9px 24px;
	border-radius: var(--rf);
	border: 1.5px solid var(--border2);
	background: transparent;
	font-size: .82rem;
	font-weight: 600;
	color: var(--text);
	cursor: pointer;
	transition: all .22s;
}

.f-btn:hover,.f-btn.active {
	background: var(--gold-d);
	border-color: var(--gold-d);
	color: var(--white);
}
/* BLOG LAYOUT */
.blog-layout {
	display: grid;
	grid-template-columns: 1fr 310px;
	gap: 50px;
	align-items: start;
}

.bpc {
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 0;
	border-radius: var(--rxl);
	overflow: hidden;
	background: var(--white);
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	margin-bottom: 24px;
	transition: transform .35s,box-shadow .35s;
}

.bpc:hover {
	transform: translateY(-4px);
	box-shadow: var(--s2);
}

.bpc-img {
	position: relative;
	min-height: 220px;
	overflow: hidden;
}

.bpc-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}

.bpc:hover .bpc-img img {
	transform: scale(1.04);
}

.bpc-cat {
	position: absolute;
	top: 13px;
	left: 13px;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: var(--gold-d);
	color: var(--white);
	padding: 4px 13px;
	border-radius: var(--rf);
}

.bpc-body {
	padding: 26px 28px;
}

.bpc-meta {
	display: flex;
	gap: 12px;
	font-size: .73rem;
	color: var(--muted);
	margin-bottom: 9px;
}

.bpc-body h2 {
	font-family: var(--fd);
	font-size: 1.22rem;
	color: var(--dark);
	margin-bottom: 9px;
	line-height: 1.34;
}

.bpc-body h2 a:hover {
	color: var(--gold-d);
}

.bpc-body p {
	font-size: .87rem;
	color: var(--text);
	line-height: 1.74;
	margin-bottom: 16px;
}

.bpc-read {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--gold-d);
	transition: gap .2s;
}

.bpc-read:hover {
	gap: 11px;
}
/* SIDEBAR */
.blog-sidebar {
	position: sticky;
	top: calc(var(--hh) + 16px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sw {
	background: var(--cream);
	border-radius: var(--rl);
	padding: 22px 18px;
	border: 1px solid var(--border);
}

.sw h3 {
	font-family: var(--fd);
	font-size: .98rem;
	color: var(--dark);
	margin-bottom: 13px;
	padding-bottom: 9px;
	border-bottom: 1.5px solid var(--border2);
}

.sw-search {
	display: flex;
	border: 1.5px solid var(--border2);
	border-radius: var(--rs);
	overflow: hidden;
	background: var(--white);
}

.sw-search input {
	flex: 1;
	padding: 10px 12px;
	border: none;
	font-size: .85rem;
	background: transparent;
	outline: none;
	color: var(--dark);
}

.sw-search button {
	padding: 10px 13px;
	background: var(--gold-d);
	color: var(--white);
	transition: background .2s;
	cursor: pointer;
}

.sw-search button:hover {
	background: var(--dark);
}

.sw-cats {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sw-cats li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 9px;
	border-radius: var(--rs);
	font-size: .85rem;
	color: var(--text);
	transition: background .15s,color .15s;
}

.sw-cats li a:hover,.sw-cats li a.active-cat {
	background: var(--white);
	color: var(--gold-d);
	font-weight: 600;
}

.cat-pill {
	background: rgba(139,115,85,.12);
	color: var(--gold-d);
	font-size: .69rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: var(--rf);
}

.sw-recent {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sw-rlink {
	display: flex;
	gap: 11px;
	align-items: center;
	padding: 6px;
	border-radius: var(--rs);
	transition: background .2s;
}

.sw-rlink:hover {
	background: var(--white);
}

.sw-rthumb {
	width: 54px;
	height: 54px;
	border-radius: var(--rs);
	overflow: hidden;
	flex-shrink: 0;
}

.sw-rthumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sw-rcat {
	font-size: .62rem;
	font-weight: 700;
	color: var(--gold-d);
	text-transform: uppercase;
	letter-spacing: .08em;
	display: block;
}

.sw-rtitle {
	font-size: .79rem;
	color: var(--dark);
	font-weight: 500;
	line-height: 1.36;
}

.sw-cta-box {
	background: var(--gold-d);
	border: none;
	text-align: center;
}

.sw-cta-box h3 {
	font-family: var(--fd);
	color: var(--white);
	margin-bottom: 7px;
	border: none;
	padding: 0;
}

.sw-cta-box p {
	font-size: .83rem;
	color: rgba(255,255,255,.7);
	margin-bottom: 15px;
}
/* SINGLE POST */
.post-hero {
	background: var(--cream);
	padding: 120px 0 0;
	border-bottom: 1px solid var(--border);
}

.post-meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.post-cat-tag {
	background: var(--gold-d);
	color: var(--white)!important;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 4px 13px;
	border-radius: var(--rf);
}

.post-meta-row span {
	font-size: .82rem;
	color: #000000;
}

.post-h1 {
	font-family: var(--fd);
	font-size: clamp(2rem,4.5vw,3.2rem);
	color: var(--dark);
	line-height: 1.12;
	font-weight: 700;
	margin-bottom: 22px;
}

.post-author-row {
	display: flex;
	align-items: center;
	gap: 13px;
	padding-bottom: 40px;
}

.post-author-row img {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	border: 2.5px solid var(--gold);
}

.post-author-name {
	font-size: .9rem;
	font-weight: 700;
	color: var(--dark);
}

.post-author-role {
	font-size: .76rem;
	color: var(--muted);
}

.post-layout {
	display: grid;
	grid-template-columns: 1fr 295px;
	gap: 52px;
	padding: 60px 0 88px;
	align-items: start;
}

.post-featured-img {
	width: 100%;
	border-radius: var(--rxl);
	margin-bottom: 34px;
	object-fit: cover;
	max-height: 450px;
	box-shadow: var(--s2);
}

.post-content h2 {
	font-family: var(--fd);
	font-size: 1.5rem;
	color: var(--dark);
	margin: 32px 0 12px;
	line-height: 1.24;
}

.post-content p {
	font-size: .96rem;
	color: var(--text);
	line-height: 1.82;
	margin-bottom: 20px;
}

.post-content blockquote {
	border-left: 3px solid var(--gold-d);
	padding: 16px 22px;
	margin: 30px 0;
	background: var(--cream);
	border-radius: 0 var(--rm) var(--rm) 0;
}

.post-content blockquote p {
	font-family: var(--fd);
	font-size: 1.06rem;
	font-style: italic;
	color: var(--dark);
	margin: 0;
	line-height: 1.5;
}

.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 34px;
	padding-top: 24px;
	border-top: 1px solid var(--border);
}

.post-tags a {
	font-size: .74rem;
	color: var(--gold-d);
	border: 1px solid var(--border2);
	padding: 4px 12px;
	border-radius: var(--rf);
	transition: background .2s,color .2s;
}

.post-tags a:hover {
	background: var(--gold-d);
	color: var(--white);
}
/* SEARCH / ARCHIVE */
.search-header {
	padding: 68px 0 34px;
	background: var(--cream);
	border-bottom: 1px solid var(--border);
}

.search-query-form {
	display: flex;
	margin-top: 18px;
	max-width: 520px;
}

.search-query-form input {
	flex: 1;
	padding: 12px 16px;
	border: 1.5px solid var(--border2);
	border-right: none;
	border-radius: var(--rm) 0 0 var(--rm);
	font-size: .9rem;
	background: var(--white);
	color: var(--dark);
	outline: none;
}

.search-query-form input:focus {
	border-color: var(--gold-d);
}

.search-query-form button {
	padding: 12px 20px;
	background: var(--gold-d);
	color: var(--white);
	border: none;
	border-radius: 0 var(--rm) var(--rm) 0;
	font-size: .88rem;
	font-weight: 600;
	transition: background .2s;
	cursor: pointer;
}

.search-query-form button:hover {
	background: var(--dark);
}

.search-results {
	padding: 50px 0 88px;
	background: var(--white);
}

.search-count {
	font-size: .9rem;
	color: var(--muted);
	margin-bottom: 28px;
}

.no-results {
	text-align: center;
	padding: 68px 0;
	color: var(--muted);
	font-size: 1rem;
}

.cat-posts-grid {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 60px 0 88px;
}

.cat-hero-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gold-m);
	margin-bottom: 12px;
}
/* CONTACT */
.contact-split {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 72px;
	align-items: start;
	padding: 88px 0;
}

.contact-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 26px;
}

.contact-brand-name {
	font-family: var(--fd);
	font-size: 1.26rem;
	font-weight: 700;
	color: var(--dark);
}

.contact-brand-sub {
	font-size: .82rem;
	color: var(--muted);
}

.cinfo-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
}

.cinfo-ico {
	width: 44px;
	height: 44px;
	border-radius: var(--rm);
	flex-shrink: 0;
	background: var(--cream);
	border: 1px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
}

.cinfo-lbl {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 3px;
}

.cinfo-val {
	font-size: .9rem;
	color: var(--dark);
	line-height: 1.55;
}

.hours-table div {
	display: flex;
	justify-content: space-between;
	font-size: .83rem;
	color: var(--text);
	line-height: 1.8;
}

.hours-table span:last-child {
	color: var(--muted);
}

.map-embed iframe {
	width: 100%;
	height: 400px;
	border: none;
	display: block;
}
/* ABOUT */
.values-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 22px;
	margin-top: 42px;
}

.value-card {
	background: var(--white);
	border-radius: var(--rxl);
	padding: 30px 24px;
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	text-align: center;
	transition: transform .35s,box-shadow .35s,border-color .3s;
}

.value-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--s2);
	border-color: var(--border2);
}

.value-icon {
	width: 56px;
	height: 56px;
	background: var(--cream);
	border-radius: var(--rm);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	color: var(--gold-d);
	transition: background .3s,transform .3s var(--spring);
}

.value-card:hover .value-icon {
	background: var(--gold-d);
	color: var(--white);
	transform: rotate(-7deg) scale(1.08);
}

.value-card h3 {
	font-family: var(--fd);
	font-size: 1.1rem;
	color: var(--dark);
	margin-bottom: 9px;
}

.value-card p {
	font-size: .86rem;
	color: var(--muted);
	line-height: 1.7;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-top: 42px;
}

.team-card {
	border-radius: var(--rxl);
	overflow: hidden;
	background: var(--white);
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	transition: transform .38s,box-shadow .38s;
}

.team-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--s3);
}

.team-photo {
	height: 295px;
	overflow: hidden;
}

.team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s;
}

.team-card:hover .team-photo img {
	transform: scale(1.05);
}

.team-body {
	padding: 22px 24px;
}

.team-body h3 {
	font-family: var(--fd);
	font-size: 1.1rem;
	color: var(--dark);
	margin-bottom: 2px;
}

.team-role {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gold-m);
	display: block;
	margin-bottom: 9px;
}

.team-body p {
	font-size: .84rem;
	color: var(--muted);
	line-height: 1.64;
}
/* CURSOR */
.cursor-dot,.cursor-ring {
	display: none;
}
/* POPUP */
.popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 1200;
	background: rgba(47,40,30,.52);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s var(--ease);
}

.popup-overlay.show {
	opacity: 1;
	pointer-events: all;
}

.popup-box {
	background: var(--white);
	border-radius: var(--rxl);
	width: 100%;
	max-width: 540px;
	max-height: 92vh;
	overflow-y: auto;
	position: relative;
	transform: translateY(26px) scale(.97);
	transition: transform .4s var(--spring);
	box-shadow: 0 30px 80px rgba(47,40,30,.2);
}

.popup-overlay.show .popup-box {
	transform: translateY(0) scale(1);
}

.popup-close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--border);
	background: var(--cream);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--muted);
	transition: background .2s,color .2s;
}

.popup-close:hover {
	background: var(--dark);
	color: var(--white);
}

.popup-inner {
	padding: 40px 36px 36px;
}

.popup-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.popup-title {
	font-family: var(--fd);
	font-size: 1.85rem;
	line-height: 1.15;
	color: var(--dark);
	margin-bottom: 8px;
}

.popup-title em {
	font-style: italic;
	color: var(--gold-d);
}

.popup-sub {
	font-size: .86rem;
	color: var(--muted);
	line-height: 1.62;
	margin-bottom: 22px;
}
/* RESPONSIVE */
@media(max-width:1120px) {
	.footer-cols {
		grid-template-columns: repeat(2,1fr);
	}

	.testi-grid {
		grid-template-columns: 1fr 1fr;
	}

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

	.stat-cell:nth-child(2) {
		border-right: none;
	}

	.tx-4img {
		grid-template-rows: 220px 180px;
	}
}

@media(max-width:960px) {
	.hero-inner,.about-grid,.consult-grid,.contact-split,.tx-detail-inner {
		grid-template-columns: 1fr;
        gap: 30px;
	}
.hero-inner{
      padding: 40px 20px 0px;
}
	.tx-detail-inner.flip {
		direction: ltr;
	}

	.hero-img-secondary {
		display: none;
	}

	.hero-ib-1 {
		left: -6px;
	}

	.hero-ib-2,.hero-ib-3 {
		right: -6px;
	}

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

	.about-accent {
		display: none;
	}

	.p-steps {
		grid-template-columns: 1fr 1fr;
	}

	.team-grid,.values-grid {
		grid-template-columns: 1fr 1fr;
	}

	.blog-layout {
		grid-template-columns: 1fr;
	}

	.bpc {
		grid-template-columns: 1fr;
	}

	.bpc-img {
		min-height: 200px;
		height: 200px;
	}

	.blog-sidebar {
		position: static;
	}

	.fac-grid {
		grid-template-columns: 1fr 1fr;
	}

	.post-layout {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.tx-4img {
		grid-template-rows: auto;
	}

	.tx-img-main {
		grid-row: span 1;
	}

	.tx-4img>* {
		min-height: 170px;
	}
}

@media(max-width:768px) {
	.desk-nav {
		display: none;
	}

	.mob-toggle {
		display: flex;
	}

	.hdr-inner {
		padding: 0 20px;
	}

	.tx-grid,.testi-grid,.team-grid,.values-grid,.blog-trio,.sig-tx-grid {
		grid-template-columns: 1fr;
	}

	.stats-row {
		grid-template-columns: 1fr 1fr;
	}

	.p-steps {
		grid-template-columns: 1fr;
	}

	.form-pair {
		grid-template-columns: 1fr;
	}

	.form-box {
		padding: 26px 20px;
	}

	.footer-cols {
		grid-template-columns: 1fr 1fr;
	}

	.footer-btm {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	.container {
		padding: 0 20px;
	}

	.blog-sec-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.tx-4img {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.tx-img-main {
		grid-row: span 1;
	}
}

@media(max-width:480px) {
	.hero-ctas,.cta-btns,.pfc-actions {
		flex-direction: column;
	}

	.btn,.btn-o,.btn-w,.btn-soft {
		width: 100%;
		justify-content: center;
	}

	.footer-cols {
		grid-template-columns: 1fr;
	}

	.fac-grid {
		grid-template-columns: 1fr;
	}

	.popup-inner {
		padding: 30px 18px 24px;
	}
}

/* ════════════════════════════════════════════════════
   NEW COMPONENTS — v7 ADDITIONS
════════════════════════════════════════════════════ */

/* ── TREATMENTS CRAFTED FOR YOU — Category Tabs ── */
.section-tx-crafted {
	padding: 100px 0;
	background: var(--cream);
}

.tx-cat-tabs {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 20px;
	margin-bottom: 0;
}

.tx-cat-tab {
	border-radius: var(--rxl);
	overflow: hidden;
	background: var(--white);
	box-shadow: var(--s1);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	transition: transform .38s var(--ease),box-shadow .38s;
	text-decoration: none;
}

.tx-cat-tab:hover {
	transform: translateY(-10px);
	box-shadow: var(--s3);
}

.tx-cat-tab-img {
	position: relative;
	height: 220px;
	overflow: hidden;
}

.tx-cat-tab-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--ease);
}

.tx-cat-tab:hover .tx-cat-tab-img img {
	transform: scale(1.07);
}

.tx-cat-tab-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,transparent 20%,rgba(47,40,30,.55) 100%);
}

.tx-cat-tab-body {
	padding: 24px 26px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.tx-cat-tab-icon {
	width: 46px;
	height: 46px;
	border-radius: var(--rm);
	background: var(--cream);
	border: 1px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
	flex-shrink: 0;
	transition: background .3s,color .3s;
}

.tx-cat-tab:hover .tx-cat-tab-icon {
	background: var(--gold-d);
	color: var(--white);
}

.tx-cat-tab-body>div h3 {
	font-family: var(--fd);
	font-size: 1.22rem;
	color: var(--dark);
	margin-bottom: 3px;
}

.tx-cat-tab-body>div p {
	font-size: .82rem;
	color: var(--muted);
}

.tx-cat-tab-btn {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--gold-d);
	white-space: nowrap;
	transition: gap .2s,color .2s;
}

.tx-cat-tab:hover .tx-cat-tab-btn {
	gap: 10px;
	color: var(--dark);
}

/* ── PROCESS TIMELINE ── */
.section-process {
	padding: 120px 0;
	background: var(--cream2);
	position: relative;
	overflow: hidden;
}

.section-process::before {
	content: '';
	position: absolute;
	top: -100px;
	right: -100px;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(198,172,126,.18),transparent 70%);
	pointer-events: none;
}

.process-timeline {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 0;
	position: relative;
	margin-top: 16px;
}

.process-timeline::before {
	content: '';
	position: absolute;
	top: 28px;
	left: calc(100%/6);
	right: calc(100%/6);
	height: 1px;
	background: linear-gradient(90deg,transparent,var(--border2),transparent);
	pointer-events: none;
}

.process-step {
	position: relative;
	padding: 0 24px 0 0;
	display: flex;
	gap: 20px;
}

.process-step:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 26px;
	right: 0;
	width: 1px;
	height: calc(100% - 52px);
	background: var(--border);
}

.process-step-num {
	font-family: var(--fd);
	font-size: 3.5rem;
	font-weight: 700;
	color: rgba(198,172,126,.15);
	line-height: 1;
	flex-shrink: 0;
	user-select: none;
	min-width: 64px;
	transition: color .3s;
}

.process-step:hover .process-step-num {
	color: rgba(139,115,85,.25);
}

.process-step-content {
	padding-top: 8px;
}

.process-step-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--rm);
	background: var(--white);
	border: 1px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
	margin-bottom: 14px;
	transition: background .3s,color .3s,transform .3s var(--spring);
}

.process-step:hover .process-step-icon {
	background: var(--gold-d);
	color: var(--white);
	transform: rotate(-6deg) scale(1.08);
}

.process-step-title {
	font-family: var(--fd);
	font-size: 1.12rem;
	color: var(--dark);
	margin-bottom: 8px;
	font-weight: 600;
}

.process-step-text {
	font-size: .86rem;
	color: var(--muted);
	line-height: 1.7;
}

.process-cta {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 56px;
	flex-wrap: wrap;
}

/* ── TESTIMONIAL SWIPER ── */
.section-testi {
	padding: 120px 0;
	background: #ffffff;
}

.testi-swiper-wrap {
	position: relative;
	padding: 0 50px;
}

.testi-swiper {
	overflow: visible !important;
}

.testi-swiper .swiper-slide {
	height: auto;
}

.testi-swiper .testi-card {
	height: 100%;
	margin: 4px 0 20px;
}
/* Swiper nav buttons — custom gold style */
.testi-prev,.testi-next {
	width: 46px!important;
	height: 46px!important;
	border-radius: 50%!important;
	background: var(--white)!important;
	box-shadow: var(--s1)!important;
	border: 1px solid var(--border)!important;
	top: 50%!important;
	margin-top: -40px!important;
	transition: background .22s,border-color .22s!important;
}

.testi-prev:hover,.testi-next:hover {
	background: var(--gold-d)!important;
	border-color: var(--gold-d)!important;
}

.testi-prev::after,.testi-next::after {
	font-size: 14px!important;
	font-weight: 900!important;
	color: var(--gold-d)!important;
}

.testi-prev:hover::after,.testi-next:hover::after {
	color: var(--white)!important;
}

.testi-prev {
	left: -10px!important;
}

.testi-next {
	right: -10px!important;
}

.testi-pagination {
	position: relative!important;
	bottom: auto!important;
	margin-top: 32px!important;
}

.testi-pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: var(--cream3);
	opacity: 1;
}

.testi-pagination .swiper-pagination-bullet-active {
	background: var(--gold-d);
	width: 24px;
	border-radius: 4px;
}

/* ── TREATMENTS PAGE HERO ── */
.tx-page-hero {
	padding: 148px 0 80px;
	background: var(--cream);
	position: relative;
	overflow: hidden;
	text-align: center;
}

.tx-page-hero-bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 80% at 50% 0%,rgba(198,172,126,.18),transparent 70%);
	pointer-events: none;
}

.tx-page-hero .container {
	position: relative;
	z-index: 1;
}

.tx-page-hero h1 {
	font-family: var(--fd);
	font-size: clamp(2.4rem,5vw,4rem);
	color: var(--dark);
	margin-bottom: 14px;
}

.tx-page-hero h1 em {
	font-style: italic;
	color: var(--gold-d);
}

.tx-page-hero p {
	font-size: 1.02rem;
	color: var(--muted);
	max-width: 580px;
	margin: 0 auto 34px;
	line-height: 1.7;
}

.tx-hero-cats {
	display: inline-flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

.tx-hero-cat {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 20px;
	border-radius: var(--rf);
	border: 1.5px solid var(--border2);
	background: var(--white);
	font-size: .82rem;
	font-weight: 600;
	color: var(--text);
	text-decoration: none;
	transition: all .22s;
}

.tx-hero-cat:hover,.tx-hero-cat.active {
	background: var(--gold-d);
	border-color: var(--gold-d);
	color: var(--white);
}

/* ── TREATMENTS LIST SECTION ── */
.tx-list-section {
	background: var(--white);
	padding-bottom: 0;
}

.tx-filter-sticky {
	position: sticky;
	top: var(--hh);
	background: rgba(255,255,255,.97);
	backdrop-filter: blur(12px);
	z-index: 100;
	padding: 18px 0;
	border-bottom: 1px solid var(--border);
	margin-bottom: 0;
	border-radius: 0;
}

.tx-detail-modern {
	padding: 100px 0;
	border-bottom: 1px solid var(--border);
	position: relative;
	overflow: hidden;
}

.tx-detail-modern:nth-child(even) {
	background: var(--cream);
  padding: 50px;
}

.tx-detail-modern:nth-child(odd) {
	background: var(--white);
}

.tx-detail-deco {
	position: absolute;
	font-family: var(--fd);
	font-size: clamp(8rem,16vw,16rem);
	font-weight: 700;
	color: rgba(198,172,126,.06);
	line-height: 1;
	top: 50%;
	transform: translateY(-50%);
	right: 3%;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.tx-detail-modern .tx-detail-inner {
	position: relative;
	z-index: 1;
}

.tx-img-cat-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: rgba(47,40,30,.72);
	backdrop-filter: blur(8px);
	color: rgba(255,255,255,.9);
	padding: 5px 14px;
	border-radius: var(--rf);
	border: 1px solid rgba(255,255,255,.15);
}

.tx-quick-facts {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 22px;
}

.tx-qf-pill {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: .84rem;
	color: var(--text);
	line-height: 1.4;
}

.tx-qf-pill svg {
	color: var(--gold-d);
	flex-shrink: 0;
	margin-top: 2px;
}

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:1024px) {
	.tx-cat-tabs {
		grid-template-columns: 1fr;
	}

	.tx-cat-tab {
		flex-direction: row;
	}

	.tx-cat-tab-img {
		width: 160px;
		height: auto;
		flex-shrink: 0;
		min-height: 120px;
	}

	.process-timeline {
		grid-template-columns: 1fr 1fr;
		gap: 0;
	}

	.process-step:nth-child(3),.process-step:nth-child(4) {
		margin-top: 0;
	}
}

@media(max-width:768px) {
	.tx-cat-tabs {
		grid-template-columns: 1fr;
	}

	.tx-cat-tab {
		flex-direction: column;
	}

	.tx-cat-tab-img {
		width: 100%;
		height: 180px;
	}

	.process-timeline {
		grid-template-columns: 1fr;
	}

	.process-step {
		padding: 0 0 30px 0;
		border-bottom: 1px solid var(--border);
	}

	.process-step:not(:last-child)::after {
		display: none;
	}

	.testi-swiper-wrap {
		padding: 0 36px;
	}

	.tx-hero-cats {
		gap: 8px;
	}

	.container {
		padding: 0 20px;
	}
}

@media(max-width:480px) {
	.testi-swiper-wrap {
		padding: 0 20px;
	}

	.testi-prev {
		left: -8px!important;
	}

	.testi-next {
		right: -8px!important;
	}
}

/* ════════════════════════════════════════════════════
   v8 ADDITIONS — Services, Process CTA, Testi Swiper fixes
════════════════════════════════════════════════════ */

/* ── SERVICES PAGE ── */
.svc-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 22px;
	padding: 80px 0 60px;
}

.svc-card {
	background: var(--white);
	border-radius: var(--rxl);
	padding: 34px 28px;
	border: 1px solid var(--border);
	box-shadow: var(--s0);
	transition: transform .38s var(--ease),box-shadow .38s,border-color .3s;
}

.svc-card:hover {
	transform: translateY(-9px);
	box-shadow: var(--s3);
	border-color: var(--border2);
}

.svc-ico-wrap {
	width: 56px;
	height: 56px;
	border-radius: var(--rm);
	background: var(--cream);
	border: 1px solid var(--border2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold-d);
	margin-bottom: 20px;
	transition: background .3s,color .3s,transform .3s var(--spring);
}

.svc-card:hover .svc-ico-wrap {
	background: var(--gold-d);
	color: var(--white);
	transform: rotate(-6deg) scale(1.08);
}

.svc-card h3 {
	font-family: var(--fd);
	font-size: 1.14rem;
	color: var(--dark);
	margin-bottom: 11px;
	font-weight: 600;
}

.svc-card p {
	font-size: .86rem;
	color: var(--muted);
	line-height: 1.74;
	margin-bottom: 18px;
}

.svc-price {
	display: inline-block;
	font-size: .8rem;
	font-weight: 700;
	color: var(--gold-d);
	background: var(--cream);
	padding: 4px 14px;
	border-radius: var(--rf);
	border: 1px solid var(--border2);
}

.svc-cta {
	background: var(--cream);
	padding: 80px 0 100px;
	text-align: center;
}

@media(max-width:1120px) {
	.svc-grid {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:640px) {
	.svc-grid {
		grid-template-columns: 1fr;
	}
}

/* ── PROCESS STEPS CTA ── */
.p-steps-cta {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 56px;
	flex-wrap: wrap;
}

/* ── TESTI SWIPER OVERRIDES ── */
.testi-swiper-wrap {
	position: relative;
	padding: 0 56px;
	overflow: hidden;
}

.testiSwiper {
	overflow: visible !important;
}

.testiSwiper .swiper-slide {
	height: auto;
}

.testi-card {
	height: 100%;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--rxl);
	padding: 30px;
	position: relative;
	overflow: hidden;
	box-shadow: var(--s0);
	transition: box-shadow .3s,transform .35s var(--ease),border-color .3s;
	display: flex;
	flex-direction: column;
}

.testi-card:hover {
	box-shadow: var(--s2);
	transform: translateY(-5px);
	border-color: var(--border2);
}

.testi-quote {
	position: absolute;
	top: -4px;
	right: 16px;
	font-family: var(--fd);
	font-size: 8rem;
	line-height: 1;
	color: rgba(198,172,126,.1);
	pointer-events: none;
}

.testi-text {
	font-size: .9rem;
	color: var(--text);
	line-height: 1.8;
	font-style: italic;
	margin-bottom: 22px;
	position: relative;
	z-index: 1;
	flex: 1;
}

.testi-btn-prev,.testi-btn-next {
	width: 46px!important;
	height: 46px!important;
	border-radius: 50%!important;
	background: var(--white)!important;
	box-shadow: var(--s1)!important;
	border: 1px solid var(--border)!important;
	top: calc(50% - 20px)!important;
	margin-top: 0!important;
	transition: background .22s,border-color .22s!important;
}

.testi-btn-prev:hover,.testi-btn-next:hover {
	background: var(--gold-d)!important;
	border-color: var(--gold-d)!important;
}

.testi-btn-prev::after,.testi-btn-next::after {
	font-size: 13px!important;
	font-weight: 900!important;
	color: var(--gold-d)!important;
}

.testi-btn-prev:hover::after,.testi-btn-next:hover::after {
	color: var(--white)!important;
}

.testi-btn-prev {
	left: -2px!important;
}

.testi-btn-next {
	right: -2px!important;
}

.testi-dots {
	position: relative!important;
	bottom: auto!important;
	margin-top: 32px!important;
	text-align: center;
}

.testi-dots .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: var(--cream3);
	opacity: 1;
}

.testi-dots .swiper-pagination-bullet-active {
	background: var(--gold-d);
	width: 24px;
	border-radius: 4px;
	transition: width .2s;
}

@media(max-width:768px) {
	.testi-swiper-wrap {
		padding: 0 40px;
	}
}

@media(max-width:480px) {
	.testi-swiper-wrap {
		padding: 0 28px;
	}
}

/* ── BLOG SECTION ── */
/* ── PRE-FOOTER CTA ── */
.pre-footer-cta {
	padding: 110px 20px;
	text-align: center;
	background: linear-gradient(135deg,var(--gold-d) 0%,#6b5640 100%);
	position: relative;
	overflow: hidden;
}

.pre-footer-cta::before {
	content: '';
	position: absolute;
	top: -60px;
	right: -60px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: rgba(255,255,255,.06);
	pointer-events: none;
}

.pfc-inner {
	position: relative;
	z-index: 1;
	max-width: 640px;
	margin: 0 auto;
}

.pfc-badge {
	display: inline-block;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(255,255,255,.65);
	background: rgba(255,255,255,.1);
	padding: 7px 18px;
	border-radius: var(--rf);
	margin-bottom: 20px;
	border: 1px solid rgba(255,255,255,.15);
}

.pre-footer-cta h2 {
	font-family: var(--fd);
	font-size: clamp(2.2rem,5vw,3.6rem);
	color: var(--white);
	margin-bottom: 14px;
	line-height: 1.12;
}

.pre-footer-cta h2 em {
	font-style: italic;
	opacity: .88;
}

.pre-footer-cta>p,.pfc-inner>p {
	font-size: 1rem;
	color: rgba(255,255,255,.7);
	margin-bottom: 34px;
	line-height: 1.7;
}

.pfc-actions {
	display: flex;
	gap: 13px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.btn-w {
	background: var(--white)!important;
	color: var(--dark)!important;
	border: 2px solid rgba(255,255,255,.3);
}

.btn-w:hover {
	background: var(--gold-d)!important;
	color: #fff!important;
	border-color: var(--gold-d)!important;
	transform: translateY(-2px);
}

.pfc-trust {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
}

.pfc-trust span {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .78rem;
	color: rgba(255,255,255,.6);
}
/* ════════════════════════════════════════════════
   FLOATING ACTION BUTTONS (FAB)
════════════════════════════════════════════════ */
.fab-stack {
  position: fixed;
  bottom: 28px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 800;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity .35s var(--ease), transform .35s var(--ease);
}

.fab-stack.fab-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

.fab-btn {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,.18);
  transition: transform .28s var(--spring), box-shadow .28s;
  cursor: pointer;
  border: none;
  text-decoration: none;
  color: #fff;
}

.fab-btn:hover {
  transform: scale(1.14) translateY(-3px);
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
}

.fab-messenger {
  background: linear-gradient(135deg, #0099ff 0%, #a033ff 100%);
}

.fab-whatsapp {
  background: #25D366;
}

.fab-top {
  background: var(--gold-d);
}

.fab-tooltip {
  position: absolute;
  right: 58px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--dark);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
  padding: 5px 11px;
  border-radius: var(--rf);
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s, right .2s;
}

.fab-tooltip::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: var(--dark);
}

.fab-btn:hover .fab-tooltip {
  opacity: 1;
  right: 62px;
}

@media(max-width:480px) {
  .fab-stack {
    bottom: 18px;
    right: 14px;
    gap: 10px;
  }
  .fab-btn {
    width: 44px;
    height: 44px;
  }
  .fab-tooltip { display: none; }
}

/* ════════════════════════════════════════════════
   ENHANCED ANIMATIONS & MICRO-INTERACTIONS
════════════════════════════════════════════════ */
/* Shimmer loading effect on images */
.bc-thumb img, .bpc-img img, .tx-img-main img {
  transition: transform .55s var(--ease), filter .4s;
}
.bc:hover .bc-thumb img { filter: brightness(1.05); }

/* Pulse glow on CTA buttons */
@keyframes btn-pulse {
  0%,100% { box-shadow: var(--sg); }
  50% { box-shadow: 0 0 0 8px rgba(139,115,85,.12), var(--sg); }
}
.btn:hover, .btn-book:hover {
  animation: btn-pulse 1.6s infinite;
}

/* Float animation for hero badges */
@keyframes float-gentle {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
.hero-ib-1, .hero-ib-2, .hero-ib-3 {
  animation: float-gentle 3.5s ease-in-out infinite;
}
.hero-ib-2 { animation-delay: .7s; }
.hero-ib-3 { animation-delay: 1.4s; }

/* Staggered card reveal improvements */
.rv-s {
  opacity: 0;
  transform: scale(.96) translateY(20px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transition-delay: var(--d, 0s);
}
.rv-s.on {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Card hover shimmer */
.svc-card::before, .value-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, transparent 40%, rgba(198,172,126,.06) 100%);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}
.svc-card { position: relative; }
.value-card { position: relative; }
.svc-card:hover::before, .value-card:hover::before { opacity: 1; }

/* ════════════════════════════════════════════════
   IMPROVED MOBILE / TABLET RESPONSIVENESS
════════════════════════════════════════════════ */
@media(max-width:1024px) {
  .svc-grid {
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
    padding: 60px 0 40px;
  }
  .sig-tx-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about-grid {
    gap: 40px;
  }
}

@media(max-width:768px) {
  /* General spacing */
  section { padding-left: 0; padding-right: 0; }
  .container { padding: 0 18px; }

  /* Hero */
  .hero { padding-top: 100px; padding-bottom: 50px; }
  .hero-content h1 { font-size: clamp(2.2rem, 8vw, 3rem); }

  /* Page hero */
  .page-hero { padding: 100px 0 50px; }
  .page-hero h1 { font-size: clamp(2rem,7vw,2.8rem); }

  /* About grid */
  .about-grid { grid-template-columns: 1fr; }
  .about-main { height: 320px; }

  /* Sig cards */
  .sig-tx-grid { grid-template-columns: 1fr; gap: 18px; }

  /* Values */
  .values-grid { grid-template-columns: 1fr 1fr; gap: 16px; }

  /* Treatments */
  .tx-detail-section { padding: 40px 0; }
  .tx-detail-inner { gap: 24px; }
  .tx-4img { gap: 8px; }

  /* Filter bar */
  .tx-filter-sticky { gap: 8px; padding: 14px 18px; overflow-x: auto; }
  .f-btn { font-size: .72rem; padding: 8px 16px; white-space: nowrap; }

  /* Contact */
  .contact-split { gap: 30px; }
  .cinfo-item { gap: 12px; }

  /* Map */
  .map-embed iframe { height: 280px; }

  /* Footer */
  .footer-cols { grid-template-columns: 1fr; gap: 30px; }
  .site-footer { padding: 50px 0 30px; }

  /* Blog */
  .bpc { grid-template-columns: 1fr; }
  .bpc-img { height: 200px; }

  /* Stats */
  .stats-row { grid-template-columns: 1fr 1fr; }
  .stat-cell { padding: 28px 16px; }
  .stat-num { font-size: 2.4rem; }

  /* Process steps */
  .p-steps { grid-template-columns: 1fr; gap: 18px; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr; }

  /* Marquee */
  .mq-item { font-size: .8rem; padding: 0 16px; }

  /* Pre-footer CTA */
  .pre-footer-cta { padding: 70px 18px; }
  .pfc-actions { flex-direction: column; align-items: stretch; }
  .pfc-actions .btn-w, .pfc-actions .btn-ow { text-align: center; justify-content: center; }

  /* Services grid */
  .svc-grid { grid-template-columns: 1fr; gap: 14px; }

  /* Popup form */
  .popup-box { padding: 28px 20px; max-height: 92vh; overflow-y: auto; }
  .popup-inner { padding: 0; }
}

@media(max-width:480px) {
  /* Typography */
  .shead { font-size: 1.8rem; }

  /* Values to single column */
  .values-grid { grid-template-columns: 1fr; }

  /* Footer bottom */
  .footer-btm { flex-direction: column; gap: 10px; text-align: center; }
  .footer-btm-links { justify-content: center; }
  .footer-socials { justify-content: flex-start; }

  /* Hero CTA */
  .hero-ctas { flex-direction: column; align-items: flex-start; }

  /* Breadcrumb */
  .breadcrumb { font-size: .72rem; flex-wrap: wrap; }

  /* Step circles */
  .p-circle { width: 52px; height: 52px; }

  /* Blog card */
  .bc-body { padding: 18px 16px; }
  .bc-body h3 { font-size: 1rem; }

  /* Contact form */
  .form-pair { grid-template-columns: 1fr; }
  .cform label { font-size: .8rem; }
  .cform input, .cform textarea, .cform select {
    font-size: .9rem;
    padding: 10px 14px;
  }

  /* Popup */
  .form-pair { grid-template-columns: 1fr; }

  /* Table info */
  .tx-info-row { flex-direction: column; gap: 2px; }
  .tx-info-lbl { min-width: unset; }

  /* Results filter */
  .filter-row { flex-wrap: wrap; gap: 8px; }
  .f-btn { font-size: .7rem; padding: 7px 14px; }
}

/* ════════════════════════════════════════════════
   TABLET SPECIFIC (iPad range)
════════════════════════════════════════════════ */
@media(min-width:481px) and (max-width:900px) {
  .svc-grid { grid-template-columns: 1fr 1fr; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .testi-grid { grid-template-columns: 1fr 1fr; }
  .p-steps { grid-template-columns: 1fr 1fr; }
  .footer-cols { grid-template-columns: 1fr 1fr; }
}

/* ════════════════════════════════════════════════
   IMPROVED HEADER — mobile hamburger
════════════════════════════════════════════════ */
.mob-nav {
  overscroll-behavior: contain;
}

/* Ensure no content overflow on mobile */
.tx-filter-sticky {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.tx-filter-sticky::-webkit-scrollbar { display: none; }

/* Smooth page sections on mobile */
@media(max-width:768px) {
  section[style*="padding:110px"] {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  section[style*="padding:80px"] {
    padding-top: 50px !important;
    padding-bottom: 60px !important;
  }
}

/* ════════════════════════════════════════════════
   LEGAL PAGES (Privacy Policy / Terms)
════════════════════════════════════════════════ */
.legal-wrap {
  max-width: 860px;
  margin: 0 auto;
}

.legal-intro {
  background: var(--cream);
  border-left: 4px solid var(--gold);
  border-radius: 0 var(--rm) var(--rm) 0;
  padding: 26px 30px;
  margin-bottom: 50px;
}

.legal-intro p {
  font-size: 1rem;
  line-height: 1.84;
  color: var(--text);
}

.legal-section {
  margin-bottom: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--border);
}

.legal-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.legal-section h2 {
  font-family: var(--fd);
  font-size: 1.5rem;
  color: var(--dark);
  margin-bottom: 14px;
  font-weight: 700;
}

.legal-section p {
  font-size: .96rem;
  line-height: 1.84;
  color: var(--text);
  margin-bottom: 14px;
}

.legal-section ul {
  list-style: none;
  margin-left: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.legal-section ul li {
  position: relative;
  padding-left: 22px;
  font-size: .94rem;
  line-height: 1.72;
  color: var(--text);
}

.legal-section ul li::before {
  content: '›';
  position: absolute;
  left: 4px;
  top: 0;
  color: var(--gold-d);
  font-weight: 700;
  font-size: 1.1rem;
}

.legal-contact-box {
  background: var(--cream);
  border: 1px solid var(--border2);
  border-radius: var(--rm);
  padding: 24px 28px;
  margin-top: 16px;
  font-size: .95rem;
  line-height: 1.9;
  color: var(--text);
}

@media(max-width:768px) {
  .legal-intro { padding: 20px 20px; }
  .legal-section h2 { font-size: 1.25rem; }
  .legal-contact-box { padding: 18px; }
}

/* ════════════════════════════════════════════════
   SECTION BACKGROUND COLOR FIXES
   — Testimonials: warm off-white
   — Blog section: distinct cream
════════════════════════════════════════════════ */
.section-testi {
  background: #f9f6f0 !important;
}

.section-blog {
  background: #fff !important;
}

/* Alternate stripe pattern for visual rhythm */
.section-process {
  background: var(--cream) !important;
}

.section-facilities {
  background: #f9f6f0 !important;
}

/* ════════════════════════════════════════════════
   MODERN HOMEPAGE ENHANCEMENTS
════════════════════════════════════════════════ */

/* ─── Hero — glass morphism badge pill ─── */
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(198,172,126,.35);
  border-radius: 100px;
  padding: 6px 16px 6px 8px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-d);
  margin-bottom: 22px;
}
.hero-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%,100% { box-shadow: 0 0 0 0 rgba(198,172,126,.5); }
  50% { box-shadow: 0 0 0 6px rgba(198,172,126,0); }
}

/* ─── Stats strip — glass cards ─── */
.stat-cell {
  position: relative;
  overflow: hidden;
}
.stat-cell::before {
  content: '';
  position: absolute;
  top: -40%;
  left: -40%;
  width: 80%;
  height: 180%;
  background: linear-gradient(135deg, rgba(255,255,255,.08) 0%, transparent 60%);
  pointer-events: none;
}

/* ─── Section headers — refined ─── */
.shead {
  letter-spacing: -.02em;
  line-height: 1.1;
}

/* ─── Signature treatment cards ─── */
.sig-tx-card {
  transition: transform .38s var(--ease), box-shadow .38s var(--ease);
}
.sig-tx-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(139,115,85,.18);
}
.sig-tx-card .tc-img-wrap {
  overflow: hidden;
  border-radius: var(--rxl) var(--rxl) 0 0;
}
.sig-tx-card .tc-img-wrap img {
  transition: transform .6s var(--ease);
}
.sig-tx-card:hover .tc-img-wrap img {
  transform: scale(1.06);
}

/* ─── Process steps — connector line ─── */
.p-steps {
  position: relative;
}
@media(min-width:769px) {
  .p-steps::before {
    content: '';
    position: absolute;
    top: 36px;
    left: calc(100%/12);
    right: calc(100%/12);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-d) 20%, var(--gold-d) 80%, transparent);
    opacity: .25;
    pointer-events: none;
  }
}

/* ─── Facilities grid — hover lift ─── */
.fac-card {
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  overflow: hidden;
}
.fac-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.fac-card .fac-img img {
  transition: transform .55s var(--ease);
}
.fac-card:hover .fac-img img {
  transform: scale(1.07);
}

/* ─── Testimonial cards — modern glass ─── */
.testi-card {
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(4px);
}
.testi-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(139,115,85,.12);
}

/* ─── Blog cards — image zoom on hover ─── */
.bc {
  overflow: hidden;
  border-radius: var(--rxl);
  transition: box-shadow .35s var(--ease);
}
.bc:hover {
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}

/* ─── Pre-footer CTA texture overlay ─── */
.pre-footer-cta {
  position: relative;
  overflow: hidden;
}
.pre-footer-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 20% 50%, rgba(255,255,255,.04) 0%, transparent 50%),
                    radial-gradient(circle at 80% 20%, rgba(255,255,255,.04) 0%, transparent 40%);
  pointer-events: none;
}

/* ─── Header scroll shadow ─── */
.hdr.scrolled {
  box-shadow: 0 2px 30px rgba(0,0,0,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ─── Smooth section transitions ─── */
section {
  transition: background .3s;
}

/* ─── Blog listing cards ─── */
.bpc {
  border-radius: var(--rxl);
  overflow: hidden;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.bpc:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(0,0,0,.1);
}

/* ════════════════════════════════════════════════
   MOBILE — COMPREHENSIVE SITEWIDE v2
════════════════════════════════════════════════ */

/* ─── Base resets ─── */
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

@media(max-width:768px) {
  /* Typography scale */
  body { font-size: 15px; }
  .shead { font-size: clamp(1.7rem, 6vw, 2.2rem) !important; }
  .sdesc { font-size: .92rem; }
  h1 { font-size: clamp(2rem, 8vw, 3rem); }

  /* Sections uniform padding */
  .section-about,
  .section-process,
  .section-facilities,
  .section-testi,
  .section-blog {
    padding: 64px 0 !important;
  }

  /* Hero */
  .hero { min-height: auto; padding: 96px 0 56px; }
  .hero-grid { grid-template-columns: 1fr !important; gap: 36px; }
  .hero-img { display: none; }
  .hero-content { text-align: center; }
  .hero-ctas { justify-content: center; }
  .hero-trust { justify-content: center; }

  /* Stats strip */
  .stats-strip { padding: 20px 0; }
  .stats-row { grid-template-columns: repeat(2,1fr) !important; gap: 1px; }
  .stat-cell { padding: 24px 14px; }
  .stat-num { font-size: 2.2rem; }

  /* About section */
  .about-grid { grid-template-columns: 1fr !important; }
  .about-vis { display: none; }
  .about-copy { padding: 0 !important; }

  /* Sig treatments */
  .sig-tx-grid { grid-template-columns: 1fr !important; }

  /* Process */
  .p-steps { grid-template-columns: 1fr !important; gap: 16px; }
  .p-step { display: flex; gap: 16px; text-align: left; }
  .p-circle { flex-shrink: 0; }

  /* Facilities */
  .fac-grid { grid-template-columns: repeat(2,1fr) !important; gap: 14px; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr !important; }
  .testi-card { padding: 22px; }

  /* Blog trio */
  .blog-trio { grid-template-columns: 1fr !important; gap: 20px; }

  /* Blog listing */
  .blog-layout { grid-template-columns: 1fr !important; }
  .blog-sidebar { display: none; }

  /* Single post */
  .single-post-layout { grid-template-columns: 1fr !important; }
  .single-post-layout aside { display: none; }
  .post-featured-img { height: 220px; object-fit: cover; width: 100%; border-radius: 14px; }

  /* Footer */
  .footer-cols { grid-template-columns: 1fr !important; gap: 32px; }
  .site-footer { padding: 56px 0 32px; }

  /* CTA section */
  .pfc-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .pfc-actions .btn, .pfc-actions .btn-w { width: 100%; justify-content: center; text-align: center; }
}

@media(max-width:480px) {
  .container { padding: 0 16px; }
  
  /* Blog category grid */
  .bpc-grid { grid-template-columns: 1fr !important; }
  
  /* Fac grid single column on very small */
  .fac-grid { grid-template-columns: 1fr !important; }
  
  /* Footer bottom */
  .footer-btm { flex-direction: column; gap: 8px; text-align: center; }
  .footer-btm-links { flex-wrap: wrap; justify-content: center; gap: 12px; }

  /* Nav header full width CTA */
  .mob-foot .btn-book { width: 100%; }

  /* Post hero text */
  .post-title { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; }
}

/* ─── Tablet (481-900px) ─── */
@media(min-width:481px) and (max-width:900px) {
  .sig-tx-grid { grid-template-columns: repeat(2,1fr) !important; }
  .fac-grid { grid-template-columns: repeat(2,1fr) !important; }
  .testi-grid { grid-template-columns: repeat(2,1fr) !important; }
  .blog-trio { grid-template-columns: repeat(2,1fr) !important; }
  .footer-cols { grid-template-columns: repeat(2,1fr) !important; }
  .p-steps { grid-template-columns: repeat(2,1fr) !important; }
  .stats-row { grid-template-columns: repeat(4,1fr) !important; }
  .hero-grid { grid-template-columns: 1fr !important; }
  .hero-img { display: none; }
  .hero-content { text-align: center; }
  .hero-ctas { justify-content: center; }
}

/* ════════════════════════════════════════════════
   BLOG SINGLE POST PAGE — modern refinements
════════════════════════════════════════════════ */
.single-post-hero {
  background: var(--cream);
  padding: 140px 0 64px;
}

.post-cat-badge {
  background: var(--gold-d);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  display: inline-block;
}

.post-meta-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.post-date, .post-read-time {
  font-size: .82rem;
  color: var(--muted);
}

.post-title {
  font-family: var(--fd);
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  color: var(--dark);
  font-weight: 700;
  line-height: 1.12;
  margin-bottom: 28px;
}

.post-author {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}

.post-author img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold);
}

.post-author-name {
  font-weight: 600;
  font-size: .92rem;
  color: var(--dark);
}

.post-author-role {
  font-size: .78rem;
  color: var(--muted);
}

.single-post-body {
  padding: 80px 0 100px;
  background: var(--white);
}

.single-post-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start;
}

.post-featured-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: var(--rxl);
  margin-bottom: 40px;
}

.post-content {
  font-size: 1.02rem;
  line-height: 1.9;
  color: var(--text);
}

.post-content h2 {
  font-family: var(--fd);
  font-size: 1.7rem;
  color: var(--dark);
  margin: 40px 0 14px;
  font-weight: 700;
}

.post-content h3 {
  font-family: var(--fd);
  font-size: 1.3rem;
  color: var(--dark);
  margin: 28px 0 10px;
}

.post-content p {
  margin-bottom: 20px;
}

.post-content ul, .post-content ol {
  padding-left: 24px;
  margin-bottom: 20px;
}

.post-content li {
  margin-bottom: 8px;
}

.post-content a {
  color: var(--gold-d);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color .2s;
}

.post-content a:hover {
  text-decoration-color: var(--gold-d);
}

/* ════════════════════════════════════════════════
   BLOG CATEGORY & SEARCH PAGES
════════════════════════════════════════════════ */
.blog-card-full {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--rxl);
  overflow: hidden;
  margin-bottom: 28px;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

.blog-card-full:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(0,0,0,.09);
}

.blog-img {
  position: relative;
  overflow: hidden;
}

.blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s var(--ease);
}

.blog-card-full:hover .blog-img img {
  transform: scale(1.06);
}

.blog-cat {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--gold-d);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
}

.blog-body {
  padding: 32px 32px 32px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.blog-meta {
  display: flex;
  gap: 14px;
  font-size: .78rem;
  color: var(--muted);
  margin-bottom: 12px;
}

.blog-body h2 {
  font-family: var(--fd);
  font-size: 1.5rem;
  color: var(--dark);
  margin-bottom: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.blog-body h2 a {
  color: inherit;
  text-decoration: none;
  transition: color .2s;
}

.blog-body h2 a:hover { color: var(--gold-d); }

.blog-body p {
  font-size: .91rem;
  line-height: 1.72;
  color: var(--text);
  margin-bottom: 20px;
}

.blog-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--gold-d);
  text-decoration: none;
  letter-spacing: .04em;
}

.blog-link::after {
  content: '→';
  transition: transform .2s;
}

.blog-link:hover::after { transform: translateX(4px); }

@media(max-width:768px) {
  .blog-card-full {
    grid-template-columns: 1fr !important;
  }
  .blog-img { height: 220px; }
  .blog-body { padding: 22px; }
}

/* ════════════════════════════════════════════════
   SEARCH PAGE
════════════════════════════════════════════════ */
.search-hero {
  background: var(--cream);
  padding: 140px 0 64px;
}

.search-hero h1 {
  font-family: var(--fd);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--dark);
  margin-bottom: 28px;
  font-weight: 700;
}

.search-hero h1 em {
  color: var(--gold-d);
  font-style: italic;
}

.search-bar-wrap {
  display: flex;
  gap: 12px;
  max-width: 600px;
}

.search-bar-wrap input {
  flex: 1;
  padding: 13px 20px;
  border: 1.5px solid var(--border);
  border-radius: var(--rm);
  font-size: .95rem;
  font-family: var(--fb);
  color: var(--dark);
  background: var(--white);
  outline: none;
  transition: border-color .2s;
}

.search-bar-wrap input:focus {
  border-color: var(--gold-d);
}

.search-bar-wrap .btn {
  white-space: nowrap;
}


/* ════════════════════════════════════════════════════
   HERO SWIPER — Full-Screen Slideshow  (v9)
   Light version with warm cream overlays
════════════════════════════════════════════════════ */

/* ── Wrapper ── */
.hs-wrap {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 640px;
  overflow: hidden;
}

/* ── Swiper fills wrapper ── */
.heroSwiper {
  width: 100%;
  height: 100%;
}

/* ── Each slide ── */
.hs-slide {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}

/* Ken-Burns zoom on active slide */
.heroSwiper .swiper-slide-active .hs-slide,
.hs-slide.swiper-slide-active {
    animation: hs-gentle-zoom 8s ease-out forwards;
}
@keyframes hs-gentle-zoom {
    from { background-size: 106%; }
    to   { background-size: cover; }
}
/* ── Overlay — light warm tint (light theme) ── */
.hs-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(252,245,229,.82) 0%,
    rgba(252,245,229,.62) 38%,
    rgba(47,40,30,.18) 100%
  );
  z-index: 1;
}

/* ── Content layer ── */
.hs-content {
  position: relative;
  z-index: 3;
  max-width: 660px;
  padding: 0 0 0 8vw;
  padding-top: var(--hh);
}

/* ── Eyebrow pill ── */
.hs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-d);
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(198,172,126,.4);
  padding: 7px 18px;
  border-radius: 100px;
  margin-bottom: 26px;
  width: fit-content;
}
.hs-eye-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  animation: hs-pulse 2.4s infinite;
}
@keyframes hs-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(198,172,126,.55); }
  50%      { box-shadow: 0 0 0 7px rgba(198,172,126,0); }
}

/* ── Main heading ── */
.hs-h1 {
  font-family: var(--fd);
  font-size: clamp(2.8rem, 5.8vw, 5.6rem);
  font-weight: 700;
  line-height: 1.04;
  color: var(--dark);
  margin-bottom: 22px;
  letter-spacing: -.03em;
}
.hs-h1 em {
  font-style: italic;
  color: var(--gold-d);
}

/* ── Description ── */
.hs-p {
  font-size: 1.05rem;
  color: var(--text);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 34px;
}

/* ── CTA row ── */
.hs-ctas {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 38px;
}

.hs-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--gold-d);
  color: #fff;
  border: 2px solid var(--gold-d);
  padding: 14px 32px;
  border-radius: 100px;
  font-family: var(--fb);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .28s, transform .28s, box-shadow .28s;
  box-shadow: 0 8px 28px rgba(139,115,85,.35);
  white-space: nowrap;
}
.hs-btn-primary:hover {
  background: var(--dark);
  border-color: var(--dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(47,40,30,.3);
}
.hs-arrow {
  font-size: 1.1rem;
  transition: transform .22s;
}
.hs-btn-primary:hover .hs-arrow { transform: translateX(4px); }

.hs-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--dark);
  border: 1.5px solid rgba(139,115,85,.3);
  padding: 13px 28px;
  border-radius: 100px;
  font-family: var(--fb);
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .28s, border-color .28s, transform .28s;
  text-decoration: none;
  white-space: nowrap;
}
.hs-btn-ghost:hover {
  background: rgba(255,255,255,.9);
  border-color: var(--gold-d);
  color: var(--gold-d);
  transform: translateY(-2px);
}
.hs-play {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--gold-d);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
  transition: background .22s, transform .22s;
}
.hs-btn-ghost:hover .hs-play { background: var(--dark); transform: scale(1.1); }

/* ── Social proof bar ── */
.hs-proof {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hs-avs {
  display: flex;
  align-items: center;
}
.hs-avs img {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2.5px solid #fff;
  margin-left: -9px;
  flex-shrink: 0;
}
.hs-avs img:first-child { margin-left: 0; }
.hs-av-more {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--gold-d);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  margin-left: -9px;
  border: 2.5px solid #fff;
  flex-shrink: 0;
}
.hs-proof-txt {
  font-size: .82rem;
  color: var(--text);
  line-height: 1.5;
}
.hs-stars {
  display: block;
  color: var(--gold-d);
  font-size: .88rem;
  margin-bottom: 2px;
}
.hs-proof-txt strong { color: var(--dark); }

/* ── Right stat cards stack ── */
.hs-stat-stack {
  position: absolute;
  right: 5vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: calc(var(--hh) / 2);
}

.hs-stat-card {
  display: flex;
  align-items: center;
  gap: 13px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(198,172,126,.3);
  border-radius: 14px;
  padding: 13px 18px;
  box-shadow: 0 4px 24px rgba(47,40,30,.1);
  min-width: 200px;
  cursor: default;
  transition: transform .3s var(--spring), box-shadow .3s;
}
.hs-stat-card:hover {
  transform: translateX(-4px) scale(1.02);
  box-shadow: 0 8px 32px rgba(47,40,30,.14);
}

.hs-stat-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hs-si-gold  { background: var(--gold-d); color: #fff; }
.hs-si-cream { background: var(--cream2); color: var(--gold-d); }

.hs-stat-val {
  font-size: .86rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.2;
}
.hs-stat-sub {
  font-size: .7rem;
  color: var(--muted);
  margin-top: 2px;
}

/* ── Scroll indicator ── */
.hs-scroll-hint {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.hs-scroll-hint span {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--muted);
}
.hs-scroll-line {
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, var(--gold-d), transparent);
  animation: hs-scroll-drop 1.8s ease-in-out infinite;
}
@keyframes hs-scroll-drop {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 0; }
  40%  { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(1); transform-origin: bottom; opacity: 0; }
}

/* ── Pagination dots — bottom center ── */
.hs-pagination {
  position: absolute !important;
  bottom: 32px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  z-index: 20;
  padding: 0;
}
.hs-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  border: 2px solid rgba(139,115,85,.5);
  cursor: pointer;
  transition: background .35s, width .35s, border-radius .35s;
  flex-shrink: 0;
}
.hs-dot-active {
  background: var(--gold-d) !important;
  border-color: var(--gold-d) !important;
  width: 30px !important;
  border-radius: 6px !important;
}
.hs-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  border: 2px solid rgba(139,115,85,.5);
  opacity: 1;
  margin: 0 !important;
  cursor: pointer;
  transition: background .35s, width .35s, border-radius .35s;
}
.hs-pagination .swiper-pagination-bullet-active {
  background: var(--gold-d) !important;
  border-color: var(--gold-d) !important;
  width: 30px !important;
  border-radius: 6px !important;
}

/* nav arrows removed */
.hs-prev, .hs-next { display: none !important; }

/* ── Slide counter ── */
.hs-counter {
  position: absolute;
  top: 50%;
  right: 2vw;
  z-index: 10;
  transform: translateY(-50%) rotate(90deg);
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--fd);
  font-size: .9rem;
  color: var(--muted);
  opacity: 0;  /* hidden — stat cards overlap this area */
}
.hs-cur {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gold-d);
}
.hs-sep { margin: 0 2px; }

/* ── Progress bar (bottom edge) ── */
.hs-progress-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(139,115,85,.18);
  z-index: 10;
}
.hs-progress-bar {
  height: 100%;
  width: 0%;
  background: var(--gold-d);
  transition: width .1s linear;
}

/* ══════════════════════════════════════════════
   HERO SWIPER — TABLET  (≤960px)
══════════════════════════════════════════════ */
@media(max-width:960px) {
  .hs-stat-stack { display: none; }
  .hs-content {
    padding: 0 28px;
    padding-top: calc(var(--hh) + 24px);
    max-width: 100%;
  }
  .hs-h1 { font-size: clamp(2.2rem, 6vw, 3.2rem); }
  .hs-p   { font-size: .95rem; }
  .hs-wrap, .hs-wrap .heroSwiper { height: 100svh; min-height: 560px; }
  .hs-overlay {
    background: linear-gradient(
      155deg,
      rgba(252,245,229,.90) 0%,
      rgba(252,245,229,.70) 50%,
      rgba(47,40,30,.12) 100%
    );
  }
}

/* ══════════════════════════════════════════════
   HERO SWIPER — MOBILE  (≤640px)
   Image shows 100% at full width (no crop).
   Layout: image fills top, content below.
══════════════════════════════════════════════ */
@media(max-width:640px) {

  /* Section & swiper: auto height so image + content both fit */
  .hs-wrap {
    height: auto !important;
    min-height: 100svh;
  }
  .hs-wrap .heroSwiper,
  .heroSwiper {
    height: auto !important;
    min-height: 100svh;
  }

  /* Each slide: column layout — image top, cream content area bottom */
  .hs-slide {
    /* Full-width image at top, natural 16:9 aspect ratio */
    background-size: 100% auto !important;
    background-position: top center !important;
    background-color: var(--cream) !important;
    /* Stack content below image area */
    align-items: flex-end !important;
    height: auto !important;
    min-height: 100svh;
    padding-bottom: 72px;
  }

  /* Disable Ken-Burns on mobile (can distort contain layout) */
  .hs-slide.swiper-slide-active,
  .heroSwiper .swiper-slide-active .hs-slide {
    animation: none !important;
  }

  /* Overlay: transparent over image, solid cream below the image area */
  .hs-overlay {
    background: linear-gradient(
      to bottom,
      rgba(252,245,229,0)   0%,
      rgba(252,245,229,0)   36%,
      rgba(252,245,229,.92) 52%,
      rgba(252,245,229,1)   62%
    ) !important;
  }

  /* Content: sits in the cream zone below the image */
  .hs-content {
    padding: 20px 20px 0;
    padding-top: 20px !important;
    max-width: 100%;
  }

  /* Typography */
  .hs-h1    { font-size: clamp(1.9rem, 7.5vw, 2.8rem); letter-spacing: -.02em; line-height: 1.08; }
  .hs-p     { font-size: .88rem; max-width: 100%; margin-bottom: 24px; }
  .hs-eyebrow { font-size: .62rem; padding: 5px 13px; margin-bottom: 16px; }

  /* CTAs stack */
  .hs-ctas  { gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
  .hs-btn-primary { font-size: .82rem; padding: 12px 22px; }
  .hs-btn-ghost   { font-size: .82rem; padding: 11px 18px; }
  .hs-play  { width: 26px; height: 26px; }

  /* Proof bar */
  .hs-proof     { gap: 10px; }
  .hs-proof-txt { font-size: .76rem; }
  .hs-avs img, .hs-av-more { width: 30px; height: 30px; }

  /* Pagination dots */
  .hs-pagination {
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* Hide scroll hint on mobile */
  .hs-scroll-hint { display: none; }

  /* Progress bar stays at bottom */
  .hs-progress-wrap { bottom: 0; }
}



