* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	background: #fffaf0;
	color: #17130e;
	font-family: Montserrat, sans-serif
}

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

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

:root {
	--black: #080808;
	--gold: #f4c542;
	--gold2: #ffe88a;
	--cream: #fff7e7;
	--muted: #5f5548
}

.site-header {
	height: 104px;
	background: rgba(8, 8, 8, .97);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 5vw;
	position: sticky;
	top: 0;
	z-index: 99;
	border-bottom: 1px solid #3b2d16
}

.brand {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--gold2);
	font-family: 'Cormorant Garamond';
	font-size: 25px;
	font-weight: 700
}

.brand img {
	width: 88px;
	height: 88px;
	object-fit: contain
}

.site-header nav {
	display: flex;
	align-items: center;
	gap: 26px;
	color: #fff;
	font-size: 14px
}

.site-header nav>a,
.dropdown button {
	padding: 35px 0;
	background: none;
	border: 0;
	color: #fff;
	font: inherit;
	cursor: pointer
}

.site-header nav a:hover,
.dropdown button:hover {
	color: var(--gold)
}

.dropdown {
	position: relative
}

.dropdown-menu {
	position: absolute;
	top: 75px;
	left: -20px;
	background: #111;
	min-width: 220px;
	padding: 12px;
	border: 1px solid #5b421c;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: .25s
}

.dropdown:hover .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: none
}

.dropdown-menu a {
	display: block;
	padding: 12px;
	color: #fff;
	border-bottom: 1px solid #2b241b
}

.dropdown-menu a:hover {
	color: var(--gold);
	padding-left: 17px
}

.menu-toggle {
	display: none;
	background: none;
	border: 0;
	color: var(--gold);
	font-size: 24px
}

.hero,
.page-hero {
	min-height: 76vh;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8vw 7vw;
	color: #fff
}

.hero-copy {
	max-width: 760px
}

.eyebrow {
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 12px;
	font-weight: 700
}

.hero h1,
.page-hero h1 {
	font: 700 clamp(48px, 7vw, 92px)/.95 'Cormorant Garamond';
	margin: 20px 0
}

.hero p,
.page-hero p {
	max-width: 680px;
	font-size: 18px;
	line-height: 1.8;
	color: #eee
}

.actions {
	display: flex;
	gap: 14px;
	margin-top: 28px
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--gold), var(--gold2));
	color: #090909;
	padding: 15px 26px;
	border-radius: 2px;
	font-weight: 700;
	border: 1px solid var(--gold)
}

.btn.outline {
	background: transparent;
	color: #fff
}

.section {
	padding: 90px 7vw
}

.section-title {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 42px
}

.section h2,
.contact-strip h2 {
	font: 700 clamp(38px, 5vw, 62px)/1 'Cormorant Garamond';
	margin: 12px 0 20px
}

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

.intro img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	border: 10px solid #fff;
	box-shadow: 0 20px 60px #0002
}

.intro p {
	color: var(--muted);
	line-height: 1.9
}

.text-link {
	color: #8d641e;
	font-weight: 700
}

.dark {
	background: var(--black);
	color: #fff
}

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

.service-card {
	background: #fff;
	color: #17130e;
	box-shadow: 0 14px 40px #0002;
	overflow: hidden;
	transition: .3s
}

.service-card:hover {
	transform: translateY(-8px)
}

.service-card img {
	height: 260px;
	width: 100%;
	object-fit: cover
}

.service-card div {
	padding: 24px
}

.service-card h3 {
	font: 700 30px 'Cormorant Garamond';
	margin: 0 0 8px
}

.service-card p {
	color: var(--muted);
	line-height: 1.6
}

.service-card span {
	color: #9a6d22;
	font-weight: 700
}

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

.icon-grid article {
	padding: 35px 25px;
	text-align: center;
	background: #fff;
	color: #17130e;
	border-top: 3px solid var(--gold)
}

.icon-grid i,
.price-card i {
	font-size: 34px;
	color: #ad7b26
}

.icon-grid h3 {
	font: 700 27px 'Cormorant Garamond'
}

.contact-strip {
	background: linear-gradient(120deg, #080808, #2b1d0d);
	padding: 65px 7vw;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px
}

.contact-strip h2 {
	margin: 5px 0
}

.page-hero {
	min-height: 48vh;
	text-align: center;
	align-items: center;
	background-color: #18130d;
	background-image: radial-gradient(circle at center, #3a2a13, #080808)
}

.service-hero {
	text-align: left;
	align-items: flex-start;
	min-height: 62vh
}

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

.price-card {
	background: #fff;
	padding: 28px;
	border: 1px solid #e4d2ad;
	box-shadow: 0 10px 35px #0000000d
}

.price-card h3 {
	font: 700 26px 'Cormorant Garamond';
	margin: 12px 0
}

.price-card p {
	color: var(--muted);
	line-height: 1.6
}

.cream {
	background: #f4ead7
}

.check-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px
}

.check-grid div {
	background: #fff;
	padding: 25px;
	text-align: center;
	font-weight: 700;
	border-bottom: 3px solid var(--gold)
}

.check-grid i {
	display: block;
	color: #ad7b26;
	font-size: 28px;
	margin-bottom: 12px
}

.masonry {
	columns: 4 260px;
	column-gap: 18px
}

.masonry img {
	width: 100%;
	margin-bottom: 18px;
	break-inside: avoid;
	box-shadow: 0 8px 30px #0002
}

.contact-layout {
	display: grid;
	grid-template-columns: 1.3fr .7fr;
	gap: 70px;
	align-items: center
}

.contact-cards {
	display: grid;
	gap: 14px;
	margin-top: 30px
}

.contact-cards>a,
.contact-cards>div {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 20px;
	background: #fff;
	border-left: 4px solid var(--gold);
	box-shadow: 0 8px 25px #0001
}

.contact-cards i {
	font-size: 24px;
	color: #a67524;
	width: 34px
}

.contact-cards b,
.contact-cards span {
	display: block
}

.contact-cards span {
	color: var(--muted);
	margin-top: 5px;
	line-height: 1.5
}

.contact-logo {
	max-width: 420px;
	margin: auto
}

footer {
	background: #070707;
	color: #ddd;
	padding: 70px 7vw 0
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.2fr .7fr 1.2fr;
	gap: 50px
}

.footer-logo {
	width: 120px
}

.footer-brand-name {
	color: var(--gold2);
	font: 700 34px 'Cormorant Garamond', serif;
	margin: 0 0 14px
}

.footer-grid h3 {
	color: var(--gold);
	font: 700 26px 'Cormorant Garamond'
}

.footer-grid a,
.footer-grid p {
	display: block;
	margin: 10px 0;
	line-height: 1.7
}

.copyright {
	text-align: center;
	border-top: 1px solid #2b241b;
	margin-top: 45px;
	padding: 22px
}

.whatsapp {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #25D366;
	color: #fff;
	font-size: 28px;
	z-index: 99
}

@media(max-width:900px) {
	.menu-toggle {
		display: block
	}

	.site-header nav {
		position: absolute;
		top: 104px;
		left: 0;
		right: 0;
		background: #090909;
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 15px 7vw
	}

	.site-header nav.open {
		display: flex
	}

	.site-header nav>a,
	.dropdown button {
		padding: 12px 0;
		text-align: left
	}

	.dropdown-menu {
		position: static;
		display: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: 0
	}

	.dropdown.open .dropdown-menu {
		display: block
	}

	.intro,
	.contact-layout {
		grid-template-columns: 1fr
	}

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

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

	.icon-grid,
	.check-grid {
		grid-template-columns: 1fr 1fr
	}

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

	.contact-strip {
		flex-direction: column;
		align-items: flex-start
	}
}

@media(max-width:560px) {
	.brand span {
		display: none
	}

	.hero,
	.page-hero {
		padding-left: 6vw;
		padding-right: 6vw
	}

	.section {
		padding: 65px 6vw
	}

	.service-grid,
	.price-grid,
	.icon-grid,
	.check-grid {
		grid-template-columns: 1fr
	}

	.intro img {
		height: 360px
	}

	.hero h1,
	.page-hero h1 {
		font-size: 48px
	}

	.actions {
		flex-direction: column
	}

	.btn {
		width: 100%
	}
}

/* Updated logo, hero slider and service carousel */
.brand {
	gap: 0;
	flex-shrink: 0
}

.brand img {
	filter: drop-shadow(0 0 10px rgba(214, 173, 96, .18))
}

.site-header {
	padding-left: 4vw;
	padding-right: 4vw
}

.site-header nav {
	gap: 24px
}

.hero-slider {
	height: min(780px, 82vh);
	min-height: 600px;
	position: relative;
	overflow: hidden;
	background: #080808;
	color: #fff
}

.hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.035);
	transition: opacity 1s ease, visibility 1s, transform 6s ease;
	background-size: cover;
	background-position: center 28%;
	display: flex;
	align-items: center;
	padding: 8vw 7vw
}

.hero-slide.active {
	opacity: 1;
	visibility: visible;
	transform: scale(1)
}

.hero-slider .hero-copy {
	position: relative;
	z-index: 2;
	max-width: 760px
}

.hero-slider h1 {
	font: 700 clamp(48px, 7vw, 92px)/.95 'Cormorant Garamond';
	margin: 20px 0
}

.hero-slider p {
	max-width: 680px;
	font-size: 18px;
	line-height: 1.8;
	color: #eee
}

.hero-dots {
	position: absolute;
	z-index: 5;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 9px
}

.hero-dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border-radius: 99px;
	border: 1px solid var(--gold2);
	background: transparent;
	cursor: pointer;
	transition: .3s
}

.hero-dots button.active {
	width: 34px;
	background: var(--gold2)
}

.service-carousel-wrap {
	overflow: hidden;
	padding: 12px 4px 30px
}

.service-slider {
	display: flex;
	gap: 24px;
	transition: transform .65s cubic-bezier(.2, .7, .2, 1);
	will-change: transform
}

.service-slider .service-card {
	flex: 0 0 calc((100% - 48px)/3)
}

.service-nav {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 4px
}

.service-nav button {
	width: 48px;
	height: 48px;
	border: 1px solid var(--gold);
	background: #15110d;
	color: var(--gold2);
	cursor: pointer;
	font-size: 17px;
	transition: .25s
}

.service-nav button:hover {
	background: var(--gold);
	color: #090909
}

.page-hero,
.service-hero {
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center 30% !important;
	min-height: 500px
}

.service-hero {
	min-height: 560px
}

.page-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none
}

.page-hero {
	position: relative
}

.page-hero>* {
	position: relative;
	z-index: 1
}

@media(max-width:900px) {
	.site-header {
		height: 92px
	}

	.brand img {
		width: 76px;
		height: 76px
	}

	.site-header nav {
		top: 92px
	}

	.hero-slider {
		height: 72vh;
		min-height: 560px
	}

	.hero-slide {
		background-position: center top;
		padding: 100px 6vw 60px
	}

	.service-slider .service-card {
		flex-basis: calc((100% - 24px)/2)
	}

	.page-hero,
	.service-hero {
		min-height: 430px;
		background-position: center 22% !important
	}
}

@media(max-width:560px) {
	.brand img {
		width: 72px;
		height: 72px
	}

	.hero-slider {
		height: 680px
	}

	.hero-slide {
		padding: 90px 6vw 70px;
		background-position: 62% top
	}

	.hero-slider h1 {
		font-size: 46px
	}

	.service-slider .service-card {
		flex-basis: 100%
	}

	.page-hero,
	.service-hero {
		min-height: 400px;
		background-position: center top !important
	}

	.service-card img {
		height: 300px
	}
}


/* Client-requested layout refinements */
.site-header {
	height: 118px;
	justify-content: flex-start;
	padding: 0 4vw;
	gap: 0
}

.brand img {
	width: 108px;
	height: 108px;
	filter: drop-shadow(0 0 14px rgba(214, 173, 96, .35))
}

.site-header nav {
	margin-left: clamp(70px, 11vw, 165px);
	gap: 28px
}

.site-header nav>a,
.dropdown button {
	padding: 43px 0
}

.dropdown-menu {
	top: 88px
}

.hero-slider .hero-copy {
	max-width: 590px
}

.hero-slider h1 {
	font-size: clamp(46px, 5.6vw, 76px);
	max-width: 570px
}

.hero-slider p {
	font-size: 16px;
	line-height: 1.65;
	max-width: 500px
}

.hero-slide:first-child {
	background-position: center 38%
}

.intro {
	align-items: stretch;
	gap: 34px
}

.intro-card {
	height: 520px;
	background: #fff;
	border: 1px solid #ead9b8;
	box-shadow: 0 18px 50px #00000012;
	overflow: hidden
}

.intro-copy-card {
	padding: 58px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.intro-image-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	box-shadow: none
}

.service-card img {
	object-position: center 25%
}

.footer-grid-four {
	grid-template-columns: 1.05fr .65fr .8fr 1.15fr
}

.footer-grid a:hover {
	color: var(--gold)
}

.page-hero,
.service-hero {
	background-position: center 25% !important
}

@media(max-width:1100px) {
	.site-header nav {
		margin-left: auto;
		gap: 20px
	}

	.brand img {
		width: 96px;
		height: 96px
	}

	.footer-grid-four {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width:900px) {
	.site-header {
		height: 96px;
		justify-content: space-between
	}

	.brand img {
		width: 84px;
		height: 84px
	}

	.site-header nav {
		margin-left: 0;
		top: 96px
	}

	.intro-card {
		height: auto;
		min-height: 420px
	}

	.intro-image-card {
		height: 460px
	}

	.footer-grid-four {
		grid-template-columns: 1fr
	}

	.hero-slider .hero-copy {
		max-width: 520px
	}
}

@media(max-width:560px) {
	.brand img {
		width: 80px;
		height: 80px
	}

	.hero-slider h1 {
		font-size: 44px
	}

	.hero-slider p {
		font-size: 15px
	}

	.intro-copy-card {
		padding: 40px 28px
	}

	.intro-image-card {
		height: 390px
	}

	.hero-slide:first-child {
		background-position: 62% top
	}
}


/* Latest client refinements */
.site-header {
	padding-left: 8vw;
	padding-right: 5vw
}

.site-header nav {
	margin-left: clamp(90px, 13vw, 190px)
}

.intro-copy-card {
	justify-content: flex-start;
	padding-top: 46px
}

.intro-copy-card h2 {
	margin-bottom: 18px
}

.intro-copy-card p {
	margin: 0 0 14px;
	line-height: 1.75
}

.intro-image-card img {
	object-position: center 22%
}

.testimonials-section {
	background: linear-gradient(180deg, #fffaf0, #f3e5cc)
}

.testimonials-section .section-title p {
	color: var(--muted);
	line-height: 1.7
}

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

.testimonial-card {
	background: #fff;
	padding: 34px 30px;
	border: 1px solid #ead7b3;
	box-shadow: 0 15px 45px #00000010;
	position: relative
}

.testimonial-card:before {
	content: '"';
	position: absolute;
	right: 22px;
	top: 8px;
	font: 700 70px 'Cormorant Garamond';
	color: #d6ad6033
}

.testimonial-card .stars {
	color: var(--gold);
	letter-spacing: 4px;
	margin-bottom: 18px
}

.testimonial-card p {
	color: var(--muted);
	line-height: 1.8;
	font-style: italic;
	min-height: 115px
}

.testimonial-card h3 {
	font: 700 27px 'Cormorant Garamond';
	margin: 18px 0 2px
}

.testimonial-card span {
	font-size: 13px;
	color: #9a6d22;
	text-transform: uppercase;
	letter-spacing: 1px
}

.footer-social {
	display: flex;
	gap: 14px;
	margin-top: 18px
}

.footer-social a {
	width: 48px;
	height: 48px;
	border: 1px solid var(--gold);
	display: grid;
	place-items: center;
	color: var(--gold);
	font-size: 22px;
	margin: 0 !important;
	transition: .25s
}

.footer-social a:hover {
	background: var(--gold);
	color: #080808
}

@media(max-width:1100px) {
	.site-header {
		padding-left: 6vw
	}

	.site-header nav {
		margin-left: auto
	}

	.testimonial-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:900px) {
	.site-header {
		padding-left: 5vw;
		padding-right: 5vw
	}

	.intro-copy-card {
		padding-top: 38px
	}

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

@media(max-width:560px) {
	.site-header {
		padding-left: 6vw
	}

	.intro-copy-card {
		padding-top: 34px
	}

	.testimonial-card p {
		min-height: auto
	}
}


/* Final client-requested updates */
.page-hero {
	min-height: 330px !important;
	height: 330px !important;
	padding-top: 55px !important;
	padding-bottom: 55px !important;
	background-position: center 25% !important
}

.service-hero {
	min-height: 390px !important;
	height: 390px !important;
	padding-top: 60px !important;
	padding-bottom: 60px !important;
	background-position: center 24% !important
}

.page-hero h1 {
	font-size: clamp(42px, 5.5vw, 70px) !important;
	margin: 14px 0 !important
}

.footer-grid-five {
	grid-template-columns: 1.05fr .65fr .85fr 1.25fr .55fr;
	gap: 34px
}

.footer-contact i {
	color: var(--gold);
	width: 19px;
	margin-right: 6px
}

.footer-contact p {
	color: #ddd
}

.footer-social a .fa-instagram {
	font-size: 25px
}

.footer-social a .fa-facebook-f {
	font-size: 22px
}

.testimonial-slider-wrap {
	overflow: hidden;
	max-width: 920px;
	margin: 0 auto
}

.testimonial-slider {
	display: flex;
	transition: transform .65s ease;
	will-change: transform
}

.testimonial-slider .testimonial-card {
	min-width: 100%;
	padding: 44px 54px;
	text-align: center
}

.testimonial-slider .testimonial-card p {
	min-height: auto;
	max-width: 720px;
	margin: 0 auto;
	line-height: 1.9;
	font-size: 16px
}

.testimonial-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 28px
}

.testimonial-prev,
.testimonial-next {
	width: 44px;
	height: 44px;
	border: 1px solid var(--gold);
	background: #080808;
	color: var(--gold);
	cursor: pointer
}

.testimonial-dots {
	display: flex;
	gap: 9px
}

.testimonial-dots button {
	width: 9px;
	height: 9px;
	border: 0;
	border-radius: 50%;
	padding: 0;
	background: #cdbb99;
	cursor: pointer
}

.testimonial-dots button.active {
	background: #9b6a1f;
	transform: scale(1.3)
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px
}

.gallery-item {
	border: 0;
	padding: 0;
	background: #111;
	cursor: pointer;
	overflow: hidden;
	aspect-ratio: 4/5;
	box-shadow: 0 8px 30px #0002
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease
}

.gallery-item:hover img {
	transform: scale(1.045)
}

.gallery-item[hidden] {
	display: none !important
}

.gallery-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 38px
}

.gallery-page-numbers {
	display: flex;
	gap: 9px
}

.gallery-pagination button {
	min-width: 42px;
	height: 42px;
	border: 1px solid #caa45d;
	background: #fff;
	color: #17130e;
	cursor: pointer;
	font-weight: 700
}

.gallery-page-numbers button.active {
	background: #080808;
	color: var(--gold)
}

.gallery-pagination button:disabled {
	opacity: .4;
	cursor: not-allowed
}

.contact-map {
	width: 100%;
	background: #080808;
	border: 1px solid #d6ad60;
	box-shadow: 0 18px 50px #0002;
	overflow: hidden
}

.contact-map iframe {
	display: block;
	width: 100%;
	height: 470px;
	border: 0
}

.map-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 18px !important;
	margin: 0 !important;
	background: #080808;
	color: var(--gold) !important;
	font-weight: 700
}

