/* ==========================================================================
   DBMK Investment Group — main stylesheet
   Pixel-perfect translation of the approved Claude Design prototype.
   Accent: #C79245 · Background: #080b11 · Typeface: Manrope
   ========================================================================== */

:root {
	--gold: #C79245;
	--gold-light: #E4B978;
	--gold-rgb: 199 146 69;
	--bg: #080b11;
	--text: #e9eaed;
	--maxw: 1440px;
	--pad: clamp(20px, 5vw, 64px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	overflow-x: hidden;
	background: var(--bg);
	color: var(--text);
	font-family: 'Manrope', system-ui, -apple-system, sans-serif;
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}
::selection { background: rgba(199, 146, 69, .3); color: #fff; }
img { max-width: 100%; display: block; }
a { color: inherit; }

@keyframes floatGlow { 0%, 100% { opacity: .5; } 50% { opacity: .85; } }
@keyframes dropIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes linkIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

/* --------------------------------------------------------------------------
   Shared button
   -------------------------------------------------------------------------- */
.btn--gold {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 17px 34px;
	border-radius: 11px;
	background: linear-gradient(135deg, var(--gold-light), var(--gold));
	color: #1a1305;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	box-shadow: 0 14px 40px -10px rgb(var(--gold-rgb) / .55);
	transition: transform .25s, box-shadow .25s;
}
.btn--gold:hover {
	transform: translateY(-2px);
	box-shadow: 0 20px 48px -10px rgb(var(--gold-rgb) / .7);
}

/* ==========================================================================
   HEADER (global)
   ========================================================================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	padding: 16px 0;
	background: rgba(8, 11, 17, .86);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.header-inner {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.brand {
	display: flex;
	align-items: baseline;
	gap: 10px;
	text-decoration: none;
}
.brand__name {
	font-weight: 800;
	font-size: clamp(21px, 4.5vw, 26px);
	letter-spacing: -.5px;
	color: #fff;
}
.brand__sub {
	font-size: clamp(9.5px, 2.3vw, 12px);
	font-weight: 600;
	letter-spacing: 3px;
	color: #8b9099;
	white-space: nowrap;
}

.nav {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
}
.nav__link {
	font-size: 14.5px;
	font-weight: 500;
	color: #cfd2d8;
	text-decoration: none;
	transition: color .2s;
}
.nav__link:hover { color: #fff; }
.nav__cta {
	font-size: 14px;
	font-weight: 600;
	color: var(--gold);
	text-decoration: none;
	padding: 10px 22px;
	border: 1px solid rgb(var(--gold-rgb) / .5);
	border-radius: 8px;
	transition: all .25s;
}
.nav__cta:hover {
	background: rgb(var(--gold-rgb) / .12);
	border-color: var(--gold);
}

/* Privacy page back link */
.header-back {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	font-weight: 600;
	color: var(--gold);
	text-decoration: none;
	padding: 9px 18px;
	border: 1px solid rgb(var(--gold-rgb) / .5);
	border-radius: 8px;
	transition: all .25s;
	white-space: nowrap;
}
.header-back:hover { background: rgb(var(--gold-rgb) / .12); }

/* Hamburger */
.nav-toggle {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 9px;
	cursor: pointer;
}
.nav-toggle__bar {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--gold);
	border-radius: 2px;
	transition: transform .3s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
}
.site-header.is-open .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header.is-open .nav-toggle__bar:nth-child(2) { opacity: 0; transform: scaleX(.3); }
.site-header.is-open .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile dropdown */
.mobile-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	flex-direction: column;
	padding: 8px clamp(18px, 5vw, 64px) 20px;
	background: rgba(8, 11, 17, .98);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .8);
	transform-origin: top;
}
.mobile-menu[hidden] { display: none; }
.site-header.is-open .mobile-menu {
	display: flex;
	animation: dropIn .28s cubic-bezier(.22, 1, .36, 1);
}
.mobile-menu__link {
	padding: 15px 4px;
	font-size: 16px;
	font-weight: 500;
	color: #dadce1;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	animation: linkIn .3s ease both .04s;
}
.mobile-menu__link:nth-of-type(2) { animation-delay: .1s; }
.mobile-menu__cta {
	margin-top: 16px;
	padding: 13px;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--gold);
	text-decoration: none;
	border: 1px solid rgb(var(--gold-rgb) / .55);
	border-radius: 9px;
	animation: linkIn .3s ease both .16s;
}
.mobile-menu__cta:hover { background: rgb(var(--gold-rgb) / .12); }

