/* =====================================================================
   Professional single testimonial (template "Testimonial - Professional")
   Palette: navy #1E2B6F / #31469B, red #AC181C, ink #0F172A, muted #5B6478, line #E4E8F2
   ===================================================================== */
.elementor .e-con.eh-tpro-wrap-hero, .elementor .e-con.eh-tpro-wrap-body { padding: 0 !important; margin: 0 !important; gap: 0 !important; }
.elementor .eh-tpro-wrap-hero > .elementor-element, .elementor .eh-tpro-wrap-body .elementor-element.elementor-widget-shortcode { width: 100% !important; max-width: none !important; margin: 0 !important; }

/* ---------- hero ---------- */
.eh-tpro-hero {
	position: relative; overflow: hidden; color: #fff;
	background: radial-gradient(900px 420px at 88% 10%, rgba(172, 24, 28, .28), rgba(172, 24, 28, 0) 60%),
	            linear-gradient(135deg, #141E52 0%, #1E2B6F 48%, #31469B 100%);
}
.eh-tpro-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size: 44px 44px; mask-image: linear-gradient(90deg, transparent, #000 60%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%);
}
.eh-tpro-hero__in {
	position: relative; z-index: 1; width: min(var(--eh-w, 1260px), 100% - 64px); margin: 0 auto;
	display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: center; padding: 72px 0 84px;
}
.eh-tpro-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 28px; font: 600 13.5px/1.4 Lato, Helvetica, Arial, sans-serif; color: rgba(255,255,255,.7); }
.eh-tpro-crumb a { color: #fff !important; text-decoration: none !important; opacity: .88; transition: opacity .2s ease; }
.eh-tpro-crumb a:hover { opacity: 1; text-decoration: underline !important; text-underline-offset: 3px; }
.eh-tpro-crumb > span[aria-hidden] { opacity: .45; }
.eh-tpro-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px !important; font: 800 12.5px/1.3 Lato, Helvetica, Arial, sans-serif !important; letter-spacing: 2.6px !important; text-transform: uppercase; color: #FF8A8D !important; }
.eh-tpro-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.eh-tpro-hero h1.eh-tpro-name {
	margin: 0 0 18px !important; padding: 0 !important; color: #fff !important; text-align: left !important;
	font: 400 clamp(36px, 4.4vw, 58px)/1.08 Marcellus, Georgia, serif !important; letter-spacing: -.5px !important; text-transform: none !important; text-wrap: balance;
}
.eh-tpro-hero h1.eh-tpro-name::after, .eh-tpro-hero h1.eh-tpro-name::before { content: none !important; display: none !important; }
.eh-tpro-school { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 30px !important; color: rgba(255,255,255,.9) !important; font: 600 18px/1.45 Lato, Helvetica, Arial, sans-serif !important; text-transform: capitalize; }
.eh-tpro-school svg { flex: none; width: 22px; height: 22px; margin-top: 1px; color: #FF8A8D; }
.eh-tpro-pills { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.eh-tpro-pills li { display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 12px 18px 12px 14px; border-radius: 14px;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.eh-tpro-pills li::before { content: none !important; }
.eh-tpro-pills svg { flex: none; width: 20px; height: 20px; color: #fff; padding: 8px; box-sizing: content-box; border-radius: 10px; background: rgba(172, 24, 28, .85); }
.eh-tpro-pills span { display: flex; flex-direction: column; gap: 2px; color: #fff; font: 700 15px/1.3 Lato, Helvetica, Arial, sans-serif; }
.eh-tpro-pills em { font-style: normal; font: 800 10.5px/1.2 Lato, Helvetica, Arial, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: rgba(255,255,255,.62); }

.eh-tpro-hero__photo { position: relative; margin: 0 !important; justify-self: end; width: 100%; max-width: 360px; }
.eh-tpro-hero__photo::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: 26px; border: 2px solid rgba(255,255,255,.22); z-index: 0; }
.eh-tpro-hero__photo img.eh-tpro-hero__img {
	position: relative; z-index: 1; display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%;
	border-radius: 24px !important; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .65); border: 0 !important;
}
.eh-tpro-hero__photo figcaption {
	position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px;
	background: rgba(255,255,255,.96); color: #1E2B6F; font: 800 12.5px/1.35 Lato, Helvetica, Arial, sans-serif; box-shadow: 0 14px 30px -14px rgba(15, 23, 42, .5);
}
.eh-tpro-hero__photo figcaption svg { flex: none; width: 18px; height: 18px; color: #AC181C; }

/* ---------- body layout ---------- */
.elementor .e-con.eh-tpro-wrap-body { background: linear-gradient(180deg, #F4F6FB 0, #F4F6FB 120px, #fff 120px) !important; padding: 0 0 88px !important; }
.elementor .e-con.eh-tpro-wrap-body > .e-con.eh-blog-layout { margin-top: -40px !important; position: relative; z-index: 2; gap: 40px !important; grid-template-columns: minmax(0, 1fr) 350px !important; }

/* story card */
.eh-tpro-story { background: #fff; border: 1px solid #E4E8F2; border-radius: 24px; padding: 52px 56px 44px; box-shadow: 0 30px 70px -40px rgba(17, 28, 73, .35); }
.eh-tpro-story__head { margin: 0 0 30px; padding: 0 0 26px; border-bottom: 1px solid #E4E8F2; }
.eh-tpro-story__head .eh-tpro-eyebrow { color: #AC181C !important; margin-bottom: 10px !important; }
.eh-tpro-story__head h2 { margin: 0 !important; padding: 0 !important; color: #1E2B6F !important; text-align: left !important; font: 400 clamp(26px, 2.4vw, 34px)/1.2 Marcellus, Georgia, serif !important; letter-spacing: -.2px !important; text-transform: none !important; }
.eh-tpro-story__head h2::after, .eh-tpro-story__head h2::before { content: none !important; display: none !important; }
.eh-tpro-story__body p { margin: 0 0 20px !important; color: #334155 !important; font: 400 17px/1.8 Lato, Helvetica, Arial, sans-serif !important; text-align: left !important; }
.eh-tpro-story__body p span, .eh-tpro-story__body p strong { font: inherit !important; color: inherit !important; }
.eh-tpro-story__body p strong { font-weight: 800 !important; color: #1E2B6F !important; }
.eh-tpro-story__body p.eh-tpro-lead { color: #0F172A !important; font: 500 20px/1.7 Lato, Helvetica, Arial, sans-serif !important; padding-left: 22px; border-left: 3px solid #AC181C; margin-bottom: 28px !important; }
.eh-tpro-close { position: relative; margin: 34px 0 6px !important; padding: 30px 32px 28px 84px !important; border: 0 !important; border-radius: 18px; background: linear-gradient(135deg, #F4F6FB, #EEF1FA); }
.eh-tpro-close > svg { position: absolute; left: 28px; top: 28px; width: 34px; height: 34px; color: #AC181C; opacity: .9; }
.eh-tpro-close p { margin: 0 !important; color: #1E2B6F !important; font: 600 18px/1.7 Lato, Helvetica, Arial, sans-serif !important; font-style: normal !important; }
.eh-tpro-sign { display: flex; align-items: center; gap: 14px; margin-top: 30px; padding-top: 26px; border-top: 1px solid #E4E8F2; }
.eh-tpro-sign__ic { flex: none; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #31469B, #1E2B6F); }
.eh-tpro-sign__ic svg { width: 22px; height: 22px; }
.eh-tpro-sign > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.eh-tpro-sign strong { color: #0F172A; font: 800 16px/1.3 Lato, Helvetica, Arial, sans-serif; }
.eh-tpro-sign em { color: #5B6478; font: 600 13.5px/1.4 Lato, Helvetica, Arial, sans-serif; font-style: normal; }

/* prev/next under the card */
.eh-tpro-wrap-body .eh-post-foot { margin-top: 28px !important; }

/* facts card */
.eh-tpro-facts { margin: 0 0 24px; background: #fff; border: 1px solid #E4E8F2; border-radius: 22px; padding: 28px 26px 12px; box-shadow: 0 30px 70px -44px rgba(17, 28, 73, .4); border-top: 4px solid #AC181C; }
.eh-tpro-facts__title { margin: 0 0 14px !important; padding: 0 !important; color: #1E2B6F !important; font: 400 22px/1.25 Marcellus, Georgia, serif !important; text-transform: none !important; letter-spacing: 0 !important; }
.eh-tpro-facts__title::after, .eh-tpro-facts__title::before { content: none !important; display: none !important; }
.eh-tpro-facts dl { margin: 0; }
.eh-tpro-facts__row { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid #EEF1F7; }
.eh-tpro-facts__row:last-child { border-bottom: 0; }
.eh-tpro-facts__ic { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #EEF1FA; color: #31469B; }
.eh-tpro-facts__ic svg { width: 19px; height: 19px; }
.eh-tpro-facts dt { margin: 0 0 3px; color: #5B6478; font: 800 11px/1.3 Lato, Helvetica, Arial, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; }
.eh-tpro-facts dd { margin: 0; color: #0F172A; font: 700 15.5px/1.45 Lato, Helvetica, Arial, sans-serif; text-transform: capitalize; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.eh-tpro-hero__in { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; padding: 56px 0 72px; }
	.elementor .e-con.eh-tpro-wrap-body > .e-con.eh-blog-layout { grid-template-columns: 1fr !important; width: calc(100% - 64px) !important; }
	.elementor .eh-tpro-wrap-body .e-con.eh-blog-aside { position: static !important; }
	.eh-tpro-story { padding: 40px 36px 36px; }
}
@media (max-width: 767px) {
	.eh-tpro-hero__in { grid-template-columns: 1fr; gap: 34px; width: calc(100% - 36px); padding: 34px 0 64px; }
	.eh-tpro-hero__photo { order: -1; justify-self: center; max-width: 260px; }
	.eh-tpro-hero__photo::before { inset: 12px -12px -12px 12px; }
	.eh-tpro-crumb { margin-bottom: 18px; font-size: 12.5px; }
	.eh-tpro-hero h1.eh-tpro-name { font-size: 34px !important; }
	.eh-tpro-school { font-size: 16px !important; margin-bottom: 22px !important; }
	.eh-tpro-pills { flex-direction: column; gap: 10px; }
	.eh-tpro-pills li { width: 100%; box-sizing: border-box; }
	.elementor .e-con.eh-tpro-wrap-body > .e-con.eh-blog-layout { width: calc(100% - 28px) !important; margin-top: -32px !important; gap: 24px !important; }
	.eh-tpro-story { padding: 30px 22px 26px; border-radius: 20px; }
	.eh-tpro-story__body p { font-size: 16px !important; line-height: 1.75 !important; }
	.eh-tpro-story__body p.eh-tpro-lead { font-size: 17.5px !important; padding-left: 16px; }
	.eh-tpro-close { padding: 64px 22px 22px !important; }
	.eh-tpro-close > svg { left: 22px; top: 22px; width: 28px; height: 28px; }
	.eh-tpro-close p { font-size: 16.5px !important; }
}
@media print { .eh-tpro-hero { background: #1E2B6F !important; } }

/* initials (no photo) + signature monogram */
.eh-tpro-hero__photo--initials { aspect-ratio: 4 / 5; }
.eh-tpro-initials { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 24px;
	background: linear-gradient(150deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 40px 80px -30px rgba(0,0,0,.6);
	color: #fff; font: 400 clamp(72px, 9vw, 120px)/1 Marcellus, Georgia, serif; letter-spacing: 2px; }
.eh-tpro-sign__ic { font: 800 15px/1 Lato, Helvetica, Arial, sans-serif; letter-spacing: .5px; }
.eh-tpro-story__body a { color: #31469B !important; text-decoration: underline !important; text-underline-offset: 3px; }
.eh-tpro-story__body a:hover { color: #AC181C !important; }
.eh-tpro-story__body :is(ul, ol) { margin: 0 0 20px 22px !important; color: #334155; font: 400 17px/1.8 Lato, Helvetica, Arial, sans-serif; }
.eh-tpro-story__body :is(h2, h3, h4) { color: #1E2B6F !important; font-family: Marcellus, Georgia, serif !important; text-align: left !important; margin: 30px 0 12px !important; }
@media (max-width: 767px) { .eh-tpro-hero__photo--initials { max-width: 200px; } }
