/* Site footer: Elementor template 80 (post-80.css), rendered at 1440 and 390 px. */

.site-footer { margin-top: 0; }
.site-footer > *, .site-footer-part { margin-block-start: 0 !important; }
.site-footer-part { margin-block-start: 0; }

/* Free case evaluation: heading, short red rule, grey card that holds the form. */
.site-footer__evaluation { padding: 100px 25px 0; background: var(--wp--preset--color--white); }
/* A page whose content ends on white (not a dark photo band, the grey intro band, or a cover) gets a
   thin divider and a shorter gap before the form, instead of 200 px of blank space (Steve, 2026-10-20). */
body:has(.wp-block-post-content > :last-child:not(.is-photo-bg, .cta-band, .wp-block-cover)) .wp-block-post-content > :last-child { padding-bottom: 60px; }
body:has(.wp-block-post-content > :last-child:not(.is-photo-bg, .cta-band, .wp-block-cover)) .site-footer__evaluation { padding-top: 0; }
body:has(.wp-block-post-content > :last-child:not(.is-photo-bg, .cta-band, .wp-block-cover)) .site-footer__evaluation::before {
	content: "";
	display: block;
	max-width: 1140px;
	margin: 0 auto 70px;
	border-top: 1px solid #e1e1e1;
}
.site-footer__evaluation-title { font-size: var(--wp--preset--font-size--title-2-caps); font-weight: 500; text-transform: uppercase; margin: 0; }
.site-footer__form-card { max-width: 1140px; margin: 0 auto; padding: 40px 118px 30px; background: var(--wp--preset--color--light); }
.site-footer__form-intro { font-family: var(--wp--preset--font-family--body); font-size: 18px; line-height: 27px; margin: 0 0 30px; }

/* Call-to-action band: portrait, heading, button, gavel; the band straddles the dark footer. */
/* overflow-x: clip cuts the gavel at the window edge below 1440 px, where it made the page scroll
   sideways by up to 125 px. It still overlaps the band vertically. */
.site-footer__cta { position: relative; overflow-x: clip; background: linear-gradient(to bottom, var(--wp--preset--color--white) 50%, var(--wp--preset--color--ink) 50%); padding: 0 25px; }
.site-footer__cta-card {
	position: relative;
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 502px 1fr;
	align-items: center;
	background: var(--wp--preset--color--light);
	overflow: visible;
}
.site-footer__cta-card::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 31%;
	height: 32%;
	background: var(--wp--preset--color--red);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.site-footer__cta-portrait { margin: 0; line-height: 0; }
.site-footer__cta-portrait img { width: 100%; height: auto; display: block; }
.site-footer__cta-text { position: relative; z-index: 1; padding-left: 80px; }
/* 44 px matches the old site's rendered width (its Plantin rendered narrower at 48 px). The right
   padding keeps the text clear of the gavel head, which sits about 130 px inside the column's
   right edge at every width; narrower screens wrap instead of running under it. */
.site-footer__cta-text h2 { font-size: 44px; font-weight: 500; margin: 0 0 25px; padding-right: 140px; }
.site-footer__cta-gavel { position: absolute; z-index: 2; right: -150px; top: 150px; width: 500px; height: auto; pointer-events: none; }

.wp-block-button.has-arrow .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-left: 12px;
	vertical-align: -1px;
	background: currentColor;
	-webkit-mask: url("../icons/arrow-right.svg") no-repeat center / contain;
	mask: url("../icons/arrow-right.svg") no-repeat center / contain;
}

/* Dark footer: logo, useful links, office info, rule, copyright. */
.site-footer__main { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); padding: 100px 25px 12px; }
.site-footer__columns { max-width: 1140px; margin: 0 auto 50px; gap: 30px; }
.site-footer__logo img { width: 310px; height: auto; }
.site-footer__main h3 { color: var(--wp--preset--color--white); font-size: 24px; text-transform: uppercase; margin: 10px 0 25px; }
.site-footer__list { list-style: none; margin: 0; padding: 0; }
.site-footer__list li { display: flex; align-items: center; gap: 15px; margin-bottom: 8px; }
.site-footer__list a,
.site-footer__office .wp-block-button__link {
	font-family: var(--wp--preset--font-family--body);
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: var(--wp--preset--color--white);
	background: none;
	padding: 0;
	text-align: left;
}
.site-footer__list a:is(:hover, :focus-visible),
.site-footer__office .wp-block-button__link:is(:hover, :focus-visible) { color: var(--jspa-link-on-dark); text-decoration: underline; text-underline-offset: 3px; }
.site-footer__icon { display: inline-flex; width: 16px; height: 16px; flex: 0 0 16px; color: var(--wp--preset--color--red); }
.site-footer__icon svg { width: 100%; height: 100%; }
.site-footer__office .site-footer__icon { color: #8fa4c2; margin-top: 4px; }
.site-footer__office-row { gap: 17px; margin-bottom: 14px; }
.site-footer .site-footer__rule { width: 100% !important; max-width: 1420px; margin: 0 auto; border: 0; border-top: 1px solid rgba(255, 255, 255, 0.4); opacity: 1; }
.site-footer__copyright { font-family: var(--wp--preset--font-family--body); font-size: 14px; line-height: 21px; margin: 20px 0 0; }

@media (max-width: 1024.98px) {
	.site-footer__cta-gavel, .site-footer__rule { display: none; }
	.site-footer__cta-text h2 { padding-right: 0; }
	.site-footer__form-card { padding: 30px; }
}
@media (max-width: 767.98px) {
	.site-footer__evaluation { padding-top: 60px; }
	.site-footer__form-card { padding: 30px 30px 20px; }
	.site-footer__cta { padding: 0; background: var(--wp--preset--color--ink); }
	.site-footer__cta-card { grid-template-columns: 1fr; }
	.site-footer__cta-card::after { width: 37%; height: 16%; }
	.site-footer__cta-text { padding: 30px 20px 30px; }
	.site-footer__cta-text h2 { font-size: 26px; }
	.site-footer__main { padding-top: 50px; text-align: center; }
	.site-footer__columns { margin-bottom: 0; }
	.site-footer .site-footer__links { display: none !important; }
	.site-footer__logo img { width: 235px; }
	.site-footer__office-row { justify-content: center; }
	.site-footer__main h3 { margin-top: 30px; }
	.site-footer__copyright { font-size: 12px; line-height: 18px; }
}
