/* AANT Law — small layer of polish on top of theme.json. */

/* Utility-bar buttons (outline style used in the navy bar). */
.is-style-outline-light .wp-block-button__link {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	border-radius: 0;
}

.is-style-outline-light .wp-block-button__link:hover {
	background: #fff;
	color: #003563;
}

/* Solid white button on navy. */
.is-style-solid-light .wp-block-button__link {
	background: #fff;
	color: #003563;
	border-radius: 0;
}

.is-style-solid-light .wp-block-button__link:hover {
	background: #f7b40e;
	color: #000;
}

/* Bodoni subheading style (hero second line on the old site). */
.aantlaw-serif-sub {
	font-family: var(--wp--preset--font-family--serif-display);
	color: var(--wp--preset--color--navy);
	font-size: 2.5rem;
	line-height: 1.1;
}

/* Hero checklist. */
.aantlaw-hero-list {
	list-style: none;
	padding-left: 0;
}

.aantlaw-hero-list li {
	padding: 0.35rem 0 0.35rem 2rem;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23f7b40e" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-6"/></svg>') no-repeat left 0.6rem;
	background-size: 1.3rem;
}

/* Header nav: uppercase, tight. */
.aantlaw-header .wp-block-navigation a {
	text-transform: uppercase;
	font-size: 0.9375rem;
}

/* Make submenu panels readable on white. */
.aantlaw-header .wp-block-navigation__submenu-container a {
	text-transform: none;
}

/* ----- Services dropdown polish ----- */
/* Wider panels so labels sit on one line instead of wrapping to two. */
.aantlaw-header .wp-block-navigation__submenu-container {
	width: max-content;
	min-width: 14rem;
	max-width: 24rem;
	padding: 0.35rem 0;
	border: 1px solid var(--wp--preset--color--gray);
	box-shadow: 0 10px 28px rgba(0, 38, 74, 0.16);
	border-radius: 4px;
}
.aantlaw-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: nowrap;
	padding: 0.5rem 1.1rem;
}
/* Nested submenus open to the RIGHT of their parent, never the left. */
.aantlaw-header .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	left: 100% !important;
	right: auto !important;
	top: -0.35rem;
	margin-left: 1px;
}
/* Hover highlight on submenu items only — grey fill + gold left accent.
   (Top-level items keep the theme's gold-text hover; the inset bar looked wrong
   on the unpadded horizontal items.) */
.aantlaw-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.aantlaw-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
.aantlaw-header .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.aantlaw-header .wp-block-navigation__submenu-container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--gray-light);
	color: var(--wp--preset--color--navy);
	box-shadow: inset 3px 0 0 var(--wp--preset--color--gold);
}
/* Top-level items: subtle gold underline on hover. */
.aantlaw-header > .wp-block-group__inner-container .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.aantlaw-header .aantlaw-header__bar .wp-block-navigation > ul > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--gold);
}

/* Prevent the full-bleed margin trick from creating an 8px horizontal scroll. */
.wp-site-blocks { overflow-x: clip; }

/* No vertical gaps between header, navy belt, hero and the main column. */
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block: 0; }
.aantlaw-header,
.aantlaw-header > * { margin-block: 0 !important; }
main.wp-block-group { margin-top: 0; padding-top: 0; }
main .wp-block-post-content > :first-child { margin-top: 0 !important; }
/* Stack the homepage colour bands flush against each other. */
.aantlaw-hero,
.aantlaw-cta,
.aantlaw-services,
.aantlaw-facts { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ----- Homepage ACF blocks ----- */

/* Full-bleed: these sit inside the constrained post-content (1080px), so break
   them out to the viewport edges. calc(50% - 50vw) avoids the 100vw scrollbar. */
.aantlaw-hero,
.aantlaw-services,
.aantlaw-facts {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
}

/* Shared centered inner column — one width everywhere. */
.aantlaw-hero__inner,
.aantlaw-services__inner,
.aantlaw-facts__inner {
	max-width: 1200px;
	margin-inline: auto;
}

/* Hero */
.aantlaw-hero {
	position: relative;
	background: #dde7f0 url('/wp-content/uploads/mainbanner-modify.webp') no-repeat center center;
	background-size: cover;
	overflow: hidden;
}
/* Lighten the left (text) side so navy copy stays readable over the skyline. */
.aantlaw-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(232,239,246,0.96) 0%, rgba(232,239,246,0.86) 40%, rgba(232,239,246,0.35) 62%, rgba(232,239,246,0) 78%);
	pointer-events: none;
}
.aantlaw-hero__inner {
	position: relative;
	z-index: 1;
	padding: 2.25rem 1.5rem 0;
	display: flex;
	gap: 2.5rem;
	align-items: center;
}
.aantlaw-hero__text { flex: 1 1 58%; }
.aantlaw-hero__photo { flex: 0 0 32%; align-self: flex-end; text-align: right; }
.aantlaw-hero__photo img { display: block; width: auto; max-width: 100%; max-height: 450px; height: auto; margin-left: auto; }
.aantlaw-hero__heading {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: #003563;
	font-size: clamp(1.6rem, 2.6vw, 2.25rem);
	line-height: 1.18;
	margin: 0 0 0.4rem;
	font-weight: 400;
}
.aantlaw-hero .aantlaw-serif-sub {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	font-size: clamp(1.05rem, 1.7vw, 1.4rem);
	line-height: 1.25;
	letter-spacing: 0.01em;
	margin: 0 0 1.1rem;
}
.aantlaw-hero__intro { color: #003563; font-size: 1.0625rem; margin-bottom: 1rem; }
.aantlaw-hero .aantlaw-hero-list { font-size: 0.95rem; }
.aantlaw-hero .aantlaw-hero-list li { color: #003563; }

/* Services grid — equal-height tiles, aligned titles */
.aantlaw-services { background: #f6f6f6; }
.aantlaw-services__inner { padding: 3rem 1.5rem; }
.aantlaw-services__title { text-align: center; margin-bottom: 2.25rem; }
.aantlaw-services__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem 1.5rem;
}
.aantlaw-services__tile {
	text-align: center;
	display: flex;
	flex-direction: column;
}
.aantlaw-services__tile img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	height: auto;
	border-radius: 4px;
	margin-bottom: 0.5rem;
}
.aantlaw-services__tile a { text-decoration: none; }
.aantlaw-services__tile-title {
	font-size: 1.0625rem;
	line-height: 1.25;
	text-transform: uppercase;
	margin: 0.5rem 0 0.4rem;
	/* hold two lines so every blurb starts at the same y */
	min-height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aantlaw-services__tile p { font-size: 0.9rem; line-height: 1.45; margin: 0; }

/* Facts band */
.aantlaw-facts { background: #003563; color: #fff; }
.aantlaw-facts__inner { padding: 2.5rem 1.5rem; }
.aantlaw-facts__title { color: #fff; text-align: center; margin-bottom: 1.75rem; }
.aantlaw-facts__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}
.aantlaw-facts__item {
	flex: 1 1 0;
	min-width: 150px;
	max-width: 220px;
	text-align: center;
}
.aantlaw-facts__number {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.25rem;
	line-height: 1.1;
	color: var(--wp--preset--color--gold);
}
.aantlaw-facts__label { display: block; font-size: 0.95rem; margin-top: 0.5rem; line-height: 1.35; }

@media (max-width: 960px) {
	.aantlaw-hero__inner { flex-direction: column; align-items: center; text-align: center; min-height: 0; }
	.aantlaw-hero__photo { max-width: 300px; }
	.aantlaw-services__grid { grid-template-columns: repeat(2, 1fr); }
	.aantlaw-services__tile-title { min-height: 0; }
}
@media (max-width: 600px) {
	.aantlaw-services__grid { grid-template-columns: 1fr; }
	.aantlaw-facts__item { flex-basis: 45%; }
}

/* ----- Contact CTA band ----- */
.aantlaw-cta .wp-block-columns { gap: 1rem; }
.aantlaw-cta__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	margin: 0;
	text-align: center;
}
.aantlaw-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	margin-bottom: 0.4rem;
}
.aantlaw-cta__item a {
	font-size: 1.25rem;
	font-weight: 700;
	color: #003563;
	text-decoration: none;
}
.aantlaw-cta__item a:hover { text-decoration: underline; }
.aantlaw-cta__label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #003563;
}

