/* ==========================================================================
   Ademola Adetokunbo Theme. Values are taken 1:1 from the Claude Design
   export. The design is fluid (clamp + auto-fit grids); the only breakpoint
   is the mobile menu (< 768px).
   ========================================================================== */

/* ---------- Fonts (self-hosted, SIL OFL) ---------- */
@font-face { font-family: "Marcellus"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/marcellus-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Marcellus"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/marcellus-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/cormorant-garamond-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/cormorant-garamond-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300 600; font-display: swap; src: url("../fonts/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300 600; font-display: swap; src: url("../fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
	--aa-cream: #FAF8F1;
	--aa-navy: #132A4C;
	--aa-navy-deep: #0B1A30;
	--aa-ink: #080F1C;
	--aa-gold: #A6821D;
	--aa-gold-bright: #EAC435;
	--aa-slate: #4C5C74;
	--aa-sand: #F0ECE0;
	--aa-white: #FFFFFF;
	--aa-foot-text: #C7D0DD;
	--aa-foot-muted: #98A6BA;
	--aa-foot-dim: #6F819A;
	--aa-foot-sep: #3C4C63;
	--aa-on-dark: rgba(244, 244, 244, 0.82);
	--aa-line-10: rgba(19, 42, 76, 0.1);
	--aa-line-12: rgba(19, 42, 76, 0.12);
	--aa-line-15: rgba(19, 42, 76, 0.15);
	--aa-line-18: rgba(19, 42, 76, 0.18);
	--aa-line-25: rgba(19, 42, 76, 0.25);
	--aa-error: #B3261E;

	--aa-font-display: "Marcellus", serif;
	--aa-font-quote: "Cormorant Garamond", Georgia, serif;
	--aa-font-body: "Inter", Helvetica, sans-serif;

	--aa-max: 1500px;
	--aa-gutter: clamp(20px, 4vw, 64px);
	--aa-focus: var(--aa-navy);
	--aa-header-top: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--aa-cream); }
html { scroll-behavior: smooth; }
body {
	font-family: var(--aa-font-body);
	color: var(--aa-navy);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--aa-gold); text-decoration: none; }
a:hover { color: var(--aa-navy); }
::selection { background: var(--aa-gold-bright); color: var(--aa-navy); }
button { font: inherit; }
h1, h2, h3, h4 { font-weight: 700; }

:focus-visible { outline: 2px solid var(--aa-focus); outline-offset: 3px; }
.aa-dark { --aa-focus: var(--aa-gold-bright); }

.aa-skip {
	position: absolute; left: 16px; top: -100px; z-index: 100;
	background: var(--aa-navy); color: var(--aa-cream); padding: 12px 18px;
	font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600;
}
.aa-skip:focus { top: 16px; color: var(--aa-cream); }

.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Layout helpers ---------- */
.aa-container { max-width: var(--aa-max); margin: 0 auto; padding-left: var(--aa-gutter); padding-right: var(--aa-gutter); }
.aa-rel { position: relative; }
.aa-media-bg { position: absolute; inset: 0; overflow: hidden; }
.aa-media-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.aa-media-bg--faded { opacity: var(--aa-hero-opacity, 0.28); }
.aa-media-bg--faded img { object-position: var(--aa-hero-position, center); }
.aa-shade { position: absolute; inset: 0; }

/* ---------- Type ---------- */
.aa-eyebrow {
	display: block; font-size: 10px; letter-spacing: 0.45em; text-transform: uppercase;
	color: var(--aa-gold); font-weight: 600; margin: 0 0 var(--aa-eb-mb, 22px);
}
.aa-eyebrow--light { color: var(--aa-gold-bright); }
.aa-eyebrow--thin { font-weight: 500; }

.aa-h2 { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(30px, 4.2vw, 58px); line-height: 1.1; margin: 0; color: var(--aa-navy); }
.aa-h2--md { font-size: clamp(28px, 3.6vw, 50px); }
.aa-h2--sm { font-size: clamp(26px, 3.4vw, 46px); line-height: 1.15; }
.aa-h2--xs { font-size: clamp(26px, 3vw, 40px); line-height: 1.15; }
.aa-h2--light { color: var(--aa-white); }

.aa-text { margin: 0; font-size: 15px; line-height: 1.8; color: var(--aa-slate); font-weight: 300; }
.aa-text--loose { line-height: 1.85; }
.aa-lead { margin: 0; font-size: clamp(14px, 1.1vw, 17px); line-height: 1.75; color: var(--aa-on-dark); font-weight: 300; }

/* ---------- Buttons & links ---------- */
.aa-btn {
	display: inline-flex; align-items: center; gap: 12px; border: 0; cursor: pointer;
	font-family: var(--aa-font-body); text-transform: uppercase; font-weight: 600;
	text-decoration: none; line-height: normal; background: transparent; text-align: left;
}
.aa-btn__arrow { font-size: 14px; }
.aa-btn__arrow--sm { font-size: 13px; }
.aa-btn--primary { background: var(--aa-navy); color: var(--aa-cream); }
.aa-btn--primary:hover { background: var(--aa-gold); color: var(--aa-cream); }
.aa-btn--accent { background: var(--aa-gold-bright); color: var(--aa-navy); }
.aa-btn--accent:hover { background: var(--aa-white); color: var(--aa-navy); }
.aa-btn--outline { border: 1px solid var(--aa-navy); color: var(--aa-navy); }
.aa-btn--outline:hover { background: var(--aa-navy); color: var(--aa-cream); }
.aa-btn--ghost { border: 1px solid rgba(255, 255, 255, 0.35); color: var(--aa-white); }
.aa-btn--ghost:hover { border-color: var(--aa-gold-bright); color: var(--aa-gold-bright); }

