/* Shared luxury design language for all personality pages */
:root {
	--lux-bg: #0f0e0c;
	--lux-bg-soft: #171510;
	--lux-surface: rgba(26, 23, 17, 0.72);
	--lux-border: rgba(206, 176, 120, 0.35);
	--lux-gold: #d6b16f;
	--lux-gold-soft: #f0d9a8;
	--lux-text: #f7f0df;
	--lux-text-muted: #d3c2a2;
	--lux-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
	--lux-container-max: 1160px;
	--lux-gutter: clamp(14px, 2.6vw, 28px);
}

body.luxury-profile {
	background:
		radial-gradient(1200px 600px at 8% 2%, rgba(182, 141, 68, 0.16), transparent 60%),
		radial-gradient(1000px 520px at 95% 18%, rgba(120, 86, 34, 0.15), transparent 60%),
		linear-gradient(180deg, #0f0e0c 0%, #11100d 42%, #0b0a08 100%);
	color: var(--lux-text);
	font-family: "Plus Jakarta Sans", "Poppins", sans-serif;
}

body.luxury-profile #page-content {
	position: relative;
	padding-bottom: 40px;
}

body.luxury-profile .ph-inner.tt-wrap,
body.luxury-profile #page-content .tt-section-inner.tt-wrap,
body.luxury-profile #tt-footer .tt-section-inner.tt-wrap {
	max-width: var(--lux-container-max);
	padding-left: var(--lux-gutter);
	padding-right: var(--lux-gutter);
	margin-left: auto;
	margin-right: auto;
}

body.luxury-profile #page-content::before {
	content: "";
	position: absolute;
	top: 28px;
	bottom: 0;
	left: max(var(--lux-gutter), calc((100vw - var(--lux-container-max)) / 2));
	right: max(var(--lux-gutter), calc((100vw - var(--lux-container-max)) / 2));
	background: linear-gradient(145deg, rgba(214, 177, 111, 0.08), rgba(214, 177, 111, 0));
	border-radius: 28px;
	pointer-events: none;
	z-index: -1;
}

body.luxury-profile #page-content .tt-section {
	padding: 0;
	margin-top: clamp(20px, 3vw, 34px);
}

body.luxury-profile #page-content .tt-section-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 22px;
}

body.luxury-profile .ph-title-wrap h1 {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: clamp(48px, 7vw, 108px);
	line-height: 0.92;
	letter-spacing: 0.02em;
	font-weight: 600;
	text-transform: none;
	color: var(--lux-gold-soft);
	text-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body.luxury-profile .ph-category-wrap .tt-text-xl {
	color: var(--lux-text-muted);
	font-size: clamp(16px, 2.1vw, 22px);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.luxury-profile .ph-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	align-items: center;
	gap: 28px;
}

body.luxury-profile .ph-content,
body.luxury-profile .ph-image {
	min-width: 0;
}

body.luxury-profile .ph-image {
	position: static;
	top: auto;
	right: auto;
	width: 100%;
	justify-self: end;
}

body.luxury-profile .ph-image .ph-img-holder {
	width: 100%;
	max-width: 560px;
	margin-left: auto;
}

body.luxury-profile .ph-image img {
	display: block;
	width: 100%;
	height: auto;
}

body.luxury-profile .ph-content {
	background: var(--lux-surface);
	border: 1px solid var(--lux-border);
	border-radius: 20px;
	padding: clamp(20px, 2.5vw, 34px);
	box-shadow: var(--lux-shadow);
	backdrop-filter: blur(6px);
}

body.luxury-profile .project-info-list ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
}

body.luxury-profile .project-info-list li {
	border: 1px solid rgba(206, 176, 120, 0.26);
	background: rgba(15, 14, 11, 0.62);
	border-radius: 14px;
	padding: 14px 16px;
}

body.luxury-profile .project-info-list .tt-text-xs {
	letter-spacing: 0.14em;
	color: var(--lux-gold);
}

body.luxury-profile .project-info-list .tt-text-lg {
	color: var(--lux-text);
	overflow-wrap: anywhere;
}

body.luxury-profile .ph-image .ph-img-holder {
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(214, 177, 111, 0.35);
	box-shadow: var(--lux-shadow);
}

body.luxury-profile .ph-image img {
	transform: scale(1.03);
	transition: transform 0.8s ease;
}

body.luxury-profile .ph-image img:hover {
	transform: scale(1.08);
}

body.luxury-profile .tt-section-col {
	background: rgba(21, 18, 14, 0.66);
	border: 1px solid rgba(206, 176, 120, 0.24);
	border-radius: 18px;
	padding: clamp(18px, 2.2vw, 30px);
	min-width: 0;
}

body.luxury-profile .lux-points-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