/* ----- Latest news grid: crisp, uniform images ----- */
.wp-block-query .wp-block-post-template { gap: 1.75rem; }
/* Equal-height cards: each grid item is a flex column so titles/excerpts line up. */
.wp-block-query .wp-block-post-template.is-layout-grid > li {
	display: flex;
	flex-direction: column;
}
.wp-block-query .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 4px;
}
.wp-block-query .wp-block-post-title {
	text-transform: none;
	line-height: 1.3;
	margin-top: 0.6rem;
	/* Clamp to 2 lines + reserve the space so excerpts align across the row. */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.wp-block-query .wp-block-post-title a { text-decoration: none; }

/* ----- Header ----- */
.aantlaw-header__bar {
	max-width: 1280px;
	margin-inline: auto;
	width: 100%;
}
.aantlaw-header__bar .wp-block-site-logo img { width: 190px; height: auto; }
.aantlaw-header__right { gap: 1.5rem; row-gap: 0.5rem; }
.aantlaw-header__right .wp-block-navigation { font-size: 0.9rem; }

/* Compact language switcher: flags + short code, top-right */
.aantlaw-header .wp-block-polylang-language-switcher,
.aantlaw-header ul.wp-block-polylang-language-switcher {
	display: flex;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.aantlaw-header .wp-block-polylang-language-switcher li { margin: 0; }
/* Hide Polylang's full language name; show a flag + 2-letter code instead. */
.aantlaw-header .wp-block-polylang-language-switcher a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #003563;
	text-decoration: none;
}
.aantlaw-header .wp-block-polylang-language-switcher a::before {
	content: "";
	width: 18px;
	height: 12px;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(0,0,0,0.1);
}
.aantlaw-header .wp-block-polylang-language-switcher a::after {
	font-size: 0.75rem;
	text-transform: uppercase;
}
.aantlaw-header .lang-item-en a::before { background-image: url('/wp-content/plugins/polylang/flags/us.png'); }
.aantlaw-header .lang-item-es a::before { background-image: url('/wp-content/plugins/polylang/flags/es.png'); }
.aantlaw-header .lang-item-ru a::before { background-image: url('/wp-content/plugins/polylang/flags/ru.png'); }
.aantlaw-header .lang-item-en a::after { content: "EN"; }
.aantlaw-header .lang-item-es a::after { content: "ES"; }
.aantlaw-header .lang-item-ru a::after { content: "RU"; }
.aantlaw-header .wp-block-polylang-language-switcher .current-lang a::after { color: #f7b40e; }

/* Navy contact belt */
.aantlaw-belt__inner {
	max-width: 1280px;
	margin-inline: auto;
	width: 100%;
	gap: 1rem;
	row-gap: 0.75rem;
}
.aantlaw-belt__contacts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
}
.aantlaw-belt__contacts a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #fff;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
}
.aantlaw-belt__contacts a:hover { color: #f7b40e; }
.aantlaw-belt__contacts svg { color: #f7b40e; flex: 0 0 auto; }
.aantlaw-belt__buttons { gap: 0.6rem; }
.aantlaw-belt__buttons .wp-block-button__link { font-size: 0.8rem; padding: 0.5rem 1.1rem; text-transform: uppercase; letter-spacing: 0.03em; }

@media (max-width: 781px) {
	.aantlaw-belt__inner { justify-content: center; }
	.aantlaw-belt__contacts { justify-content: center; }
	/* P3-M1: center the stacked CTA buttons so the belt isn't lopsided
	   (centered contacts over left-hugging half-width buttons). */
	.aantlaw-belt__buttons { justify-content: center; width: 100%; }
	.aantlaw-belt__buttons .wp-block-button { flex: 1 1 auto; max-width: 260px; }
	.aantlaw-belt__buttons .wp-block-button__link { display: block; text-align: center; }
}

/* =================================================================
   Mobile header — overlay menu alignment + touch targets (QA mobile pass)
   The overlay only appears on mobile (overlayMenu:"mobile"); these rules are
   scoped to it / wrapped in the mobile breakpoint so desktop is untouched.
   ================================================================= */

/* P2-M1: the header nav uses justifyContent:right, which leaks into the
   open overlay and right-aligns items against the screen edge; the desktop
   dropdown panel styling (absolute, max-content width, border/shadow, nested
   left:100%) also leaks in and mangles sub-levels. Reset both: a clean,
   left-aligned list with consistent padding and one indent step per level. */
/* The header nav's justifyContent:right makes WP add align-items:flex-end to the
   overlay content wrapper, which right-aligns an over-wide menu container so it
   spills off the LEFT edge. Force the wrapper + container to stretch full width. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	gap: 0;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	align-items: stretch;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	justify-content: flex-start;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 20px;
}
/* Neutralize the desktop flyout styling inside the overlay so submenus flow
   inline as an indented list rather than off-screen absolute panels. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
/* One consistent indent step per nesting level. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 36px;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 52px;
}

/* P2-M2: collapsible submenus in the mobile overlay. Submenus are hidden by
   default and revealed when their parent gets `.aantlaw-open` (toggled by
   assets/js/mobile-menu.js on tap). A +/− marker shows the state. Scoped to the
   open overlay only, so the desktop hover dropdowns are unaffected. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-container {
	display: none;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child.aantlaw-open > .wp-block-navigation__submenu-container {
	display: flex;
}
/* Lay the parent label as a row so the +/− sits at the right edge. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
}
/* Hide the block's default submenu chevron/toggle in the overlay (it's a sibling
   of the content link); we draw our own +/− and toggle via mobile-menu.js. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-icon {
	display: none;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content::after {
	content: "+";
	margin-left: auto;
	padding-left: 12px;
	color: var(--wp--preset--color--gold);
	font-size: 1.4rem;
	line-height: 1;
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .has-child.aantlaw-open > .wp-block-navigation-item__content::after {
	content: "\2013";
}

/* P2-M3: touch targets ≥44px on mobile (hamburger, language links, belt links). */
@media (max-width: 781px) {
	.aantlaw-header .wp-block-navigation__responsive-container-open,
	.aantlaw-header .wp-block-navigation__responsive-container-close {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.aantlaw-header .wp-block-navigation__responsive-container-open svg,
	.aantlaw-header .wp-block-navigation__responsive-container-close svg {
		width: 28px;
		height: 28px;
	}
	/* Language flags: ≥44px hit area + clear spacing so adjacent langs don't mis-tap. */
	.aantlaw-header .wp-block-polylang-language-switcher { gap: 0.75rem; }
	.aantlaw-header .wp-block-polylang-language-switcher a {
		min-height: 44px;
		padding: 11px 8px;
		box-sizing: border-box;
	}
	/* Belt contact links: give them a 44px-tall hit area. */
	.aantlaw-belt__contacts { gap: 0.5rem 1.25rem; }
	.aantlaw-belt__contacts a {
		min-height: 44px;
		padding: 6px 4px;
		box-sizing: border-box;
	}
	/* Declutter the top bar: hide the top-bar language switcher; mobile-menu.js
	   clones it into the hamburger overlay (.aantlaw-overlay-langs) instead.
	   Match the `ul.` form so this beats the base switcher rule's specificity. */
	.aantlaw-header__bar ul.wp-block-polylang-language-switcher { display: none; }
}

/* Language switcher relocated into the mobile overlay (clone). Sits at the top
   of the menu as a centered EN/ES/RU row with a divider below. */
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .aantlaw-overlay-langs {
	display: flex;
	justify-content: center;
	gap: 1.75rem;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 0.5rem;
	padding: 4px 20px 16px;
	border-bottom: 1px solid var(--wp--preset--color--gray);
}
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .aantlaw-overlay-langs li { margin: 0; }
.aantlaw-header .wp-block-navigation__responsive-container.is-menu-open .aantlaw-overlay-langs a {
	min-height: 44px;
	padding: 10px 6px;
	box-sizing: border-box;
}

/* ----- Footer credential badges ----- */
.aantlaw-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	padding: 0.5rem 0;
}
.aantlaw-badges img {
	height: 84px;
	width: auto;
	background: #fff;
	padding: 6px;
	border-radius: 4px;
}

/* Homepage bands built from core cover/group blocks: stack them flush too. */
.aantlaw-band { margin-top: 0 !important; margin-bottom: 0 !important; }
.aantlaw-where__source { font-size: 0.85rem; }

/* =================================================================
   Internal pages (templates/page.html)
   The old site rendered these from ACF templates (hero banner + body
   + form). The migration scraped the text but lost that structure, so
   pages read as a bare stack. This restores a designed page-title hero
   band and gives the body real typographic rhythm.
   ================================================================= */

/* --- Page-title hero band --- */
.aantlaw-pagehead {
	background:
		linear-gradient(120deg, rgba(0,38,74,0.0) 55%, rgba(247,180,14,0.10) 100%),
		linear-gradient(180deg, #003563 0%, #00264a 100%);
	padding-block: 2.6rem;
	margin-block: 0 !important;
}
.aantlaw-pagehead__title {
	max-width: 1080px;
	margin: 0 auto;
	padding-inline: 1.5rem;
	color: #fff;
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	font-weight: 400;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	line-height: 1.12;
	letter-spacing: 0.01em;
}
.aantlaw-pagehead__title::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	margin-top: 1rem;
	background: var(--wp--preset--color--gold);
}

/* --- Body content rhythm --- */
.aantlaw-page .aantlaw-entry {
	padding-block: 3rem 3.5rem;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #2f2f2f;
}
.aantlaw-page .aantlaw-entry > * { margin-block: 0 0 1.25rem; }
.aantlaw-page .aantlaw-entry > :last-child { margin-bottom: 0; }

/* Headings inside content */
.aantlaw-page .aantlaw-entry h1,
.aantlaw-page .aantlaw-entry h2,
.aantlaw-page .aantlaw-entry h3,
.aantlaw-page .aantlaw-entry h4 {
	font-family: var(--wp--preset--font-family--display);
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	line-height: 1.2;
	margin-top: 2.5rem;
}
.aantlaw-page .aantlaw-entry h1 { font-size: clamp(1.6rem, 3vw, 2.25rem); text-transform: uppercase; }
.aantlaw-page .aantlaw-entry h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	text-transform: uppercase;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--gray);
}
.aantlaw-page .aantlaw-entry h3 { font-size: 1.4rem; color: var(--wp--preset--color--navy-deep); }
.aantlaw-page .aantlaw-entry h4 { font-size: 1.15rem; }
.aantlaw-page .aantlaw-entry > :first-child { margin-top: 0 !important; }

