/*
Theme Name: Caymana Consulting
Theme URI: https://caymanaconsulting.com
Author: Caymana Consulting
Description: AI-powered digital marketing agency theme for Caymana Consulting — dark gold editorial design, fully editable from wp-admin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: caymana-consulting
*/

/* ===================== Reset & base ===================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	overflow-x: hidden;
	background: #111014;
	color: #eae7e1;
	font-family: 'Jost', system-ui, sans-serif;
	--gold: #d9a441;
	--hw: 300;
	--goldText: #e9c778;
	--goldHi: #f0c96a;
	--goldLine: rgba(217,164,65,0.28);
	--goldLine2: rgba(217,164,65,0.42);
	--goldLine3: rgba(217,164,65,0.6);
	--goldGrad: linear-gradient(100deg,#b07d2b,#e7bd5e 55%,#b07d2b);
}
img { max-width: 100%; height: auto; }
a { color: var(--goldText); text-decoration: none; }
a:hover { color: var(--goldHi); }
h1, h2, h3, h4, p, ul, li, figure { margin: 0; }
button { font-family: inherit; }
summary::-webkit-details-marker { display: none; }

.wrap { max-width: 1100px; margin: 0 auto; }
.wrap-wide { max-width: 1200px; margin: 0 auto; }
.wrap-narrow { max-width: 840px; margin: 0 auto; }

.eyebrow {
	font-size: 13.5px;
	letter-spacing: 0.34em;
	color: var(--gold);
	font-weight: 500;
	margin-bottom: 14px;
}

/* ===================== Animations ===================== */
@keyframes om-ring {
	0% { box-shadow: inset 0 0 0 1px var(--goldLine3), 0 0 0 0 rgba(217,164,65,0.45); }
	100% { box-shadow: inset 0 0 0 1px var(--goldLine3), 0 0 0 14px rgba(217,164,65,0); }
}
@keyframes om-spin { from { transform: rotateY(360deg); } to { transform: rotateY(0deg); } }
@keyframes om-fadeWord { 0% { opacity: 1; } 11% { opacity: 0; } 89% { opacity: 0; } 100% { opacity: 1; } }
@keyframes om-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ===================== Buttons ===================== */
.btn-pill {
	display: inline-block;
	background: var(--goldGrad);
	color: #161310;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.1em;
	border-radius: 999px;
	padding: 17px 36px;
	border: none;
	cursor: pointer;
}
.btn-square {
	display: inline-block;
	background: var(--goldGrad);
	color: #161310;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.1em;
	border-radius: 13px;
	padding: 18px 34px;
	border: none;
	cursor: pointer;
}
.btn-square--sm { border-radius: 12px; font-size: 15px; padding: 14px 26px; }
.btn-outline {
	display: inline-block;
	border: 1px solid rgba(234,231,225,0.25);
	color: #eae7e1;
	font-size: 17px;
	letter-spacing: 0.08em;
	border-radius: 13px;
	padding: 18px 34px;
}
.btn-outline--gold { border: 1px solid var(--goldLine3); color: var(--goldText); border-radius: 12px; padding: 16px 30px; }
.btn-arrow {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	background: var(--goldGrad);
	color: #161310;
	border-radius: 999px;
	padding: 9px 9px 9px 28px;
	font-weight: 600;
	font-size: 15.5px;
	letter-spacing: 0.1em;
	box-shadow: 0 14px 34px rgba(217,164,65,0.25);
	transition: transform 0.2s, box-shadow 0.2s;
}
.btn-arrow:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(217,164,65,0.35); color: #161310; }
.btn-arrow__circle {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: #161310;
	color: #e9c778;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	flex: 0 0 auto;
}
.btn-call {
	display: inline-block;
	background: var(--goldGrad);
	color: #161310;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.1em;
	border-radius: 999px;
	padding: 18px 38px;
}