@media (max-width: 820px) {
	.nav { display: none; }
	.nav-toggle { display: flex; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero {
	position: relative;
	min-height: clamp(500px, 82vh, 680px);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: clamp(70px, 11vh, 104px) var(--pad) clamp(84px, 13vh, 124px);
	overflow: hidden;
}
.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
}
.hero__overlay { position: absolute; inset: 0; z-index: 1; }
.hero__overlay--linear {
	background: linear-gradient(180deg, rgba(8, 11, 17, .35) 0%, rgba(8, 11, 17, .70) 55%, rgba(8, 11, 17, .97) 100%);
}
.hero__overlay--radial {
	background: radial-gradient(120% 80% at 50% 18%, rgb(var(--gold-rgb) / .10) 0%, transparent 55%);
}
.hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--maxw);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.hero__eyebrow {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 4px;
	color: var(--gold);
	margin-bottom: 22px;
}
.hero__heading {
	font-weight: 800;
	font-size: clamp(33px, 6.6vw, 70px);
	line-height: 1.08;
	letter-spacing: -1.5px;
	color: #fff;
	margin-bottom: 24px;
}
.hero__subtitle {
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.6;
	color: #b6bac1;
	max-width: 480px;
	margin-bottom: 38px;
}

@media (max-width: 640px) {
	.hero {
		min-height: auto;
		padding: 56px var(--pad) 64px;
	}
	.hero__subtitle { margin-bottom: 30px; }
}

/* ==========================================================================
   BRANDS
   ========================================================================== */
.brands {
	position: relative;
	scroll-margin-top: 64px;
	padding: clamp(54px, 7vw, 88px) var(--pad) 96px;
	max-width: var(--maxw);
	margin: 0 auto;
}
.brands__eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 48px;
}
.brands__rule { width: 38px; height: 1px; }
.brands__rule--left { background: linear-gradient(90deg, transparent, rgb(var(--gold-rgb) / .6)); }
.brands__rule--right { background: linear-gradient(270deg, transparent, rgb(var(--gold-rgb) / .6)); }
.brands__label {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 4px;
	color: var(--gold);
}
.brands__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
}

.brand-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 42px 24px 34px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
	border: 1px solid rgba(255, 255, 255, .07);
	transition: transform .3s, border-color .3s, box-shadow .3s;
}
.brand-card:hover {
	transform: translateY(-6px);
	border-color: rgb(var(--gold-rgb) / .4);
	box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);
}
.brand-card--link {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}
.brand-card--link:hover .brand-card__name { color: var(--gold); }
.brand-card__logo {
	width: 118px;
	height: 118px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 26px;
}
.brand-card__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 14px;
}
.brand-card__name {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .2px;
	color: #fff;
	margin-bottom: 9px;
}
.brand-card__tag {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 2.5px;
	color: var(--gold);
	margin-bottom: 18px;
}
.brand-card__desc {
	font-size: 14.5px;
	line-height: 1.62;
	color: #a3a8b0;
	margin-bottom: 26px;
	max-width: 260px;
}
.brand-card__status {
	margin-top: auto;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 1.5px;
	padding: 11px 22px;
	border-radius: 30px;
}
.brand-card__status--active {
	color: #1a1305;
	border: 1px solid transparent;
	background: linear-gradient(135deg, var(--gold-light), var(--gold));
}
.brand-card__status--muted {
	color: #a3a8b0;
	border: 1px solid rgba(255, 255, 255, .16);
	background: transparent;
}

/* ==========================================================================
   FOOTER (global)
   ========================================================================== */
.site-footer {
	scroll-margin-top: 64px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: linear-gradient(180deg, #070a10, #05070b);
}
.footer-top {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 72px var(--pad) 0;
}
.footer-grid {
	display: flex;
	flex-direction: row;
	gap: clamp(36px, 5vw, 64px);
}
.footer-cta { flex: 1; min-width: 0; }
.footer-cta__heading {
	font-weight: 700;
	font-size: clamp(28px, 5vw, 34px);
	letter-spacing: -.5px;
	color: var(--gold);
	margin-bottom: 18px;
}
.footer-cta__text {
	font-size: 16px;
	line-height: 1.6;
	color: #aeb2ba;
	max-width: 360px;
	margin-bottom: 28px;
}
.footer-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 15px 26px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--gold-light), var(--gold));
	color: #1a1305;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: transform .25s;
}
.footer-cta__btn:hover { transform: translateY(-2px); }