/* Body links (not buttons) */
.aantlaw-page .aantlaw-entry p a,
.aantlaw-page .aantlaw-entry li a {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.aantlaw-page .aantlaw-entry p a:hover,
.aantlaw-page .aantlaw-entry li a:hover { color: var(--wp--preset--color--gold); }

/* Images: framed, constrained, centered */
.aantlaw-page .aantlaw-entry img {
	height: auto;
	border-radius: 6px;
}
.aantlaw-page .aantlaw-entry figure { margin-inline: 0; }
.aantlaw-page .aantlaw-entry img { box-shadow: 0 6px 22px rgba(0,38,74,0.12); }
.aantlaw-page .aantlaw-entry .alignfull img,
.aantlaw-page .aantlaw-entry .alignwide img { box-shadow: none; }

/* Lists with gold markers */
.aantlaw-page .aantlaw-entry ul { list-style: none; padding-left: 0; }
.aantlaw-page .aantlaw-entry ul > li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.6rem;
}
.aantlaw-page .aantlaw-entry ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.5rem;
	height: 0.5rem;
	background: var(--wp--preset--color--gold);
	border-radius: 50%;
}
.aantlaw-page .aantlaw-entry ol { padding-left: 1.3rem; }
.aantlaw-page .aantlaw-entry ol > li { margin-bottom: 0.6rem; }