.aa-btn--header { font-size: 10px; letter-spacing: 0.22em; padding: 13px 22px; }
.aa-btn--hero { font-size: 12px; letter-spacing: 0.22em; padding: 19px 32px; }
.aa-btn--ghost.aa-btn--hero { letter-spacing: 0.18em; font-weight: 500; }
.aa-btn--md { font-size: 11px; letter-spacing: 0.22em; padding: 17px 28px; }
.aa-btn--lg { font-size: 11px; letter-spacing: 0.22em; padding: 18px 28px; }
.aa-btn--wide { font-size: 11px; letter-spacing: 0.22em; padding: 18px 30px; }
.aa-btn--sm { font-size: 10px; letter-spacing: 0.2em; padding: 14px 20px; }

.aa-textlink {
	display: inline-flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--aa-gold);
	padding-bottom: 6px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--aa-navy); font-weight: 600;
}
.aa-textlink:hover { color: var(--aa-gold); }
.aa-textlink--tight { padding-bottom: 5px; }

.aa-linkbtn {
	align-self: flex-start; border: 0; background: transparent; padding: 0; cursor: pointer;
	font-family: var(--aa-font-body); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--aa-gold); font-weight: 600; text-align: left;
}
.aa-linkbtn:hover { color: var(--aa-navy); }
.aa-linkbtn--navy { color: var(--aa-navy); }
.aa-linkbtn--navy:hover { color: var(--aa-gold); }

/* ---------- Front-end edit link (editors only) ---------- */
.aa-has-edit { position: relative; }
.aa-edit {
	position: absolute; top: 10px; right: 10px; z-index: 30;
	background: var(--aa-navy); color: var(--aa-white) !important; border: 1px solid var(--aa-gold-bright);
	font: 600 10px/1 var(--aa-font-body); letter-spacing: 0.14em; text-transform: uppercase;
	padding: 8px 10px; opacity: 0.9;
}
.aa-edit:hover { opacity: 1; background: var(--aa-gold); }
.aa-header > .aa-edit { top: calc(100% + 6px); }
.aa-header.is-open > .aa-edit { display: none; }

/* ---------- Announcement ---------- */
.aa-announce { background: var(--aa-navy); color: var(--aa-cream); text-align: center; padding: 10px var(--aa-gutter); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
.aa-announce a { color: var(--aa-gold-bright); margin-left: 10px; }
.aa-announce a:hover { color: var(--aa-white); }

/* ---------- Header ---------- */
.aa-header {
	position: sticky; top: var(--aa-header-top); z-index: 40;
	background: rgba(250, 248, 241, 0.94);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--aa-line-12);
}
.aa-header__inner {
	max-width: var(--aa-max); margin: 0 auto; padding: 16px var(--aa-gutter);
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.aa-brand { display: flex; align-items: center; gap: 14px; color: inherit; }
.aa-brand:hover { color: inherit; }
.aa-brand__mark { font-family: var(--aa-font-display); font-size: 34px; letter-spacing: 0.02em; color: var(--aa-navy); line-height: 1; }
.aa-brand__logo img { display: block; max-height: 48px; width: auto; }
.aa-brand__text { display: flex; flex-direction: column; gap: 3px; }
.aa-brand__name { font-family: var(--aa-font-display); font-size: 20px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--aa-navy); line-height: 1.1; font-weight: 600; }
.aa-brand__tagline { font-size: 9px; letter-spacing: 0.42em; text-transform: uppercase; color: var(--aa-gold); font-weight: 500; }

.aa-nav { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 34px); flex-wrap: wrap; }
.aa-menu { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 34px); flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.aa-menu a {
	display: inline-block; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--aa-slate); font-weight: 500; padding: 6px 0; border-bottom: 1px solid transparent;
}
.aa-menu a:hover { color: var(--aa-gold); }
.aa-menu .current-menu-item > a,
.aa-menu .current_page_item > a,
.aa-menu .current-page-ancestor > a,
.aa-menu .current-menu-ancestor > a,
.aa-menu .current_page_parent > a { color: var(--aa-navy); border-bottom-color: var(--aa-gold); }
.aa-menu .current-menu-item > a:hover { color: var(--aa-gold); }
.aa-menu .sub-menu { display: none; }

.aa-nav-toggle { display: none; }

@media (max-width: 767px) {
	.js .aa-nav-toggle {
		display: inline-flex; align-items: center; justify-content: center; gap: 10px;
		border: 1px solid var(--aa-line-25); background: transparent; color: var(--aa-navy);
		font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600;
		padding: 0; width: 44px; height: 44px; flex: none; cursor: pointer;
	}
	.aa-nav-toggle__bars { position: relative; width: 18px; height: 12px; display: inline-block; }
	.aa-nav-toggle__bars span { position: absolute; left: 0; width: 100%; height: 1px; background: currentColor; }
	.aa-nav-toggle__bars span:nth-child(1) { top: 0; }
	.aa-nav-toggle__bars span:nth-child(2) { top: 5.5px; }
	.aa-nav-toggle__bars span:nth-child(3) { bottom: 0; }
	.aa-nav-toggle[aria-expanded="true"] .aa-nav-toggle__bars span:nth-child(1) { top: 5.5px; transform: rotate(45deg); }
	.aa-nav-toggle[aria-expanded="true"] .aa-nav-toggle__bars span:nth-child(2) { opacity: 0; }
	.aa-nav-toggle[aria-expanded="true"] .aa-nav-toggle__bars span:nth-child(3) { bottom: 5.5px; transform: rotate(-45deg); }
	.aa-header__inner { flex-wrap: nowrap; }
	.js .aa-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		background: var(--aa-cream); border-bottom: 1px solid var(--aa-line-12);
		padding: 8px var(--aa-gutter) 24px; flex-direction: column; align-items: stretch; gap: 16px;
	}
	.js .aa-header.is-open .aa-nav { display: flex; }
	.js .aa-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.js .aa-menu a { display: block; padding: 14px 0; border-bottom: 1px solid var(--aa-line-10); }
	.js .aa-menu .current-menu-item > a, .js .aa-menu .current_page_item > a { border-bottom-color: var(--aa-gold); }
	.js .aa-nav .aa-btn--header { justify-content: center; padding: 15px 22px; }
	.aa-brand__name { font-size: 16px; letter-spacing: 0.12em; }
	.aa-brand__tagline { font-size: 8px; letter-spacing: 0.3em; }
	.aa-brand__mark { font-size: 30px; }
}

