:root {
    --cream: #F9FBFD;
    --warm: #EDF5FC;
    --ink: #111827;
    --sepia: #013A66;
    --gold: #0EA5E9;
    --blush: #E0F2FE;
    --sage: #3B82F6;
    --rust: #0363AF;
    --light-ink: #374151;
    --border: #C7DDF5;

    --font-display: 'Manrope', sans-serif;
    --font-body: 'Manrope', sans-serif;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--cream);
	color: var(--ink);
	font-family: var(--font-body);
	overflow-x: hidden;
}

/* MARQUEE */
.marquee-bar {
	background: var(--ink);
	color: var(--gold);
	padding: 8px 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 2px;
	overflow: hidden;
	white-space: nowrap;
}

.marquee-inner {
	display: inline-block;
	animation: marquee 28s linear infinite;
}

.marquee-inner span {
	margin: 0 48px;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* NAVBAR */
.navbar-main {
	background: rgba(250, 248, 244, 0.96);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--border);
	padding: 14px 0;
	position: sticky;
	top: 0;
	z-index: 999;
	transition: box-shadow .3s;
}

.navbar-main.scrolled {
	box-shadow: 0 4px 30px rgba(26, 22, 18, .08);
}

.navbar-brand-logo {
	font-family: var(--font-display);
	font-size: 28px;
	font-weight: 700;
	color: var(--ink);
	letter-spacing: 1px;
	text-decoration: none;
}

.navbar-brand-logo img {
	max-width: 150px;
}

.navbar-brand-logo span {
	color: var(--rust);
}

.nav-link-item {
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--light-ink);
	padding: 7px 10px;
	font-weight: 500;
	transition: color .2s;
	text-decoration: none;
	display: inline-block;
}

.nav-link-item:hover,
.nav-link-item.active {
	color: var(--rust);
}

.btn-login {
	background: var(--ink);
	color: var(--cream);
	border: none;
	padding: 9px 20px;
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 2px;
	transition: background .2s;
	cursor: pointer;
}

.btn-login:hover {
	background: var(--rust);
	color: #fff;
}

/* DROPDOWN */
.nav-dropdown {
	position: relative;
	display: inline-block;
}

.nav-dropdown>.nav-link-item {
	cursor: pointer;
}

.nav-dropdown-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 3px;
	min-width: 190px;
	box-shadow: 0 12px 40px rgba(26, 22, 18, .12);
	z-index: 1000;
	padding: 8px 0;
}

.nav-dropdown:hover .nav-dropdown-menu {
	display: block;
}

.nav-dropdown-menu a {
	display: block;
	padding: 9px 20px;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--light-ink);
	text-decoration: none;
	transition: background .15s, color .15s;
}

.nav-dropdown-menu a:hover {
	background: var(--warm);
	color: var(--rust);
}

.nav-dropdown-menu .dropdown-divider {
	height: 1px;
	background: var(--border);
	margin: 4px 0;
}

.nav-dropdown>.nav-link-item::after {
	content: ' ▾';
	font-size: 9px;
	opacity: .6;
}

/* MOBILE NAV */
.mobile-nav-wrap {
	background: #fff;
	border-top: 1px solid var(--border);
	padding: 12px 0;
}

.mobile-nav-wrap .nav-link-item {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
	font-size: 13px;
}

.mobile-nav-wrap .nav-link-item:last-child {
	border-bottom: none;
}

.mobile-sub {
	padding-left: 16px;
}

.mobile-sub a {
	display: block;
	padding: 7px 0;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sepia);
	text-decoration: none;
}

.mobile-sub a:hover {
	color: var(--rust);
}

.mobile-toggle-sub {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mobile-toggle-sub i {
	font-size: 10px;
	transition: transform .3s;
}

.mobile-toggle-sub.open i {
	transform: rotate(180deg);
}

/* LOGIN MODAL */
.login-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(26, 22, 18, .7);
	z-index: 9999;
	align-items: center;
	justify-content: center;
}

.login-overlay.active {
	display: flex;
}

.login-card {
	background: #fff;
	width: 100%;
	max-width: 420px;
	padding: 48px 40px;
	border-radius: 4px;
	position: relative;
	animation: slideUp .3s ease;
	margin: 20px;
}

@keyframes slideUp {
	from {
		transform: translateY(30px);
		opacity: 0;
	}

	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.login-card h3 {
	font-family: var(--font-display);
	font-size: 32px;
	margin-bottom: 6px;
}

.login-close {
	position: absolute;
	top: 16px;
	right: 20px;
	font-size: 22px;
	cursor: pointer;
	color: #888;
	background: none;
	border: none;
}

.login-close:hover {
	color: var(--rust);
}

.login-card .form-control {
	border: 1px solid var(--border);
	border-radius: 2px;
	padding: 12px 16px;
	font-size: 14px;
}

.login-card .form-control:focus {
	border-color: var(--rust);
	box-shadow: none;
}

.btn-login-submit {
	background: var(--ink);
	color: #fff;
	width: 100%;
	padding: 13px;
	border: none;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-top: 8px;
	border-radius: 2px;
	transition: background .2s;
	cursor: pointer;
}

.btn-login-submit:hover {
	background: var(--rust);
}
/* HERO SLIDER BASE */
.hero-slider {
    position: relative;
    height: 100vh;
    min-height: 600px;
    overflow: hidden;
}

.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
    display: flex;
    align-items: center;
}

.slide.active {
    opacity: 1;
    z-index: 2;
}

.slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.08);
    transition: transform 8s ease;
}

.slide.active .slide-bg {
    transform: scale(1);
}

.slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(250, 248, 244, .92) 40%, rgba(250, 248, 244, .3) 100%);
}

.hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
}

/* Hero inner row – vertically centered, reduced min-height for better spacing */
.hero-slider .hero-content .row {
    min-height: 85vh;
    align-items: center !important;
}

/* Hero text styles – reduced font sizes as requested */
.hero-tag {
    font-size: 12px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--rust);
    font-weight: 600;
    margin-bottom: 12px;
    display: block;
}

.hero-title {
    font-family: var(--font-display);
    font-size: clamp(32px, 6vw, 72px);
    line-height: 1.1;
    font-weight: 600;
    color: var(--ink);
}

/* Make <em> inside hero-title normal (not italic) */
.hero-title em {
    font-style: normal;
    color: var(--rust);
}

.hero-subtitle {
    font-size: 14px;
    color: var(--sepia);
    max-width: 460px;
    margin: 16px 0 28px;
    line-height: 1.6;
}

/* Buttons – side by side, slightly smaller */
.btn-primary-art {
    background: var(--ink);
    color: var(--cream);
    padding: 12px 28px;
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 600;
    border: none;
    border-radius: 2px;
    transition: all .25s;
    display: inline-block;
    text-decoration: none;
}

.btn-primary-art:hover {
    background: var(--rust);
    color: #fff;
    transform: translateY(-2px);
}

.btn-outline-art {
    background: transparent;
    color: var(--ink);
    padding: 12px 28px;
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 600;
    border: 2px solid var(--ink);
    border-radius: 2px;
    transition: all .25s;
    display: inline-block;
    text-decoration: none;
}

.btn-outline-art:hover {
    border-color: var(--rust);
    color: var(--rust);
}