.footer-divider {
	flex: none;
	width: 1px;
	align-self: stretch;
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .13) 16%, rgba(255, 255, 255, .13) 84%, transparent);
}

.footer-contacts {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 26px;
}
.footer-contact {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.footer-contact__icon {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(var(--gold-rgb) / .35);
	background: rgb(var(--gold-rgb) / .07);
}
.footer-contact__label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	color: var(--gold);
	margin-bottom: 5px;
}
.footer-contact__value {
	font-size: 15.5px;
	line-height: 1.45;
	color: #dfe1e6;
	text-decoration: none;
}
.footer-contact__email:hover { color: var(--gold); }

.footer-bottom {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad);
}
.footer-bottom__star {
	display: flex;
	justify-content: flex-end;
	padding: 24px 0;
}
.footer-star {
	width: 34px;
	height: 34px;
	background: linear-gradient(135deg, var(--gold-light), var(--gold));
	clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
	animation: floatGlow 4s ease-in-out infinite;
}
.footer-bottom__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 0 30px;
	border-top: 1px solid rgba(255, 255, 255, .06);
}
.footer__copyright { font-size: 13px; color: #6c727c; }
.footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(14px, 2.5vw, 30px);
}
.footer__links a {
	font-size: 13px;
	color: #878d96;
	text-decoration: none;
	transition: color .2s;
}
.footer__links a:hover { color: var(--gold); }

/* Slim footer (privacy) */
.site-footer--slim .footer-slim__inner {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 28px var(--pad);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.footer__back {
	font-size: 13px;
	color: #878d96;
	text-decoration: none;
	transition: color .2s;
}
.footer__back:hover { color: var(--gold); }

@media (max-width: 820px) {
	.footer-grid { flex-direction: column; }
	.footer-divider {
		width: 100%;
		height: 1px;
		align-self: auto;
		background: rgba(255, 255, 255, .09);
	}
}

/* ==========================================================================
   LEGAL / PRIVACY PAGE
   ========================================================================== */
.legal-hero {
	position: relative;
	padding: clamp(56px, 9vw, 96px) 0 clamp(36px, 5vw, 56px);
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.legal-hero__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(90% 120% at 50% -10%, rgb(var(--gold-rgb) / .10) 0%, transparent 60%);
}
.legal-hero__inner {
	position: relative;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad);
}
.legal-hero__eyebrow {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 4px;
	color: var(--gold);
}
.legal-hero__heading {
	font-weight: 800;
	font-size: clamp(34px, 6vw, 56px);
	line-height: 1.08;
	letter-spacing: -1.5px;
	color: #fff;
	margin: 18px 0 16px;
}
.legal-hero__intro {
	font-size: 16px;
	line-height: 1.6;
	color: #9298a3;
	max-width: 560px;
}
.legal-hero__updated {
	margin-top: 22px;
	font-size: 13px;
	color: #6c727c;
}

.legal-content {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: clamp(40px, 6vw, 72px) var(--pad) 80px;
	display: flex;
	flex-direction: column;
	gap: 44px;
}
.legal-section { display: flex; flex-direction: column; }
.legal-section__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
}
.legal-section__num {
	flex: none;
	font-weight: 800;
	font-size: 18px;
	color: var(--gold);
}
.legal-section__heading {
	font-weight: 700;
	font-size: 21px;
	letter-spacing: -.3px;
	color: #fff;
	margin-bottom: 14px;
}
/* Heading lives in the head row on the privacy template — keep spacing there. */
.legal-section__head .legal-section__heading { margin-bottom: 0; }
.legal-section__head { margin-bottom: 14px; }
.legal-section__content { font-size: 15.5px; line-height: 1.7; color: #aeb2ba; }
.legal-section__content p { margin-bottom: 14px; }
.legal-section__content p:last-child { margin-bottom: 0; }
.legal-section__content a {
	color: #dfe1e6;
	text-decoration: none;
	border-bottom: 1px solid rgb(var(--gold-rgb) / .5);
}
.legal-section__content a:hover { color: var(--gold); }
.legal-section__content ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin-top: 14px;
}
.legal-section__content li {
	position: relative;
	display: flex;
	gap: 12px;
	font-size: 15.5px;
	line-height: 1.6;
	color: #aeb2ba;
}
.legal-section__content li::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	margin-top: 9px;
	border-radius: 50%;
	background: var(--gold);
}