/* ---------- Generic section ---------- */
.aa-section { max-width: var(--aa-max); margin: 0 auto; padding: clamp(64px, 10vw, 140px) var(--aa-gutter); }
.aa-section--inner { padding: clamp(64px, 9vw, 130px) var(--aa-gutter); }
.aa-section--list { padding: clamp(56px, 8vw, 110px) var(--aa-gutter); }
.aa-band-white { background: var(--aa-white); border-top: 1px solid var(--aa-line-10); }
.aa-band-white--both { border-bottom: 1px solid var(--aa-line-10); }

/* ---------- Home hero ---------- */
.aa-hero {
	position: relative; min-height: min(88vh, 900px); display: flex; flex-direction: column;
	justify-content: flex-end; border-bottom: 1px solid var(--aa-line-10); background: var(--aa-navy-deep);
}
.aa-hero__shade { background: linear-gradient(100deg, rgba(8, 15, 28, 0.92) 0%, rgba(11, 26, 48, 0.78) 45%, rgba(11, 26, 48, 0.42) 100%); }
.aa-hero__inner {
	position: relative; max-width: var(--aa-max); width: 100%; margin: 0 auto;
	padding: clamp(80px, 12vh, 150px) var(--aa-gutter) clamp(40px, 6vh, 70px);
}
.aa-hero__inner .aa-eyebrow { --aa-eb-mb: 28px; }
.aa-hero__title {
	font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(38px, 6.4vw, 92px);
	line-height: 1.04; letter-spacing: -0.01em; color: var(--aa-white); margin: 0; max-width: 16ch; text-wrap: pretty;
}
.aa-hero__text { margin-top: 30px; max-width: 62ch; }
.aa-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
.aa-hero__actions .aa-btn { display: flex; }
.aa-hero__trust { position: relative; border-top: 1px solid rgba(255, 255, 255, 0.14); background: rgba(8, 15, 28, 0.55); }
.aa-hero__trust-inner {
	max-width: var(--aa-max); margin: 0 auto; padding: 20px var(--aa-gutter);
	display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center;
}
.aa-hero__trust-item { font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); font-weight: 500; }
.aa-hero__trust-item:first-child { color: var(--aa-gold-bright); }
.aa-hero__trust-sep { color: rgba(255, 255, 255, 0.3); font-size: 10px; }

/* ---------- Section heads ---------- */
.aa-head {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: clamp(40px, 6vw, 72px);
}
.aa-head .aa-text { max-width: 52ch; }
.aa-head--core {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 20px 64px; margin-bottom: clamp(36px, 5vw, 64px);
}
.aa-head--core .aa-eyebrow, .aa-matters .aa-eyebrow, .aa-partner .aa-eyebrow, .aa-firm .aa-eyebrow { --aa-eb-mb: 20px; }

/* ---------- Featured practice cards (home) ---------- */
.aa-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(20px, 2.5vw, 34px); }
.aa-pcard { border: 1px solid var(--aa-line-12); background: var(--aa-white); display: flex; flex-direction: column; }
.aa-pcard__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--aa-sand); }
.aa-pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aa-pcard__num {
	position: absolute; top: 0; left: 0; background: var(--aa-navy); color: var(--aa-gold-bright);
	font-family: var(--aa-font-display); font-size: 15px; letter-spacing: 0.1em; padding: 12px 16px;
}
.aa-pcard__body { padding: clamp(22px, 2.4vw, 34px); display: flex; flex-direction: column; gap: 16px; flex: 1; }
.aa-pcard__title { font-family: var(--aa-font-body); font-size: 15px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aa-navy); margin: 0; line-height: 1.5; }
.aa-pcard__title a { color: inherit; }
.aa-pcard__title a:hover { color: var(--aa-gold); }
.aa-pcard__summary { margin: 0; font-size: 14px; line-height: 1.7; color: var(--aa-slate); font-weight: 300; }
.aa-pcard__details { display: flex; flex-direction: column; gap: 18px; border-top: 1px solid var(--aa-line-10); padding-top: 18px; }
.aa-pcard__details[hidden] { display: none; }
.aa-pcard__details p { margin: 0; font-size: 13px; line-height: 1.85; color: var(--aa-slate); font-weight: 300; }
.aa-badges { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.aa-badges li { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aa-gold); border: 1px solid rgba(166, 130, 29, 0.4); padding: 7px 11px; }
.aa-pcard__details .aa-btn { align-self: flex-start; }
.aa-pcard__toggle { margin-top: auto; }
.aa-more { margin-top: clamp(32px, 4vw, 48px); }

/* ---------- Quote box + stats ---------- */
.aa-quote { background: var(--aa-navy); padding: 28px 32px; max-width: 460px; margin: -56px 0 0 auto; position: relative; }
.aa-quote--firm { margin-top: -48px; }
.aa-quote blockquote { margin: 0; }
.aa-quote p { font-family: var(--aa-font-quote); font-style: italic; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.5; color: var(--aa-white); margin: 0; }
.aa-quote cite { display: block; margin-top: 14px; font-style: normal; font-size: 10px; letter-spacing: 0.34em; text-transform: uppercase; color: var(--aa-gold-bright); font-weight: 500; }

.aa-stats { display: flex; flex-wrap: wrap; gap: 20px 56px; margin: 44px 0 0; padding: 36px 0 0; border-top: 1px solid var(--aa-line-12); list-style: none; }
.aa-stat__value { font-family: var(--aa-font-display); font-size: clamp(28px, 3vw, 40px); color: var(--aa-gold); line-height: 1; margin: 0; }
.aa-stat__label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--aa-slate); margin: 10px 0 0; }