/* Right-side image column – smaller, right-aligned */
.hero-slider .hero-content .col-lg-5 {
    flex: 0 0 auto;
    width: auto;
    max-width: 280px;
    margin-left: auto !important;   /* push to the right */
}

/* Image & placeholder styles */
.hero-slider .hero-content .col-lg-5 img,
.hero-slider .hero-content .col-lg-5 .hero-right-placeholder {
    width: 100%;
    max-width: 260px;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.hero-slider .hero-content .col-lg-5 .hero-right-placeholder {
    background: rgba(139, 111, 94, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 18px;
    color: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

/* Hide image column on tablets and below */
@media (max-width: 991px) {
    .hero-slider .hero-content .col-lg-5 {
        display: none !important;
    }
}

/* Background subtle zoom on active slide */
.hero-slider .slide.active .slide-bg {
    transform: scale(1.05);
    transition: transform 8s ease;
}

/* Slider dots and numbering position */
.slider-dots {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
}

.slider-num {
    position: absolute;
    bottom: 28px;
    right: 40px;
    font-family: var(--font-display);
    font-size: 48px;
    font-weight: 300;
    color: rgba(26, 22, 18, 0.1);
    z-index: 5;
    line-height: 1;
}

/* RESPONSIVE TWEAKS */
@media (max-width: 768px) {
    .hero-title {
        font-size: 38px;
    }
    .hero-subtitle {
        font-size: 13px;
        margin: 12px 0 20px;
    }
    .btn-primary-art,
    .btn-outline-art {
        padding: 10px 20px;
        font-size: 11px;
    }
    .hero-slider .hero-content .row {
        min-height: 70vh;
    }
}

@media (max-width: 576px) {
    .hero-title {
        font-size: 32px;
    }
    .hero-tag {
        font-size: 10px;
        letter-spacing: 3px;
    }
    .hero-slider .hero-content .row {
        min-height: 65vh;
    }
    .slider-num {
        display: none;
    }
}
/* Slider Dots & Number – fully preserved */
.slider-dots {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(26, 22, 18, .25);
    border: none;
    cursor: pointer;
    transition: all .3s;
}

.dot.active {
    background: var(--rust);
    width: 28px;
    border-radius: 4px;
}

.slider-num {
    position: absolute;
    bottom: 36px;
    right: 40px;
    font-family: var(--font-display);
    font-size: 48px;
    font-weight: 300;
    color: rgba(26, 22, 18, .1);
    z-index: 5;
    line-height: 1;
}
/* SECTION TITLES */
.section-tag {
	font-size: 15px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--rust);
	font-weight: 600;
	display: block;
	margin-bottom: 12px;
}

.section-title {
	font-family: var(--font-display);
	font-size: clamp(32px, 5vw, 64px);
	font-weight: 600;
	line-height: 1.1;
	color: var(--ink);
}

.section-title em {
	font-style: italic;
}

.section-line {
	width: 48px;
	height: 2px;
	background: var(--gold);
	margin: 20px 0 12px;
}

.section-subtitle {
	color: var(--sepia);
	font-size: 15px;
	line-height: 1.7;
	max-width: 540px;
}

/* DIVIDER */
.art-divider {
	text-align: center;
	padding: 16px 0;
	color: var(--border);
	font-size: 24px;
	letter-spacing: 12px;
}

/* SECTION */
.section-pad {
	padding: 96px 0;
}

/* ARTIST CARDS */
.artist-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 3px;
	overflow: hidden;
	transition: all .35s;
	cursor: pointer;
	display: flex;
	height:100%;
	min-height:460px;
	flex-direction: column;
}

.artist-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 24px 60px rgba(26, 22, 18, .12);
}

.artist-img-placeholder {
	width: 100%;
	height: 280px;
	flex-shrink: 0;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 54px;
	font-family: var(--font-display);
	font-weight: 700;
	color: #fff;
	overflow: hidden;
	background-size: cover !important;
	background-position: center !important;
}

.artist-body {
	padding: 20px 22px;
	flex: 1;
}

.artist-name {
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 4px;
}

.artist-role {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--rust);
}

.artist-count {
	font-size: 13px;
	color: var(--sepia);
	margin-top: 8px;
}

.artist-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 12px;
}

.artist-tag {
	font-size: 15px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 4px 10px;
	background: var(--warm);
	color: var(--sepia);
	border-radius: 1px;
}

/* ART GRID – card redesign */
.art-item {
	position: relative;
	border-radius: 3px;
	cursor: pointer;
	background: #fff;
	border: 1px solid var(--border);
	transition: box-shadow .3s;

}

.art-item:hover {
	box-shadow: 0 20px 50px rgba(26, 22, 18, .14);
}

.art-img-ph {
	width: 100%;
	overflow: hidden;


}

.art-img-ph img {
	width: 100%;
	height: auto!important;
	display: block;
	transition: transform .5s ease;
}

.art-item:hover .art-img-ph img {
	transform: scale(1.06);
}

.art-card-body {
	padding: 14px 16px 40px;
	background: #fff;
	position: relative;
	z-index: 1;
}

.art-card-title {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 2px;
}

.art-card-meta {
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sepia);
}

.art-card-price {
	font-family: var(--font-display);
	font-size: 18px;
	color: var(--rust);
	font-weight: 600;
	margin-top: 6px;
}

.art-artist-corner {
	position: absolute;
	bottom: 0;
	right: 0;
	background: var(--ink);
	color: var(--cream);
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 5px 10px;
	border-top-left-radius: 4px;
	z-index: 2;
}

.art-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--rust);
	color: #fff;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 1px;
	z-index: 3;
}

.art-badge.sold {
	background: var(--gold);
	color: var(--ink);
}

/* ILLUSTRATION SLIDESHOW */
.illus-slideshow {
	position: relative;
	overflow: hidden;
}

.illus-track {
	display: flex;
	gap: 24px;
	transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.illus-slide-item {
	min-width: calc(25% - 18px);
	flex-shrink: 0;
}

@media(max-width:991px) {
	.illus-slide-item {
		min-width: calc(50% - 12px);
	}
}

@media(max-width:576px) {
	.illus-slide-item {
		min-width: calc(100% - 0px);
	}
}

/* ILLUSTRATION CARD */
.illus-card {
	background: #fff;
	border-radius: 3px;
	overflow: hidden;
	transition: all .3s;
	box-shadow: 0 4px 20px rgba(26, 22, 18, .06);
	position: relative;
	display: flex;
	flex-direction: column;
}

.illus-card:hover {
	box-shadow: 0 20px 50px rgba(26, 22, 18, .14);
	transform: translateY(-5px);
}

.illus-img-ph {
	width: 100%;
	overflow: hidden;
	display: block;
	flex-shrink: 0;
	position: relative;
}

.illus-img-ph img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .5s ease;
}

.illus-card:hover .illus-img-ph img {
	transform: scale(1.04);
}

.illus-img-ph::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(26, 22, 18, .25) 100%);
	pointer-events: none;
}

.illus-body {
	padding: 18px 20px 22px;
	background: #fff;
	position: relative;
	z-index: 1;
	flex: 1;
}

.illus-title {
	font-family: var(--font-display);
	font-size: 18px;
	margin-bottom: 3px;
}

