/* ===== Kanzlei Amtmann & Reuss — Vertragsfestigkeit: dunkles Kanzlei-Editorial ===== */

:root {
	--primary: var( --ar-primary, #14181D );
	--bg: var( --ar-bg, #F4F1EA );
	--accent: var( --ar-accent, #A8813C );
	--text: #1C1F24;
	--text-on-dark: #EFEBE1;
	--text-on-dark-muted: #B7B0A0;
	--line-on-dark: rgba(239, 235, 225, 0.14);
	--line-on-light: rgba(20, 24, 29, 0.14);
	--radius: 2px;
	--font-display: 'Fraunces', 'Iowan Old Style', serif;
	--font-body: 'Source Serif 4', 'Iowan Old Style', Georgia, serif;
	--container: 1320px;
	--gap: clamp(1rem, 3vw, 2.5rem);
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--dur: 260ms;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
body { margin: 0; }
img, svg, video, iframe { max-width: 100%; height: auto; display: block; }
svg { max-width: 100%; height: auto; }
.icon { width: 1.4em; height: 1.4em; max-width: 32px; max-height: 32px; flex: 0 0 auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
ul, ol { padding: 0; margin: 0; list-style: none; }
button { font: inherit; cursor: pointer; }
input, textarea, select { font: inherit; }
h1, h2, h3, h4, p { margin: 0; text-wrap: pretty; }

body {
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	font-variant-numeric: oldstyle-nums;
}

h1, h2, h3, h4, .font-display {
	font-family: var(--font-display);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.01em;
}

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: -9999px;
}
.skip-link.screen-reader-text:focus {
	left: 1rem;
	top: 1rem;
	z-index: 1000;
	background: var(--primary);
	color: var(--text-on-dark);
	padding: 0.8em 1.2em;
	border-radius: var(--radius);
}

.container {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.grid-12 {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--gap);
}

.kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.7em;
	font-family: var(--font-body);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--accent);
}
.kicker::before {
	content: '';
	display: block;
	width: 28px;
	height: 2px;
	background: var(--accent);
	clip-path: polygon(0 0, 100% 0, 88% 100%, 0% 100%);
}

section { position: relative; }

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.95em 1.7em;
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	border: 1px solid transparent;
	transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
	min-height: 44px;
}
.btn:active { transform: scale(0.98); }
.btn-primary {
	background: var(--accent);
	color: #16130B;
}
.btn-primary:hover {
	box-shadow: 0 10px 30px -8px rgba(168, 129, 60, 0.55);
	transform: translateY(-2px);
}
.btn-ghost-dark {
	border-color: var(--line-on-dark);
	color: var(--text-on-dark);
}
.btn-ghost-dark:hover {
	border-color: var(--accent);
	color: var(--accent);
	transform: translateY(-2px);
}
.btn-ghost-light {
	border-color: var(--line-on-light);
	color: var(--text);
}
.btn-ghost-light:hover {
	border-color: var(--accent);
	color: var(--accent);
	transform: translateY(-2px);
}

/* ---------- Reveal ---------- */
/* opacity bleibt bewusst 1 (nie 0) — sonst bleiben Sektionen in headless/fullPage-
   Screenshots leer, wenn der IntersectionObserver nicht rechtzeitig feuert. */
[data-reveal] {
	opacity: 1;
	transform: translateY(22px);
	filter: blur(3px);
	transition: transform 700ms var(--ease-out), filter 700ms var(--ease-out);
	transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal].is-visible {
	transform: translateY(0);
	filter: blur(0);
}
@media (prefers-reduced-motion: reduce) {
	[data-reveal] { transform: none; filter: none; transition: none; }
}

/* ================= HEADER ================= */
.site-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	padding-block: 1.6rem;
	transition: padding var(--dur) var(--ease-out), background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
	border-bottom: 1px solid transparent;
}
.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}
.site-header.is-scrolled {
	padding-block: 0.85rem;
	background: rgba(20, 24, 29, 0.92);
	backdrop-filter: blur(10px);
	border-bottom-color: var(--accent);
	box-shadow: 0 12px 30px -18px rgba(0,0,0,0.6);
}
.brand {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
	color: var(--text-on-dark);
}
.brand .brand-name {
	font-family: var(--font-display);
	font-size: 1.28rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}
.brand .brand-sub {
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
	margin-top: 0.3em;
}
.brand img.brand-logo { height: 44px; width: auto; }