/* Legacy old-theme button links (btn-hiring-2017, btn-contact-immigration-2017,
   request-consultation links, etc.) — render them as real buttons. */
.aantlaw-page .aantlaw-entry a[class*="btn-"],
.aantlaw-page .aantlaw-entry a[href*="request-consultation"],
.aantlaw-page .aantlaw-entry a.button {
	display: inline-block;
	background: var(--wp--preset--color--gold);
	color: #00264a !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	padding: 0.8rem 1.6rem;
	border-radius: 3px;
	line-height: 1.2;
}
.aantlaw-page .aantlaw-entry a[class*="btn-"]:hover,
.aantlaw-page .aantlaw-entry a[href*="request-consultation"]:hover,
.aantlaw-page .aantlaw-entry a.button:hover {
	background: var(--wp--preset--color--navy);
	color: #fff !important;
}

/* Blockquotes / pull quotes */
.aantlaw-page .aantlaw-entry blockquote {
	border-left: 4px solid var(--wp--preset--color--gold);
	margin-inline: 0;
	padding: 0.5rem 0 0.5rem 1.5rem;
	font-style: italic;
	color: var(--wp--preset--color--navy-deep);
}

/* Tables */
.aantlaw-page .aantlaw-entry table { border-collapse: collapse; width: 100%; }
.aantlaw-page .aantlaw-entry th,
.aantlaw-page .aantlaw-entry td { border: 1px solid var(--wp--preset--color--gray); padding: 0.6rem 0.8rem; }
.aantlaw-page .aantlaw-entry th { background: var(--wp--preset--color--gray-light); }

@media (max-width: 600px) {
	.aantlaw-pagehead { padding-block: 1.8rem; }
	.aantlaw-page .aantlaw-entry { padding-block: 2rem 2.5rem; }
}

/* =================================================================
   Re-imported internal-page ACF blocks
   (Page Banner / Intro + Form / Content Section). These render inside
   the constrained post-content, so each is full-bleed via calc().
   ================================================================= */

/* Canonical gold button used across imported components. */
.aantlaw-btn {
	display: inline-block;
	background: var(--wp--preset--color--gold);
	color: #00264a;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none;
	padding: 0.85rem 1.8rem;
	border-radius: 3px;
	line-height: 1.2;
	transition: background 0.15s ease, color 0.15s ease;
}
.aantlaw-btn:hover { background: var(--wp--preset--color--navy); color: #fff; }

/* Full-bleed wrappers + shared inner column. */
.aantlaw-pagebanner,
.aantlaw-introform,
.aantlaw-section {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
}
.aantlaw-pagebanner__inner,
.aantlaw-introform__inner,
.aantlaw-section__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

/* --- Page banner --- */
.aantlaw-pagebanner {
	position: relative;
	background: #c7d2dd no-repeat right top;
	background-size: cover;
	overflow: hidden;
}
.aantlaw-pagebanner.has-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(238,242,246,0.97) 0%, rgba(238,242,246,0.9) 38%, rgba(238,242,246,0.4) 60%, rgba(238,242,246,0) 76%);
	pointer-events: none;
}
.aantlaw-pagebanner__inner {
	position: relative;
	z-index: 1;
	padding-block: 3rem;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 1200px;
}
.aantlaw-pagebanner__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.7rem, 3.2vw, 2.6rem);
	line-height: 1.14;
	margin: 0 0 0.75rem;
	max-width: 60%;
}
.aantlaw-pagebanner__subtitle {
	font-family: var(--wp--preset--font-family--serif-display);
	color: var(--wp--preset--color--navy-deep);
	font-size: 1.25rem;
	margin: 0 0 0.75rem;
}
.aantlaw-pagebanner__tagline {
	color: var(--wp--preset--color--navy);
	font-size: 1.0625rem;
	line-height: 1.5;
	margin-bottom: 1.25rem;
}
.aantlaw-pagebanner__tagline .text-logo {
	font-family: var(--wp--preset--font-family--serif-display);
	font-size: 1.4rem;
	line-height: 1.25;
	color: var(--wp--preset--color--navy);
	margin-bottom: 0.5rem;
}
/* The tagline often carries an inline consultation link — make it a button. */
.aantlaw-pagebanner__tagline a {
	display: inline-block;
	margin-top: 0.6rem;
	background: var(--wp--preset--color--gold);
	color: #00264a;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none;
	padding: 0.85rem 1.8rem;
	border-radius: 3px;
}
.aantlaw-pagebanner__tagline a:hover { background: var(--wp--preset--color--navy); color: #fff; }
.aantlaw-pagebanner__cta { margin: 0; }

@media (max-width: 781px) {
	.aantlaw-pagebanner__title { max-width: 100%; }
	.aantlaw-pagebanner.has-bg::before {
		background: linear-gradient(180deg, rgba(238,242,246,0.95) 30%, rgba(238,242,246,0.7) 100%);
	}
}

/* --- Intro + consultation form --- */
.aantlaw-introform { background: #fff; }
.aantlaw-introform__inner {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 3rem;
	padding-block: 3.25rem;
	align-items: start;
}
.aantlaw-introform__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.2;
	margin: 0 0 0.5rem;
}
.aantlaw-introform__subtitle {
	font-family: var(--wp--preset--font-family--serif-display);
	color: var(--wp--preset--color--navy-deep);
	font-size: 1.2rem;
	margin: 0 0 1.25rem;
}
.aantlaw-introform__body { font-size: 1.0625rem; line-height: 1.7; color: #2f2f2f; }
.aantlaw-introform__body p { margin: 0 0 1rem; }
.aantlaw-introform__form {
	background: var(--wp--preset--color--gray-light);
	padding: 1.75rem;
	border-radius: 6px;
	border-top: 4px solid var(--wp--preset--color--gold);
}
.aantlaw-introform__formtitle {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 0 0 1rem;
	text-align: center;
}

@media (max-width: 900px) {
	.aantlaw-introform__inner { grid-template-columns: 1fr; gap: 2rem; }
}

/* --- Content section (Benefits, etc.) --- */
.aantlaw-section { background: #fff; }
.aantlaw-section + .aantlaw-section { border-top: 1px solid var(--wp--preset--color--gray); }
.aantlaw-section__inner { padding-block: 3rem; }
.aantlaw-section.is-align-center { text-align: center; }
.aantlaw-section.is-align-center .aantlaw-section__body { text-align: left; }
.aantlaw-section__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.2;
	margin: 0 0 0.75rem;
}
.aantlaw-section__subtitle {
	font-family: var(--wp--preset--font-family--serif-display);
	color: var(--wp--preset--color--navy-deep);
	font-size: 1.2rem;
	margin: 0 0 1.25rem;
}
.aantlaw-section__body {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #2f2f2f;
	max-width: 1000px;
	margin-inline: auto;
}
.aantlaw-section__body p { margin: 0 0 1rem; }
.aantlaw-section__body ul { list-style: none; padding-left: 0; }
.aantlaw-section__body ul > li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.7rem;
}
.aantlaw-section__body ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.5rem;
	height: 0.5rem;
	background: var(--wp--preset--color--gold);
	border-radius: 50%;
}
.aantlaw-section__body a { color: var(--wp--preset--color--navy); text-decoration: underline; }
.aantlaw-section__cta { margin: 1.75rem 0 0; }

