/* Haber P.A. design system */
@font-face {
	font-family: "Playfair Display";
	src: url("../fonts/playfair-display.woff2") format("woff2");
	font-weight: 400 900;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--hp-navy: #0a1422;
	--hp-navy-2: #101e33;
	--hp-navy-3: #1a2b45;
	--hp-gold: #c9a24b;
	--hp-gold-dark: #a8832f;
	--hp-ivory: #f7f4ec;
	--hp-ink: #0e1a2b;
	--hp-muted: #5b6778;
	--hp-line: rgba(255, 255, 255, 0.14);
	--hp-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--hp-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--hp-wrap: 1180px;
	--hp-radius: 10px;
}

html { scroll-behavior: smooth; }
body {
	font-family: var(--hp-sans);
	color: var(--hp-ink);
	background: #fff;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--hp-serif); font-weight: 700; line-height: 1.15; color: var(--hp-navy); }
a { color: var(--hp-gold-dark); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hp-wrap { width: 100%; max-width: var(--hp-wrap); margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* Top bar */
.hp-topbar { background: var(--hp-navy); color: #cfd6e2; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.hp-topbar .hp-wrap { display: flex; justify-content: center; gap: 12px; padding-top: 8px; padding-bottom: 8px; }
.hp-topbar a { color: var(--hp-gold); font-weight: 700; text-decoration: none; }

/* Header */
.hp-header { background: var(--hp-navy); border-bottom: 1px solid var(--hp-line); position: sticky; top: 0; z-index: 50; }
.hp-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.hp-logo img { display: block; height: 44px; width: auto; }
.hp-nav { display: flex; align-items: center; gap: 24px; }
.hp-menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.hp-menu li { position: relative; }
.hp-menu a { display: block; padding: 10px 12px; color: #e8ecf3; font-size: 15px; font-weight: 500; text-decoration: none; border-radius: 6px; }
.hp-menu a:hover, .hp-menu .current-menu-item > a { color: var(--hp-gold); }
.hp-menu .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 280px; background: var(--hp-navy-2); border: 1px solid var(--hp-line); border-radius: var(--hp-radius); padding: 8px; list-style: none; margin: 0; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.hp-menu li:hover > .sub-menu, .hp-menu li:focus-within > .sub-menu { display: block; }
.hp-menu .sub-menu a { font-size: 14px; }
.hp-menu .menu-item-has-children > a::after { content: ""; display: inline-block; margin-left: 7px; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.hp-burger { display: none; background: none; border: 1px solid var(--hp-line); border-radius: 8px; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.hp-burger i { display: block; height: 2px; background: #fff; margin: 5px 0; }

/* Buttons */
.hp-btn, .wp-block-button.hp-btn .wp-block-button__link { display: inline-block; font-family: var(--hp-sans); font-weight: 700; letter-spacing: .02em; text-decoration: none; border-radius: 999px; padding: 14px 28px; transition: transform .15s, background .15s; }
.hp-btn--gold, .is-style-hp-gold .wp-block-button__link { background: var(--hp-gold); color: var(--hp-navy); }
.hp-btn--gold:hover, .is-style-hp-gold .wp-block-button__link:hover { background: #dcb65f; transform: translateY(-1px); color: var(--hp-navy); }
.is-style-hp-ghost .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.is-style-hp-ghost .wp-block-button__link:hover { border-color: var(--hp-gold); color: var(--hp-gold); }
.hp-nav__cta { padding: 11px 22px; font-size: 15px; white-space: nowrap; }

/* Hero */
.hp-hero.wp-block-cover { min-height: 640px; padding: 96px 20px; }
.hp-hero .wp-block-cover__inner-container { max-width: var(--hp-wrap); width: 100%; }
.hp-eyebrow { font-family: var(--hp-sans); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 600; color: var(--hp-gold); margin: 0 0 18px; }
.hp-hero h1 { color: #fff; font-size: clamp(38px, 5.6vw, 68px); max-width: 820px; margin: 0 0 22px; }
.hp-hero p.hp-lead { color: #dde3ed; font-size: clamp(17px, 1.6vw, 20px); max-width: 700px; margin: 0 0 32px; }
.hp-hero .wp-block-buttons { gap: 14px; }
.hp-hero__note { color: #aeb8c8; font-size: 14px; margin-top: 18px; }

/* Trust strip */
.hp-trust { background: var(--hp-navy-2); color: #fff; }
.hp-trust .wp-block-columns { max-width: var(--hp-wrap); margin: 0 auto; gap: 0; }
.hp-trust .wp-block-column { padding: 26px 20px; text-align: center; border-right: 1px solid var(--hp-line); }
.hp-trust .wp-block-column:last-child { border-right: 0; }
.hp-trust strong { display: block; font-family: var(--hp-serif); font-size: 34px; color: var(--hp-gold); line-height: 1.1; }
.hp-trust span { font-size: 14px; color: #c3cbd8; letter-spacing: .04em; }

/* Sections */
.hp-section { padding: 88px 20px; }
.hp-section > * { max-width: var(--hp-wrap); margin-left: auto; margin-right: auto; }
.hp-section--ivory { background: var(--hp-ivory); }
.hp-section--navy { background: var(--hp-navy); color: #dde3ed; }
.hp-section--navy h2, .hp-section--navy h3 { color: #fff; }
.hp-section h2.hp-title { font-size: clamp(30px, 3.6vw, 44px); margin: 0 auto 14px; }
.hp-kicker { font-family: var(--hp-sans); text-transform: uppercase; letter-spacing: .16em; font-size: 12.5px; font-weight: 700; color: var(--hp-gold-dark); margin: 0 auto 10px; }
.hp-section--navy .hp-kicker { color: var(--hp-gold); }
.hp-sub { color: var(--hp-muted); max-width: 720px !important; font-size: 18px; }

/* Practice area cards */
.hp-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px !important; }
.hp-card { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); padding: 26px 24px 24px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 1px 0 rgba(10,20,34,.03); transition: transform .18s, box-shadow .18s, border-color .18s; }
.hp-card:hover { transform: translateY(-3px); border-color: var(--hp-gold); box-shadow: 0 16px 34px rgba(10,20,34,.10); }
.hp-card h3 { font-size: 20px; margin: 0; }
.hp-card h3 a { color: inherit; text-decoration: none; }
.hp-card h3 a::after { content: ""; position: absolute; inset: 0; }
.hp-card { position: relative; }
.hp-card p { margin: 0; color: var(--hp-muted); font-size: 15px; }
.hp-card .hp-more { margin-top: auto; padding-top: 8px; font-weight: 700; font-size: 14px; color: var(--hp-gold-dark); }

/* About */
.hp-about { display: grid; grid-template-columns: minmax(0, 380px) 1fr; gap: 64px; align-items: center; }
.hp-about figure { margin: 0; }
.hp-about img { width: 100%; height: auto; border-radius: var(--hp-radius); box-shadow: 0 24px 50px rgba(10,20,34,.25); }
.hp-about .wp-block-buttons { margin-top: 26px; }

/* Testimonials */
.hp-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 40px !important; }
.hp-quote { background: var(--hp-navy-2); border: 1px solid var(--hp-line); border-radius: var(--hp-radius); padding: 28px; margin: 0; }
.hp-quote p { color: #dde3ed; font-size: 15.5px; margin: 0 0 14px; }
.hp-quote cite { color: var(--hp-gold); font-style: normal; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.hp-stars { color: var(--hp-gold); letter-spacing: 3px; font-size: 15px; margin-bottom: 10px; }
.hp-reviewlinks { margin-top: 28px !important; text-align: center; }

/* Guides */
.hp-guides { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 40px; margin-top: 36px !important; list-style: none; padding: 0; }
.hp-guides li { border-bottom: 1px solid #e6e1d4; padding: 14px 0; }
.hp-guides a { color: var(--hp-navy); font-weight: 600; text-decoration: none; }
.hp-guides a:hover { color: var(--hp-gold-dark); }

/* Blog list */
.hp-posts .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; }
.hp-posts .wp-block-post { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); padding: 24px; }
.hp-posts .wp-block-post-title { font-size: 19px; margin: 0 0 8px; }
.hp-posts .wp-block-post-title a { color: var(--hp-navy); text-decoration: none; }
.hp-posts .wp-block-post-date { color: var(--hp-muted); font-size: 13px; }
.hp-posts .wp-block-post-excerpt { font-size: 14.5px; color: var(--hp-muted); }

/* CTA band */
.hp-cta { text-align: center; }
.hp-cta h2 { font-size: clamp(30px, 3.8vw, 46px); max-width: 760px !important; margin-bottom: 12px; }
.hp-cta p { max-width: 640px !important; }
.hp-cta .wp-block-buttons { justify-content: center; margin-top: 26px; }
.hp-cta__phone { font-family: var(--hp-serif); font-size: clamp(32px, 5vw, 56px); color: var(--hp-gold); margin: 6px 0; }

/* Footer */
.hp-footer { background: var(--hp-navy); color: #b9c2d1; }
.hp-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding-top: 64px; padding-bottom: 48px; }
.hp-footer h2 { font-family: var(--hp-sans); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #fff; margin: 0 0 14px; }
.hp-footer a { color: #e8ecf3; text-decoration: none; }
.hp-footer a:hover { color: var(--hp-gold); }
.hp-footer__logo { height: 40px; width: auto; margin-bottom: 14px; }
.hp-footer__phone a { font-family: var(--hp-serif); font-size: 28px; color: var(--hp-gold); }
.hp-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hp-footer__legal { border-top: 1px solid var(--hp-line); font-size: 13px; padding: 20px 0; }
.hp-footer__legal p { margin: 0; }

/* Mobile call bar */
@media (max-width: 1440px) {
	.hp-burger { display: block; }
	.hp-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--hp-navy); flex-direction: column; align-items: stretch; padding: 12px 20px 24px; gap: 14px; border-bottom: 1px solid var(--hp-line); max-height: calc(100vh - 120px); overflow: auto; }
	.hp-nav.is-open { display: flex; }
	.hp-menu { flex-direction: column; }
	.hp-menu .sub-menu { display: block; position: static; background: transparent; border: 0; box-shadow: none; padding: 0 0 0 14px; min-width: 0; }
	.hp-menu .menu-item-has-children > a::after { display: none; }
	.hp-nav__cta { text-align: center; }
}
@media (max-width: 960px) {
	.hp-cards { grid-template-columns: repeat(2, 1fr); }
	.hp-quotes, .hp-posts .wp-block-post-template { grid-template-columns: 1fr; }
	.hp-about { grid-template-columns: 1fr; gap: 32px; }
	.hp-about figure { max-width: 320px; }
	.hp-footer__grid { grid-template-columns: 1fr; gap: 32px; }
	.hp-guides { grid-template-columns: 1fr; }
	.hp-trust .wp-block-column { border-right: 0; border-bottom: 1px solid var(--hp-line); }
}
@media (max-width: 600px) {
	.hp-cards { grid-template-columns: 1fr; }
	.hp-section { padding: 60px 20px; }
	.hp-hero.wp-block-cover { min-height: 560px; padding: 64px 20px; }
	.hp-logo img { height: 36px; }
	.hp-topbar { font-size: 12px; }
	.hp-hero .wp-block-buttons .wp-block-button { width: 100%; }
	.hp-hero .wp-block-button__link { display: block; text-align: center; }
}

/* Kadence page chrome: full-width, no title on the designed home page */
.home .content-container, .home .site-container { max-width: none; padding: 0; }
.home .entry-hero, .home .entry-header { display: none; }
.home .content-wrap, .home .entry-content-wrap { padding: 0; }
.home .entry-content.single-content { margin: 0; }
.home .content-area { margin: 0; }

/* Hero overlay (set here so it survives block edits) */
.hp-hero .wp-block-cover__background { background: linear-gradient(100deg, rgba(10,20,34,.94) 0%, rgba(10,20,34,.8) 46%, rgba(10,20,34,.38) 100%) !important; opacity: 1 !important; }

/* Header sizing */
.hp-header .hp-wrap { max-width: 1360px; }
.hp-logo { flex-shrink: 0; }
.hp-menu a { white-space: nowrap; }
.hp-menu { flex-wrap: nowrap; }
@media (max-width: 1280px) and (min-width: 1081px) { .hp-menu a { padding: 10px 8px; font-size: 14px; } .hp-nav { gap: 14px; } .hp-nav__cta { padding: 10px 16px; font-size: 14px; } }

/* WordPress wraps legacy-layout groups in an inner container; let the grids see the real children */
.hp-cards > .wp-block-group__inner-container,
.hp-quotes > .wp-block-group__inner-container,
.hp-about > .wp-block-group__inner-container { display: contents; }
.hp-trust > .wp-block-group__inner-container { display: block; }

/* Spacing: sections butt up against each other, cards equal height */
.home .entry-content > .alignfull, .home .entry-content > * { margin-block-start: 0; margin-block-end: 0; }
.hp-cards { align-items: stretch; }
.hp-card { height: 100%; box-sizing: border-box; }

.hp-section .hp-guides { padding-left: 0 !important; margin-left: auto; margin-right: auto; }

.hp-cta p, .hp-cta h2 { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.hp-cta__phone a { text-decoration: none; }
.hp-cta .hp-kicker { text-align: center; }

/* Lead form band (footer) */
.hp-leadband { background: var(--hp-navy-2); color: #dde3ed; padding: 72px 0; border-top: 1px solid var(--hp-line); }
.hp-leadband__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.hp-leadband h2 { color: #fff; font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 14px; }
.hp-leadband .hp-kicker { color: var(--hp-gold); margin-bottom: 10px; }
.hp-leadband__call a { font-family: var(--hp-serif); font-size: 26px; color: var(--hp-gold); text-decoration: none; }
.hp-form { background: #fff; border-radius: var(--hp-radius); padding: 28px; color: var(--hp-ink); box-shadow: 0 24px 50px rgba(0,0,0,.3); }
.hp-footer__social { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; }
.hp-footer__legal p { margin: 0 0 8px; max-width: 900px; }
@media (max-width: 960px) { .hp-leadband__grid { grid-template-columns: 1fr; gap: 32px; } }

/* Fluent Forms styling */
.fluentform .ff-el-form-control { border: 1px solid #cfd6e2; border-radius: 8px; padding: 12px 14px; font-family: var(--hp-sans); font-size: 16px; background: #fff; color: var(--hp-ink); }
.fluentform .ff-el-form-control:focus { border-color: var(--hp-gold); box-shadow: 0 0 0 3px rgba(201,162,75,.25); outline: 0; }
.fluentform .ff-el-input--label label { font-weight: 600; font-size: 14px; color: var(--hp-navy); }
.fluentform .ff-btn-submit, .fluentform .ff-btn.ff-btn-submit { background: var(--hp-gold) !important; color: var(--hp-navy) !important; border: 0; border-radius: 999px; padding: 14px 28px; font-weight: 700; font-family: var(--hp-sans); cursor: pointer; width: 100%; }
.fluentform .ff-btn-submit:hover { background: #dcb65f !important; }
.fluentform .ff-message-success { border: 1px solid var(--hp-gold); background: #fbf6e8; color: var(--hp-ink); border-radius: 8px; padding: 18px; }
/* Inner pages (contact, reviews, video FAQs, forms) */
.hp-pagehead { background: linear-gradient(180deg, var(--hp-navy) 0%, var(--hp-navy-2) 100%); color: #dde3ed; padding: 72px 20px 64px; }
.hp-pagehead > *, .hp-pagehead > .wp-block-group__inner-container > * { max-width: var(--hp-wrap); margin-left: auto; margin-right: auto; }
.hp-pagehead h1 { color: #fff; font-size: clamp(34px, 4.6vw, 54px); margin: 0 auto 14px; }
.hp-pagehead p.hp-lead { font-size: 19px; max-width: var(--hp-wrap); color: #cfd6e2; margin-bottom: 0; }
.hp-pagehead .hp-eyebrow { margin-bottom: 12px; }
.hp-body { padding: 64px 20px 80px; }
.hp-body > *, .hp-body > .wp-block-group__inner-container > * { max-width: var(--hp-wrap); margin-left: auto; margin-right: auto; }
.hp-prose { max-width: 760px !important; font-size: 18px; margin-left: 0 !important; }
.hp-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.hp-contact > .wp-block-group__inner-container { display: contents; }
.hp-contact h2 { font-size: 28px; margin: 0 0 12px; }
.hp-contact .hp-card { padding: 28px; display: block; height: auto; }
.hp-hours { width: 100%; border-collapse: collapse; margin: 8px 0 20px; }
.hp-hours td { padding: 7px 0; border-bottom: 1px solid #e6e1d4; font-size: 15.5px; }
.hp-hours td:last-child { text-align: right; color: var(--hp-muted); }
.hp-map iframe { width: 100%; height: 320px; border: 0; border-radius: var(--hp-radius); margin-top: 8px; }
.hp-video { position: relative; aspect-ratio: 16 / 9; width: 100%; max-width: 960px; border-radius: var(--hp-radius); overflow: hidden; background: #000; box-shadow: 0 20px 44px rgba(10, 20, 34, .25); margin: 0 0 32px; }
.hp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hp-chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0 0 36px; padding: 0 !important; }
.hp-chips a { display: inline-block; padding: 9px 16px; border: 1px solid #d8d2c2; border-radius: 999px; background: #fff; color: var(--hp-navy); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.hp-chips a:hover, .hp-chips .is-current a { border-color: var(--hp-gold); background: #fbf6e8; }
.hp-formcard { max-width: 640px; margin-left: 0 !important; }
@media (max-width: 960px) { .hp-contact { grid-template-columns: 1fr; gap: 32px; } }

/* Header fit */
.hp-header .hp-wrap { max-width: 1440px; }
@media (max-width: 1500px) and (min-width: 1081px) {
	.hp-logo img { height: 40px; }
	.hp-menu a { padding: 10px 9px; font-size: 14.5px; }
	.hp-nav { gap: 16px; }
}

@media (max-width: 1760px) and (min-width: 1441px) {
	.hp-logo img { height: 38px; }
	.hp-menu a { padding: 10px 8px; font-size: 14px; }
	.hp-nav { gap: 14px; }
	.hp-nav__cta { padding: 10px 18px; font-size: 14px; }
}

/* Performance helpers */
.hp-map__placeholder { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; min-height: 220px; padding: 24px; border-radius: var(--hp-radius); background: linear-gradient(135deg, #eef1f6 0%, #e3e8f0 100%); border: 1px solid #d8dee9; }
.hp-map__placeholder p { margin: 0 0 8px; }
.hp-map__link { margin-left: 14px; font-weight: 600; }
.hp-map iframe { width: 100%; height: 320px; border: 0; border-radius: var(--hp-radius); }
.ff-el-turnstile { min-height: 65px; }
/* Stable form sizes even before the (deferred) Fluent Forms stylesheet arrives, so nothing jumps. */
.fluentform .ff-el-form-control { display: block; width: 100%; box-sizing: border-box; }
.fluentform textarea.ff-el-form-control { min-height: 110px; line-height: 1.4; resize: vertical; }
.fluentform .ff-el-group { margin-bottom: 18px; }
.hp-about img { aspect-ratio: 380 / 480; object-fit: cover; }
/* ---- Content templates: posts, practice areas, legal guides, video FAQs, listings ---- */
.hp-body--tight { padding-top: 0; padding-bottom: 56px; }
.hp-split { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.hp-split .hp-prose { max-width: none !important; }
.hp-aside { position: sticky; top: 100px; display: grid; gap: 20px; }
.hp-card--static { display: block; height: auto; }
.hp-card--static:hover { transform: none; box-shadow: none; border-color: #e6e1d4; }
.hp-card--static h2 { font-size: 20px; margin: 0 0 8px; }
.hp-card--static p { margin: 0 0 12px; }
.hp-toc { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); padding: 22px 22px 14px; }
.hp-toc h2 { font-size: 18px; margin: 0 0 10px; }
.hp-toc ol { margin: 0; padding-left: 18px; font-size: 15px; }
.hp-toc li { margin: 0 0 8px; }
.hp-toc a { color: var(--hp-navy); text-decoration: none; }
.hp-toc a:hover { color: var(--hp-gold-dark); }

/* Long-form text (blog posts, guides, FAQ answers) */
.hp-entry { font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.hp-body > .hp-article { max-width: 760px; margin-left: auto; margin-right: auto; }
.hp-article .hp-entry { margin-left: auto !important; margin-right: auto !important; max-width: none !important; }
.hp-entry h2 { font-size: 30px; margin: 2em 0 .6em; scroll-margin-top: 110px; }
.hp-entry h3 { font-size: 23px; margin: 1.6em 0 .5em; }
.hp-entry h4 { font-size: 19px; }
.hp-entry img { max-width: 100%; height: auto; border-radius: 6px; }
.hp-entry iframe, .hp-entry video, .hp-entry embed { max-width: 100%; }
.hp-entry table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.hp-entry td, .hp-entry th { padding: 8px 12px; border: 1px solid #e6e1d4; }
.hp-entry blockquote { margin: 1.5em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--hp-gold); color: var(--hp-muted); font-style: italic; }
.hp-entry [style*="width"], .hp-entry .separator, .hp-entry .tr-caption-container { max-width: 100% !important; }
.hp-entry .separator a { margin: 0 !important; }
.hp-entry a { word-break: break-word; }
.hp-featured { margin: 0 0 32px; }
.hp-featured__img { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: var(--hp-radius); }
.hp-chips--small a { padding: 5px 12px; font-size: 13px; }
.hp-postnav { display: flex; justify-content: space-between; gap: 24px; margin-top: 36px; padding-top: 22px; border-top: 1px solid #e6e1d4; font-weight: 600; }
.hp-postnav a { color: var(--hp-navy); text-decoration: none; }
.hp-postnav a:hover { color: var(--hp-gold-dark); }

/* Call-to-action box */
.hp-ctabox { background: var(--hp-navy); color: #dde3ed; border-radius: var(--hp-radius); padding: 40px; text-align: center; }
.hp-ctabox h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 10px; }
.hp-ctabox p { margin: 0 auto 14px; max-width: 560px; }
.hp-ctabox__buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.hp-ctabox .hp-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .5); }
.hp-ctabox .hp-btn--ghost:hover { border-color: var(--hp-gold); color: var(--hp-gold); }

/* Cards and listings */
.hp-pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hp-pgrid--3 { margin-top: 28px; }
.hp-pcard { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .18s, box-shadow .18s; }
.hp-pcard:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(10, 20, 34, .10); }
.hp-pcard__img { display: block; aspect-ratio: 16 / 9; background: var(--hp-navy-2); overflow: hidden; }
.hp-pcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-pcard__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-3) 100%); }
.hp-pcard__body { padding: 20px 22px 24px; }
.hp-pcard__meta { margin: 0 0 6px; font-size: 13px; color: var(--hp-muted); letter-spacing: .04em; text-transform: uppercase; }
.hp-pcard__title { font-size: 19px; line-height: 1.3; margin: 0 0 10px; }
.hp-pcard__title a { color: var(--hp-navy); text-decoration: none; }
.hp-pcard__title a:hover { color: var(--hp-gold-dark); }
.hp-pcard__excerpt { margin: 0; font-size: 15px; color: var(--hp-muted); }
.hp-pager { margin-top: 48px; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; }
.hp-pager .page-numbers { display: inline-block; min-width: 40px; padding: 9px 14px; text-align: center; border: 1px solid #d8d2c2; border-radius: 8px; color: var(--hp-navy); text-decoration: none; font-weight: 600; background: #fff; }
.hp-pager .page-numbers.current, .hp-pager .page-numbers:hover { background: var(--hp-gold); border-color: var(--hp-gold); color: var(--hp-navy); }
.hp-pager .dots { border: 0; background: none; }
.hp-more-link { margin-top: 24px; font-weight: 700; }

/* Video player placeholder */
.hp-yt { background: #000 center / cover no-repeat; cursor: pointer; }
.hp-yt__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(10, 20, 34, .35); cursor: pointer; display: grid; place-items: center; }
.hp-yt__play span { width: 76px; height: 54px; border-radius: 14px; background: var(--hp-gold); position: relative; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
.hp-yt__play span::after { content: ""; position: absolute; left: 31px; top: 15px; border-left: 20px solid var(--hp-navy); border-top: 12px solid transparent; border-bottom: 12px solid transparent; }
.hp-yt__play:hover { background: rgba(10, 20, 34, .2); }
.hp-ytlink { margin: -16px 0 28px; font-size: 14px; }

/* Search form */
.hp-search { display: flex; gap: 10px; max-width: 520px; margin: 18px 0 26px; }
.hp-search input[type="search"] { flex: 1; border: 1px solid #cfd6e2; border-radius: 999px; padding: 12px 18px; font: inherit; }
.hp-search input[type="search"]:focus { border-color: var(--hp-gold); box-shadow: 0 0 0 3px rgba(201, 162, 75, .25); outline: 0; }

@media (max-width: 1000px) {
	.hp-split { grid-template-columns: 1fr; gap: 32px; }
	.hp-aside { position: static; }
	.hp-pgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.hp-pgrid { grid-template-columns: 1fr; }
	.hp-entry { font-size: 17px; }
	.hp-entry h2 { font-size: 26px; }
	.hp-ctabox { padding: 28px 20px; }
	.hp-postnav { flex-direction: column; }
}

.hp-faqwrap { max-width: var(--hp-wrap); margin: 0 auto; }
.hp-faqwrap .hp-prose { margin-left: 0 !important; }
/* ---- Video FAQ gallery ---- */
.hp-vgal__count { color: var(--hp-muted); font-size: 15px; margin: 0 0 18px; }
.hp-vgrid { list-style: none; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 18px; }
.hp-vcard { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hp-vcard__thumb { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: var(--hp-navy-2); cursor: pointer; }
.hp-vcard__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.hp-vcard__thumb:hover img, .hp-vcard__thumb:focus-visible img { transform: scale(1.04); }
.hp-vcard__play { position: absolute; left: 50%; top: 50%; width: 52px; height: 36px; margin: -18px 0 0 -26px; border-radius: 10px; background: var(--hp-gold); box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
.hp-vcard__play::after { content: ""; position: absolute; left: 21px; top: 9px; border-left: 14px solid var(--hp-navy); border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.hp-vcard__title { font-family: var(--hp-sans); font-size: 15px; line-height: 1.35; font-weight: 700; margin: 4px 0 0; }
.hp-vcard__open { background: none; border: 0; padding: 0; text-align: left; font: inherit; color: var(--hp-navy); cursor: pointer; }
.hp-vcard__open:hover { color: var(--hp-gold-dark); }
.hp-vcard__date { font-size: 13px; color: var(--hp-muted); }
.hp-vcard__desc { margin: 0; font-size: 14px; color: var(--hp-muted); line-height: 1.5; }
.hp-vcard__more { font-size: 14px; font-weight: 600; margin-top: 2px; }

.hp-vdialog { width: min(960px, 94vw); max-width: none; padding: 0; border: 0; border-radius: 12px; background: #0b1524; color: #fff; overflow: hidden; }
.hp-vdialog::backdrop { background: rgba(5, 10, 18, .86); }
.hp-vdialog__bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
.hp-vdialog__title { flex: 1; margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; }
.hp-vdialog__close { background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; padding: 0 6px; }
.hp-vdialog__close:hover { color: var(--hp-gold); }
.hp-vdialog__stage { position: relative; aspect-ratio: 16 / 9; background: #000; }
.hp-vdialog__stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hp-vdialog__nav { display: flex; justify-content: space-between; padding: 10px 16px 14px; }
.hp-vdialog__nav button { background: transparent; border: 1px solid rgba(255, 255, 255, .35); color: #fff; border-radius: 999px; padding: 8px 18px; font: inherit; font-weight: 600; cursor: pointer; }
.hp-vdialog__nav button:hover:not(:disabled) { border-color: var(--hp-gold); color: var(--hp-gold); }
.hp-vdialog__nav button:disabled { opacity: .35; cursor: default; }

@media (max-width: 1280px) { .hp-vgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 960px) { .hp-vgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .hp-vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; } .hp-vcard__title { font-size: 14px; } }

.hp-vcard__desc { flex: 1 1 auto; }
.hp-vcard__more { margin-top: auto; padding-top: 4px; }
/* ---- Home page extras: testimonial slider, Facebook testimonials, Avvo badges ---- */
.hp-quotes--slider { display: flex !important; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: var(--hp-gold) transparent; -webkit-overflow-scrolling: touch; }
.hp-quotes--slider .hp-quote { flex: 0 0 min(380px, 86%); scroll-snap-align: start; }
.hp-slider-nav { display: flex; gap: 10px; margin: 0 0 18px; }
.hp-slider-nav button { width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: transparent; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.hp-slider-nav button:hover { border-color: var(--hp-gold); color: var(--hp-gold); }

.hp-fbqs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 32px !important; }
.hp-fbq { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); padding: 26px; }
.hp-fbq p { margin: 0 0 12px; font-size: 16px; }
.hp-fbq cite { font-style: normal; font-weight: 700; color: var(--hp-navy); }
.hp-fbq time { display: block; color: var(--hp-muted); font-size: 13px; margin-top: 2px; }
.hp-section--ivory .hp-reviewlinks { text-align: left; }

.hp-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 22px 0 6px; }
.hp-badges .wp-block-group__inner-container { display: contents; }
.hp-badges figure { margin: 0; }
.hp-badges img { height: 84px; width: auto; border-radius: 0; box-shadow: none; aspect-ratio: auto; }

@media (max-width: 960px) { .hp-fbqs { grid-template-columns: 1fr; } }

/* ---- Legal guides with their images ---- */
.hp-split__main { min-width: 0; }
.hp-guidegrid .wp-block-post-template { gap: 20px; margin-top: 34px; padding: 0; list-style: none; }
.hp-guidegrid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.hp-guidegrid .wp-block-post { background: #fff; border: 1px solid #e6e1d4; border-radius: var(--hp-radius); overflow: hidden; transition: transform .18s, box-shadow .18s; }
.hp-guidegrid .wp-block-post:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(10, 20, 34, .10); }
.hp-guidegrid .wp-block-post-featured-image { margin: 0; }
.hp-guidegrid .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hp-guidegrid .wp-block-post-title { font-family: var(--hp-sans); font-size: 15px; line-height: 1.35; font-weight: 700; margin: 0; padding: 14px 16px 18px; }
.hp-guidegrid .wp-block-post-title a { color: var(--hp-navy); text-decoration: none; }
.hp-guidegrid .wp-block-post-title a:hover { color: var(--hp-gold-dark); }
@media (max-width: 1100px) { .hp-guidegrid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .hp-guidegrid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px; } }

/* ---- Send me your question: video beside the form ---- */
.hp-qa { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.hp-qa > .wp-block-group__inner-container { display: contents; }
.hp-qa__video .hp-video { max-width: none; margin: 0; }
.hp-qa__form { max-width: none; margin: 0 !important; }
.ff-el-turnstile[data-appearance="interaction-only"] { min-height: 0; }
@media (max-width: 960px) { .hp-qa { grid-template-columns: 1fr; gap: 28px; } }

.hp-fineprint { font-size: 14px; color: var(--hp-muted); margin: 14px 0 0; }
.hp-qa__form h2 { font-size: 22px; margin: 0 0 8px; }

/* ---- Testimonials: one at a time with dots (like the old site), badge band, photo call-out ---- */
.hp-quotes--slider, .hp-fbqs--slider { display: flex !important; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-top: 28px !important; }
.hp-quotes--slider::-webkit-scrollbar, .hp-fbqs--slider::-webkit-scrollbar { display: none; }
.hp-quotes--slider > .wp-block-group__inner-container, .hp-fbqs--slider > .wp-block-group__inner-container { display: contents; }
.hp-quotes--slider .hp-quote, .hp-fbqs--slider .hp-fbq { flex: 0 0 100%; scroll-snap-align: center; box-sizing: border-box; }
.hp-quotes--slider .hp-quote { background: transparent; border: 0; text-align: center; padding: 8px clamp(16px, 8vw, 120px) 4px; }
.hp-quotes--slider .hp-quote p { font-size: clamp(17px, 1.7vw, 21px); line-height: 1.6; }
.hp-fbqs--slider .hp-fbq { max-width: 100%; margin: 0; padding: 28px clamp(18px, 6vw, 90px); }
.hp-fbqs--slider .hp-fbq > p:first-child { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; }
.hp-fbq__who { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.hp-fbq__who img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
.hp-fbq__who span { flex: 1; }
.hp-fbq__who cite { display: block; }
.hp-fbq__icon { flex: none; }
.hp-slider-wrap { position: relative; }
.hp-slider-dots { display: flex; justify-content: center; gap: 9px; margin: 18px 0 4px; }
.hp-slider-dots button { width: 11px; height: 11px; padding: 0; border-radius: 50%; border: 0; background: rgba(150, 160, 175, .55); cursor: pointer; }
.hp-slider-dots button[aria-current="true"] { background: var(--hp-gold); transform: scale(1.25); }
.hp-section--ivory .hp-slider-dots button { background: #c9c2ae; }
.hp-section--ivory .hp-slider-dots button[aria-current="true"] { background: var(--hp-gold-dark); }
.hp-slider-nav { justify-content: center; }
.hp-section--ivory .hp-slider-nav button { border-color: #cfc8b4; color: var(--hp-navy); }

.hp-badgeband { background: var(--hp-navy-2); border-top: 1px solid var(--hp-line); padding: 26px 20px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px 34px; }
.hp-badgeband .wp-block-group__inner-container { display: contents; }
.hp-badgeband figure { margin: 0; }
.hp-badgeband img { height: 84px; width: auto; display: block; }
.hp-cta--photo { background: linear-gradient(rgba(10, 20, 34, .84), rgba(10, 20, 34, .88)), url("../img/advisor-michael.webp") center / cover no-repeat; }

/* ---- "Your personal legal advisor": Michael's photo stays still while the page scrolls past it ---- */
.hp-advisor { position: relative; min-height: 560px; display: flex; align-items: center; padding: 72px 0; background-color: var(--hp-navy); background-position: center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); }
.hp-advisor.is-ready { background-image: url("../img/advisor-michael.webp"); }
.hp-advisor > .wp-block-group__inner-container { width: 100%; }
.hp-advisor__card { background: rgba(10, 20, 34, .88); color: #dde3ed; max-width: 540px; margin-left: max(20px, calc((100vw - var(--hp-wrap)) / 2 + 20px)); padding: 40px 40px 36px; border-radius: var(--hp-radius); box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.hp-advisor__card .hp-kicker { margin: 0 0 4px; }
.hp-advisor__card h2 { color: #fff; font-size: clamp(30px, 3.6vw, 44px); margin: 0 0 6px; }
.hp-advisor__years { font-family: var(--hp-serif); color: var(--hp-gold); font-size: 22px; margin: 0 0 18px; }
.hp-advisor__card p { max-width: none; }
.hp-advisor__phone { margin: 18px 0 8px; }
.hp-advisor__phone a { font-family: var(--hp-serif); font-size: clamp(30px, 3.4vw, 42px); color: var(--hp-gold); text-decoration: none; }
@media (max-width: 800px) {
	.hp-advisor.is-ready { background-image: url("../img/advisor-michael-sm.webp"); }
	.hp-advisor { min-height: 0; padding: 48px 0; background-attachment: scroll; }
	.hp-advisor__card { margin: 0 20px; padding: 28px 24px; max-width: none; }
}

/* Practice-area cards on the home page: the video thumbnail sits above the title and opens the pop-up player. */
.hp-card .hp-pa-play { position: relative; z-index: 2; margin: -8px -6px 6px; width: calc(100% + 12px); }

/* Wide screens: enlarge the photo a little and anchor it left so Michael sits to the right of the text card, not behind it. */
@media (min-width: 1100px) {
	.hp-advisor { background-size: 125% auto; background-position: left center; }
}