.illus-cat {
	font-size: 14px;
	color: var(--sepia);
	margin-top: 6px;
}

.illus-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--border);
}

.illus-price {
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 600;
}

.btn-detail {
	font-size: 15px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 7px 16px;
	background: var(--ink);
	color: #fff;
	border: none;
	border-radius: 1px;
	transition: background .2s;
	cursor: pointer;
}

.btn-detail:hover {
	background: var(--rust);
}

/* Artist name on illus card — sits BELOW image in the white body, not over image */
.illus-artist-corner {
	display: inline-block;
	background: var(--rust);
	color: #fff;
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 1px;
	margin-bottom: 6px;
}

/* SLIDESHOW CONTROLS */
.slide-nav {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 28px;
	justify-content: center;
}

.slide-nav-btn {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 2px solid var(--border);
	background: #fff;
	color: var(--ink);
	font-size: 14px;
	cursor: pointer;
	transition: all .2s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.slide-nav-btn:hover {
	background: var(--rust);
	border-color: var(--rust);
	color: #fff;
}

.slide-dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.sdot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--border);
	border: none;
	cursor: pointer;
	transition: all .3s;
}

.sdot.active {
	background: var(--rust);
	width: 24px;
	border-radius: 4px;
}

/* ===== OWL CAROUSEL OVERRIDES ===== */
/* Gap between each category carousel block */
.art-owl-carousel,
.illus-owl-carousel {
	margin-bottom: 52px;
}

/* Nav buttons – match site design (circle, border, ink bg on hover) */
.art-owl-carousel .owl-nav button,
.illus-owl-carousel .owl-nav button {
	width: 42px;
	height: 42px;
	border-radius: 50% !important;
	border: 2px solid var(--border) !important;
	background: #fff !important;
	color: var(--ink) !important;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
	margin: 0 4px;
}

.art-owl-carousel .owl-nav button:hover,
.illus-owl-carousel .owl-nav button:hover {
	background: var(--rust) !important;
	border-color: var(--rust) !important;
	color: #fff !important;
}

.art-owl-carousel .owl-nav,
.illus-owl-carousel .owl-nav {
	text-align: center;
	margin-top: 18px;
}

/* Dots */
.art-owl-carousel .owl-dot span,
.illus-owl-carousel .owl-dot span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--border) !important;
	transition: all .3s;
}

.art-owl-carousel .owl-dot.active span,
.illus-owl-carousel .owl-dot.active span {
	background: var(--rust) !important;
	width: 24px;
	border-radius: 4px;
}

/* Hide disabled nav buttons when loop=false and at start/end */
.art-owl-carousel .owl-nav .disabled,
.illus-owl-carousel .owl-nav .disabled {
	opacity: .35;
	cursor: default !important;
}

/* ART PAINTING SLIDESHOW */
.paint-track {
	display: flex;
	gap: 20px;
	transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.paint-slide-item {
	min-width: calc(25% - 15px);
	flex-shrink: 0;
}

@media(max-width:991px) {
	.paint-slide-item {
		min-width: calc(50% - 10px);
	}
}

@media(max-width:576px) {
	.paint-slide-item {
		min-width: calc(100% - 0px);
	}
}

/* CATEGORY CARDS */
.cat-card {
	position: relative;
	overflow: hidden;
	border-radius: 3px;
	cursor: pointer;
	height: 200px;
	display: flex;
	align-items: flex-end;
	padding: 22px;
}

.cat-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .5s;
}

.cat-card:hover .cat-bg {
	transform: scale(1.08);
}

.cat-overlay-grad {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(26, 22, 18, .88) 0%, rgba(26, 22, 18, .2) 100%);
}

.cat-body {
	position: relative;
	z-index: 2;
}

.cat-body h5 {
	font-family: var(--font-display);
	font-size: 22px;
	color: #fff;
	margin-bottom: 2px;
}

.cat-body small {
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--gold);
}

.cat-icon {
	font-size: 28px;
	margin-bottom: 8px;
	display: block;
}

/* TESTIMONIAL SECTION */
.testimonial-section {
	background: var(--ink);
	padding: 96px 0;
	position: relative;
	overflow: hidden;
}

.testimonial-section::before {
	content: '';
	position: absolute;
	top: -80px;
	right: -80px;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 168, 76, .08) 0%, transparent 70%);
}

.testimonial-section::after {
	content: '"';
	font-family: var(--font-display);
	font-size: 300px;
	color: rgba(255, 255, 255, .03);
	position: absolute;
	top: -40px;
	left: 20px;
	line-height: 1;
	pointer-events: none;
}

.test-tag {
	font-size: 15px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--gold);
	font-weight: 600;
	display: block;
	margin-bottom: 12px;
}

.test-title {
	font-family: var(--font-display);
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 600;
	color: #fff;
	line-height: 1.1;
}

.test-title em {
	font-style: italic;
	color: var(--gold);
}

.test-track {
	display: flex;
	gap: 24px;
	transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.test-slide {
	min-width: calc(33.333% - 16px);
	flex-shrink: 0;
}

@media(max-width:991px) {
	.test-slide {
		min-width: calc(50% - 12px);
	}
}

@media(max-width:576px) {
	.test-slide {
		min-width: 100%;
	}
}

.test-card {
	background: rgba(250, 248, 244, .06);
	border: 1px solid rgba(250, 248, 244, .1);
	border-radius: 4px;
	padding: 32px 28px;
	height: 100%;
	position: relative;
	transition: background .3s;
}

.test-card:hover {
	background: rgba(250, 248, 244, .09);
}

.test-quote {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 12px;
}

.test-text {
	font-size: 15px;
	color: rgba(250, 248, 244, .8);
	line-height: 1.7;
	font-style: italic;
}

.test-stars {
	color: var(--gold);
	font-size: 13px;
	letter-spacing: 2px;
	margin: 16px 0 20px;
}

.test-author {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 20px;
	border-top: 1px solid rgba(250, 248, 244, .1);
}

.test-av {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	flex-shrink: 0;
}

.test-name {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.test-meta {
	font-size: 14px;
	color: rgba(250, 248, 244, .5);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.test-overflow {
	overflow: hidden;
}

/* VIDEO GALLERY */
.video-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 3px;
	overflow: hidden;
	transition: all .3s;
}

.video-card:hover {
	box-shadow: 0 16px 48px rgba(26, 22, 18, .1);
}

.video-thumb {
	position: relative;
	aspect-ratio: 16/9;
	background: var(--ink);
	overflow: hidden;
	cursor: pointer;
}

.video-thumb-ph {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: rgba(255, 255, 255, .5);
	font-family: var(--font-display);
}

.play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 54px;
	height: 54px;
	background: rgba(255, 255, 255, .92);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--rust);
	transition: transform .2s;
}

.video-thumb:hover .play-btn {
	transform: translate(-50%, -50%) scale(1.12);
}

.video-body {
	padding: 18px 20px;
}

.video-title {
	font-family: var(--font-display);
	font-size: 18px;
	margin-bottom: 4px;
}

.video-meta {
	font-size: 14px;
	color: var(--sepia);
}