@media(max-width:1150px) {
	.footer-grid-five {
		grid-template-columns: 1fr 1fr 1fr
	}

	.gallery-grid {
		grid-template-columns: repeat(4, 1fr)
	}
}

@media(max-width:900px) {
	.page-hero {
		height: 285px !important;
		min-height: 285px !important
	}

	.service-hero {
		height: 340px !important;
		min-height: 340px !important
	}

	.footer-grid-five {
		grid-template-columns: 1fr 1fr
	}

	.gallery-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.contact-map iframe {
		height: 380px
	}

	.testimonial-slider .testimonial-card {
		padding: 38px 30px
	}
}

@media(max-width:560px) {
	.page-hero {
		height: 245px !important;
		min-height: 245px !important
	}

	.service-hero {
		height: 300px !important;
		min-height: 300px !important
	}

	.page-hero h1 {
		font-size: 40px !important
	}

	.footer-grid-five {
		grid-template-columns: 1fr
	}

	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px
	}

	.gallery-pagination {
		gap: 7px
	}

	.gallery-pagination button {
		min-width: 36px;
		height: 38px
	}

	.contact-map iframe {
		height: 310px
	}

	.testimonial-slider .testimonial-card {
		padding: 34px 22px
	}
}

/* About values and hygiene redesign */
.values-section {
	background: linear-gradient(180deg, #0a0a0a, #15100a);
	color: #fff
}

.values-section .section-title p {
	color: #d9d1c5;
	line-height: 1.8
}

.values-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	max-width: 1160px;
	margin: 0 auto
}

.values-grid article {
	min-height: 330px;
	padding: 46px 34px;
	background: linear-gradient(180deg, #fff, #fff9ef);
	color: #17130e;
	border: 1px solid #d9b76f;
	box-shadow: 0 18px 55px #0005;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center
}

.value-icon {
	width: 74px;
	height: 74px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #0b0b0b;
	color: var(--gold);
	font-size: 29px;
	margin-bottom: 20px;
	border: 1px solid var(--gold)
}

.values-grid h3 {
	font: 700 32px 'Cormorant Garamond';
	margin: 4px 0 18px
}

.values-grid p {
	line-height: 1.75;
	color: #6b6256;
	margin: 0
}

.hygiene-section {
	background: #fff7e8
}

.hygiene-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 46px;
	align-items: stretch;
	max-width: 1180px;
	margin: 0 auto
}

.hygiene-copy,
.hygiene-panel {
	min-height: 560px
}

.hygiene-copy {
	background: #fff;
	padding: 58px 54px;
	border: 1px solid #ead6ae;
	box-shadow: 0 16px 50px #00000012
}

.hygiene-copy>p {
	color: var(--muted);
	line-height: 1.8
}

.hygiene-list {
	display: grid;
	gap: 16px;
	margin-top: 28px
}

.hygiene-list>div {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 17px 0;
	border-bottom: 1px solid #eee1c8
}

.hygiene-list i {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #0b0b0b;
	color: var(--gold)
}

.hygiene-list span {
	color: var(--muted);
	line-height: 1.6
}

.hygiene-list b {
	display: block;
	color: #17130e;
	margin-bottom: 3px
}

.hygiene-panel {
	background: linear-gradient(rgba(0, 0, 0, .42), rgba(0, 0, 0, .7)), url('image/g1.jfif') center/cover no-repeat;
	display: grid;
	place-items: center;
	padding: 40px;
	border: 1px solid #d6ad60
}

.hygiene-badge {
	width: min(380px, 100%);
	padding: 44px 32px;
	background: rgba(8, 8, 8, .86);
	border: 1px solid var(--gold);
	color: #fff;
	text-align: center;
	backdrop-filter: blur(4px)
}

.hygiene-badge i {
	font-size: 48px;
	color: var(--gold);
	display: block;
	margin-bottom: 18px
}

.hygiene-badge strong {
	font: 700 34px 'Cormorant Garamond';
	display: block
}

.hygiene-badge span {
	display: block;
	color: #ddd;
	margin-top: 10px;
	line-height: 1.6
}

/* Contact alignment and clickable details */
.contact-layout {
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 48px
}

.contact-layout>div:first-child,
.contact-map {
	min-height: 610px
}

.contact-layout>div:first-child {
	display: flex;
	flex-direction: column;
	justify-content: center
}

.contact-cards>a,
.contact-cards>div {
	min-height: 86px
}

.contact-map {
	display: flex;
	flex-direction: column
}

.contact-map iframe {
	flex: 1;
	height: auto;
	min-height: 530px
}

/* Official social brand artwork */
.footer-social a {
	background: #fff;
	border: 0;
	border-radius: 12px;
	overflow: hidden;
	padding: 6px
}

.footer-social a:hover {
	background: #fff;
	transform: translateY(-3px)
}

.footer-social img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

/* Full gallery lightbox */
.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(0, 0, 0, .94);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 70px 90px;
	color: #fff
}

.gallery-lightbox.open {
	display: flex
}

.gallery-lightbox figure {
	margin: 0;
	max-width: min(1080px, 82vw);
	max-height: 82vh;
	display: flex;
	flex-direction: column;
	align-items: center
}

.gallery-lightbox figure img {
	max-width: 100%;
	max-height: 78vh;
	object-fit: contain;
	box-shadow: 0 0 0 1px #d6ad6070, 0 24px 80px #000
}

.gallery-lightbox figcaption {
	margin-top: 12px;
	color: #ddd
}

.lightbox-close,
.lightbox-prev,
.lightbox-next {
	position: absolute;
	border: 1px solid var(--gold);
	background: #111;
	color: var(--gold);
	cursor: pointer;
	display: grid;
	place-items: center
}

.lightbox-close {
	right: 28px;
	top: 24px;
	width: 48px;
	height: 48px;
	font-size: 24px
}

.lightbox-prev,
.lightbox-next {
	top: 50%;
	transform: translateY(-50%);
	width: 54px;
	height: 70px;
	font-size: 24px
}

.lightbox-prev {
	left: 25px
}

.lightbox-next {
	right: 25px
}

.lightbox-counter {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--gold);
	font-weight: 700
}

body.lightbox-open {
	overflow: hidden
}

@media(max-width:900px) {
	.values-grid {
		grid-template-columns: 1fr
	}

	.values-grid article {
		min-height: auto
	}

	.hygiene-layout,
	.contact-layout {
		grid-template-columns: 1fr
	}

	.hygiene-copy,
	.hygiene-panel,
	.contact-layout>div:first-child,
	.contact-map {
		min-height: auto
	}

	.hygiene-panel {
		min-height: 460px
	}

	.contact-map iframe {
		min-height: 380px
	}

	.gallery-lightbox {
		padding: 70px 55px
	}

	.lightbox-prev {
		left: 8px
	}

	.lightbox-next {
		right: 8px
	}
}

@media(max-width:560px) {
	.hygiene-copy {
		padding: 40px 25px
	}

	.hygiene-panel {
		min-height: 380px;
		padding: 22px
	}

	.gallery-lightbox {
		padding: 70px 42px 60px
	}

	.lightbox-prev,
	.lightbox-next {
		width: 40px;
		height: 58px
	}

	.lightbox-close {
		right: 14px;
		top: 14px
	}
}


/* Compact light About page redesign */
.about-story-section {
	background: #fffaf0;
	padding-top: 72px;
	padding-bottom: 72px
}

.about-story-wrap {
	max-width: 1160px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 52px;
	align-items: center
}

.about-story-copy {
	padding: 42px 46px;
	background: #fff;
	border: 1px solid #ead8b8;
	box-shadow: 0 14px 40px #0000000d
}

.about-story-copy h2 {
	font-size: clamp(42px, 5vw, 62px);
	margin-bottom: 20px
}

.about-story-copy p {
	color: var(--muted);
	line-height: 1.8;
	margin: 0 0 14px
}

.about-story-points {
	display: grid;
	gap: 16px
}

.about-story-points article {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 24px;
	background: #f7ecd9;
	border-left: 4px solid var(--gold)
}

.about-story-points i {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #111;
	color: var(--gold)
}

.about-story-points h3 {
	font: 700 26px 'Cormorant Garamond';
	margin: 0 0 5px
}

.about-story-points p {
	margin: 0;
	color: var(--muted);
	line-height: 1.6
}

.values-section {
	background: #f4ead7;
	color: #17130e;
	padding-top: 72px;
	padding-bottom: 72px
}

.values-section .section-title p {
	color: var(--muted)
}

.values-grid article {
	min-height: 265px;
	padding: 34px 28px;
	background: #fffaf0;
	box-shadow: 0 12px 34px #00000012;
	border: 1px solid #dfc58d
}

.value-icon {
	width: 62px;
	height: 62px;
	font-size: 24px;
	margin-bottom: 14px
}

.values-grid h3 {
	font-size: 29px;
	margin-bottom: 12px
}

.hygiene-section {
	background: #fffaf0;
	padding-top: 72px;
	padding-bottom: 78px
}

.hygiene-cards {
	max-width: 1160px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px
}

.hygiene-cards article {
	background: #fff;
	padding: 30px 24px;
	text-align: center;
	border-top: 3px solid var(--gold);
	box-shadow: 0 12px 35px #0000000d
}

.hygiene-cards i {
	width: 58px;
	height: 58px;
	margin: 0 auto 16px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #111;
	color: var(--gold);
	font-size: 22px
}

.hygiene-cards h3 {
	font: 700 25px 'Cormorant Garamond';
	margin: 0 0 9px
}

.hygiene-cards p {
	color: var(--muted);
	line-height: 1.65;
	margin: 0;
	font-size: 14px
}

/* Show three testimonial cards per slide on desktop */
.testimonial-slider-wrap {
	max-width: 1180px
}

.testimonial-slider {
	gap: 24px
}

.testimonial-slider .testimonial-card {
	min-width: calc((100% - 48px)/3);
	padding: 32px 26px;
	text-align: left
}

.testimonial-slider .testimonial-card p {
	font-size: 14px;
	line-height: 1.75;
	min-height: 145px
}

.testimonial-slider .testimonial-card h3 {
	font-size: 25px
}

.contact-cards>a {
	cursor: pointer
}

.contact-cards a:hover {
	transform: translateX(4px);
	box-shadow: 0 10px 30px #00000016
}

@media(max-width:1000px) {
	.about-story-wrap {
		grid-template-columns: 1fr
	}

	.hygiene-cards {
		grid-template-columns: 1fr 1fr
	}

	.testimonial-slider .testimonial-card {
		min-width: calc((100% - 24px)/2)
	}
}

@media(max-width:650px) {
	.about-story-copy {
		padding: 32px 24px
	}

	.hygiene-cards {
		grid-template-columns: 1fr
	}

	.testimonial-slider .testimonial-card {
		min-width: 100%;
		text-align: center
	}

	.testimonial-slider .testimonial-card p {
		min-height: auto
	}
}


/* Final home/about/services/gallery refinements */
.about-cta {
	display: inline-flex;
	margin-top: 10px
}

.services-showcase-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px
}

.services-showcase-grid .service-card {
	display: flex !important;
	flex-direction: column;
	min-width: 0 !important;
	transform: none !important;
	height: 100%;
	background: #fff;
	color: #17130e;
	border: 1px solid #dcb86f;
	box-shadow: 0 14px 38px #00000018;
	overflow: hidden
}

.services-showcase-grid .service-card img {
	height: 260px;
	width: 100%;
	object-fit: cover
}

.services-showcase-grid .service-card>div {
	padding: 25px;
	display: flex;
	flex-direction: column;
	flex: 1
}

.services-showcase-grid .service-card h3 {
	font-size: 31px
}

.services-showcase-grid .service-card p {
	color: #6f6254;
	line-height: 1.65;
	flex: 1
}

.services-showcase-grid .service-card span {
	color: #9b6a1f;
	font-weight: 700
}

.about-intro-section {
	background: #fffaf0
}

.about-intro-grid {
	max-width: 1180px;
	margin: auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: stretch;
	border: 1px solid #e5cc9b;
	background: #fff;
	box-shadow: 0 18px 55px #0000000d
}

.about-intro-image {
	min-height: 560px;
	overflow: hidden
}

.about-intro-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%
}

.about-intro-copy {
	padding: 58px 58px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.about-intro-copy h2 {
	font-size: clamp(42px, 4.6vw, 62px);
	line-height: 1.02;
	margin: 8px 0 22px
}

.about-intro-copy p {
	color: var(--muted);
	line-height: 1.82;
	margin: 0 0 14px
}

.about-highlight-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px
}

.about-highlight-row span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 14px;
	background: #f6ead5;
	border: 1px solid #e4c68d;
	font-size: 13px;
	font-weight: 600
}

.about-highlight-row i {
	color: #a8731d
}

/* Masonry gallery retained with pagination */
.gallery-grid {
	display: block;
	columns: 4;
	column-gap: 18px
}

.gallery-item {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	margin: 0 0 18px;
	break-inside: avoid;
	background: #111
}

.gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 180px;
	object-fit: cover
}

.gallery-item[hidden] {
	display: none !important
}

@media(max-width:1000px) {
	.services-showcase-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.about-intro-grid {
		grid-template-columns: 1fr
	}

	.about-intro-image {
		min-height: 500px
	}

	.gallery-grid {
		columns: 3
	}
}

@media(max-width:650px) {
	.services-showcase-grid {
		grid-template-columns: 1fr
	}

	.services-showcase-grid .service-card img {
		height: 300px
	}

	.about-intro-copy {
		padding: 38px 24px
	}

	.about-intro-image {
		min-height: 390px
	}

	.gallery-grid {
		columns: 2;
		column-gap: 10px
	}

	.gallery-item {
		margin-bottom: 10px
	}
}

/* Final navigation, text banners and professional service pages */
.site-header nav>a,
.dropdown>button {
	position: relative
}

.site-header nav>a.active,
.dropdown.active>button {
	color: var(--gold2)
}

.site-header nav>a.active::after,
.dropdown.active>button::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 25px;
	height: 2px;
	background: var(--gold2)
}

.dropdown-menu a.active {
	color: var(--gold2);
	background: #21180d;
	padding-left: 17px
}

.text-only-banner,
.page-hero.text-only-banner,
.service-hero.text-only-banner {
	min-height: 300px !important;
	height: auto !important;
	background: linear-gradient(125deg, #080808 0%, #171008 55%, #30210f 100%) !important;
	background-image: linear-gradient(125deg, #080808 0%, #171008 55%, #30210f 100%) !important;
	background-position: center !important;
	padding: 60px 7vw !important;
	text-align: center !important;
	align-items: center !important;
	justify-content: center !important
}

.text-only-banner h1 {
	margin: 12px 0 10px !important;
	font-size: clamp(44px, 6vw, 72px) !important
}

.text-only-banner p {
	margin: 0 auto !important;
	max-width: 720px !important
}

/* About first section uses the same image as home */
.about-intro-image img {
	object-fit: cover;
	object-position: center center
}

.service-catalog {
	background: #fffaf0
}

.service-catalog .section-title p {
	color: var(--muted);
	line-height: 1.7
}

.service-price-list {
	max-width: 1180px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px
}

.service-price-item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #ead7b1;
	box-shadow: 0 9px 26px #0000000b;
	transition: .25s
}

.service-price-item:hover {
	transform: translateY(-3px);
	border-color: var(--gold)
}

.service-price-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff3dc;
	color: #a6721d;
	font-size: 19px
}