/* Subheadings inside imported wysiwyg bodies need breathing room — the old
   content used h2-h4 (and dash-led pseudo-headings) that otherwise crowd the
   surrounding copy and lists. */
.aantlaw-introform__body :where(h2, h3, h4, h5),
.aantlaw-section__body :where(h2, h3, h4, h5) {
	font-family: var(--wp--preset--font-family--display);
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	line-height: 1.25;
	margin: 2.25rem 0 0.85rem;
}
.aantlaw-introform__body :where(h2, h3, h4, h5):first-child,
.aantlaw-section__body :where(h2, h3, h4, h5):first-child { margin-top: 0; }
.aantlaw-introform__body h2, .aantlaw-section__body h2 { font-size: 1.55rem; }
.aantlaw-introform__body h3, .aantlaw-section__body h3 { font-size: 1.3rem; }
.aantlaw-introform__body h4, .aantlaw-section__body h4 { font-size: 1.12rem; }
/* A touch more separation between paragraphs and the lists/blocks that follow. */
.aantlaw-introform__body > p,
.aantlaw-section__body > p { margin-bottom: 1.15rem; }
.aantlaw-introform__body > ul,
.aantlaw-introform__body > ol,
.aantlaw-section__body > ul,
.aantlaw-section__body > ol { margin: 0 0 1.5rem; }

/* The old content used inline-styled bold paragraphs (<p><strong style="font-size">)
   as pseudo-subheadings — margin-top on an inline element does nothing, so they
   crowd the surrounding copy. Give the whole paragraph real spacing + heading look. */
.aantlaw-introform__body p:has(> strong[style*="font-size"]),
.aantlaw-section__body p:has(> strong[style*="font-size"]) {
	margin-top: 2.25rem;
	margin-bottom: 0.75rem;
}
.aantlaw-introform__body p > strong[style*="font-size"],
.aantlaw-section__body p > strong[style*="font-size"] {
	display: inline-block;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	color: var(--wp--preset--color--navy);
	line-height: 1.25;
}

/* --- FAQ accordion --- */
.aantlaw-faq {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
	background: var(--wp--preset--color--gray-light);
}
.aantlaw-faq__inner {
	max-width: 1000px;
	margin-inline: auto;
	padding: 3rem 1.5rem;
}
.aantlaw-faq__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	text-align: center;
	margin: 0 0 1.75rem;
}
.aantlaw-faq__item {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray);
	border-radius: 4px;
	margin-bottom: 0.75rem;
}
.aantlaw-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 1.1rem 3rem 1.1rem 1.25rem;
	position: relative;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.15rem;
	color: var(--wp--preset--color--navy);
	line-height: 1.3;
}
.aantlaw-faq__q::-webkit-details-marker { display: none; }
.aantlaw-faq__q::after {
	content: "+";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--wp--preset--color--gold);
	line-height: 1;
}
.aantlaw-faq__item[open] .aantlaw-faq__q::after { content: "\2013"; }
.aantlaw-faq__item[open] .aantlaw-faq__q { border-bottom: 1px solid var(--wp--preset--color--gray); }
.aantlaw-faq__a {
	padding: 1rem 1.25rem 1.25rem;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #2f2f2f;
}
.aantlaw-faq__a p { margin: 0 0 0.8rem; }
.aantlaw-faq__a :last-child { margin-bottom: 0; }

/* P3-1: standardize native core <details> accordions (e.g. /faq/) to match the
   boxed +/− accordion the AANT FAQ block uses on service pages. Scoped to
   post content so it can't affect any other disclosure widgets. */
.aantlaw-entry .wp-block-details {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray);
	border-radius: 4px;
	margin-bottom: 0.75rem;
	padding: 0;
}
.aantlaw-entry .wp-block-details > summary {
	cursor: pointer;
	list-style: none;
	display: block;
	padding: 1.1rem 3rem 1.1rem 1.25rem;
	position: relative;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.15rem;
	color: var(--wp--preset--color--navy);
	line-height: 1.3;
}
.aantlaw-entry .wp-block-details > summary::-webkit-details-marker { display: none; }
.aantlaw-entry .wp-block-details > summary::after {
	content: "+";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--wp--preset--color--gold);
	line-height: 1;
}
.aantlaw-entry .wp-block-details[open] > summary::after { content: "\2013"; }
.aantlaw-entry .wp-block-details[open] > summary { border-bottom: 1px solid var(--wp--preset--color--gray); }
.aantlaw-entry .wp-block-details > :not(summary) {
	padding: 1rem 1.25rem;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #2f2f2f;
	margin: 0;
}