.video-duration {
	position: absolute;
	bottom: 10px;
	right: 12px;
	background: rgba(0, 0, 0, .7);
	color: #fff;
	font-size: 15px;
	padding: 3px 8px;
	border-radius: 2px;
}

.yt-badge {
	background: #ff0000;
	color: #fff;
	font-size: 10px;
	letter-spacing: 1px;
	padding: 3px 8px;
	border-radius: 1px;
	font-weight: 600;
}

.btn-yt {
	background: #ff0000;
	color: #fff;
	font-size: 15px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 8px 18px;
	border: none;
	border-radius: 1px;
	transition: opacity .2s;
	cursor: pointer;
}

.btn-yt:hover {
	opacity: .85;
}

/* BLOG */
.blog-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 3px;
	overflow: hidden;
	transition: all .3s;
}

.blog-card:hover {
	box-shadow: 0 16px 48px rgba(26, 22, 18, .1);
	transform: translateY(-4px);
}

.blog-img-ph {
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 20px;
	color: #fff;
}

.blog-body {
	padding: 22px 24px;
}

.blog-cat {
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--rust);
	margin-bottom: 8px;
	display: block;
}

.blog-title {
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.3;
	margin-bottom: 10px;
}

.blog-excerpt {
	font-size: 14px;
	color: var(--sepia);
	line-height: 1.7;
}

.blog-footer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
}

.blog-author-av {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	flex-shrink: 0;
}

.blog-author-name {
	font-size: 13px;
	font-weight: 500;
}

.blog-date {
	font-size: 14px;
	color: var(--sepia);
}

/* ABOUT */
.about-section {
	background: var(--warm);
}

.about-img-ph {
	height: 520px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: 300;
	color: rgba(255, 255, 255, .6);
}

.about-badge {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background: var(--rust);
	color: #fff;
	padding: 28px;
	border-radius: 3px;
	text-align: center;
}

.about-badge strong {
	font-family: var(--font-display);
	font-size: 36px;
	display: block;
	line-height: 1;
}

.about-badge span {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.stat-item {
	border-left: 3px solid var(--gold);
	padding-left: 20px;
}

.stat-item strong {
	font-family: var(--font-display);
	font-size: 42px;
	display: block;
	line-height: 1;
}

.stat-item span {
	font-size: 13px;
	color: var(--sepia);
}

/* SERVICES */
.service-card {
	padding: 36px 32px;
	border: 1px solid var(--border);
	border-radius: 3px;
	background: #fff;
	transition: all .3s;
}

.service-card:hover {
	border-color: var(--rust);
	transform: translateY(-5px);
	box-shadow: 0 20px 50px rgba(26, 22, 18, .08);
}

.service-icon {
	width: 56px;
	height: 56px;
	background: var(--warm);
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 20px;
	transition: background .3s;
}

.service-card:hover .service-icon {
	background: var(--rust);
}

.service-card:hover .service-icon i {
	color: #fff !important;
}

.service-title {
	font-family: var(--font-display);
	font-size: 22px;
	margin-bottom: 10px;
}

.service-desc {
	font-size: 14px;
	color: var(--sepia);
	line-height: 1.7;
}

.service-price {
	font-family: var(--font-display);
	font-size: 18px;
	color: var(--rust);
	margin-top: 16px;
	font-weight: 600;
}

/* FAQ */
.faq-item {
	border-bottom: 1px solid var(--border);
}

.faq-question {
	padding: 22px 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-display);
	font-size: 20px;
}

.faq-question:hover {
	color: var(--rust);
}

.faq-answer {
	font-size: 14px;
	color: var(--sepia);
	line-height: 1.7;
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s ease, padding .3s;
}

.faq-item.open .faq-answer {
	max-height: 200px;
	padding-bottom: 20px;
}

.faq-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
	transition: all .3s;
}

.faq-item.open .faq-icon {
	background: var(--rust);
	border-color: var(--rust);
	color: #fff;
	transform: rotate(45deg);
}

/* CONTACT */
.contact-section {
	background: var(--ink);
	color: var(--cream);
}

.contact-section .section-title {
	color: var(--cream);
}

.contact-section .section-tag {
	color: var(--gold);
}

.contact-section .section-subtitle {
	color: rgba(250, 248, 244, .6);
}

.contact-info-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 28px;
}

.contact-icon {
	width: 44px;
	height: 44px;
	background: rgba(250, 248, 244, .08);
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--gold);
	flex-shrink: 0;
}

.contact-info-item h6 {
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(250, 248, 244, .5);
	margin-bottom: 4px;
}

.contact-info-item p {
	font-size: 15px;
	color: var(--cream);
	margin: 0;
}

.contact-form-wrap {
	background: rgba(250, 248, 244, .05);
	border: 1px solid rgba(250, 248, 244, .1);
	border-radius: 3px;
	padding: 40px;
}

.contact-form-wrap .form-control,
.contact-form-wrap .form-select {
	background: rgba(250, 248, 244, .06);
	border: 1px solid rgba(250, 248, 244, .15);
	color: var(--cream);
	border-radius: 2px;
	padding: 13px 16px;
	font-size: 14px;
}

.contact-form-wrap .form-control:focus,
.contact-form-wrap .form-select:focus {
	background: rgba(250, 248, 244, .08);
	border-color: var(--gold);
	box-shadow: none;
	color: var(--cream);
}

.contact-form-wrap .form-control::placeholder {
	color: rgba(250, 248, 244, .35);
}

.contact-form-wrap label {
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(250, 248, 244, .5);
	margin-bottom: 8px;
}

.btn-send {
	background: var(--rust);
	color: #fff;
	padding: 14px 40px;
	border: none;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 2px;
	transition: all .25s;
	cursor: pointer;
}

.btn-send:hover {
	background: #0363af;
	transform: translateY(-2px);
}

.contact-form-wrap select option {
	color: #101010;
}

/* FOOTER */
footer {
	background: #111009;
	color: rgba(250, 248, 244, .6);
	padding: 64px 0 32px;
}

.footer-brand {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--cream);
	margin-bottom: 12px;
}

.footer-brand span {
	color: var(--rust);
}

.footer-desc {
	font-size: 14px;
	line-height: 1.7;
	max-width: 300px;
}

.footer-title {
	font-size: 15px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--cream);
	margin-bottom: 20px;
}

.footer-links {
	list-style: none;
	padding: 0;
}

.footer-links li {
	margin-bottom: 10px;
}

.footer-links a {
	color: rgba(250, 248, 244, .6);
	text-decoration: none;
	font-size: 14px;
	transition: color .2s;
}

.footer-links a:hover {
	color: var(--gold);
}

.footer-social {
	display: flex;
	gap: 12px;
	margin-top: 20px;
}

.footer-social a {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(250, 248, 244, .15);
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(250, 248, 244, .6);
	transition: all .2s;
	text-decoration: none;
}

.footer-social a:hover {
	border-color: var(--gold);
	color: var(--gold);
}