.service-price-copy h3 {
	font: 700 25px 'Cormorant Garamond';
	margin: 0 0 4px
}

.service-price-copy p {
	font-size: 12px;
	color: var(--muted);
	margin: 0;
	line-height: 1.5
}

.service-price-item strong {
	color: #8b5e17;
	white-space: nowrap;
	font-size: 14px;
	background: #fff4df;
	padding: 9px 11px;
	border-radius: 99px
}

.service-process {
	padding-top: 70px;
	padding-bottom: 75px;
	background: #f4ead7
}

.process-row {
	max-width: 1180px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}

.process-row article {
	display: flex;
	gap: 18px;
	background: #fff;
	padding: 27px;
	border-bottom: 3px solid var(--gold)
}

.process-row span {
	font: 700 38px 'Cormorant Garamond';
	color: var(--gold)
}

.process-row h3 {
	font: 700 27px 'Cormorant Garamond';
	margin: 0 0 8px
}

.process-row p {
	color: var(--muted);
	line-height: 1.65;
	margin: 0;
	font-size: 14px
}

.service-layout-hair .service-price-item:nth-child(3n+1) {
	border-left: 4px solid #b7843a
}

.service-layout-skin .service-price-item {
	border-radius: 14px
}

.service-layout-nail .service-price-item:nth-child(even) {
	background: #fff8ee
}

.service-layout-makeup .service-price-list {
	grid-template-columns: repeat(3, 1fr)
}

.service-layout-makeup .service-price-item {
	grid-template-columns: 48px 1fr;
	position: relative;
	padding-bottom: 52px
}

.service-layout-makeup .service-price-item strong {
	position: absolute;
	left: 24px;
	bottom: 16px
}

.service-layout-jewel .service-price-icon {
	border-radius: 4px;
	transform: rotate(45deg)
}

.service-layout-jewel .service-price-icon i {
	transform: rotate(-45deg)
}

.service-layout-groom .service-price-list {
	gap: 10px
}

.service-layout-groom .service-price-item {
	box-shadow: none;
	border-left: 4px solid var(--gold)
}

@media(max-width:900px) {
	.site-header {
		height: 88px;
		padding: 0 22px;
		justify-content: space-between
	}

	.brand img {
		width: 72px;
		height: 72px
	}

	.menu-toggle {
		display: block;
		z-index: 3
	}

	.site-header nav {
		position: fixed;
		top: 88px;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 !important;
		padding: 18px 24px 35px;
		background: #080808;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		overflow-y: auto;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .32s ease, visibility .32s;
		z-index: 120
	}

	.site-header nav.open {
		transform: translateX(0);
		visibility: visible
	}

	.site-header nav>a,
	.dropdown>button {
		padding: 17px 8px !important;
		width: 100%;
		font-size: 16px;
		border-bottom: 1px solid #231c13;
		text-align: left
	}

	.site-header nav>a.active::after,
	.dropdown.active>button::after {
		left: 8px;
		right: auto;
		width: 34px;
		bottom: 8px
	}

	.dropdown-menu {
		position: static !important;
		display: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		min-width: 0;
		margin: 0;
		padding: 6px 0 8px 15px;
		border: 0;
		background: #0d0d0d
	}

	.dropdown.open .dropdown-menu {
		display: block !important
	}

	.dropdown-menu a {
		padding: 13px 12px
	}

	.menu-toggle i {
		pointer-events: none
	}

	.text-only-banner,
	.page-hero.text-only-banner,
	.service-hero.text-only-banner {
		min-height: 230px !important;
		padding: 46px 6vw !important
	}

	.service-price-list,
	.service-layout-makeup .service-price-list {
		grid-template-columns: 1fr
	}

	.process-row {
		grid-template-columns: 1fr
	}

	.service-price-item {
		grid-template-columns: 50px 1fr auto
	}
}

@media(max-width:560px) {
	.site-header {
		padding: 0 18px
	}

	.brand img {
		width: 68px;
		height: 68px
	}

	.text-only-banner,
	.page-hero.text-only-banner,
	.service-hero.text-only-banner {
		min-height: 205px !important
	}

	.text-only-banner h1 {
		font-size: 42px !important
	}

	.service-price-item {
		grid-template-columns: 44px 1fr;
		padding: 18px
	}

	.service-price-item strong {
		grid-column: 2;
		justify-self: start
	}

	.service-layout-makeup .service-price-item {
		grid-template-columns: 42px 1fr;
		padding-bottom: 54px
	}

	.service-price-copy h3 {
		font-size: 23px
	}

	.contact-strip .actions {
		width: 100%
	}
}


/* Latest requested refinements */
.btn-small {
	padding: 10px 18px;
	font-size: 13px;
	min-width: auto;
	width: auto;
	align-self: flex-start
}

.about-intro-image {
	background: #f5ebdc;
	display: flex;
	align-items: center;
	justify-content: center
}

.about-intro-image img {
	object-fit: contain !important;
	object-position: center !important;
	background: #f5ebdc
}

.nail-showcase {
	background: #fffaf1;
	padding-top: 56px;
	padding-bottom: 56px
}

.nail-showcase-grid {
	max-width: 1160px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 28px;
	align-items: start
}

.nail-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 22px
}

.nail-gallery figure {
	margin: 0;
	height: 170px;
	overflow: hidden;
	border: 1px solid #e5c98f;
	background: #f4ead8
}

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

.nail-gallery figure:first-child {
	grid-column: span 2
}

.nail-price-panel,
.nail-tips-panel {
	background: #fff;
	border: 1px solid #e4c98f;
	box-shadow: 0 14px 35px #0000000a
}

.nail-panel-title {
	padding: 20px 24px;
	border-bottom: 1px solid #ead9bb;
	background: #fbf3e6
}

.nail-panel-title h2 {
	font-size: 34px;
	margin: 0
}

.nail-panel-title p {
	margin: 5px 0 0;
	color: var(--muted)
}

.nail-price-table {
	width: 100%;
	border-collapse: collapse
}

.nail-price-table th,
.nail-price-table td {
	padding: 13px 20px;
	border-bottom: 1px solid #eee1cb;
	text-align: left;
	font-size: 14px
}

.nail-price-table th {
	background: #111;
	color: var(--gold);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase
}

.nail-price-table td:last-child,
.nail-price-table th:last-child {
	text-align: right;
	white-space: nowrap;
	font-weight: 700
}

.nail-price-table tr:last-child td {
	border-bottom: 0
}

.nail-tips-panel {
	padding-bottom: 8px
}

.nail-tips-list {
	list-style: none;
	margin: 0;
	padding: 18px 24px 24px;
	display: grid;
	gap: 14px
}

.nail-tips-list li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	color: var(--muted);
	line-height: 1.55
}

.nail-tips-list i {
	color: #b47c1d;
	margin-top: 4px
}

.nail-mini-info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 18px
}

.nail-mini-info article {
	padding: 20px;
	background: #f6ead5;
	border: 1px solid #e5c98f
}

.nail-mini-info h3 {
	font-size: 24px;
	margin: 0 0 8px
}

.nail-mini-info p {
	margin: 0;
	color: var(--muted);
	line-height: 1.6
}

@media(max-width:900px) {
	.nail-showcase-grid {
		grid-template-columns: 1fr
	}

	.nail-gallery {
		grid-template-columns: repeat(2, 1fr)
	}

	.nail-gallery figure:first-child {
		grid-column: span 2
	}

	.nail-gallery figure {
		height: 220px
	}
}

@media(max-width:560px) {
	.nail-gallery figure {
		height: 160px
	}

	.nail-mini-info {
		grid-template-columns: 1fr
	}

	.nail-price-table th,
	.nail-price-table td {
		padding: 11px 12px;
		font-size: 12px
	}

	.nail-panel-title {
		padding: 18px
	}

	.nail-panel-title h2 {
		font-size: 29px
	}
}

/* Requested nail alignment and home service slider refinement */
.services-slider-section {
	background: linear-gradient(180deg, #f7eddc 0%, #fffaf1 100%);
	border-top: 1px solid #ead4aa;
	border-bottom: 1px solid #ead4aa
}

.services-slider-section .section-title p {
	max-width: 720px;
	margin: 10px auto 0;
	color: #6f6254;
	line-height: 1.7
}

.services-slider-section .service-carousel-wrap {
	max-width: 1240px;
	margin: 0 auto;
	overflow: hidden;
	padding: 16px 5px 30px;
	position: relative
}

.services-slider-section .service-slider {
	display: flex;
	gap: 22px;
	transition: transform .65s cubic-bezier(.2, .7, .2, 1)
}

.services-slider-section .service-card {
	flex: 0 0 calc((100% - 44px)/3);
	background: #fff;
	color: #17130e;
	border: 1px solid #dfbd78;
	box-shadow: 0 15px 38px #4c321016;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0
}

.services-slider-section .service-card img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	object-position: center
}

.services-slider-section .service-card>div {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex: 1
}

.services-slider-section .service-card h3 {
	font: 700 30px 'Cormorant Garamond';
	margin: 0 0 8px
}

.services-slider-section .service-card p {
	color: #6e6255;
	line-height: 1.6;
	flex: 1;
	margin: 0 0 16px
}

.services-slider-section .service-card span {
	color: #9b6817;
	font-weight: 700
}

.services-slider-section .service-nav {
	position: absolute;
	top: 50%;
	left: 18px;
	right: 18px;
	transform: translateY(-50%);
	justify-content: space-between;
	margin: 0;
	pointer-events: none;
	z-index: 3
}

.services-slider-section .service-nav button {
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 7px 18px #00000012;
	pointer-events: auto
}

.nail-showcase {
	background: #fffaf1
}

.nail-reference-layout {
	max-width: 1180px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e5c98f;
	box-shadow: 0 16px 44px #0000000d;
	padding: 24px
}

.nail-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px
}

.nail-filter-row span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border-radius: 999px;
	background: #f1e4ce;
	color: #765323;
	font-size: 12px;
	font-weight: 700;
	border: 1px solid #e2c18a
}

.nail-filter-row span.active {
	background: #b67d1f;
	color: #fff;
	border-color: #b67d1f
}

.nail-image-strip {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 22px
}

.nail-image-strip figure {
	margin: 0;
	height: 170px;
	overflow: hidden;
	background: #f2e8d8;
	border: 1px solid #e5c98f
}

.nail-image-strip img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.nail-info-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	gap: 24px;
	align-items: stretch
}

.nail-price-panel,
.nail-tips-panel {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e4c98f;
	box-shadow: none
}

.nail-panel-title {
	padding: 18px 20px;
	background: #faf0df;
	border-bottom: 1px solid #e7d3ae
}

.nail-panel-title h2 {
	font-size: 31px;
	margin: 0
}

.nail-panel-title p {
	font-size: 13px;
	line-height: 1.55
}

.nail-table-scroll {
	overflow: auto;
	flex: 1
}

.nail-price-table {
	min-width: 540px
}

.nail-price-table th,
.nail-price-table td {
	padding: 11px 16px
}

.nail-tips-list {
	padding: 20px;
	gap: 16px;
	flex: 1
}

.nail-tips-list li {
	padding-bottom: 13px;
	border-bottom: 1px solid #eee0c8
}

.nail-tips-list li:last-child {
	border-bottom: 0
}

.nail-benefits {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 0 20px 20px
}

.nail-benefits div {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #f8eedf;
	border: 1px solid #ead2a8;
	padding: 13px;
	font-size: 12px;
	color: #5d4a31
}

.nail-benefits i {
	color: #ad7518
}

@media(max-width:900px) {
	.services-slider-section .service-card {
		flex-basis: calc((100% - 22px)/2)
	}

	.nail-image-strip {
		grid-template-columns: repeat(3, 1fr)
	}

	.nail-image-strip figure {
		height: 190px
	}

	.nail-info-grid {
		grid-template-columns: 1fr
	}
}

@media(max-width:560px) {
	.services-slider-section .service-card {
		flex-basis: 100%
	}

	.services-slider-section .service-card img {
		height: 260px
	}

	.nail-reference-layout {
		padding: 14px
	}

	.nail-image-strip {
		grid-template-columns: repeat(2, 1fr);
		gap: 9px
	}

	.nail-image-strip figure {
		height: 145px
	}

	.nail-filter-row {
		gap: 7px
	}

	.nail-filter-row span {
		padding: 7px 11px;
		font-size: 11px
	}

	.nail-benefits {
		grid-template-columns: 1fr
	}

	.nail-info-grid {
		gap: 16px
	}

	.nail-panel-title h2 {
		font-size: 27px
	}
}

/* Hair care reference-inspired professional layout */
.hair-showcase-section {
	background: #fffdf8;
	padding-top: 68px;
	padding-bottom: 72px
}

.compact-title {
	margin-bottom: 30px
}

.compact-title h2 {
	font-size: clamp(36px, 4vw, 54px)
}

.hair-reference-layout {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.05fr 1.2fr .95fr;
	gap: 22px;
	align-items: stretch
}

.hair-service-menu,
.hair-feature-copy,
.hair-feature-image {
	background: #fff;
	border: 1px solid #e7d5b2;
	min-width: 0
}

.hair-service-menu {
	padding: 20px
}

.hair-service-menu>h3 {
	font: 700 27px 'Cormorant Garamond';
	margin: 0 0 14px
}

.hair-menu-list {
	border: 1px solid #eadbc1;
	border-bottom: 0
}

.hair-menu-row {
	min-height: 48px;
	padding: 10px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #eadbc1;
	font-size: 12px;
	transition: .2s
}

.hair-menu-row:hover {
	background: #fff6e7
}

.hair-menu-row span {
	display: flex;
	align-items: center;
	gap: 9px
}

.hair-menu-row i {
	width: 17px;
	color: #9b6c1e
}

.hair-menu-row strong {
	font-size: 11px;
	color: #8b5e17;
	white-space: nowrap
}

.hair-feature-image {
	margin: 0;
	overflow: hidden;
	min-height: 510px
}

.hair-feature-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}

.hair-feature-copy {
	padding: 34px 28px;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.hair-feature-copy h2 {
	font: 700 39px/1.02 'Cormorant Garamond';
	margin: 10px 0 18px
}

.hair-feature-copy p {
	font-size: 13px;
	line-height: 1.8;
	color: var(--muted);
	margin: 0 0 18px
}

.hair-feature-copy ul {
	list-style: none;
	padding: 0;
	margin: 0 0 22px
}

.hair-feature-copy li {
	font-size: 12px;
	margin: 10px 0
}

.hair-feature-copy li i {
	color: #a67524;
	margin-right: 8px
}

.hair-contact-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap
}

.small-btn {
	padding: 11px 18px;
	font-size: 12px
}

.text-action {
	font-size: 12px;
	font-weight: 700;
	color: #8e641e
}

.hair-process-band {
	max-width: 1180px;
	margin: 22px auto 0;
	background: #111;
	color: #fff;
	border: 1px solid #ae7b29
}

.hair-process-heading {
	text-align: center;
	padding: 13px;
	border-bottom: 1px solid #3d3324;
	color: var(--gold);
	font: 700 23px 'Cormorant Garamond'
}

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

.hair-process-grid article {
	display: flex;
	gap: 14px;
	padding: 24px;
	border-right: 1px solid #3d3324
}

.hair-process-grid article:last-child {
	border-right: 0
}

.hair-process-grid b {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--gold);
	color: #111;
	font-size: 12px
}

.hair-process-grid h3 {
	font: 700 22px 'Cormorant Garamond';
	margin: 0 0 5px;
	color: #f0c96f
}

.hair-process-grid p {
	font-size: 11px;
	line-height: 1.55;
	color: #ddd;
	margin: 0
}

.hair-benefits-section {
	padding-top: 66px;
	padding-bottom: 66px
}

@media(max-width:980px) {
	.hair-reference-layout {
		grid-template-columns: 1fr 1fr
	}

	.hair-feature-copy {
		grid-column: 1/-1
	}

	.hair-feature-image {
		min-height: 450px
	}

	.hair-process-grid article {
		padding: 20px
	}
}

@media(max-width:700px) {
	.hair-reference-layout {
		grid-template-columns: 1fr
	}

	.hair-feature-image {
		min-height: 380px
	}

	.hair-feature-copy {
		grid-column: auto
	}

	.hair-process-grid {
		grid-template-columns: 1fr
	}

	.hair-process-grid article {
		border-right: 0;
		border-bottom: 1px solid #3d3324
	}

	.hair-process-grid article:last-child {
		border-bottom: 0
	}
}

@media(max-width:480px) {
	.hair-showcase-section {
		padding-top: 48px
	}

	.hair-service-menu,
	.hair-feature-copy {
		padding: 18px
	}

	.hair-feature-image {
		min-height: 310px
	}

	.hair-menu-row {
		font-size: 11px
	}

	.hair-process-heading {
		font-size: 20px
	}
}

