/*
 * Blue Summit layout with Berke Law Firm brand foundations.
 * Palette and Manrope typography observed on yourinjurylawyer.com.
 * Existing component geometry and responsive structure are preserved.
 * Staged only: image slots remain wired by the existing WordPress components.
 */

@font-face {
	font-display: swap;
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/manrope-400.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/manrope-500.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/manrope-600.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/manrope-700.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Manrope";
	font-style: normal;
	font-weight: 800;
	src: url("../fonts/manrope-800.woff2") format("woff2");
}

:root {
	--primary: #efb84c;
	--secondary: #0b2d47;
	--text: #102c43;
	--accent: #efb84c;
	--accent-hover: #ffca66;
	--deep: #071d30;
	--muted: #566770;
	--line: #dce4e6;
	--white: #fff;
	--gray: #f4f4f4;
	--background: var(--white);

	--container-width: 90rem;
	--content-width: 47.5rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	background: var(--background);
	color: var(--text);
	margin: 0;
}

#page.site,
#content.site-content,
.berke-main--canvas {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--secondary);
	margin: 0 0 20px 0;

}

p,
ul,
ol {
	margin-block: 0 1.5em;
}

p {
	margin-bottom:20px;
}

a {
	color: var(--secondary);
}

img,
svg,
video {
	display: block;
	max-width: 100%;
}

.grid-container {
	margin-inline: auto;
	max-width: var(--container-width);
	padding-inline: 1rem;
	width: 100%;
}

/* Default page layout; full-width sections provide their own 1440px inner grid. */
.berke-main--standard {
	padding-block: clamp(3rem, 6vw, 6rem);
}

.berke-content-shell {
	margin-inline: auto;
	max-width: var(--container-width);
	padding-inline: 1rem;
	width: 100%;
}

.berke-page__title {
	margin-bottom: 2rem;
}

.berke-post-summary + .berke-post-summary {
	border-top: 1px solid #dce4e6;
	margin-top: 2rem;
	padding-top: 2rem;
}

.berke-post-summary h2 a {
	color: inherit;
	text-decoration: none;
}

.berke-post-summary h2 a:hover {
	color: var(--secondary);
}

/* 404 page follows the Kramer recovery-page structure in Berke's design system. */
.berke-404 {
	width: 100%;
}

.berke-404__content {
	padding-block: clamp(4rem, 8vw, 8rem);
}

.berke-404__inner {
	text-align: center;
}

.berke-404__code {
	color: var(--secondary);
	margin: 0 0 0.25rem;
}

.berke-404__content h1 {
	color: var(--secondary);

	margin: 0 auto 1.75rem;
	max-width: 56rem;
	text-wrap: balance;
}

.berke-404__content p:not(.berke-404__code) {
	margin: 0 auto 1rem;
	max-width: 58rem;
}

.berke-404__content .btn {
	margin: 1.75rem auto 0;
}

.container {
	padding: 4rem 1rem;
}

.reading-width {
	max-width: var(--content-width);
}

/* Shared anchor and Gravity Forms CTA, including the same hover shine. */
:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn) {
	background: var(--primary);
	border: 0;
	border-radius: 0.3125rem;
	box-shadow: 0 0.125rem rgb(0 0 0 / 50%);
	color: var(--secondary);
	cursor: pointer;
	display: block;

	height: auto;
	isolation: isolate;
	overflow: hidden;
	padding: 0.9375rem 1.875rem;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-shadow: none;

	width: fit-content;
}

/* Keep the hand cursor across the entire enabled CTA, including nested text. */
:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn):is(:hover, :focus-visible), :is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn) * {
	cursor: pointer;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn:disabled, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn:disabled * {
	cursor: not-allowed;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn:focus {
	outline: none;
	box-shadow: 0 0.125rem rgb(0 0 0 / 50%);
}
:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn):focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn)::before {
	background: linear-gradient(
		115deg,
		transparent 0%,
		rgb(255 255 255 / 55%) 50%,
		transparent 100%
	);
	content: "";
	height: 100%;
	left: -150%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: skewX(-20deg);
	transition: left 700ms ease;
	width: 75%;
	z-index: -1;
}

:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn):hover::before, :is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn):focus-visible::before {
	left: 150%;
}

:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn):hover {
	background-color: var(--accent-hover);
	color: var(--secondary);
}

.text-primary{color:var(--secondary);}
.text-white{color:var(--white);}
.text-accent{color:var(--accent)}

.text-center{text-align: center;}

.flex{display:flex;}
.flex-col{flex-direction: column;}
.justify-center{justify-content: center;}
.align-center{align-items: center;}

@media (max-width: 46.875rem) {
	:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn) {

		padding: 0.9375rem 1.25rem;
		max-width: 100%;
	}
}

@media (min-width: 48rem) {
	.grid-container {
		padding-inline: 2rem;
	}

	.berke-content-shell {
		padding-inline: 2rem;
	}

	.container {
		padding: 4rem 2rem;
	}
}

/* Homepage hero: responsive skyline, shared scrim, attorney, then content. */
.home-hero {
	background: var(--background);
	isolation: isolate;
	min-height: 31.25rem;
	overflow: hidden;
	position: relative;
}

.home-hero__visual {
	inset: 0;
	overflow: hidden;
	position: absolute;
	z-index: 0;
}