/* ===================== Header / Navigation ===================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(15,14,18,0.92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.site-header--bordered { border-bottom: 1px solid var(--goldLine); }
.site-header__bar {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 12px clamp(18px,4vw,44px);
}
.site-logo { height: clamp(70px,11vw,100px); display: block; }
.nav-desktop { display: flex; gap: clamp(18px,3.2vw,38px); flex-wrap: wrap; align-items: center; }
.navlink { color: #eae7e1; font-size: 17px; letter-spacing: 0.16em; font-weight: 400; }
.navlink:hover { color: var(--goldText); }
.nav-mobile { display: none; }
@media (max-width: 1150px) {
	.nav-desktop { display: none !important; }
	.nav-mobile { display: block; }
	.nav-phone { display: none !important; }
}

.nav-phone {
	display: flex;
	align-items: center;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px var(--goldLine3);
	animation: om-ring 2.4s ease-out infinite;
	white-space: nowrap;
}
.nav-phone__icon { background: var(--goldGrad); color: #161310; padding: 11px 14px; font-size: 16px; line-height: 1; }
.nav-phone__num { padding: 11px 20px 11px 16px; color: var(--goldText); font-size: 15px; letter-spacing: 0.12em; font-weight: 500; }

/* Services dropdown (details/summary — no JS on interior pages) */
.nav-services { position: relative; }
.nav-services__summary { list-style: none; cursor: pointer; }
.nav-services__panel {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%);
	background: #17161b;
	border: 1px solid var(--goldLine2);
	border-radius: 14px;
	padding: 10px;
	box-shadow: 0 24px 60px rgba(0,0,0,0.5);
	width: 300px;
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.nav-services__panel a {
	display: flex;
	gap: 10px;
	align-items: baseline;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 15.5px;
	color: #c9c5bc;
}
.nav-services__num { font-size: 12.5px; color: var(--gold); font-weight: 500; }
.nav-services__all {
	display: block;
	margin-top: 4px;
	padding: 10px 12px;
	border-top: 1px solid var(--goldLine);
	font-size: 14px;
	letter-spacing: 0.12em;
	color: var(--goldText) !important;
}