/* ---------- Home about ---------- */
.aa-split {
	max-width: var(--aa-max); margin: 0 auto; padding: clamp(64px, 10vw, 140px) var(--aa-gutter);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(36px, 6vw, 90px); align-items: center;
}
.aa-split--inner { padding: clamp(64px, 9vw, 130px) var(--aa-gutter); }
.aa-about__frame { position: relative; aspect-ratio: 3 / 3.5; max-width: 560px; overflow: hidden; background: var(--aa-cream); border: 1px solid var(--aa-line-12); }
.aa-about__frame img, .aa-firm__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aa-about .aa-h2 { margin-bottom: 28px; }
.aa-about__text p { margin: 0 0 20px; font-size: 15px; line-height: 1.85; color: var(--aa-slate); font-weight: 300; max-width: 60ch; }
.aa-about__text p:last-child { margin-bottom: 0; }
.aa-about .aa-btn--outline { margin-top: 40px; }

/* ---------- Home engagement band ---------- */
.aa-engage { position: relative; background: var(--aa-navy-deep); }
.aa-engage__shade { background: linear-gradient(90deg, rgba(8, 15, 28, 0.94) 0%, rgba(11, 26, 48, 0.82) 60%, rgba(11, 26, 48, 0.6) 100%); }
.aa-engage__inner {
	position: relative; max-width: var(--aa-max); margin: 0 auto; padding: clamp(64px, 9vw, 130px) var(--aa-gutter);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(36px, 6vw, 80px); align-items: center;
}
.aa-engage .aa-eyebrow { color: var(--aa-gold-bright); }
.aa-engage .aa-h2 { color: var(--aa-white); margin-bottom: 24px; }
.aa-engage__text { margin: 0; font-size: 15px; line-height: 1.8; color: rgba(244, 244, 244, 0.8); font-weight: 300; max-width: 52ch; }
.aa-note { display: block; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aa-gold-bright); }
.aa-engage .aa-note { margin-top: 28px; }
.aa-engage__cards { display: flex; flex-direction: column; gap: 14px; }
.aa-ecard {
	text-align: left; border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.04);
	padding: 26px 28px; cursor: pointer; display: flex; flex-direction: column; gap: 10px; width: 100%;
	font-family: var(--aa-font-body);
}
.aa-ecard:hover { border-color: var(--aa-gold-bright); background: rgba(234, 196, 53, 0.08); }
.aa-ecard__title { font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--aa-white); }
.aa-ecard__text { font-size: 13px; color: rgba(244, 244, 244, 0.66); font-weight: 300; }

/* ---------- Insights (home cards) ---------- */
.aa-section--insights { padding: clamp(64px, 10vw, 130px) var(--aa-gutter); }
.aa-ins-head {
	display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: baseline; justify-content: space-between;
	margin-bottom: clamp(32px, 5vw, 60px); padding-bottom: 28px; border-bottom: 1px solid var(--aa-line-12);
}
.aa-ins-head .aa-eyebrow { --aa-eb-mb: 18px; }
.aa-ins-head__side { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.aa-ins-head__side p { margin: 0; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aa-slate); }
.aa-icards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(20px, 2.5vw, 32px); }
.aa-icard { border: 1px solid var(--aa-line-12); background: var(--aa-white); padding: clamp(24px, 2.6vw, 34px); display: flex; flex-direction: column; gap: 16px; }
.aa-icard:hover { border-color: var(--aa-gold-bright); }
.aa-tag { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--aa-gold); font-weight: 600; }
.aa-icard__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.4; margin: 0; color: var(--aa-navy); }
.aa-icard__title a, .aa-irow__title a { color: inherit; }
.aa-icard__title a:hover, .aa-irow__title a:hover { color: var(--aa-gold); }
.aa-icard__text { margin: 0; font-size: 13px; line-height: 1.75; color: var(--aa-slate); font-weight: 300; }
.aa-icard .aa-linkbtn { margin-top: auto; }

/* ---------- Page hero (inner pages) ---------- */
.aa-phero { position: relative; background: var(--aa-navy-deep); overflow: hidden; }
.aa-phero__inner { position: relative; max-width: var(--aa-max); margin: 0 auto; padding: clamp(72px, 10vw, 140px) var(--aa-gutter) clamp(56px, 7vw, 96px); }
.aa-phero .aa-eyebrow { --aa-eb-mb: 26px; }
.aa-phero__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(36px, 5.4vw, 78px); line-height: 1.06; color: var(--aa-white); margin: 0; }
.aa-phero__title--narrow { max-width: 18ch; }
.aa-phero__text { margin-top: 28px; max-width: var(--aa-phero-measure, 62ch); }
.aa-phero__sub { margin: 28px 0 0; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(244, 244, 244, 0.75); }

/* ---------- Core practice areas ---------- */
.aa-core { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); border-top: 1px solid var(--aa-line-15); }
.aa-core__row {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 20px;
	padding: clamp(26px, 3vw, 40px) clamp(0px, 2vw, 28px) clamp(26px, 3vw, 40px) 0; border-bottom: 1px solid var(--aa-line-15);
}
.aa-core__num { font-family: var(--aa-font-display); font-size: 22px; color: var(--aa-gold); line-height: 1.2; }
.aa-core__body { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.aa-core__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.25; margin: 0; color: var(--aa-navy); }
.aa-core__title a { color: inherit; }
.aa-core__title a:hover { color: var(--aa-gold); }
.aa-core__text { margin: 0; font-size: 14px; line-height: 1.75; color: var(--aa-slate); font-weight: 300; max-width: 46ch; }
.aa-core__body .aa-linkbtn { margin-top: 6px; }

/* ---------- Representative matters ---------- */
.aa-matters .aa-h2 { margin-bottom: clamp(36px, 5vw, 64px); }
.aa-matters__list { display: flex; flex-direction: column; }
.aa-matters__group {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 18px clamp(32px, 5vw, 80px); padding: clamp(28px, 3vw, 44px) 0; border-top: 1px solid var(--aa-line-15);
}
.aa-matters__title { font-family: var(--aa-font-body); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--aa-navy); margin: 0; line-height: 1.6; }
.aa-dashlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; grid-column: span 2; }
.aa-dashlist li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; font-size: 15px; line-height: 1.75; color: var(--aa-slate); font-weight: 300; }
.aa-dashlist li::before { content: ""; width: 8px; height: 1px; background: var(--aa-gold); margin-top: 13px; }
.aa-dashlist span { text-wrap: pretty; }
.aa-dashlist--compact { grid-column: auto; gap: 12px; }
.aa-dashlist--compact li { font-size: 14px; line-height: 1.6; }
.aa-dashlist--compact li::before { margin-top: 11px; }