/* Makeup page: reference-inspired, light professional layout */
.makeup-showcase-section {
	background: linear-gradient(180deg, #fffaf1 0%, #f5ead8 100%);
	padding-top: 58px;
	padding-bottom: 52px
}

.makeup-reference-layout {
	max-width: 1180px;
	margin: 0 auto 26px;
	display: grid;
	grid-template-columns: 1fr .85fr;
	background: #fff;
	border: 1px solid #e3c58d;
	box-shadow: 0 16px 42px #8b5d1512;
	overflow: hidden
}

.makeup-feature-copy {
	padding: 48px 46px;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.makeup-feature-copy h2 {
	font: 700 clamp(42px, 5vw, 66px)/.98 'Cormorant Garamond';
	margin: 10px 0 18px;
	color: #17130e;
	max-width: 650px
}

.makeup-feature-copy>p {
	color: #6c6054;
	line-height: 1.8;
	max-width: 690px;
	margin: 0 0 25px
}

.makeup-mini-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px
}

.makeup-mini-points span {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: #fbf2e2;
	border: 1px solid #ead5ae;
	color: #5f4e38;
	font-size: 12px;
	font-weight: 600
}

.makeup-mini-points i {
	color: #ad7518
}

.makeup-feature-image {
	margin: 0;
	min-height: 410px;
	background: #efe4d2;
	overflow: hidden
}

.makeup-feature-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block
}

.makeup-content-grid {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	gap: 24px;
	align-items: stretch
}

.makeup-price-card,
.makeup-why-card {
	background: #fff;
	border: 1px solid #e3c58d;
	box-shadow: 0 12px 32px #6b48100d
}

.makeup-panel-heading {
	padding: 23px 26px 18px;
	background: #fbf2e4;
	border-bottom: 1px solid #ead4a9
}

.makeup-panel-heading h2 {
	font: 700 34px 'Cormorant Garamond';
	margin: 4px 0 0;
	color: #17130e
}

.makeup-price-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 22px 26px 26px
}

.makeup-price-list>div {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 13px 15px;
	border: 1px solid #eee1ca;
	background: #fffaf2;
	color: #4f453a;
	font-size: 13px;
	font-weight: 600
}

.makeup-price-list span {
	display: block;
	line-height: 1.35
}

.makeup-why-card {
	display: flex;
	flex-direction: column
}

.makeup-why-card ul {
	list-style: none;
	padding: 22px 26px 12px;
	margin: 0;
	display: grid;
	gap: 14px;
	flex: 1
}

.makeup-why-card li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	color: #6b6054;
	font-size: 13px;
	line-height: 1.55
}

.makeup-why-card li i {
	color: #ad7518;
	margin-top: 3px
}

.makeup-why-card li b {
	display: block;
	color: #211b15;
	margin-bottom: 2px
}

.makeup-actions {
	padding: 0 26px 25px;
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap
}

.makeup-stats-row {
	max-width: 1180px;
	margin: 24px auto 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #f0dfc3;
	border: 1px solid #d7b56e
}

.makeup-stats-row article {
	text-align: center;
	padding: 20px;
	border-right: 1px solid #d7b56e
}

.makeup-stats-row article:last-child {
	border-right: 0
}

.makeup-stats-row strong {
	display: block;
	font: 700 31px 'Cormorant Garamond';
	color: #7f5617
}

.makeup-stats-row span {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #675a4a
}

.makeup-process-section {
	background: #fff;
	padding-top: 60px;
	padding-bottom: 70px
}

.light-process-row {
	max-width: 1180px;
	margin: auto;
	background: #fffaf1;
	border: 1px solid #e2c48c
}

.light-process-row article {
	border-right: 1px solid #e2c48c
}

.light-process-row article:last-child {
	border-right: 0
}

@media(max-width:900px) {

	.makeup-reference-layout,
	.makeup-content-grid {
		grid-template-columns: 1fr
	}

	.makeup-feature-image {
		min-height: 430px
	}

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

	.makeup-stats-row article:nth-child(2) {
		border-right: 0
	}

	.makeup-stats-row article:nth-child(-n+2) {
		border-bottom: 1px solid #d7b56e
	}
}

@media(max-width:620px) {
	.makeup-showcase-section {
		padding-top: 42px
	}

	.makeup-feature-copy {
		padding: 30px 22px
	}

	.makeup-feature-copy h2 {
		font-size: 42px
	}

	.makeup-mini-points {
		grid-template-columns: 1fr
	}

	.makeup-feature-image {
		min-height: 330px
	}

	.makeup-panel-heading,
	.makeup-price-list,
	.makeup-why-card ul,
	.makeup-actions {
		padding-left: 18px;
		padding-right: 18px
	}

	.makeup-price-list {
		grid-template-columns: 1fr;
		gap: 10px;
		padding-top: 18px;
		padding-bottom: 20px
	}

	.makeup-price-list>div {
		min-height: 44px;
		font-size: 12px
	}

	.makeup-stats-row article {
		padding: 17px 9px
	}

	.makeup-stats-row strong {
		font-size: 27px
	}

	.light-process-row article {
		border-right: 0
	}
}


/* Skin care page - reference-inspired, light and professional */
.skin-showcase {
	background: #fffaf1;
	padding-top: 58px;
	padding-bottom: 34px
}

.skin-top-grid {
	max-width: 1180px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	min-height: 360px;
	border: 1px solid #e8d5ae;
	background: #fff;
	box-shadow: 0 14px 38px #0000000b;
	overflow: hidden
}

.skin-intro {
	padding: 48px 52px;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.skin-intro h2 {
	font-size: clamp(40px, 5vw, 62px);
	line-height: 1.02;
	margin: 8px 0 16px
}

.skin-intro>p {
	color: var(--muted);
	line-height: 1.75;
	margin: 0 0 24px
}

.skin-visual {
	min-height: 360px
}

.skin-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}

.skin-benefits {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px
}

.skin-benefits article {
	display: grid;
	place-items: center;
	text-align: center;
	gap: 8px;
	padding: 12px 6px;
	border-top: 2px solid #d3a44f;
	background: #fffaf1;
	font-size: 11px;
	font-weight: 600
}

.skin-benefits i {
	font-size: 19px;
	color: #b37b20
}

.skin-service-board {
	background: #f7efdf;
	padding-top: 58px
}

.compact-title {
	margin-bottom: 32px
}

.compact-title h2 {
	margin-bottom: 10px
}

.skin-board-grid {
	max-width: 1180px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.05fr .9fr 1fr;
	gap: 22px;
	align-items: stretch
}

.skin-treatment-list,
.skin-journey-card,
.skin-price-card {
	background: #fff;
	border: 1px solid #e4c88e;
	box-shadow: 0 10px 26px #0000000b
}

.skin-treatment-list details {
	border-bottom: 1px solid #eee0c5
}

.skin-treatment-list details:last-child {
	border-bottom: 0
}

.skin-treatment-list summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 18px;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center
}

.skin-treatment-list summary::-webkit-details-marker {
	display: none
}

.skin-treatment-list details[open] summary {
	color: #9b6816;
	background: #fff8eb
}

.skin-treatment-list summary i {
	font-size: 12px;
	transition: .2s
}

.skin-treatment-list details[open] summary i {
	transform: rotate(180deg)
}

.skin-treatment-list details p {
	padding: 0 18px 16px;
	margin: 0;
	color: var(--muted);
	line-height: 1.6;
	font-size: 13px
}

.skin-journey-card,
.skin-price-card {
	padding: 24px
}

.skin-journey-card h3,
.skin-price-card h3 {
	font: 700 31px 'Cormorant Garamond';
	margin: 0 0 19px;
	color: #8e6119
}

.skin-journey-card article {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-top: 1px solid #eee1c8
}

.skin-journey-card article span {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #111;
	color: #e4b85d;
	font-size: 12px;
	font-weight: 700
}

.skin-journey-card h4 {
	margin: 0 0 4px;
	font-size: 15px
}

.skin-journey-card p {
	margin: 0;
	color: var(--muted);
	line-height: 1.55;
	font-size: 12px
}

.skin-price-card>div {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 10px;
	border-bottom: 1px solid #eee1c8;
	font-size: 13px
}

.skin-price-card .price-head {
	background: #111;
	color: #e2b351;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 11px
}

.skin-price-card strong {
	color: #8c5b10;
	white-space: nowrap
}

.skin-price-card>div:last-child {
	border-bottom: 0
}

.skin-actions {
	max-width: 1180px;
	margin: 28px auto 0;
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap
}

.skin-actions .btn {
	min-width: 145px;
	justify-content: center
}

.skin-care-notes {
	background: #fffaf1;
	padding-top: 58px;
	padding-bottom: 68px
}

@media(max-width:980px) {
	.skin-top-grid {
		grid-template-columns: 1fr
	}

	.skin-visual {
		min-height: 330px
	}

	.skin-board-grid {
		grid-template-columns: 1fr 1fr
	}

	.skin-price-card {
		grid-column: 1/-1
	}

	.skin-benefits {
		grid-template-columns: repeat(5, 1fr)
	}
}

@media(max-width:680px) {
	.skin-intro {
		padding: 34px 22px
	}

	.skin-benefits {
		grid-template-columns: repeat(2, 1fr)
	}

	.skin-benefits article:last-child {
		grid-column: 1/-1
	}

	.skin-board-grid {
		grid-template-columns: 1fr
	}

	.skin-price-card {
		grid-column: auto
	}

	.skin-actions {
		flex-direction: column
	}

	.skin-actions .btn {
		width: 100%
	}

	.skin-visual {
		min-height: 250px
	}
}


/* Uniform short image banners across all internal pages */
.page-hero.uniform-image-banner,
.service-hero.uniform-image-banner {
	position: relative !important;
	height: 190px !important;
	min-height: 190px !important;
	padding: 28px 7vw !important;
	justify-content: center !important;
	align-items: flex-start !important;
	text-align: left !important;
	overflow: hidden !important;
	background-image: linear-gradient(90deg, rgba(7, 7, 7, .88) 0%, rgba(7, 7, 7, .62) 42%, rgba(7, 7, 7, .15) 72%, rgba(7, 7, 7, .05) 100%), var(--banner-image) !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center 32% !important;
	color: #fff !important;
}

.page-hero.uniform-image-banner::before,
.service-hero.uniform-image-banner::before {
	display: none !important
}

.page-hero.uniform-image-banner .eyebrow,
.service-hero.uniform-image-banner .eyebrow {
	font-size: 10px !important;
	letter-spacing: 2.4px !important;
	margin: 0 0 6px !important
}

.page-hero.uniform-image-banner h1,
.service-hero.uniform-image-banner h1 {
	font-size: 42px !important;
	line-height: 1 !important;
	margin: 0 !important;
	max-width: 560px !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .35)
}

.page-hero.uniform-image-banner p,
.service-hero.uniform-image-banner p {
	font-size: 14px !important;
	line-height: 1.45 !important;
	margin-top: 8px !important;
	max-width: 470px !important;
	color: #f7f2e8 !important
}

.banner-skin {
	background-position: center 30% !important
}

.banner-hair {
	background-position: center 46% !important
}

.banner-nail {
	background-position: center 55% !important
}

.banner-makeup {
	background-position: center 30% !important
}

.banner-jewellery {
	background-position: center 28% !important
}

.banner-threading {
	background-position: center 48% !important
}

.banner-about {
	background-position: center 32% !important
}

.banner-academy {
	background-position: center 48% !important
}

.banner-gallery {
	background-position: center 28% !important
}

.banner-contact {
	background-position: center 46% !important
}

@media(max-width:900px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 165px !important;
		min-height: 165px !important;
		padding: 24px 6vw !important;
		background-position: center !important
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 36px !important;
		max-width: 430px !important
	}
}

@media(max-width:560px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 145px !important;
		min-height: 145px !important;
		padding: 20px 5vw !important;
		background-image: linear-gradient(90deg, rgba(7, 7, 7, .88), rgba(7, 7, 7, .42)), var(--banner-image) !important
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 30px !important;
		max-width: 75% !important
	}

	.page-hero.uniform-image-banner .eyebrow,
	.service-hero.uniform-image-banner .eyebrow {
		font-size: 9px !important
	}
}

/* Waxing & Threading reference-inspired layout */
.wax-layout-section {
	background: #fffaf0;
	padding-top: 72px;
	padding-bottom: 82px
}

.compact-title {
	margin-bottom: 30px
}

.compact-title h2 {
	font-size: clamp(38px, 4vw, 56px)
}

.wax-price-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	max-width: 1180px;
	margin: 0 auto
}

.wax-price-card {
	background: #fff;
	border: 1px solid #ead9b8;
	border-top: 4px solid var(--gold);
	padding: 26px 24px;
	box-shadow: 0 14px 38px rgba(50, 35, 10, .08)
}

.wax-price-card.featured {
	background: #fff6e4;
	transform: translateY(-6px)
}

.wax-card-head {
	display: flex;
	align-items: center;
	gap: 13px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ead9b8
}

.wax-card-head i {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #111;
	color: var(--gold2);
	font-size: 18px
}

.wax-card-head h3 {
	margin: 0;
	font: 700 31px 'Cormorant Garamond'
}

.wax-price-card ul {
	list-style: none;
	margin: 15px 0 0;
	padding: 0
}

.wax-price-card li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px dashed #e6d5b6;
	font-size: 14px
}

.wax-price-card li:last-child {
	border-bottom: 0
}

.wax-price-card strong {
	color: #8b611e;
	white-space: nowrap
}

.wax-benefits-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 1180px;
	margin: 30px auto 0
}

.wax-benefits-row article {
	text-align: center;
	padding: 26px 18px;
	background: #fff;
	border: 1px solid #eee0c5
}

.wax-benefits-row i {
	font-size: 28px;
	color: #af7922;
	margin-bottom: 10px
}

.wax-benefits-row h3 {
	font: 700 25px 'Cormorant Garamond';
	margin: 5px 0 7px
}

.wax-benefits-row p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--muted);
	margin: 0
}

.wax-care-grid {
	display: grid;
	grid-template-columns: 1fr 1fr .9fr;
	gap: 20px;
	max-width: 1180px;
	margin: 28px auto 0
}

.wax-care-card,
.wax-contact-card {
	background: #f8efdd;
	border: 1px solid #e2cca2;
	padding: 28px
}

.wax-care-card>span,
.wax-contact-card>span {
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #a77526;
	font-weight: 700
}

.wax-care-card h3,
.wax-contact-card h3 {
	font: 700 30px 'Cormorant Garamond';
	margin: 8px 0 16px
}

.wax-care-card ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.wax-care-card li {
	display: flex;
	gap: 10px;
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.5
}

.wax-care-card i {
	color: #a87522;
	margin-top: 3px
}

.wax-contact-card {
	background: #15120e;
	color: #fff
}

.wax-contact-card p {
	color: #e8dfd2;
	line-height: 1.65;
	font-size: 14px
}

.wax-contact-actions {
	display: flex;
	gap: 10px;
	margin-top: 20px
}

.wax-contact-actions .btn {
	padding: 12px 16px;
	font-size: 13px;
	gap: 8px
}

.btn.outline-dark {
	background: transparent;
	color: #fff;
	border-color: var(--gold)
}

@media(max-width:900px) {
	.wax-price-columns {
		grid-template-columns: 1fr 1fr
	}

	.wax-price-card.featured {
		transform: none
	}

	.wax-benefits-row {
		grid-template-columns: 1fr 1fr
	}

	.wax-care-grid {
		grid-template-columns: 1fr 1fr
	}

	.wax-contact-card {
		grid-column: 1/-1
	}
}

@media(max-width:560px) {
	.wax-layout-section {
		padding-top: 52px
	}

	.wax-price-columns,
	.wax-benefits-row,
	.wax-care-grid {
		grid-template-columns: 1fr
	}

	.wax-contact-card {
		grid-column: auto
	}

	.wax-contact-actions {
		flex-direction: column
	}

	.wax-contact-actions .btn {
		width: 100%
	}

	.wax-price-card {
		padding: 22px 18px
	}
}

/* 2026-07-18: Taller service banners with copy on the left and image focus on the right */
.service-hero.uniform-image-banner {
	height: 235px !important;
	min-height: 235px !important;
	padding: 34px 7vw !important;
	justify-content: center !important;
	align-items: flex-start !important;
	text-align: left !important;
	background-image: linear-gradient(90deg, rgba(8, 8, 8, .94) 0%, rgba(8, 8, 8, .82) 29%, rgba(8, 8, 8, .38) 52%, rgba(8, 8, 8, .04) 76%), var(--banner-image) !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: right center !important;
}

.service-hero.uniform-image-banner .eyebrow,
.service-hero.uniform-image-banner h1,
.service-hero.uniform-image-banner p {
	position: relative;
	z-index: 2;
	max-width: 430px !important
}

.service-hero.uniform-image-banner h1 {
	font-size: 46px !important;
	margin: 2px 0 6px !important
}

.service-hero.uniform-image-banner p {
	font-size: 14px !important;
	max-width: 390px !important;
	margin: 0 !important
}