/* --- Blue boxes grid --- */
.aantlaw-blueboxes {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
	background: #fff;
}
.aantlaw-blueboxes__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding: 3rem 1.5rem;
}
.aantlaw-blueboxes__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	text-align: center;
	margin: 0 0 1.75rem;
}
.aantlaw-blueboxes__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.aantlaw-blueboxes__box {
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.aantlaw-blueboxes__media { aspect-ratio: 16 / 9; overflow: hidden; }
.aantlaw-blueboxes__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aantlaw-blueboxes__body { padding: 1.5rem; font-size: 1rem; line-height: 1.6; }
.aantlaw-blueboxes__body p { margin: 0 0 0.75rem; }
.aantlaw-blueboxes__body :last-child { margin-bottom: 0; }
.aantlaw-blueboxes__body a { color: var(--wp--preset--color--gold); }
.aantlaw-blueboxes__boxtitle {
	font-family: var(--wp--preset--font-family--display);
	color: #fff;
	font-weight: 400;
	font-size: 1.25rem;
	margin: 0 0 0.6rem;
}
@media (max-width: 900px) { .aantlaw-blueboxes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .aantlaw-blueboxes__grid { grid-template-columns: 1fr; } }

/* --- Offices --- */
.aantlaw-offices {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
	background: #fff;
}
.aantlaw-offices__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding: 3rem 1.5rem;
}
.aantlaw-offices__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	text-align: center;
	margin: 0 0 1.75rem;
}
.aantlaw-offices__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.75rem;
}
.aantlaw-offices__card {
	border: 1px solid var(--wp--preset--color--gray);
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.aantlaw-offices__map { aspect-ratio: 16 / 9; overflow: hidden; background: var(--wp--preset--color--gray-light); }
.aantlaw-offices__mapimg { width: 100%; height: 100%; object-fit: cover; display: block; }
.aantlaw-offices__body { padding: 1.5rem; }
.aantlaw-offices__name {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	font-size: 1.4rem;
	margin: 0 0 0.6rem;
}
.aantlaw-offices__address {
	font-style: normal;
	color: #2f2f2f;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.aantlaw-offices__contacts { list-style: none; margin: 0; padding: 0; }
.aantlaw-offices__contacts li { margin-bottom: 0.4rem; line-height: 1.4; }
.aantlaw-offices__contacts span {
	display: inline-block;
	min-width: 84px;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--navy);
	font-weight: 700;
}
.aantlaw-offices__contacts a { color: var(--wp--preset--color--navy); text-decoration: none; }
.aantlaw-offices__contacts a:hover { color: var(--wp--preset--color--gold); text-decoration: underline; }
@media (max-width: 700px) { .aantlaw-offices__grid { grid-template-columns: 1fr; } }

/* =================================================================
   Legacy old-theme section markup embedded in imported rich content
   -----------------------------------------------------------------
   Some imported visa/immigration pages carry raw old-theme section
   HTML inside the ACF content-section body (#blue-area-2018,
   .title-sep-2018, .gray-box-sep-2018, .content-box-blue-01, ...).
   The new theme had no rules for these, so navy bands lost their
   background (white copy went invisible) and boxes/accordions
   collapsed into a flat grey stack. This layer re-creates them as
   clean, modern, contained colour panels + cards. Scoped to the
   rich-content wrappers so it can never touch native-block pages.
   ================================================================= */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .content-internals-2017 {
	max-width: 960px;
	margin-inline: auto;
}
/* Reset legacy float/clear helpers that otherwise leave dead gaps. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) [style*="clear:both"] { clear: both; }

/* --- Full-width colour bands (contained inside the section column) --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	#blue-area-2018, #white-area-2018, #gray-area-sep-2018,
	#two-boxes-sep-2018, #top-immigration-area-2017,
	.gray-box-sep-2018, .white-box-sep-2018) {
	margin: 1.75rem 0;
	padding: 2.5rem clamp(1.25rem, 4vw, 3rem);
	border-radius: 10px;
}
/* Navy highlight panel — restores the readable white copy. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) #blue-area-2018 {
	background: var(--wp--preset--color--navy);
	color: #fff;
}
:where(.aantlaw-section__body, .aantlaw-entry) #blue-area-2018 :where(p, li, h2, h3, h4, span) { color: #fff; }
:where(.aantlaw-section__body, .aantlaw-entry) #blue-area-2018 a { color: #fff; text-decoration: underline; }
/* Light-grey panels. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(#gray-area-sep-2018, .gray-box-sep-2018) {
	background: var(--wp--preset--color--gray-light);
}
/* White panels keep no chrome — just rhythm. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(#white-area-2018, .white-box-sep-2018) {
	background: none;
	padding-block: 1.25rem;
	border-radius: 0;
}

/* --- Centered section heading w/ gold accent (old .title-sep-2018) --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .title-sep-2018 {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	font-weight: 400;
	font-size: clamp(1.35rem, 2.6vw, 2rem);
	line-height: 1.2;
	text-align: center;
	color: var(--wp--preset--color--navy);
	margin: 0 0 1.4rem;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .title-sep-2018::after {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin: 0.8rem auto 0;
	background: var(--wp--preset--color--gold);
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .title-sep-2018.white { color: #fff; }
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .title-sep-2018.blue { color: var(--wp--preset--color--navy); }

/* --- Navy highlight callout card (old .content-box-blue-01) --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .content-box-blue-01 {
	background: var(--wp--preset--color--navy);
	color: #fff;
	padding: 1.5rem 1.75rem;
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(0, 38, 74, 0.12);
}
:where(.aantlaw-section__body, .aantlaw-entry) .content-box-blue-01 :where(p, li, span, strong) { color: #fff; }
:where(.aantlaw-section__body, .aantlaw-entry) .content-box-blue-01 a { color: var(--wp--preset--color--gold); }
:where(.aantlaw-section__body, .aantlaw-entry) .content-box-blue-01 :last-child { margin-bottom: 0; }
/* Numbered-box wrapper — transparent, just spacing. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .box-num-2018 { margin: 0; }

/* --- Resource / FAQ callout cards --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(.box-resources, .box-url-resources, .content-gray-faq) {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray);
	border-left: 4px solid var(--wp--preset--color--gold);
	border-radius: 8px;
	padding: 1.25rem 1.5rem;
	margin: 0 0 1rem;
}

/* --- Static accordion (old Bootstrap collapse, no JS on the new site) --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .panel-collapse.collapse {
	display: block !important;
	height: auto !important;
	visibility: visible !important;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .panel {
	border: 1px solid var(--wp--preset--color--gray);
	border-radius: 6px;
	margin-bottom: 0.75rem;
	overflow: hidden;
	background: #fff;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .panel-title {
	font-family: var(--wp--preset--font-family--display);
	color: var(--wp--preset--color--navy);
	font-size: 1.12rem;
	line-height: 1.3;
	margin: 0;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--gray-light);
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .panel-title a { text-decoration: none; color: inherit; }
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .panel-body { padding: 1rem 1.25rem; }

/* Legacy images shouldn't overflow their panel. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(#blue-area-2018, #two-boxes-sep-2018, .gray-box-sep-2018, .white-box-sep-2018) img {
	max-width: 100%;
	height: auto;
}

/* --- Legacy CTA button wrappers (a <div> w/ an inline dark bg around a link,
       e.g. .button-faq02, .buttons-banner-* ) — render as readable gold pills. --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018) {
	display: block;
	width: fit-content;
	max-width: 100%;
	background: var(--wp--preset--color--gold) !important;
	border-radius: 50px;
	margin: 1.5rem auto;
	padding: 0;
	text-align: center;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018) a {
	display: block;
	color: #00264a !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	padding: 0.8rem 1.7rem;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018):hover {
	background: var(--wp--preset--color--navy) !important;
}
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018):hover a {
	color: #fff !important;
}

/* A .title-sep-2018 heading that sits inside a navy panel/box must go white too
   (otherwise navy-on-navy). Specificity beats the base navy .title-sep-2018 rule. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) #blue-area-2018 .title-sep-2018,
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .content-box-blue-01 .title-sep-2018 {
	color: #fff;
}

/* Links inside navy panels carry stray inline colours (gray/navy) from the old
   markup — force them readable over the navy, overriding the inline style. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) #blue-area-2018 a { color: #fff !important; }
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .content-box-blue-01 a { color: var(--wp--preset--color--gold) !important; }
/* Old FAQ section title (.third-part-area-title) was white on a coloured band;
   on the new white background it must be navy. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .third-part-area-title,
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .third-part-area-title * {
	color: var(--wp--preset--color--navy) !important;
}

/* P3-5: legacy bold "sub-title" divs (e.g. "Facts about EB-5 Visa") read like
   section headings — give them heading rhythm/weight instead of plain bold. */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) .sub-title-benefits-2017 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	line-height: 1.25;
	color: var(--wp--preset--color--navy);
	font-weight: 400;
	margin: 1.75rem 0 0.9rem;
}