.primary-nav { display: flex; }
.primary-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(1.2rem, 2.4vw, 2.4rem);
}
.primary-nav a {
	font-size: 0.92rem;
	color: var(--text-on-dark-muted);
	letter-spacing: 0.01em;
	position: relative;
	padding-block: 0.3rem;
	transition: color var(--dur) var(--ease-out);
}
.primary-nav a::after {
	content: '';
	position: absolute;
	left: 0; right: 100%;
	bottom: 0;
	height: 1px;
	background: var(--accent);
	transition: right var(--dur) var(--ease-out);
}
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--text-on-dark); }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { right: 0; }
.primary-nav .current-menu-item a, .primary-nav .current_page_item a { color: var(--accent); }

.header-cta { display: flex; align-items: center; gap: 1.4rem; }
.header-phone {
	display: flex;
	align-items: center;
	gap: 0.5em;
	color: var(--text-on-dark-muted);
	font-size: 0.9rem;
}
.header-phone:hover { color: var(--accent); }

.burger {
	display: none;
	background: none;
	border: 1px solid var(--line-on-dark);
	border-radius: var(--radius);
	color: var(--text-on-dark);
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
}
.burger .icon { width: 20px; height: 20px; }
.burger .icon-close { display: none; }
.burger.is-open .icon-menu { display: none; }
.burger.is-open .icon-close { display: block; }

.mobile-drawer {
	position: fixed;
	inset: 0;
	background: var(--primary);
	z-index: 99;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem clamp(1.5rem, 6vw, 3rem);
	transform: translateY(-100%);
	transition: transform 380ms var(--ease-out);
}
.mobile-drawer.is-open { transform: translateY(0); }
.mobile-drawer ul { display: flex; flex-direction: column; gap: 1.4rem; }
.mobile-drawer a {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 6vw, 2.2rem);
	color: var(--text-on-dark);
}
.mobile-drawer a:hover { color: var(--accent); }
.mobile-drawer .drawer-contact {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--line-on-dark);
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	color: var(--text-on-dark-muted);
}
.mobile-drawer .drawer-contact a { font-family: var(--font-body); font-size: 1rem; display: flex; align-items: center; gap: 0.6em; }

/* ================= HERO ================= */
.hero {
	position: relative;
	min-height: 100svh;
	background: var(--primary);
	color: var(--text-on-dark);
	overflow: hidden;
}
.hero-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding-top: 8rem;
	opacity: 0;
	z-index: 1;
	transition: opacity 900ms var(--ease-out);
}
.hero-slide.is-active { opacity: 1; z-index: 2; }
.hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero-media img {
	width: 100%; height: 100%; object-fit: cover;
	filter: grayscale(0.3) contrast(1.05) brightness(0.62);
}
.hero-media::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(20,24,29,0.55) 0%, rgba(20,24,29,0.35) 35%, rgba(20,24,29,0.94) 100%),
		linear-gradient(100deg, rgba(20,24,29,0.85) 0%, rgba(20,24,29,0.15) 55%);
}
.hero-glyph {
	position: absolute;
	right: clamp(-2rem, 4vw, 4rem);
	top: 6rem;
	font-family: var(--font-display);
	font-size: clamp(14rem, 30vw, 30rem);
	color: var(--accent);
	opacity: 0.09;
	line-height: 1;
	pointer-events: none;
	z-index: 3;
	user-select: none;
}
.hero-content {
	position: relative;
	z-index: 2;
	padding-bottom: clamp(3rem, 8vw, 6rem);
	width: 100%;
}
.hero-inner {
	max-width: 880px;
}
.hero-title {
	font-size: clamp(2.6rem, 6vw, 5.2rem);
	margin-block: 1.1rem 1.4rem;
	color: var(--text-on-dark);
}
.hero-title em { font-style: italic; color: var(--accent); font-weight: 400; }
.hero-subtitle {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	color: var(--text-on-dark-muted);
	max-width: 60ch;
	margin-bottom: 2.4rem;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero-dots {
	position: absolute;
	left: clamp(1.25rem, 4vw, 3rem);
	bottom: 2rem;
	z-index: 3;
	display: flex;
	gap: 0.6rem;
}
.hero-dot {
	width: 28px; height: 3px;
	background: var(--line-on-dark);
	border: none;
	padding: 0;
	transition: background var(--dur) var(--ease-out);
}
.hero-dot.is-active { background: var(--accent); }

.hero-scroll-cue {
	position: absolute;
	right: clamp(1.25rem, 4vw, 3rem);
	bottom: 2rem;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--text-on-dark-muted);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}