/* ---------- CTA strip ---------- */
.aa-cta { background: var(--aa-navy); }
.aa-cta__inner {
	max-width: var(--aa-max); margin: 0 auto; padding: clamp(48px, 6vw, 80px) var(--aa-gutter);
	display: flex; flex-wrap: wrap; gap: 28px 48px; align-items: center; justify-content: space-between;
}
.aa-cta .aa-h2 { margin-bottom: 12px; color: var(--aa-white); }
.aa-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Newsletter strip (optional) ---------- */
.aa-newsletter { background: var(--aa-sand); border-top: 1px solid var(--aa-line-10); }
.aa-newsletter__inner { max-width: var(--aa-max); margin: 0 auto; padding: clamp(40px, 5vw, 64px) var(--aa-gutter); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px 48px; align-items: center; }
.aa-newsletter .aa-h2 { margin-bottom: 10px; }

/* ---------- About: partner ---------- */
.aa-partner {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(36px, 6vw, 96px); align-items: start;
}
.aa-partner__aside { display: flex; flex-direction: column; gap: 20px; }
.aa-partner__portrait { width: 100%; max-width: 520px; aspect-ratio: 4 / 5; background: var(--aa-sand); border: 1px solid var(--aa-line-12); overflow: hidden; }
.aa-partner__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aa-partner__id { display: flex; flex-direction: column; gap: 4px; }
.aa-partner__name { font-family: var(--aa-font-display); font-size: 22px; color: var(--aa-navy); }
.aa-partner__role { font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--aa-gold); font-weight: 600; }
.aa-partner__h { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(30px, 4vw, 54px); line-height: 1.1; margin: 0 0 30px; color: var(--aa-navy); }
.aa-partner__bio p { margin: 0 0 20px; font-size: 16px; line-height: 1.85; color: var(--aa-slate); font-weight: 300; max-width: 62ch; text-wrap: pretty; }
.aa-partner__bio > :last-child { margin-bottom: 0; }
.aa-creds {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 32px 40px; margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--aa-line-15);
}
.aa-creds__block { display: flex; flex-direction: column; gap: 12px; }
.aa-creds__h { font-family: var(--aa-font-body); font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--aa-gold); font-weight: 600; margin: 0; }
.aa-creds__block p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--aa-navy); }
.aa-creds__block ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.6; color: var(--aa-navy); }
.aa-creds__block a { color: var(--aa-navy); }
.aa-creds__block a:hover { color: var(--aa-gold); }
.aa-partner .aa-btn--outline { margin-top: 44px; }

/* ---------- About: the firm ---------- */
.aa-firm .aa-h2 { margin-bottom: 28px; }
.aa-firm__text { max-width: 60ch; }
.aa-firm__frame { aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--aa-line-12); }

/* ---------- Insights list ---------- */
.aa-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: clamp(32px, 4vw, 52px); list-style: none; padding: 0; margin-top: 0; }
.aa-filter {
	display: inline-block; border: 1px solid var(--aa-line-25); background: transparent; color: var(--aa-navy);
	font-family: var(--aa-font-body); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
	font-weight: 600; padding: 12px 18px; cursor: pointer;
}
.aa-filter:hover { color: var(--aa-navy); border-color: var(--aa-navy); }
.aa-filter.is-active { background: var(--aa-navy); color: var(--aa-cream); border-color: var(--aa-navy); }
.aa-irows { display: flex; flex-direction: column; border-top: 1px solid var(--aa-line-15); }
.aa-irow {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 16px clamp(28px, 4vw, 64px); padding: clamp(30px, 3.4vw, 48px) 0; border-bottom: 1px solid var(--aa-line-15); align-items: start;
}
.aa-irow > .aa-tag { letter-spacing: 0.22em; padding-top: 8px; }
.aa-irow__body { display: flex; flex-direction: column; gap: 14px; grid-column: span 2; }
.aa-irow__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(21px, 2vw, 30px); line-height: 1.3; margin: 0; color: var(--aa-navy); text-wrap: pretty; }
.aa-irow__text { margin: 0; font-size: 15px; line-height: 1.75; color: var(--aa-slate); font-weight: 300; max-width: 64ch; }
.aa-irow__body .aa-linkbtn { margin-top: 6px; }
.aa-empty { margin: 0; padding: 40px 0; font-size: 15px; color: var(--aa-slate); font-weight: 300; }

.aa-pagination { margin-top: clamp(32px, 4vw, 52px); }
.aa-pagination:not(:has(*)) { display: none; }
.aa-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.aa-pagination .page-numbers {
	display: inline-block; min-width: 42px; text-align: center; border: 1px solid var(--aa-line-25); color: var(--aa-navy);
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; padding: 12px 14px;
}
.aa-pagination .page-numbers.current { background: var(--aa-navy); color: var(--aa-cream); border-color: var(--aa-navy); }
.aa-pagination a.page-numbers:hover { border-color: var(--aa-navy); }

/* ---------- Contact ---------- */
.aa-contact {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(40px, 6vw, 96px); align-items: start;
}
.aa-contact__info { display: flex; flex-direction: column; gap: 36px; }
.aa-contact__block { display: flex; flex-direction: column; gap: 10px; }
.aa-label { font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--aa-gold); font-weight: 600; }
.aa-contact__address { margin: 0; font-family: var(--aa-font-display); font-size: clamp(19px, 1.7vw, 24px); line-height: 1.5; color: var(--aa-navy); font-style: normal; }
.aa-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 28px; }
.aa-contact__link { font-size: 17px; color: var(--aa-navy); font-weight: 500; }
.aa-contact__link:hover { color: var(--aa-gold); }
.aa-contact__hours { margin: 0; font-size: 14px; line-height: 1.7; color: var(--aa-navy); }
.aa-contact__info .aa-btn--primary { align-self: flex-start; display: flex; }
.aa-map { width: 100%; aspect-ratio: 16 / 10; border: 1px solid var(--aa-line-15); background: var(--aa-sand); overflow: hidden; }
.aa-map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(0.6); }
.aa-panel { background: var(--aa-white); border: 1px solid var(--aa-line-12); padding: clamp(26px, 3.4vw, 48px); }
.aa-panel .aa-eyebrow, .aa-modal .aa-eyebrow { letter-spacing: 0.34em; --aa-eb-mb: 12px; }
.aa-panel__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(24px, 2.6vw, 34px); margin: 0 0 26px; color: var(--aa-navy); }