.home-hero__background,
.home-hero__background img {
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.home-hero__background {
	z-index: 0;
}

.home-hero__background img {
	object-fit: cover;
	object-position: center;
}

.home-hero__visual::after {
	background: linear-gradient(90deg, #fffffff2 50%, #ffffff00 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.home-hero__attorney {
	bottom: 0;
	height: 100%;
	max-width: 44%;
	object-fit: contain;
	object-position: right bottom;
	position: absolute;
	right: max(2rem, calc((100vw - var(--container-width)) / 2 + 2rem));
	width: auto;
	z-index: 2;
}

.home-hero__inner {
	display: flex;
	min-height: 31.25rem;
	padding-block: 4rem;
	position: relative;
	z-index: 1;
}

.home-hero__content {
	align-self: center;
	max-width: 50rem;
	width: 67%;
}

@media (max-width: 75rem) and (min-width: 48rem) {
	.home-hero__content {
		width: 58%;
	}

	.home-hero__attorney {
		max-width: 48%;
		right: -4%;
	}
}

@media (max-width: 47.99rem) {
	.home-hero {
		min-height: 0;
		padding-top: clamp(22.5rem, 108vw, 29.375rem);
	}

	.home-hero__visual,
	.home-hero__background,
	.home-hero__background img {
		bottom: auto;
		height: clamp(22.5rem, 108vw, 29.375rem);
	}

	.home-hero__background img {
		object-position: center top;
	}

	.home-hero__visual {
		-webkit-mask-image: linear-gradient(to bottom, #000 50%, rgb(0 0 0 / 45%) 78%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 50%, rgb(0 0 0 / 45%) 78%, transparent 100%);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
	}

	.home-hero__visual::after {
		display: none;
	}

	.home-hero__attorney {
		bottom: auto;
		height: clamp(22.5rem, 108vw, 29.375rem);
		left: 50%;
		max-width: 100%;
		object-position: center bottom;
		right: auto;
		top: 0;
		transform: translateX(-50%);
		z-index: 2;
	}

	.home-hero__inner {
		min-height: 0;
		padding-block: 0 3rem;
	}

	.home-hero__content {
		max-width: 35rem;
		text-align: center;
		width: 100%;
	}

	.home-hero__content .btn {
		margin-inline: auto;
	}
}

/* Four reasons and the original Berke recognition marks. */
.why-us__layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}

.case-review {
	background: var(--secondary);
	color: var(--white);
	padding: 2.5rem 1.875rem;
	scroll-margin-top: 2rem;
}

.case-review h2 { color: var(--white); padding-bottom: 1.5rem; border-bottom: 1px dashed #88949a; }
.case-review > p { text-align: center;  margin-bottom: 2rem; }
.case-review .gform_wrapper { --gf-color-primary: var(--primary); --gf-color-in-ctrl: var(--text); --gf-color-in-ctrl-primary: var(--primary); --gf-color-in-ctrl-light: #fff; }
/* Kramer field geometry; labels remain available to assistive technology. */
.case-review .gform_wrapper .gfield_label,
.case-review .gform_wrapper .gform_required_legend {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.case-review .gform_wrapper .gform_fields { row-gap: 20px; }
.case-review .gform_wrapper .gfield { margin: 0; }
.case-review .gform_wrapper input:is([type="text"], [type="email"], [type="tel"]), .case-review .gform_wrapper textarea, .case-review .gform_wrapper select {
	width: 100%;
	height: 46px;
	background: #fff;
	color: var(--text);
	border: 1px solid rgb(255 255 255 / 30%);
	border-radius: 0;
	box-shadow: none;
	padding: 22px 12px;

}
.case-review .gform_wrapper textarea {
	height: 130px;
	min-height: 130px;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) :is(input, textarea)::placeholder {
	color: #757575;

	opacity: 1;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) .ginput_container_consent {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) .gfield_consent_label {
	grid-column: 2;
	display: block;
	margin: 0;
	padding: 0;
	color: rgb(255 255 255 / 82%);
	cursor: pointer;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"] {
	appearance: none;
	position: relative;
	grid-column: 1;
	grid-row: 1;
	top: auto;
	left: auto;
	width: 20px;
	height: 20px;
	margin: 1.625px 0 0;
	padding: 0;
	border: 2px solid rgb(255 255 255 / 72%);
	border-radius: 3px;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"]::before { content: none; }
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"]:checked { background: var(--primary); border-color: var(--secondary); }
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 5px;
	width: 6px;
	height: 11px;
	border: solid var(--secondary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) .ginput_container_consent:hover input[type="checkbox"] { border-color: var(--secondary); }
.case-review .gform_wrapper :is(.gfield_html, .gfield_description), .case-review .gform_wrapper :is(.gfield_html, .gfield_description) p {
	color: rgb(255 255 255 / 82%);
}
.case-review .gform_wrapper .gform_footer { width: 100%; margin-top: 20px; padding: 0; }
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn { width: 100%; }
.case-review .gform_confirmation_message { color: var(--white); }
.case-review a { color: var(--accent); text-decoration: underline; }
.case-review :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* Text controls use border-only focus; checkbox focus is handled separately. */
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) :is(input:not([type="checkbox"]), textarea, select):focus {
	outline: none;
	outline-offset: 0;
	box-shadow: none;
	border-color: var(--accent);
}
/* Kramer treatment: no mouse-focus ring, soft brand glow for keyboard focus. */
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"]:focus {
	outline: none;
	box-shadow: none;
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) input[type="checkbox"]:focus-visible {
	border-color: var(--secondary);
	box-shadow: 0 0 0 3px rgb(239 184 76 / 28%);
}
.case-review :is(#gform_wrapper_1, #gform_wrapper_2) .gfield_consent_label:hover { cursor: pointer; }

.why-us h2 {
	text-align: center;
	margin-bottom: 2.5rem;
}

.why-us__grid,
.recognition__badges {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.why-us__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
}

.why-us__item {
	text-align: center;
	min-width: 0;
}

.why-us__item > img {
	width: 6.875rem;
	height: 6.875rem;
	object-fit: contain;
	margin: 0 auto 1.25rem;
}

.why-us__item h3 {
	margin-bottom: 0.75rem;
	min-height: 2.6em;
}

.why-us__item p {
	margin: 0;
}

.recognition {
	margin-top: 3.5rem;
}

.recognition__badges {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	align-items: center;
}

/* Prepared badge originals share a240×120 display frame and balanced artwork. */
.recognition__badges:has(> li:nth-child(3):last-child) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.recognition__badges li { display: flex; align-items: center; justify-content: center; min-width: 0; }
.recognition__badges img {
	width: 100%;
	max-width: 15rem;
	height: auto;
	aspect-ratio: 2 / 1;
	object-fit: contain;
	margin-inline: auto;
}

@media (max-width: 64rem) {
	.why-us__layout { grid-template-columns: minmax(0, 1fr); }
	.why-us__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 2rem; }
	.recognition__badges { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
	.why-us__grid { gap: 2rem 1rem; }
	.recognition__badges { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
	.recognition__badges:has(> li:nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
}

@media (max-width: 39.99rem) {
	.why-us__grid { grid-template-columns: minmax(0, 1fr); }
	.why-us__item h3 { min-height: 0; }
}

/* Thumbnail-first testimonials; paused players prepare near the viewport. */
.testimonials h2 { margin-bottom: 2.5rem; text-align: center; }
.testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}
.testimonials__video {
	aspect-ratio: 16 / 9;
	min-width: 0;
	width: 100%;
	background: var(--secondary);
	border: 0;
	padding: 0;
	display: block;
	position: relative;
	cursor: pointer;
	overflow: hidden;
}
.testimonials__video > img { width: 100%; height: 100%; object-fit: cover; }
.testimonials__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
	width: clamp(3.5rem, 5vw, 4.5rem);
	height: clamp(3.5rem, 5vw, 4.5rem);
	border-radius: 50%;
	background: color-mix(in srgb, var(--primary) 80%, transparent);
	color: var(--secondary);
	box-shadow: 0 2px 12px rgb(0 0 0 / 20%);
	transition: transform 180ms ease;
	pointer-events: none;
}
.testimonials__play svg { width: 42%; height: 42%; }
.testimonials__video:is(:hover, :focus-visible) .testimonials__play { transform: translate(-50%, -50%) scale(1.08); }
.testimonials__video:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.testimonial-is-open { overflow: hidden; }
.testimonial-dialog {
	width: min(64rem, calc(100% - 2rem), calc((100dvh - 7rem) * 16 / 9));
	max-width: none;
	max-height: calc(100dvh - 2rem);
	padding: 0;
	border: 0;
	margin: auto;
	background: var(--secondary);
	color: var(--white);
	box-shadow: 0 1rem 4rem rgb(0 0 0 / 40%);
}
.testimonial-dialog::backdrop { background: rgb(0 0 0 / 80%); }
/* Reveal the player from a narrow central window; keep the modal open on exit. */
@media (prefers-reduced-motion: no-preference) {
	.testimonial-dialog[open] { animation: testimonial-open 460ms cubic-bezier(0.16, 1, 0.3, 1) both; }
	.testimonial-dialog[open]::backdrop { animation: testimonial-backdrop-in 300ms ease-out both; }
	.testimonial-dialog[open].is-closing { animation: testimonial-close 300ms cubic-bezier(0.7, 0, 0.84, 0) both; }
	.testimonial-dialog[open].is-closing::backdrop { animation: testimonial-backdrop-out 300ms ease-in both; }
}
@keyframes testimonial-open {
	from { clip-path: inset(45% 12% round 1rem); transform: translateY(16px) scale(0.96); opacity: 0; }
	to { clip-path: inset(0 round 0); transform: translateY(0) scale(1); opacity: 1; }
}
@keyframes testimonial-close {
	from { clip-path: inset(0 round 0); transform: translateY(0) scale(1); opacity: 1; }
	to { clip-path: inset(45% 12% round 1rem); transform: translateY(12px) scale(0.96); opacity: 0; }
}
@keyframes testimonial-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes testimonial-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
.testimonial-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 0.75rem 0.5rem 1rem; }
.testimonials .testimonial-dialog h2 { color: var(--white);  text-align: left; margin: 0; }
.testimonial-dialog__close { flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; border: 0; background: var(--primary); color: var(--secondary); cursor: pointer; }
.testimonial-dialog__close:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; }
.testimonial-dialog__player { aspect-ratio: 16 / 9; background: #000; }
.testimonial-dialog__player iframe { display: block; width: 100%; height: 100%; border: 0; }
.testimonial-dialog__player iframe[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
	.testimonials__play { transition: none; }
}
@media (max-width: 64rem) {
	.testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
	.testimonials__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}

/* Zehl-style site header; the reference search row is intentionally omitted. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.skip-link:focus {
	background: var(--white);
	clip: auto;
	clip-path: none;
	color: var(--secondary);
	height: auto;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: absolute;
	top: 1rem;
	width: auto;
	z-index: 1000;
}

.site-header {
	background: var(--white);
	color: var(--secondary);
	position: relative;
	z-index: 100;
}

/* BERKE STICKY HEADER START */
html:has(#site-header) {
	--berke-header-height: 151px;
	--berke-toolbar-offset: 0px;
	scroll-padding-top: calc(var(--berke-header-height) + var(--berke-toolbar-offset));
}
html:has(body.admin-bar #site-header) {
	--berke-toolbar-offset: var(--wp-admin--admin-bar--height, 32px);
}
#site-header.site-header {
	position: sticky;
	top: var(--berke-toolbar-offset, 0px);
}
body.admin-bar #site-header .mobile-menu-panel {
	top: var(--berke-toolbar-offset, 0px);
	height: calc(100dvh - var(--berke-toolbar-offset, 0px));
}
@media (max-width: 64rem) {
	html:has(#site-header) { --berke-header-height: 90px; }
}
@media (max-width: 600px) {
	/* Core's mobile toolbar scrolls out of view; JS tracks its visible portion. */
	html:has(body.admin-bar #site-header) { --berke-toolbar-offset: 0px; }
}
/* BERKE STICKY HEADER END */

.header-top {
	background: var(--white);
}

.header-top-inner {
	align-items: center;
	display: grid;
	grid-template-columns: 18.75rem minmax(0, 1fr) 16rem;
	margin-inline: auto;
	max-width: var(--container-width);
	min-height: 6.4375rem;
	padding: 0.625rem 2rem 0.75rem;
	width: 100%;
}

.site-brand {
	align-items: center;
	display: flex;
	height: 5rem;
	width: 18.75rem;
}

.site-brand .custom-logo-link {
	display: inline-flex;
	line-height: 0;
}

.site-brand .custom-logo {
	height: auto;
	max-height: 5rem;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.site-name {
	color: var(--secondary);
	text-decoration: none;
	text-transform: uppercase;
}

.header-slogan {
	color: var(--secondary);
	margin: 0;
	padding-inline: 1.5rem;
	text-align: center;
	white-space: nowrap;
}

.header-contact {
	grid-column: 3;
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	justify-self: end;
	white-space: nowrap;
}

.header-phone-label {
	color: var(--secondary);
}

.header-phone {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	text-decoration: none;
}

.header-phone-icon {
	color: var(--secondary);
	height: 2.375rem;
	margin-right: 0.9375rem;
	width: 2.5rem;
}

.header-phone-number {
	color: var(--secondary);
}

.header-call-now {
	display: none;
}

.header-navigation {
	background: var(--secondary);
	color: var(--white);
	min-height: 3rem;
}

.header-nav {
	margin-inline: auto;
	max-width: var(--container-width);
}

/* Plain paired-page language link in the existing navigation band. */

.header-menu,
.header-menu .sub-menu,
.mobile-menu,
.mobile-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-menu {
	align-items: stretch;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	min-height: 3rem;
}

.header-menu li {
	position: relative;
}

.header-menu > li {
	min-height: 3rem;
	padding: 0.75rem 1.625rem;
}

.header-menu a {
	color: var(--white);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.header-menu > .menu-item-has-children > a {
	gap: 0.5rem;
}

.header-menu > li > a {
	align-items: center;
	display: flex;
	height: 1.5rem;
}

.header-menu > li:hover > a,
.header-menu > li:focus-within > a {
	color: var(--accent);
}

.header-menu > .menu-item-has-children > a::after {
	background-color: currentcolor;
	content: "";
	flex: 0 0 auto;
	height: 1rem;
	-webkit-mask: url("../images/chevron-down.svg") center / contain no-repeat;
	mask: url("../images/chevron-down.svg") center / contain no-repeat;
	width: 1rem;
}

.header-menu .sub-menu {
	background: var(--white);
	border: 0.0625rem solid var(--primary);
	box-shadow: 0 1.125rem 2.5rem rgb(0 0 0 / 30%);
	display: none;
	left: 0;
	min-width: 15rem;
	padding: 0.375rem 0;
	position: absolute;
	top: 100%;
	z-index: 1000;
}

.header-menu li:hover > .sub-menu,
.header-menu li:focus-within > .sub-menu {
	display: flex;
	flex-direction: column;
}

.header-menu .sub-menu li {
	padding: 0;
}

.header-menu .sub-menu a {
	display: block;
	color: var(--text);
	padding: 0.6875rem 1.25rem;
	text-transform: capitalize;
	width: 100%;
}

.header-menu .sub-menu a:hover,
.header-menu .sub-menu a:focus-visible,
.header-menu .sub-menu li:hover > a {
	background: var(--white);
	color: var(--secondary);
}

.header-menu .sub-menu .sub-menu {
	left: 100%;
	top: -0.4375rem;
}

.menu-backdrop {
	background: transparent;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 250ms ease;
	z-index: 998;
}

.mobile-menu-panel {
	display: none;
}

.mobile-menu-toggle {
	display: none;
}

.mobile-menu-toggle:focus-visible,
.menu-close:focus-visible,
.submenu-toggle:focus-visible,
.site-header a:focus-visible {
	outline: 0.1875rem solid var(--accent);
	outline-offset: -0.1875rem;
}

@media (max-width: 75rem) and (min-width: 64.0625rem) {
	.header-top-inner {
		grid-template-columns: 15rem minmax(0, 1fr) 14.5rem;
	}

	.site-brand {
		width: 15rem;
	}

	.header-menu > li {
		padding-inline: 1.15rem;
	}
}

@media (max-width: 64rem) {
	.header-top-inner {
		align-items: center;
		display: flex;
		justify-content: space-between;
		min-height: 5.125rem;
		padding: 0.625rem 1rem;
	}

	.site-brand {
		height: 4.375rem;
		max-width: 70%;
		width: 70%;
	}

	.site-brand .custom-logo {
		max-height: 4.375rem;
	}

	.header-slogan,
	.header-contact {
		display: none;
	}

	.mobile-menu-toggle {
		align-items: center;
		background: var(--primary);
		border: 0;
		box-shadow: none;
		color: var(--secondary);
		display: flex;
		flex: 0 0 auto;
		flex-direction: column;
		gap: 0.375rem;
		height: auto;
		min-height: 3.875rem;
		justify-content: center;
		margin-left: auto;
		padding: 0.5rem;
		width: 3.875rem;
		cursor: pointer;
	}

	.mobile-menu-toggle-bars {
		display: flex;
		flex: 0 0 auto;
		flex-direction: column;
		gap: 0.4375rem;
		width: 2.1875rem;
		pointer-events: none;
	}

	.mobile-menu-toggle-bars span {
		background: currentColor;
		border-radius: 0.25rem;
		display: block;
		flex: 0 0 auto;
		height: 0.1875rem;
		margin: 0;
		width: 100%;
	}

	.mobile-menu-toggle-label {
		margin: 0;
		text-transform: uppercase;
	}

	.header-navigation {
		display: none;
	}

	.mobile-menu-panel {
		background: var(--secondary);
		bottom: 0;
		display: block;
		height: 100dvh;
		left: 0;
		max-width: 23.75rem;
		overflow-x: hidden;
		overflow-y: auto;
		position: fixed;
		top: 0;
		transform: translateX(-100%);
		transition: transform 400ms ease;
		width: 78%;
		z-index: 999;
	}

	/* Keep the drawer close control below the logged-in WordPress toolbar. */
	body.admin-bar .mobile-menu-panel {
		top: var(--wp-admin--admin-bar--height, 32px);
		height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
	}

	.mobile-menu-heading {
		align-items: center;
		border-bottom: 0.0625rem solid rgb(237 243 247 / 18%);
		color: var(--white);
		display: flex;
		height: 3.5rem;
		justify-content: center;
		position: relative;
		text-transform: uppercase;
	}

	.menu-close {
		align-items: center;
		background: var(--primary);
		border: 0;
		color: var(--secondary);
		cursor: pointer;
		display: flex;
		height: 2.5rem;
		justify-content: center;
		padding: 0;
		position: absolute;
		right: 0.625rem;
		top: 0.5rem;
		width: 2.75rem;
	}

	.menu-close span::before,
	.menu-close span::after {
		background: currentColor;
		content: "";
		height: 0.125rem;
		left: 0.8125rem;
		position: absolute;
		top: 1.1875rem;
		width: 1.125rem;
	}

	.menu-close span::before {
		transform: rotate(45deg);
	}

	.menu-close span::after {
		transform: rotate(-45deg);
	}

	.menu-is-open {
		overflow: hidden;
	}

	.menu-is-open .menu-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.menu-is-open .mobile-menu-panel {
		transform: translateX(0);
	}

	.menu-is-open .mobile-menu-toggle {
		display: none;
	}

	.mobile-menu li {
		position: relative;
		width: 100%;
	}

	.mobile-menu .menu-item-has-children {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 3.25rem;
	}

	.mobile-menu a {
		background: var(--secondary);
		border-bottom: 0.0625rem solid rgb(237 243 247 / 18%);
		color: var(--white);
		display: flex;
		align-items: center;
		min-height: 3.25rem;
		height: auto;
		padding: .75rem 1rem;
		text-decoration: none;
		text-transform: uppercase;
		transition: background-color 250ms ease, color 250ms ease;
		width: 100%;
	}

	.mobile-menu a:hover,
	.mobile-menu a:focus-visible {
		background: var(--white);
		color: var(--secondary);
	}

	.submenu-toggle {
		align-items: center;
		background: var(--secondary);
		border: 0;
		border-bottom: 0.0625rem solid rgb(237 243 247 / 18%);
		border-left: 0.0625rem solid rgb(237 243 247 / 18%);
		color: var(--white);
		cursor: pointer;
		display: flex;
		justify-content: center;
		transition: background-color 250ms ease, color 250ms ease;
		width: 3.25rem;
	}

	.submenu-toggle:hover,
	.submenu-toggle:focus-visible {
		background: var(--white);
		color: var(--secondary);
	}

	.submenu-toggle span::before {
		content: "▼";
	}

	.submenu-toggle[aria-expanded="true"] span::before {
		content: "▲";
	}

	.mobile-menu .sub-menu {
		background: var(--secondary);
		grid-column: 1 / -1;
		width: 100%;
	}

	.mobile-menu .sub-menu a {
		height: 3rem;
		padding-left: 10%;
		text-transform: capitalize;
	}

	.mobile-menu .sub-menu .sub-menu a {
		padding-left: 14%;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(a.btn, .case-review :is(#gform_wrapper_1, #gform_wrapper_2) button.btn)::before { transition: none; }
	.menu-backdrop,
	.mobile-menu-panel {
		transition: none;
	}
}

/* Section background utilities, after component rules so they can override them. */
.bg-white { background-color: var(--white); }
.bg-gray { background-color: var(--gray); }
.bg-secondary {background-color:var(--secondary);}

.trustindex-reviews{
	margin-top: 50px;
}

@media (max-width: 46.875rem) {
	.testimonials .trustindex-reviews .ti-widget .ti-disclaimer {
		/* The widget ships an important maximum width; keep its tooltip in view. */
		max-width: calc(100vw - 3rem) !important;
	}
}

.settlements-row{margin-bottom:30px;}

.case-results-disclaimer{margin-top: 20px;}

.gap-50{gap: 50px;}
.w-50{width: calc((100% - 50px) / 2);}
.relative{position: relative;}

@media(max-width:1024px){
	.w-50{width: 100%;}
}

/* Founder story: shared type and spacing, with a stacked mobile image. */
.attorney-profile {
	isolation: isolate;
	position: relative;
}

.attorney-profile__layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 4vw, 3.125rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* The Berke About section uses a solid neutral surface instead of photography. */
.attorney-profile--color .attorney-profile__layout {
	grid-template-columns: minmax(0, 1fr);
	max-width: 64rem;
}

.attorney-profile__copy,
.attorney-profile__media {
	min-width: 0;
}

.attorney-profile__copy h2 {
	text-wrap: balance;
}

.attorney-profile__copy p {
	text-wrap: pretty;
}

.attorney-profile__media {
	justify-self: end;
	max-width: 34.6875rem;
	width: 100%;
}

.attorney-profile__media img {
	height: auto;
	width: 100%;
}

.attorney-profile__accent {
	background: var(--secondary);
	border-top: 1.875rem solid var(--primary);
	bottom: 0;
	height: 12.5rem;
	position: absolute;
	right: 0;
	width: 40%;
	z-index: -1;
}

@media (max-width: 62.5rem) {
	.attorney-profile__layout {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.attorney-profile__media {
		justify-self: center;
	}

	.attorney-profile__accent {
		display: none;
	}
}

@media (max-width: 46.875rem) {
	.attorney-profile__copy .btn {
		margin-inline: auto;
	}
}

/* Settlement figures: theme typography with a divided, five-column desktop row. */
.settlements { width: 100%; max-width: 100%; min-width: 0; margin-top: 2.5rem; }
.settlements__slider { width: 100%; overflow: hidden; }
.settlements__item { height: auto; padding: 0 1rem; text-align: center; border-right: 1px solid rgb(255 255 255 / 18%); }
.settlements__amount { color: var(--white); margin: 0 0 1.25rem; }
.settlements__currency { vertical-align: super; margin-right: 0.1em; }
.settlements__unit { display: block; margin-top: 0.625rem; }
.settlements__type { color: var(--white); margin: 0;  }
.slider-arrows { display: flex; justify-content: center; align-items: center; gap: 0; margin-top: 2rem; }
.slider-arrow { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--white); cursor: pointer; }
.slider-arrow::before { content: ''; display: block; width: 2rem; height: 2rem; background: currentColor; -webkit-mask: url('../images/arrow-circle.svg') center / contain no-repeat; mask: url('../images/arrow-circle.svg') center / contain no-repeat; transform: rotate(180deg); }
.slider-arrow--prev::before { transform: none; }
.slider-arrow:hover { color: var(--accent); }
.slider-arrow:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.slider-arrow.swiper-button-disabled { opacity: 0.35; cursor: not-allowed; }
.slider-arrow.swiper-button-lock { display: none; }
.settlements__slider:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 64rem) { .settlements__slider:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 39.99rem) { .settlements__slider:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: minmax(0, 1fr); } }

/* Portrait-led credentials, using the site's existing brand and editorial assets. */
.berke-credentials { position: relative; isolation: isolate; overflow: hidden; background: var(--secondary); color: var(--white); }
.berke-credentials__backdrop { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); opacity: 0.12; }
.berke-credentials::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgb(11 45 71 / 25%), var(--secondary)); }
.berke-credentials__heading { text-align: center; margin-bottom: 2rem; }
.berke-credentials__title { color: var(--white); margin: 0; }
.berke-credentials__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 3vw, 3rem); }
.berke-credentials__column { display: grid; gap: 2.25rem; position: relative; z-index: 2; }
.berke-credentials__fact { border-left: 3px solid var(--primary); padding-left: 1.125rem; }
.berke-credentials__label { color: var(--white); margin: 0 0 0.625rem; }
.berke-credentials__detail { color: var(--white); margin: 0; }
.berke-credentials__column--right { text-align: right; }
.berke-credentials__column--right .berke-credentials__fact { border-left: 0; border-right: 3px solid var(--primary); padding-left: 0; padding-right: 1.125rem; }
.berke-credentials__portrait { position: relative; isolation: isolate; align-self: end; margin: 0; min-width: 0; }
.berke-credentials__portrait::before { content: ''; position: absolute; z-index: 0; width: 115%; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 38%); border-radius: 50%; left: 50%; top: 19%; transform: translateX(-50%); }
.berke-credentials__portrait img { position: relative; z-index: 1; display: block; width: 100%; height: auto; mask-image: linear-gradient(#000 55%, transparent 98%); }
.berke-credentials__portrait::after { content: ''; position: absolute; z-index: 2; pointer-events: none; left: -10%; right: -10%; bottom: -1px; height: 48%; background: linear-gradient(to bottom, transparent 0%, rgb(11 45 71 / 75%) 45%, var(--secondary) 88%); mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent); }
.berke-credentials__portrait figcaption { position: absolute; z-index: 3; bottom: 2rem; left: -1rem; right: -1rem; text-align: center;  }
.berke-credentials__name, .berke-credentials__promise {  color: var(--accent); margin: 0; }
.berke-credentials__promise {  margin-top: 0.5rem; }
.berke-credentials__footer { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 1.5rem; }
@media (max-width: 64rem) {
 .berke-credentials__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: start; }
 .berke-credentials__portrait { grid-column: 1 / -1; grid-row: 1; width: min(22rem, 75%); justify-self: center; }
 .berke-credentials__column--right { text-align: left; }
 .berke-credentials__column--right .berke-credentials__fact { border-right: 0; border-left: 3px solid var(--primary); padding-right: 0; padding-left: 1.125rem; }
 .berke-credentials__footer { padding-top: 2.5rem; }
}
@media (max-width: 39.99rem) {
 .berke-credentials__layout { grid-template-columns: minmax(0, 1fr); }
 .berke-credentials__column { gap: 1.75rem; }
 .berke-credentials__portrait { width: min(20rem, 85%); }
}

/* Practice cards: image-ready backgrounds with a title-first reveal. */
.practice-slider { width: 100%; max-width: 100%; min-width: 0; margin-top: 1.5rem; }
.practice-slider__track { overflow: hidden; }
.practice-slider .swiper-slide { height: auto; }
.practice-card { position: relative; isolation: isolate; display: flex; align-items: end; min-height: 26rem; height: 100%; overflow: hidden; background: var(--secondary); color: var(--white); text-decoration: none; }
.practice-card { border: 3px solid var(--primary); border-image: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 25%, transparent) 50%, var(--primary)) 1; }
.practice-card::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, transparent 20%, rgb(11 45 71 / 45%) 50%, #071d30 100%); transition: background-color 350ms ease; }
.practice-card__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.practice-card__content { width: 100%; padding: 1.5rem; }
.practice-card__title {   color: var(--white); margin: 0; }
.practice-card__reveal { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 350ms ease, opacity 350ms ease; }
.practice-card__reveal > div { min-height: 0; overflow: hidden; }
.practice-card__description {  color: var(--white); margin: 0; padding-top: 1rem; }
.practice-card:is(:hover, :focus-visible) .practice-card__reveal { grid-template-rows: 1fr; opacity: 1; }
.practice-card:is(:hover, :focus-visible)::before { background-color: rgb(11 45 71 / 55%); }
.practice-card:is(:hover, :focus-visible) .practice-card__image { transform: scale(1.04); }
.practice-card:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.practice-slider .slider-arrow { color: var(--secondary); }
.practice-slider .slider-arrow:hover { color: var(--secondary); }
.practice-slider__more { margin: 1.5rem 0; }
.practice-slider__more a { text-decoration: underline; text-underline-offset: 0.2em; }
.practice-slider__track:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 64rem) { .practice-slider__track:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 39.99rem) { .practice-slider__track:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 39.99rem), (hover: none), (pointer: coarse) { .practice-card__reveal { grid-template-rows: 1fr; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .practice-card::before, .practice-card__image, .practice-card__reveal { transition: none; } }

/* Content sets the section height; the decorative image and overlay fill it.
 * Local stacking order: image (-2), overlay (-1), content (0).
 */
.case-worth {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--white);
	color: var(--text);
}