.service-hero.banner-skin {
	background-position: right 38% !important
}

.service-hero.banner-hair {
	background-position: right 43% !important
}

.service-hero.banner-nail {
	background-position: right 52% !important
}

.service-hero.banner-makeup {
	background-position: right 30% !important
}

.service-hero.banner-jewellery {
	background-position: right 34% !important
}

.service-hero.banner-threading {
	background-position: right 48% !important
}

@media(max-width:900px) {
	.service-hero.uniform-image-banner {
		height: 205px !important;
		min-height: 205px !important;
		padding: 29px 6vw !important;
		background-position: right center !important
	}

	.service-hero.uniform-image-banner h1 {
		font-size: 39px !important;
		max-width: 390px !important
	}

	.service-hero.uniform-image-banner p {
		max-width: 345px !important
	}
}

@media(max-width:560px) {
	.service-hero.uniform-image-banner {
		height: 180px !important;
		min-height: 180px !important;
		padding: 24px 5vw !important;
		background-image: linear-gradient(90deg, rgba(8, 8, 8, .94) 0%, rgba(8, 8, 8, .76) 48%, rgba(8, 8, 8, .18) 100%), var(--banner-image) !important;
		background-position: 70% center !important
	}

	.service-hero.uniform-image-banner h1 {
		font-size: 32px !important;
		max-width: 70% !important
	}

	.service-hero.uniform-image-banner p {
		font-size: 12px !important;
		max-width: 62% !important;
		line-height: 1.35 !important
	}
}

/* 2026-07-18: Increase service banner height and remove unwanted gaps between sections */
.service-hero.uniform-image-banner {
	height: 275px !important;
	min-height: 275px !important;
	padding: 42px 7vw !important;
}

.service-hero.uniform-image-banner h1 {
	font-size: 50px !important;
	line-height: 1 !important;
}

/* Keep every page section joined cleanly without blank strips */
main,
main>section,
body>section,
.section,
.contact-strip,
.service-catalog,
.service-process,
.nail-showcase,
.hair-showcase-section,
.hair-benefits-section,
.makeup-showcase-section,
.makeup-process-section,
.skin-showcase,
.skin-service-board,
.skin-care-notes,
.wax-layout-section,
.services-slider-section {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

main>section+section,
body>section+section {
	margin-top: 0 !important;
}

.section-title:first-child {
	margin-top: 0 !important
}

.section-title:last-child {
	margin-bottom: 0
}

@media(max-width:900px) {
	.service-hero.uniform-image-banner {
		height: 235px !important;
		min-height: 235px !important;
		padding: 34px 6vw !important;
	}

	.service-hero.uniform-image-banner h1 {
		font-size: 42px !important
	}
}

@media(max-width:560px) {
	.service-hero.uniform-image-banner {
		height: 205px !important;
		min-height: 205px !important;
		padding: 28px 5vw !important;
	}

	.service-hero.uniform-image-banner h1 {
		font-size: 34px !important
	}
}


/* 2026-07-18 final requested refinements */
/* Larger banners across internal pages */
.page-hero.uniform-image-banner,
.service-hero.uniform-image-banner {
	height: 320px !important;
	min-height: 320px !important;
	padding: 48px 7vw !important;
}

.page-hero.uniform-image-banner h1,
.service-hero.uniform-image-banner h1 {
	font-size: 52px !important
}

/* Compact About story card using client-4 without cropping */
.about-intro-section {
	padding-top: 64px !important;
	padding-bottom: 64px !important
}

.about-intro-grid {
	max-width: 1120px !important;
	min-height: 0 !important;
	align-items: center !important
}

.about-intro-image {
	height: 430px !important;
	min-height: 430px !important;
	background: #f5ebdc !important
}

.about-intro-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important
}

.about-intro-copy {
	padding: 40px 44px !important
}

.about-intro-copy h2 {
	font-size: clamp(38px, 4vw, 54px) !important;
	margin-bottom: 16px !important
}

.about-intro-copy p {
	line-height: 1.65 !important;
	margin-bottom: 10px !important
}

.about-highlight-row {
	margin-top: 12px !important
}

/* Hero images specifically selected by the client */
.hero-slide:nth-child(1) {
	background-position: center 34% !important
}

.hero-slide:nth-child(2) {
	background-position: center 28% !important
}

.hero-slide:nth-child(3) {
	background-position: center 34% !important
}

@media(max-width:900px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 275px !important;
		min-height: 275px !important;
		padding: 38px 6vw !important
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 44px !important
	}

	.about-intro-grid {
		grid-template-columns: 1fr !important
	}

	.about-intro-image {
		height: 430px !important;
		min-height: 430px !important
	}
}

@media(max-width:560px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 235px !important;
		min-height: 235px !important;
		padding: 30px 5vw !important
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 36px !important
	}

	.about-intro-section {
		padding-top: 46px !important;
		padding-bottom: 46px !important
	}

	.about-intro-image {
		height: 360px !important;
		min-height: 360px !important
	}

	.about-intro-copy {
		padding: 30px 24px !important
	}
}

/* 2026-07-18: Increased banner height on every internal page */
.page-hero.uniform-image-banner,
.service-hero.uniform-image-banner {
	height: 400px !important;
	min-height: 400px !important;
	padding: 58px 7vw !important;
}

.page-hero.uniform-image-banner h1,
.service-hero.uniform-image-banner h1 {
	font-size: 56px !important;
}

@media(max-width:900px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 335px !important;
		min-height: 335px !important;
		padding: 46px 6vw !important;
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 46px !important;
	}
}

@media(max-width:560px) {

	.page-hero.uniform-image-banner,
	.service-hero.uniform-image-banner {
		height: 280px !important;
		min-height: 280px !important;
		padding: 34px 5vw !important;
	}

	.page-hero.uniform-image-banner h1,
	.service-hero.uniform-image-banner h1 {
		font-size: 38px !important;
	}
}


/* Hero text placement fix: keeps headings away from faces without changing slider height */
.hero-slider .hero-slide:nth-child(1),
.hero-slider .hero-slide:nth-child(3) {
	justify-content: flex-end;
	text-align: left
}

.hero-slider .hero-slide:nth-child(1) .hero-copy,
.hero-slider .hero-slide:nth-child(3) .hero-copy {
	width: min(42vw, 560px);
	margin-left: auto
}

.hero-slider .hero-slide:nth-child(2) {
	justify-content: flex-start
}

.hero-slider .hero-slide:nth-child(2) .hero-copy {
	width: min(38vw, 520px)
}

.hero-slider .hero-copy {
	padding: 26px 28px;
	border-left: 2px solid rgba(218, 174, 92, .72);
	background: rgba(8, 8, 8, .24);
	backdrop-filter: blur(2px);
	border-radius: 0 8px 8px 0
}

.hero-slider h1 {
	margin: 14px 0 12px;
	line-height: 1.02
}

.hero-slider p {
	margin: 0 0 20px
}

@media(max-width:900px) {
	.hero-slider .hero-slide:nth-child(n) {
		justify-content: flex-end;
		align-items: flex-end;
		text-align: left;
		background-position: center center !important
	}

	.hero-slider .hero-slide:nth-child(n) .hero-copy {
		width: min(92%, 560px);
		max-width: 560px;
		margin: 0 auto;
		padding: 22px 22px;
		background: rgba(7, 7, 7, .78);
		border-left: 2px solid var(--gold2);
		border-radius: 6px
	}
}

@media(max-width:560px) {
	.hero-slider .hero-slide:nth-child(n) .hero-copy {
		width: 100%;
		padding: 18px 18px;
		background: rgba(7, 7, 7, .82)
	}

	.hero-slider h1 {
		font-size: 40px;
		line-height: 1
	}

	.hero-slider .actions {
		gap: 10px;
		flex-wrap: wrap
	}
}


/* Academy ladder redesign */
.academy-journey-section {
	background: linear-gradient(180deg, #fffaf1 0%, #f8efdf 100%);
	overflow: hidden
}

.academy-title {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto
}

.academy-ladder {
	position: relative;
	max-width: 1060px;
	margin: 46px auto 0;
	padding: 8px 0
}

.academy-ladder:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(var(--gold2), rgba(218, 174, 92, .18));
	transform: translateX(-50%)
}

.academy-step {
	position: relative;
	width: calc(50% - 42px);
	min-height: 168px;
	display: grid;
	grid-template-columns: 58px 70px 1fr;
	gap: 18px;
	align-items: center;
	padding: 25px 26px;
	background: #fff;
	border: 1px solid rgba(188, 132, 31, .35);
	box-shadow: 0 18px 45px rgba(75, 50, 15, .08);
	border-radius: 12px;
	margin-bottom: 30px
}

.academy-step.step-left {
	margin-right: auto
}

.academy-step.step-right {
	margin-left: auto
}

.academy-step:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 42px;
	height: 2px;
	background: var(--gold2)
}

.academy-step.step-left:after {
	right: -43px
}

.academy-step.step-right:after {
	left: -43px
}

.step-number {
	font: 700 17px/1 Montserrat, sans-serif;
	color: var(--gold);
	letter-spacing: .08em
}

.step-icon {
	width: 66px;
	height: 66px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #111;
	color: var(--gold2);
	font-size: 24px;
	box-shadow: 0 0 0 6px #f7ecd8
}

.step-content h3 {
	margin: 0 0 8px;
	font-size: 29px
}

.step-content p {
	margin: 0;
	line-height: 1.7;
	color: #685c50
}

.academy-contact-actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 22px
}

.academy-contact-actions .btn {
	display: inline-flex;
	align-items: center;
	gap: 9px
}

@media(max-width:800px) {
	.academy-ladder:before {
		left: 29px
	}

	.academy-step {
		width: calc(100% - 56px);
		margin-left: 56px !important;
		grid-template-columns: 48px 58px 1fr;
		min-height: 150px;
		padding: 22px 20px
	}

	.academy-step:after {
		left: -28px !important;
		right: auto !important;
		width: 28px
	}

	.step-icon {
		width: 56px;
		height: 56px;
		font-size: 21px
	}

	.step-content h3 {
		font-size: 25px
	}
}

@media(max-width:520px) {
	.academy-ladder {
		margin-top: 30px
	}

	.academy-ladder:before {
		display: none
	}

	.academy-step {
		width: 100%;
		margin-left: 0 !important;
		grid-template-columns: 42px 52px 1fr;
		gap: 12px;
		padding: 19px 16px;
		margin-bottom: 18px
	}

	.academy-step:after {
		display: none
	}

	.step-icon {
		width: 50px;
		height: 50px
	}

	.step-content h3 {
		font-size: 22px
	}

	.step-content p {
		font-size: 14px
	}

	.academy-contact-actions {
		align-items: stretch
	}

	.academy-contact-actions .btn {
		justify-content: center;
		width: 100%
	}
}

/* Final usability, compact About story, and hero navigation fixes */
.actions {
	position: relative;
	z-index: 5;
	flex-wrap: wrap
}

.actions .btn,
.contact-strip .btn,
.wax-contact-actions .btn {
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 4px;
	gap: 9px;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
	box-shadow: 0 8px 22px rgba(112, 75, 18, .13);
}

.actions .btn i,
.contact-strip .btn i,
.wax-contact-actions .btn i {
	font-size: 15px
}

.btn.btn-secondary,
.btn.outline-dark,
.contact-strip .btn.outline {
	background: #fff !important;
	color: #17130e !important;
	border: 1px solid #bd8730 !important;
}

.btn.btn-secondary:hover,
.btn.outline-dark:hover,
.contact-strip .btn.outline:hover {
	background: #17130e !important;
	color: #fff !important;
	border-color: #17130e !important;
}

.btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 11px 24px rgba(112, 75, 18, .2)
}

/* Make the About story shorter and balance both columns */
.about-intro-section {
	padding: 54px 7vw !important
}

.about-intro-grid {
	grid-template-columns: 1fr 1fr !important;
	align-items: stretch !important;
	max-width: 1120px !important;
	min-height: 0 !important;
	margin: auto !important;
}

.about-intro-image,
.about-intro-copy {
	height: 480px !important;
	min-height: 0 !important
}

.about-intro-image {
	overflow: hidden !important;
	background: #f5ebdc !important
}

.about-intro-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center 28% !important
}

.about-intro-copy {
	padding: 34px 42px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important
}

.about-intro-copy h2 {
	font-size: clamp(36px, 3.7vw, 51px) !important;
	line-height: 1 !important;
	margin: 8px 0 15px !important
}

.about-intro-copy p {
	font-size: 15px !important;
	line-height: 1.62 !important;
	margin: 0 0 10px !important
}

.about-intro-copy p:nth-of-type(n+3) {
	display: none !important
}

.about-highlight-row {
	margin-top: 8px !important
}

/* Clickable navigation arrows centred at the hero edges */
.hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 12;
	width: 50px;
	height: 58px;
	border: 1px solid rgba(241, 204, 122, .68);
	background: rgba(7, 7, 7, .58);
	color: #f1cc7a;
	display: grid;
	place-items: center;
	cursor: pointer;
	font-size: 20px;
	transition: .25s;
	backdrop-filter: blur(3px);
}

.hero-prev {
	left: 20px
}

.hero-next {
	right: 20px
}

.hero-arrow:hover,
.hero-arrow:focus-visible {
	background: #d6ad60;
	color: #080808;
	outline: none
}

@media(max-width:900px) {
	.about-intro-grid {
		grid-template-columns: 1fr !important
	}

	.about-intro-image,
	.about-intro-copy {
		height: auto !important
	}

	.about-intro-image {
		height: 390px !important
	}

	.about-intro-copy {
		min-height: 360px !important;
		padding: 32px !important
	}

	.hero-arrow {
		width: 44px;
		height: 52px
	}

	.hero-prev {
		left: 10px
	}

	.hero-next {
		right: 10px
	}
}

@media(max-width:560px) {
	.actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100%
	}

	.actions .btn {
		width: 100% !important
	}

	.about-intro-section {
		padding: 40px 5vw !important
	}

	.about-intro-image {
		height: 320px !important
	}

	.about-intro-copy {
		min-height: 0 !important;
		padding: 27px 22px !important
	}

	.about-intro-copy h2 {
		font-size: 37px !important
	}

	.hero-arrow {
		width: 38px;
		height: 46px;
		font-size: 16px;
		background: rgba(7, 7, 7, .72)
	}

	.hero-prev {
		left: 6px
	}

	.hero-next {
		right: 6px
	}
}