/* ---------- Modals ---------- */
.aa-modal {
	position: fixed; inset: 0; z-index: 90; background: rgba(8, 15, 28, 0.75);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	display: none; align-items: flex-start; justify-content: center;
	padding: clamp(16px, 4vh, 48px) 16px; overflow-y: auto;
}
.aa-modal.is-open, html:not(.js) .aa-modal:target { display: flex; }
.aa-modal__dialog { position: relative; width: 100%; max-width: 760px; background: var(--aa-white); border: 1px solid var(--aa-line-15); }
.aa-modal--inquiry .aa-modal__dialog { max-width: 560px; }
.aa-modal__close {
	position: absolute; top: 14px; right: 14px; border: 0; background: transparent; font-size: 22px; line-height: 1;
	color: var(--aa-slate); cursor: pointer; padding: 6px;
}
.aa-modal__close:hover { color: var(--aa-navy); }
.aa-modal__body { padding: clamp(28px, 4vw, 48px); }
.aa-modal--inquiry .aa-modal__body { padding: clamp(26px, 4vw, 42px); }
.aa-modal .aa-eyebrow { --aa-eb-mb: 14px; }
.aa-modal--inquiry .aa-eyebrow { --aa-eb-mb: 12px; }
.aa-modal__title { font-family: var(--aa-font-display); font-weight: 700; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; color: var(--aa-navy); }
.aa-modal--inquiry .aa-modal__title { font-size: clamp(22px, 2.6vw, 30px); margin-bottom: 22px; }
.aa-modal__intro { margin: 0 0 28px; font-size: 13px; color: var(--aa-slate); font-weight: 300; }
html.aa-modal-open { overflow: hidden; }

/* ---------- Forms (WPForms, "No styles" mode) ---------- */
.aa-form .wpforms-container { margin: 0; }
.aa-form .wpforms-field-container { display: flex; flex-wrap: wrap; gap: 16px 12px; }
.aa-form--booking .wpforms-field-container { gap: 18px 16px; }
.aa-form .wpforms-field { flex: 1 1 100%; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aa-form--booking .wpforms-field { gap: 7px; }
.aa-form .wpforms-field.aa-half { flex: 1 1 calc(50% - 8px); min-width: min(100%, 200px); }
.aa-form--booking .wpforms-field.aa-half { min-width: min(100%, 220px); }
.aa-form .wpforms-field-label {
	display: block; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--aa-slate);
	font-weight: 400; margin: 0;
}
.aa-form .wpforms-required-label { color: inherit; font-weight: inherit; }
.aa-form input[type="text"], .aa-form input[type="email"], .aa-form input[type="tel"], .aa-form input[type="date"],
.aa-form input[type="number"], .aa-form select, .aa-form textarea {
	width: 100%; max-width: 100%; background: var(--aa-cream); border: 1px solid var(--aa-line-15); border-radius: 0;
	padding: 13px 14px; font-family: var(--aa-font-body); font-size: 14px; color: var(--aa-navy); line-height: 1.4; margin: 0;
	-webkit-appearance: none; appearance: none; box-shadow: none;
}
.aa-form--booking input, .aa-form--booking select, .aa-form--booking textarea { padding: 12px 14px; font-size: 13px; border-color: var(--aa-line-18); }
.aa-modal--inquiry .aa-form input, .aa-modal--inquiry .aa-form textarea { padding: 11px 14px; font-size: 13px; }
.aa-form select {
	background-image: linear-gradient(45deg, transparent 50%, var(--aa-slate) 50%), linear-gradient(135deg, var(--aa-slate) 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px;
}
.aa-form textarea { resize: vertical; min-height: 0; height: 136px; }
.aa-form--booking textarea, .aa-modal--inquiry .aa-form textarea { resize: none; height: 86px; }
.aa-form input::placeholder, .aa-form textarea::placeholder { color: #8A96A8; opacity: 1; }
.aa-form input:focus, .aa-form select:focus, .aa-form textarea:focus { outline: none; border-color: var(--aa-gold-bright); box-shadow: 0 0 0 1px var(--aa-gold-bright); }
.aa-form .wpforms-field-description { font-size: 11px; color: var(--aa-slate); margin: 2px 0 0; }

/* Consent checkbox */
.aa-form .wpforms-field-gdpr-checkbox ul, .aa-form .wpforms-field-checkbox ul { list-style: none; margin: 0; padding: 0; }
.aa-form .wpforms-field-gdpr-checkbox li, .aa-form .wpforms-field-checkbox li { display: flex; gap: 10px; align-items: flex-start; }
.aa-form input[type="checkbox"] { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--aa-navy); flex: none; }
.aa-form .wpforms-field-gdpr-checkbox label.wpforms-field-label-inline, .aa-form .wpforms-field-checkbox label.wpforms-field-label-inline { font-size: 12px; line-height: 1.6; color: var(--aa-slate); text-transform: none; letter-spacing: 0; }
.aa-form .wpforms-field-gdpr-checkbox .wpforms-field-label { display: none; }
.aa-form .wpforms-field-gdpr-checkbox a { color: var(--aa-navy); text-decoration: underline; }

/* Errors */
.aa-form .wpforms-error, .aa-form label.wpforms-error, .aa-form em.wpforms-error { display: block; font-style: normal; font-size: 11px; color: var(--aa-error); margin-top: 4px; letter-spacing: 0.02em; }
.aa-form input.wpforms-error, .aa-form textarea.wpforms-error, .aa-form select.wpforms-error { border-color: var(--aa-error); }
.aa-form .wpforms-error-container, .aa-form .wpforms-error-alert { color: var(--aa-error); font-size: 13px; margin-bottom: 14px; }

/* Honeypot and hidden helpers */
.aa-form .wpforms-field-hp, .aa-form .wpforms-hidden { display: none !important; }

/* Submit */
.aa-form .wpforms-submit-container { margin: 16px 0 0; padding: 0; position: relative; }
.aa-form--booking .wpforms-submit-container { margin-top: 18px; }
.aa-form button[type="submit"], .aa-form .wpforms-submit {
	width: 100%; border: 0; background: var(--aa-gold-bright); color: var(--aa-navy); font-family: var(--aa-font-body);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; padding: 17px 24px; cursor: pointer; border-radius: 0;
}
.aa-form button[type="submit"]:hover { background: var(--aa-gold); color: var(--aa-white); }
.aa-modal--inquiry .aa-form button[type="submit"] { padding: 16px 24px; }
.aa-form--booking button[type="submit"] { background: var(--aa-navy); color: var(--aa-cream); }
.aa-form--booking button[type="submit"]:hover { background: var(--aa-gold); color: var(--aa-cream); }
.aa-form .wpforms-submit-spinner { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 20px; }

.aa-form__notes { margin-top: 16px; display: flex; flex-direction: column; gap: 6px; }
.aa-form__notes p { margin: 0; text-align: center; font-size: 11px; color: var(--aa-slate); line-height: 1.6; }
.aa-form__notice { margin: 0; padding: 16px; border: 1px dashed var(--aa-gold); font-size: 13px; color: var(--aa-slate); background: var(--aa-cream); }

/* Confirmation (success state) */
.aa-form .wpforms-confirmation-container-full, .aa-form .wpforms-confirmation-container {
	display: flex; flex-direction: column; gap: 16px; align-items: flex-start; padding: 20px 0; background: none; border: 0; color: var(--aa-slate);
}
.aa-form .wpforms-confirmation-container-full::before, .aa-form .wpforms-confirmation-container::before {
	content: "✓"; width: 50px; height: 50px; border: 1px solid var(--aa-gold); color: var(--aa-gold);
	display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.aa-form .wpforms-confirmation-container-full h3, .aa-form .wpforms-confirmation-container h3 { font-family: var(--aa-font-display); font-weight: 700; font-size: 26px; margin: 0; color: var(--aa-navy); }
.aa-form .wpforms-confirmation-container-full p, .aa-form .wpforms-confirmation-container p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--aa-slate); max-width: 46ch; }
.aa-modal .aa-form .wpforms-confirmation-container-full, .aa-modal .aa-form .wpforms-confirmation-container { align-items: center; text-align: center; }
.aa-modal--booking .aa-form .wpforms-confirmation-container-full::before { width: 54px; height: 54px; font-size: 22px; }
.aa-modal.is-sent .aa-modal__head { display: none; }
.aa-modal.is-sent .aa-form__notes { display: none; }
.aa-close-btn { border: 0; background: var(--aa-navy); color: var(--aa-cream); font-family: var(--aa-font-body); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; padding: 15px 26px; cursor: pointer; margin-top: 8px; }
.aa-close-btn:hover { background: var(--aa-gold); }
.aa-panel .aa-close-btn { display: none; }