/* =================================================================
   Testimonials page — media rows (photo + name + quote)
   Built from the wrapped .aantlaw-testimonial groups (fix-testimonials.php).
   ================================================================= */
.aantlaw-page .aantlaw-entry .aantlaw-testimonial {
	display: flex;
	gap: 1.75rem;
	align-items: flex-start;
	padding: 1.75rem 0;
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--gray);
}
.aantlaw-page .aantlaw-entry .aantlaw-testimonial:last-child { border-bottom: 0; }
.aantlaw-page .aantlaw-entry .aantlaw-testimonial .wp-block-image {
	flex: 0 0 auto;
	width: 120px;
	margin: 0;
}
.aantlaw-page .aantlaw-entry .aantlaw-testimonial .wp-block-image img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--wp--preset--color--navy);
	box-shadow: none;
	display: block;
}
.aantlaw-page .aantlaw-entry .aantlaw-testimonial__body { flex: 1 1 auto; margin: 0; }
.aantlaw-page .aantlaw-entry .aantlaw-testimonial__body > * { margin: 0; }
.aantlaw-page .aantlaw-entry .aantlaw-testimonial__body :where(h2, h3) {
	font-size: 1.4rem;
	margin: 0 0 0.5rem;
	padding: 0;
	border-bottom: 0;
	color: var(--wp--preset--color--navy);
	letter-spacing: 0.01em;
}
.aantlaw-page .aantlaw-entry .aantlaw-testimonial__body p {
	margin: 0;
	color: #444;
	line-height: 1.7;
}
/* Imageless testimonial: align name/quote with the rest. */
.aantlaw-page .aantlaw-entry .aantlaw-testimonial:not(:has(.wp-block-image)) .aantlaw-testimonial__body {
	padding-left: calc(120px + 1.75rem);
}
@media (max-width: 600px) {
	.aantlaw-page .aantlaw-entry .aantlaw-testimonial { gap: 1.1rem; }
	.aantlaw-page .aantlaw-entry .aantlaw-testimonial .wp-block-image,
	.aantlaw-page .aantlaw-entry .aantlaw-testimonial .wp-block-image img { width: 76px; height: 76px; }
	.aantlaw-page .aantlaw-entry .aantlaw-testimonial:not(:has(.wp-block-image)) .aantlaw-testimonial__body { padding-left: 0; }
}

/* =================================================================
   Blog index — post cards (home.html)
   ================================================================= */
.aantlaw-bloglist .aantlaw-postcard {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-shadow: 0 4px 16px rgba(0, 38, 74, 0.06);
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.aantlaw-bloglist .aantlaw-postcard:hover {
	box-shadow: 0 10px 26px rgba(0, 38, 74, 0.14);
	transform: translateY(-2px);
}
.aantlaw-bloglist .aantlaw-postcard__media {
	margin: 0;
}
.aantlaw-bloglist .aantlaw-postcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.aantlaw-bloglist .aantlaw-postcard__body {
	padding: 1.35rem 1.4rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1 1 auto;
}
.aantlaw-bloglist .aantlaw-postcard__date {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--gold);
	font-weight: 700;
	margin: 0;
}
.aantlaw-bloglist .aantlaw-postcard__title {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	font-weight: 400;
	font-size: 1.22rem;
	line-height: 1.25;
	margin: 0;
	/* Clamp to 3 lines + reserve the space so the excerpt/Read more align. */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 3.75em;
}
.aantlaw-bloglist .aantlaw-postcard__title a {
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}
.aantlaw-bloglist .aantlaw-postcard__title a:hover { color: var(--wp--preset--color--gold); }
.aantlaw-bloglist .aantlaw-postcard .wp-block-post-excerpt {
	font-size: 0.97rem;
	line-height: 1.6;
	color: #444;
	margin: 0;
}
.aantlaw-bloglist .aantlaw-postcard .wp-block-post-excerpt__more-text {
	display: inline-block;
	margin-top: 0.6rem;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	text-transform: uppercase;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
}
.aantlaw-bloglist .aantlaw-postcard .wp-block-post-excerpt__more-text:hover { color: var(--wp--preset--color--gold); }
/* Posts with no featured image: keep the card body flush to the top. */
.aantlaw-bloglist .aantlaw-postcard:not(:has(.aantlaw-postcard__media img)) .aantlaw-postcard__media { display: none; }

