/*
 * CaryTamura About page (/about/, Page 5467) — 2026 redesign.
 *
 * Loaded on this page only (functions.php), after page-hero.css and
 * sections.css. Below the split title band:
 *
 *   .ct-about-meet   a side column — Cary's portrait (CT Loop – Agent
 *                    Portrait, 5459) and his contact card (CT Loop – Agent
 *                    Contact, 5462), both reading the Cary Tamura agent
 *                    record (rb_agent 834) — beside the biography
 *   Testimonials     shared (sections.css), on paper
 *   Listings         section head, then the three-up listing carousel
 *                    (sections.css; Query ID ct_about_portfolio)
 *   search band, contact band   shared templates
 *
 * The original float-beside-the-biography layout is not reproduced.
 */

/* The page body's own padding is dropped: every section carries its own. */
.ct-page-body:has(.ct-about-meet) {
	padding-block: 0;
}

.ct-about-meet.e-con {
	flex-direction: row;
	align-items: flex-start;
	gap: clamp(40px, 6vw, 104px);
}

.ct-about-meet__side.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	--kit-widget-spacing: 0px;
	flex: 0 0 34%;
	width: 34%;
}

.ct-about-meet__main.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	--kit-widget-spacing: 0px;
	flex: 1 1 0;
	min-width: 0;
}

.ct-about-meet__title .elementor-heading-title {
	margin-bottom: 32px;
}

/* The biography: comfortable measure, a lead first paragraph. */
.ct-about-meet__bio p:first-child {
	font-family: var(--ct-font-display);
	font-size: clamp(20px, 1.7vw, 24px);
	line-height: 1.55;
	color: var(--ct-ink);
}

.ct-about-meet__bio ul {
	margin: 0 0 1.4em;
	padding-left: 1.2em;
}

.ct-about-meet__bio li::marker {
	color: var(--ct-accent);
}

/* Each loop shows one item; Elementor's grid would still reserve columns. */
.ct-about-meet__portrait .elementor-loop-container,
.ct-about-meet__contact .elementor-loop-container {
	display: block;
}

.ct-agent-portrait.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.ct-agent-portrait__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* The contact card: on paper, under the portrait. */
.ct-agent-contact.e-con {
	--padding-top: 28px;
	--padding-bottom: 28px;
	--padding-left: 28px;
	--padding-right: 28px;
	--row-gap: 0px;
	--kit-widget-spacing: 0px;
	background-color: var(--ct-paper);
	border-top: 3px solid var(--ct-accent);
}

.ct-agent-contact__name .elementor-heading-title {
	margin: 0 0 4px;
	font-family: var(--ct-font-display);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ct-ink);
}

.ct-agent-contact__position .elementor-heading-title {
	margin: 0 0 20px;
	font-family: var(--ct-font-body);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ct-label);
}

.ct-agent-contact .ct-agent-contact__info.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	border-top: 1px solid var(--ct-border);
}

.ct-agent-contact .ct-agent-contact__block.e-con {
	--padding-top: 12px;
	--padding-bottom: 12px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 2px;
	border-bottom: 1px solid var(--ct-border);
}

.ct-agent-contact__label .elementor-heading-title {
	margin: 0;
	font-family: var(--ct-font-body);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ct-label);
}

.ct-agent-contact__value .elementor-heading-title {
	margin: 0;
	font-family: var(--ct-font-body);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ct-ink);
	overflow-wrap: anywhere;
}

.ct-agent-contact__value a {
	color: var(--ct-ink);
	text-decoration: underline;
	text-decoration-color: var(--ct-accent);
	text-underline-offset: 4px;
}

.ct-agent-contact .ct-agent-contact__social.elementor-widget {
	margin-top: 20px;
}

.ct-agent-contact__social .elementor-social-icons-wrapper {
	text-align: left;
}

@media (max-width: 900px) {
	.ct-about-meet.e-con {
		flex-direction: column;
		align-items: stretch;
	}

	.ct-about-meet__side.e-con {
		flex: 0 0 auto;
		width: 100%;
		max-width: 440px;
	}
}