/* Remove gaps between all sections */
main > section,
body > section,
.section,
.about-intro-section,
.about-story-section,
.values-section,
.hygiene-section,
.services-slider-section,
.testimonials-section,
.service-catalog,
.service-process,
.nail-showcase,
.hair-showcase-section,
.hair-benefits-section,
.makeup-showcase-section,
.makeup-process-section,
.skin-showcase,
.skin-service-board,
.skin-care-notes,
.wax-layout-section,
.academy-journey-section,
.contact-strip {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Reduce vertical section spacing */
.section,
.about-intro-section,
.about-story-section,
.values-section,
.hygiene-section,
.services-slider-section,
.testimonials-section,
.service-catalog,
.service-process,
.nail-showcase,
.hair-showcase-section,
.hair-benefits-section,
.makeup-showcase-section,
.makeup-process-section,
.skin-showcase,
.skin-service-board,
.skin-care-notes,
.wax-layout-section,
.academy-journey-section {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
}

/* Remove gap directly below banners */
.page-hero + section,
.service-hero + section,
.uniform-image-banner + section {
    padding-top: 35px !important;
    margin-top: 0 !important;
}

/* Prevent empty spacing from headings */
.section-title {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

.section-title:last-child {
    margin-bottom: 0 !important;
}

/* Mobile spacing */
@media (max-width: 560px) {
    .section,
    .about-intro-section,
    .about-story-section,
    .values-section,
    .hygiene-section,
    .services-slider-section,
    .testimonials-section,
    .service-catalog,
    .service-process,
    .nail-showcase,
    .hair-showcase-section,
    .hair-benefits-section,
    .makeup-showcase-section,
    .makeup-process-section,
    .skin-showcase,
    .skin-service-board,
    .skin-care-notes,
    .wax-layout-section,
    .academy-journey-section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    .page-hero + section,
    .service-hero + section,
    .uniform-image-banner + section {
        padding-top: 25px !important;
    }
}

.academy-contact-actions .btn.outline {
	background: #fff;
	color: #17130e;
	border-color: #bd8730
}

.academy-contact-actions .btn.outline:hover {
	background: #fff;
	color: #17130e;
	border-color: #bd8730
}


.site-header .brand img {
	filter: brightness(1.18) contrast(1.16) saturate(1.18) drop-shadow(0 0 8px rgba(241, 204, 122, .55)) drop-shadow(0 0 18px rgba(214, 173, 96, .35));
}

/* Compact footer spacing */
footer {
	padding-top: 46px
}

.footer-grid,
.footer-grid-five {
	align-items: start;
	gap: 26px
}

.footer-brand-name {
	font-size: 30px;
	margin-bottom: 8px
}

.footer-grid h3 {
	font-size: 23px;
	margin: 0 0 10px
}

.footer-grid a,
.footer-grid p {
	margin: 6px 0;
	line-height: 1.55
}

.footer-social {
	margin-top: 10px;
	gap: 10px
}

.footer-social a {
	width: 42px;
	height: 42px
}

.copyright {
	margin-top: 28px;
	padding: 16px
}
/* Compact contact cards */
.contact-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px
}

.contact-layout > div:first-child,
.contact-map {
	min-height: 0
}

.contact-layout > div:first-child {
	justify-content: flex-start
}

.contact-cards > a,
.contact-cards > div {
	min-height: 78px;
	padding: 16px
}

.contact-cards > div:last-child {
	grid-column: 1 / -1
}

@media(max-width:700px) {
	.contact-cards {
		grid-template-columns: 1fr
	}
}
/* Keep WhatsApp below call card */
.contact-cards > a:first-child {
	grid-column: 1 / -1
}

.contact-cards > a:nth-child(2) {
	grid-column: 1 / 2
}

@media(max-width:700px) {
	.contact-cards > a:first-child,
	.contact-cards > a:nth-child(2) {
		grid-column: auto
	}
}
/* Footer follow section alignment */
.footer-grid-five {
	grid-template-columns: minmax(220px, 1.1fr) minmax(130px, .7fr) minmax(150px, .85fr) minmax(230px, 1.25fr);
	align-items: start;
	column-gap: 26px;
	row-gap: 6px;
}

.footer-grid-five > div:last-child {
	grid-column: 1;
	grid-row: 2;
	margin-top: 0;
}

.footer-grid-five > div:last-child h3 {
	margin-bottom: 10px;
}

.footer-about p {
	margin-bottom: 2px;
}

@media(max-width: 900px) {
	.footer-grid-five {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-grid-five > div:last-child {
		grid-column: auto;
		grid-row: auto;
	}
}

@media(max-width: 560px) {
	.footer-grid-five {
		grid-template-columns: 1fr;
	}
}
/* Stronger address text readability */
.contact-cards span {
	color: #4f473d;
}

.footer-contact p {
	color: #f0e9dd;
}
/* Realistic testimonial ratings */
.testimonial-card .stars {
	display: flex;
	align-items: center;
	gap: 3px;
	letter-spacing: 0;
}

.testimonial-card .stars i {
	font-size: 14px;
	color: var(--gold);
}

.testimonial-card .stars small {
	margin-left: 8px;
	color: #6a4a16;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
}
/* Footer follow directly under brand */
.footer-grid-five {
	grid-template-columns: minmax(220px, 1.1fr) minmax(130px, .7fr) minmax(150px, .85fr) minmax(230px, 1.25fr);
	row-gap: 0;
}

.footer-grid-five > div:last-child {
	grid-column: auto;
	grid-row: auto;
	margin-top: 0;
}

.footer-follow {
	margin-top: 0;
}

.footer-follow h3 {
	margin-top: 0;
	margin-bottom: 8px;
}

.footer-about p {
	margin-bottom: 0;
}

.footer-about .footer-social {
	margin-top: 0;
}
/* Larger header and animated offer navigation */
@media(min-width: 901px) {
	.site-header {
		height: 112px;
		padding-left: 6vw;
		padding-right: 4vw;
	}

	.site-header .brand img {
		width: 96px;
		height: 96px;
	}

	.site-header nav {
		font-size: 15.5px;
		gap: 20px;
		margin-left: clamp(35px, 5vw, 110px);
	}

	.site-header nav > a,
	.dropdown button {
		padding-top: 38px;
		padding-bottom: 38px;
	}
}

.site-header nav > a.nav-offer {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 16px !important;
	border: 1px solid rgba(241, 204, 122, .78);
	border-radius: 999px;
	background: linear-gradient(135deg, #d6ad60, #fff0b8 45%, #b77a22 100%);
	color: #17130e;
	font-weight: 800;
	box-shadow: 0 0 0 0 rgba(241, 204, 122, .42), 0 10px 24px rgba(214, 173, 96, .2);
	overflow: hidden;
	animation: offerPulse 2.4s ease-in-out infinite;
}

.site-header nav > a.nav-offer::before {
	content: '';
	position: absolute;
	top: -40%;
	bottom: -40%;
	left: -60%;
	width: 45%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78), transparent);
	transform: rotate(18deg);
	animation: offerShine 3.1s ease-in-out infinite;
}

.site-header nav > a.nav-offer::after {
	display: none !important;
}

.site-header nav > a.nav-offer:hover,
.site-header nav > a.nav-offer.active {
	color: #080808;
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 0 22px rgba(241, 204, 122, .52), 0 12px 28px rgba(214, 173, 96, .32);
}

.site-header nav > a.nav-offer i {
	position: relative;
	z-index: 1;
}

.site-header nav > a.nav-offer span,
.site-header nav > a.nav-offer {
	z-index: 1;
}

@keyframes offerPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(241, 204, 122, .42), 0 10px 24px rgba(214, 173, 96, .2); }
	50% { box-shadow: 0 0 0 8px rgba(241, 204, 122, 0), 0 12px 30px rgba(214, 173, 96, .38); }
}

@keyframes offerShine {
	0% { left: -65%; }
	48%, 100% { left: 130%; }
}

.banner-offers::before {
	background: linear-gradient(90deg, rgba(8, 8, 8, .78), rgba(8, 8, 8, .34));
}

.offers-section {
	background: #fffaf0;
}

.offers-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.offer-card {
	position: relative;
	background: #fff;
	border: 1px solid #ead7b3;
	box-shadow: 0 16px 42px rgba(0, 0, 0, .08);
	overflow: hidden;
}

.offer-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.offer-card-copy {
	padding: 24px;
}

.offer-card h3,
.offer-steps h3 {
	font: 700 28px 'Cormorant Garamond', serif;
	margin: 0 0 9px;
	color: #17130e;
}

.offer-card p,
.offer-steps p {
	color: var(--muted);
	line-height: 1.7;
	margin: 0 0 14px;
}

.offer-card strong {
	display: block;
	color: #9a6d22;
	margin-bottom: 16px;
}

.offer-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 7px 12px;
	background: #080808;
	color: var(--gold2);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .8px;
}

.featured-offer {
	border-color: var(--gold);
}

.offer-steps-section {
	background: #f6ead4;
}

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

.offer-steps article {
	background: #fff;
	border-left: 4px solid var(--gold);
	padding: 24px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.offer-steps span {
	display: inline-block;
	color: #a67524;
	font-weight: 800;
	margin-bottom: 12px;
}

@media(max-width: 900px) {
	.site-header .brand img {
		width: 78px;
		height: 78px;
	}

	.site-header nav > a.nav-offer {
		justify-content: center;
		margin-top: 12px;
		padding: 14px 18px !important;
		text-align: center;
	}

	.offers-grid,
	.offer-steps {
		grid-template-columns: 1fr;
	}
}

@media(prefers-reduced-motion: reduce) {
	.site-header nav > a.nav-offer,
	.site-header nav > a.nav-offer::before {
		animation: none;
	}
}
/* Offers CTA button alignment */
.offer-contact-strip {
	align-items: center;
}

.offer-contact-strip .actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	min-width: 260px;
}

.offer-contact-strip .actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 124px;
	min-width: 124px;
	margin: 0;
}

@media(max-width: 700px) {
	.offer-contact-strip {
		align-items: stretch;
	}

	.offer-contact-strip .actions {
		justify-content: stretch;
		min-width: 0;
		width: 100%;
	}

	.offer-contact-strip .actions .btn {
		width: 100%;
		min-width: 0;
	}
}
/* Jewellery rental catalogue */
.jewellery-rent-section {
	background: #fffaf0;
}

.jewellery-rent-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.jewellery-rent-card {
	background: #fff;
	border: 1px solid #ead7b3;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .08);
	overflow: hidden;
}

.jewellery-rent-card img {
	width: 100%;
	aspect-ratio: 4 / 4.4;
	object-fit: cover;
	background: #f6ead4;
}

.jewellery-rent-card > div {
	padding: 22px;
}

.jewellery-rent-card h3 {
	font: 700 28px 'Cormorant Garamond', serif;
	margin: 0 0 8px;
	color: #17130e;
}

.jewellery-rent-card p {
	color: var(--muted);
	line-height: 1.65;
	margin: 0 0 16px;
}

.jewellery-rent-card .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.jewellery-rent-note {
	background: #f6ead4;
}

@media(max-width: 900px) {
	.jewellery-rent-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media(max-width: 620px) {
	.jewellery-rent-grid {
		grid-template-columns: 1fr;
	}
}
/* Align jewellery rental support cards */
.jewellery-rent-note .check-grid {
	max-width: 1180px;
	margin: 0 auto;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
}

.jewellery-rent-note .check-grid div {
	min-height: 132px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 18px;
	line-height: 1.45;
}

.jewellery-rent-note .check-grid i {
	flex: 0 0 auto;
}

@media(max-width: 900px) {
	.jewellery-rent-note .check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media(max-width: 560px) {
	.jewellery-rent-note .check-grid {
		grid-template-columns: 1fr;
	}
}
/* Nail service section without prices */
.service-layout-nail .nail-info-grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	align-items: stretch;
}

.nail-service-panel {
	display: flex;
	flex-direction: column;
}

.nail-service-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 22px;
	flex: 1;
}

.nail-service-options article {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 13px;
	align-items: start;
	min-height: 118px;
	padding: 18px;
	background: #fffaf1;
	border: 1px solid #ead7b3;
	border-left: 4px solid var(--gold);
}

.nail-service-options i {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	background: #111;
	color: var(--gold2);
	font-size: 17px;
}

.nail-service-options h3 {
	font: 700 24px 'Cormorant Garamond', serif;
	margin: 0 0 6px;
	color: #17130e;
}

.nail-service-options p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.55;
}

.service-layout-nail .nail-tips-panel {
	display: flex;
	flex-direction: column;
}

.service-layout-nail .nail-benefits {
	margin-top: auto;
}

@media(max-width: 1000px) {
	.service-layout-nail .nail-info-grid {
		grid-template-columns: 1fr;
	}
}

@media(max-width: 620px) {
	.nail-service-options {
		grid-template-columns: 1fr;
		padding: 16px;
	}

	.nail-service-options article {
		min-height: 0;
	}
}

/* Contact enquiry form and location layout */
.enquiry-form {
	background: #fff;
	border: 1px solid #e3c58d;
	box-shadow: 0 14px 34px rgba(107, 72, 16, .1);
	padding: 28px;
	display: grid;
	gap: 12px;
}

.enquiry-form h2 {
	font: 700 34px 'Cormorant Garamond';
	margin: 0 0 4px;
	color: #17130e;
}

.enquiry-form label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #6a5431;
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
	width: 100%;
	border: 1px solid #e6d2ad;
	background: #fffaf2;
	padding: 13px 14px;
	font: 500 14px Montserrat, sans-serif;
	color: #201811;
	outline: 0;
}

.enquiry-form textarea {
	resize: vertical;
	min-height: 112px;
}

.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus {
	border-color: #b9872f;
	box-shadow: 0 0 0 3px rgba(214, 173, 96, .18);
}

.enquiry-form .btn {
	justify-content: center;
	width: 100%;
	margin-top: 4px;
	border: 0;
	cursor: pointer;
}

.contact-location-section {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: 28px;
	align-items: stretch;
	padding-top: 0;
}

.location-info-card {
	background: #fff;
	border: 1px solid #e3c58d;
	box-shadow: 0 14px 34px rgba(107, 72, 16, .1);
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}

.location-info-card h2 {
	font: 700 34px 'Cormorant Garamond';
	margin: 0;
	color: #17130e;
}

.location-info-card p {
	display: flex;
	gap: 10px;
	margin: 0;
	line-height: 1.75;
	color: #4f453a;
}

.location-info-card p i {
	margin-top: 5px;
	color: #b9872f;
}

.contact-location-section .contact-map iframe {
	min-height: 390px;
}

.site-header nav > a.nav-enquiry {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 15px !important;
	border: 1px solid rgba(185, 135, 47, .42);
	background: #fffaf2;
	color: #8c601b;
	font-weight: 800;
}

.site-header nav > a.nav-enquiry:hover,
.site-header nav > a.nav-enquiry.active {
	background: #b9872f;
	color: #fff;
}

@media(max-width: 900px) {
	.contact-location-section {
		grid-template-columns: 1fr;
		padding-top: 0;
	}

	.enquiry-form,
	.location-info-card {
		padding: 22px;
	}

	.site-header nav > a.nav-enquiry {
		justify-content: center;
		margin-top: 12px;
		padding: 14px 18px !important;
		text-align: center;
	}
}

/* Enquiry and Offers navbar emphasis */
.site-header nav > a.nav-enquiry {
	background: linear-gradient(135deg, #f8db8d, #d6ad60 52%, #b9872f);
	color: #17130e;
	border-color: rgba(241, 204, 122, .78);
	box-shadow: 0 10px 24px rgba(214, 173, 96, .2);
}

.site-header nav > a.nav-offer {
	animation: offerPulse 1.65s ease-in-out infinite;
}

.site-header nav > a.nav-offer i {
	animation: offerIconBounce 1.25s ease-in-out infinite;
}

@keyframes offerIconBounce {
	0%, 100% { transform: rotate(0deg) scale(1); }
	35% { transform: rotate(-10deg) scale(1.16); }
	65% { transform: rotate(8deg) scale(1.08); }
}

/* Final navbar CTA polish */
.site-header nav > a.nav-enquiry {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 16px !important;
	border: 1px solid rgba(241, 204, 122, .78);
	border-radius: 999px;
	background: linear-gradient(135deg, #f8db8d, #d6ad60 52%, #b9872f);
	color: #17130e;
	font-weight: 800;
	box-shadow: 0 10px 24px rgba(214, 173, 96, .2);
	overflow: hidden;
}

.site-header nav > a.nav-enquiry i,
.site-header nav > a.nav-enquiry span,
.site-header nav > a.nav-enquiry {
	z-index: 1;
}

.site-header nav > a.nav-offer {
	animation: offerPulse 1.55s ease-in-out infinite;
}

.site-header nav > a.nav-offer::before {
	animation: offerShine 2.15s ease-in-out infinite;
}

@keyframes offerPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(241, 204, 122, .58), 0 10px 24px rgba(214, 173, 96, .22); transform: translateY(0) scale(1); }
	45% { box-shadow: 0 0 0 10px rgba(241, 204, 122, 0), 0 14px 34px rgba(214, 173, 96, .45); transform: translateY(-1px) scale(1.04); }
	70% { transform: translateY(0) scale(1.01); }
}

@keyframes offerShine {
	0% { left: -75%; opacity: 0; }
	18% { opacity: 1; }
	58%, 100% { left: 130%; opacity: 0; }
}

@media(max-width: 900px) {
	.site-header nav > a.nav-enquiry {
		justify-content: center;
		margin-top: 12px;
		padding: 14px 18px !important;
		text-align: center;
	}
}

.enquiry-status {
	min-height: 20px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: #6a5431;
	text-align: center;
}

/* Equal height contact enquiry layout */
.contact-layout {
	align-items: stretch;
}

.contact-layout > div:first-child,
.enquiry-form {
	height: 100%;
	min-height: 520px;
}

.contact-layout > div:first-child {
	background: #fff;
	border: 1px solid #e3c58d;
	box-shadow: 0 14px 34px rgba(107, 72, 16, .1);
	padding: 28px;
	display: flex;
	flex-direction: column;
}

.contact-layout > div:first-child h2 {
	margin-bottom: 0;
}

.contact-layout .contact-cards {
	flex: 1;
	align-content: stretch;
	margin-top: 24px;
}

.contact-layout .contact-cards > a {
	height: 100%;
}

.enquiry-form {
	align-content: start;
}

@media(max-width: 900px) {
	.contact-layout > div:first-child,
	.enquiry-form {
		height: auto;
		min-height: 0;
	}
}

/* Prevent contact card text overflow */
.contact-layout .contact-cards > a,
.contact-layout .contact-cards > div {
	min-width: 0;
	overflow: hidden;
}

.contact-layout .contact-cards > a > div,
.contact-layout .contact-cards > div > div {
	min-width: 0;
	max-width: 100%;
}

.contact-layout .contact-cards span {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.contact-layout .contact-cards i {
	flex: 0 0 34px;
}

/* Consistent footer contact address color */
.footer-contact p,
.footer-contact p i {
	color: #ddd;
}

/* Keep all frontend form placeholders normal, not label-bold */
input,
textarea,
select {
  font-weight: 400;
}
input::placeholder,
textarea::placeholder {
  color: #8b7b62;
  font-weight: 400;
  opacity: 1;
}
select option {
  font-weight: 400;
}

/* Final frontend header size and alignment */
@media (min-width: 901px) {
  .site-header {
    padding-left: 54px;
    padding-right: 24px;
    grid-template-columns: auto 1fr;
    column-gap: 42px;
  }

  .site-header .brand img {
    width: 148px;
    max-height: 108px;
  }

  .site-header nav {
    justify-content: flex-start;
    margin-left: auto;
    padding-left: 25px;
    width: 100%;
  }
}

@media (max-width: 900px) {
  .site-header .brand img {
    width: 112px;
    max-height: 88px;
  }
}

/* Mobile home hero: keep buttons one row and avoid covering faces */
@media(max-width: 560px) {
  .hero-slider {
    min-height: 560px;
    height: 74vh;
  }

  .hero-slider .hero-slide:nth-child(n) {
    align-items: flex-end;
    padding: 0 14px 58px;
  }

  .hero-slider .hero-slide:nth-child(1),
  .hero-slider .hero-slide:nth-child(3) {
    background-position: 38% center !important;
  }

  .hero-slider .hero-slide:nth-child(2) {
    background-position: 62% center !important;
  }

  .hero-slider .hero-slide:nth-child(n) .hero-copy {
    width: min(100%, 390px);
    margin: 0 auto;
    padding: 13px 14px;
    background: rgba(7, 7, 7, .72);
  }

  .hero-slider h1 {
    font-size: 29px;
    line-height: 1.02;
    margin: 8px 0 7px;
  }

  .hero-slider p {
    font-size: 13px;
    line-height: 1.45;
    margin: 0 0 10px;
  }

  .hero-slider .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    flex-wrap: nowrap;
  }

  .hero-slider .actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 8px;
    font-size: 11px;
    white-space: nowrap;
  }
}