/* Rich hover mega-menu used on the homepage */
.mega-services__wrap { position: relative; }
.mega-services__trigger { cursor: pointer; }
.mega-services__panel {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding-top: 14px;
	z-index: 30;
	display: none;
}
.mega-services__wrap:hover .mega-services__panel,
.mega-services__wrap:focus-within .mega-services__panel,
.mega-services__wrap.is-open .mega-services__panel { display: block; }
.mega-services__card {
	background: rgba(14,13,17,0.97);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border-radius: 22px;
	box-shadow: 0 40px 110px rgba(0,0,0,0.75), 0 2px 0 0 var(--gold) inset;
	width: min(640px,92vw);
	overflow: hidden;
	padding: 26px 26px 20px;
}
.mega-services__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 2px 26px; }
.mega-services__item {
	display: flex;
	gap: 14px;
	align-items: baseline;
	padding: 11px 12px;
	border-radius: 12px;
	color: #eae7e1;
	transition: background 0.2s;
}
.mega-services__item:hover { background: rgba(217,164,65,0.1); }
.mega-services__item-num { font-size: 12px; color: var(--gold); font-weight: 500; letter-spacing: 0.1em; flex: 0 0 22px; }
.mega-services__item-name { display: block; font-size: 16.5px; font-weight: 400; }
.mega-services__item-desc { display: block; font-size: 13px; color: #8d8a83; margin-top: 2px; font-weight: 300; }
.mega-services__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding: 16px 12px 4px;
	border-top: 1px solid rgba(234,231,225,0.08);
}
.mega-services__foot-note { font-size: 13px; color: #8d8a83; font-weight: 300; }
.mega-services__foot-links { display: flex; gap: 16px; align-items: center; }
.mega-services__call {
	background: var(--goldGrad);
	color: #161310;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.1em;
	border-radius: 999px;
	padding: 10px 20px;
	white-space: nowrap;
}

/* Mobile menu */
.nav-mobile__toggle {
	position: relative;
}
.nav-mobile__summary {
	list-style: none;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
	color: #e9c778;
	padding: 9px 13px;
	border: 1px solid var(--goldLine2);
	border-radius: 11px;
}
.nav-mobile__panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	background: rgba(14,13,17,0.98);
	border-radius: 16px;
	box-shadow: 0 34px 90px rgba(0,0,0,0.75), inset 0 2px 0 var(--gold);
	width: min(320px,88vw);
	max-height: 70vh;
	overflow: auto;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	z-index: 50;
}
.nav-mobile__panel > a { padding: 12px 14px; border-radius: 10px; font-size: 16px; color: #eae7e1; }
.nav-mobile__label {
	padding: 12px 14px 6px;
	font-size: 11.5px;
	letter-spacing: 0.26em;
	color: var(--gold);
	font-weight: 500;
	border-top: 1px solid rgba(234,231,225,0.08);
	margin-top: 6px;
}
.nav-mobile__svc { padding: 10px 14px; border-radius: 10px; font-size: 15px; color: #c9c5bc; }
.nav-mobile__all { padding: 10px 14px; border-radius: 10px; font-size: 14px; letter-spacing: 0.1em; color: var(--goldText) !important; }
.nav-mobile__call {
	margin-top: 8px;
	text-align: center;
	background: var(--goldGrad);
	color: #161310;
	font-weight: 600;
	font-size: 14.5px;
	letter-spacing: 0.1em;
	border-radius: 999px;
	padding: 13px;
}

/* ===================== Hero patterns ===================== */
.hero-radial { background: radial-gradient(120% 90% at 50% -10%, #1d1b15 0%, #111014 68%); }
.hero-simple { border-bottom: 1px solid var(--goldLine); }
.hero-simple__inner { padding: clamp(56px,9vw,96px) clamp(20px,5vw,44px) clamp(48px,7vw,72px); text-align: center; }
.hero-simple__tag { font-size: 13.5px; letter-spacing: 0.44em; color: var(--gold); font-weight: 500; margin-bottom: 20px; }
.hero-simple__title { margin: 0 auto 20px; max-width: 820px; font-size: clamp(42.5px,5.6vw,74px); line-height: 1.06; font-weight: 300; }
.hero-simple__body { margin: 0 auto; max-width: 620px; font-size: clamp(17px,2.4vw,20px); line-height: 1.65; font-weight: 300; color: #b9b5ac; }
.hero-simple__body--tight { margin: 0 auto 28px; max-width: 620px; }
.accent-italic { font-style: italic; color: var(--goldHi); }

/* Numbered service hero (big translucent watermark number) */
.svc-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--goldLine); }
.svc-hero__watermark {
	position: absolute;
	top: -40px;
	right: clamp(0px,2vw,40px);
	font-size: clamp(201.5px,30vw,425.5px);
	line-height: 1;
	font-weight: 600;
	color: rgba(234,231,225,0.05);
	pointer-events: none;
}
.svc-hero__inner { position: relative; padding: clamp(56px,9vw,96px) clamp(20px,5vw,44px) clamp(48px,7vw,72px); }
.svc-hero__eyebrow { font-size: 13.5px; letter-spacing: 0.4em; color: var(--gold); font-weight: 500; margin-bottom: 18px; }
.svc-hero__title { margin: 0 0 18px; max-width: 760px; font-size: clamp(42.5px,6vw,76px); line-height: 1.06; font-weight: 300; }
.svc-hero__tagline { margin: 0 0 30px; max-width: 560px; font-size: clamp(18px,2.6vw,21.5px); line-height: 1.6; font-weight: 300; color: #b9b5ac; }

/* ===================== Stats bar ===================== */
.stats-bar .wrap { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); }
.stats-bar__item { padding: 26px; text-align: center; border-right: 1px solid var(--goldLine); }
.stats-bar__item:last-child { border-right: none; }
.stats-bar__num { font-size: clamp(29px,4vw,33.5px); font-weight: 500; color: var(--goldText); }
.stats-bar__label { font-size: 12.5px; letter-spacing: 0.18em; color: #8d8a83; margin-top: 4px; }

/* ===================== Section containers ===================== */
.section-pad { padding: clamp(48px,7vw,72px) clamp(20px,5vw,44px); }
.section-pad-lg { padding: clamp(52px,8vw,84px) clamp(20px,5vw,44px); }
.section-pad-sm { padding: clamp(44px,7vw,64px) clamp(20px,5vw,44px); }
.section-dark { background: #141319; }
.section-darker { background: #0e0d11; }
.section-bordered-y { border-top: 1px solid var(--goldLine); border-bottom: 1px solid var(--goldLine); }
.section-bordered-t { border-top: 1px solid var(--goldLine); }
.section-title { font-size: clamp(31.5px,4.2vw,45px); font-weight: var(--hw); line-height: 1.12; }
.section-title-lg { font-size: clamp(33.5px,4.4vw,49.5px); font-weight: var(--hw); line-height: 1.1; }
.section-body { font-size: 17px; line-height: 1.65; font-weight: 300; color: #9d9a92; }

/* Two-column intro (why-it-matters / included card) */
.split-cols { padding: clamp(44px,7vw,64px) clamp(20px,5vw,44px); display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: clamp(28px,5vw,56px); }
.split-cols p { margin: 0 0 18px; font-size: 18.5px; line-height: 1.65; font-weight: 300; color: #b9b5ac; }
.split-cols__edge {
	border-left: 2px solid var(--gold);
	padding: 4px 0 4px 16px;
	font-size: 15.5px;
	line-height: 1.6;
	color: #9d9a92;
}
.split-cols__edge span { color: var(--goldText); }
.included-card { background: #191813; border: 1px solid var(--goldLine); border-radius: 16px; padding: 26px; align-self: start; }
.included-card__label { font-size: 13.5px; letter-spacing: 0.26em; color: var(--gold); font-weight: 500; margin-bottom: 14px; }
.included-card ul { margin: 0 0 18px; padding-left: 18px; font-size: 16px; line-height: 2; color: #c9c5bc; font-weight: 300; }
.included-card__built-for { font-size: 14.5px; color: #8d8a83; }

/* Three-step engagement grid */
.steps-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: clamp(20px,3vw,36px); }
.steps-grid__item { border-top: 2px solid var(--gold); padding-top: 16px; }
.steps-grid__num { font-size: 14.5px; letter-spacing: 0.26em; color: var(--goldText); font-weight: 500; margin-bottom: 8px; }
.steps-grid__body { font-size: 16px; line-height: 1.6; color: #9d9a92; font-weight: 300; }
.steps-grid--lg .steps-grid__item { padding-top: 18px; }
.steps-grid--lg .steps-grid__title { font-size: 18.5px; font-weight: 500; margin-bottom: 6px; }
.steps-grid--lg .steps-grid__body { font-size: 15.5px; }

/* CTA banner card */
.cta-banner-wrap { padding: 0 clamp(20px,5vw,44px); }
.cta-banner {
	margin: clamp(44px,7vw,56px) 0;
	border: 1px solid var(--goldLine2);
	border-radius: 18px;
	padding: clamp(32px,6vw,48px);
	text-align: center;
	background: linear-gradient(160deg,#1a170f,#131217);
}
.cta-banner__title { margin: 0 0 14px; font-size: clamp(29px,4.5vw,38px); font-weight: var(--hw); line-height: 1.14; }
.cta-banner__body { margin: 0 auto 26px; max-width: 460px; font-size: 18px; line-height: 1.6; font-weight: 300; color: #b9b5ac; }
.cta-banner__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* AI edge / human touch line */
.edge-touch { font-size: 14.5px; color: #8d8a83; }
.edge-touch span { color: var(--goldText); }

/* Feature tag pills */
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.pill-row--lg { gap: 10px; margin: 0 auto 30px; max-width: 820px; justify-content: center; }
.pill { border: 1px solid var(--goldLine); border-radius: 999px; padding: 8px 16px; font-size: 14.5px; color: #c9c5bc; }
.pill--lg { border: 1px solid var(--goldLine2); padding: 11px 20px; font-size: 15px; color: #d5d1c8; }

/* ===================== Home: hero slider ===================== */
.hero-slider { position: relative; overflow: hidden; }
.hero-slider__viewport { overflow: hidden; }
.hero-slider__track { display: flex; transition: transform 0.55s cubic-bezier(.4,0,.15,1); }
.hero-slider__slide {
	flex: 0 0 100%;
	box-sizing: border-box;
	padding: clamp(20px,2.5vw,32px) clamp(16px,2.5vw,40px) clamp(44px,5vw,56px);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: clamp(28px,4vw,40px);
}
.hero-slider__media {
	width: clamp(min(100%,340px), calc(100% - 384px), 100%);
	border-radius: 22px;
	border: 1px solid var(--goldLine2);
	box-shadow: 0 28px 80px rgba(0,0,0,0.5);
	aspect-ratio: 16/8;
	max-height: 760px;
	min-height: 300px;
	background: #191813 center/cover no-repeat;
}
.hero-slider__copy { max-width: 1280px; }
.hero-slider__tag { font-size: 14.5px; letter-spacing: 0.4em; color: var(--gold); font-weight: 500; margin-bottom: 22px; }
.hero-slider__title { margin: 0 0 22px; font-size: clamp(30px,3.4vw,64px); line-height: 1.12; font-weight: var(--hw); }
.hero-slider__accent { display: block; font-style: italic; color: var(--goldHi); line-height: 1.25; margin-top: 2px; }
.hero-slider__body { margin: 0 auto 32px; max-width: 620px; font-size: clamp(18px,2.6vw,21.5px); line-height: 1.6; font-weight: 300; color: #b9b5ac; }
.hero-slider__actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.hero-slider__arrow {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	width: 56px;
	height: 56px;
	border-radius: 999px;
	border: 1px solid var(--goldLine2);
	background: rgba(17,16,20,0.6);
	color: var(--goldText);
	font-size: 24.5px;
	cursor: pointer;
	font-family: 'Jost', sans-serif;
}
.hero-slider__arrow--prev { left: clamp(10px,2vw,22px); }
.hero-slider__arrow--next { right: clamp(10px,2vw,22px); }
.hero-slider__dots { display: flex; gap: 10px; justify-content: center; padding-bottom: 30px; }
.hero-slider__dot {
	width: 11px;
	height: 11px;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	transition: width 0.35s, background 0.35s;
	background: rgba(234,231,225,0.25);
	padding: 0;
}
.hero-slider__dot.is-active { width: 30px; background: var(--gold); }

/* Service hero mini-slider variant (numbered, 3-hero) used on Service.dc single-service pages */
.svc-mini-slider { position: relative; }

/* ===================== We help banner ===================== */
.we-help { background: linear-gradient(180deg,#141219,#111014); }
.we-help__inner { display: flex; align-items: center; gap: clamp(20px,4vw,48px); flex-wrap: wrap; padding: clamp(40px,6vw,68px) clamp(20px,5vw,44px); }
.we-help__label { flex: 0 0 auto; font-size: 13.5px; letter-spacing: 0.4em; color: var(--gold); font-weight: 500; }
.we-help__copy { flex: 2 1 420px; min-width: 0; padding-right: clamp(16px,3vw,48px); }
.we-help__word { font-size: clamp(30px,4.2vw,64px); line-height: 1.25; font-weight: var(--hw); font-style: italic; color: var(--goldHi); white-space: nowrap; }
.we-help__rest { font-size: clamp(24.5px,3.4vw,45px); line-height: 1.1; font-weight: var(--hw); margin-top: 6px; }
.we-help__divider { flex: 0 0 1px; align-self: stretch; background: var(--goldLine2); min-height: 80px; }
.we-help__desc { flex: 1 1 240px; margin: 0; font-size: clamp(15.5px,2vw,18px); line-height: 1.6; font-weight: 300; color: #9d9a92; }
@media (max-width: 700px) { .we-help__divider { display: none; } }

/* ===================== Reviews marquee ===================== */
.reviews-section { background: linear-gradient(180deg,#131217,#111014); }
.reviews-section__inner { display: flex; flex-wrap: wrap; align-items: stretch; }
.reviews-section__intro { flex: 1 1 300px; max-width: 420px; padding: clamp(32px,4vw,56px) clamp(24px,3vw,44px); display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.reviews-section__label { font-size: 13.5px; letter-spacing: 0.34em; color: var(--gold); font-weight: 500; }
.reviews-section__score { display: flex; align-items: baseline; gap: 12px; }
.reviews-section__score-num { font-size: clamp(58px,6vw,85px); font-weight: 500; line-height: 1; color: var(--goldHi); }
.reviews-section__stars { color: var(--gold); font-size: clamp(20px,2vw,27px); letter-spacing: 3px; }
.reviews-section__note { font-size: 17px; color: #b9b5ac; font-weight: 300; line-height: 1.5; }
.reviews-section__badge { font-size: 13.5px; color: #8d8a83; letter-spacing: 0.1em; display: flex; align-items: center; gap: 8px; }
.reviews-section__badge b { font-weight: 700; color: #8ab4f8; font-size: 15.5px; }
.reviews-marquee { flex: 2 1 480px; min-width: 0; overflow: hidden; padding: clamp(28px,3.5vw,44px) 0; display: flex; flex-direction: column; gap: 18px; border-left: 1px solid var(--goldLine); }
.reviews-marquee__row { display: flex; width: max-content; gap: 18px; padding-left: 18px; animation: om-marquee 60s linear infinite; }
.reviews-marquee__row--reverse { animation: om-marquee 75s linear infinite reverse; }
.review-card { flex: 0 0 340px; border-top: 2px solid var(--gold); background: rgba(234,231,225,0.03); border-radius: 0 0 14px 14px; padding: 16px 18px; }
.review-card__text { font-size: 16px; line-height: 1.55; color: #d5d1c8; font-weight: 300; font-style: italic; }
.review-card__foot { display: flex; justify-content: space-between; align-items: baseline; margin-top: 10px; }
.review-card__name { font-size: 13.5px; letter-spacing: 0.18em; color: var(--goldText); }
.review-card__stars { color: var(--gold); font-size: 12.5px; letter-spacing: 2px; }

/* ===================== Featured logos ===================== */
.featured-logos { text-align: center; }
.featured-logos__label { font-size: 13.5px; letter-spacing: 0.4em; color: #8d8a83; font-weight: 500; margin-bottom: 22px; }
.featured-logos__row { display: flex; gap: clamp(24px,5vw,64px); justify-content: center; align-items: baseline; flex-wrap: wrap; filter: grayscale(1); opacity: 0.75; }
.featured-logos__row span { font-size: clamp(20px,2.2vw,27px); color: #b9b5ac; }

/* ===================== Video embed ===================== */
.video-embed { max-width: 1000px; margin: 0 auto; border-radius: 20px; overflow: hidden; box-shadow: 0 40px 100px rgba(0,0,0,0.6), inset 0 2px 0 var(--gold); aspect-ratio: 16/9; background: #000; }
.video-embed iframe { width: 100%; height: 100%; border: none; display: block; }

/* ===================== Industries 3D wheel ===================== */
.word-wheel { perspective: 1500px; max-width: 980px; margin: 0 auto 10px; }
.word-wheel--sm { perspective: 1400px; max-width: 900px; margin: 26px auto 0; }
.word-wheel__stage { position: relative; height: clamp(200px,26vw,300px); transform-style: preserve-3d; animation: om-spin 40s linear infinite; }
.word-wheel--sm .word-wheel__stage { height: clamp(150px,20vw,220px); animation: om-spin 32s linear infinite; }
.word-wheel__item {
	position: absolute;
	left: 50%;
	top: 50%;
	white-space: nowrap;
	animation: om-fadeWord 40s linear infinite;
	font-size: clamp(19px,2.5vw,36px);
	font-weight: 300;
	color: #eae7e1;
}
.word-wheel--sm .word-wheel__item { animation-duration: 32s; font-size: clamp(20px,2.6vw,36px); color: #e9c778; }
.word-wheel__item--accent { font-style: italic; color: var(--goldHi); }
.word-wheel__divider { width: 120px; height: 1px; background: var(--goldGrad); margin: 34px auto 26px; }
.word-wheel__links { display: flex; gap: 26px; flex-wrap: wrap; justify-content: center; }
.word-wheel__links a { font-size: 15px; letter-spacing: 0.14em; color: var(--goldText); }

/* ===================== Method / capabilities picker ===================== */
.picker-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: clamp(24px,4vw,52px); align-items: start; }
.picker-list { display: flex; flex-direction: column; }
.picker-list__item {
	display: flex;
	gap: 14px;
	align-items: baseline;
	width: 100%;
	padding: 16px 12px;
	border: none;
	border-top: 1px solid var(--goldLine);
	font-family: 'Jost', sans-serif;
	font-size: 19px;
	cursor: pointer;
	text-align: left;
	transition: background 0.2s, color 0.2s;
	background: transparent;
	color: #eae7e1;
}
.picker-list__item.is-active { background: rgba(217,164,65,0.08); color: var(--goldHi); }
.picker-list__num { font-size: 14px; color: var(--gold); font-weight: 500; flex: 0 0 30px; text-align: left; }
.picker-list__name { flex: 1; text-align: left; }
.picker-detail {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	background: linear-gradient(180deg,rgba(217,164,65,0.12),rgba(217,164,65,0.03) 34%,rgba(217,164,65,0) 62%),#15141a;
	box-shadow: 0 34px 80px rgba(0,0,0,0.5), inset 0 2px 0 var(--gold);
	padding: clamp(28px,4vw,44px);
	min-height: 340px;
}
.picker-detail__num {
	position: absolute;
	top: -40px;
	right: -6px;
	font-size: clamp(140px,16vw,220px);
	line-height: 1;
	font-weight: 600;
	color: rgba(234,231,225,0.05);
	pointer-events: none;
}
.picker-detail__content { position: relative; }
.picker-detail__label { font-size: 13px; letter-spacing: 0.3em; color: var(--gold); font-weight: 500; margin-bottom: 14px; }
.picker-detail__title { margin: 0 0 14px; font-size: clamp(27px,3.4vw,38px); font-weight: 300; line-height: 1.1; }
.picker-detail__desc { font-size: 18px; font-style: italic; color: var(--goldHi); margin-bottom: 14px; }
.picker-detail__long { margin: 0 0 26px; max-width: 440px; font-size: 16.5px; line-height: 1.65; font-weight: 300; color: #b9b5ac; }

/* ===================== "Why marketing fails" checklist ===================== */
.fail-list { display: flex; flex-direction: column; }
.fail-list__row { display: flex; gap: 14px; align-items: baseline; padding: 16px 2px; border-top: 1px solid var(--goldLine); }
.fail-list__row:last-child { border-bottom: 1px solid var(--goldLine); }
.fail-list__icon { color: #c96a5a; font-size: 15px; }
.fail-list__icon--ok { color: var(--goldText); }
.fail-list__title { font-size: 18px; font-weight: 500; }
.fail-list__title--ok { color: var(--goldText); }
.fail-list__desc { font-size: 15px; color: #9d9a92; font-weight: 300; }

/* ===================== Contact / mad-lib form ===================== */
.contact-section { background: radial-gradient(100% 120% at 50% 110%, #1d1a12 0%, #111014 60%); }
.contact-section__photo { width: 100%; height: clamp(180px,24vw,300px); overflow: hidden; border-bottom: 1px solid var(--goldLine); }
.contact-section__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 65%; display: block; }
.contact-section__eyebrow-row { display: flex; gap: clamp(18px,4vw,44px); justify-content: center; flex-wrap: wrap; font-size: 14.5px; letter-spacing: 0.14em; color: #8d8a83; }
.contact-section__eyebrow-row span.sep { color: var(--goldLine3); }
.contact-card {
	max-width: 820px;
	margin: 52px auto 0;
	text-align: left;
	background: linear-gradient(170deg,#191710,#131217);
	border-radius: 20px;
	box-shadow: 0 34px 80px rgba(0,0,0,0.5), inset 0 2px 0 var(--gold);
	padding: clamp(30px,4.5vw,52px);
	position: relative;
}
.contact-card__ribbon {
	position: absolute;
	top: -16px;
	left: clamp(30px,4.5vw,52px);
	background: var(--goldGrad);
	color: #161310;
	font-size: 13px;
	letter-spacing: 0.24em;
	font-weight: 600;
	border-radius: 999px;
	padding: 8px 20px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}
.contact-card__sentence { font-size: clamp(20px,2.4vw,25px); line-height: 2.2; font-weight: 300; color: #e2ded6; }
.contact-card__input, .contact-card__select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--goldLine3);
	color: var(--goldHi);
	font-family: 'Jost', sans-serif;
	font-style: italic;
	font-size: inherit;
	padding: 0 6px 2px;
	outline: none;
}
.contact-card__select { cursor: pointer; }
.contact-card__select option { color: #111; }
.contact-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 28px; border-top: 1px solid var(--goldLine); padding-top: 22px; }
.contact-card__consent { display: flex; gap: 10px; align-items: center; font-size: 13px; color: #b9b5ac; line-height: 1.4; cursor: pointer; }
.contact-card__consent input { accent-color: var(--gold); width: 18px; height: 18px; flex: 0 0 auto; }
.contact-card__robot { display: flex; align-items: center; gap: 12px; background: #1c1b21; border: 1px solid rgba(234,231,225,0.18); border-radius: 10px; padding: 12px 16px; cursor: pointer; }
.contact-card__robot input { accent-color: var(--gold); width: 20px; height: 20px; flex: 0 0 auto; }
.contact-card__robot-badge { display: flex; flex-direction: column; align-items: center; margin-left: 6px; }
.contact-card__submit {
	background: var(--goldGrad);
	border: none;
	border-radius: 999px;
	padding: 17px 38px;
	color: #161310;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.1em;
	font-family: 'Jost', sans-serif;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 10px 30px rgba(217,164,65,0.25);
}
.contact-card__msg { margin-top: 16px; font-size: 14px; color: var(--goldText); display: none; }
.contact-card__msg.is-visible { display: block; }

/* ===================== Footer ===================== */
.site-footer { background: #0c0b0f; }
.site-footer--bordered { border-top: 1px solid var(--goldLine); }
.site-footer__grid { padding: clamp(44px,6vw,64px) clamp(20px,5vw,44px) 36px; display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: clamp(28px,5vw,56px); }
.site-footer__logo { height: 92px; margin-bottom: 16px; display: block; }
.site-footer__tag { font-size: 15.5px; line-height: 1.6; color: #9d9a92; font-weight: 300; max-width: 280px; margin-bottom: 12px; }
.site-footer__motto { font-size: 13px; color: #5f5c56; letter-spacing: 0.06em; }
.site-footer__heading { font-size: 13px; letter-spacing: 0.3em; color: var(--gold); font-weight: 500; margin-bottom: 10px; }
.site-footer__links { display: flex; flex-direction: column; font-size: 16px; }
.site-footer__links a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 10px 2px;
	border-bottom: 1px solid rgba(234,231,225,0.08);
	color: #c9c5bc;
}
.site-footer__links a:last-child { border-bottom: none; }
.site-footer__links a:hover { color: var(--goldHi); border-bottom: 1px solid var(--goldLine3); }
.site-footer__links a span:first-child span { font-size: 11px; color: var(--gold); font-weight: 500; margin-right: 10px; }
.site-footer__links a span:last-child { color: var(--goldText); }
.site-footer__address { font-size: 15.5px; line-height: 1.9; color: #9d9a92; font-weight: 300; }
.site-footer__phones { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; font-size: 17px; }
.site-footer__bottom { border-top: 1px solid rgba(234,231,225,0.08); }
.site-footer__bottom-inner { padding: 18px clamp(20px,5vw,44px); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #5f5c56; letter-spacing: 0.06em; }
.site-footer__bottom-links { display: flex; gap: 14px; }
.site-footer__bottom-links a { color: #8d8a83; }

/* Simple footer variant used on service/legal pages */
.site-footer--simple .wrap,
.site-footer--simple .wrap-narrow { padding: 34px clamp(20px,5vw,44px); display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.site-footer--simple .site-footer__logo { height: 70px; margin-bottom: 14px; }
.site-footer--simple .site-footer__address { font-size: 15px; line-height: 1.8; }
.site-footer--simple-bottom { padding: 0 clamp(20px,5vw,44px) 26px; font-size: 13px; color: #5f5c56; letter-spacing: 0.06em; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

.sticky-call-bar { position: sticky; bottom: 0; z-index: 20; display: flex; gap: 1px; background: var(--goldLine3); }
.sticky-call-bar a { flex: 1; text-align: center; background: var(--goldGrad); color: #161310; font-weight: 600; font-size: 15px; letter-spacing: 0.1em; padding: 15px 0; }

/* ===================== Industries "who we serve" list rows ===================== */
.serve-list__row { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 18px 2px; border-top: 1px solid var(--goldLine); flex-wrap: wrap; }
.serve-list__name { font-size: 21px; font-weight: 400; }
.serve-list__desc { font-size: 15px; color: #8d8a83; text-align: right; max-width: 460px; }

/* Full-bench two-column rows (About page) */
.bench-row { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 14px 2px; border-top: 1px solid var(--goldLine); }
.bench-row--closed { border-bottom: 1px solid var(--goldLine); }
.bench-row__name { font-size: 18.5px; }
.bench-row__desc { font-size: 14px; color: #8d8a83; }
.pull-quote { margin-top: 22px; border-left: 2px solid var(--gold); padding: 4px 0 4px 16px; font-size: 16px; line-height: 1.65; color: #9d9a92; font-style: italic; }

/* ===================== Legal pages ===================== */
.legal-page h1 { margin: 0 0 8px; font-size: clamp(38px,5vw,58px); line-height: 1.08; font-weight: 300; }
.legal-page__meta { color: #8d8a83; font-size: 14.5px; margin: 0 0 8px; }
.legal-page h2 { font-size: 22.5px; font-weight: 500; margin: 34px 0 10px; }
.legal-page p, .legal-page li { font-size: 17px; line-height: 1.7; font-weight: 300; color: #b9b5ac; }
.legal-page ul { padding-left: 20px; }
.legal-page strong { color: #eae7e1; }

/* ===================== Utility ===================== */
.text-center { text-align: center; }
.mx-auto { margin-left: auto; margin-right: auto; }