body.luxury-profile .lux-point-card {
	background: linear-gradient(160deg, rgba(27, 23, 16, 0.92), rgba(15, 13, 10, 0.92));
	border: 1px solid rgba(214, 177, 111, 0.28);
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

body.luxury-profile .lux-point-title {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 30px;
	line-height: 1;
	font-weight: 600;
	color: var(--lux-gold-soft);
	margin-bottom: 8px;
}

body.luxury-profile .lux-point-card p {
	margin: 0;
	color: var(--lux-text-muted);
}

body.luxury-profile .lux-tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

body.luxury-profile .lux-tag {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	border: 1px solid rgba(214, 177, 111, 0.34);
	background: rgba(14, 12, 9, 0.68);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lux-gold-soft);
}

body.luxury-profile .lux-milestone-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 12px;
}

body.luxury-profile .lux-milestone-list li {
	position: relative;
	padding: 12px 14px 12px 40px;
	border: 1px solid rgba(214, 177, 111, 0.22);
	border-radius: 12px;
	background: rgba(18, 15, 12, 0.74);
	color: var(--lux-text-muted);
}

body.luxury-profile .lux-milestone-list li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 16px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #f6e1b8, #b98b43);
	box-shadow: 0 0 0 3px rgba(214, 177, 111, 0.2);
}

body.luxury-profile .tt-section-title,
body.luxury-profile .tt-section-subtitle {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--lux-gold-soft);
	margin-bottom: 12px;
}

body.luxury-profile .tt-text-md,
body.luxury-profile .tt-list li {
	color: var(--lux-text-muted);
}

body.luxury-profile .tt-list li::marker {
	color: var(--lux-gold);
}

body.luxury-profile #tt-footer {
	border-top: 1px solid rgba(206, 176, 120, 0.2);
	margin-top: 26px;
}

body.luxury-profile #tt-footer .tt-section-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
}

body.luxury-profile .tt-btn.tt-btn-link a,
body.luxury-profile .social-buttons a {
	color: var(--lux-gold-soft);
}

body.luxury-profile .tt-btn.tt-btn-link a:hover,
body.luxury-profile .social-buttons a:hover {
	color: #fff6de;
}

@media (max-width: 991px) {
	body.luxury-profile {
		--lux-gutter: clamp(14px, 4vw, 22px);
	}

	body.luxury-profile .ph-inner {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.luxury-profile .ph-image {
		order: -1;
		justify-self: stretch;
	}

	body.luxury-profile .ph-image .ph-img-holder {
		max-width: none;
		margin-left: 0;
	}

	body.luxury-profile .lux-points-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.luxury-profile #page-content .tt-section-inner {
		grid-template-columns: 1fr;
	}

	body.luxury-profile .project-info-list ul {
		grid-template-columns: 1fr;
	}

	body.luxury-profile #tt-footer .tt-section-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	body.luxury-profile #page-content::before {
		left: var(--lux-gutter);
		right: var(--lux-gutter);
		top: 18px;
		border-radius: 18px;
	}

	body.luxury-profile .page-header-inner,
	body.luxury-profile .ph-inner {
		padding-left: 0;
		padding-right: 0;
	}

	body.luxury-profile .ph-title-wrap h1 {
		font-size: clamp(38px, 14vw, 62px);
		line-height: 0.95;
	}

	body.luxury-profile .ph-content {
		padding: 16px;
	}

	body.luxury-profile .project-info-list ul,
	body.luxury-profile .lux-points-grid,
	body.luxury-profile .tt-section-inner {
		grid-template-columns: 1fr;
	}

	body.luxury-profile .tt-section-col {
		padding: 16px;
	}

	body.luxury-profile .lux-points-grid {
		grid-template-columns: 1fr;
	}
}
/* Model Portfolio Styles */
.mi-section {
    text-align: center;
    margin-bottom: 60px;
}
.mi-title {
    font-family: var(--lux-font-heading);
    font-size: 3rem;
    color: var(--lux-gold);
    margin-bottom: 30px;
}
.mi-images {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}
.mi-image-card {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.mi-image-card img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s ease;
}
.mi-image-card:hover img {
    transform: scale(1.05);
}

.brand-shoot-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 80px;
    gap: 40px;
}
.brand-shoot-row:nth-child(even) {
    flex-direction: row-reverse;
}
.brand-shoot-info {
    flex: 1;
    min-width: 300px;
}
.brand-shoot-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
}
.brand-shoot-logo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    background: #fff;
    padding: 5px;
}
.brand-shoot-title {
    font-family: var(--lux-font-heading);
    font-size: 2.5rem;
    margin: 0;
    color: var(--lux-gold);
}
.brand-shoot-type {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid var(--lux-gold);
    color: var(--lux-gold);
    font-size: 0.9rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 30px;
    margin-bottom: 20px;
}
.brand-shoot-desc {
    font-family: var(--lux-font-body);
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.7);
}
.brand-shoot-video {
    flex: 1.5;
    min-width: 300px;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
}
.brand-shoot-video video, .brand-shoot-video iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    border: none;
    display: block;
}