.footer-bottom {
	border-top: 1px solid rgba(250, 248, 244, .08);
	margin-top: 48px;
	padding-top: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.footer-bottom p {
	font-size: 13px;
	margin: 0;
}

/* SCROLL ANIMATIONS */
.reveal {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .7s ease, transform .7s ease;
}

.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-left {
	opacity: 0;
	transform: translateX(-40px);
	transition: opacity .7s ease, transform .7s ease;
}

.reveal-left.visible {
	opacity: 1;
	transform: translateX(0);
}

.reveal-right {
	opacity: 0;
	transform: translateX(40px);
	transition: opacity .7s ease, transform .7s ease;
}

.reveal-right.visible {
	opacity: 1;
	transform: translateX(0);
}

.delay-1 {
	transition-delay: .1s !important;
}

.delay-2 {
	transition-delay: .2s !important;
}

.delay-3 {
	transition-delay: .3s !important;
}

.delay-4 {
	transition-delay: .4s !important;
}

.delay-5 {
	transition-delay: .5s !important;
}

/* BACK TO TOP */
#back-top {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 44px;
	height: 44px;
	background: var(--ink);
	color: var(--cream);
	border: none;
	border-radius: 2px;
	font-size: 16px;
	cursor: pointer;
	z-index: 888;
	opacity: 0;
	transition: all .3s;
	display: flex;
	align-items: center;
	justify-content: center;
}

#back-top.show {
	opacity: 1;
}

#back-top:hover {
	background: var(--rust);
}

/* TABS */
.art-tabs {
	border-bottom: 1px solid var(--border);
	display: flex;
	gap: 0;
	flex-wrap: wrap;
}

.art-tab-btn {
	border: none;
	background: none;
	padding: 12px 20px;
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sepia);
	cursor: pointer;
	position: relative;
	transition: color .2s;
}

.art-tab-btn::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--rust);
	transform: scaleX(0);
	transition: transform .3s;
}

.art-tab-btn.active {
	color: var(--rust);
}

.art-tab-btn.active::after {
	transform: scaleX(1);
}

.tab-pane {
	display: none;
}

.tab-pane.active {
	display: block;
}

/* FLOATING SHAPES */
.float-shape {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
}

.shape-1 {
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(201, 168, 76, .08) 0%, transparent 70%);
	top: 10%;
	right: -60px;
	animation: floatY 8s ease-in-out infinite;
}

.shape-2 {
	width: 200px;
	height: 200px;
	background: radial-gradient(circle, rgba(196, 96, 59, .06) 0%, transparent 70%);
	bottom: 20%;
	left: -40px;
	animation: floatY 10s ease-in-out infinite reverse;
}

@keyframes floatY {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-20px);
	}
}

/* PAINTER BG COLORS */
.bg-a {
	background: #8B6F5E;
}

.bg-b {
	background: #5E7E8B;
}

.bg-c {
	background: #7E8B5E;
}

.bg-d {
	background: #8B7E5E;
}

.bg-e {
	background: #6E5E8B;
}

.bg-f {
	background: #8B5E5E;
}

.bg-g {
	background: #5E8B7E;
}

.bg-h {
	background: #7E5E8B;
}

/* ===== ILLUSTRATION CATEGORY MINI AUTO-SLIDER ===== */
.illus-cat-slider-section {
	background: var(--ink);
	padding: 56px 0;
	overflow: hidden;
}

.illus-cat-track-wrap {
	overflow: hidden;
	position: relative;
}

.illus-cat-track {
	display: flex;
	gap: 18px;
	animation: catSlide 28s linear infinite;
	width: max-content;
}

.illus-cat-track:hover {
	animation-play-state: paused;
}

@keyframes catSlide {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.illus-cat-pill {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(250, 248, 244, .07);
	border: 1px solid rgba(250, 248, 244, .12);
	border-radius: 50px;
	padding: 10px 20px;
	white-space: nowrap;
	transition: all .3s;
	cursor: pointer;
	flex-shrink: 0;
}

.illus-cat-pill:hover {
	background: var(--rust);
	border-color: var(--rust);
}

.illus-cat-pill svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.illus-cat-pill span {
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(250, 248, 244, .85);
	font-weight: 500;
}

.illus-cat-pill small {
	font-size: 10px;
	color: rgba(250, 248, 244, .4);
	margin-left: 4px;
}

/* ===== ART CATEGORY MINI AUTO-SLIDER ===== */
.art-cat-slider-section {
	background: var(--warm);
	padding: 52px 0;
	overflow: hidden;
}

.art-cat-track-wrap {
	overflow: hidden;
	position: relative;
}

.art-cat-track {
	display: flex;
	gap: 16px;
	animation: artCatSlide 26s linear infinite;
	width: max-content;
}

.art-cat-track:hover {
	animation-play-state: paused;
}

@keyframes artCatSlide {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.art-cat-pill {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 50px;
	padding: 10px 22px;
	white-space: nowrap;
	transition: all .3s;
	cursor: pointer;
	flex-shrink: 0;
}

.art-cat-pill:hover {
	background: var(--ink);
	border-color: var(--ink);
}

.art-cat-pill:hover span,
.art-cat-pill:hover small {
	color: #fff !important;
}

.art-cat-pill svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	transition: all .3s;
}

.art-cat-pill:hover svg {
	filter: brightness(10);
}

.art-cat-pill span {
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ink);
	font-weight: 500;
}

.art-cat-pill small {
	font-size: 10px;
	color: var(--sepia);
	margin-left: 2px;
}

/* ===== FEATURED ILLUSTRATIONS SECTION ===== */
.feat-illus-section {
	background: var(--cream);
	padding: 96px 0;
}

.feat-illus-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media(max-width:991px) {
	.feat-illus-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media(max-width:576px) {
	.feat-illus-grid {
		grid-template-columns: 1fr;
	}
}

.feat-illus-card {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	cursor: pointer;
	background: #fff;
	border: 1px solid var(--border);
	transition: all .35s;
}

.feat-illus-card:hover {
	box-shadow: 0 24px 60px rgba(26, 22, 18, .14);
	transform: translateY(-6px);
}

.feat-illus-card.large {
	grid-column: span 1;
	grid-row: span 2;
}

.feat-illus-img {
	width: 100%;
	height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.feat-illus-card.large .feat-illus-img {
	height: 100%;
	min-height: 400px;
}

.feat-illus-img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(26, 22, 18, .5) 100%);
}

.feat-illus-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 18px 20px;
	z-index: 2;
}

.feat-illus-title {
	font-family: var(--font-display);
	font-size: 18px;
	color: #fff;
	margin-bottom: 2px;
}

.feat-illus-meta {
	font-size: 15px;
	color: rgba(255, 255, 255, .65);
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.feat-illus-price {
	font-family: var(--font-display);
	font-size: 18px;
	color: var(--gold);
	font-weight: 600;
	margin-top: 4px;
}

.feat-illus-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	background: var(--rust);
	color: #fff;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 1px;
}

.feat-illus-stars {
	color: var(--gold);
	font-size: 15px;
	letter-spacing: 1px;
	margin-top: 3px;
}

/* ===== TESTIMONIALS 3-IN-ROW WITH RATING ===== */
.testi-3-section {
	background: var(--ink);
	padding: 96px 0;
	position: relative;
	overflow: hidden;
}

.testi-3-section::before {
	content: '"';
	font-family: var(--font-display);
	font-size: 320px;
	color: rgba(255, 255, 255, .02);
	position: absolute;
	top: -60px;
	left: 10px;
	line-height: 1;
	pointer-events: none;
}