.case-worth__background {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.case-worth::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / 94%), rgb(255 255 255 / 86%) 60%, rgb(255 255 255 / 80%));
	pointer-events: none;
}

.case-worth__content {
	position: relative;
	z-index: 0;
}

/* Razavi's text column and six open icon items, using Berke's design tokens. */
.case-process {
	background: var(--white);
}

.case-process__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: start;
}

.case-process__intro {
	position: sticky;
	top: calc(var(--berke-header-height, 0px) + var(--berke-toolbar-offset, 0px) + 2rem);
}

.case-process__intro > p {
	margin-bottom: 0;
}

.case-process__stages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 3vw, 3rem);
	row-gap: 3rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.case-process__icon {
	width: 4rem;
	height: 4rem;
	object-fit: contain;
	margin-bottom: 1.25rem;
}

.case-process__stage h3 {
	margin-bottom: 0.75rem;
}

.case-process__when {
	margin-bottom: 0.75rem;
}

.case-process__stage > p:last-child {
	margin-bottom: 0;
}

@media (max-width: 62.5rem) {
	.case-process__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	.case-process__intro {
		position: static;
		top: auto;
		max-width: 47.5rem;
	}
}

@media (max-width: 39.99rem) {
	.case-process__stages {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 2.5rem;
	}
}

/* Michael Stefanos' copy-and-portrait composition, using Berke's navy palette.
 * Both the backdrop and navy overlay follow the height of the normal-flow grid.
 */
.california-laws {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--secondary);
	color: var(--white);
}

.california-laws__background {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.california-laws::before {
	content: '';
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, rgb(11 45 71 / 92%), rgb(11 45 71 / 82%) 60%, rgb(11 45 71 / 25%));
	pointer-events: none;
}

.california-laws__layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: center;
}

.california-laws__content h2 {
	color: var(--white);
}

.california-laws__lead {
	border-left: 3px solid var(--accent);
	padding-left: 1rem;
}

