/* ============================================
   Diversify ALTUS 2026 — event template styles
   Tokens mirror assets/scss/1-settings/_colors.scss
   ============================================ */
.dv-hero, .dv-body, .dv-talk {
	--dv-gold: #9E7B19;
	--dv-gold-100: #F6EDC9;
	--dv-gold-200: #F1E2A9;
	--dv-gold-400: #BFA238;
	--dv-gold-600: #8A6A15;
	--dv-bg-gold: #F4F3EB;
	--dv-dark-300: #D4D4D8;
	--dv-dark-700: #3F434A;
	--dv-dark-900: #1C1C1C;
}

/* ---------- Hero ---------- */
.dv-hero {
	position: relative;
	padding: 80px 0 0;
	background-color: var(--dv-dark-900);
	background-image:
		linear-gradient(rgba(10, 10, 12, .82), rgba(10, 10, 12, .7)),
		var(--dv-hero-bg);
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.dv-hero { padding-bottom: 96px; }
.dv-logo {
	display: inline-block;
	background: #fff;
	border-radius: 14px;
	padding: 14px 26px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, .35);
}
.dv-logo__img { display: block; height: 52px; width: auto; max-width: 100%; }

.dv-hero__title {
	font-size: 56px;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #fff;
}
.dv-hero__tagline {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dv-gold-200);
}
.dv-hero__sub {
	font-size: 18px;
	line-height: 1.7;
	color: var(--dv-dark-300);
	max-width: 620px;
}
.dv-hero__meta {
	gap: 12px 32px;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}
.dv-hero__meta i { color: var(--dv-gold-400); }
.dv-hero__cta { font-size: 16px; padding: 15px 30px; }
.dv-hero__cta i { transition: transform .2s ease; }
.dv-hero__cta:hover i { transform: translateX(4px); }

/* ---------- Body ---------- */
.dv-body { background: #fff; padding: 96px 0; }
.dv-body__title {
	font-size: 34px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--dv-dark-900);
}
.dv-body__text { font-size: 18px; line-height: 1.8; color: var(--dv-dark-700); }
.dv-body__lead { font-size: 22px; font-weight: 600; line-height: 1.5; color: var(--dv-dark-900); }

.dv-exec { margin: 72px 0; }
.dv-exec__title, .dv-more__title {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--dv-dark-900);
}
.dv-card {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 28px;
	background: var(--dv-bg-gold);
	border: 1px solid var(--dv-gold-100);
	border-radius: 16px;
}
.dv-card__icon {
	flex: 0 0 48px;
	width: 48px; height: 48px;
	display: grid; place-items: center;
	border-radius: 12px;
	background: var(--dv-gold);
	color: #fff;
	font-size: 20px;
}
.dv-card__text { font-size: 17px; line-height: 1.65; color: var(--dv-dark-700); }
.dv-card__text strong { color: var(--dv-dark-900); font-weight: 700; }

/* ---------- Let's talk ---------- */
.dv-talk {
	background: var(--dv-bg-gold);
	padding: 100px 0;
	scroll-margin-top: 90px;
}
.dv-talk__title {
	font-size: 38px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--dv-dark-900);
}
.dv-talk__body {
	font-size: 17px;
	line-height: 1.75;
	color: var(--dv-dark-700);
}
.dv-talk__speaker {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 32px;
	padding: 16px 22px 16px 16px;
	max-width: 440px;
	background: #fff;
	border: 1px solid var(--dv-gold-100);
	border-left: 4px solid var(--dv-gold);
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(68, 51, 8, .07);
}
.dv-talk__avatar {
	flex: 0 0 84px;
	width: 84px; height: 84px;
	border-radius: 50%;
	overflow: hidden;
	background: radial-gradient(circle at 50% 70%, var(--dv-gold-200), var(--dv-gold-100));
	border: 2px solid var(--dv-gold-200);
}
.dv-talk__photo {
	display: block;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: 50% 6%;
	transform: scale(1.35);
	transform-origin: 50% 12%;
}
.dv-talk__label { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--dv-gold-600); }
.dv-talk__name { font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--dv-dark-900); }
.dv-talk__role { font-size: 14px; line-height: 1.4; color: var(--dv-dark-700); }
.dv-talk__form-wrap {
	background: #fff;
	border: 1px solid var(--dv-gold-100);
	border-radius: 16px;
	padding: 48px 44px;
	box-shadow: 0 4px 32px rgba(68, 51, 8, .08);
}
.dv-talk__form-title { font-size: 22px; font-weight: 700; color: var(--dv-dark-900); }