.testi-rating-bar {
	display: flex;
	align-items: center;
	gap: 32px;
	background: rgba(250, 248, 244, .05);
	border: 1px solid rgba(250, 248, 244, .1);
	border-radius: 4px;
	padding: 28px 36px;
	margin-bottom: 56px;
}

.testi-rating-num {
	font-family: var(--font-display);
	font-size: 64px;
	color: #fff;
	line-height: 1;
	font-weight: 300;
}

.testi-rating-stars {
	color: var(--gold);
	font-size: 20px;
	letter-spacing: 3px;
	margin-bottom: 4px;
}

.testi-rating-label {
	font-size: 15px;
	color: rgba(250, 248, 244, .4);
	letter-spacing: 2px;
	text-transform: uppercase;
}

.testi-bar-item {
	text-align: center;
}

.testi-bar-item strong {
	font-family: var(--font-display);
	font-size: 32px;
	color: #fff;
	display: block;
	line-height: 1;
}

.testi-bar-item span {
	font-size: 15px;
	color: rgba(250, 248, 244, .4);
	letter-spacing: 2px;
	text-transform: uppercase;
}

.testi-bar-divider {
	width: 1px;
	height: 60px;
	background: rgba(250, 248, 244, .1);
}

.testi-3-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media(max-width:991px) {
	.testi-3-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media(max-width:576px) {
	.testi-3-grid {
		grid-template-columns: 1fr;
	}
}

.testi-3-card {
	background: rgba(250, 248, 244, .06);
	border: 1px solid rgba(250, 248, 244, .1);
	border-radius: 4px;
	padding: 32px 28px;
	transition: all .3s;
	position: relative;
}

.testi-3-card:hover {
	background: rgba(250, 248, 244, .09);
	transform: translateY(-4px);
}

.testi-3-q {
	font-family: var(--font-display);
	font-size: 40px;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 10px;
}

.testi-3-text {
	font-size: 14px;
	color: rgba(250, 248, 244, .78);
	line-height: 1.75;
	font-style: italic;
}

.testi-3-stars {
	color: var(--gold);
	font-size: 13px;
	letter-spacing: 2px;
	margin: 16px 0 20px;
}

.testi-3-author {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 18px;
	border-top: 1px solid rgba(250, 248, 244, .1);
}

.testi-3-av {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	flex-shrink: 0;
}

.testi-3-name {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.testi-3-meta {
	font-size: 15px;
	color: rgba(250, 248, 244, .45);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.testi-verified {
	position: absolute;
	top: 18px;
	right: 18px;
}

/* ===== FAQ SECTION ===== */
.faq-new-section {
	background: var(--warm);
	padding: 96px 0;
}

.faq-new-item {
	border-bottom: 1px solid var(--border);
	background: #fff;
	border-radius: 3px;
	margin-bottom: 8px;
	overflow: hidden;
	transition: box-shadow .3s;
}

.faq-new-item:hover {
	box-shadow: 0 4px 20px rgba(26, 22, 18, .06);
}

.faq-new-q {
	padding: 22px 28px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-display);
	font-size: 19px;
	color: var(--ink);
	transition: color .2s;
	gap: 16px;
}

.faq-new-q:hover {
	color: var(--rust);
}

.faq-new-a {
	font-size: 14px;
	color: var(--sepia);
	line-height: 1.75;
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s ease, padding .3s;
	padding: 0 28px;
}

.faq-new-item.open .faq-new-a {
	max-height: 240px;
	padding-bottom: 24px;
}

.faq-new-icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all .3s;
}

.faq-new-item.open .faq-new-icon {
	background: var(--rust);
	border-color: var(--rust);
	color: #fff;
	transform: rotate(45deg);
}

.faq-new-icon svg {
	width: 14px;
	height: 14px;
}

.faq-cat-tag {
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	background: var(--warm);
	color: var(--sepia);
	padding: 3px 10px;
	border-radius: 10px;
	margin-left: 12px;
}

/* RESPONSIVE */
@media(max-width:991px) {
	.section-pad {
		padding: 72px 0;
	}

	.about-badge {
		bottom: -10px;
		right: 0;
		padding: 18px;
	}

	.about-badge strong {
		font-size: 28px;
	}

	.contact-form-wrap {
		padding: 24px;
	}

	.testi-rating-bar {
		flex-wrap: wrap;
		gap: 20px;
		padding: 20px 24px;
	}
}

@media(max-width:768px) {
	.hero-title {
		font-size: 42px;
	}

	.login-card {
		margin: 20px;
		padding: 32px 24px;
	}

	.about-img-ph {
		height: 320px;
	}
}

@media(max-width:576px) {
	.hero-title {
		font-size: 34px;
	}

	.btn-outline-art {
		margin-left: 0;
		margin-top: 10px;
	}

	.hero-content .d-flex {
		flex-direction: column;
	}

	.section-pad {
		padding: 56px 0;
	}

	.slider-num {
		display: none;
	}
}


/* Fine-tuning for category cards */
.ill-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
	margin-top: 24px;
}

.ill-cat-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
	transition: all 0.35s cubic-bezier(0.2, 0, 0, 1);
	cursor: pointer;
	position: relative;
	text-decoration: none;
	display: block;
	color: inherit;
}

.ill-cat-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 48px rgba(26, 22, 18, 0.12);
	border-color: rgba(201, 168, 76, 0.3);
}

.ill-cat-thumb {
	height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 64px;
	transition: transform 0.6s ease;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}

.ill-cat-card:hover .ill-cat-thumb {
	transform: scale(1.03);
}

.ill-cat-thumb i,
.ill-cat-thumb svg {
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
	transition: all 0.3s;
}

.ill-cat-card:hover .ill-cat-thumb i {
	transform: scale(1.02);
	color: rgba(255, 255, 240, 0.95);
}

.ill-cat-content {
	padding: 24px 24px 28px;
	background: #fff;
}

.ill-cat-title {
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: -0.3px;
	color: var(--ink);
	margin-bottom: 8px;
}

.ill-cat-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	font-size: 13px;
	border-top: 1px solid var(--border);
	padding-top: 16px;
}

.cat-count {
	background: var(--warm);
	padding: 6px 14px;
	border-radius: 40px;
	font-size: 14px;
	font-weight: 500;
	color: var(--sepia);
	letter-spacing: 0.5px;
}

.cat-artworks {
	font-weight: 500;
	color: var(--rust);
	font-size: 14px;
	letter-spacing: 1px;
}

.ill-cat-desc {
	font-size: 13px;
	color: var(--sepia);
	line-height: 1.55;
	margin-top: 10px;
	opacity: 0.85;
}

.category-icon-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	border-radius: 30px;
	padding: 6px 12px;
	font-size: 15px;
	font-weight: 500;
	color: white;
	letter-spacing: 0.6px;
	z-index: 3;
}

/* custom grid responsiveness */
@media (max-width: 768px) {
	.ill-cat-grid {
		gap: 20px;
	}

	.ill-cat-thumb {
		height: 200px;
		font-size: 48px;
	}

	.ill-cat-title {
		font-size: 1.4rem;
	}
}

.section-header-muted {
	color: var(--sepia);
	max-width: 680px;
	margin-top: 8px;
}

.breadcrumb-art .current-cat {
	color: var(--rust);
	font-weight: 500;
}

