/* Suli page templates add-on. Site Settings global colors and fonts only (variables come from snippet 7783's .suli-pt). */

/* ---------- Banner polish: one Laura photo on desktop ---------- */
@media (min-width: 1025px) {
	/* Desktop shows the large cutout, so drop the small headshot and the duplicate name tag. */
	.suli-pt-hero--practice .suli-pt-voice__img,
	.suli-pt-hero--hub .suli-pt-voice__img { display: none !important; }
	.suli-pt-hero__cut figcaption { display: none; }
	.suli-pt-voice__tag { display: none; }
}

/* ---------- Page copy polish ---------- */
/* Card lists: when the count is odd, the last card spans the full row (no empty hole). */
.suli-checks .elementor-icon-list-items > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* Headings sit closer to the text they introduce. */
.suli-pt-body .elementor-widget-text-editor h2,
.suli-pt-body .elementor-widget-text-editor h3 { margin-top: 28px; margin-bottom: 10px; }
.suli-pt-body .elementor-widget-text-editor > *:first-child,
.suli-pt-body .elementor-widget-text-editor h2:first-child,
.suli-pt-body .elementor-widget-text-editor h3:first-child { margin-top: 0; }
.suli-pt-body .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- v1.1.2: attorney photo sits on the bottom edge of the banner (was floating) ---------- */
@media (min-width: 1025px) {
	.suli-pt-hero .suli-pt-hero__cut { margin: 0 0 -56px !important; align-self: end; }
	.suli-pt-hero .suli-pt-hero__cut img { display: block; margin: 0; }
}

/* ---------- v1.1.0: placement ---------- */
.suli-pt-move { display: none; }
.suli-pt-move.is-placed { display: block; }
.suli-pt-body .elementor > .suli-pt-move { width: 100%; }

/* ---------- v1.1.0: stats bar (replaces chips) ---------- */
.suli-pt-stats { list-style: none; margin: 20px 0 0; padding: 16px 0 0; display: flex; flex-wrap: wrap; border-top: 1px solid color-mix(in srgb, var(--pt-white) 22%, transparent); max-width: 620px; }
.suli-pt-stats li { padding: 0 24px; border-left: 1px solid color-mix(in srgb, var(--pt-gold) 55%, transparent); }
.suli-pt-stats li:first-child { padding-left: 0; border-left: 0; }
.suli-pt-stats b { display: block; font-family: var(--pt-serif); font-weight: 700; font-size: 32px; line-height: 1.05; color: var(--pt-gold); }
.suli-pt-stats b i { font-style: normal; font-size: .72em; vertical-align: .12em; }
.suli-pt-stats span { display: block; margin-top: 6px; font: 600 12.5px/1.2 var(--pt-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--pt-white); }

/* v1.4.0: fee promise right under the banner buttons (the v1.1.3 disclaimer under the bar is gone) */
.suli-pt-assure { display: flex; align-items: center; gap: 8px; margin: 12px 0 0 !important; font: 600 15px/1.3 var(--pt-sans); color: var(--pt-white); }
.suli-pt-assure svg { width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--pt-gold); color: var(--pt-navy); flex: none; }

/* ---------- v1.1.0: banner photo ---------- */
.suli-pt-hero__bg--photo img { object-position: center 60%; filter: saturate(.8); }
.suli-pt-hero--photo .suli-pt-hero__shade { background: linear-gradient(90deg, color-mix(in srgb, var(--pt-navy) 95%, transparent) 0%, color-mix(in srgb, var(--pt-navy) 86%, transparent) 45%, color-mix(in srgb, var(--pt-navy) 45%, transparent) 100%); }