/* HubSpot form overrides */
.dv-talk__form-wrap .hs-form,
.dv-talk__form-wrap .hs-form-private { font-family: inherit !important; }
.dv-talk__form-wrap fieldset { max-width: 100% !important; border: none !important; padding: 0 !important; margin: 0 0 4px !important; }
.dv-talk__form-wrap .form-columns-2 { display: flex !important; gap: 16px !important; }
.dv-talk__form-wrap .form-columns-2 .hs-form-field { flex: 1 !important; width: auto !important; float: none !important; }
.dv-talk__form-wrap .hs-form-field { margin-bottom: 16px !important; }
.dv-talk__form-wrap .hs-form-field .input { margin-right: 0 !important; }
.dv-talk__form-wrap .hs-form-field > label {
	display: block !important; font-size: 13px !important; font-weight: 600 !important;
	color: var(--dv-dark-700) !important; margin-bottom: 6px !important;
}
.dv-talk__form-wrap .hs-input,
.dv-talk__form-wrap input[type="text"],
.dv-talk__form-wrap input[type="email"],
.dv-talk__form-wrap input[type="tel"],
.dv-talk__form-wrap input[type="number"],
.dv-talk__form-wrap select,
.dv-talk__form-wrap textarea {
	width: 100% !important;
	background: #f7f6f2 !important;
	border: 1px solid var(--dv-gold-200) !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
	font-family: inherit !important;
	color: var(--dv-dark-900) !important;
	box-shadow: none !important;
}
.dv-talk__form-wrap .hs-input:focus,
.dv-talk__form-wrap input:focus,
.dv-talk__form-wrap select:focus,
.dv-talk__form-wrap textarea:focus {
	outline: none !important;
	border-color: var(--dv-gold) !important;
	box-shadow: 0 0 0 3px rgba(158, 123, 25, .12) !important;
	background: #fff !important;
}
.dv-talk__form-wrap .hs-error-msgs { list-style: none !important; padding: 0 !important; margin: 4px 0 0 !important; }
.dv-talk__form-wrap .hs-error-msgs label { font-size: 12px !important; color: #c0392b !important; }
.dv-talk__form-wrap .hs-submit { margin-top: 8px !important; }
.dv-talk__form-wrap .hs-button,
.dv-talk__form-wrap input[type="submit"] {
	width: 100% !important;
	background: var(--dv-gold) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 15px 24px !important;
	cursor: pointer !important;
}
.dv-talk__form-wrap .hs-button:hover,
.dv-talk__form-wrap input[type="submit"]:hover { background: var(--dv-gold-600) !important; }
.dv-talk__form-wrap .legal-consent-container { font-size: 12px !important; margin-top: 12px !important; }
.dv-talk__form-wrap .legal-consent-container a { color: var(--dv-gold-600) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
	.dv-hero { padding-top: 64px; padding-bottom: 72px; }
	.dv-hero__title { font-size: 42px; }
	.dv-body { padding: 72px 0; }
	.dv-body__title { font-size: 28px; }
}
@media (max-width: 767.98px) {
	.dv-logo { padding: 10px 18px; }
	.dv-logo__img { height: 36px; }
	.dv-hero { padding-top: 48px; padding-bottom: 56px; }
	.dv-hero__title { font-size: 32px; }
	.dv-hero__tagline { font-size: 19px; }
	.dv-hero__sub { font-size: 16px; }
	.dv-hero__meta { flex-direction: column; align-items: center; gap: 10px; font-size: 15px; }
	.dv-hero__cta { width: 100%; justify-content: center; font-size: 15px; padding: 13px 20px; }
	.dv-body { padding: 56px 0; }
	.dv-body__title { font-size: 24px; }
	.dv-body__text { font-size: 16px; text-align: left; }
	.dv-body__lead { font-size: 18px; }
	.dv-exec { margin: 48px 0; }
	.dv-exec__title, .dv-more__title { font-size: 24px; }
	.dv-card { padding: 20px; }
	.dv-card__text { font-size: 16px; }
	.dv-talk { padding: 64px 0; }
	.dv-talk__title { font-size: 27px; }
	.dv-talk__speaker { margin-top: 24px; padding: 14px; gap: 14px; }
	.dv-talk__avatar { flex-basis: 68px; width: 68px; height: 68px; }
	.dv-talk__name { font-size: 17px; }
	.dv-talk__form-wrap { padding: 32px 22px; }
	.dv-talk__form-wrap .form-columns-2 { flex-direction: column !important; gap: 0 !important; }
}