.mobile-menu-panel {
	position: fixed;
	top: 0;
	left: -100%;
	width: 85%;
	max-width: 340px;
	height: 100%;
	background: var(--cream);
	z-index: 1100;
	box-shadow: 6px 0 28px rgba(0, 0, 0, 0.1);
	transition: left 0.35s ease;
	padding: 28px 24px;
	overflow-y: auto;
}

.mobile-menu-panel.open {
	left: 0;
}

.mobile-menu-close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: var(--ink);
}

.mobile-nav-list {
	list-style: none;
	padding: 40px 0 0;
}

.mobile-nav-list li {
	margin-bottom: 20px;
}

.mobile-nav-list a {
	text-decoration: none;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ink);
	font-weight: 500;
	display: block;
}

.mobile-sub-links {
	padding-left: 20px;
	margin-top: 10px;
}

.mobile-sub-links a {
	font-size: 13px;
	text-transform: uppercase;
	color: var(--sepia);
	padding: 6px 0;
}

.menu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1050;
	opacity: 0;
	visibility: hidden;
	transition: 0.2s;
}

.menu-overlay.active {
	opacity: 1;
	visibility: visible;
}


/* Artist page specific overrides / additions */
.artist-profile-wrap {
	padding: 56px 0 96px;
}

.artist-sidebar {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
	position: sticky;
	top: 100px;
}

.artist-cover {
	height: 180px;
	background: var(--warm);
	position: relative;
	overflow: hidden;
}

.artist-avatar {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	border: 4px solid #fff;
	background: var(--sepia);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 48px;
	font-weight: 600;
	color: #fff;
	margin: -70px auto 0;
	position: relative;
	z-index: 2;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.artist-info {
	padding: 24px 28px 32px;
	text-align: center;
}

.artist-name {
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 6px;
}

.artist-location {
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--rust);
	margin-bottom: 16px;
}

.artist-bio {
	font-size: 14px;
	line-height: 1.65;
	color: var(--sepia);
	margin: 16px 0 20px;
	text-align: left;
}

.artist-stats {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	padding: 16px 0;
	margin: 16px 0;
}

.stat-cell {
	text-align: center;
	flex: 1;
}

.stat-number {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 600;
	color: var(--ink);
	line-height: 1;
}

.stat-label {
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sepia);
	margin-top: 6px;
}

.artist-social {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin: 20px 0 8px;
}

.artist-social a {
	width: 36px;
	height: 36px;
	background: var(--warm);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
	transition: all .2s;
	text-decoration: none;
}

.artist-social a:hover {
	background: var(--rust);
	color: #fff;
}

.artist-tag {
	display: inline-block;
	background: var(--warm);
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 30px;
	margin: 4px 4px;
	color: var(--sepia);
}

/* Tabs styling */
.artist-tabs {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
}

.tab-headers {
	display: flex;
	border-bottom: 1px solid var(--border);
	background: var(--cream);
}

.tab-btn {
	flex: 1;
	background: none;
	border: none;
	padding: 16px 12px;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--sepia);
	cursor: pointer;
	transition: all .2s;
	position: relative;
}

.tab-btn.active {
	color: var(--rust);
	background: #fff;
}

.tab-btn.active::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--rust);
}

.tab-pane {
	display: none;
	padding: 28px 24px;
}

.tab-pane.active {
	display: block;
}

.art-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

/* reuse existing .art-item styles from art_list.css but ensure they fit */
.art-item {
	transition: transform 0.2s,
	box-shadow 0.2s;
}



@media (max-width: 768px) {
	.artist-profile-wrap .row {
		flex-direction: column;
	}

	.artist-sidebar {
		margin-bottom: 32px;
		position: static;
	}

	.tab-pane {
		padding: 20px 16px;
	}
}

.toast {
	opacity: 1 !important;
	min-width: 280px;
}



.login-card .nav-tabs {
    border-bottom: 1px solid var(--border);
}
.login-card .nav-link {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sepia);
    border: none;
    background: none;
    padding: 8px 0;
    margin-right: 24px;
}
.login-card .nav-link.active {
    color: var(--rust);
    border-bottom: 2px solid var(--rust);
}
.login-card .nav-link:hover {
    color: var(--rust);
}



/* ===== OVERFLOW FIX — prevents mobile horizontal scroll ===== */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

/* Contain floated shapes */
.float-shape {
  overflow: hidden;
}

/* Marquee must not overflow */
.marquee-bar {
  overflow: hidden;
  max-width: 100vw;
}

/* Carousels must not bleed out */
.art-owl-carousel,
.illus-owl-carousel,
.illus-cat-track-wrap,
.art-cat-track-wrap {
  overflow: hidden;
  max-width: 100%;
}

/* Row gutters can bleed on mobile — contain them */
.container {
  overflow-x: clip;
}

/* Owl carousel items must not exceed viewport */
.owl-carousel .owl-item {
  max-width: 100%;
}
/* dropdown-menu display controlled by Bootstrap JS — do NOT force display:block here */
/* .dropdown-menu styles only for custom overrides below */

/* =====================================================
   MEGA MENU — Illustration & Art
   ===================================================== */
/* =====================================================
   MEGA MENU — Centered dropdown, two columns
   ===================================================== */
.nav-mega-wrap {
    position: relative;
}

.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid var(--border);
    border-top: 2px solid var(--rust);
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    z-index: 9998;
    padding: 28px 32px;
    width: 680px;
    max-width: 90vw;
    animation: megaDrop 0.2s ease;
}

.nav-mega-wrap:hover .mega-menu {
    display: block;
}

.mega-inner {
    width: 100%;
}

.mega-col-title {
    font-family: var(--font-display);
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--rust);
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
    border-bottom: 1px solid var(--border);
    padding-bottom: 8px;
    display: inline-block;
    width: auto;
}

.mega-col-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 28px;
}

.mega-col-links a {
    display: block;
    padding: 6px 0;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--light-ink);
    text-decoration: none;
    transition: color 0.2s;
    white-space: normal;
    line-height: 1.4;
}

.mega-col-links a:hover {
    color: var(--rust);
}

.mega-col-links a.mega-view-all {
    grid-column: span 2;
    text-align: center;
    margin-top: 16px;
    padding: 10px 16px;
    background: var(--ink);
    color: #fff;
    border-radius: 40px;
    font-weight: 600;
    letter-spacing: 1.5px;
    transition: background 0.2s;
}

.mega-col-links a.mega-view-all:hover {
    background: var(--rust);
}

@keyframes megaDrop {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .mega-menu {
        width: 85vw;
        padding: 20px;
    }
    .mega-col-links {
        gap: 8px 16px;
    }
    .mega-col-links a {
        font-size: 11px;
    }
}

@media (max-width: 576px) {
    .mega-col-links {
        grid-template-columns: 1fr;
    }
    .mega-col-links a.mega-view-all {
        grid-column: span 1;
    }
}

/* =====================================================
   PROFILE USER DROPDOWN — custom clean
   ===================================================== */
.user-dropdown-wrap {
    position: relative;
    display: inline-block;
}

.user-dropdown-panel {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 6px;
    box-shadow: 0 16px 48px rgba(1,58,102,.14);
    z-index: 9997;
    overflow: hidden;
    animation: megaDrop .18s ease;
}