.california-laws__rules {
	display: grid;
	gap: 1.25rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.california-laws__portrait {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 46%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

@media (max-width: 62.5rem) {
	.california-laws::before {
		background: rgb(11 45 71 / 85%);
	}

	.california-laws__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	.california-laws__portrait {
		position: static;
		width: min(85%, 25rem);
		height: auto;
		margin-bottom: -4rem;
		justify-self: center;
	}
}

/* Five claim-protection boxes: three above two centered boxes on desktop. */
.protect-claim {
	position: relative;
	overflow: hidden;
	background: var(--white);
}

.protect-claim__vertical {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: clamp(3rem, 4vw, 4.75rem);
	height: 100%;
	fill: var(--accent);
	pointer-events: none;
}

.protect-claim__vertical rect:first-child {
	opacity: 0.9;
}

.protect-claim__vertical rect:last-child {
	opacity: 0.72;
}

.protect-claim__art {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: min(46rem, 60%);
	pointer-events: none;
}

.protect-claim__art path {
	fill: none;
	stroke: var(--secondary);
	stroke-width: 58;
}

.protect-claim__art path:nth-child(1) {
	stroke-opacity: 0.07;
}

.protect-claim__art path:nth-child(2) {
	stroke-opacity: 0.12;
}

.protect-claim__art path:nth-child(3) {
	stroke-opacity: 0.08;
}

.protect-claim__container {
	position: relative;
	max-width: 96rem;
}

@media (min-width: 48rem) {
	.protect-claim__container {
		padding-inline: 1.5rem;
	}
}

.protect-claim__intro {
	max-width: 60rem;
	margin: 0 auto 2.5rem;
	text-align: center;
}

.protect-claim__intro h2,
.protect-claim__step h3 {
	text-wrap: balance;
}

.protect-claim__intro > p {
	margin-bottom: 0;
}

.protect-claim__steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.protect-claim__step {
	position: relative;
	grid-column: span 2;
	background: var(--secondary);
	color: var(--white);
	min-height: 28rem;
	padding: 2.25rem 1.75rem;
	text-align: center;
}

.protect-claim__step::before,
.protect-claim__step::after {
	content: "";
	position: absolute;
	width: 30%;
	height: 30%;
	border-color: var(--accent);
	border-style: solid;
	pointer-events: none;
}

.protect-claim__step::before {
	top: 0.625rem;
	left: 0.625rem;
	border-width: 2px 0 0 2px;
}

.protect-claim__step::after {
	right: 0.625rem;
	bottom: 0.625rem;
	border-width: 0 2px 2px 0;
}

/* Muted white numerals sit below the solid-white card copy in emphasis. */
.protect-claim__number {
	display: block;
	width: fit-content;
	margin: 0 auto 0.75rem;
	color: rgb(255 255 255 / 80%);
	font-variant-numeric: tabular-nums;
}

.protect-claim__step:nth-child(4) {
	grid-column: 2 / span 2;
}

.protect-claim__step h3 {
	color: var(--white);
	margin-bottom: 1.25rem;
}

.protect-claim__step > p:last-child {
	margin-bottom: 0;
}

.protect-claim__guide {
	margin: 2rem auto 0;
	text-align: center;
}

.protect-claim__guide a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

@media (max-width: 62.5rem) {
	.protect-claim__vertical,
	.protect-claim__art {
		display: none;
	}

	.protect-claim__steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.protect-claim__step:nth-child(4) {
		grid-column: span 2;
	}

	.protect-claim__step:last-child {
		grid-column: 2 / span 2;
	}
}

@media (max-width: 39.99rem) {
	.protect-claim__steps {
		grid-template-columns: minmax(0, 1fr);
	}

	.protect-claim__step,
	.protect-claim__step:nth-child(4),
	.protect-claim__step:last-child {
		grid-column: auto;
		min-height: 0;
		padding: 2rem 1.5rem;
	}
}

/* Keep the hand cursor on navigation labels and their dropdown indicators. */
.header-menu a,
.header-menu a *,
.mobile-menu a,
.mobile-menu a * {
	cursor: pointer;
}

/* Full-height right backdrop; the section's copy determines its height. */
.crash-data {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.crash-data__content {
	position: relative;
	z-index: 1;
}

.crash-data__layout {
	width: 65%;
}

.crash-data__background {
	position: absolute;
	z-index: 0;
	inset: 0 0 0 auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: right center;
	opacity: 0.75;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 35%, #000 75%), linear-gradient(180deg, transparent 0%, transparent 8%, #000 20%, #000 85%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, transparent 35%, #000 75%), linear-gradient(180deg, transparent 0%, transparent 8%, #000 20%, #000 85%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
	pointer-events: none;
}

.crash-data__intro {
	max-width: 65%;
	margin-bottom: 2rem;
}

.crash-data__intro h2 {
	text-wrap: balance;
}

.crash-data__intro p {
	margin-bottom: 0;
}

.crash-data__table {
	width: 100%;
	max-width: 66rem;
	margin: 0;
	border: 1px solid rgb(11 45 71 / 20%);
	border-collapse: collapse;
	table-layout: fixed;
	text-align: left;
}

.crash-data__table th,
.crash-data__table td {
	padding: 1.125rem 1.25rem;
	border: 0;
	border-bottom: 1px solid rgb(11 45 71 / 18%);
	vertical-align: top;
}

.crash-data__table thead {
	background: var(--secondary);
	color: var(--white);
}

.crash-data__table thead th:first-child {
	width: 52%;
}

.crash-data__table thead th:nth-child(2) {
	width: 24%;
}

.crash-data__table tbody tr {
	background: rgb(255 255 255 / 96%);
}

.crash-data__table tbody tr:nth-child(even) {
	background: rgb(237 243 247 / 96%);
}

.crash-data__table strong {

	font-variant-numeric: tabular-nums;
}

.crash-data__table a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

.crash-data__table a:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 4px;
}

.crash-data__mobile-label {
	display: none;
}

.crash-data__closing {
	max-width: 65%;
	margin: 2rem 0 0;
}

@media (max-width: 62.5rem) {
	.crash-data__layout {
		width: 100%;
	}

	.crash-data__intro,
	.crash-data__closing {
		max-width: 100%;
	}

	.crash-data__background {
		width: 100%;
		object-fit: contain;
		object-position: right top;
		opacity: 0.45;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 35%, #000 75%);
		mask-image: linear-gradient(90deg, transparent 0%, transparent 35%, #000 75%);
	}

	.crash-data__table th,
	.crash-data__table td {
		padding: 1rem;
	}
}

@media (max-width: 46.875rem) {
	/* Explicit HTML table roles retain the row/header relationships when stacked. */
	.crash-data__table,
	.crash-data__table tbody,
	.crash-data__table tbody tr {
		display: block;
	}

	.crash-data__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.crash-data__table tbody tr {
		padding: 1.25rem;
	}

	.crash-data__table tbody tr + tr {
		border-top: 1px solid rgb(11 45 71 / 18%);
	}

	.crash-data__table tbody th {
		display: block;
		padding: 0 0 1rem;

	}

	.crash-data__table td {
		display: grid;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: 0.75rem;
		padding: 0;
	}

	.crash-data__table th,
	.crash-data__table td {
		border-bottom: 0;
	}

	.crash-data__table td + td {
		margin-top: 0.75rem;
	}

	.crash-data__mobile-label {
		display: block;

	}
}

/* Local office details and map, following the Zehl office section layout. */
.office-location {
	background: var(--secondary);
	color: var(--white);
}

.office-location__heading {
	align-items: center;
	display: flex;
	gap: 1.5rem;
}

.office-location__heading::before,
.office-location__heading::after {
	background: rgb(255 255 255 / 40%);
	content: "";
	flex: 1;
	height: 1px;
}

.office-location__heading h2 {
	color: var(--white);
	flex: 0 1 52rem;
	margin: 0;
	text-align: center;
	text-wrap: balance;
}

.office-location__intro {
	margin: 2rem auto 2.5rem;
	max-width: 70rem;
	text-align: center;
}

.office-location__intro p:last-child {
	margin-bottom: 0;
}

.office-location__layout {
	display: grid;
	gap: clamp(2rem, 4vw, 4.5rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.office-location__details h3 {
	color: var(--white);
	margin-bottom: 1.5rem;
}

.office-location__contacts {

	margin: 0 0 2rem;
}

.office-location__contacts > div + div {
	margin-top: 1.25rem;
}

.office-location__contacts dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.office-location a:not(.btn) {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.office-location a:not(.btn):hover {
	color: var(--white);
}

.office-location a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 4px;
}

.office-location__map iframe {
	background: var(--gray);
	border: 0;
	display: block;
	height: 100%;
	min-height: 28.125rem;
	width: 100%;
}

@media (max-width: 46.875rem) {
	.office-location__heading::before,
	.office-location__heading::after {
		display: none;
	}

	.office-location__layout {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.office-location__map iframe {
		height: 22.5rem;
		min-height: 0;
	}
}

/* Homepage FAQs: native disclosures with plain chevrons and instant toggles. */
.home-faq__heading {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.home-faq__heading::before,
.home-faq__heading::after {
	background: rgb(11 45 71 / 20%);
	content: "";
	flex: 1;
	height: 1px;
}

.home-faq__heading h2 {
	margin: 0;
	text-align: center;
	text-wrap: balance;
}

.home-faq__list {
	margin-inline: auto;
	max-width: 76rem;
}

.home-faq__item {
	background: var(--white);
	border-radius: 0.375rem;
}

.home-faq__item[open] {
	box-shadow: 0 0.375rem 1rem rgb(11 45 71 / 8%);
}

.home-faq__item + .home-faq__item {
	margin-top: 0.75rem;
}

.home-faq__question {
	align-items: center;
	background: var(--secondary);
	border-radius: 0.3125rem;
	cursor: pointer;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	list-style: none;
	min-height: 5rem;
	padding: 1.25rem 1.75rem;
}

.home-faq__item[open] .home-faq__question {
	border-radius: 0.3125rem 0.3125rem 0 0;
}

.home-faq__question::-webkit-details-marker {
	display: none;
}

.home-faq__question h3 {
	color: var(--white);
	margin: 0;
}

.home-faq__question:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: -5px;
}

.home-faq__icon {
	color: var(--white);
	flex: 0 0 2.25rem;
	height: 2.25rem;
	width: 2.25rem;
}

.home-faq__item[open] .home-faq__icon {
	transform: rotate(180deg);
}

.home-faq__answer {
	background: var(--white);
	border-radius: 0 0 0.3125rem 0.3125rem;
	padding: 1.5rem 1.75rem;
}

.home-faq__answer p {
	margin: 0;
	max-width: 64rem;
}

.home-faq__answer a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.home-faq__answer a:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

@media (max-width: 46.875rem) {
	.home-faq__heading {
		gap: 1rem;
		margin-bottom: 2rem;
	}

	.home-faq__question {
		gap: 1rem;
		padding: 1.125rem;
	}

	.home-faq__answer {
		padding: 1.25rem 1.125rem;
	}
}

/* Closing content/form layout follows the local Kramer and AL sites. */

/* About page banner. */
.about-banner {
	isolation: isolate;
	position: relative;
}

.about-banner__media {
	inset: 0;
	position: absolute;
	z-index: 0;
}

/* Pull the cool skyline into Berke's navy and keep the white copy readable. */
.about-banner__media::after {
	background: rgb(11 45 71 / 75%);
	content: "";
	inset: 0;
	position: absolute;
}

.about-banner__media img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.about-banner__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	min-height: 25rem;
	position: relative;
	z-index: 1;
}

.about-banner__title {
	margin: 0;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.about-banner__description {
	margin: 0;
	max-width: var(--content-width);
	overflow-wrap: anywhere;
	text-wrap: pretty;
}

.about-banner__content .btn {
	max-width: 100%;
}

.berke-main--canvas .entry-content {
	margin-top: 0;
}

@media (max-width: 46.875rem) {
	.about-banner__content {
		min-height: 28rem;
	}

	.about-banner__media img {
		object-position: center;
	}
}

/* About page: firm introduction, founding story, and client proof. */
.about-story {
	color: var(--white);
	overflow: hidden;
}

.about-story__layout {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
	padding-bottom: 0;
	padding-top: 0;
}

.about-story__copy {
	grid-column: 2;
	grid-row: 1;
	padding-block: 4.5rem;
}

.about-story__label {
	color: var(--accent);
	margin-bottom: 1rem;
}

.about-story__copy h2 {

	margin-bottom: 2rem;
	text-wrap: balance;
}

.about-story__copy p a {
	color: var(--accent);
	text-underline-offset: 0.2em;
}

.about-story__copy .btn {
	margin-top: 1.5rem;
}

.about-story__portrait {
	align-self: end;
	grid-column: 1;
	grid-row: 1;
	isolation: isolate;
	margin: 0;
	position: relative;
	width: 100%;
}

/* Keep the backlight's vertical fade inside the portrait to avoid a clipped edge. */
.about-story__portrait::before {
	background: radial-gradient(ellipse 48% 42% at 50% 44%, rgb(141 191 211 / 30%) 0%, rgb(83 145 171 / 20%) 36%, rgb(37 90 114 / 9%) 68%, transparent 100%);
	content: "";
	inset: 0 -25%;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.about-story__portrait img {
	height: auto;
	left: 50%;
	margin: 0;
	max-width: 45rem;
	position: relative;
	transform: translateX(-50%);
	width: 130%;
	z-index: 1;
}

.about-clients__heading {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}

.about-clients__heading h2 {
	margin: 0;
}

.about-clients__videos {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-clients__videos figure {
	margin: 0;
	min-width: 0;
}

@media (max-width: 62.5rem) {
	.about-story__layout {
		gap: 2rem;
	}

	.about-story__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.about-story__copy {
		grid-column: 1;
		justify-self: center;
		max-width: var(--content-width);
		padding-block: 3.5rem 0;
	}

	.about-story__portrait {
		grid-row: 2;
		justify-self: center;
		max-width: 23rem;
	}

	.about-story__portrait img {
		left: auto;
		transform: none;
		width: 100%;
	}

	.about-story__line-break {
		display: none;
	}

}

@media (max-width: 46.875rem) {
	.about-story__layout,
	.about-clients__videos {
		grid-template-columns: minmax(0, 1fr);
	}

}

/* Shared site footer. The consultation form above it remains page content. */
.berke-footer {
	background: var(--secondary);
	border-top: 4px solid var(--primary);
	color: var(--white);
}

.berke-footer__main {
	display: grid;
	gap: 2.5rem 3rem;
	grid-template-columns: minmax(15rem, 1.65fr) minmax(10rem, 0.9fr) minmax(13rem, 1.15fr) minmax(12rem, 1.1fr);
	padding-block: 4rem 3.25rem;
}

.berke-footer__main > * {
	min-width: 0;
}

.berke-footer__logo {
	margin-bottom: 1.25rem;
}

.berke-footer__logo a {
	display: inline-block;
}

.berke-footer__logo img {
	height: auto;
	width: 7.25rem;
}

.berke-footer__tagline {
	margin: 0;
	max-width: 19rem;
}

.berke-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 1.5rem;
}

.berke-footer__social a {
	align-items: center;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 50%;
	display: inline-flex;
	height: 3rem;
	justify-content: center;
	width: 3rem;
}

.berke-footer__social a:is(:hover, :focus-visible) {
	background: var(--accent);
	border-color: var(--accent);
}

.berke-footer__social img {
	filter: brightness(0) invert(1);
	height: 1.375rem;
	width: 1.375rem;
}

.berke-footer__social a:is(:hover, :focus-visible) img {
	filter: brightness(0);
}

.berke-footer h2 {
	color: var(--white);
	margin: 0 0 1.5rem;
}

.berke-footer h2::after {
	background: var(--accent);
	content: "";
	display: block;
	height: 3px;
	margin-top: 0.65rem;
	width: 2.25rem;
}

.berke-footer__links ul,
.berke-footer__bottom ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.berke-footer__links li {
	margin: 0 0 0.85rem;
}

.berke-footer__links a,
.berke-footer__location a,
.berke-footer__bottom a {
	color: var(--white);
	text-decoration: none;
}

.berke-footer__links a:hover,
.berke-footer__location a:hover,
.berke-footer__bottom a:hover {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.berke-footer__location-label {

	margin: 0 0 0.45rem;
}

.berke-footer address {

	font-style: normal;
	margin: 0 0 0.8rem;
}

.berke-footer__location a {
	display: table;
	margin-bottom: 0.65rem;
}

.berke-footer__location .berke-footer__directions,
.berke-footer__location .berke-footer__language {
	color: var(--accent);

	margin-bottom: 1.15rem;
}

.berke-footer__email {
	overflow-wrap: anywhere;
}

.berke-footer__legal {
	border-top: 1px solid rgb(255 255 255 / 22%);
	padding-block: 1.5rem;
}

.berke-footer__legal p {
	color: #d7e0e5;
	margin: 0;
	max-width: none;
}

.berke-footer__bottom {
	align-items: center;
	border-top: 1px solid rgb(255 255 255 / 22%);
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
	justify-content: space-between;
	padding-block: 1.5rem 2rem;
}

.berke-footer__bottom p,
.berke-footer__bottom li,
.berke-footer__credit {

	margin: 0;
}

.berke-footer__bottom ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.1rem;
}

.berke-footer__credit {
	align-items: center;
	display: flex;
	gap: 0.6rem;
	white-space: nowrap;
}

.berke-footer__credit a {
	display: inline-block;
}

.berke-footer__credit img {
	filter: invert(1);
	height: auto;
	opacity: 0.7;
	width: 6.5rem;
}

.berke-footer a:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
}

@media (max-width: 75rem) {
	.berke-footer__main {
		gap: 2.5rem 3rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 46.875rem) {
	.berke-footer__main {
		gap: 2.25rem;
		grid-template-columns: minmax(0, 1fr);
		padding-block: 3rem 2.5rem;
	}

	.berke-footer__logo img {
		width: 6.5rem;
	}

	.berke-footer__tagline {
		max-width: 22rem;
	}

	.berke-footer h2 {
		margin-bottom: 1.1rem;
	}

	.berke-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Mark Berke: full-bleed skyline, original portrait and shared Berke CTA. */
.mark-profile { background: var(--secondary); color: var(--white); isolation: isolate; position: relative; overflow: hidden; }
.mark-profile__stage { position: relative; min-height: clamp(600px, 48.5vw, 720px); }
.mark-profile__skyline { position: absolute; inset: 0; width: 100%; height: 100%; }
.mark-profile__skyline img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.mark-profile__stage::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(11 45 71 / 23%) 0%, rgb(11 45 71 / 22%) 45%, rgb(11 45 71 / 60%) 78%, var(--secondary) 100%); }
.mark-profile__inner { position: relative; z-index: 2; width: min(70%, 1120px); margin-inline: auto; min-height: inherit; display: grid; grid-template-columns: 55% 45%; }
.mark-profile__copy { position: relative; z-index: 3; padding-block: clamp(80px, 7vw, 110px) 80px; }
.mark-profile h1 { color: var(--accent); margin: 0 0 6px; }
.mark-profile__role { color: white;  margin: 0 0 42px; }
.mark-profile__details { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.mark-profile__details a, .mark-profile__detail { display: flex; align-items: center; gap: 18px; min-height: 36px; color: white; text-decoration: none; }
.mark-profile__details a:hover { text-decoration: underline; text-underline-offset: 5px; }
.mark-profile__details a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.mark-profile__icon { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 1px solid rgb(239 184 76 / 65%); border-radius: 50%; }
.mark-profile__icon img { width: 22px; height: 22px; }
.mark-profile__copy .btn { margin-top: 42px; }
.mark-profile__portrait { position: absolute; z-index: 2; right: -6%; bottom: 0; width: min(38.5vw, 550px); margin: 0; }
.mark-profile__portrait img { width: 100%; height: auto; max-width: none; }
.mark-profile__stage::after { content: ''; position: absolute; z-index: 2; inset: auto 0 0; height: 37%; background: linear-gradient(180deg, transparent, rgb(11 45 71 / 55%) 58%, var(--secondary)); pointer-events: none; }
.mark-profile__awards { position: relative; z-index: 3; width: 100%; margin: 0; padding: 32px max(28px, calc((100% - 1120px) / 2)) 44px; background: var(--secondary); }
.mark-profile__badges { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 36px; list-style: none; padding: 0; margin: 0; }
.mark-profile__badges li { min-width: 0; width: 220px; display: grid; place-items: center; }
.mark-profile__badges img { display: block; width: 100%; height: 180px; object-fit: contain; }
.mark-profile__badges li:nth-child(2) { width: 200px; }
.mark-profile__badges li:nth-child(4) { width: 240px; }
.mark-profile__badges li:nth-child(5), .mark-profile__badges li:nth-child(6) { width: 200px; }
.mark-profile__badges li:nth-child(7) { width: 260px; }
@media (max-width: 1100px) and (min-width: 768px) {
 .mark-profile__stage { min-height: 560px; }
 .mark-profile__inner { width: 88%; }
 .mark-profile__portrait { width: min(53vw, 438px); right: -4%; }
 .mark-profile__awards { padding-inline: 24px; }
}
@media (max-width: 767px) {
 .mark-profile__stage { min-height: 0; }
 .mark-profile__inner { display: flex; flex-direction: column; width: min(100% - 40px, 540px); }
 .mark-profile__copy { padding: 40px 0 0; }
 .mark-profile h1 {  text-align: center; }
 .mark-profile__role { text-align: center; margin-bottom: 30px; }
 .mark-profile__details { gap: 14px; }
 .mark-profile__details a, .mark-profile__detail { gap: 16px; min-height: 40px; }
 .mark-profile__icon { flex-basis: 40px; height: 40px; }
 .mark-profile__copy .btn { width: 100% !important; margin-top: 26px; }
 .mark-profile__portrait { position: relative; right: auto; bottom: auto; width: min(100%, 430px); align-self: center; margin-top: 30px; }
 .mark-profile__stage::after { height: 240px; }
 .mark-profile__skyline img { object-position: center top; }
 .mark-profile__awards { padding: 28px 20px; }
 .mark-profile__badges { gap: 20px 18px; max-width: 540px; margin-inline: auto; }
 .mark-profile__badges li { width: calc((100% - 18px) / 2) !important; }
 .mark-profile__badges img { height: 160px; }
 .mark-profile__badges li:nth-child(4), .mark-profile__badges li:nth-child(7) { width: min(260px, 100%) !important; }
}
@media (max-width: 359px) { .mark-profile__inner { width: calc(100% - 32px); } .mark-profile__details a, .mark-profile__detail { gap: 12px; } .mark-profile__badges { gap: 10px; } }

/* Mark's centered portrait continues below the unchanged editable page banner. */
.mark-attorney { --portrait-overlap: 4.625rem; background: var(--white); }
.mark-attorney__portrait-stage { display: flow-root; padding-inline: 1rem; }
.mark-attorney__portrait {
	position: relative;
	width: min(100%, 29.25rem);
	margin: 0 auto calc(-1 * var(--portrait-overlap));
	border: 10px solid var(--white);
	background: var(--gray);
}
.mark-attorney__portrait img { width: 100%; height: auto; }
.mark-attorney__content {
	max-width: 60rem;
	padding-top: calc(4rem + var(--portrait-overlap));
}
.mark-attorney__content h2, .mark-attorney__content h3 { text-wrap: balance; }
.mark-attorney__biography p { text-wrap: pretty; }
.mark-attorney__contact {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 2rem;

	font-style: normal;
	margin-bottom: 2rem;
	scroll-margin-top: 2rem;
}
.mark-attorney__contact a { overflow-wrap: anywhere; }
.mark-attorney__content a { text-underline-offset: .2em; }
.mark-attorney__content a:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.mark-attorney__credentials {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 3rem;
	border-top: 1px solid #dce4e6;
	margin-top: 3rem;
	padding-top: 3rem;
}
.mark-attorney__credentials ul { padding-left: 1.25rem; margin-bottom: 0; }
.mark-attorney__credentials li + li { margin-top: 1.5rem; }
.mark-attorney__credentials p:last-child { margin-bottom: 0; }
@media (max-width: 46.875rem) {
	.mark-attorney { --portrait-overlap: 3rem; }
	.mark-attorney__portrait { width: min(100%, 24rem); border-width: 8px; }
	.mark-attorney__content { padding-top: calc(2.5rem + var(--portrait-overlap)); padding-bottom: 2.5rem; }
	.mark-attorney__contact { flex-direction: column; gap: .75rem; }
	.mark-attorney__credentials { grid-template-columns: minmax(0, 1fr); gap: 2rem; margin-top: 2.5rem; padding-top: 2.5rem; }
}

/* Mark credentials: homepage disclosures in a compact profile spread. */
.mark-credentials__layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
 gap: 4rem;
 align-items: start;
 padding-top: 0;
}
.mark-credentials__intro h2 { margin: 0; max-width: 20rem; text-wrap: balance; }
.mark-credentials__list { min-width: 0; }
.mark-credentials__education { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.mark-credentials__education h3 { margin: 0 0 1.25rem; }
.mark-credentials .home-faq__answer p + p { margin-top: 1.25rem; }
.mark-credentials .home-faq__answer ul { margin: 0; padding-left: 1.5rem; }
@media (max-width: 62.5rem) {
 .mark-credentials__layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 46.875rem) {
 .mark-credentials__education { grid-template-columns: minmax(0, 1fr); }
}

/* Berke practice-area template: Kramer structure with shared Berke design tokens. */
.berke-practice-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--secondary);
  color: var(--white);
  min-height: 602px;
}
.berke-practice-banner__visual { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.berke-practice-banner__background,
.berke-practice-banner__background img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
.berke-practice-banner__background img { object-fit: cover; object-position: center; filter: grayscale(1); }
/* About uses a pre-desaturated photo plus this exact 42% Berke navy scrim.
   Desaturate only the skyline; the supplied portrait is never filtered. */
.berke-practice-banner__background::after { content: ""; position: absolute; inset: 0; background: rgb(11 45 71 / 75%); }
.berke-practice-banner__visual::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgb(11 45 71 / 94%) 0%, rgb(11 45 71 / 88%) 38%, rgb(11 45 71 / 65%) 62%, rgb(11 45 71 / 25%) 82%, rgb(11 45 71 / 8%) 100%);
}
.berke-practice-banner__visual::before {
  content: ""; position: absolute; inset: auto 0 0; height: 40%; z-index: 3; pointer-events: none;
  background: linear-gradient(to bottom, rgb(11 45 71 / 0%), rgb(11 45 71 / 42%) 46%, rgb(11 45 71 / 86%) 76%, var(--secondary));
}
.berke-practice-banner__attorney {
  position: absolute; bottom: 0; left: calc(50% + min(22vw, 316.8px));
  /* Keep the face prominent, matching the homepage’s tighter portrait crop. */
  transform: translateX(-50%) scale(1.25); transform-origin: center top;
  height: 95%; width: auto; max-width: none;
  object-fit: contain; object-position: center bottom; z-index: 2;
}
.berke-practice-banner__inner {
  position: relative; z-index: 4; display: flex; flex-direction: column;
  min-height: 602px; padding-block: 64px 32px;
}
.berke-practice-banner__copy { width: 60%; max-width: 800px; min-width: 0; }
.berke-practice-banner__title { color: var(--white); margin: 0 0 20px;  text-wrap: balance; overflow-wrap: anywhere; }
.berke-practice-banner__description { max-width: 46ch; margin: 0 0 24px; text-wrap: pretty; }
.berke-practice-banner__copy .btn { max-width: 100%; }
.berke-practice-banner__badges { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; align-items: center; margin: auto 0 0; padding: 24px 0 0; list-style: none; }
.berke-practice-banner__badge { display: flex; align-items: center; justify-content: center; min-width: 0; }
.berke-practice-banner__badge img { display: block; width: 110px; height: 110px; object-fit: contain; }
.berke-practice-banner__badge:first-child img { width: min(100%, 300px); height: 110px; }
@media (min-width: 768px) and (max-width: 1279px) {
  .berke-practice-banner,
  .berke-practice-banner__inner { min-height: 598px; }
  .berke-practice-banner__copy { width: 62%; }
  .berke-practice-banner__attorney { left: 76%; height: 100%; }
  .berke-practice-banner__badges { gap: 24px; }
}
@media (max-width: 767px) {
  .berke-practice-banner { min-height: 0; }
  .berke-practice-banner__visual { position: relative; inset: auto; height: clamp(360px, 100vw, 500px); }
  .berke-practice-banner__background img { object-position: center 35%; }
  .berke-practice-banner__visual::after { display: none; }
  .berke-practice-banner__attorney { left: 50%; height: 96%; }
  .berke-practice-banner__inner { min-height: 0; padding-block: 40px 48px; margin-top: -110px; align-items: center; text-align: center; }
  .berke-practice-banner__copy { width: 100%; max-width: 560px; }
  .berke-practice-banner__description { max-width: 34ch; margin-inline: auto; }
  .berke-practice-banner__copy .btn { margin-inline: auto; }
  .berke-practice-banner__badges { display: flex; justify-content: center; width: 100%; padding-top: 32px; }
  .berke-practice-banner__badge { display: none; }
  .berke-practice-banner__badge:first-child { display: flex; }
  .berke-practice-banner__badge img { width: 90px; height: 90px; }
  .berke-practice-banner__badge:first-child img { width: min(100%, 300px); height: auto; }
}

/* Scoped layout adapted from Kramer's 65/35 article and sidebar structure. */
.berke-practice-template__article { min-width: 0; }
.berke-practice-template__article h1 {  margin-bottom: 32px; }
.berke-practice-template__article .entry-content { margin-top: 0; }
.berke-practice-template__article h2 { padding-bottom: 12px; border-bottom: 1px solid var(--primary); scroll-margin-top: 24px; }
.berke-practice-template__article a:not(.btn), .berke-practice-template__sidebar a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.berke-practice-template__sidebar { min-width: 0; position: sticky; top: 24px; }
.berke-practice-template__toc { background: var(--secondary); color: var(--white); margin-bottom: 32px; }
.berke-practice-template__toc summary { padding: 20px 24px; cursor: pointer;   }
.berke-practice-template__toc nav { padding: 0 24px 24px; }
.berke-practice-template__toc ul { list-style: none; padding: 0; margin: 0; }
.berke-practice-template__toc li + li { margin-top: 12px; }
.berke-practice-template__toc a { color: var(--white);  }
.berke-practice-template__sidebar-section { padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid #ddd; }
.berke-practice-template__sidebar-section h2 {  margin-bottom: 16px; }
.berke-practice-template__practice-links { padding-left: 20px; }
.berke-practice-template__sidebar a:focus-visible, .berke-practice-template__toc summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.berke-practice-template__demo-label { background: var(--gray); padding: 16px 20px;  }
@media (max-width: 1024px) {
 .berke-practice-template__sidebar { position: static; grid-row: 1; }
 .berke-practice-template__sidebar-section, .berke-practice-template__sidebar-cta { display: none; }
 .berke-practice-template__toc { margin: 0; }
}

/* Mark: six unchanged homepage marks in two rows of three. */
.mark-credentials__badges {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 max-width: 28rem;
 gap: 1rem;
 list-style: none;
 margin: 2rem 0 0;
 padding: 0;
}
.mark-credentials__badges li {
 display: grid;
 place-items: center;
 aspect-ratio: 1;
 min-width: 0;
}
.mark-credentials__badge-art {
 position: relative;
 display: block;
 width: min(100%, calc(100% * var(--badge-art-width) / var(--badge-art-height)));
 aspect-ratio: var(--badge-art-width) / var(--badge-art-height);
 overflow: clip;
}
.mark-credentials__badges img {
 position: absolute;
 top: 0;
 left: 0;
 display: block;
 width: calc(100% * 300 / var(--badge-art-width));
 max-width: none;
 height: auto;
 transform: translate(var(--badge-offset-x), var(--badge-offset-y));
}
/* Measured alpha bounds compensate for empty margins, retaining all artwork. */
.mark-credentials__badges li[data-badge-id="68"] {
 --badge-art-width: 254.800000000;
 --badge-art-height: 212.800000000;
 --badge-offset-x: -7.533333333%;
 --badge-offset-y: -15.000000000%;
}
.mark-credentials__badges li[data-badge-id="69"] {
 --badge-art-width: 280.000000000;
 --badge-art-height: 203.883495146;
 --badge-offset-x: -3.333333333%;
 --badge-offset-y: -16.019417476%;
}
.mark-credentials__badges li[data-badge-id="65"] {
 --badge-art-width: 257.000000000;
 --badge-art-height: 280.000000000;
 --badge-offset-x: -9.000000000%;
 --badge-offset-y: -3.333333333%;
}
.mark-credentials__badges li[data-badge-id="66"] {
 --badge-art-width: 267.000000000;
 --badge-art-height: 233.000000000;
 --badge-offset-x: -7.666666667%;
 --badge-offset-y: -7.000000000%;
}
.mark-credentials__badges li[data-badge-id="70"] {
 --badge-art-width: 205.242718447;
 --badge-art-height: 114.174757282;
 --badge-offset-x: -16.019417476%;
 --badge-offset-y: -30.517799353%;
}
.mark-credentials__badges li[data-badge-id="71"] {
 --badge-art-width: 280.000000000;
 --badge-art-height: 41.440000000;
 --badge-offset-x: -3.333333333%;
 --badge-offset-y: -43.280000000%;
}
@media (max-width: 22.4375rem) {
 .mark-credentials__badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Practice content/sidebar: full Kramer structure using existing Berke components. */
.berke-practice-template__sidebar { position: static; }
.berke-practice-template__toc--mobile { display: none; }
.berke-practice-template__sidebar-form { margin-bottom: 32px; }
.berke-practice-template__sidebar-section { background: var(--secondary); color: var(--white); padding: 24px; border: 0; margin-bottom: 32px; }
.berke-practice-template__sidebar-section > h2 { color: var(--white); }
.berke-practice-template__sidebar-section a:not(.btn) { color: var(--white); }
.berke-practice-template__reviews .about-clients__videos { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 20px; }
.berke-practice-template__reviews .about-clients__videos figure { margin: 0; }
.berke-practice-template__reviews .testimonials__video { width: 100%; }
.berke-practice-template__practice-links { list-style: none; padding: 0; margin: 0 0 20px; }
.berke-practice-template__practice-links li + li { border-top: 1px solid rgb(255 255 255 / 20%); }
.berke-practice-template__practice-links a { display: block; padding-block: 12px; overflow-wrap: anywhere; }
.berke-practice-template__attorney { display: flex; flex-direction: column; align-items: center; gap: 16px;  text-align: center; }
.berke-practice-template__attorney img { width: 180px; height: 180px; object-fit: cover; object-position: center 12%; border: 4px solid var(--primary); border-radius: 50%; background: var(--gray); }
.berke-practice-template__article .entry-content > :last-child { margin-bottom: 0; }
.berke-practice-template__article .entry-content > h2:not(:first-child) { margin-top: 40px; }
.berke-practice-template__article .entry-content :is(img, iframe, table) { max-width: 100%; }
.berke-practice-template__article .entry-content a { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
 .berke-practice-template__sidebar { grid-row: auto; }
 .berke-practice-template__toc--desktop, .berke-practice-template__sidebar-form { display: none; }
 .berke-practice-template__toc--mobile { display: block; margin-bottom: 32px; }
 .berke-practice-template__sidebar-section { display: block; }
 .berke-practice-template__sidebar-section:last-child { margin-bottom: 0; }
}

/* Mark Education: full-width stacked entries and naturally wrapping school names. */
.mark-credentials__education { width: 100%; max-width: none; min-width: 0; grid-template-columns: minmax(0, 1fr); }
.mark-credentials__education > article, .mark-credentials__education h3 { width: 100%; max-width: none; min-width: 0; grid-column: 1 / -1; }
.mark-credentials__education h3 { text-wrap: wrap; }

/* Practice template corrections: native result strip and Home text reviews. */
.berke-practice-results { padding-block: 24px; overflow: hidden; }
.berke-practice-results__layout { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 3.1fr); align-items: center; }
.berke-practice-results #practice-results-title { color: var(--white);  margin: 0; padding-right: 32px; }
.berke-practice-results__carousel { min-width: 0; border-left: 1px solid rgb(255 255 255 / 20%); }
.berke-practice-results .settlements__item { display: flex; flex-direction: column; justify-content: center; padding: 12px 24px; }
.berke-practice-results .settlements__amount { margin-bottom: 12px; }
.berke-practice-results .slider-arrows { margin-top: 12px; }
.berke-practice-reviews, .berke-practice-reviews .swiper { min-width: 0; width: 100%; overflow: hidden; }
.berke-practice-reviews__slide { margin: 0; height: auto; }
.berke-practice-reviews__quote { height: auto; overflow: visible; margin: 0 0 20px; padding: 0 12px 0 0; border: 0; color: var(--white);  font-style: normal; scrollbar-color: var(--accent) var(--secondary); }
.berke-practice-reviews__slide figcaption { color: var(--accent);   }
.berke-practice-reviews .slider-arrows { margin-block: 20px; }
.berke-practice-reviews__quote:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.berke-practice-template__navigation a:not(.btn) { text-decoration: none; }
.berke-practice-template__navigation a:not(.btn):is(:hover, :focus-visible) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.berke-practice-template #practice-attorney-title { text-align: center; }
@media (max-width: 1024px) {
 .berke-practice-results__layout { grid-template-columns: minmax(0, 1fr); }
 .berke-practice-results #practice-results-title { text-align: center; padding: 0; margin-bottom: 20px; }
 .berke-practice-results__carousel { border-left: 0; }
}
@media (max-width: 639px) {
 .berke-practice-results .settlements__item { border-right: 0; }
}

/* Practice reviews always show full original text at natural slide height. */
.berke-practice-reviews__quote { height: auto; max-height: none; overflow: visible; padding: 0; }
.berke-practice-reviews__full { overflow-wrap: anywhere; white-space: pre-line; }

/* Practice consultation buttons retain the shared visible keyboard CTA focus. */
.berke-practice-template :is(#gform_wrapper_1, #gform_wrapper_2) :is(#gform_submit_button_1, #gform_submit_button_2).btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Sidebar consultation heading stays centered without decorative dividers. */
.berke-practice-template__sidebar-form .case-review h2 { text-align: center; border: 0; }
.berke-practice-template__sidebar-form .case-review > p { text-align: center; }
/* Reserve the measured tallest complete short review at the current width. */
.berke-practice-reviews [data-swiper] { height: var(--practice-review-height, auto); }
.berke-practice-reviews .swiper-wrapper { height: 100%; }
.berke-practice-reviews__slide { height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
/* Original portrait in a modest rectangular area, without a facial crop. */
.berke-practice-template__attorney img { width: min(100%, 220px); height: auto; aspect-ratio: 746 / 910; object-fit: contain; object-position: center; border: 0; border-radius: 0; background: transparent; }

/* Practice sidebar: compact navigation and a balanced, centered profile card. */
.berke-practice-template__navigation > h2 { margin-bottom: 8px; }
.berke-practice-template__navigation .berke-practice-template__practice-links { margin: 0; }
.berke-practice-template__attorney-card { text-align: center; }
.berke-practice-template__attorney-card > h2 { margin-bottom: 24px; }
.berke-practice-template__attorney-card a.berke-practice-template__attorney { width: min(100%, 260px); margin-inline: auto; gap: 20px; text-decoration: none; }
.berke-practice-template__attorney-card a.berke-practice-template__attorney:is(:hover, :focus-visible) { color: var(--accent); text-decoration: none; }

/* Kramer practice results structure, using Berke typography and existing figures. */
.berke-practice-banner__description { width: 100%; max-width: none; }
.berke-practice-results__layout { align-items: stretch; }
.berke-practice-results #practice-results-title { display: flex; align-items: center; padding: 18px 32px 18px 0; border-right: 1px dotted rgb(255 255 255 / 42%); }
.berke-practice-results__carousel { border-left: 0; }
.berke-practice-results .settlements__item { align-items: center; min-height: 132px; padding: 18px 24px; border-right: 1px dotted rgb(255 255 255 / 42%); }
.berke-practice-results .settlements__amount { margin: 0; white-space: nowrap; }
.berke-practice-results .settlements__currency { vertical-align: baseline; margin-right: 0; }
.berke-practice-results .settlements__unit { display: inline; margin: 0 0 0 .2em; }
.berke-practice-results .settlements__type { max-width: 22ch; margin-top: 10px; color: var(--white);   }
.berke-practice-results [data-practice-results]:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.berke-practice-results .settlements__slider:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(var(--practice-results-columns, 3), minmax(0, 1fr)); }
@media (max-width: 1024px) {
  .berke-practice-results #practice-results-title { display: block; padding: 0 0 20px; margin: 0; border-right: 0; }
  .berke-practice-results .settlements__slider:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .berke-practice-results { padding-block: 28px; }
  .berke-practice-results #practice-results-title { padding-bottom: 12px; }
  .berke-practice-results .settlements__item { min-height: 120px; padding: 14px 16px; border-right: 0; }
  .berke-practice-results .settlements__slider:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: minmax(0, 1fr); }
}

/* Practice sidebar profile: original portrait against the existing About city image. */
.berke-practice-template__attorney-card { max-width: 480px; margin-inline: auto; padding: 0; overflow: hidden; border-top: 3px solid var(--primary); }
.berke-practice-profile__stage { position: relative; isolation: isolate; height: 290px; }
.berke-practice-profile__city { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 53%; opacity: .5; z-index: -2; }
.berke-practice-profile__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; background: linear-gradient(to bottom, rgb(11 45 71 / 30%), rgb(11 45 71 / 0%) 42%, rgb(11 45 71 / 0%) 70%, var(--secondary)); }
.berke-practice-template__attorney-card #practice-attorney-title { position: absolute; inset: 22px 24px auto; margin: 0; color: var(--white); z-index: 2; }
.berke-practice-profile__portrait { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); display: block; height: 236px; width: auto; max-width: 100%; object-fit: contain; border: 0; border-radius: 0; }
.berke-practice-profile__identity { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; padding: 0 24px 28px; }
.berke-practice-profile__name { margin: 0 0 20px; color: var(--white); text-decoration: none; }
.berke-practice-profile__identity .btn { max-width: 100%; }

/* Practice sidebar: compact editorial profile, distinct from the page hero. */
.berke-practice-template__attorney-card.berke-practice-editorial { padding: 24px; background: var(--gray); border: 1px solid rgb(11 45 71 / 14%); overflow: visible; }
.berke-practice-editorial #practice-attorney-title { position: static; inset: auto; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid rgb(11 45 71 / 14%); color: var(--secondary);  text-align: center; }
.berke-practice-editorial__body { display: grid; grid-template-columns: minmax(0, 160px) minmax(0, 1fr); align-items: center; gap: 24px; }
.berke-practice-editorial__frame { margin: 0; background: var(--white); border: 1px solid rgb(11 45 71 / 14%); border-bottom: 3px solid var(--secondary); }
.berke-practice-editorial__portrait { display: block; width: 100%; height: auto; aspect-ratio: 746 / 910; object-fit: contain; border: 0; border-radius: 0; }
.berke-practice-editorial__name { margin: 0; color: var(--secondary); }
.berke-practice-editorial .berke-practice-editorial__name a { display: inline-block; max-width: 100%; color: var(--secondary); text-decoration: none; }
.berke-practice-editorial .berke-practice-editorial__name a:is(:hover, :focus-visible) { color: var(--secondary); text-decoration: none; }
@media (max-width: 767px) {
  .berke-practice-template__attorney-card.berke-practice-editorial { padding: 20px; }
  .berke-practice-editorial__body { grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: 20px; }
}

/* Sunshine's stacked profile hierarchy, with existing Berke/About type and surface. */
.berke-practice-template__attorney-card.berke-practice-attorney { padding: 24px 24px 0; background: var(--secondary); border: 0; overflow: visible; }
.berke-practice-attorney #practice-attorney-title { position: static; inset: auto; margin: 0 0 8px; padding: 0; border: 0; color: var(--accent); text-align: center; }
.berke-practice-attorney__name { margin: 0 0 16px; color: var(--white); text-align: center; }
.berke-practice-attorney .berke-practice-attorney__name a { display: inline-block; color: var(--white); text-decoration: none; }
.berke-practice-attorney .berke-practice-attorney__name a:is(:hover, :focus-visible) { color: var(--accent); text-decoration: none; }
.berke-practice-attorney__portrait { display: block; width: min(100%, 280px); height: auto; aspect-ratio: 746 / 910; object-fit: contain; margin-inline: auto; border: 0; border-radius: 0; background: transparent; mask-image: linear-gradient(#000 70%, transparent 98%); }
@media (max-width: 767px) {
  .berke-practice-attorney__portrait { width: min(100%, 260px); }
}

/* Native posts reuse the practice grid/sidebar and the shared internal banner. */
.berke-post-template .about-banner__content { padding-block: 48px; }
.berke-post-template__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 32px;  }
.berke-post-template__article .entry-content { overflow-wrap: anywhere; }
.berke-post-template__article .entry-content pre { max-width: 100%; overflow-x: auto; }
.berke-post-template__article .entry-content .wp-block-table { max-width: 100%; overflow-x: auto; }

/* Practice profile identity sits over the lower portrait fade. */
.berke-practice-attorney #practice-attorney-title { color: var(--white); }
.berke-practice-attorney__body { position: relative; isolation: isolate; }
.berke-practice-attorney__body::after { content: ""; position: absolute; inset: 45% 0 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--secondary) 90%); }
.berke-practice-attorney__identity { position: absolute; inset: auto 0 24px; z-index: 2; text-align: center; }
.berke-practice-attorney__identity .berke-practice-attorney__name { margin: 0; }

/* Practice results keep the shared type scale and regular figure weight. */

/* Latest native blog articles replace practice navigation only in post sidebars. */
.berke-post-template .berke-post-latest__list { list-style: none; margin: 0; padding: 0; }
.berke-post-template .berke-post-latest__list li + li { border-top: 1px solid rgb(255 255 255 / 20%); margin-top: 16px; padding-top: 16px; }
.berke-post-template a.berke-post-latest__link { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 16px; color: var(--white); text-decoration: none; }
.berke-post-template a.berke-post-latest__link--text-only { grid-template-columns: minmax(0, 1fr); }
.berke-post-template .berke-post-latest__thumbnail { display: block; width: 88px; height: 66px; object-fit: cover; }
.berke-post-template .berke-post-latest__title { overflow-wrap: anywhere; }
.berke-post-template a.berke-post-latest__link:is(:hover, :focus-visible) { color: var(--accent); text-decoration: none; }
.berke-practice-template.berke-article-template .berke-practice-template__article :is(h1, h2, h3) {  color: var(--secondary); margin-block: 0 .5em; }
.berke-practice-template.berke-article-template .berke-practice-template__article h2 { padding-bottom: 10px; border-bottom: 1.5px solid var(--primary); }
.berke-practice-template.berke-article-template .berke-practice-template__article .entry-content { overflow-wrap: anywhere; }
.berke-practice-template.berke-article-template .berke-practice-template__article .entry-content p { margin-block: 0 1.5em; }
.berke-practice-template.berke-article-template .berke-practice-template__article .entry-content > h2:not(:first-child) { margin-top: 0; }
.berke-practice-template.berke-article-template .berke-practice-template__article .entry-content .wp-block-image { margin-block: 20px; }
.berke-practice-template.berke-article-template .berke-practice-template__article .entry-content :is(pre, .wp-block-table) { max-width: 100%; overflow-x: auto; }

/* Native practice list panels start below preceding aligned images. */

/* TOC follows the live Kramer disclosure, spacing and type scale in Berke colors. */
.berke-practice-template .berke-practice-template__toc { margin: 0 0 30px; }
.berke-practice-template .berke-practice-template__toc summary { display: flex; align-items: center; padding: 0 0 0 20px; list-style: none; background: var(--secondary); color: var(--white); }
.berke-practice-template .berke-practice-template__toc summary::marker { content: ""; }
.berke-practice-template .berke-practice-template__toc summary::-webkit-details-marker { display: none; }
.berke-practice-template .berke-practice-toc__title { flex-grow: 1; min-width: 0;  }
.berke-practice-template .berke-practice-toc__icon { flex: 0 0 80px; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; background: var(--primary); color: var(--secondary); }
.berke-practice-template .berke-practice-toc__icon svg { width: 40px; height: 40px; }
.berke-practice-template .berke-practice-toc__close { display: none; }
.berke-practice-template .berke-practice-template__toc[open] .berke-practice-toc__chevron { display: none; }
.berke-practice-template .berke-practice-template__toc[open] .berke-practice-toc__close { display: block; }
.berke-practice-template .berke-practice-template__toc nav { padding: 0; }
.berke-practice-template .berke-practice-template__toc ul { padding: 20px 0; margin: 0; border: 0; list-style: none; background: linear-gradient(277.7deg, color-mix(in srgb, var(--secondary), #000 34%) -.58%, var(--secondary) 100.27%); }
.berke-practice-template .berke-practice-template__toc li { padding: 0 20px; margin: 0; }
.berke-practice-template .berke-practice-template__toc li + li { margin-top: 0; }
.berke-practice-template .berke-practice-template__toc a { display: inline-block; width: 100%; padding: 10px 0; border-bottom: 1px solid rgb(255 255 255 / 20%); background: transparent; color: var(--white); text-decoration: none; overflow-wrap: anywhere; }
.berke-practice-template .berke-practice-template__toc li:last-child a { border-bottom: 0; }
.berke-practice-template .berke-practice-template__toc a:is(:hover, :focus-visible) { color: var(--accent); }
.berke-practice-template .berke-practice-template__toc a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 1024px) {
 .berke-practice-template .berke-practice-template__toc--mobile a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; text-decoration-skip-ink: auto; }
}
@media (max-width: 767px) {
 .berke-practice-template .berke-practice-toc__icon { flex-basis: 60px; width: 60px; height: 60px; }
 .berke-practice-template .berke-practice-template__toc--mobile ul { padding-right: 20px; }
}

/* Font-independent SVG circle/arrow, limited to native unordered practice/blog article lists. */

/* Practice Case Results uses Berke primary with contrasting existing white type. */
.berke-practice-results.bg-secondary { background-color: var(--secondary); }
.berke-practice-results .settlements__amount { color: var(--white); }

/* Contact: actual Kramer 60/40 grid adapted to Berke's shared tokens/components. */
.contact-page { padding-block: 64px; }
.contact-page__layout { padding-block: 0; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 50px; align-items: start; }
.contact-page__copy { grid-column: 1; grid-row: 1; min-width: 0; overflow-wrap: anywhere; }
.contact-page__copy > h1 {  margin-bottom: 30px; }
.contact-page__copy > p { margin-bottom: 28px; }
.contact-page__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin-block: 32px; }
.contact-page__details p { margin: 0; }
.contact-page__details > :last-child { grid-column: 1 / -1; }
.contact-page__details strong { display: block;   color: var(--secondary); margin-bottom: 8px; }
.contact-page__map iframe { display: block; width: 100%; height: 400px; border: 0; }
.contact-page__form { grid-column: 2; grid-row: 1; min-width: 0; padding: 50px 30px; overflow-wrap: anywhere; }
.contact-page__form > h2 {  text-align: center; border: 0; padding-bottom: 0; margin-bottom: 20px; }
.contact-page__form > p { margin-bottom: 30px; }
.contact-page__form :is(#gform_wrapper_1) button.btn:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 5px !important; }
@media (max-width: 62.5rem) {
 .contact-page__layout { gap: 32px; }
 .contact-page__form { padding: 40px 24px; }
 .contact-page__details { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 48rem) {
 .contact-page__layout { grid-template-columns: minmax(0, 1fr); gap: 50px; }
 .contact-page__form { grid-column: 1; grid-row: 1; padding: 50px 16px; }
 .contact-page__copy { grid-column: 1; grid-row: 2; }
 .contact-page__copy > h1 { margin-bottom: 20px; }
 .contact-page__map iframe { height: 400px; }
}

/* White keeps the results-carousel focus ring visible on the primary surface. */
.berke-practice-results [data-practice-results]:focus-visible { outline-color: var(--white); }

/* Resized native article images retain their proportions when their width narrows. */
.berke-post-template__article .entry-content .wp-block-image img { height: auto !important; }

/* Community: restrained stories and native photo gallery, using Berke foundations. */
.community-stories,
.community-gallery { padding-block: 64px; }
.community-stories > .container,
.community-gallery > .container { padding-block: 0; }
.community-intro { max-width: 960px; margin-bottom: 40px; }
.community-intro h2 { margin-bottom: 20px; }
.community-intro p:last-child { margin-bottom: 0; }
.community-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.community-card { display: flex; flex-direction: column; min-width: 0; background: var(--secondary); }
.community-card__image { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; }
.community-card--289 .community-card__image { object-position: center 48%; }
.community-card__body { display: flex; flex: 1; flex-direction: column; padding: 32px; color: var(--white); }
.community-card time { margin-bottom: 16px;  color: rgb(255 255 255 / 80%); }
.community-card h3 { margin-bottom: 20px; text-wrap: balance; }
.community-card h3 a { color: var(--accent); text-decoration: none; }
.community-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.community-card p { color: var(--white); }
.community-card__link { margin-top: auto; margin-bottom: 0; padding-top: 12px; }
.community-card__link a { color: var(--accent);   text-underline-offset: 4px; }
.community-card a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.community-gallery { background: var(--gray); }
.community-gallery > .container > h2 { text-align: center; margin-bottom: 40px; }
.community-gallery .wp-block-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 0; }
.community-gallery .wp-block-gallery .wp-block-image { margin: 0; min-width: 0; width: auto !important; }
.community-gallery .wp-block-image a { display: block; }
.community-gallery .wp-block-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; }
.community-gallery .wp-block-image:nth-child(2) img { object-position: center 48%; }
.community-gallery .wp-block-image a:focus-visible { outline: 3px solid var(--primary); outline-offset: 5px; }
.community-gallery .wp-block-image figcaption { position: static !important; margin: 16px 0 0 !important; padding: 0 !important; background: none !important; color: var(--secondary) !important;  text-align: left !important; }
@media (max-width: 62.5rem) {
 .community-cards { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 .community-card__body { padding: 24px; }
}
@media (max-width: 46.875rem) {
 .community-stories, .community-gallery { padding-block: 48px; }
 .community-cards, .community-gallery .wp-block-gallery { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 .community-gallery > .container > h2 { margin-bottom: 32px; }
}

/* Community gallery refinement: four columns, native photo dialog, optional Swiper. */
.community-card h3 a { color: var(--white); text-decoration: none; }
.community-card h3 a:hover, .community-card h3 a:focus-visible { color: var(--accent); text-decoration: none; }
.community-gallery .wp-block-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html.community-lightbox-open { overflow: hidden; scrollbar-gutter: stable; }
.community-lightbox { background: var(--secondary); color: var(--white); border: 0; padding: 24px; width: min(1100px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 48px); }
.community-lightbox::backdrop { background: rgb(11 45 71 / 88%); }
.community-lightbox__header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.community-lightbox__header h2 { color: var(--white);  margin: 0; }
.community-lightbox__control { background: transparent; color: var(--white); border: 1px solid rgb(255 255 255 / 50%); padding: 10px 14px; min-height: 44px; cursor: pointer; }
.community-lightbox__control:hover { color: var(--accent); border-color: var(--accent); }
.community-lightbox__control:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.community-lightbox__close { display: inline-flex; align-items: center; gap: 8px; }
.community-lightbox__photo { display: grid; place-items: center; min-height: 120px; }
.community-lightbox__image { width: auto; height: auto; max-width: 100%; max-height: max(120px, calc(100dvh - 260px)); object-fit: contain; }
.community-lightbox__caption { color: var(--white);  margin: 16px 0; text-align: center; }
.community-lightbox__navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.community-lightbox__counter { white-space: nowrap;  }
.community-gallery .wp-block-gallery.swiper { display: block; }
.community-gallery .swiper-wrapper { gap: 0; }
.community-gallery .wp-block-gallery.swiper .swiper-slide { display: block; flex-grow: 0; min-width: 0; width: calc((100% - 96px) / 4) !important; margin: 0; }
.community-gallery__controls { display: flex; justify-content: flex-end; gap: 16px; margin-top: 24px; }
.community-gallery__control { background: var(--secondary); color: var(--white); border: 0; padding: 12px 18px; min-height: 44px; cursor: pointer; }
.community-gallery__control:disabled { opacity: .5; cursor: default; }
.community-gallery__control:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
@media (max-width: 62.5rem) {
 .community-gallery .wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .community-gallery .wp-block-gallery.swiper .swiper-slide { width: calc((100% - 32px) / 2) !important; }
}
@media (max-width: 46.875rem) {
 .community-gallery .wp-block-gallery { grid-template-columns: minmax(0, 1fr); }
 .community-gallery .wp-block-gallery.swiper .swiper-slide { width: 100% !important; }
 .community-lightbox { padding: 16px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
 .community-lightbox__control { padding: 10px; }
 .community-lightbox__image { max-height: max(120px, calc(100dvh - 280px)); }
}

/* Photo-only viewer: viewport-contained original images and quiet icon controls. */
html.community-lightbox-open body { overflow: hidden; }
.community-lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden; background: rgb(8 10 12 / 97%); }
.community-lightbox::backdrop { background: #080a0c; }
.community-lightbox[open] { display: grid; place-items: center; }
.community-lightbox__photo { position: absolute; inset: 64px; min-height: 0; display: grid; place-items: center; }
.community-lightbox__image { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.community-lightbox__control { position: absolute; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; color: #fff; }
.community-lightbox__control svg { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.community-lightbox__control:hover { color: var(--accent); background: rgb(255 255 255 / 7%); }
.community-lightbox__control:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.community-lightbox__close { top: 16px; right: 16px; }
.community-lightbox__previous { left: 12px; top: calc(50% - 22px); }
.community-lightbox__next { right: 12px; top: calc(50% - 22px); }
.community-lightbox__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 46.875rem) {
 .community-lightbox__photo { inset: 72px 24px; }
 .community-lightbox__close { top: 12px; right: 12px; }
 .community-lightbox__previous { top: auto; bottom: 12px; left: calc(50% - 56px); }
 .community-lightbox__next { top: auto; bottom: 12px; right: calc(50% - 56px); }
}

/* Community story hierarchy stays distinct from compact mobile H3 defaults. */
.community-card h3 {  margin: 0 0 20px; }

/* Explicit viewport limits avoid intrinsic grid image sizing overflow. */
html.community-lightbox-open { scrollbar-gutter: auto; }
.community-lightbox__image { max-width: calc(100vw - 128px); max-height: calc(100dvh - 128px); }
@media (max-width: 46.875rem) {
 .community-lightbox__image { max-width: calc(100vw - 48px); max-height: calc(100dvh - 144px); }
}

/* Testimonials page reuses Home components on the requested white surface. */
.page-id-25 .testimonials { background: var(--white); }

/* News uses the existing practice/single-post grid geometry without width overrides. */
.berke-news__main { min-width: 0; }
.berke-news__intro { margin-bottom: 2rem; }
.berke-news__intro h2 { margin: 0 0 1rem; }
.berke-news__intro p { margin: 0; }
.berke-news__count { margin: 0 0 1.5rem;  color: #505e66; }
.berke-news__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.berke-news-card { min-width: 0; border: 1px solid #ccc; padding: 1rem; background: var(--white); }
.berke-news-card__date { display: block; width: fit-content; min-width: 7rem; margin-bottom: 1.5rem; padding-bottom: .5rem; border-bottom: 1px solid #505e66;  color: #505e66; }
.berke-news .berke-news-card__title { margin: 0 0 2rem; overflow-wrap: anywhere; }
.berke-news .berke-news-card__title a { color: var(--secondary); text-decoration: none; }
.berke-news .berke-news-card__title a:hover, .berke-news .berke-news-card__title a:focus-visible { color: var(--secondary); text-decoration: none; }
.berke-news-card__image { display: block; height: 400px; overflow: hidden; }
.berke-news-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.berke-news-card--text .berke-news-card__title { margin-bottom: 0; }
.berke-news__categories h2 { color: var(--white); margin: 0 0 1.5rem;  }
.berke-news__categories ul { list-style: none; padding: 0; margin: 0; }
.berke-news__categories li + li { border-top: 1px solid rgb(255 255 255 / 20%); }
.berke-news__categories a { display: block; padding: .875rem 0; color: var(--white); text-decoration: none !important; overflow-wrap: anywhere; }
.berke-news__categories a:hover, .berke-news__categories a:focus-visible, .berke-news__categories a[aria-current] { color: var(--accent); }
.berke-news a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.berke-news :is(#gform_wrapper_1, #gform_wrapper_2) :is(#gform_submit_button_1, #gform_submit_button_2).btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.berke-news__pagination { margin-top: 3rem; }
.berke-news__pagination ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.berke-news__pagination li { margin: 0;  }
.berke-news__pagination .page-numbers { display: flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: .625rem .875rem; border: 1px solid #dce4e6; color: var(--secondary); text-decoration: none; }
.berke-news__pagination ul.page-numbers { border: 0; padding: 0; justify-content: flex-start; }
.berke-news__pagination .current { color: var(--white); background: var(--secondary); border-color: var(--secondary); }
.berke-news__pagination a:hover, .berke-news__pagination a:focus-visible { color: var(--secondary); border-color: var(--secondary); }
@media (max-width: 767px) {
 .berke-news .berke-news-card__title {  margin-bottom: 1.5rem; }
 .berke-news-card { padding: .75rem; }
 .berke-news-card__image { height: 210px; }
 .berke-news-card--text .berke-news-card__title { margin-bottom: 0; }
 .berke-news__pagination { margin-top: 2rem; }
}

.berke-news .case-review #gform_wrapper_2 :is(input, textarea, select):focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 3px !important; }

/* BERKE THEME SETTINGS ADMIN START */
.berke-theme-settings { max-width: 1440px; margin-top: 24px; color: #30333b; }
.berke-theme-settings .berke-settings-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgb(24 32 56 / 4%); }
.berke-theme-settings .berke-settings-sidebar { padding: 24px 16px; border-right: 1px solid #e5e7eb; border-radius: 8px 0 0 8px; background: #f5f6fa; }
.berke-theme-settings .berke-settings-brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 24px; border-bottom: 1px solid #e5e7eb; font-size: 13px; font-weight: 600; line-height: 1.5; }
.berke-theme-settings .berke-settings-brand-mark { display: block; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 6px; object-fit: contain; }
.berke-theme-settings .berke-settings-brand small { display: block; margin-top: 2px; color: #747887; font-size: 11px; font-weight: 400; }
.berke-theme-settings .berke-settings-nav-group { padding-top: 24px; }
.berke-theme-settings .berke-settings-nav-group + .berke-settings-nav-group { margin-top: 24px; border-top: 1px solid #e5e7eb; }
.berke-theme-settings .berke-settings-group-label { margin: 0 10px 8px; color: #747887; font-size: 11px; font-weight: 400; line-height: 1.5; }
.berke-theme-settings .berke-settings-nav-link { display: flex; align-items: center; gap: 10px; min-height: 40px; box-sizing: border-box; margin: 0; padding: 10px; border: 1px solid transparent; border-radius: 6px; color: #4d515c; font-size: 14px; font-weight: 400; line-height: 18px; text-decoration: none; }
.berke-theme-settings .berke-settings-nav-icon { display: block; flex: 0 0 18px; color: #747887; }
.berke-theme-settings .berke-settings-nav-link:hover { background: #eceef5; color: #30333b; }
.berke-theme-settings .berke-settings-nav-link.is-active { border-color: #e5e7eb; background: #fff; color: #30333b; box-shadow: 0 1px 3px rgb(24 32 56 / 5%); }
.berke-theme-settings .berke-settings-nav-link.is-active .berke-settings-nav-icon { color: #efb84c; }
.berke-theme-settings .berke-settings-nav-link:focus-visible { outline: 2px solid #efb84c; outline-offset: 2px; box-shadow: none; }
.berke-theme-settings .berke-settings-panel { min-width: 0; padding: 32px; }
.berke-theme-settings .berke-settings-panel-heading { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #e5e7eb; }
.berke-theme-settings .berke-settings-panel-heading h1 { margin: 0 0 8px; padding: 0; color: #252832; font-size: 24px; font-weight: 600; line-height: 1.3; text-wrap: balance; }
.berke-theme-settings .berke-settings-panel-heading > p { margin: 0; color: #676c7b; font-size: 13px; line-height: 1.6; }
.berke-theme-settings .description { color: #676c7b; font-size: 13px; line-height: 1.6; text-wrap: pretty; }
.berke-theme-settings .berke-settings-panel a:not(.button):not(.button-link-delete) { color: #efb84c; }
.berke-theme-settings .notice { margin: 0 0 24px; padding: 1px 12px; border-radius: 4px; box-shadow: none; }
.berke-theme-settings .notice ul { padding-left: 24px; list-style: disc; }
.berke-theme-settings .berke-code-introduction { margin: 0 0 8px; font-size: 13px; line-height: 1.6; }
.berke-theme-settings #berke-code-help { margin: 0; }
.berke-theme-settings .berke-code-editor-wrap { min-width: 0; margin-top: 24px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
.berke-theme-settings .berke-code-editor-wrap:focus-within { outline: 2px solid #efb84c; outline-offset: 2px; }
.berke-theme-settings .berke-code-editor-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 16px 16px 0; }
.berke-theme-settings .berke-code-editor-wrap h2 { margin: 0; color: #30333b; font-size: 14px; font-weight: 600; line-height: 1.5; }
.berke-theme-settings .berke-code-editor-wrap h2 label { cursor: pointer; }
.berke-theme-settings .berke-code-language { color: #747887; font-size: 11px; line-height: 1.5; }
.berke-theme-settings .berke-code-editor-wrap > .description { margin: 6px 16px 14px; }
.berke-theme-settings .berke-code-editor-wrap textarea { display: block; width: 100%; min-height: 260px; box-sizing: border-box; margin: 0; padding: 12px 16px; border: 0; border-top: 1px solid #e5e7eb; border-radius: 0 0 8px 8px; background: #fff; font: 13px/1.7 ui-monospace, SFMono-Regular, Consolas, monospace; resize: vertical; }
.berke-theme-settings .CodeMirror { min-height: 260px; height: 280px; border: 0; border-top: 1px solid #e5e7eb; border-radius: 0 0 8px 8px; background: #fff; font-size: 13px; line-height: 1.7; }
.berke-theme-settings .CodeMirror-lines { padding: 12px 0; }
.berke-theme-settings .CodeMirror-focused { box-shadow: none; }
.berke-theme-settings .berke-code-editor-wrap textarea:focus { outline: 0; box-shadow: none; }
.berke-theme-settings .CodeMirror [contenteditable="true"]:focus { outline: 0; }
.berke-theme-settings .CodeMirror-gutters { border-right: 1px solid #eef0f5; background: #f8f9fc; }
.berke-theme-settings .CodeMirror-linenumber { color: #838896; }
.berke-theme-settings .berke-field-error { margin: 8px 16px 12px; color: #b32d2e; font-size: 13px; }
.berke-theme-settings [aria-invalid="true"], .berke-theme-settings [aria-invalid="true"] + .CodeMirror { box-shadow: inset 0 0 0 1px #b32d2e; }
.berke-theme-settings .berke-settings-form-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 32px; padding-top: 24px; border-top: 1px solid #e5e7eb; }
.berke-theme-settings .berke-settings-form-footer > .description { flex: 1 1 360px; margin: 0; }
.wp-core-ui .berke-theme-settings .button { min-height: 36px; padding: 2px 14px; border-color: #d7dbe4; border-radius: 6px; background: #fff; color: #4d515c; }
.wp-core-ui .berke-theme-settings .button:hover { border-color: #b7bcc9; background: #f5f6fa; color: #30333b; }
.wp-core-ui .berke-theme-settings .button-primary { border-color: #efb84c; background: #efb84c; color: #0b2d47; }
.wp-core-ui .berke-theme-settings .button-primary:hover { border-color: var(--secondary); background: var(--secondary); color: #fff; }
.wp-core-ui .berke-theme-settings .button:focus-visible { outline: 2px solid #efb84c; outline-offset: 2px; box-shadow: none; }
.berke-theme-settings .berke-redirect-row { min-width: 0; margin: 24px 0; padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
.berke-theme-settings .berke-redirect-row legend { padding: 0 8px; color: #30333b; font-size: 14px; font-weight: 600; }
.berke-theme-settings .berke-redirect-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 160px; gap: 16px; }
.berke-theme-settings .berke-redirect-field label, .berke-theme-settings .berke-setting-label { display: block; margin-bottom: 8px; color: #30333b; font-size: 13px; font-weight: 500; }
.berke-theme-settings .berke-redirect-field input[type="text"], .berke-theme-settings select { width: 100%; max-width: none; min-height: 36px; border-color: #d7dbe4; border-radius: 6px; color: #30333b; }
.berke-theme-settings .berke-redirect-field input[type="text"]:focus, .berke-theme-settings select:focus { border-color: #efb84c; box-shadow: 0 0 0 1px #efb84c; }
.berke-theme-settings .berke-redirect-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-top: 16px; }
.berke-theme-settings .berke-redirect-controls input[type="checkbox"]:focus { border-color: #efb84c; box-shadow: 0 0 0 1px #efb84c; }
.berke-theme-settings .berke-redirect-row .berke-field-error { margin: 8px 0 0; }
.berke-theme-settings .berke-redirect-announcement { padding: 12px 16px; border-left: 3px solid #efb84c; border-radius: 4px; background: #f5f6fa; color: #4d515c; }
.berke-theme-settings .berke-redirect-announcement.is-error { border-left-color: #b32d2e; color: #b32d2e; }
.berke-theme-settings .berke-redirect-announcement:empty, .berke-theme-settings [hidden] { display: none !important; }
@media (max-width: 1100px) {
  .berke-theme-settings .berke-settings-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .berke-theme-settings .berke-settings-panel { padding: 24px; }
  .berke-theme-settings .berke-redirect-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 782px) {
  .berke-theme-settings { margin-top: 16px; }
  .berke-theme-settings .berke-settings-shell { grid-template-columns: minmax(0, 1fr); }
  .berke-theme-settings .berke-settings-sidebar { padding: 16px; border-right: 0; border-bottom: 1px solid #e5e7eb; border-radius: 8px 8px 0 0; }
  .berke-theme-settings .berke-settings-brand { padding: 0 0 16px; }
  .berke-theme-settings .berke-settings-sidebar nav { display: flex; flex-wrap: wrap; gap: 16px; }
  .berke-theme-settings .berke-settings-nav-group { flex: 1 1 140px; padding-top: 16px; }
  .berke-theme-settings .berke-settings-nav-group + .berke-settings-nav-group { margin-top: 0; border-top: 0; }
  .berke-theme-settings .berke-settings-group-label { margin-left: 10px; }
  .berke-theme-settings .berke-settings-panel { padding: 24px 16px; }
  .berke-theme-settings .berke-settings-panel-heading h1 { font-size: 22px; }
  .berke-theme-settings .berke-redirect-row { padding: 16px; }
}
/* Dashboard presentation; shared admin scope only. */
.berke-theme-settings { --berke-admin-ink: #0b2d47; --berke-admin-accent: #efb84c; color: var(--berke-admin-ink); }
.berke-theme-settings .berke-settings-page-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: 4px 0; }
.berke-theme-settings .berke-settings-eyebrow { margin: 0 0 6px; color: #5e6c74; font-size: 12px; font-weight: 600; }
.berke-theme-settings .berke-settings-page-header h1 { margin: 0 0 8px; padding: 0; color: var(--berke-admin-ink); font-size: 30px; font-weight: 600; line-height: 1.2; text-wrap: balance; }
.berke-theme-settings .berke-settings-page-header div > p:last-child { margin: 0; color: #5e6c74; font-size: 14px; }
.berke-theme-settings .berke-settings-theme-label { color: #5e6c74; font-size: 12px; white-space: nowrap; }
.berke-theme-settings .berke-settings-shell { grid-template-columns: 210px minmax(0, 1fr); border-color: #dce2e5; border-radius: 12px; box-shadow: 0 4px 18px rgb(11 45 71 / 5%); overflow: hidden; }
.berke-theme-settings .berke-settings-sidebar { padding: 28px 16px; border-right: 0; border-radius: 0; background: var(--berke-admin-ink); color: #fff; }
.berke-theme-settings .berke-settings-brand { padding-bottom: 26px; border-color: #29414e; color: #fff; }
.berke-theme-settings .berke-settings-brand-mark { border-radius: 6px; background: #fff; padding: 4px; box-sizing: border-box; }
.berke-theme-settings .berke-settings-brand small, .berke-theme-settings .berke-settings-group-label { color: #bbc7ce; }
.berke-theme-settings .berke-settings-nav-group + .berke-settings-nav-group { margin-top: 16px; border-color: #29414e; }
.berke-theme-settings .berke-settings-nav-link, .berke-theme-settings .berke-settings-nav-icon { color: #d5dfe4; }
.berke-theme-settings .berke-settings-nav-link:hover { background: #193746; color: #fff; }
.berke-theme-settings .berke-settings-nav-link.is-active { border-color: #34515f; background: #24414f; color: #fff; box-shadow: none; }
.berke-theme-settings .berke-settings-nav-link.is-active .berke-settings-nav-icon { color: #efb84c; }
.berke-theme-settings .berke-settings-nav-link:focus-visible { outline-color: #efb84c; }
.berke-theme-settings .berke-settings-panel { padding: 32px; }
.berke-theme-settings .berke-settings-panel-heading { padding-bottom: 22px; margin-bottom: 24px; border-color: #e2e7e9; }
.berke-theme-settings .berke-settings-panel-heading h2 { margin: 0 0 7px; color: var(--berke-admin-ink); font-size: 22px; font-weight: 600; line-height: 1.3; text-wrap: balance; }
.berke-theme-settings .berke-redirect-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 30px; }
.berke-theme-settings .berke-redirect-overview > div { padding: 18px 20px; border: 1px solid #e2e7e9; border-radius: 8px; background: #f8fafb; }
.berke-theme-settings .berke-redirect-overview span { display: block; margin-bottom: 10px; color: #5e6c74; font-size: 12px; }
.berke-theme-settings .berke-redirect-overview strong { display: block; color: var(--berke-admin-ink); font-size: 28px; line-height: 1.1; font-weight: 600; font-variant-numeric: tabular-nums; }
.berke-theme-settings .berke-redirect-overview .berke-overview-text { padding-top: 7px; font-size: 17px; }
.berke-theme-settings .berke-redirect-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 18px; }
.berke-theme-settings .berke-redirect-toolbar h2 { margin: 0 0 4px; color: var(--berke-admin-ink); font-size: 15px; line-height: 1.5; }
.berke-theme-settings .berke-redirect-toolbar p { margin: 0; }
.berke-theme-settings #berke-redirect-rows { border: 1px solid #e2e7e9; border-radius: 8px; overflow: hidden; }
.berke-theme-settings #berke-redirect-rows:empty { display: none; }
.berke-theme-settings .berke-redirect-row:has(.berke-rule-summary:not([hidden])) { margin: 0; padding: 13px 16px; border: 0; border-radius: 0; }
.berke-theme-settings .berke-redirect-row + .berke-redirect-row:has(.berke-rule-summary:not([hidden])) { border-top: 1px solid #e9edef; }
.berke-theme-settings .berke-rule-summary, .berke-theme-settings .berke-redirect-list-heading { display: grid; grid-template-columns: minmax(0, 1fr) 116px 112px; align-items: center; gap: 20px; }
.berke-theme-settings .berke-rule-route { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 24px; min-width: 0; font: 13px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
.berke-theme-settings .berke-rule-path { min-width: 0; }
.berke-theme-settings .berke-rule-source, .berke-theme-settings .berke-rule-target { display: block; color: #344750; font-weight: 400; overflow-wrap: anywhere; }
.berke-theme-settings .berke-rule-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.berke-theme-settings .berke-redirect-list-heading { padding: 0 16px 10px; color: #5e6c74; font-size: 12px; font-weight: 500; }
.berke-theme-settings .berke-redirect-list-heading .berke-rule-route { font-size: 12px; font-weight: 500; }
.berke-theme-settings .berke-redirect-list-heading > span:last-child { text-align: right; }
.berke-theme-settings .berke-rule-meta, .berke-theme-settings .berke-rule-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.berke-theme-settings .berke-rule-meta > span { padding: 3px 7px; border: 1px solid #e2e7e9; border-radius: 4px; background: #f8fafb; color: #5e6c74; font-size: 11px; font-variant-numeric: tabular-nums; }
.berke-theme-settings .berke-rule-meta .berke-rule-state { border-color: #d3e4da; color: #23603b; background: #f0f7f2; }
.berke-theme-settings .berke-rule-meta .berke-rule-state.is-disabled { border-color: #e2e7e9; color: #5e6c74; background: #f8fafb; }
.berke-theme-settings .berke-rule-actions { justify-content: flex-end; gap: 14px; }
.berke-theme-settings .berke-rule-actions .button { min-height: 32px; padding: 0 12px; line-height: 30px; }
.berke-theme-settings .berke-rule-actions .button-link-delete { color: #a3292b; font-size: 12px; text-decoration: none; }
.berke-theme-settings .berke-rule-actions .button-link-delete:hover { text-decoration: underline; }
.berke-theme-settings .berke-rule-actions .button-link-delete:focus-visible { outline: 2px solid #efb84c; outline-offset: 4px; }
.berke-theme-settings .berke-redirect-policy { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e2e7e9; }
.berke-theme-settings .berke-redirect-policy summary { width: fit-content; color: #5e6c74; cursor: pointer; font-size: 12px; }
.berke-theme-settings .berke-redirect-policy summary:focus-visible { outline: 2px solid #efb84c; outline-offset: 4px; }
.berke-theme-settings .berke-redirect-empty { padding: 32px 20px; border: 1px dashed #cbd5da; border-radius: 8px; color: #5e6c74; text-align: center; }
.berke-theme-settings #berke-redirect-undo { margin-top: 16px; }
.berke-theme-settings #berke-redirect-dialog { width: min(520px, calc(100% - 40px)); max-height: calc(100dvh - 48px); box-sizing: border-box; padding: 28px; border: 1px solid #dce2e5; border-radius: 12px; color: #0b2d47; background: #fff; box-shadow: 0 20px 60px rgb(11 45 71 / 20%); overflow: auto; }
.berke-theme-settings #berke-redirect-dialog::backdrop { background: rgb(11 45 71 / 55%); }
.berke-theme-settings .berke-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.berke-theme-settings .berke-dialog-heading h2 { margin: 0 0 7px; color: #0b2d47; font-size: 22px; line-height: 1.3; }
.berke-theme-settings .berke-dialog-heading p { margin: 0; }
.berke-theme-settings .berke-dialog-close { flex: 0 0 32px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; color: #5e6c74; background: #f4f6f7; font-size: 24px; line-height: 1; cursor: pointer; }
.berke-theme-settings .berke-dialog-close:focus-visible { outline: 2px solid #efb84c; outline-offset: 2px; }
.berke-theme-settings #berke-redirect-dialog .berke-redirect-field { margin-bottom: 20px; }
.berke-theme-settings #berke-redirect-dialog .description { margin: 6px 0 0; font-size: 12px; }
.berke-theme-settings #berke-redirect-dialog .berke-field-error { margin: 8px 0 0; }
.berke-theme-settings .berke-required { color: #5e6c74; font-size: 11px; font-weight: 400; }
.berke-theme-settings .berke-dialog-options { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 24px; }
.berke-theme-settings .berke-dialog-options > label { margin-top: 3px; }
.berke-theme-settings .berke-dialog-footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 8px; padding-top: 20px; border-top: 1px solid #e2e7e9; }
@media (max-width: 1100px) {
  .berke-theme-settings .berke-settings-shell { grid-template-columns: 180px minmax(0, 1fr); }
  .berke-theme-settings .berke-settings-panel { padding: 24px; }
  .berke-theme-settings .berke-rule-summary, .berke-theme-settings .berke-redirect-list-heading { grid-template-columns: minmax(0, 1fr) 66px 112px; gap: 12px; }
  .berke-theme-settings .berke-rule-route { gap: 16px; }
  .berke-theme-settings .berke-rule-meta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 782px) {
  .berke-theme-settings .berke-settings-page-header h1 { font-size: 26px; }
  .berke-theme-settings .berke-settings-theme-label { display: none; }
  .berke-theme-settings .berke-settings-shell { grid-template-columns: minmax(0, 1fr); }
  .berke-theme-settings .berke-settings-sidebar { padding: 18px; border: 0; }
  .berke-theme-settings .berke-settings-brand { padding: 0 0 14px; }
  .berke-theme-settings .berke-settings-nav-group + .berke-settings-nav-group { margin: 0; border: 0; }
  .berke-theme-settings .berke-settings-panel { padding: 24px 16px; }
  .berke-theme-settings .berke-redirect-overview { gap: 8px; margin-bottom: 24px; }
  .berke-theme-settings .berke-redirect-overview > div { padding: 14px 12px; }
  .berke-theme-settings .berke-redirect-overview strong { font-size: 24px; }
  .berke-theme-settings .berke-redirect-overview .berke-overview-text { font-size: 14px; }
  .berke-theme-settings .berke-rule-summary { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .berke-theme-settings .berke-redirect-list-heading { display: none; }
  .berke-theme-settings .berke-rule-route { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .berke-theme-settings .berke-rule-label { display: block; position: static; width: auto; height: auto; padding: 0; margin: 0 0 3px; clip: auto; white-space: normal; color: #5e6c74; font-size: 11px; line-height: 1.4; }
  .berke-theme-settings .berke-rule-meta { flex-direction: row; }
  .berke-theme-settings .berke-rule-actions { justify-content: flex-end; }
  .berke-theme-settings #berke-redirect-dialog { padding: 22px; }
}

/* BERKE THEME SETTINGS ADMIN END */

/* Visitor sitemap: typography comes from utilities; these rules own layout only. */
.berke-sitemap-template .berke-sitemap { padding-block: clamp(2.5rem, 5vw, 5rem); }
.berke-sitemap-template .berke-sitemap__section { border-top: 1px solid #dce4e6; padding-block: 2rem; }
.berke-sitemap-template .berke-sitemap__section > h2 { margin: 0 0 1.5rem; color: var(--secondary); }
.berke-sitemap-template .berke-sitemap__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 2.5rem; list-style: disc; margin: 0; padding: 0 0 0 1.25rem; }
.berke-sitemap-template .berke-sitemap__list li { min-width: 0; padding-left: .25rem; }
.berke-sitemap-template .berke-sitemap__list li::marker { color: var(--secondary); }
.berke-sitemap-template .berke-sitemap a { color: var(--secondary); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.berke-sitemap-template .berke-sitemap a:hover { text-decoration-thickness: 2px; }
.berke-sitemap-template .berke-sitemap a:focus-visible { outline: 2px solid var(--secondary); outline-offset: 4px; }
@media (max-width: 62.5rem) { .berke-sitemap-template .berke-sitemap__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; } }
@media (max-width: 46.875rem) { .berke-sitemap-template .berke-sitemap__list { grid-template-columns: minmax(0, 1fr); } .berke-sitemap-template .berke-sitemap__section { padding-block: 1.75rem; } }

/* Shared Gravity Forms errors: Stanley source treatment, Berke body font. */
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error .ginput_container:is(.ginput_container_text, .ginput_container_phone, .ginput_container_email, .ginput_container_textarea, .ginput_container_number, .ginput_container_website, .ginput_container_password) {
	position: relative;
}
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error .ginput_container:is(.ginput_container_text, .ginput_container_phone, .ginput_container_email, .ginput_container_textarea, .ginput_container_number, .ginput_container_website, .ginput_container_password)::after {
	content: "";
	position: absolute;
	top: 1px;
	right: 1px;
	width: 48px;
	height: 48px;
	max-height: calc(100% - 2px);
	pointer-events: none;
	background: #e80000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M10.5 4h3v11h-3zM10.5 18h3v3h-3z'/%3E%3C/svg%3E") center/24px 24px no-repeat;
}
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="url"], input[type="password"], textarea, select), body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="url"], input[type="password"], textarea, select):is(:focus, :focus-visible) {
	border-color: #e80000 !important;
}
/* Keep the existing Berke keyboard outline when error borders stay red. */
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="url"], input[type="password"], textarea, select):focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}
/* Reserve indicator space only for single-input fields. */
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error .ginput_container:is(.ginput_container_text, .ginput_container_phone, .ginput_container_email, .ginput_container_textarea, .ginput_container_number, .ginput_container_website, .ginput_container_password) :is(input, textarea) {
	padding-right: 60px !important;
}
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_error .ginput_container_consent input[type="checkbox"] {
	border-color: #e80000 !important;
}
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield_validation_message {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	background: transparent !important;
	color: #f93737 !important;
	font: var(--font-weight-regular) var(--font-size-16)/1.5 var(--font-body) !important;
}
/* Native above-placement markup stays intact; error feedback follows the control. */
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield.gfield_error {
	display: flex;
	flex-direction: column;
}
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gfield.gfield_error > .gfield_validation_message {
	order: 1 !important;
}

/* Keep native summary focus/announcements; show errors beneath fields only. */
body :is(#gform_wrapper_1, #gform_wrapper_2).gform_wrapper.gform_wrapper .gform_validation_errors {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* BERKE_EDITOR_CANVAS_START */
/* Remove parent-theme padding repeated inside Berke's classic editor Groups. */
.editor-styles-wrapper .wp-block-group:is(.container.grid-container, .berke-case-results, .berke-case-results__inner, .berke-case-results__intro, .berke-case-results__grid) > .wp-block-group__inner-container {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	padding: 0;
}
/* BERKE_EDITOR_CANVAS_END */

/* Verdicts & Settlements. Shared About banner; distinct SVGRepo Bold icons. */
.berke-case-results {
	width: 100%;
	background: var(--white);
}
.berke-case-results .berke-case-results__inner {
	width: 100%;
	max-width: var(--container-width);
	padding-block: clamp(3rem, 6vw, 5rem);
}
.berke-case-results .berke-case-results__intro {
	max-width: 56rem;
	margin: 0 0 3rem;
}
.berke-case-results__intro h2 {
	margin: 0 0 1rem;

	text-wrap: balance;
}
.berke-case-results__intro p {
	margin: 0;
	text-wrap: pretty;
}
/* Classic WordPress Groups restore an inner wrapper. Grid its actual children. */
.berke-case-results .berke-case-results__grid {
	display: block;
	width: 100%;
	margin: 0;
	padding-top: 1.875rem;
}
.berke-case-results .berke-case-results__grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem 2.5rem;
	width: 100%;
	max-width: none;
	margin: 0;
}
.berke-case-results .berke-case-result {
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 2.5rem;
	border-bottom: 0.5rem solid var(--primary);
	border-radius: 0;
	background: var(--gray);
	box-shadow: none;
}
.berke-case-results .berke-case-result__header {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 0 0 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #d1d2d4;
}
.berke-case-results .berke-case-result__header > .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	gap: 2rem;
	width: 100%;
	max-width: none;
}
.berke-case-results .berke-case-result__icon {
	display: flex;
	flex: 0 0 6.25rem;
	align-items: center;
	justify-content: center;
	width: 6.25rem;
	height: 6.25rem;
	margin: -4.375rem 0 0;
	align-self: flex-start;
	background: var(--primary);
}
.berke-case-result__icon :is(img, svg) {
	display: block;
	width: 4rem;
	height: 4rem;
	margin: 0;
	object-fit: contain;
	filter: brightness(0) invert(1);
}
.berke-case-results .berke-case-result__amount {
	min-width: 0;
	margin: 0;
	color: var(--secondary);
}
.berke-case-results .berke-case-result h3 {
	margin: 0;
	color: var(--secondary);

	text-wrap: balance;
}
.berke-case-results .berke-case-results__disclaimer {
	margin: 2.5rem 0 0;
	color: var(--secondary);
}
.berke-case-results__disclaimer a {
	color: var(--secondary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.berke-case-results__disclaimer a:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 4px;
}
@media (max-width: 62.5rem) {
	.berke-case-results .berke-case-result {
		padding: 1.875rem;
	}
	.berke-case-results .berke-case-result__header {
		margin-top: 0;
	}
	.berke-case-results .berke-case-result__header,
	.berke-case-results .berke-case-result__header > .wp-block-group__inner-container {
		gap: 1.25rem;
	}
	.berke-case-results .berke-case-result__icon {
		margin-top: -3.75rem;
		flex-basis: 5rem;
		width: 5rem;
		height: 5rem;
	}
	.berke-case-result__icon :is(img, svg) {
		width: 3.25rem;
		height: 3.25rem;
	}
}
@media (max-width: 46.875rem) {
	.berke-case-results .berke-case-results__grid > .wp-block-group__inner-container {
		grid-template-columns: minmax(0, 1fr);
		gap: 3.75rem;
		min-width: 0;
	}
	.berke-case-results .berke-case-result {
		padding: 1.5rem 1.25rem;
	}
	.berke-case-results .berke-case-result__header,
	.berke-case-results .berke-case-result__header > .wp-block-group__inner-container {
		gap: 1rem;
		min-width: 0;
	}
	.berke-case-results .berke-case-result__icon {
		flex-basis: 4rem;
		width: 4rem;
		height: 4rem;
		margin-top: -3rem;
	}
	.berke-case-results .berke-case-result__icon :is(img, svg) {
		width: 2.5rem;
		height: 2.5rem;
	}
	.berke-case-results .berke-case-result__amount {

		overflow-wrap: anywhere;
	}
}

/* Search: the native WordPress form within the existing archive layout. */
.berke-search-page .berke-search-form { margin-top: 1.5rem; }
.berke-search-page .berke-search-form .search-form { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.berke-search-page .berke-search-form label { display: block; flex: 1 1 16rem; min-width: 0; }
.berke-search-page .berke-search-form .search-field {
	width: 100%;
	min-width: 0;
	min-height: 3.5rem;
	padding: .875rem 1rem;
	border: 1px solid #505e66;
	border-radius: .3125rem;
	background: var(--white);
	color: var(--secondary);

}
.berke-search-page .berke-search-form .search-field:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
/* Adapt the shared CTA appearance to the parent theme's native submit class. */
.berke-search-page .berke-search-form .search-submit {
	background: var(--primary);
	border: 0;
	border-radius: .3125rem;
	box-shadow: 0 .125rem rgb(0 0 0 / 50%);
	color: var(--secondary);
	cursor: pointer;
	display: block;
	flex: 0 0 auto;

	min-height: 3.5rem;
	height: auto;
	isolation: isolate;
	overflow: hidden;
	padding: .9375rem 1.875rem;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 0 0 var(--white), .125rem .125rem .125rem rgb(255 255 255 / 0%);

	width: fit-content;
	max-width: 100%;
}
.berke-search-page .berke-search-form .search-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.berke-search-page .berke-search-form .search-submit * { cursor: pointer; }
.berke-search-page .berke-search-form .search-submit .gp-icon,
.berke-search-page .berke-search-form .search-submit svg { display: block; width: 1.25em; height: 1.25em; }
.berke-search-page .berke-search-form .search-submit svg { fill: currentColor; }
.berke-search-page .berke-search-form button.search-submit::before {
	background: linear-gradient(115deg, transparent 0%, rgb(255 255 255 / 55%) 50%, transparent 100%);
	content: '';
	height: 100%;
	left: -150%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: skewX(-20deg);
	transition: left 700ms ease;
	width: 75%;
	z-index: -1;
}
.berke-search-page .berke-search-form button.search-submit:hover::before,
.berke-search-page .berke-search-form button.search-submit:focus-visible::before { left: 150%; }
@media (max-width: 46.875rem) {
	.berke-search-page .berke-search-form label { flex-basis: 100%; }
	.berke-search-page .berke-search-form .search-submit { padding: .9375rem 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	.berke-search-page .berke-search-form button.search-submit::before { transition: none; }
}

/* The home_pas grid variant shares the homepage cards without carousel markup. */
.practice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; min-width: 0; margin-top: 1.5rem; }
.practice-grid__item { min-width: 0; }
.practice-grid .practice-card__content { min-width: 0; overflow-wrap: anywhere; }
.practice-grid .practice-card__reveal { grid-template-rows: 1fr; opacity: 1; transition: none; }
@media (max-width: 64rem) { .practice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 39.99rem) { .practice-grid { grid-template-columns: minmax(0, 1fr); } }

/* Homepage settlements section: retain padding and inner carousel spacing. */
body.home section.settlements { margin-top: 0; }

/* Correct native heading levels while retaining the authored visual hierarchy. */
.berke-practice-template.berke-article-template .berke-practice-template__article h2.berke-preserve-heading-3 {
 padding-bottom: 0; border-bottom: 0; margin: 0 0 .5em;
}
.berke-practice-template.berke-article-template .berke-practice-template__article h3.berke-preserve-heading-4 { margin: 0 0 20px;
}
.berke-practice-template.berke-article-template .berke-practice-template__article .berke-heading-space-2,
.berke-practice-template.berke-article-template .berke-practice-template__article .berke-heading-space-3 {  color: var(--secondary);
}
.berke-practice-template.berke-article-template .berke-practice-template__article .berke-heading-space-2 {
 padding-bottom: 10px; border-bottom: 1.5px solid var(--primary); margin: 0 0 .5em;
}
.berke-practice-template.berke-article-template .berke-practice-template__article .berke-heading-space-3 { margin: 0 0 .5em;
}

/* Readable Berke navy links on the existing light content panels. */
.practice-slider__more a,
.crash-data__table a,
.contact-page__copy a:not(.btn),
.contact-page__details a:not(.btn),
.berke-practice-template__article .wp-block-list a {
	color: var(--secondary);
}

/* Berke type treatment only; Berke component structure is retained. */
.berke-footer { background-color: var(--deep); }
.testimonial-dialog__close, .testimonials__play { color: var(--secondary); }
@media (max-width: 64rem) {
  .mobile-menu-toggle { color: var(--secondary); }
  .mobile-menu-toggle-bars span { background-color: var(--secondary); }
}

/* Responsive Berke wordmark inside the existing Berke logo slots. */
a.berke-wordmark {
  display: inline-flex; align-items: center; gap: .8rem;
  width: fit-content; max-width: 100%; color: var(--secondary);
  font-family: var(--font-heading); text-decoration: none; line-height: 1;
}
.berke-wordmark__monogram {
  display: grid; place-items: center; flex: 0 0 auto;
  width: 3.25rem; height: 3.25rem; border: 1px solid currentColor;
  font-size: 2.7rem; font-weight: 600; line-height: 1;
}
.berke-wordmark__text { display: flex; flex-direction: column; gap: .38rem; min-width: 0; }
.berke-wordmark__text strong { font-size: 2.15rem; font-weight: 800; letter-spacing: .04em; }
.berke-wordmark__text > span { font-size: .65rem; font-weight: 600; letter-spacing: .18em; white-space: nowrap; }
.berke-wordmark:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.berke-footer__logo a.berke-wordmark { display: inline-flex; color: var(--white); }
.berke-footer__logo .berke-wordmark__monogram { border-color: var(--accent); color: var(--accent); }
@media (max-width: 46.875rem) {
  a.berke-wordmark { gap: .6rem; }
  .berke-wordmark__monogram { width: 2.75rem; height: 2.75rem; font-size: 2.25rem; }
  .berke-wordmark__text strong { font-size: 1.75rem; }
  .berke-wordmark__text > span { font-size: .55rem; }
}

/* Four display windows into the original Canva asset; artwork is unchanged. */
.berke-why-icon {
  display: block;
  flex: 0 0 auto;
  width: 6rem;
  height: 6rem;
  margin-inline: auto;
  background-color: var(--white);
  background-image: url("../icons/berke/canva-legal-icon-pack-original.jpg");
  background-repeat: no-repeat;
  background-size: 27.75rem 14rem;
}
.berke-why-icon--scales { background-position: -.8125rem -4rem; }
.berke-why-icon--handshake { background-position: -7.515625rem -4rem; }
.berke-why-icon--shield { background-position: -14.25rem -4rem; }
.berke-why-icon--document { background-position: -20.96875rem -4rem; }

/* Recovered Berke text reviews use the existing shared slider structure. */
.berke-client-reviews {
  background: var(--secondary);
  color: var(--white);
  padding: 2.5rem;
}
.berke-client-reviews .swiper-wrapper { align-items: stretch; }
.berke-client-reviews .berke-practice-reviews__slide {
  height: auto;
  min-width: 0;
  padding: 0;
}
.berke-client-reviews .berke-practice-reviews__quote,
.berke-client-reviews .berke-practice-reviews__full :is(p, li) {
  color: var(--white);
}
.berke-client-reviews .berke-practice-reviews__quote {
  height: auto;
  max-height: none;
  overflow: visible;
  padding: 0;
  margin: 0 0 1.5rem;
}
.berke-client-reviews .berke-practice-reviews__full > :last-child { margin-bottom: 0; }
.berke-client-reviews .berke-practice-reviews__slide figcaption {
  color: var(--accent);
}
.berke-client-reviews .slider-arrows { margin: 2rem 0 0; }
@media (max-width: 46.875rem) {
  .berke-client-reviews { padding: 1.5rem; }
}

/* Native legal/results copy retains a readable article measure. */
.berke-content-page { max-width: 78rem; padding-block: clamp(2rem,5vw,5rem); }
.berke-content-page > p, .berke-content-page > ul, .berke-content-page > ol { max-width: 76ch; }
.berke-content-page > h2 { margin-block: 2rem 1rem; }
.berke-content-page > h3, .berke-content-page > h4 { margin-block: 1.5rem .75rem; }


/* Confirmation page: Kramer’s centered layout, Berke typography utilities. */
.berke-thank-you {
  display: flex;
  align-items: center;
  text-align: center;
  min-height: clamp(32rem, 62vh, 42rem);
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: linear-gradient(135deg, #f7f7f4 0%, #fff 56%, #edf2f7 100%);
}
.berke-thank-you > .wp-block-group__inner-container { width: 100%; }
.berke-thank-you .grid-container.berke-thank-you__content { width: 100%; max-width: 75rem; margin-inline: auto; }
.berke-thank-you__content h1 { color: var(--secondary); margin: 0 0 1rem; }
.berke-thank-you__content p { margin: 0 auto 1rem; }
.berke-thank-you__content p:last-child { margin-bottom: 0; }
.berke-thank-you__content a { color: var(--secondary); text-decoration: underline; text-underline-offset: .2em; }
.berke-thank-you__content a:hover { text-decoration-thickness: 2px; }
.berke-thank-you__content a:focus-visible { outline: 2px solid var(--secondary); outline-offset: 4px; }
@media (max-width: 47.99rem) {
  .berke-thank-you { min-height: auto; padding-block: 4rem; }
}