.hero-scroll-cue::after {
	content: '';
	display: block;
	width: 1px;
	height: 46px;
	background: linear-gradient(var(--accent), transparent);
	animation: scrollcue 2.4s var(--ease-out) infinite;
}
@keyframes scrollcue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (prefers-reduced-motion: reduce) { .hero-scroll-cue::after { animation: none; } }

/* ================= STATS BAND ================= */
.stats-band {
	background: var(--primary);
	color: var(--text-on-dark);
	border-top: 1px solid var(--line-on-dark);
}
.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.stat {
	padding: clamp(2rem, 5vw, 3.2rem) clamp(1rem, 3vw, 2rem);
	border-left: 1px solid var(--line-on-dark);
	text-align: left;
}
.stat:first-child { border-left: none; }
.stat-value {
	font-family: var(--font-display);
	font-size: clamp(2.1rem, 4vw, 3.4rem);
	color: var(--accent);
	display: flex;
	align-items: baseline;
	gap: 0.1em;
}
.stat-label {
	margin-top: 0.5rem;
	font-size: 0.86rem;
	color: var(--text-on-dark-muted);
	max-width: 20ch;
}

/* ================= SECTION HEADERS ================= */
.section-head {
	max-width: 720px;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.section-head.centered { max-width: 640px; margin-inline: auto; text-align: center; }
.section-head.centered .kicker { justify-content: center; }
.section-title {
	font-size: clamp(2rem, 4vw, 3rem);
	margin-block: 0.9rem 1rem;
}
.section-sub {
	color: color-mix(in oklab, var(--text) 72%, transparent);
	font-size: 1.06rem;
	max-width: 58ch;
}
.section-head.centered .section-sub { margin-inline: auto; }
.on-dark .section-sub { color: var(--text-on-dark-muted); }

.section-pad { padding-block: clamp(4.5rem, 10vw, 8rem); }

/* ================= SERVICES (Rechtsgebiete) ================= */
.services { background: var(--bg); color: var(--text); }
.service-rows { border-top: 1px solid var(--line-on-light); }
.service-row {
	display: grid;
	grid-template-columns: 90px 1fr auto;
	align-items: center;
	gap: clamp(1rem, 3vw, 2.5rem);
	padding-block: clamp(1.6rem, 3.4vw, 2.6rem);
	border-bottom: 1px solid var(--line-on-light);
	transition: padding-left var(--dur) var(--ease-out), background var(--dur) var(--ease-out);
	text-decoration: none;
	color: inherit;
}
.service-row:hover, .service-row:focus-visible {
	padding-left: 0.9rem;
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}
.service-index {
	font-family: var(--font-display);
	font-size: 1.4rem;
	color: transparent;
	-webkit-text-stroke: 1px var(--accent);
}
.service-body h3 {
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	margin-bottom: 0.55rem;
}
.service-body p {
	color: color-mix(in oklab, var(--text) 68%, transparent);
	max-width: 62ch;
	font-size: 0.98rem;
}
.service-arrow {
	width: 46px; height: 46px;
	border-radius: 50%;
	border: 1px solid var(--line-on-light);
	display: flex; align-items: center; justify-content: center;
	transition: transform var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);
	flex-shrink: 0;
}
.service-arrow .icon { width: 18px; height: 18px; }
.service-row:hover .service-arrow, .service-row:focus-visible .service-arrow {
	transform: translateX(6px);
	border-color: var(--accent);
	background: var(--accent);
	color: #16130B;
}

/* ================= TEAM ================= */
.team { background: var(--primary); color: var(--text-on-dark); }
.team-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.4rem, 2.6vw, 2rem);
}
.team-card { display: flex; flex-direction: column; }
.duotone {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/5;
	border-radius: var(--radius);
}
.duotone img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(0.98); transition: transform 900ms var(--ease-out); }
.duotone::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(160deg, var(--primary) 6%, var(--accent) 145%);
	mix-blend-mode: color;
	opacity: 0.92;
}
.team-card:hover .duotone img { transform: scale(1.045); }
.team-info { padding-top: 1.1rem; }
.team-name { font-family: var(--font-display); font-size: 1.2rem; }
.team-role { color: var(--accent); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; margin-top: 0.3rem; }
.team-fokus { color: var(--text-on-dark-muted); font-size: 0.88rem; margin-top: 0.5rem; }