/* Force hero slider CTA buttons into one row */
.hero-slider .actions {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 10px;
}
.hero-slider .actions .btn {
  flex: 0 1 auto;
  white-space: nowrap;
}

@media(max-width: 560px) {
  .hero-slider .actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-wrap: nowrap !important;
    gap: 7px;
  }

  .hero-slider .actions .btn {
    width: 100%;
    min-width: 0;
    padding-left: 6px;
    padding-right: 6px;
    font-size: 10px;
    white-space: nowrap;
  }
}

/* Mobile hero face-safe text placement */
@media(max-width: 560px) {
  .hero-slider {
    min-height: 620px;
    height: 78vh;
  }

  .hero-slider .hero-slide:nth-child(n) {
    padding: 0 12px 34px !important;
    align-items: flex-end !important;
    background-position: center top !important;
  }

  .hero-slider .hero-slide:nth-child(1),
  .hero-slider .hero-slide:nth-child(3) {
    background-position: 42% top !important;
  }

  .hero-slider .hero-slide:nth-child(2) {
    background-position: 58% top !important;
  }

  .hero-slider .hero-slide:nth-child(n) .hero-copy {
    width: min(100%, 360px) !important;
    padding: 12px 13px !important;
    margin: 0 auto !important;
    background: rgba(7, 7, 7, .66) !important;
  }

  .hero-slider h1 {
    font-size: 25px !important;
    margin: 6px 0 5px !important;
  }

  .hero-slider p {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  .hero-slider .actions .btn {
    min-height: 35px !important;
    font-size: 9.5px !important;
  }

  .hero-dots {
    bottom: 8px !important;
  }
}

/* Final override: mobile hero buttons must stay side by side */
@media(max-width: 560px) {
  .hero-slider .hero-copy .actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
  }

  .hero-slider .hero-copy .actions > a,
  .hero-slider .hero-copy .actions > .btn {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 34px !important;
    padding: 0 5px !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }
}

/* Brighter logo-like gold accents */
.btn,
.admin-btn,
.demo-fill,
.site-header nav > a.nav-enquiry,
.site-header nav > a.nav-offer {
  background-image: linear-gradient(135deg, #f4c542 0%, #ffe88a 52%, #d99a16 100%);
}
.btn,
.admin-btn,
.demo-fill {
  box-shadow: 0 14px 30px rgba(244, 197, 66, .34);
}

/* Final frontend logo circle and readable gold text */
:root {
  --gold-text: #a66f12;
}
.site-header .brand img {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: contain;
}
@media (min-width: 901px) {
  .site-header .brand img {
    width: 164px !important;
    height: 164px !important;
    max-height: none !important;
  }
}
@media (max-width: 900px) {
  .site-header .brand img {
    width: 122px !important;
    height: 122px !important;
    max-height: none !important;
  }
}
.eyebrow,
.section-title .eyebrow,
.footer-grid h3,
.footer-follow h3,
.footer-contact h3,
.service-catalog .eyebrow,
.about-intro-copy .eyebrow,
.skin-intro .eyebrow,
.makeup-panel-heading .eyebrow,
.offer-card strong,
.services-slider-section .service-card span,
.service-card span {
  color: var(--gold-text) !important;
}
footer .footer-grid h3,
footer .footer-follow h3,
footer .footer-contact h3 {
  color: #f4c542 !important;
}

/* Final frontend navbar menu emphasis */
@media (min-width: 901px) {
  .site-header nav {
    padding-left: 45px !important;
  }
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: 15px !important;
    font-weight: 800 !important;
  }
}

/* Keep frontend logo inside navbar */
@media (min-width: 901px) {
  .site-header .brand img {
    width: 118px !important;
    height: 118px !important;
  }
}
@media (max-width: 900px) {
  .site-header .brand img {
    width: 92px !important;
    height: 92px !important;
  }
}

/* Footer contact address alignment */
.footer-contact .footer-address {
  display: grid !important;
  grid-template-columns: 19px minmax(0, 1fr);
  column-gap: 6px;
  align-items: start;
}
.footer-contact .footer-address i {
  color: var(--gold) !important;
  margin-right: 0 !important;
  padding-top: 4px;
}
.footer-contact .footer-address span {
  display: block;
  min-width: 0;
}

/* Offers page text-only banner */
.offers-text-banner {
  background-image: none !important;
  background: #080808 !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}
.offers-text-banner::before {
  display: none !important;
}
.offers-text-banner p {
  margin-left: auto;
  margin-right: auto;
}


/* Final desktop header menu start alignment */
@media (min-width: 901px) {
  .site-header {
    justify-content: flex-start !important;
    gap: 42px !important;
  }
  .site-header nav {
    margin-left: 0 !important;
    padding-left: 0 !important;
    gap: 22px !important;
  }
}


/* Final desktop header menu right shift */
@media (min-width: 901px) {
  .site-header {
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .site-header nav {
    margin-left: 72px !important;
    padding-left: 0 !important;
    gap: 22px !important;
  }
}


/* Final desktop header menu starts near current Services position */
@media (min-width: 901px) {
  .site-header nav {
    margin-left: 280px !important;
  }
}


/* Final desktop menu slight right shift and larger type */
@media (min-width: 901px) {
  .site-header nav {
    margin-left: 310px !important;
  }
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: 16px !important;
  }
}


/* Final desktop header menu font increase */
@media (min-width: 901px) {
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: 17px !important;
  }
}


/* Final desktop header menu font fit */
@media (min-width: 901px) {
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: 15.5px !important;
    white-space: nowrap !important;
  }
}


/* Hide third current offer card on frontend */
.offers-section .offers-grid .offer-card:nth-child(3) {
  display: none !important;
}


/* Center remaining current offer cards */
.offers-section .offers-grid {
  justify-content: center !important;
}
.offers-section .offers-grid .offer-card {
  max-width: 390px;
  width: 100%;
}
@media (min-width: 901px) {
  .offers-section .offers-grid {
    grid-template-columns: repeat(2, minmax(280px, 390px)) !important;
  }
}


/* Remove extra blank space in testimonial cards */
.testimonial-card p,
.testimonial-slider .testimonial-card p {
  min-height: 0 !important;
  margin-bottom: 16px !important;
}
.testimonial-card h3,
.testimonial-slider .testimonial-card h3 {
  margin-top: 8px !important;
}