/* ---------- Footer ---------- */
.aa-footer { background: var(--aa-navy-deep); color: var(--aa-foot-text); }
.aa-footer__grid {
	max-width: var(--aa-max); margin: 0 auto; padding: clamp(56px, 8vw, 100px) var(--aa-gutter) 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(32px, 4vw, 64px);
}
.aa-footer__brand { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.aa-footer__mark { font-family: var(--aa-font-display); font-size: 34px; color: var(--aa-gold-bright); line-height: 1; }
.aa-footer__name { font-family: var(--aa-font-display); font-size: 15px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--aa-white); line-height: 1.2; }
.aa-footer__about { margin: 0 0 24px; font-size: 13px; line-height: 1.85; color: var(--aa-foot-muted); font-weight: 300; max-width: 46ch; }
.aa-social { display: flex; gap: 10px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.aa-social a { display: inline-block; border: 1px solid rgba(255, 255, 255, 0.2); padding: 10px 16px; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--aa-foot-text); }
.aa-social a:hover { border-color: var(--aa-gold-bright); color: var(--aa-gold-bright); }
.aa-footer__h { font-family: var(--aa-font-display); font-weight: 700; font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--aa-white); margin: 0 0 22px; }
.aa-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.aa-footer__links a, .aa-footer__links button { color: var(--aa-foot-muted); }
.aa-footer__links button { border: 0; background: transparent; padding: 0; cursor: pointer; font-family: var(--aa-font-body); font-size: 13px; text-align: left; }
.aa-footer__links a:hover, .aa-footer__links button:hover { color: var(--aa-gold-bright); }
.aa-footer__contact { display: flex; flex-direction: column; gap: 18px; font-size: 13px; }
.aa-footer__contact address { font-style: normal; color: var(--aa-foot-text); line-height: 1.7; }
.aa-footer__phones { display: flex; flex-direction: column; gap: 6px; }
.aa-footer__contact a { color: var(--aa-foot-text); }
.aa-footer__phones a { font-weight: 500; }
.aa-footer__contact a:hover { color: var(--aa-white); }
.aa-btn--outline-gold {
	align-self: flex-start; border: 1px solid var(--aa-gold-bright); background: transparent; color: var(--aa-gold-bright);
	font-size: 10px; letter-spacing: 0.2em; padding: 13px 18px;
}
.aa-btn--outline-gold:hover { background: var(--aa-gold-bright); color: var(--aa-navy); }
.aa-footer__disclaimer { max-width: var(--aa-max); margin: clamp(40px, 6vw, 72px) auto 0; padding: 0 var(--aa-gutter); }
.aa-footer__disclaimer p { margin: 0; font-size: 12px; line-height: 1.7; color: var(--aa-foot-dim); max-width: 120ch; }
.aa-footer__bar {
	max-width: var(--aa-max); margin: clamp(40px, 6vw, 72px) auto 0; padding: 28px var(--aa-gutter) 40px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex; flex-wrap: wrap; gap: 14px 28px; justify-content: space-between; align-items: center;
}
.aa-footer__disclaimer + .aa-footer__bar { margin-top: 28px; }
.aa-footer__bar p { margin: 0; font-size: 12px; color: var(--aa-foot-dim); }
.aa-footer__legal { display: flex; gap: 14px; align-items: center; font-size: 12px; }
.aa-footer__legal a { color: var(--aa-foot-dim); }
.aa-footer__legal a:hover { color: var(--aa-gold-bright); }
.aa-footer__legal span { color: var(--aa-foot-sep); }