/* ================= TESTIMONIALS ================= */
.testimonials { background: var(--bg); color: var(--text); }
.testi-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(min(560px, 88vw), 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
	scrollbar-width: none;
}
.testi-track::-webkit-scrollbar { display: none; }
.testi-card {
	scroll-snap-align: start;
	border: 1px solid var(--line-on-light);
	border-radius: var(--radius);
	padding: clamp(1.8rem, 3vw, 2.6rem);
	background: color-mix(in oklab, var(--primary) 3%, transparent);
}
.testi-card .icon-quote { color: var(--accent); width: 30px; height: 30px; margin-bottom: 1.2rem; }
.testi-quote { font-family: var(--font-display); font-size: clamp(1.15rem, 2vw, 1.4rem); font-style: italic; font-weight: 400; line-height: 1.45; }
.testi-attrib { margin-top: 1.4rem; font-size: 0.88rem; color: color-mix(in oklab, var(--text) 65%, transparent); }
.testi-attrib strong { color: var(--text); font-style: normal; }

/* ================= CONTACT ================= */
.contact { background: var(--primary); color: var(--text-on-dark); }
.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: start;
}
.contact-rows { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2rem; }
.contact-row { display: flex; align-items: center; gap: 0.9rem; color: var(--text-on-dark-muted); }
.contact-row .icon { color: var(--accent); }
.contact-row a:hover { color: var(--text-on-dark); }
.contact-map { margin-top: 2.2rem; border: 1px solid var(--line-on-dark); border-radius: var(--radius); overflow: hidden; filter: grayscale(0.4) invert(0.9) contrast(0.9); aspect-ratio: 16/10; }
.contact-map iframe { width: 100%; height: 100%; border: 0; }

.form-card { background: var(--bg); color: var(--text); border-radius: var(--radius); padding: clamp(1.8rem, 3.4vw, 2.6rem); }
.form-card h3 { font-size: 1.3rem; margin-bottom: 0.5rem; }
.form-card p.form-note { color: color-mix(in oklab, var(--text) 65%, transparent); font-size: 0.92rem; margin-bottom: 1.6rem; }