/* Frontend responsive overflow fix */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
body > * {
  max-width: 100%;
}
.site-header {
  max-width: 100vw;
  overflow: visible;
}
@media (min-width: 901px) {
  .site-header {
    display: flex !important;
    justify-content: flex-start !important;
    padding-left: clamp(28px, 4vw, 62px) !important;
    padding-right: clamp(18px, 3vw, 46px) !important;
  }
  .site-header nav {
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 210px) !important;
    margin-left: clamp(90px, 15vw, 250px) !important;
    padding-left: 0 !important;
    gap: clamp(14px, 1.45vw, 22px) !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;
  }
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: clamp(13px, 1.05vw, 15.5px) !important;
    white-space: nowrap !important;
  }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .site-header nav {
    margin-left: clamp(42px, 6vw, 88px) !important;
    gap: 12px !important;
  }
  .site-header nav > a,
  .site-header .dropdown > button {
    font-size: 13px !important;
  }
  .site-header nav > a.nav-enquiry,
  .site-header nav > a.nav-offer {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (max-width: 900px) {
  .site-header {
    overflow: visible;
  }
  .site-header nav {
    max-width: 100vw !important;
    margin-left: 0 !important;
    box-sizing: border-box;
  }
}


/* Frontend footer full-width responsive fix */
footer {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
.footer-grid,
.footer-grid-five {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.footer-grid-five {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .7fr) minmax(0, .85fr) minmax(0, 1.3fr) !important;
  gap: 28px !important;
}
.footer-grid-five > div,
.footer-grid-five a,
.footer-grid-five p {
  min-width: 0 !important;
  max-width: 100% !important;
}
.footer-grid-five a,
.footer-grid-five p,
.footer-address span {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 1150px) {
  .footer-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  .footer-grid-five {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}


/* Mobile footer quick links and services in one row */
@media (max-width: 620px) {
  .footer-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .footer-grid-five > .footer-about,
  .footer-grid-five > .footer-contact {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 380px) {
  .footer-grid-five {
    grid-template-columns: 1fr !important;
  }
  .footer-grid-five > * {
    grid-column: auto !important;
  }
}

/* Mobile hygiene cards two per row */
@media (max-width: 650px) {
  .hygiene-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .hygiene-cards article {
    padding: 22px 12px !important;
  }
  .hygiene-cards i {
    width: 48px !important;
    height: 48px !important;
    font-size: 18px !important;
    margin-bottom: 12px !important;
  }
  .hygiene-cards h3 {
    font-size: 20px !important;
  }
  .hygiene-cards p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
}


/* Final frontend CTA alignment: keep page buttons compact and in one row */
.actions,
.contact-strip .actions,
.skin-actions,
.wax-contact-actions,
.academy-contact-actions,
.offer-contact-strip .actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
}

.actions .btn,
.contact-strip .btn,
.skin-actions .btn,
.wax-contact-actions .btn,
.academy-contact-actions .btn,
.offer-contact-strip .actions .btn {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.enquiry-form .btn {
  width: auto !important;
  align-self: flex-start !important;
}

@media (max-width: 560px) {
  .actions,
  .contact-strip .actions,
  .skin-actions,
  .wax-contact-actions,
  .academy-contact-actions,
  .offer-contact-strip .actions {
    justify-content: flex-start !important;
    overflow-x: auto;
    max-width: 100%;
  }

  .actions .btn,
  .contact-strip .btn,
  .skin-actions .btn,
  .wax-contact-actions .btn,
  .academy-contact-actions .btn,
  .offer-contact-strip .actions .btn {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Offers page card alignment fix */
.offers-section .offers-grid {
  justify-items: center !important;
}

.offers-section .offers-grid .offer-card {
  justify-self: center !important;
  overflow: hidden !important;
}

.offers-section .offers-grid .offer-card > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto;
}

@media (max-width: 820px) {
  .offers-section .offers-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .offers-section .offers-grid .offer-card {
    width: min(100%, 390px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Final frontend responsive card grids */
.service-grid,
.services-showcase-grid,
.offers-section .offers-grid,
.jewellery-rent-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  align-items: stretch !important;
}

.values-grid,
.testimonial-grid,
.price-grid,
.icon-grid,
.check-grid,
.hygiene-cards,
.offer-steps,
.jewellery-rent-note .check-grid,
.nail-service-options,
.nail-mini-info,
.nail-benefits,
.wax-price-columns,
.wax-benefits-row,
.wax-care-grid,
.contact-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)) !important;
  align-items: stretch !important;
}

.service-card,
.offer-card,
.jewellery-rent-card,
.values-grid article,
.testimonial-card,
.price-grid > *,
.icon-grid > *,
.check-grid > *,
.hygiene-cards article,
.offer-steps article,
.nail-service-options article,
.nail-mini-info article,
.nail-benefits div,
.wax-price-card,
.wax-benefit,
.wax-care-card,
.contact-cards > a,
.contact-cards > div {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

@media (max-width: 620px) {
  .service-grid,
  .services-showcase-grid,
  .offers-section .offers-grid,
  .jewellery-rent-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
    gap: 12px !important;
  }

  .values-grid,
  .testimonial-grid,
  .price-grid,
  .icon-grid,
  .check-grid,
  .hygiene-cards,
  .offer-steps,
  .jewellery-rent-note .check-grid,
  .nail-service-options,
  .nail-mini-info,
  .nail-benefits,
  .wax-price-columns,
  .wax-benefits-row,
  .wax-care-grid,
  .contact-cards {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)) !important;
    gap: 10px !important;
  }

  .service-card img,
  .services-showcase-grid .service-card img,
  .offer-card img,
  .jewellery-rent-card img {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  .service-card div,
  .services-showcase-grid .service-card > div,
  .offer-card-copy,
  .jewellery-rent-card > div,
  .values-grid article,
  .testimonial-card,
  .price-grid > *,
  .icon-grid > *,
  .check-grid > *,
  .hygiene-cards article,
  .offer-steps article,
  .nail-service-options article,
  .nail-mini-info article,
  .wax-price-card,
  .wax-care-card,
  .contact-cards > a,
  .contact-cards > div {
    padding: 14px !important;
  }

  .service-card h3,
  .services-showcase-grid .service-card h3,
  .offer-card h3,
  .jewellery-rent-card h3,
  .values-grid h3,
  .hygiene-cards h3,
  .offer-steps h3,
  .nail-service-options h3,
  .nail-mini-info h3,
  .wax-price-card h3,
  .wax-care-card h3 {
    font-size: clamp(18px, 5vw, 23px) !important;
    line-height: 1.1 !important;
  }

  .service-card p,
  .services-showcase-grid .service-card p,
  .offer-card p,
  .jewellery-rent-card p,
  .values-grid p,
  .hygiene-cards p,
  .offer-steps p,
  .nail-service-options p,
  .nail-mini-info p,
  .wax-price-card p,
  .wax-care-card p,
  .contact-cards span {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 380px) {
  .service-grid,
  .services-showcase-grid,
  .offers-section .offers-grid,
  .jewellery-rent-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final mobile card column tuning */
@media (max-width: 620px) {
  .service-grid,
  .services-showcase-grid,
  .offers-section .offers-grid,
  .jewellery-rent-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)) !important;
  }

  .contact-cards > a,
  .contact-cards > div,
  .contact-cards > a:first-child,
  .contact-cards > a:nth-child(2),
  .contact-cards > div:last-child {
    grid-column: auto !important;
  }
}

/* Final testimonials columns: 3 desktop, 2 tablet, 1 mobile */
.testimonial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
  .testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .testimonial-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final home testimonial slider columns: 3 desktop, 2 tablet, 1 mobile */
.testimonial-slider-wrap {
  max-width: 1180px !important;
}

.testimonial-slider {
  display: flex !important;
  gap: 24px !important;
}

.testimonial-slider .testimonial-card {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  min-width: calc((100% - 48px) / 3) !important;
  max-width: calc((100% - 48px) / 3) !important;
}

@media (max-width: 1000px) {
  .testimonial-slider .testimonial-card {
    flex-basis: calc((100% - 24px) / 2) !important;
    min-width: calc((100% - 24px) / 2) !important;
    max-width: calc((100% - 24px) / 2) !important;
  }
}

@media (max-width: 767px) {
  .testimonial-slider {
    gap: 0 !important;
  }

  .testimonial-slider .testimonial-card {
    flex-basis: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}

/* Mobile wax help card: icon-only actions without scrollbar */
@media (max-width: 560px) {
  .wax-contact-card .wax-contact-actions {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    overflow-x: visible !important;
  }

  .wax-contact-card .wax-contact-actions .btn {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    flex: 0 0 44px !important;
    font-size: 0 !important;
    border-radius: 4px !important;
  }

  .wax-contact-card .wax-contact-actions .btn i {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }
}

/* Mobile about values: keep three guide cards in one row */
@media (max-width: 620px) {
  .values-section .values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .values-section .values-grid article {
    min-height: 0 !important;
    padding: 12px 8px !important;
    text-align: center !important;
  }

  .values-section .value-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 15px !important;
    margin: 0 auto 8px !important;
  }

  .values-section .values-grid h3 {
    font-size: 18px !important;
    line-height: 1.05 !important;
    margin: 0 0 6px !important;
  }

  .values-section .values-grid p {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
}

/* Final nail page alignment: two images left, services and tips start at top */
.service-layout-nail .nail-reference-layout {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.service-layout-nail .nail-image-strip {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin: 0 !important;
  align-self: start !important;
}

.service-layout-nail .nail-image-strip figure {
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 !important;
}

.service-layout-nail .nail-info-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.service-layout-nail .nail-service-panel,
.service-layout-nail .nail-tips-panel {
  height: auto !important;
  align-self: start !important;
}

.service-layout-nail .nail-tips-list {
  flex: 0 0 auto !important;
}

@media (max-width: 1000px) {
  .service-layout-nail .nail-reference-layout {
    grid-template-columns: 1fr !important;
  }

  .service-layout-nail .nail-image-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .service-layout-nail .nail-image-strip figure {
    aspect-ratio: 4 / 3 !important;
  }

  .service-layout-nail .nail-info-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final nail page order: tips beside the nail images, services below */
.service-layout-nail .nail-reference-layout {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.service-layout-nail .nail-reference-layout > .nail-image-strip {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

.service-layout-nail .nail-reference-layout > .nail-tips-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  height: auto !important;
}

.service-layout-nail .nail-reference-layout > .nail-info-grid {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  margin-top: 0 !important;
}

.service-layout-nail .nail-reference-layout > .nail-info-grid .nail-service-panel {
  width: 100% !important;
}

@media (max-width: 760px) {
  .service-layout-nail .nail-reference-layout {
    grid-template-columns: 1fr !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-image-strip,
  .service-layout-nail .nail-reference-layout > .nail-tips-panel,
  .service-layout-nail .nail-reference-layout > .nail-info-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* Remove blank top space on nail showcase */
.service-layout-nail .nail-showcase {
  padding-top: 24px !important;
}

.service-layout-nail .nail-reference-layout {
  margin-top: 0 !important;
}

/* Final nail service gap cleanup: keep layout, remove white pockets */
.service-layout-nail main {
  background: #fffaf1 !important;
}

.service-layout-nail .nail-showcase {
  padding: 24px 7vw 28px !important;
  background: #fffaf1 !important;
}

.service-layout-nail .nail-reference-layout {
  gap: 18px !important;
  padding: 18px !important;
  background: #fffaf1 !important;
  border-color: #e5c98f !important;
  box-shadow: none !important;
}

.service-layout-nail .nail-reference-layout > .nail-image-strip,
.service-layout-nail .nail-reference-layout > .nail-tips-panel {
  min-height: 100% !important;
}

.service-layout-nail .nail-reference-layout > .nail-image-strip {
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

.service-layout-nail .nail-reference-layout > .nail-tips-panel,
.service-layout-nail .nail-reference-layout > .nail-info-grid .nail-service-panel {
  background: #fff !important;
}

.service-layout-nail .nail-reference-layout > .nail-info-grid {
  margin-top: 0 !important;
}

.service-layout-nail .nail-service-options {
  align-items: stretch !important;
}

.service-layout-nail .contact-strip {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  .service-layout-nail .nail-showcase {
    padding: 18px 5vw 22px !important;
  }

  .service-layout-nail .nail-reference-layout {
    gap: 14px !important;
    padding: 14px !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-image-strip {
    grid-template-rows: none !important;
  }
}

/* Final jewellery rental image-only gallery with popup and pagination */
.jewellery-rental-page .jewellery-rent-section {
  background: #fffaf0 !important;
  padding-top: 48px !important;
}

.jewellery-rental-page .jewellery-rent-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

.jewellery-rental-page .jewellery-rent-card {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #ead7b3 !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .08) !important;
  overflow: hidden !important;
}

.jewellery-rental-page .jewellery-image-button {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #f6ead4 !important;
  cursor: pointer !important;
}

.jewellery-rental-page .jewellery-image-button img,
.jewellery-rental-page .jewellery-rent-card img {
  width: 100% !important;
  aspect-ratio: 4 / 4.6 !important;
  height: auto !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}

.jewellery-rental-page .jewellery-image-button:hover img {
  transform: scale(1.04) !important;
}

.jewellery-rental-page .jewellery-card-action {
  padding: 14px !important;
  display: flex !important;
  justify-content: center !important;
  background: #fff !important;
}

.jewellery-rental-page .jewellery-card-action .btn {
  width: 100% !important;
  max-width: 170px !important;
  min-height: 42px !important;
  padding: 11px 16px !important;
  font-size: 13px !important;
}

.jewellery-rental-page .jewellery-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.jewellery-rental-page .jewellery-pagination button {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #bd8730 !important;
  background: #fff !important;
  color: #17130e !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.jewellery-rental-page .jewellery-page-numbers {
  display: flex !important;
  gap: 8px !important;
}

.jewellery-rental-page .jewellery-pagination button.active,
.jewellery-rental-page .jewellery-pagination button:hover:not(:disabled) {
  background: #17130e !important;
  color: #fff !important;
  border-color: #17130e !important;
}

.jewellery-rental-page .jewellery-pagination button:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

.jewellery-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 28px !important;
  background: rgba(8, 8, 8, .86) !important;
}

.jewellery-lightbox.open {
  display: flex !important;
}

.jewellery-lightbox figure {
  width: min(760px, 92vw) !important;
  max-height: 78vh !important;
  margin: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  border: 1px solid #e5c98f !important;
}

.jewellery-lightbox img {
  width: 100% !important;
  max-height: 66vh !important;
  object-fit: contain !important;
  background: #f6ead4 !important;
}

.jewellery-lightbox figcaption {
  margin-top: 10px !important;
  text-align: center !important;
  color: #17130e !important;
  font-weight: 800 !important;
}

.jewellery-lightbox-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid #e5c98f !important;
  background: #fff !important;
  color: #17130e !important;
  cursor: pointer !important;
  font-size: 18px !important;
}

body.jewellery-lightbox-open {
  overflow: hidden !important;
}

@media (max-width: 980px) {
  .jewellery-rental-page .jewellery-rent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .jewellery-rental-page .jewellery-rent-section {
    padding-top: 28px !important;
  }

  .jewellery-rental-page .jewellery-rent-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .jewellery-lightbox {
    padding: 18px !important;
  }
}

.jewellery-rental-page .jewellery-rent-card[hidden] {
  display: none !important;
}


.jewellery-lightbox figure {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.jewellery-lightbox img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 68vh !important;
  margin: 0 auto !important;
}

.jewellery-lightbox-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 1px solid #e5c98f !important;
  background: #fff !important;
  color: #17130e !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
  z-index: 2 !important;
}

.jewellery-lightbox-nav:hover {
  background: #17130e !important;
  color: #fff !important;
}

.jewellery-lightbox-prev {
  left: max(18px, calc(50% - 470px)) !important;
}

.jewellery-lightbox-next {
  right: max(18px, calc(50% - 470px)) !important;
}

@media (max-width: 640px) {
  .jewellery-lightbox figure {
    width: calc(100vw - 76px) !important;
    padding: 8px !important;
  }

  .jewellery-lightbox-nav {
    width: 40px !important;
    height: 40px !important;
  }

  .jewellery-lightbox-prev {
    left: 8px !important;
  }

  .jewellery-lightbox-next {
    right: 8px !important;
  }
}

.jewellery-lightbox figure {
  width: min(520px, calc(100vw - 112px)) !important;
  height: min(720px, calc(100vh - 96px)) !important;
  max-height: none !important;
  padding: 10px !important;
}

.jewellery-lightbox img {
  width: 100% !important;
  height: calc(100% - 34px) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

@media (max-width: 640px) {
  .jewellery-lightbox figure {
    width: calc(100vw - 74px) !important;
    height: min(660px, calc(100vh - 92px)) !important;
  }
}

/* Nail page final alignment: images left, services right, tips below */
.service-layout-nail .nail-reference-layout {
  display: grid !important;
  grid-template-columns: minmax(190px, 280px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

.service-layout-nail .nail-reference-layout > .nail-image-strip {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  min-height: 0 !important;
  align-self: start !important;
}

.service-layout-nail .nail-reference-layout > .nail-info-grid {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  min-height: 0 !important;
  align-self: start !important;
}

.service-layout-nail .nail-reference-layout > .nail-tips-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}

.service-layout-nail .nail-reference-layout > .nail-info-grid .nail-service-panel {
  height: auto !important;
  min-height: 0 !important;
}

@media (max-width: 760px) {
  .service-layout-nail .nail-reference-layout {
    grid-template-columns: 1fr !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-image-strip,
  .service-layout-nail .nail-reference-layout > .nail-info-grid,
  .service-layout-nail .nail-reference-layout > .nail-tips-panel {
    grid-column: 1 !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-image-strip {
    grid-row: 1 !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-info-grid {
    grid-row: 2 !important;
  }

  .service-layout-nail .nail-reference-layout > .nail-tips-panel {
    grid-row: 3 !important;
  }
}

/* Nail services card alignment: keep icons and copy tidy on desktop and mobile */
.service-layout-nail .nail-service-options {
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  align-items: stretch !important;
}

.service-layout-nail .nail-service-options article {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 14px !important;
  min-height: 0 !important;
}

.service-layout-nail .nail-service-options article > i {
  width: 46px !important;
  height: 46px !important;
  line-height: 1 !important;
  flex: 0 0 46px !important;
}

.service-layout-nail .nail-service-options article > div {
  min-width: 0 !important;
}

.service-layout-nail .nail-service-options h3 {
  margin: 0 0 5px !important;
  line-height: 1.08 !important;
}

.service-layout-nail .nail-service-options p {
  line-height: 1.55 !important;
}

@media (max-width: 980px) {
  .service-layout-nail .nail-service-options {
    grid-template-columns: 1fr !important;
  }
}

/* Jewellery mobile gallery: image-only 2x2 pages */
@media (max-width: 760px) {
  .jewellery-rental-page .jewellery-rent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .jewellery-rental-page .jewellery-image-button img,
  .jewellery-rental-page .jewellery-rent-card img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
}

/* Home Why choose us: keep two cards per row */
.why .icon-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

@media (max-width: 620px) {
  .why .icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .why .icon-grid article {
    padding: 18px 10px !important;
  }

  .why .icon-grid i {
    font-size: 26px !important;
  }

  .why .icon-grid h3 {
    font-size: clamp(17px, 4.8vw, 21px) !important;
    line-height: 1.08 !important;
  }

  .why .icon-grid p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

/* Mobile testimonials: show one complete card without clipped stars */
@media (max-width: 767px) {
  .testimonial-slider-wrap {
    width: 100% !important;
    max-width: calc(100vw - 28px) !important;
    margin-inline: auto !important;
    overflow: hidden !important;
  }

  .testimonial-slider {
    gap: 0 !important;
  }

  .testimonial-slider .testimonial-card {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 24px 18px !important;
    overflow: visible !important;
  }

  .testimonial-card .stars {
    justify-content: center !important;
    flex-wrap: nowrap !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
}

/* Gallery mobile: 6 images per page as 2 columns x 3 rows */
@media (max-width: 760px) {
  .gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    columns: auto !important;
    column-gap: 0 !important;
    gap: 10px !important;
  }

  .gallery-item {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    margin: 0 !important;
  }

  .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
}

/* Home Why choose us desktop: all cards in one row */
@media (min-width: 621px) {
  .why .icon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-width: 1180px !important;
    align-items: stretch !important;
  }

  .why .icon-grid article {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 230px !important;
  }

  .why .icon-grid h3 {
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }

  .why .icon-grid p {
    margin-top: auto !important;
    text-align: center !important;
  }
}



/* Inline separate phone links inside one Call row */
.contact-cards > .contact-phone-card {
  grid-column: 1 / -1;
}

.contact-phone-links a {
  display: inline;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.contact-phone-links a:hover {
  color: var(--gold);
  transform: none !important;
  box-shadow: none !important;
}

.footer-contact .footer-phone-line {
  display: grid !important;
  grid-template-columns: 19px minmax(0, 1fr);
  column-gap: 6px;
  align-items: start;
}

.footer-contact .footer-phone-line i {
  margin-right: 0 !important;
  padding-top: 4px;
}

.footer-contact .footer-phone-line span a {
  display: inline;
  margin: 0;
  color: #f0e9dd;
}

.footer-contact .footer-phone-line span a:hover {
  color: var(--gold);
}

/* Mobile hero face clearance: keep copy low and compact over the image */
@media(max-width: 560px) {
  .hero-slider .hero-slide:nth-child(n) {
    padding: 0 12px 18px !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
  }

  .hero-slider .hero-slide:nth-child(n) .hero-copy {
    width: min(100%, 344px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 10px 12px !important;
    margin: 0 auto !important;
    background: rgba(7, 7, 7, .72) !important;
  }

  .hero-slider .eyebrow {
    font-size: 8.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }

  .hero-slider h1 {
    font-size: clamp(21px, 6.7vw, 29px) !important;
    line-height: 1.06 !important;
    margin: 0 0 6px !important;
  }

  .hero-slider p {
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
  }

  .hero-slider .hero-copy .actions {
    gap: 7px !important;
  }

  .hero-slider .hero-copy .actions > a,
  .hero-slider .hero-copy .actions > .btn {
    min-height: 32px !important;
    padding: 8px 9px !important;
    font-size: 9px !important;
  }

  .hero-dots {
    bottom: 5px !important;
  }
}

/* Desktop hero slide 2: move copy away from subject */
@media(min-width: 901px) {
  .hero-slider .hero-slide:nth-child(2) {
    justify-content: flex-end !important;
    text-align: left !important;
  }

  .hero-slider .hero-slide:nth-child(2) .hero-copy {
    width: min(38vw, 520px) !important;
    margin-left: auto !important;
  }
}

/* Desktop hero slide 2: match slide 1 and 3 right-side copy placement */
@media(min-width: 901px) {
  .hero-slider .hero-slide:nth-child(2) .hero-copy {
    width: min(42vw, 560px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* Mobile hero: hide supporting paragraph text only */
@media(max-width: 560px) {
  .hero-slider p {
    display: none !important;
  }
}

/* Mobile and tablet hero: remove supporting paragraph text */
@media(max-width: 900px) {
  .hero-slider .hero-copy p,
  .hero-slider .hero-slide .hero-copy p {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}

/* Mobile/tablet hero slider: remove all supporting paragraph lines */
@media(max-width: 1024px) {
  section.hero-slider .hero-slide .hero-copy > p {
    display: none !important;
  }
}

/* Mobile/tablet hero slider: buttons only, no text panel over faces */
@media(max-width: 1024px) {
  section.hero-slider .hero-slide .hero-copy > .eyebrow,
  section.hero-slider .hero-slide .hero-copy > h1,
  section.hero-slider .hero-slide .hero-copy > p {
    display: none !important;
  }

  section.hero-slider .hero-slide .hero-copy {
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }

  section.hero-slider .hero-slide .hero-copy .actions {
    margin: 0 !important;
  }
}

/* Mobile/tablet hero slider: lighter image overlays so faces stay visible */
@media(max-width: 1024px) {
  section.hero-slider .hero-slide:nth-child(1) {
    background-image: linear-gradient(90deg, rgba(5, 5, 5, .18) 0%, rgba(5, 5, 5, .08) 48%, rgba(5, 5, 5, .24) 100%), url('image/g13.jpeg') !important;
  }

  section.hero-slider .hero-slide:nth-child(2) {
    background-image: linear-gradient(90deg, rgba(5, 5, 5, .16) 0%, rgba(5, 5, 5, .06) 48%, rgba(5, 5, 5, .22) 100%), url('image/g17.jpeg') !important;
  }

  section.hero-slider .hero-slide:nth-child(3) {
    background-image: linear-gradient(90deg, rgba(5, 5, 5, .18) 0%, rgba(5, 5, 5, .08) 48%, rgba(5, 5, 5, .24) 100%), url('image/g12.jpeg') !important;
  }
}

/* Contact page: keep phone numbers regular weight */
.contact-phone-links,
.contact-phone-links a {
  font-weight: 400 !important;
}

/* Footer contact: keep phone icon gold like other contact icons */
.footer-contact .footer-phone-line i {
  color: var(--gold) !important;
}

/* Mobile home Why choose us: force two cards per row */
@media(max-width: 620px) {
  section.why .icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  section.why .icon-grid article {
    min-width: 0 !important;
    padding: 16px 8px !important;
  }
}

/* Mobile contact page: keep call numbers in one row */
@media(max-width: 560px) {
  .contact-phone-card {
    gap: 12px !important;
  }

  .contact-phone-card > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  .contact-phone-links {
    display: block !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: clamp(10px, 3.1vw, 12px) !important;
    line-height: 1.3 !important;
  }

  .contact-phone-links a {
    white-space: nowrap !important;
  }
}

/* Mobile contact cards: full-width call row, email second row */
@media(max-width: 560px) {
  .contact-layout .contact-cards {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .contact-layout .contact-cards > .contact-phone-card {
    order: 1 !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 12px 10px !important;
    overflow: visible !important;
  }

  .contact-layout .contact-cards > a:first-of-type {
    order: 2 !important;
    grid-column: 1 / -1 !important;
  }

  .contact-layout .contact-cards > a:nth-of-type(2) {
    order: 3 !important;
    grid-column: 1 / -1 !important;
  }

  .contact-layout .contact-cards > a:nth-of-type(3) {
    order: 4 !important;
    grid-column: 1 / -1 !important;
  }

  .contact-layout .contact-phone-card i {
    width: 24px !important;
    flex: 0 0 24px !important;
    font-size: 20px !important;
  }

  .contact-layout .contact-phone-card b {
    margin-bottom: 2px !important;
  }

  .contact-layout .contact-phone-links {
    display: block !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    font-size: clamp(9px, 2.75vw, 11px) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  .contact-layout .contact-phone-links a {
    white-space: nowrap !important;
  }
}

/* Mobile/tablet first hero slide: center the single contact CTA only. */
@media(max-width: 1024px) {
  section.hero-slider .hero-slide:nth-child(1) .hero-copy .actions {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  section.hero-slider .hero-slide:nth-child(1) .hero-copy .actions > .btn {
    width: auto !important;
    min-width: 150px !important;
  }
}