/* ---------- Practice area single ---------- */
.aa-pa { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
@media (min-width: 1024px) { .aa-pa { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); } }
.aa-pa__main { min-width: 0; }
.aa-pa__aside { display: flex; flex-direction: column; gap: 28px; }
.aa-pa__box { border: 1px solid var(--aa-line-12); background: var(--aa-white); padding: clamp(24px, 2.6vw, 34px); display: flex; flex-direction: column; gap: 18px; }
.aa-pa__box .aa-btn { align-self: flex-start; }
.aa-faqs { border-top: 1px solid var(--aa-line-15); }
.aa-faq { border-bottom: 1px solid var(--aa-line-15); }
.aa-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: baseline;
	padding: clamp(20px, 2.4vw, 28px) 0; font-family: var(--aa-font-display); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.35; color: var(--aa-navy);
}
.aa-faq summary::-webkit-details-marker { display: none; }
.aa-faq summary::after { content: "+"; font-family: var(--aa-font-body); color: var(--aa-gold); font-size: 20px; line-height: 1; }
.aa-faq[open] summary::after { content: "–"; }
.aa-faq__a { padding: 0 0 clamp(20px, 2.4vw, 28px); }
.aa-faq__a p { margin: 0 0 12px; font-size: 15px; line-height: 1.8; color: var(--aa-slate); font-weight: 300; max-width: 64ch; }
.aa-section-gap { margin-top: clamp(48px, 6vw, 80px); }
.aa-section-gap .aa-h2 { margin-bottom: clamp(24px, 3vw, 36px); }

/* ---------- Attorney cards ---------- */
.aa-acards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(20px, 2.5vw, 34px); }
.aa-acard { display: flex; flex-direction: column; gap: 16px; color: inherit; }
.aa-acard:hover { color: inherit; }
.aa-acard__media { aspect-ratio: 4 / 5; background: var(--aa-sand); border: 1px solid var(--aa-line-12); overflow: hidden; }
.aa-acard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aa-acard__name { font-family: var(--aa-font-display); font-weight: 400; font-size: 22px; color: var(--aa-navy); margin: 0; }
.aa-acard:hover .aa-acard__name { color: var(--aa-gold); }

/* ---------- Article content (single posts, generic pages) ---------- */
.aa-article { max-width: 760px; }
.aa-article__meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 28px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(244, 244, 244, 0.75); }
.aa-article__actions { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--aa-line-15); }
.aa-prose { font-size: 16px; line-height: 1.85; color: var(--aa-slate); font-weight: 300; }
.aa-prose > * + * { margin-top: 1.1em; }
.aa-prose > :first-child { margin-top: 0; }
.aa-prose p { margin: 0; }
.aa-prose h2, .aa-prose h3, .aa-prose h4 { font-family: var(--aa-font-display); font-weight: 700; color: var(--aa-navy); line-height: 1.25; margin: 1.8em 0 0.6em; }
.aa-prose h2 { font-size: clamp(24px, 2.4vw, 32px); }
.aa-prose h3 { font-size: clamp(20px, 1.9vw, 26px); }
.aa-prose h4 { font-size: 18px; }
.aa-prose strong { font-weight: 600; color: var(--aa-navy); }
.aa-prose a { color: var(--aa-gold); text-decoration: underline; text-underline-offset: 3px; }
.aa-prose a:hover { color: var(--aa-navy); }
.aa-prose ul, .aa-prose ol { padding-left: 1.2em; }
.aa-prose li + li { margin-top: 0.4em; }
.aa-prose blockquote { margin: 1.6em 0; padding: 24px 28px; background: var(--aa-navy); color: var(--aa-white); font-family: var(--aa-font-quote); font-style: italic; font-size: 21px; line-height: 1.5; }
.aa-prose blockquote p { color: inherit; }
.aa-prose img { display: block; }
.aa-prose figure { margin: 1.6em 0; }
.aa-prose figcaption { font-size: 12px; color: var(--aa-slate); margin-top: 8px; }
.aa-prose table { width: 100%; border-collapse: collapse; font-size: 14px; }
.aa-prose th, .aa-prose td { border-bottom: 1px solid var(--aa-line-15); padding: 10px 8px; text-align: left; }
.aa-prose .alignwide, .aa-prose .alignfull { max-width: none; }

.aa-search { display: flex; gap: 10px; flex-wrap: wrap; max-width: 560px; margin-top: 28px; }
.aa-search input[type="search"] { flex: 1 1 240px; background: var(--aa-white); border: 1px solid var(--aa-line-15); padding: 14px; font: 14px var(--aa-font-body); color: var(--aa-navy); border-radius: 0; }
.aa-search input[type="search"]:focus { outline: none; border-color: var(--aa-gold-bright); box-shadow: 0 0 0 1px var(--aa-gold-bright); }
.aa-search button { border: 0; background: var(--aa-gold-bright); color: var(--aa-navy); font: 600 11px var(--aa-font-body); letter-spacing: 0.22em; text-transform: uppercase; padding: 14px 24px; cursor: pointer; }
.aa-search button:hover { background: var(--aa-white); }