/* ---------- v1.1.0: first steps strip ---------- */
.suli-pt-steps { background: var(--pt-off); border-top: 1px solid var(--pt-line); border-bottom: 1px solid var(--pt-line); }
.suli-pt-steps__in { max-width: 1140px; margin: 0 auto; padding: 36px 24px 38px; }
.suli-pt-steps .suli-pt-steps__h2 { margin: 0 0 18px; font-family: var(--pt-serif); font-weight: 700; color: var(--pt-navy); font-size: var(--e-global-typography-c77f9ee-font-size, 28px); line-height: 1.2; }
.suli-pt-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; counter-reset: step; }
.suli-pt-steps__list li { counter-increment: step; background: var(--pt-white); border: 1px solid var(--pt-line); border-top: 3px solid var(--pt-gold); border-radius: 8px; padding: 16px 15px 18px; font: 400 15px/1.5 var(--pt-sans); color: var(--pt-text); }
.suli-pt-steps__list li strong { display: block; font: 700 17px/1.3 var(--pt-sans); color: var(--pt-navy); margin-bottom: 6px; }
.suli-pt-steps__list li span { display: block; }
.suli-pt-steps__list li::before { content: counter(step); display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--pt-navy); color: var(--pt-gold); font: 700 15px/1 var(--pt-sans); margin-bottom: 10px; }

/* ---------- v1.1.0: case results strip ---------- */
.suli-pt-results { margin: 0; background: var(--pt-off); border: 1px solid var(--pt-line); border-left: 4px solid var(--pt-gold); border-radius: 10px; padding: 28px 30px 26px; }
.suli-pt-results__eyebrow { margin: 0 0 6px !important; font: 700 12.5px/1.2 var(--pt-sans); letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--pt-gold) 70%, var(--pt-navy)); }
.suli-pt-results .suli-pt-results__h2 { margin: 0 0 18px; font-family: var(--pt-serif); font-weight: 700; color: var(--pt-navy); font-size: var(--e-global-typography-c77f9ee-font-size, 28px); line-height: 1.2; }
.suli-pt-results__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.suli-pt-results__list li { background: var(--pt-navy); border-radius: 8px; padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 6px; }
.suli-pt-results__list b { font-family: var(--pt-serif); font-weight: 700; font-size: 30px; line-height: 1.05; color: var(--pt-gold); }
.suli-pt-results__list span { font: 600 15px/1.3 var(--pt-sans); color: var(--pt-white); }
.suli-pt-results__list em { font: 700 11.5px/1.2 var(--pt-sans); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--pt-ice); }
.suli-pt-results__disc { margin: 14px 0 0 !important; font-size: 13px; line-height: 1.5; color: var(--pt-text); }
.suli-pt-results__all { display: inline-block; margin-top: 10px; font: 700 13.5px/1 var(--pt-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--pt-navy) !important; text-decoration: underline; text-decoration-color: var(--pt-gold); text-underline-offset: 4px; }

@media (max-width: 767px) {
	.suli-pt-stats { margin-top: 16px; padding-top: 14px; flex-wrap: nowrap; }
	.suli-pt-stats li { padding: 0 12px; flex: 1 1 0; }
	.suli-pt-stats b { font-size: 22px; }
	.suli-pt-stats span { font-size: 10.5px; letter-spacing: .06em; }
	.suli-pt-assure { justify-content: center; font-size: 14.5px; margin-top: 10px !important; }
	.suli-pt-steps__in { padding: 28px 16px 30px; }
	.suli-pt-steps .suli-pt-steps__h2 { font-size: 22px; }
	.suli-pt-steps__list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.suli-pt-steps__list li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 12px; align-items: start; padding: 13px 14px; border-top-width: 1px; border-left: 3px solid var(--pt-gold); }
	.suli-pt-steps__list li strong, .suli-pt-steps__list li span { grid-column: 2; }
	.suli-pt-steps__list li::before { margin: 0; grid-row: 1 / span 2; width: 26px; height: 26px; font-size: 13px; }
	.suli-pt-steps__list li strong { font-size: 16px; margin-bottom: 3px; }
	.suli-pt-results { padding: 22px 16px 20px; }
	.suli-pt-results .suli-pt-results__h2 { font-size: 22px; }
	.suli-pt-results__list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.suli-pt-results__list li { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 14px 16px; }
	.suli-pt-results__list b { font-size: 24px; }
}

/* Fix Session 1 (Nov 2, 2026): lining figures so "$10M+" and "5.0" don't read as "$1oM+" and "5.o" (Baskervville old-style numbers). */
.suli-pt-stats { font-variant-numeric: lining-nums; }