.user-dropdown-wrap.open .user-dropdown-panel {
    display: block;
}

.user-dp-header {
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--warm);
}

.user-dp-name {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--ink);
    font-weight: 600;
}

.user-dp-role {
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sepia);
    margin-top: 2px;
}

.user-dp-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 18px;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--light-ink);
    text-decoration: none;
    transition: background .15s, color .15s;
    border-bottom: 1px solid var(--border);
}

.user-dp-links a:last-child {
    border-bottom: none;
}

.user-dp-links a:hover {
    background: var(--warm);
    color: var(--rust);
}

.user-dp-links a i {
    width: 16px;
    text-align: center;
    color: var(--sepia);
    font-size: 13px;
}

.user-dp-links a:hover i {
    color: var(--rust);
}

/* btn-login keeps no dropdown-toggle caret from Bootstrap */
.btn-login.user-btn::after {
    display: none !important;
}

/* =====================================================
   REDESIGNED AUTH MODAL
   ===================================================== */
.auth-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99990;
    align-items: center;
    justify-content: center;
    background: rgba(1, 15, 30, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.auth-overlay.active {
    display: flex;
}

.auth-card {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 20px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 40px 100px rgba(1,58,102,.25);
    animation: authSlide .32s cubic-bezier(.4,0,.2,1);
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 540px;
}

.auth-card.forgot-card {
    grid-template-columns: 1fr;
    max-width: 460px;
}

@keyframes authSlide {
    from { transform: translateY(24px) scale(.97); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}

.auth-sidebar {
    background: var(--ink);
    padding: 48px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.auth-sidebar::before {
    content: '';
    position: absolute;
    top: -60px; right: -60px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: rgba(14,165,233,.10);
}

.auth-sidebar::after {
    content: '';
    position: absolute;
    bottom: 40px; left: -40px;
    width: 130px; height: 130px;
    border-radius: 50%;
    background: rgba(3,99,175,.15);
}

.auth-sidebar-logo {
    font-family: var(--font-display);
    font-size: 26px;
    color: #fff;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.auth-sidebar-logo span {
    color: var(--gold);
}

.auth-sidebar-tagline {
    font-size: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin-top: 6px;
}

.auth-sidebar-art {
    font-size: 72px;
    text-align: center;
    line-height: 1;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 8px 24px rgba(14,165,233,.3));
}

.auth-sidebar-quote {
    font-family: var(--font-display);
    font-size: 16px;
    font-style: italic;
    color: rgba(255,255,255,.65);
    line-height: 1.6;
    position: relative;
    z-index: 1;
}

.auth-body {
    padding: 40px 44px;
    overflow-y: auto;
    max-height: 90vh;
}

.auth-close {
    position: absolute;
    top: 14px;
    right: 18px;
    font-size: 22px;
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    z-index: 10;
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s, color .15s;
}

.auth-close:hover {
    background: var(--warm);
    color: var(--rust);
}

/* Tab switcher */
.auth-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 28px;
    border-bottom: 2px solid var(--border);
}

.auth-tab-btn {
    background: none;
    border: none;
    padding: 10px 0;
    margin-right: 28px;
    font-size: 15px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: #aaa;
    cursor: pointer;
    position: relative;
    transition: color .2s;
}

.auth-tab-btn::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0; right: 0;
    height: 2px;
    background: var(--rust);
    transform: scaleX(0);
    transition: transform .2s;
}

.auth-tab-btn.active {
    color: var(--rust);
}

.auth-tab-btn.active::after {
    transform: scaleX(1);
}

.auth-tab-pane {
    display: none;
}

.auth-tab-pane.active {
    display: block;
}

/* Floating label fields */
.auth-field {
    position: relative;
    margin-bottom: 20px;
}

.auth-field label {
    position: absolute;
    left: 14px;
    top: 14px;
    font-size: 14px;
    letter-spacing: 1px;
    color: #aaa;
    pointer-events: none;
    transition: all .18s ease;
    background: #fff;
    padding: 0 4px;
    text-transform: uppercase;
}

.auth-field input {
    width: 100%;
    border: 1.5px solid var(--border);
    border-radius: 4px;
    padding: 16px 14px 8px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--ink);
    outline: none;
    transition: border-color .18s;
    background: #fff;
}

.auth-field input:focus,
.auth-field input:not(:placeholder-shown) {
    border-color: var(--rust);
}

.auth-field input:focus + label,
.auth-field input:not(:placeholder-shown) + label {
    top: -8px;
    font-size: 10px;
    color: var(--rust);
    letter-spacing: 2px;
}

.auth-field.has-icon input {
    padding-right: 44px;
}

.auth-field-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #bbb;
    cursor: pointer;
    font-size: 14px;
    transition: color .15s;
    background: none;
    border: none;
    padding: 0;
}

.auth-field-icon:hover {
    color: var(--rust);
}

/* OTP boxes */
.otp-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 20px 0;
}

.otp-box {
    width: 56px;
    height: 60px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    font-family: var(--font-display);
    border: 2px solid var(--border);
    border-radius: 6px;
    outline: none;
    transition: border-color .18s, box-shadow .18s;
    color: var(--ink);
}

.otp-box:focus {
    border-color: var(--rust);
    box-shadow: 0 0 0 3px rgba(3,99,175,.12);
}

/* Submit button */
.auth-submit {
    width: 100%;
    padding: 14px;
    background: var(--ink);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .1s;
    margin-top: 4px;
}

.auth-submit:hover {
    background: var(--rust);
    transform: translateY(-1px);
}

.auth-submit:active {
    transform: translateY(0);
}

.auth-divider {
    text-align: center;
    position: relative;
    margin: 20px 0;
    font-size: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #bbb;
}

.auth-divider::before, .auth-divider::after {
    content: '';
    position: absolute;
    top: 50%; width: calc(50% - 28px);
    height: 1px;
    background: var(--border);
}
.auth-divider::before { left: 0; }
.auth-divider::after  { right: 0; }

.auth-forgot-link {
    font-size: 15px;
    letter-spacing: 1px;
    color: var(--sepia);
    text-decoration: none;
    float: right;
    margin-top: -14px;
    margin-bottom: 16px;
    display: block;
    text-align: right;
    transition: color .15s;
}

.auth-forgot-link:hover {
    color: var(--rust);
}

.auth-step-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 28px;
}

.auth-step-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--border);
    transition: background .2s, transform .2s;
}

.auth-step-dot.active {
    background: var(--rust);
    transform: scale(1.3);
}

.auth-step-dot.done {
    background: var(--sepia);
}

.auth-step-title {
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--ink);
    margin-bottom: 6px;
}

.auth-step-sub {
    font-size: 14px;
    color: #888;
    letter-spacing: 1px;
    margin-bottom: 24px;
}

/* Responsive */
@media (max-width: 700px) {
    .auth-card {
        grid-template-columns: 1fr;
        max-width: 420px;
    }
    .auth-sidebar {
        display: none;
    }
    .auth-body {
        padding: 36px 24px;
    }
}

@media (max-width: 992px) {
    .mega-inner {
        grid-template-columns: 1fr 1fr;
    }
    .mega-featured {
        display: none;
    }
}