/* Pagination */
.aantlaw-pagination { margin-top: 2.5rem; gap: 0.4rem; }
.aantlaw-pagination .wp-block-query-pagination-numbers a,
.aantlaw-pagination .wp-block-query-pagination-numbers .current,
.aantlaw-pagination .wp-block-query-pagination-previous,
.aantlaw-pagination .wp-block-query-pagination-next {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	text-decoration: none;
}
.aantlaw-pagination .current { color: var(--wp--preset--color--gold); }

/* =================================================================
   Legacy old-theme IMAGE layouts embedded in imported rich content
   -----------------------------------------------------------------
   Scraped visa pages carry old-theme process-flow boxes, chart grids
   and decorative spacer/arrow images. Without their CSS the spacers
   render full-size (huge empty gaps) and the boxes/charts stack. This
   re-creates the layouts as clean, responsive rows. Scoped to the
   rich-content wrappers.
   ================================================================= */

/* --- Process-flow: navy step boxes connected by arrows (.box-sep-2018).
   Flex the immediate container so the boxes sit in a row at EQUAL height
   (align-items:stretch); the connector arrows sit between them, vertically
   centered. The container is whatever directly holds the boxes (its own
   section body / a wrapper div), matched with :has() so we never flex a body
   that also carries prose. P3-5: previously inline-block left box 1 taller. --- */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry):has(> .box-sep-2018),
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) > div:has(> .box-sep-2018) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.4rem;
}
:where(.aantlaw-section__body, .aantlaw-entry) .box-sep-2018 {
	flex: 0 1 31%;
	box-sizing: border-box;
	min-width: 180px;
	margin: 0.5rem 0;
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-radius: 10px;
	padding: 1.2rem 1.25rem 1.35rem;
	box-shadow: 0 6px 18px rgba(0, 38, 74, 0.12);
	text-align: left;
}
/* the navy "banner" png is a decorative spacer — drop it. */
:where(.aantlaw-section__body, .aantlaw-entry) .blue-trans-sep-2018 { display: none; }
:where(.aantlaw-section__body, .aantlaw-entry) .box-title-2018 {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	color: #fff;
	font-size: 1.12rem;
	line-height: 1.25;
	margin: 0 0 0.6rem;
}
:where(.aantlaw-section__body, .aantlaw-entry) .box-content-2018 {
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.55;
}
/* connector arrows: hide the leading one (only show an arrow that follows a box). */
:where(.aantlaw-section__body, .aantlaw-entry) .box-arrow-sep-2018 { display: none; }
:where(.aantlaw-section__body, .aantlaw-entry) .box-sep-2018 + .box-arrow-sep-2018 {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	margin: 0.5rem 0.1rem;
}
:where(.aantlaw-section__body, .aantlaw-entry) .box-arrow-sep-2018 img { width: 20px; height: auto; opacity: 0.5; }
@media (max-width: 760px) {
	:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry):has(> .box-sep-2018),
	:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) > div:has(> .box-sep-2018) { flex-direction: column; align-items: stretch; }
	:where(.aantlaw-section__body, .aantlaw-entry) .box-sep-2018 { flex-basis: auto; width: 100%; }
	:where(.aantlaw-section__body, .aantlaw-entry) .box-sep-2018 + .box-arrow-sep-2018 { justify-content: center; }
	:where(.aantlaw-section__body, .aantlaw-entry) .box-arrow-sep-2018 img { transform: rotate(90deg); }
}

/* --- Chart grid (.content-grid / .chart-box / .divider / .chart-img) --- */
:where(.aantlaw-section__body, .aantlaw-entry) .content-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: center;
	justify-content: center;
	margin: 1.5rem 0;
}
:where(.aantlaw-section__body, .aantlaw-entry) .chart-box { flex: 1 1 300px; text-align: center; min-width: 260px; }
:where(.aantlaw-section__body, .aantlaw-entry) .chart-img { max-width: 100%; height: auto; box-shadow: none; }
:where(.aantlaw-section__body, .aantlaw-entry) .content-grid .divider { flex: 0 0 1px; align-self: stretch; background: var(--wp--preset--color--gray); }

/* --- Bootstrap helper image classes from the old markup --- */
:where(.aantlaw-section__body, .aantlaw-entry) .img-responsive { max-width: 100%; height: auto; }
:where(.aantlaw-section__body, .aantlaw-entry) .center-block { display: block; margin-inline: auto; }

/* Keep any stray legacy content image from busting its column. */
:where(.aantlaw-section__body, .aantlaw-entry) .content-internals-2017 img,
:where(.aantlaw-section__body, .aantlaw-entry) .box-sep-2018 img { max-width: 100%; height: auto; }

/* Old CTA buttons carry inline 30px Raleway + big padding — normalise so they
   read as standard buttons (override the inline styles). */
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018) { padding: 0 !important; }
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018),
:where(.aantlaw-section__body, .aantlaw-introform__body, .aantlaw-entry) :where(
	.button-faq02, .buttons-banner-2021, .buttons-banner23, .blue-buttons-2022, .blue-buttons-2018) a {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	letter-spacing: 0.04em !important;
}

/* --- Oversized scraped images ---
   circle-testi-2017.png is an empty circular frame (the old site layered the
   real photo behind it). It migrated as a blank width:100% image that balloons
   to its native 1080px, so hide it. Cap other standalone legacy images so none
   dominates the column as a full-width block. */
:where(.aantlaw-section__body, .aantlaw-entry) figure.wp-block-image:has(img[src*="circle-testi"]) { display: none; }
:where(.aantlaw-section__body, .aantlaw-entry) img[src*="circle-testi"] { display: none; }
/* Dead testimonial-carousel arrow images (blue-l/blue-r-2017) — the carousel JS
   is gone and the testimonials are a static list now, so hide the stray arrows. */
:where(.aantlaw-section__body, .aantlaw-entry) figure.wp-block-image:has(img[src*="blue-l-2017"]),
:where(.aantlaw-section__body, .aantlaw-entry) figure.wp-block-image:has(img[src*="blue-r-2017"]) { display: none; }
:where(.aantlaw-section__body, .aantlaw-entry) img[src*="blue-l-2017"],
:where(.aantlaw-section__body, .aantlaw-entry) img[src*="blue-r-2017"] { display: none; }
:where(.aantlaw-section__body, .aantlaw-entry) figure.wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
	text-align: center;
}
:where(.aantlaw-section__body, .aantlaw-entry) figure.wp-block-image:not(.alignwide):not(.alignfull) img {
	max-width: min(100%, 560px);
	height: auto;
	margin-inline: auto;
}