.wpcf7-form p { margin-bottom: 1.1rem; }
.wpcf7-form label { display: block; font-size: 0.82rem; letter-spacing: 0.03em; margin-bottom: 0.45rem; color: color-mix(in oklab, var(--text) 75%, transparent); }
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form textarea {
	width: 100%;
	padding: 0.85em 1em;
	border: 1px solid var(--line-on-light);
	border-radius: var(--radius);
	background: transparent;
	color: var(--text);
	font-family: var(--font-body);
	transition: border-color var(--dur) var(--ease-out);
	min-height: 44px;
}
.wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline: none; border-color: var(--accent); }
.wpcf7-form input[type=submit] {
	appearance: none;
	background: var(--primary);
	color: var(--text-on-dark);
	border: none;
	border-radius: var(--radius);
	padding: 0.95em 1.8em;
	font-weight: 600;
	transition: transform var(--dur) var(--ease-out), background var(--dur) var(--ease-out);
	min-height: 44px;
}
.wpcf7-form input[type=submit]:hover { background: var(--accent); color: #16130B; }
.wpcf7-form input[type=submit]:active { transform: scale(0.98); }
.wpcf7-not-valid-tip { color: #B4472E; font-size: 0.82rem; margin-top: 0.3rem; }
.wpcf7-response-output { border-radius: var(--radius); padding: 0.9em 1.1em; font-size: 0.9rem; margin-top: 1rem; }

/* ================= FOOTER ================= */
.site-footer { background: var(--primary); color: var(--text-on-dark-muted); border-top: 2px solid var(--accent); }
.footer-top { padding-block: clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: clamp(2rem, 4vw, 3rem); }
.footer-brand .brand-name { color: var(--text-on-dark); font-size: 1.4rem; font-family: var(--font-display); }
.footer-claim { margin-top: 1rem; max-width: 34ch; font-size: 0.95rem; }
.footer-col h4 { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.1rem; }
.footer-col ul { display: flex; flex-direction: column; gap: 0.7rem; }
.footer-col a:hover { color: var(--text-on-dark); }
.footer-bottom { border-top: 1px solid var(--line-on-dark); padding-block: 1.5rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; font-size: 0.82rem; }
.footer-bottom ul { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.social-link { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--line-on-dark); border-radius: var(--radius); }
.social-link:hover { border-color: var(--accent); color: var(--accent); }

/* ================= GENERIC PAGE CONTENT (Unterseiten) ================= */
.page-hero {
	background: var(--primary);
	color: var(--text-on-dark);
	padding-block: clamp(8rem, 14vw, 11rem) clamp(3.5rem, 7vw, 5rem);
	position: relative;
	overflow: hidden;
}
.page-hero .hero-glyph { opacity: 0.07; }
.page-title { font-size: clamp(2.2rem, 5vw, 3.6rem); margin-top: 1rem; max-width: 20ch; }
.page-lede { color: var(--text-on-dark-muted); font-size: 1.1rem; max-width: 60ch; margin-top: 1.2rem; }

.ar-breadcrumb { position: relative; z-index: 2; font-size: 0.82rem; color: var(--text-on-dark-muted); margin-bottom: 1.5rem; }
.ar-breadcrumb ol { display: flex; gap: 0.5em; flex-wrap: wrap; }
.ar-breadcrumb li:not(:last-child)::after { content: '/'; margin-left: 0.5em; opacity: 0.5; }
.ar-breadcrumb a:hover { color: var(--accent); }

.entry-content {
	max-width: 760px;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3rem);
}
.entry-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-block: 2.2rem 1rem; }
.entry-content h3 { font-size: clamp(1.2rem, 2.4vw, 1.4rem); margin-block: 1.8rem 0.8rem; }
.entry-content p { margin-block: 1rem; color: color-mix(in oklab, var(--text) 85%, transparent); }
.entry-content ul.wp-block-list, .entry-content ol.wp-block-list { margin-block: 1.2rem; padding-left: 1.4rem; }
.entry-content ul.wp-block-list { list-style: none; }
.entry-content ul.wp-block-list li { position: relative; padding-left: 1.5rem; margin-bottom: 0.7rem; }
.entry-content ul.wp-block-list li::before {
	content: '';
	position: absolute; left: 0; top: 0.55em;
	width: 8px; height: 1.5px;
	background: var(--accent);
}
.entry-content ol.wp-block-list { list-style: decimal; font-variant-numeric: oldstyle-nums; }
.entry-content blockquote { border-left: 2px solid var(--accent); padding-left: 1.4rem; font-style: italic; font-family: var(--font-display); font-size: 1.2rem; margin-block: 1.8rem; }
.entry-content figure { margin-block: 2rem; }
.entry-content figure img { border-radius: var(--radius); }
.entry-content .wp-block-columns { gap: var(--gap); }
.entry-content hr { border: none; border-top: 1px solid var(--line-on-light); margin-block: 2.5rem; }
.entry-content a:not(.btn) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

.cta-band {
	background: var(--bg);
	border-top: 1px solid var(--line-on-light);
	border-bottom: 1px solid var(--line-on-light);
	padding-block: clamp(3rem, 6vw, 4.5rem);
	text-align: center;
}
.cta-band .section-title { font-size: clamp(1.7rem, 3.4vw, 2.4rem); }
.cta-band .btn { margin-top: 1.6rem; }

.related-services { background: var(--bg); }
.related-services .service-rows { border-top: 1px solid var(--line-on-light); }

/* ---------- 900px ---------- */
@media (max-width: 900px) {
	.primary-nav, .header-phone { display: none; }
	.burger { display: flex; }
	.stats-grid { grid-template-columns: repeat(2, 1fr); }
	.stat:nth-child(3) { border-left: none; }
	.stat:nth-child(2), .stat:nth-child(4) { }
	.team-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-top { grid-template-columns: 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
	.contact-grid { grid-template-columns: 1fr; }
	.service-row { grid-template-columns: 60px 1fr auto; }
}

/* ---------- 600px ---------- */
@media (max-width: 600px) {
	body { font-size: 16px; }
	.hero { padding-top: 6.5rem; align-items: flex-end; }
	.hero-actions { flex-direction: column; align-items: stretch; }
	.hero-actions .btn { justify-content: center; }
	.stats-grid { grid-template-columns: repeat(2, 1fr); }
	.stat { padding-block: 1.6rem; }
	.team-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
	.service-row { grid-template-columns: 1fr; gap: 0.6rem; }
	.service-index { order: -1; }
	.service-arrow { display: none; }
	.footer-top { grid-template-columns: 1fr; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
	.testi-track { grid-auto-columns: minmax(85vw, 1fr); }
	.hero-scroll-cue { display: none; }
}
