/* RHLF 2026 — mockup-faithful design system */
/* Metric-compatible fallback faces (no layout shift while web fonts load) */
@font-face { font-family: 'Inter Fallback'; src: local('Arial'), local('Liberation Sans'), local('Helvetica Neue'); size-adjust: 103.5%; ascent-override: 93.6%; descent-override: 23.3%; line-gap-override: 0%; }
@font-face { font-family: 'Cormorant Fallback'; src: local('Georgia'), local('DejaVu Serif'); size-adjust: 105%; ascent-override: 88%; descent-override: 27.3%; line-gap-override: 0%; }
:root {
	--charcoal: #121212;
	--burgundy: #4c1513;
	--burgundy-dark: #3a100e;
	--gold: #d4b36a;
	--gold-dark: #b8964e;
	--stone: #6e675e;
	--ivory: #f7f3ee;
	--sand: #f2e8da;
	--clay: #c88655;
	--warmgray: #c9c2b8;
	--deepgray: #6b655c;
	--white: #ffffff;
	--line: #e9e2d6;
	--font-body: 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
	--font-display: 'Cormorant Garamond', 'Cormorant Fallback', Georgia, serif;
	--container: 1240px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--charcoal); background: var(--white); -webkit-font-smoothing: antialiased; font-size: 16px; line-height: 1.6; }
img { max-width: 100%; height: auto; }
html, body { overflow-x: hidden; overflow-x: clip; }
a { color: var(--burgundy); }
.container, .wrap { max-width: var(--container); margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.serif { font-family: var(--font-display); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.skip-link { left: -9999px; position: absolute; }

h1, h2, h3, h4 { font-weight: 600; line-height: 1.15; }

.eyebrow { font: 600 12px/1 var(--font-body); letter-spacing: .28em; text-transform: uppercase; color: var(--gold); display: block; }
.eyebrow.burg { color: var(--burgundy); }
.gold-rule { width: 64px; height: 3px; background: var(--gold); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: 600 14px/1 var(--font-body); letter-spacing: .04em; min-height: 52px; padding: 0 30px; border-radius: 2px; text-decoration: none; transition: .2s; cursor: pointer; border: 0; box-sizing: border-box; }
/* Click-to-call / click-to-form pairs share one size */
.hero .ctas .btn, .page-hero .ctas .btn, .svc-hero .ctas .btn, .tcx-txt .ctas .btn, .bio-hero .ctas .btn, .cta .ctas .btn, .cta-band-actions .btn, .founders .ctas .btn { min-width: 230px; }
.btn-gold { background: var(--gold); color: var(--charcoal); }
.btn-gold:hover { background: var(--gold-dark); }
.btn-burg { background: var(--burgundy); color: #fff; }
.btn-burg:hover { background: var(--burgundy-dark); }
.btn-ghost { border: 1px solid rgba(255,255,255,.45); color: #fff; }
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
.btn-ghost-dark { border: 1px solid var(--charcoal); color: var(--charcoal); background: none; }
.btn-ghost-dark:hover { border-color: var(--gold-dark); color: var(--gold-dark); }
.btn-gold-line { border: 2px solid var(--gold); color: var(--gold); background: transparent; }
.btn-gold-line:hover { background: var(--gold); color: var(--charcoal); }
.btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.btn-block { width: 100%; }

/* Announcement bar (brand burgundy) */
.util { background: var(--burgundy); color: #fff; font: 500 13px/1.4 var(--font-body); padding: 9px 0; }
.util .wrap { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.util .left { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.util .flash { color: #ffd98a; }
.util a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.55); font-weight: 700; }
.util a:hover { text-decoration-color: #fff; }
.util a.alt { font-weight: 600; opacity: .95; }
.util .sep { opacity: .45; }
.util .right { display: flex; align-items: center; gap: 18px; }
.util .portal { font-weight: 700; text-decoration: none; border: 1px solid rgba(255,255,255,.5); border-radius: 2px; padding: 4px 10px; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }
.util .portal:hover { background: rgba(255,255,255,.12); }
.util-close { background: none; border: 0; color: rgba(255,255,255,.75); font-size: 13px; cursor: pointer; padding: 2px 4px; }
.util-close:hover { color: #fff; }
.rhlf-lang { display: flex; gap: 8px; align-items: center; color: rgba(255,255,255,.6); }
.rhlf-lang a { color: rgba(255,255,255,.85); text-decoration: none; font-weight: 600; font-size: 12px; letter-spacing: .08em; }
.rhlf-lang a.active { color: #ffd98a; border-bottom: 2px solid #ffd98a; padding-bottom: 3px; }

/* Nav (black) */
nav.main { background: var(--charcoal); position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
nav.main .wrap { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: 10px; max-width: 1400px; }
.site-logo { display: flex; align-items: center; margin-right: 14px; flex-shrink: 0; }
.site-logo img { height: 50px; width: auto; }
.site-nav { min-width: 0; flex: 1; display: flex; justify-content: center; }
.mnav-head, .mnav-foot { display: none; }
.mnav-ico { display: none; }
.nav-menu { display: flex; gap: 0 2px; list-style: none; white-space: nowrap; align-items: center; flex-wrap: nowrap; justify-content: center; }
.nav-menu > li { position: relative; }
.nav-menu > li > a { font: 500 13px/1 var(--font-body); color: #f3efe8; text-decoration: none; padding: 12px 7px; display: inline-block; }
html[lang^="es"] .nav-menu > li > a { padding: 12px 3px; font-size: 11.5px; }
html[lang^="es"] .nav-cta .btn { padding: 13px 12px; font-size: 12px; }
html[lang^="es"] .btn-phone .num { display: none; }
html[lang^="es"] .btn-phone .callnow { display: inline; }
.nav-menu > li > a:hover { color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold); }
.nav-menu .sub-menu { position: absolute; top: 100%; left: 0; background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--gold); min-width: 250px; list-style: none; padding: 8px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; box-shadow: 0 18px 40px rgba(18,18,18,.12); z-index: 60; }
.nav-menu li:hover > .sub-menu, .nav-menu li:focus-within > .sub-menu, .nav-menu li.kb-open > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu .sub-menu li { position: relative; }
.nav-menu .sub-menu a { display: block; padding: 10px 20px; font: 500 13.5px/1.4 var(--font-body); color: var(--charcoal); text-decoration: none; }
.nav-menu .sub-menu a:hover { background: var(--ivory); color: var(--burgundy); }
.nav-menu .sub-menu .sub-menu { top: -10px; left: 100%; }
.nav-cta { display: flex; align-items: center; gap: 10px; white-space: nowrap; flex-shrink: 0; }
.nav-cta .btn { min-height: 0; padding: 14px 18px; font-size: 13px; }
.btn-phone .callnow { display: none; }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: #f3efe8; margin: 5px 0; transition: .2s; }

/* Home hero */
.hero { position: relative; color: #fff; background: var(--charcoal); }
.hero .bg { position: absolute; inset: 0; background: url('../img/hero-nevada.webp') center 65%/cover no-repeat; }
@media (max-width: 720px) { .hero .bg { background-image: url('../img/hero-nevada-mobile.webp'); } }
.hero .bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,8,7,.92) 0%, rgba(12,8,7,.72) 50%, rgba(12,8,7,.45) 100%); }
.hero .inner { position: relative; padding-top: 80px; padding-bottom: 90px; }
.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: center; }
.hero-form { position: relative; z-index: 3; }
@media (min-width: 1151px) { .hero-form .form-card { min-height: 820px; } }
.hero-form .form-card { box-shadow: 0 30px 70px rgba(0,0,0,.45); }
.hero h1 { font-family: var(--font-display); font-size: 64px; line-height: 1.06; font-weight: 600; max-width: 760px; margin: 26px 0 8px; }
.hero h1 em { font-style: italic; color: var(--gold); }
.hero p.sub { font: 300 19px/1.65 var(--font-body); color: #e8e1d5; max-width: 560px; margin: 22px 0 0; }
.hero .slogan { font: 700 15px/1 var(--font-body); letter-spacing: .34em; color: #fff; margin-top: 34px; }
.hero .slogan b { color: var(--gold); }
.hero .ctas { display: flex; gap: 18px; margin-top: 38px; flex-wrap: wrap; }

/* Page hero (subpages) */
.page-hero { position: relative; color: #fff; background: var(--burgundy); overflow: hidden; }
.page-hero .bg { position: absolute; inset: 0; background: url('../img/hero-nevada.jpg') center 65%/cover no-repeat; opacity: .3; }
.page-hero .bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(46,12,10,.75) 0%, rgba(46,12,10,.35) 100%); }
.page-hero .inner { position: relative; padding-top: 76px; padding-bottom: 84px; }
.page-hero h1 { font-family: var(--font-display); font-size: 56px; line-height: 1.06; max-width: 860px; margin: 18px 0 0; }
.page-hero p.sub { font: 300 18px/1.65 var(--font-body); color: #eee2d8; max-width: 640px; margin: 18px 0 0; }
.page-hero .ctas { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
.page-hero .post-meta { margin-top: 16px; color: #d8c6bb; font-size: 14px; }
.page-hero .post-meta a { color: var(--gold); text-decoration: none; }
.rhlf-breadcrumbs { font: 500 12.5px/1.6 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #cdb9a9; }
.rhlf-breadcrumbs a { color: #cdb9a9; text-decoration: none; }
.rhlf-breadcrumbs a:hover { color: var(--gold); }
.rhlf-breadcrumbs .current { color: var(--gold); }
.rhlf-breadcrumbs span { margin: 0 4px; }

/* Stats strip */
.stats { position: relative; background: var(--sand); border-top: 3px solid var(--gold); padding: 54px 0; }
.stats .card { display: grid; grid-template-columns: repeat(4, 1fr); }
.stats .cell { padding: 10px 20px; text-align: center; border-right: 1px solid #ddd0ba; }
.stats .cell:last-child { border-right: 0; }
.stats .num { font-family: var(--font-display); font-size: 46px; font-weight: 600; color: var(--burgundy); line-height: 1.1; }
.stats .num span { color: #8a6a24; }
.stats .lbl { font: 500 12.5px/1.5 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--stone); margin-top: 6px; }

/* Trust strip — original-color logo marquee on white */
.trust { padding: 44px 0 40px; text-align: center; background: #fff; overflow: hidden; border-top: 3px solid var(--gold); }
.trust .lbl { font: 700 20px/1 var(--font-body); letter-spacing: .22em; text-transform: uppercase; color: var(--charcoal); margin-bottom: 26px; }
.trust .marquee { position: relative; overflow: hidden; }
.trust .marquee::before, .trust .marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 110px; z-index: 2; pointer-events: none; }
.trust .marquee::before { left: 0; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.trust .marquee::after { right: 0; background: linear-gradient(-90deg, #fff, rgba(255,255,255,0)); }
.trust .track { display: flex; align-items: center; gap: 64px; width: max-content; padding: 6px 40px; animation: trust-scroll 36s linear infinite; }
.trust .marquee:hover .track { animation-play-state: paused; }
.trust .track img { height: 64px; width: 150px; object-fit: contain; flex-shrink: 0; }
@keyframes trust-scroll { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .trust .track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } .trust .track img[aria-hidden] { display: none; } }

/* Traffic ops band (custom control-room CTA) */
.tcx { position: relative; background: #0b0d10; color: #e9e6df; overflow: hidden; }
.tcx::before { content: ''; position: absolute; inset: 0; background: radial-gradient(900px 420px at 78% 30%, rgba(198,161,91,.10), transparent 60%), repeating-linear-gradient(180deg, rgba(255,255,255,.012) 0 1px, transparent 1px 5px); pointer-events: none; }
.tcx-hud { position: relative; display: flex; align-items: center; gap: 14px; padding: 12px clamp(18px, 4vw, 48px); border-bottom: 1px solid rgba(198,161,91,.25); font: 600 11px/1 var(--font-mono, monospace); letter-spacing: .16em; color: #b9b3a5; }
.tcx-hud .dot { width: 8px; height: 8px; border-radius: 50%; background: #ff5a4e; animation: rhlf-blink 1.6s infinite; }
.tcx-hud b { color: #f0ece2; }
.tcx-hud em { font-style: normal; color: #0b0d10; background: var(--gold, #c6a15b); padding: 4px 8px; border-radius: 2px; }
.tcx-clock { color: #9fd6a4; }
.tcx-feed { margin-left: auto; }
.tcx-grid { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(28px, 4vw, 64px); align-items: center; padding: clamp(48px, 6vw, 84px) 0; }
.tcx-txt .eyebrow.gold { color: var(--gold, #c6a15b); }
.tcx-txt h2 { font-family: var(--font-display); font-size: clamp(30px, 3.2vw, 46px); margin: 14px 0 14px; color: #fff; }
.tcx-txt p { font: 400 16px/1.7 var(--font-body); color: #c9c4b8; max-width: 480px; }
.tcx-points { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.tcx-points li { position: relative; padding-left: 24px; font: 500 14px/1.5 var(--font-body); color: #ddd7c9; }
.tcx-points li::before { content: '◆'; position: absolute; left: 0; top: 1px; font-size: 10px; color: var(--gold, #c6a15b); }
.tcx-txt .ctas { display: flex; gap: 14px; margin-top: 28px; flex-wrap: wrap; }
.tcx .btn-ghost.light { border-color: rgba(255,255,255,.35); color: #fff; }
.tcx-wall { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: minmax(96px, auto); gap: 12px; }
.tcx-mon { position: relative; display: block; border: 1px solid rgba(198,161,91,.35); border-radius: 4px; overflow: hidden; background: #14171b; aspect-ratio: 16 / 10; transition: .2s; }
.tcx-mon:hover { border-color: var(--gold, #c6a15b); transform: translateY(-2px); }
.tcx-mon.main { grid-column: 1 / -1; aspect-ratio: 16 / 8; }
.tcx-mon img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.85) contrast(1.05); }
.tcx-mon .scan { position: absolute; inset: 0; background: repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, transparent 1px 4px); pointer-events: none; }
.tcx-mon .tag { position: absolute; top: 10px; left: 10px; font: 600 10px/1 var(--font-mono, monospace); letter-spacing: .1em; color: #d9e6d9; background: rgba(0,0,0,.65); padding: 5px 8px; border-radius: 2px; }
.tcx-mon .loc { position: absolute; bottom: 10px; left: 10px; right: 60px; font: 600 10px/1.3 var(--font-mono, monospace); letter-spacing: .06em; color: #fff; background: rgba(0,0,0,.65); padding: 5px 8px; border-radius: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tcx-mon .rec { position: absolute; top: 10px; right: 10px; font: 700 10px/1 var(--font-body); letter-spacing: .12em; color: #ff5a4e; background: rgba(0,0,0,.65); padding: 5px 8px; border-radius: 2px; animation: rhlf-blink 1.6s infinite; }
.tcx-ticker { position: relative; border-top: 1px solid rgba(198,161,91,.25); overflow: hidden; padding: 10px 0; }
.tcx-ticker .track { display: flex; align-items: center; gap: 22px; width: max-content; animation: tcx-ticker 40s linear infinite; font: 600 11px/1 var(--font-mono, monospace); letter-spacing: .18em; color: #8f8a7d; }
.tcx-ticker b { color: var(--gold, #c6a15b); }
@keyframes tcx-ticker { to { transform: translateX(-33.333%); } }
@media (prefers-reduced-motion: reduce) { .tcx-ticker .track { animation: none; } .tcx-hud .dot, .tcx-mon .rec { animation: none; } }
@keyframes rhlf-blink { 50% { opacity: .35; } }

/* Our lawyers */
.lawyers { padding: 96px 0; background: #f1f0ed; border-top: 1px solid #e3e1db; }
.team-album { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.ta-card { position: relative; display: block; text-decoration: none; color: var(--charcoal); background: #fff; border: 1px solid #e3ddd2; border-radius: 4px; overflow: hidden; transition: .2s; }
.ta-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(18,18,18,.14); }
.ta-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.ta-card .nm { display: block; font: 600 12.5px/1.35 var(--font-body); padding: 10px 12px; }
.ta-card.ta-more { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--burgundy); border-color: var(--burgundy); color: #fff; gap: 6px; }
.ta-card.ta-more .plus { font-family: var(--font-display); font-size: 40px; color: var(--gold); }
.ta-card.ta-more .nm { color: #fff; padding: 0 12px 4px; }
.lawyers-cta { text-align: center; margin-top: 36px; }
.btn-burg { background: var(--burgundy); color: #fff; }
.btn-burg:hover { background: #121212; color: var(--gold); }

/* Section headers */
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 52px; gap: 30px; flex-wrap: wrap; }
.sec-head h2 { font-family: var(--font-display); font-size: 48px; line-height: 1.1; max-width: 520px; margin-top: 14px; }
.sec-head .right { max-width: 400px; font: 500 16.5px/1.7 var(--font-body); color: var(--charcoal); border-left: 3px solid var(--gold); padding-left: 18px; }

/* Practice areas */
.practice { padding: 96px 0 100px; background: var(--ivory); }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.pcard { background: #fff; border: 1px solid #eae2d4; border-top: 4px solid var(--pc, var(--burgundy)); padding: 34px 32px 32px; position: relative; transition: .2s; display: block; text-decoration: none; color: var(--charcoal); }
.pcard:hover { box-shadow: 0 18px 40px rgba(18,18,18,.12); transform: translateY(-3px); background: var(--pc-tint, #fff); }
.pcard .ico { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; margin-bottom: 20px; color: var(--pc, var(--burgundy)); background: var(--pc-tint, rgba(76,21,19,.08)); }
.pcard .ico svg { width: 32px; height: 32px; display: block; }
.pcard.c-burg { --pc: #7a2320; --pc-tint: #f9efee; }
.pcard.c-navy { --pc: #1f3a5f; --pc-tint: #eef2f8; }
.pcard.c-rust { --pc: #b45a1b; --pc-tint: #fbf1e8; }
.pcard.c-green { --pc: #2f5d3a; --pc-tint: #eef5ef; }
.pcard.c-gold { --pc: #9a7b2d; --pc-tint: #faf4e6; }
.pcard h3 { font: 600 20px/1.3 var(--font-body); margin-bottom: 10px; }
.pcard p { font: 400 14.5px/1.65 var(--font-body); color: var(--deepgray); }
.pcard .arrow { position: absolute; right: 28px; top: 38px; color: var(--pc, var(--gold)); font-size: 22px; }
.pcard.feature { background: var(--burgundy); border-color: var(--burgundy); color: #fff; display: flex; flex-direction: column; justify-content: center; }
.pcard.feature h3 { color: #fff; font-family: var(--font-display); font-size: 30px; font-weight: 600; }
.pcard.feature p { color: #e3d5cd; }
.pcard.feature .more { color: var(--gold); font: 600 14px/1 var(--font-body); letter-spacing: .06em; text-decoration: none; margin-top: 18px; display: inline-block; }

/* Founder */
.founder { background: var(--sand); position: relative; overflow: hidden; }
.founder .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.founder .txt { padding: 110px 0; }
.founder blockquote { font-family: var(--font-display); font-size: 37px; line-height: 1.25; font-weight: 500; color: var(--charcoal); margin: 26px 0 30px; }
.founder blockquote em { color: var(--burgundy); font-style: italic; }
.founder .who { font: 600 15px/1.5 var(--font-body); }
.founder .who span { display: block; font: 400 13.5px/1.5 var(--font-body); color: var(--stone); }
.founder .pic { align-self: end; display: flex; align-items: flex-end; justify-content: center; }
.founder .pic img { max-height: 640px; width: auto; max-width: 100%; display: block; }
.founder .rule { width: 64px; height: 3px; background: var(--gold); margin-top: 34px; }

/* Results */
.results { background: var(--charcoal); color: #fff; padding: 100px 0 110px; }
.results .sec-head h2 { color: #fff; }
.results .sec-head .right { color: #d8d1c5; }
.rcard { background: #1c1a18; border: 1px solid #2c2823; padding: 36px 32px; display: block; text-decoration: none; transition: .2s; position: relative; }
a.rcard:hover { border-color: var(--gold); transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0,0,0,.4); }
.rcard .rlink { display: inline-block; margin-top: 16px; font: 600 13px/1 var(--font-body); color: var(--gold); letter-spacing: .04em; }
.rcard .type { font: 600 12px/1 var(--font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--clay); }
.rcard .amt { font-family: var(--font-display); font-size: 52px; font-weight: 600; color: var(--gold); margin: 16px 0 10px; line-height: 1.05; }
.rcard p { font: 400 14.5px/1.65 var(--font-body); color: #b9b1a4; }
.results-cta { text-align: center; margin-top: 44px; }
.results-cta .btn { font-size: 16.5px; padding: 20px 36px; }
.results .foot { margin-top: 26px; text-align: center; font: 400 12.5px/1.6 var(--font-body); color: #a9a196; }

/* Locations */
.locations { padding: 90px 0 96px; background: var(--sand); border-top: 1px solid #e2d6c0; }
.locations .sec-head .right { color: var(--charcoal); }
.loc-wrap { display: grid; grid-template-columns: 420px 1fr; gap: 26px; align-items: stretch; }
.loc-sel { display: flex; flex-direction: column; gap: 12px; }
.loc-card { display: flex; gap: 16px; align-items: flex-start; text-align: left; background: #fff; border: 1px solid #e7dfd2; border-left: 3px solid #e7dfd2; padding: 18px 20px; position: relative; transition: .2s; cursor: pointer; font-family: var(--font-body); }
.loc-card:hover { box-shadow: 0 12px 28px rgba(18,18,18,.08); }
.loc-card.active { border-color: var(--gold); border-left-width: 3px; background: var(--ivory); box-shadow: 0 12px 28px rgba(212,179,106,.2); }
.loc-card .ico { display: block; width: 24px; height: 24px; color: var(--burgundy); flex-shrink: 0; margin-top: 2px; }
.loc-card .ico svg { width: 24px; height: 24px; }
.loc-card .loc-body { display: block; min-width: 0; }
.loc-card h3 { font: 600 16px/1.3 var(--font-body); margin-bottom: 4px; }
.loc-card p { font: 400 12.5px/1.5 var(--font-body); color: var(--stone); margin-bottom: 8px; }
.loc-links { display: flex; gap: 16px; flex-wrap: wrap; }
.loc-links a { font: 700 13.5px/1 var(--font-body); color: var(--burgundy); text-decoration: none; }
.loc-links a.dir { color: var(--charcoal); font-weight: 600; border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
.loc-links a:hover { color: var(--gold); }
.loc-card .near-badge { display: none; position: absolute; top: -10px; right: 12px; background: var(--gold); color: var(--charcoal); font: 700 10.5px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; padding: 6px 10px; border-radius: 100px; }
.loc-card.nearest { border-color: var(--gold); }
.loc-card.nearest .near-badge { display: block; }
.loc-map { position: relative; border-radius: 4px; overflow: hidden; border: 1px solid #e7dfd2; min-height: 420px; }
.loc-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.geo-btn { margin-top: 10px; font-size: 13px; padding: 13px 22px; }
.locations h2 { font-family: var(--font-display); font-size: 46px; margin-top: 14px; }
.loc-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 38px; }
.loc { border: 1px solid #e7dfd2; padding: 24px 24px 20px; }
.loc h4 { font: 600 17px/1.3 var(--font-body); }
.loc h4 span { color: var(--gold); margin-right: 8px; }
.loc p { font: 400 13px/1.6 var(--font-body); color: var(--stone); margin-top: 6px; }
.chips { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; }
.chip { font: 500 12.5px/1 var(--font-body); color: var(--deepgray); border: 1px solid #ddd4c4; border-radius: 100px; padding: 9px 16px; }
.locations .photo { width: 100%; border-radius: 2px; box-shadow: 0 24px 50px rgba(18,18,18,.16); }

/* Testimonial */
.testi { background: var(--ivory); padding: 100px 0; }
.testi .wrap { display: grid; grid-template-columns: 1fr 1.15fr; gap: 70px; align-items: center; }
.testi img { width: 100%; height: 620px; object-fit: cover; object-position: top; border-radius: 2px; }
.testi blockquote { font-family: var(--font-display); font-size: 34px; line-height: 1.3; font-weight: 500; margin: 24px 0 26px; }
.testi .stars { color: var(--gold); font-size: 20px; letter-spacing: 4px; margin-top: 16px; }
.testi .who { font: 600 14.5px/1.5 var(--font-body); }
.testi .who span { display: block; font: 400 13px/1.5 var(--font-body); color: var(--stone); }
.testi .g { margin-top: 34px; font: 500 13.5px/1 var(--font-body); color: var(--deepgray); }
.testi .g b { color: var(--charcoal); }

/* Client stories */
.stories { padding: 96px 0; background: var(--ivory); }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.story { background: #fff; border: 1px solid #eae2d4; padding: 30px 28px; display: flex; flex-direction: column; }
.story .stars { color: var(--gold); font-size: 17px; letter-spacing: 3px; margin-bottom: 14px; }
.story blockquote { font: 400 15px/1.7 var(--font-body); color: #57534b; flex: 1; }
.story .who { margin-top: 18px; font: 700 14px/1.4 var(--font-body); }
.story .who span { display: block; font: 400 12.5px/1.4 var(--font-body); color: var(--stone); }
.story.more-card { background: var(--charcoal); border-color: var(--charcoal); color: #fff; align-items: flex-start; justify-content: center; }
.story.more-card .big { font-family: var(--font-display); font-size: 52px; color: var(--gold); line-height: 1; }
.story.more-card p { font: 400 15px/1.6 var(--font-body); color: #d8d1c5; margin: 14px 0 20px; }
.story.more-card .btn { border-color: var(--gold); color: var(--gold); }

/* Community */
.community { position: relative; color: #fff; }
.community .bg { position: absolute; inset: 0; background: url('../img/community.jpg') center/cover; }
.community .bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,12,10,.85), rgba(18,12,10,.35)); }
.community .inner { position: relative; padding-top: 120px; padding-bottom: 120px; }
.community h2 { font-family: var(--font-display); font-size: 46px; max-width: 480px; margin: 18px 0 20px; }
.community p { font: 300 17px/1.7 var(--font-body); max-width: 480px; color: #eee6da; margin-bottom: 34px; }

/* CTA + form */
.cta { background: var(--burgundy); color: #fff; padding: 70px 0; border-top: 4px solid var(--gold); }
.cta .wrap.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cta h2 { font-family: var(--font-display); font-size: 52px; line-height: 1.1; margin: 18px 0 20px; }
.cta h2 em { font-style: italic; color: var(--gold); }
.cta p { font: 300 16.5px/1.7 var(--font-body); color: #e6d8d0; max-width: 440px; }
.cta .points { margin-top: 30px; display: grid; gap: 12px; }
.cta .points div { font: 500 14.5px/1.5 var(--font-body); color: #f2e8e2; }
.cta .points span { color: var(--gold); margin-right: 10px; }
.cta.center { padding: 80px 0; text-align: center; }
.cta.center p { max-width: 560px; margin: 0 auto 30px; }
.cta.center h2 { margin: 0 0 14px; }

.form-card { background: #fff; color: var(--charcoal); padding: 44px 42px; border-radius: 3px; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.form-card h3, .form-card .fc-title { font: 600 22px/1.3 var(--font-body); }
.form-card .sub { font: 400 13.5px/1.6 var(--font-body); color: var(--stone); margin: 6px 0 20px; }
.form-card .fine { font: 400 11px/1.6 var(--font-body); color: #a99f8f; margin-top: 16px; }
.form-card .fine a { color: var(--burgundy); }
.form-card.compact { padding: 32px 30px; border-top: 4px solid var(--gold); }
.form-card.compact h3 { font-size: 20px; }
.form-card.compact .sub { margin-bottom: 14px; }
.form-card.compact .gform_wrapper input[type="text"], .form-card.compact .gform_wrapper input[type="tel"], .form-card.compact .gform_wrapper input[type="email"],
.form-card.compact .gform_wrapper select { padding: 11px 14px; font-size: 13.5px; }
.form-card.compact .gform_wrapper textarea { padding: 11px 14px; font-size: 13.5px; max-height: 90px; }
.form-card.compact .gform_wrapper .gfield { margin-bottom: 10px; }
.form-card.compact .gform_wrapper .gfield_label { font-size: 12px; margin-bottom: 2px; }
.form-card.compact .gform_wrapper input[type="text"], .form-card.compact .gform_wrapper input[type="tel"], .form-card.compact .gform_wrapper input[type="email"] { min-width: 100%; }
.form-card.compact .gform_wrapper textarea { min-width: 100%; }
.form-card.compact .gfield--type-html h2 { display: none; }
.gform_validation_container { display: none !important; }
.gform_wrapper .hidden_label .gfield_label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Gravity Forms inside form cards / content */
.form-card .gform_wrapper input[type="text"], .form-card .gform_wrapper input[type="tel"], .form-card .gform_wrapper input[type="email"],
.form-card .gform_wrapper textarea, .form-card .gform_wrapper select,
.entry-content .gform_wrapper input[type="text"], .entry-content .gform_wrapper input[type="tel"], .entry-content .gform_wrapper input[type="email"],
.entry-content .gform_wrapper textarea, .entry-content .gform_wrapper select {
	width: 100%; border: 1px solid #d9d0c0; padding: 14px 16px; font: 400 14px/1.4 var(--font-body); color: var(--charcoal); border-radius: 2px; background: #fff;
}
.gform_wrapper .gfield { margin-bottom: 14px; }
.gform_wrapper .gfield_label { font: 600 13px/1.4 var(--font-body); margin-bottom: 4px; display: inline-block; }
.gform_wrapper .gform_button, .gform_wrapper input[type="submit"] {
	background: var(--gold); color: var(--charcoal); border: 0; font: 700 15px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; padding: 17px 30px; border-radius: 2px; cursor: pointer; width: 100%; transition: .2s;
}
.gform_wrapper .gform_button:hover, .gform_wrapper input[type="submit"]:hover { background: var(--gold-dark); box-shadow: 0 8px 22px rgba(212,179,106,.45); }
.gform_wrapper .gform_footer, .gform_wrapper .gform-footer { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 0; }
.gform_wrapper .gform_footer .rhlf-consent { width: 100%; margin: 12px 0 16px; }
.gform_wrapper .gform_footer .gform_button, .gform_wrapper .gform_footer input[type="submit"] { width: 100%; margin: 0; }
.gform_wrapper .gfield_required { color: var(--burgundy); }

/* Content layout (subpages) */
.content-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 70px; align-items: start; padding-top: 90px; padding-bottom: 90px; }
.content-layout.full { grid-template-columns: 1fr; }
.content-main { min-width: 0; }

.entry-content { font: 400 16px/1.8 var(--font-body); color: #57534b; overflow-wrap: break-word; }
.entry-content > p { margin-bottom: 18px; }
.entry-content > p:first-of-type { font-size: 17.5px; color: #45413a; }
.entry-content h2 { font-family: var(--font-display); font-size: 38px; font-weight: 600; color: var(--charcoal); margin: 46px 0 18px; }
.entry-content h2::after { content: ''; display: block; width: 56px; height: 3px; background: var(--gold); margin-top: 12px; }
.entry-content h3 { font-family: var(--font-display); font-size: 29px; font-weight: 600; color: var(--charcoal); margin: 36px 0 14px; }
.entry-content h4 { font: 600 18px/1.4 var(--font-body); color: var(--charcoal); margin: 28px 0 10px; }
.entry-content ul, .entry-content ol { margin: 0 0 20px 4px; list-style: none; }
.entry-content ol { counter-reset: rhlf; }
.entry-content ul > li, .entry-content ol > li { padding-left: 26px; position: relative; margin-bottom: 10px; }
.entry-content ul > li::before { content: '◆'; color: var(--gold); position: absolute; left: 0; font-size: 11px; top: 6px; }
.entry-content ol > li::before { counter-increment: rhlf; content: counter(rhlf, decimal-leading-zero); color: var(--gold); font: 600 13px/1.6 var(--font-body); position: absolute; left: 0; top: 2px; }
.entry-content blockquote { border-left: 3px solid var(--gold); background: var(--ivory); padding: 26px 30px; margin: 30px 0; font-family: var(--font-display); font-size: 23px; line-height: 1.4; color: var(--charcoal); }
.entry-content a { color: var(--burgundy); text-decoration-color: var(--gold); }
.entry-content img { border-radius: 2px; }
.entry-content table { border-collapse: collapse; width: 100%; margin: 24px 0; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; font-size: 14.5px; }
.entry-content th { background: var(--ivory); }
.entry-content iframe { max-width: 100%; }
.entry-content .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; }
.entry-content .table-scroll table { margin: 0; min-width: 480px; }

/* Sidebar */
.side { position: sticky; top: 116px; display: grid; gap: 26px; }
.side .form-card { box-shadow: 0 24px 60px rgba(18,18,18,.14); border: 2px solid var(--gold); border-top-width: 5px; }
.side .form-card .eyebrow { display: block; margin-bottom: 8px; color: var(--burgundy); }
.side .form-card h3 { font-size: 19px; line-height: 1.35; }
.why-card { background: var(--charcoal); color: #fff; padding: 34px 32px; }
.why-card .list { display: grid; gap: 18px; margin-top: 20px; }
.why-card .list div { font: 500 14.5px/1.4 var(--font-body); }
.why-card .list span { color: var(--gold); margin-right: 8px; }
.side .photo { width: 100%; display: block; }
.side .widget { border: 1px solid var(--line); padding: 24px; font-size: 14px; }
.side .widget-title { font: 600 15px/1.3 var(--font-body); margin-bottom: 12px; }

/* Blog archive cards */
.post-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.post-card { border: 1px solid #eae2d4; background: #fff; display: flex; flex-direction: column; text-decoration: none; color: var(--charcoal); transition: .2s; }
.post-card:hover { box-shadow: 0 18px 40px rgba(18,18,18,.1); transform: translateY(-3px); }
.post-card img { width: 100%; height: 210px; object-fit: cover; }
.post-card .body { padding: 24px 26px 28px; }
.post-card .meta { font: 500 12px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--stone); margin-bottom: 10px; }
.post-card h2, .post-card h3 { font: 600 19px/1.35 var(--font-body); margin-bottom: 8px; }
.post-card p { font: 400 14px/1.65 var(--font-body); color: var(--deepgray); }
.pagination { margin-top: 44px; display: flex; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers { border: 1px solid var(--line); padding: 10px 16px; text-decoration: none; color: var(--charcoal); font: 500 14px/1 var(--font-body); }
.pagination .page-numbers.current { background: var(--burgundy); color: #fff; border-color: var(--burgundy); }

.post-nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 26px; border-top: 1px solid var(--line); }
.post-nav a { font: 500 14px/1.5 var(--font-body); color: var(--burgundy); text-decoration: none; max-width: 46%; }

/* Search form */
.search-form { display: flex; gap: 10px; margin: 20px 0; }
.search-form input[type="search"] { flex: 1; border: 1px solid #d9d0c0; padding: 14px 16px; font: 400 14px/1.4 var(--font-body); border-radius: 2px; }

/* Footer */
footer.site-footer { background: var(--charcoal); color: #a79e91; padding: 80px 0 0; }
footer.site-footer .top { display: grid; grid-template-columns: 1.7fr repeat(6, 1fr); gap: 34px; padding-bottom: 60px; border-bottom: 1px solid #2a2722; }
footer.site-footer .brand img { height: 56px; width: auto; margin-bottom: 22px; }
footer.site-footer .slog { font: 700 13px/1 var(--font-body); letter-spacing: .3em; color: var(--gold); margin-bottom: 18px; }
footer.site-footer .brand p { font: 400 13.5px/1.7 var(--font-body); max-width: 300px; }
footer.site-footer .f-h { font: 600 12.5px/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: #fff; margin-bottom: 20px; }
footer.site-footer ul { list-style: none; }
footer.site-footer ul li { margin-bottom: 12px; }
footer.site-footer ul a { font: 400 14px/1.4 var(--font-body); color: #a79e91; text-decoration: none; }
footer.site-footer ul a:hover { color: var(--gold); }
footer.site-footer .follow-lbl { font: 600 12px/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: #fff; margin-top: 26px; }
footer.site-footer .social { display: flex; gap: 12px; margin-top: 14px; }
footer.site-footer .social a { color: #cfc8bd; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #2a2722; border-radius: 50%; transition: .2s; }
footer.site-footer .social a svg { width: 18px; height: 18px; }
footer.site-footer .social a:hover { color: var(--charcoal); background: var(--gold); border-color: var(--gold); }
footer.site-footer .newsletter { display: flex; justify-content: space-between; align-items: center; gap: 34px; flex-wrap: wrap; padding: 58px 0; border-bottom: 1px solid #2a2722; border-top: 3px solid var(--gold); }
footer.site-footer .newsletter .nl-txt p { font: 400 16px/1.7 var(--font-body); max-width: 460px; color: #e8e2d6; }
footer.site-footer .newsletter .f-h { margin-bottom: 10px; font-size: 22px; letter-spacing: .16em; color: var(--gold); }
footer.site-footer .nl-form { display: flex; gap: 12px; flex-wrap: wrap; }
footer.site-footer .nl-form input { background: #fff; border: 2px solid var(--gold); color: var(--charcoal); padding: 18px 20px; font: 400 15.5px/1.4 var(--font-body); border-radius: 2px; min-width: 250px; }
footer.site-footer .nl-form input::placeholder { color: #6f675a; }
footer.site-footer .nl-form .btn { padding: 18px 34px; font-size: 15px; }
footer.site-footer .nl-thanks { width: 100%; color: var(--gold); font: 600 13px/1.4 var(--font-body); }

/* Cookie consent */
footer.site-footer .bottom { display: flex; justify-content: space-between; padding: 26px 0; font: 400 12px/1.6 var(--font-body); color: #a9a196; gap: 14px; flex-wrap: wrap; }
footer.site-footer .bottom a { color: #a9a196; }

/* Attorneys directory */
.atty-hero .bg { background: url('../img/team.jpg') center 20%/cover no-repeat; opacity: .35; }
.atty-grid-sec { padding: 90px 0; background: var(--ivory); }
.atty-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.atty-card { background: #fff; border: 1px solid #eae2d4; text-decoration: none; color: var(--charcoal); display: flex; flex-direction: column; transition: .2s; overflow: hidden; }
.atty-card:hover { box-shadow: 0 18px 40px rgba(18,18,18,.12); transform: translateY(-3px); }
.atty-card .ph { display: block; height: 240px; background: var(--sand); overflow: hidden; }
.atty-card .ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: .3s; }
.atty-card:hover .ph img { transform: scale(1.04); }
.atty-card .ph-fallback { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--warmgray); }
.atty-card .ph-fallback svg { width: 60px; height: 60px; }
.atty-card .nm { font: 600 15.5px/1.35 var(--font-body); padding: 16px 18px 4px; }
.atty-card .ln { font: 600 12px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dark); padding: 0 18px 18px; }

/* Contact page */
.contact-hero { background: var(--charcoal); color: #fff; padding: 80px 0 90px; position: relative; }
.contact-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg, var(--gold), #a11914); }
.contact-hero .grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: start; }
.contact-hero h1 { font-family: var(--font-display); font-size: clamp(34px, 4.4vw, 60px); margin: 16px 0 0; }
.contact-hero p.sub { font: 300 17.5px/1.7 var(--font-body); color: #d8d1c5; max-width: 480px; margin: 18px 0 0; }
.contact-hero p.lead { font: 400 clamp(19px, 2vw, 24px)/1.45 var(--font-body); color: #f3efe8; max-width: 520px; margin: 18px 0 0; }
.contact-hero p.sub + p.sub { margin-top: 8px; }
.contact-hero .btn-call { margin-top: 30px; }
.contact-hero .btn-call svg { width: 18px; height: 18px; }
.contact-hero .rhlf-breadcrumbs { color: #8f887c; margin-bottom: 16px; }
.contact-hero .rhlf-breadcrumbs a { color: #8f887c; }
.call-band { display: flex; align-items: center; gap: 18px; background: #1c1a18; border: 1px solid #2c2823; border-left: 4px solid var(--gold); padding: 20px 24px; margin-top: 32px; text-decoration: none; color: #fff; transition: .2s; max-width: 430px; }
.call-band:hover { border-color: var(--gold); box-shadow: 0 14px 34px rgba(212,179,106,.2); }
.call-band .ic { color: var(--gold); }
.call-band .ic svg { width: 30px; height: 30px; }
.call-band .l { display: block; font: 500 12px/1.4 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #b6af9f; }
.call-band .n { font: 700 26px/1.2 var(--font-body); color: var(--gold); }
.alt-lines { margin-top: 24px; display: grid; gap: 8px; font: 400 14px/1.5 var(--font-body); color: #b6af9f; }
.alt-lines a { color: #f3efe8; text-decoration: none; }
.alt-lines a:hover { color: var(--gold); }
.contact-locs { background: var(--ivory); }
.map-embed { margin-top: 34px; border-radius: 4px; overflow: hidden; box-shadow: 0 20px 50px rgba(18,18,18,.12); }
.map-embed iframe { width: 100%; height: 380px; border: 0; display: block; }

/* Content-family accents so subpages feel distinct */
body.rhlf-team .page-hero { background: var(--charcoal); }
body.rhlf-team .page-hero .bg::after { background: linear-gradient(90deg, rgba(12,10,8,.85), rgba(12,10,8,.4)); }
body.rhlf-resource .page-hero { background: #2a3540; }
body.rhlf-resource .page-hero .bg { opacity: .18; }
body.rhlf-resource .page-hero .bg::after { background: linear-gradient(90deg, rgba(30,40,50,.8), rgba(30,40,50,.4)); }
body.rhlf-community .page-hero { background: #39422f; }
body.rhlf-community .page-hero .bg::after { background: linear-gradient(90deg, rgba(45,53,37,.8), rgba(45,53,37,.4)); }
body.rhlf-results .page-hero { background: var(--charcoal); }
body.rhlf-results .page-hero .bg::after { background: linear-gradient(90deg, rgba(18,18,18,.9), rgba(18,18,18,.5)); }
body.rhlf-legal .page-hero { background: #3a3630; }
body.rhlf-legal .page-hero .bg { display: none; }
body.rhlf-legal .page-hero .inner { padding-top: 46px; padding-bottom: 50px; }
body.rhlf-legal .page-hero .ctas { display: none; }
body.rhlf-location .page-hero { background: #54402c; }
body.rhlf-cams .page-hero { background: #101820; }
body.rhlf-cams .page-hero .bg::after { background: linear-gradient(90deg, rgba(10,16,24,.88), rgba(10,16,24,.45)); }

/* Services hub */
.svc-hero { position: relative; color: #fff; background: linear-gradient(120deg, #121212 0%, #2a1210 70%, var(--burgundy) 100%); }
.svc-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--gold), transparent); }
.svc-hero .inner { position: relative; padding-top: 84px; padding-bottom: 92px; }
.svc-hero h1 { font-family: var(--font-display); font-size: clamp(38px, 4.6vw, 64px); line-height: 1.06; max-width: 880px; margin: 18px 0 0; }
.svc-hero h1 em { font-style: italic; color: var(--gold); }
.svc-hero p.sub { font: 300 18px/1.7 var(--font-body); color: #e0d8ca; max-width: 640px; margin: 20px 0 0; }
.svc-hero .ctas { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
.svc-grid-sec { padding: 90px 0; background: var(--ivory); }
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.svc-card { position: relative; background: #fff; border: 1px solid #eae2d4; padding: 30px 28px 26px; text-decoration: none; color: var(--charcoal); overflow: hidden; transition: .22s; }
.svc-card::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 3px; background: var(--gold); transition: width .3s; }
.svc-card:hover { box-shadow: 0 20px 46px rgba(18,18,18,.12); transform: translateY(-4px); }
.svc-card:hover::before { width: 100%; }
.svc-card .num { position: absolute; top: 18px; right: 22px; font: 700 40px/1 var(--font-display); color: #f0e7d6; }
.svc-card .ico { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; background: var(--sand); border-radius: 3px; color: var(--burgundy); }
.svc-card .ico svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.svc-card h2 { font: 700 19px/1.25 var(--font-body); margin: 18px 0 8px; }
.svc-card p { font: 400 14px/1.65 var(--font-body); color: var(--warmgray); margin: 0 0 16px; }
.svc-card .ln { font: 600 12px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dark); }
.svc-card.featured { background: var(--burgundy); color: #fff; border-color: var(--burgundy); }
.svc-card.featured .num { color: rgba(255,255,255,.14); }
.svc-card.featured .ico { background: rgba(212,179,106,.16); color: var(--gold); }
.svc-card.featured p { color: #e4d4c8; }
.svc-card.featured .ln { color: var(--gold); }
.svc-band { background: var(--charcoal); color: #fff; padding: 72px 0; }
.svc-band .grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: center; }
.svc-band h2 { font-family: var(--font-display); font-size: clamp(28px, 3vw, 42px); margin: 14px 0 0; }
.svc-band p { font: 300 16px/1.7 var(--font-body); color: #cfc8bb; margin: 14px 0 0; max-width: 560px; }
.svc-band .band-ctas { display: grid; gap: 12px; }
.svc-band .btn-ghost { border-color: var(--gold); color: var(--gold); }

/* Results wall */
.res-hero { position: relative; color: #fff; background: #121212; }
.res-hero .inner { position: relative; padding-top: 84px; padding-bottom: 70px; }
.res-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 60px); line-height: 1.08; max-width: 900px; margin: 18px 0 0; }
.res-hero h1 em { font-style: italic; color: var(--gold); }
.res-hero p.sub { font: 300 17.5px/1.7 var(--font-body); color: #d8d1c5; max-width: 660px; margin: 18px 0 0; }
.res-stats { display: flex; gap: 60px; margin-top: 44px; padding-top: 34px; border-top: 1px solid #2c2823; flex-wrap: wrap; }
.res-stats b { display: block; font: 700 44px/1 var(--font-display); color: var(--gold); }
.res-stats span { display: block; font: 500 12.5px/1.5 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: #9a9384; margin-top: 8px; max-width: 190px; }
.res-wall { background: var(--ivory); padding: 80px 0; }
.res-content > h1, .res-content > h3, .res-content > h4 { display: none; }
.rsrc-body .entry-content > h1:first-child { display: none; }
.res-content h1, .res-content h2.settlements-title { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); color: var(--charcoal); margin: 40px 0 8px; }
.res-content h3, .res-content h4 { font: 600 17px/1.5 var(--font-body); color: var(--burgundy); }
.res-content .settlements-list { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.res-content .settlements-list li { background: #fff; border: 1px solid #eae2d4; border-left: 3px solid var(--gold); padding: 18px 22px; font: 500 15px/1.55 var(--font-body); color: var(--charcoal); margin: 0; }
.res-disclaimer { margin-top: 34px; font: 400 12.5px/1.6 var(--font-body); color: var(--stone); }
/* RECENT VERDICTS & SETTLEMENTS — redesigned card grid (same content, cleaner layout). */
.res-content > h2:not(.settlements-title) { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 42px); color: var(--charcoal); text-align: center; margin: 74px 0 10px; }
.res-content .verdict-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0 0; counter-reset: verdict; }
.res-content .verdict-box { position: relative; background: #fff; color: var(--charcoal); padding: 30px 30px 26px; border: 1px solid #e9e0cf; border-top: 3px solid var(--gold); border-radius: 6px; box-shadow: 0 14px 34px -22px rgba(29,22,16,.4); counter-increment: verdict; }
.res-content .verdict-box:not(.image)::before { content: counter(verdict, decimal-leading-zero); position: absolute; top: 24px; right: 26px; font: 700 13px/1 var(--font-body); letter-spacing: .14em; color: var(--gold); }
.res-content .verdict-box h3 { color: var(--charcoal); font: 700 22px/1.28 var(--font-display); margin: 0 46px 14px 0; padding-bottom: 14px; border-bottom: 1px solid #efe6d4; }
.res-content .verdict-box .inner-content { font: 400 14.5px/1.7 var(--font-body); color: #4a463f; }
.res-content .verdict-box .inner-content a { color: var(--burgundy); }
.res-content .verdict-box .v-desc { margin-bottom: 16px; }
.res-content .verdict-box .v-status { display: inline-block; font: 700 12px/1.5 var(--font-body); letter-spacing: .04em; color: var(--burgundy); background: #f7efe1; border: 1px solid #e8d7b2; border-radius: 999px; padding: 8px 16px; }
.res-content .verdict-box.image { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.res-content .verdict-box.image img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; display: block; border-radius: 6px; }
.res-content .settlements-container { background: #fff; border: 1px solid #e9e0cf; border-radius: 8px; padding: 34px 38px 38px; box-shadow: 0 14px 34px -22px rgba(29,22,16,.3); }
.res-content .settlements-container .settlements-title { margin-top: 0; }
@media (max-width: 640px) { .res-content .verdict-wrapper { grid-template-columns: 1fr; } .res-content .settlements-container { padding: 24px 22px 26px; } }

/* Resources hub */
.rsrc-grid-sec { padding: 80px 0 30px; background: var(--ivory); }
.rsrc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rsrc-card { background: #fff; border: 1px solid #eae2d4; border-top: 3px solid var(--desert-sky, #546C84); padding: 28px 26px 24px; text-decoration: none; color: var(--charcoal); transition: .2s; }
.rsrc-card:nth-child(3n+2) { border-top-color: var(--gold); }
.rsrc-card:nth-child(3n) { border-top-color: var(--burgundy); }
.rsrc-card:hover { box-shadow: 0 18px 40px rgba(18,18,18,.1); transform: translateY(-3px); }
.rsrc-card .ico { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; background: var(--sand); border-radius: 50%; color: var(--charcoal); }
.rsrc-card .ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.rsrc-card h2 { font: 700 18px/1.3 var(--font-body); margin: 16px 0 8px; }
.rsrc-card p { font: 400 14px/1.65 var(--font-body); color: var(--warmgray); margin: 0 0 14px; }
.rsrc-card .ln { font: 600 12px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dark); }
.rsrc-body { padding-top: 40px; }

@media (max-width: 980px) {
	.svc-grid { grid-template-columns: 1fr 1fr; }
	.rsrc-grid { grid-template-columns: 1fr 1fr; }
	.svc-band .grid { grid-template-columns: 1fr; gap: 26px; }
	.res-stats { gap: 34px; }
}
@media (max-width: 640px) {
	.svc-grid, .rsrc-grid { grid-template-columns: 1fr; }
	.res-content .settlements-list { grid-template-columns: 1fr; }
	.svc-grid-sec, .res-wall { padding: 56px 0; }
	.res-stats b { font-size: 34px; }
}

/* FAQ center */
.faq-hero { position: relative; color: #fff; background: linear-gradient(115deg, #1c2530 0%, #2a3540 60%, #3c4c5c 100%); }
.faq-hero .inner { padding-top: 80px; padding-bottom: 84px; }
.faq-hero h1 { font-family: var(--font-display); font-size: clamp(34px, 4.2vw, 56px); line-height: 1.1; max-width: 860px; margin: 18px 0 0; }
.faq-hero h1 em { font-style: italic; color: var(--gold); }
.faq-hero p.sub { font: 300 17.5px/1.7 var(--font-body); color: #cfd6dd; max-width: 620px; margin: 18px 0 0; }
.faq-body { background: var(--ivory); padding: 70px 0 90px; }
.faq-layout { display: grid; grid-template-columns: 260px 1fr; gap: 50px; align-items: start; }
.faq-toc { position: sticky; top: 96px; display: grid; gap: 2px; }
.faq-toc a { font: 500 14px/1.4 var(--font-body); color: var(--charcoal); text-decoration: none; padding: 11px 16px; border-left: 2px solid #e2d9c8; transition: .15s; }
.faq-toc a:hover { border-left-color: var(--gold); color: var(--burgundy); background: #fff; }
.faq-content h2.faq-cat { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 34px); color: var(--charcoal); margin: 40px 0 18px; scroll-margin-top: 100px; }
.faq-content h2.faq-cat:first-of-type { margin-top: 0; }
.faq-content .ssmenubar, .faq-content .containerbox, .faq-content .services_header--img { display: none; }
.faq-item { background: #fff; border: 1px solid #eae2d4; margin-bottom: 10px; }
.faq-item.open { border-color: var(--gold); box-shadow: 0 10px 26px rgba(18,18,18,.07); }
.faq-q { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: 18px 20px; font: 600 15.5px/1.45 var(--font-body); color: var(--charcoal); }
.faq-q:hover { color: var(--burgundy); }
.faq-q i { position: relative; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--sand); }
.faq-q i::before, .faq-q i::after { content: ''; position: absolute; top: 50%; left: 50%; width: 10px; height: 2px; background: var(--burgundy); transform: translate(-50%, -50%); transition: .2s; }
.faq-q i::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item.open .faq-q i::after { transform: translate(-50%, -50%) rotate(0); }
.faq-a { display: none; padding: 0 20px 20px; font: 400 15px/1.75 var(--font-body); color: #4c463d; }
.faq-item.open .faq-a { display: block; }
.faq-a a { color: var(--burgundy); }

/* Staff grid (legacy shortcode output) */
body.rhlf-team .team-list-wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 10px; }
body.rhlf-team .team-list-wrapper .cats { width: 100% !important; max-width: none !important; float: none !important; background: #fff; border: 1px solid #eae2d4; padding: 0 0 16px; text-align: center; transition: .2s; }
body.rhlf-team .team-list-wrapper .cats:hover { box-shadow: 0 16px 36px rgba(18,18,18,.1); transform: translateY(-3px); }
body.rhlf-team .team-list-wrapper .cats img { width: 100%; height: auto; display: block; margin-bottom: 14px; }
body.rhlf-team .team-list-wrapper .cats h4 { font: 600 15px/1.35 var(--font-body); color: var(--charcoal); margin: 0 12px 2px; }
body.rhlf-team .team-list-wrapper .cats p, body.rhlf-team .team-list-wrapper .cats h5 { font: 400 12.5px/1.5 var(--font-body); color: var(--warmgray); margin: 0 12px; }
body.rhlf-team .entry-content > h1:first-child, body.rhlf-team .entry-content h1.big { display: none; }

.staff-grid-sec { background: var(--ivory); padding: 70px 0 90px; }
.staff-content .container, .staff-content .content-width, .staff-content .all-staff { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.staff-content > h1, .staff-content h1.big { display: none; }
.staff-content .gform_wrapper, .staff-content .filter-staff { display: none !important; }

/* Generic: hide duplicate legacy H1 (hero already shows the title) */
.content-main .entry-content > h1:first-child { display: none; }

/* Practice-area steps band */
.steps-band { background: var(--sand); padding: 76px 0; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.step { position: relative; background: #fff; border: 1px solid #eee5d5; padding: 30px 28px 26px; }
.step .n { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 50%; background: var(--burgundy); color: var(--gold); font: 700 19px/1 var(--font-display); }
.step h3 { font: 700 17.5px/1.3 var(--font-body); color: var(--charcoal); margin: 16px 0 8px; }
.step p { font: 400 14.5px/1.65 var(--font-body); color: var(--warmgray); margin: 0; }

@media (max-width: 980px) {
	.faq-layout { grid-template-columns: 1fr; gap: 28px; }
	.faq-toc { position: static; grid-auto-flow: row; }
	body.rhlf-team .team-list-wrapper { grid-template-columns: repeat(3, 1fr); }
	.steps { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	body.rhlf-team .team-list-wrapper { grid-template-columns: 1fr 1fr; gap: 12px; }
	.faq-body { padding: 44px 0 60px; }
}

/* Home AI estimator band */
.ai-band { background: radial-gradient(120% 160% at 85% 0%, #6d2320 0%, var(--burgundy) 45%, #2e0d0c 100%); color: #fff; border-top: 4px solid var(--gold); border-bottom: 4px solid var(--gold); position: relative; overflow: hidden; }
.ai-band::before { content: '✦'; position: absolute; right: -30px; top: -60px; font-size: 340px; color: rgba(212,179,106,.08); line-height: 1; pointer-events: none; }
.ai-band .grid { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 68px 24px 62px; flex-wrap: wrap; }
.ai-band .tool-badge { display: inline-block; background: var(--gold); color: #121212; font: 700 12px/1 var(--font-body); letter-spacing: .18em; padding: 9px 14px; border-radius: 2px; }
.ai-band h2 { font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 46px); line-height: 1.12; margin: 18px 0 0; color: #fff; }
.ai-band h2 em { font-style: italic; color: var(--gold); }
.ai-band p { font: 300 16px/1.7 var(--font-body); color: #ecd9cf; max-width: 560px; margin: 12px 0 0; }
.ai-band .steps { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 22px; font: 500 13.5px/1.4 var(--font-body); color: #e8cd8f; }
.ai-band .steps b { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; background: rgba(212,179,106,.2); border: 1px solid var(--gold); color: var(--gold); font-size: 12px; align-items: center; justify-content: center; margin-right: 6px; }
.ai-band .steps .sep { color: rgba(212,179,106,.5); }
.ai-band .act { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ai-band .btn-est { background: linear-gradient(180deg, #e8cd8f, var(--gold)); color: #121212; font-size: 17px; padding: 20px 30px; box-shadow: 0 14px 34px rgba(0,0,0,.35); animation: est-pulse 2.6s ease-in-out infinite; }
.ai-band .btn-est:hover { transform: translateY(-2px); }
@keyframes est-pulse { 0%,100% { box-shadow: 0 14px 34px rgba(0,0,0,.35), 0 0 0 0 rgba(212,179,106,.45); } 50% { box-shadow: 0 14px 34px rgba(0,0,0,.35), 0 0 0 14px rgba(212,179,106,0); } }
.ai-band .note { font: 500 11.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #d9b98f; }

/* Ask Harris AI bar (subpages) */
.ai-ask { background: var(--sand); border-bottom: 1px solid #e6dcc9; }
.ai-ask .wrap { padding-top: 18px; padding-bottom: 18px; }
.ai-ask-bar { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e2d8c4; border-radius: 100px; padding: 6px 6px 6px 20px; max-width: 760px; margin: 0 auto; box-shadow: 0 8px 24px rgba(18,18,18,.06); }
.ai-ask-bar .spark { color: var(--burgundy); font-size: 17px; }
.ai-ask-bar input { flex: 1; min-width: 0; border: 0; background: none; font: 400 14.5px/1.4 var(--font-body); color: var(--charcoal); outline: none; }
.ai-ask-bar button { flex-shrink: 0; border: 0; cursor: pointer; background: var(--charcoal); color: var(--gold); font: 600 12.5px/1 var(--font-body); letter-spacing: .06em; border-radius: 100px; padding: 13px 20px; transition: .15s; white-space: nowrap; }
.ai-ask-bar button:hover { background: var(--burgundy); }
@media (max-width: 640px) {
	.ai-ask-bar { padding-left: 14px; }
	.ai-ask-bar input::placeholder { font-size: 13px; }
	.ai-band .grid { padding: 38px 24px; }
}

/* Search suggestions dropdown */
.ai-ask-bar { position: relative; }
.ai-ask-sug { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: #fff; border: 1px solid #e2d8c4; border-radius: 12px; box-shadow: 0 18px 44px rgba(18,18,18,.16); overflow: hidden; z-index: 60; }
.ai-ask-sug .sug-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 18px; text-decoration: none; color: var(--charcoal); border-bottom: 1px solid #f1ebdf; }
.ai-ask-sug .sug-item:hover { background: var(--ivory); }
.ai-ask-sug .sug-item .t { font: 500 14px/1.4 var(--font-body); }
.ai-ask-sug .sug-item .k { flex-shrink: 0; font: 600 10.5px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: #a08f74; background: var(--sand); border-radius: 100px; padding: 6px 10px; }
.ai-ask-sug .sug-ai { display: block; width: 100%; text-align: left; border: 0; cursor: pointer; background: var(--charcoal); color: var(--gold); font: 600 13px/1.4 var(--font-body); padding: 14px 18px; }
.ai-ask-sug .sug-ai:hover { background: var(--burgundy); }
.ai-ask-sug .sug-none { padding: 13px 18px; font: 400 13.5px/1.4 var(--font-body); color: #6d655a; }

/* Search results */
.search-results .result-list { display: flex; flex-direction: column; gap: 16px; }
.search-results .result { display: block; background: #fff; border: 1px solid #e6dcc9; border-radius: 6px; padding: 22px 24px; text-decoration: none; color: var(--charcoal); transition: .15s; }
.search-results .result:hover { border-color: var(--gold); box-shadow: 0 10px 26px rgba(18,18,18,.08); }
.search-results .result .kind { font: 600 10.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #a08f74; background: var(--sand); border-radius: 100px; padding: 6px 10px; }
.search-results .result h3 { font-family: var(--font-display); font-size: 22px; margin: 12px 0 0; color: var(--burgundy); }
.search-results .result .url { display: block; font: 400 12.5px/1 var(--font-body); color: #9a8f7f; margin-top: 8px; word-break: break-all; }
.search-results .result p { font: 300 14.5px/1.7 var(--font-body); color: #5c554a; margin: 10px 0 0; }
.search-results .no-results { background: #fff; border: 1px solid #e6dcc9; border-radius: 6px; padding: 36px 30px; }
.search-results .no-results h3 { font-family: var(--font-display); font-size: 24px; margin: 0 0 8px; }
.search-results .no-results p { font: 300 15px/1.7 var(--font-body); color: #5c554a; margin: 0; }

/* AI Case Estimator */
.ai-hero { position: relative; color: #fff; background: linear-gradient(120deg, #121212 0%, #1e1b16 55%, #2c2114 100%); text-align: center; }
.ai-hero .inner { padding-top: 84px; padding-bottom: 72px; }
.ai-hero .rhlf-breadcrumbs { justify-content: center; }
.ai-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 58px); line-height: 1.08; max-width: 780px; margin: 18px auto 0; }
.ai-hero h1 em { font-style: italic; color: var(--gold); }
.ai-hero p.sub { font: 300 17px/1.7 var(--font-body); color: #d9d2c6; max-width: 640px; margin: 18px auto 0; }
.ai-hero .badges { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
.ai-hero .badge { font: 500 12px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #e8e1d5; border: 1px solid #3a352f; border-radius: 100px; padding: 10px 18px; }
.ai-hero .badge b { color: var(--gold); }

/* Traffic cameras — full-page control room */
.cams-ops { background: linear-gradient(180deg, #171210 0%, #0b0908 260px); color: #f2ede4; padding: clamp(28px, 4vw, 56px) 0 64px; }
.ops-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: 0 clamp(16px, 3vw, 48px); margin-bottom: clamp(20px, 2.5vw, 34px); }
.ops-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 700 11.5px/1 var(--font-body); letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.ops-dot { width: 8px; height: 8px; border-radius: 50%; background: #ff5148; animation: cxPulse 1.4s infinite ease-in-out; }
.ops-title h1 { font-family: var(--font-display); font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; color: #fff; margin: 12px 0 0; }
.ops-title p { font: 300 15.5px/1.7 var(--font-body); color: rgba(242,237,228,.7); max-width: 640px; margin: 14px 0 0; }
.ops-ctas { display: flex; gap: 12px; flex-wrap: wrap; padding-bottom: 6px; }
.ops-ctas .btn-ghost { border-color: rgba(242,237,228,.35); color: #f2ede4; }
.ops-ctas .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
.cams-full { padding: 0 clamp(12px, 2.5vw, 40px); }
.ops-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin: 28px clamp(12px, 2.5vw, 40px) 0; border: 1px solid rgba(212,179,106,.3); border-left: 4px solid var(--gold); border-radius: 8px; background: rgba(212,179,106,.06); padding: 26px clamp(20px, 2.5vw, 34px); }
.ops-note h2 { font-family: var(--font-display); font-size: 24px; color: #fff; margin: 0; }
.ops-note p { font: 300 14.5px/1.7 var(--font-body); color: rgba(242,237,228,.7); max-width: 660px; margin: 8px 0 0; }
.cam-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 760px) { .cam-cards { grid-template-columns: 1fr; } }
.cam-card { display: block; background: #fff; border: 1px solid #e6dcc9; border-radius: 6px; overflow: hidden; text-decoration: none; color: var(--charcoal); transition: .2s; box-shadow: 0 8px 24px rgba(18,18,18,.06); }
.cam-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(18,18,18,.14); }
.cam-card .visual { position: relative; height: 170px; background: radial-gradient(circle at 65% 40%, #2c3945 0%, #141a20 70%); }
.cam-card .rec { position: absolute; top: 14px; left: 16px; color: #ff5b4d; font: 700 11px/1 var(--font-body); letter-spacing: .12em; }
.cam-card .tag { position: absolute; bottom: 14px; right: 16px; background: rgba(0,0,0,.55); color: var(--gold); font: 600 12px/1 var(--font-body); letter-spacing: .08em; padding: 8px 12px; border-radius: 3px; }
.cam-card h2 { font-family: var(--font-display); font-size: 24px; margin: 20px 22px 0; }
.cam-card p { font: 300 14.5px/1.7 var(--font-body); color: #5c554a; margin: 10px 22px 0; }
.cam-card .go { display: inline-block; margin: 16px 22px 24px; font: 600 13px/1 var(--font-body); letter-spacing: .05em; color: var(--burgundy); }
/* Live camera explorer (React island) */
.cx-loading { display: flex; gap: 8px; justify-content: center; padding: 80px 0; }
.cx-loading span { width: 10px; height: 10px; border-radius: 50%; background: var(--gold); animation: cxPulse 1.2s infinite ease-in-out; }
.cx-loading span:nth-child(2) { animation-delay: .2s; }
.cx-loading span:nth-child(3) { animation-delay: .4s; }
@keyframes cxPulse { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.1); } }
#cam-explorer.cx-ready .cx-loading { display: none; }
.cx { background: #14100e; border: 1px solid rgba(212,179,106,.18); border-radius: 12px; padding: clamp(16px, 2vw, 30px); color: #f2ede4; box-shadow: 0 24px 60px rgba(0,0,0,.35); min-height: 82vh; display: flex; flex-direction: column; }
.cx-stage { flex: 1; }
.cx-controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.cx-tabs { display: flex; gap: 8px; }
.cx-tabs button { border: 1px solid rgba(212,179,106,.35); background: transparent; color: #f2ede4; font: 600 14px/1 var(--font-body); padding: 12px 18px; border-radius: 999px; cursor: pointer; }
.cx-tabs button b { color: var(--gold); margin-left: 4px; }
.cx-tabs button.on { background: var(--gold); color: #14100e; }
.cx-tabs button.on b { color: #4c1513; }
.cx-search { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 10px 14px; }
.cx-search input { flex: 1; background: transparent; border: none; color: #f2ede4; font: 400 14px/1.4 var(--font-body); outline: none; }
.cx-search input::placeholder { color: rgba(242,237,228,.45); }
.cx-count { margin: 0; font: 600 13px/1 var(--font-body); color: var(--gold); white-space: nowrap; }
.cx-stage { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; }
.cx-map { height: auto; min-height: 640px; border-radius: 8px; overflow: hidden; background: #0b0908; }
.cx-map .cx-tiles { filter: grayscale(1) invert(1) brightness(.85) contrast(.9) sepia(.25); }
.cx-pin { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); border: 2px solid #14100e; box-shadow: 0 0 0 2px rgba(212,179,106,.5); }
.cx-pin.on { background: #ff5148; box-shadow: 0 0 0 4px rgba(255,81,72,.4); }
.cx-side { display: flex; flex-direction: column; gap: 12px; min-height: 640px; max-height: 82vh; }
.cx-near { border: 1px solid rgba(212,179,106,.45); background: rgba(212,179,106,.1); color: var(--gold); border-radius: 100px; padding: 10px 16px; font: 600 12.5px/1 var(--font-body); cursor: pointer; white-space: nowrap; transition: .15s; }
.cx-near:hover:not(:disabled) { background: var(--gold); color: #14100e; }
.cx-near:disabled { opacity: .55; cursor: default; }
.cx-player-actions { margin-left: auto; display: flex; gap: 6px; }
.cx-player-actions button { border: 1px solid rgba(212,179,106,.4); background: rgba(212,179,106,.08); color: var(--gold); border-radius: 6px; padding: 6px 10px; font: 600 12px/1 var(--font-body); cursor: pointer; transition: .15s; }
.cx-player-actions button:hover { background: var(--gold); color: #14100e; }
.cx-frame:fullscreen video { width: 100%; height: 100%; object-fit: contain; }
.cx-player { border-radius: 8px; overflow: hidden; background: #000; }
.cx-player video { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #000; }
.cx-player-bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #0b0908; }
.cx-player-bar strong { font: 600 14px/1.3 var(--font-body); color: #f2ede4; }
.cx-badge { font: 700 11px/1 var(--font-body); letter-spacing: .08em; padding: 6px 10px; border-radius: 4px; white-space: nowrap; }
.cx-badge.live { background: rgba(255,81,72,.15); color: #ff6a62; }
.cx-badge.loading { background: rgba(212,179,106,.15); color: var(--gold); }
.cx-badge.error { background: rgba(255,255,255,.1); color: rgba(242,237,228,.6); }
.cx-close { align-self: flex-end; border: none; background: transparent; color: rgba(242,237,228,.6); font: 600 13px/1 var(--font-body); cursor: pointer; padding: 4px; }
.cx-close:hover { color: var(--gold); }
/* Control-room HUD */
.cx-hud { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 10px 14px; border: 1px solid rgba(212,179,106,.25); border-radius: 8px; background: linear-gradient(90deg, rgba(212,179,106,.08), transparent 60%); }
.cx-hud-dot { width: 8px; height: 8px; border-radius: 50%; background: #ff5148; animation: cxPulse 1.4s infinite ease-in-out; }
.cx-hud-title { font: 700 12px/1 var(--font-body); letter-spacing: .18em; color: var(--gold); }
.cx-hud-clock { margin-left: auto; font: 600 13px/1 var(--font-mono, monospace); color: rgba(242,237,228,.75); font-variant-numeric: tabular-nums; }
/* Player frame */
.cx-frame { position: relative; }
.cx-corner { position: absolute; width: 16px; height: 16px; border: 2px solid rgba(212,179,106,.85); z-index: 2; }
.cx-corner.tl { top: 8px; left: 8px; border-right: none; border-bottom: none; }
.cx-corner.tr { top: 8px; right: 8px; border-left: none; border-bottom: none; }
.cx-corner.bl { bottom: 8px; left: 8px; border-right: none; border-top: none; }
.cx-corner.br { bottom: 8px; right: 8px; border-left: none; border-top: none; }
.cx-camid { position: absolute; top: 12px; right: 32px; z-index: 2; font: 700 10px/1 var(--font-mono, monospace); letter-spacing: .14em; color: var(--gold); background: rgba(11,9,8,.7); padding: 5px 8px; border-radius: 3px; }
.cx-scan { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px); }
/* Monitor wall */
.cx-wallbox { background: rgba(255,255,255,.04); border: 1px solid rgba(212,179,106,.2); border-radius: 8px; padding: 12px; }
.cx-wall-label { margin: 0 0 10px 2px; font: 700 10.5px/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: rgba(212,179,106,.85); }
.cx-wall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cx-mon { position: relative; border: 1px solid rgba(255,255,255,.1); background: #000; border-radius: 5px; overflow: hidden; padding: 0; cursor: pointer; aspect-ratio: 16/10; }
.cx-mon img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; transition: opacity .2s, transform .3s; }
.cx-mon:hover img, .cx-mon:focus-visible img { opacity: 1; transform: scale(1.05); }
.cx-mon:focus-visible { outline: 2px solid var(--gold); }
.cx-mon-id { position: absolute; top: 5px; left: 6px; font: 700 8.5px/1 var(--font-mono, monospace); letter-spacing: .1em; color: var(--gold); background: rgba(11,9,8,.75); padding: 3px 5px; border-radius: 2px; }
.cx-mon-name { position: absolute; left: 0; right: 0; bottom: 0; font: 600 9px/1.25 var(--font-body); color: #f2ede4; background: linear-gradient(transparent, rgba(0,0,0,.85)); padding: 12px 6px 5px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cx-pickmsg-p { margin: 10px 2px 0; font: 400 12.5px/1.5 var(--font-body); color: rgba(242,237,228,.55); }
/* Corridor groups */
.cx-groups { overflow-y: auto; flex: 1; min-height: 120px; display: flex; flex-direction: column; gap: 6px; }
.cx-group { flex: none; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.04); overflow: hidden; }
.cx-group.open { border-color: rgba(212,179,106,.4); }
.cx-group-head { display: flex; align-items: center; gap: 10px; width: 100%; border: none; background: transparent; color: #f2ede4; font: 600 13.5px/1 var(--font-body); padding: 12px 14px; cursor: pointer; text-align: left; }
.cx-group-head:hover { background: rgba(212,179,106,.08); }
.cx-group-name { flex: 1; }
.cx-group-n { font: 700 11px/1 var(--font-mono, monospace); color: var(--gold); background: rgba(212,179,106,.12); padding: 4px 8px; border-radius: 999px; }
.cx-group-caret { color: rgba(212,179,106,.8); font-size: 15px; width: 14px; text-align: center; }
.cx-list { list-style: none; margin: 0; padding: 0; border-radius: 8px; background: rgba(255,255,255,.04); }
.cx-group .cx-list { border-radius: 0; border-top: 1px solid rgba(255,255,255,.06); max-height: 260px; overflow-y: auto; }
.cx-list li button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; border: none; background: transparent; color: rgba(242,237,228,.85); font: 400 13.5px/1.4 var(--font-body); padding: 10px 14px; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,.05); }
.cx-list li button:hover { background: rgba(212,179,106,.08); color: #fff; }
.cx-list li button.on { background: rgba(212,179,106,.14); color: var(--gold); }
.cx-list .dot { width: 6px; height: 6px; border-radius: 50%; background: #ff5148; flex: none; animation: cxPulse 1.6s infinite ease-in-out; }
.cx-empty { padding: 24px; color: rgba(242,237,228,.5); font: 400 14px/1.5 var(--font-body); }
@media (prefers-reduced-motion: reduce) {
	.cx-hud-dot, .cx-list .dot, .cx-loading span { animation: none; }
	.cx-mon img { transition: none; }
}
.cx-source { margin: 14px 2px 0; font: 400 12px/1.6 var(--font-body); color: rgba(242,237,228,.45); }
@media (max-width: 900px) {
	.cams-full { padding: 0; }
	.ops-head { padding: 0 18px; }
	.ops-note { margin: 20px 12px 0; }
	.cx { padding: 14px; min-height: 0; border-radius: 0; border-left: none; border-right: none; }
	.cx-stage { grid-template-columns: 1fr; }
	.cx-map { min-height: 0; height: 320px; }
	.cx-side { min-height: 0; max-height: none; }
	.cx-list { max-height: 300px; }
	.cx-near { padding: 10px 14px; }
	.cx-player-bar { flex-wrap: wrap; }
	.cx-player-actions { margin-left: 0; width: 100%; justify-content: flex-end; }
}

/* About us */
.about-hero { position: relative; color: #fff; background: linear-gradient(120deg, #121212 0%, #24201a 50%, #3a2e1c 100%); }
.about-hero .inner { padding-top: 84px; padding-bottom: 84px; }
.about-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 60px); line-height: 1.08; max-width: 880px; margin: 18px 0 0; }
.about-hero h1 em { font-style: italic; color: var(--gold); }
.about-hero p.sub { font: 300 17.5px/1.75 var(--font-body); color: #d5cdc0; max-width: 700px; margin: 18px 0 0; }
.about-hero .proof { display: flex; gap: 56px; margin-top: 44px; flex-wrap: wrap; }
.about-hero .proof strong { display: block; font: 700 34px/1 var(--font-display); color: var(--gold); }
.about-hero .proof span { display: block; font: 500 11.5px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #a99c88; margin-top: 10px; }
.about-body { background: var(--ivory); padding: 70px 0 80px; }
.about-content h1 { display: none; }
.about-content > p { max-width: 780px; font: 400 16.5px/1.85 var(--font-body); color: #4c463d; }
.about-content h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); color: var(--charcoal); margin-top: 48px; }
.about-content iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; box-shadow: 0 12px 30px rgba(18,18,18,.12); }
.about-content .pad7 { padding: 7px; }
.about-content img { max-width: 100%; height: auto; }

/* Community impact */
.comm-hero { position: relative; color: #fff; background: linear-gradient(115deg, #1c2417 0%, #2f3d24 55%, #39422f 100%); }
.comm-hero .inner { padding-top: 84px; padding-bottom: 92px; }
.comm-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 60px); line-height: 1.08; max-width: 860px; margin: 18px 0 0; }
.comm-hero h1 em { font-style: italic; color: var(--gold); }
.comm-hero p.sub { font: 300 17.5px/1.75 var(--font-body); color: #d8ddcd; max-width: 680px; margin: 18px 0 0; }
.comm-pillars { background: var(--ivory); padding: 80px 0 30px; }
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pillar { background: #fff; border: 1px solid #e6e3d5; border-top: 3px solid #39422f; padding: 28px 26px 24px; }
.pillar .ico { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 50%; background: #eef0e6; color: #39422f; }
.pillar .ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.pillar h2 { font: 700 17px/1.3 var(--font-body); color: var(--charcoal); margin: 16px 0 8px; }
.pillar p { font: 400 14px/1.65 var(--font-body); color: var(--warmgray); margin: 0; }
.comm-body { background: var(--ivory); padding: 40px 0 80px; }
.comm-content section[name="CCPP"] > div.col-xs-12:first-child { display: none; }
.comm-content h1, .comm-content h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); color: var(--charcoal); }
.comm-content .goldline { height: 2px; background: var(--gold); opacity: .5; margin: 40px auto; max-width: 220px; }
.comm-content img { max-width: 100%; height: auto; }

@media (max-width: 980px) { .pillar-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pillar-grid { grid-template-columns: 1fr; } }

/* Prevent overscroll bounce past the footer on touch devices */
html, body { overscroll-behavior-y: none; }
html { background: var(--charcoal); }

/* Hide legacy in-content lead forms (the theme's sidebar form is the single CTA form) */
.entry-content .formfullwidth,
.entry-content .clientform_sidebar { display: none !important; }

/* Testimonials */
.testi-hero { position: relative; color: #fff; background: linear-gradient(120deg, #121212 0%, #2c1a13 55%, #4C1513 100%); }
.testi-hero .inner { padding-top: 84px; padding-bottom: 80px; text-align: center; }
.testi-hero .rhlf-breadcrumbs { justify-content: center; }
.testi-hero .stars-lg { display: block; font-size: 30px; letter-spacing: 8px; color: var(--gold); margin: 20px 0 8px; }
.testi-hero h1 { font-family: var(--font-display); font-size: clamp(34px, 4.2vw, 58px); line-height: 1.1; max-width: 900px; margin: 10px auto 0; }
.testi-hero h1 em { font-style: italic; color: var(--gold); }
.testi-hero p.sub { font: 300 17px/1.75 var(--font-body); color: #d9cfc4; max-width: 640px; margin: 18px auto 0; }
.testi-hero .proof { display: flex; justify-content: center; gap: 60px; margin-top: 42px; flex-wrap: wrap; }
.testi-hero .proof strong { display: block; font: 700 34px/1 var(--font-display); color: var(--gold); }
.testi-hero .proof .st { font-size: 22px; }
.testi-hero .proof span { display: block; font: 500 11.5px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #b8aa99; margin-top: 10px; }
.testi-body { background: var(--ivory); padding: 70px 0 80px; }
.testi-content h1 { display: none; }
.testi-content > p { max-width: 760px; font: 400 16.5px/1.8 var(--font-body); color: #4c463d; }
.testi-content .col-md-4 { margin-bottom: 24px; }
.testi-content iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; box-shadow: 0 12px 30px rgba(18,18,18,.12); }

/* Related posts */
.related-posts { background: var(--sand); padding: 70px 0 80px; }

/* Legal pages */
body.rhlf-legal .content-main { max-width: 780px; }
body.rhlf-legal .entry-content { font-size: 15.5px; }
body.rhlf-legal .entry-content h2 { padding-top: 14px; border-top: 1px solid #e8dfd0; }

/* Attorney bio */
.bio-hero { background: var(--charcoal); color: #fff; position: relative; overflow: hidden; }
.atx .bio-hero { background: linear-gradient(160deg, var(--ax-deep, var(--charcoal)), #060505 80%); }
.bio-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--gold), transparent); }
.atx .bio-hero::after { background: linear-gradient(90deg, var(--ax, var(--gold)), transparent); }
.atx .bio-hero .bio-mail { color: var(--ax, var(--gold)); }
.bio-hero .grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: end; }
.bio-hero .txt { padding: 80px 0 70px; }
.bio-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 60px); line-height: 1.05; margin: 16px 0 0; }
.bio-hero .firmline { font: 300 16.5px/1.7 var(--font-body); color: #cfc8bb; max-width: 520px; margin: 18px 0 0; }
.bio-hero .ctas { display: flex; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.bio-hero .bio-mail { display: inline-block; margin-top: 18px; font: 500 14px/1 var(--font-body); color: var(--gold); text-decoration: none; }
.bio-hero .ph { align-self: end; }
.bio-hero .ph img { display: block; width: 100%; max-width: 420px; height: auto; margin-left: auto; filter: drop-shadow(0 20px 40px rgba(0,0,0,.4)); }
.bio-body { padding-top: 60px; }
.bio-quote { font-family: var(--font-display); font-style: italic; font-size: clamp(21px, 2.2vw, 28px); line-height: 1.45; color: var(--burgundy); border-left: 3px solid var(--gold); padding-left: 24px; margin: 0 0 30px; }
.bio-edu { margin-top: 30px; background: var(--sand); padding: 28px 30px; }
.bio-edu h3 { font: 700 13px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--burgundy); margin: 22px 0 10px; }
.bio-edu h3:first-child { margin-top: 0; }
.bio-edu ul { margin: 0; padding-left: 18px; }
.bio-edu li { font: 400 15px/1.7 var(--font-body); color: var(--charcoal); }
.content-main > .btn-burgundy { margin-top: 34px; }
@media (max-width: 980px) {
	.bio-hero .grid { grid-template-columns: 1fr; gap: 0; }
	.bio-hero .txt { padding: 56px 0 30px; }
	.bio-hero .ph img { margin: 0 auto; max-width: 320px; }
}

/* Blog & archives */
.blog .page-hero, .archive .page-hero, .search .page-hero { background: #232b36; }
.page-hero .sub-count { display: block; font: 500 13px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-top: 14px; }

/* Referrals page accent */
body.rhlf-referrals .page-hero { background: #2c2337; }

/* Hide Weglot floating widget (theme provides its own EN/ES switcher) */
.weglot-container, aside.country-selector, .country-selector.weglot-default { display: none !important; }

/* Mobile submenu toggles (hidden on desktop) */
.sub-toggle { display: none; }

/* Fluid type on key headings */
.hero h1 { font-size: clamp(36px, 5.2vw, 74px); }
.page-hero h1 { font-size: clamp(30px, 4vw, 56px); }
.sec-head h2 { font-size: clamp(30px, 3.4vw, 48px); }
.cta h2 { font-size: clamp(30px, 3.6vw, 52px); }
.locations h2 { font-size: clamp(30px, 3.2vw, 46px); }
.community h2 { font-size: clamp(28px, 3.2vw, 46px); }
.founder blockquote { font-size: clamp(24px, 2.6vw, 37px); }
.testi blockquote { font-size: clamp(23px, 2.4vw, 34px); }
.rcard .amt { font-size: clamp(36px, 3.6vw, 52px); }
.stats .num { font-size: clamp(32px, 3.2vw, 46px); }
.entry-content h2 { font-size: clamp(27px, 2.7vw, 38px); }
.entry-content h3 { font-size: clamp(22px, 2.1vw, 29px); }

/* Responsive */
@media (max-width: 1460px) {
	.nav-menu > li > a { padding: 12px 5px; font-size: 12.5px; }
	.nav-cta .btn { padding: 13px 14px; font-size: 12px; }
	.site-logo { margin-right: 8px; }
	.site-logo img { height: 44px; }
	html[lang^="es"] .nav-menu > li > a { padding: 12px 3px; font-size: 11px; }
	html[lang^="es"] .btn-phone .num { display: none; }
	html[lang^="es"] .btn-phone .callnow { display: inline; }
}
@media (max-width: 1150px) {
	.content-layout { gap: 44px; }
	.hero-grid { grid-template-columns: 1fr; gap: 40px; }
	.team-album { grid-template-columns: repeat(4, 1fr); }
	.loc-wrap { grid-template-columns: 1fr; }
	.loc-map { min-height: 340px; }
	.story-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1340px) {
	.nav-menu { display: none; }
	.site-nav { position: fixed; top: 0; right: 0; bottom: 0; left: auto; width: min(400px, 88vw); background: var(--charcoal); z-index: 100; overflow-y: auto; padding: 24px 26px 40px; display: block; flex-direction: column; transform: translateX(105%); transition: transform .32s cubic-bezier(.22,1,.36,1); box-shadow: -24px 0 60px rgba(0,0,0,.4); }
	.site-nav.open { transform: translateX(0); }
	.site-nav.open .nav-menu { display: block; animation: rhlf-menu-pop .45s cubic-bezier(.22,1,.36,1) both; }
	@keyframes rhlf-menu-pop { 0% { opacity: 0; transform: translateY(18px) scale(.98); } 100% { opacity: 1; transform: none; } }
	.mnav-head { display: block; padding: 6px 0 20px; border-bottom: 1px solid #2a2722; margin-bottom: 8px; }
	.mnav-head img { height: 58px; width: auto; }
	.mnav-foot { display: grid; gap: 12px; margin-top: 26px; }
	.mnav-ico { display: inline-block; width: 20px; height: 20px; margin-right: 14px; vertical-align: -4px; color: var(--gold); }
	.site-nav .nav-menu { white-space: normal; }
	.site-nav .nav-menu > li { border-bottom: 1px solid #2a2722; position: relative; }
	.site-nav .nav-menu > li > a { padding: 16px 44px 16px 0; font-size: 16px; display: block; color: #f3efe8; }
	.site-nav .nav-menu .sub-menu { display: none; position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 12px 34px; min-width: 0; background: transparent; }
	.site-nav .nav-menu li.sub-open > .sub-menu { display: block; }
	.site-nav .nav-menu .sub-menu a { padding: 10px 0; color: #b6af9f; }
	.site-nav .nav-menu .sub-menu a:hover { background: none; color: var(--gold); }
	.site-nav .sub-toggle { display: block; position: absolute; top: 8px; right: 0; width: 40px; height: 40px; background: none; border: 1px solid #2a2722; border-radius: 2px; cursor: pointer; }
	.site-nav .sub-toggle span { position: relative; display: block; width: 12px; height: 12px; margin: 0 auto; }
	.site-nav .sub-toggle span::before, .site-nav .sub-toggle span::after { content: ''; position: absolute; background: var(--gold); transition: .2s; }
	.site-nav .sub-toggle span::before { left: 0; top: 5px; width: 12px; height: 2px; }
	.site-nav .sub-toggle span::after { left: 5px; top: 0; width: 2px; height: 12px; }
	.site-nav .nav-menu li.sub-open > .sub-toggle span::after { transform: scaleY(0); }
	.site-nav .sub-menu .sub-toggle { display: none; }
	.site-nav .sub-menu .sub-menu { display: block; padding-left: 14px; }
	.nav-toggle { display: block; position: relative; z-index: 110; }
	.nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
	.nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	body.nav-locked { overflow: hidden; }
	.btn-phone .num { display: inline; }
	.btn-phone .callnow { display: none; }
}
@media (max-width: 980px) {
	.container, .wrap { padding-left: 22px; padding-right: 22px; }
	nav.main .wrap { height: 68px; }
	.site-logo img { height: 40px; }
	.nav-cta .btn { padding: 13px 16px; font-size: 12.5px; }
	.util .left .sep, .util .left .alt { display: none; }
	.util .portal { display: none; }
	.tcx-grid { grid-template-columns: 1fr; padding: 48px 0; }
	.tcx-feed { display: none; }
	.tcx-hud { flex-wrap: wrap; gap: 10px; }
	.tcx-mon.main { aspect-ratio: 16 / 9; }
	.lawyers, .stories, .locations { padding: 64px 0; }
	.atty-grid { grid-template-columns: repeat(2, 1fr); }
	.contact-hero .grid { grid-template-columns: 1fr; gap: 44px; }
	.contact-hero { padding: 56px 0 64px; }
	.atty-grid-sec { padding: 64px 0; }
	.hero .inner { padding-top: 76px; padding-bottom: 110px; }
	.hero p.sub { font-size: 17px; }
	.hero .bg::after { background: linear-gradient(180deg, rgba(12,8,7,.82) 0%, rgba(12,8,7,.6) 100%); }
	.page-hero .inner { padding-top: 52px; padding-bottom: 60px; }
	.page-hero .bg::after { background: linear-gradient(180deg, rgba(46,12,10,.7), rgba(46,12,10,.45)); }
	.stats { padding: 36px 0; }
	.stats .card { grid-template-columns: 1fr 1fr; }
	.stats .cell { border-bottom: 1px solid #ddd0ba; padding: 22px 14px; }
	.team-album { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.stats .cell:nth-child(2n) { border-right: 0; }
	.stats .cell:nth-child(n+3) { border-bottom: 0; }
	.trust { padding-top: 36px; }
	.trust .track { gap: 40px; }
	.trust .track img { height: 52px; width: 120px; }
	.trust .lbl { font-size: 17px; }
	.practice, .results, .locations, .testi { padding: 64px 0; }
	.grid3 { grid-template-columns: 1fr 1fr; gap: 18px; }
	.sec-head { margin-bottom: 36px; }
	.founder .wrap, .locations .wrap, .testi .wrap, .cta .wrap.grid { grid-template-columns: 1fr; gap: 44px; }
	.founder .txt { padding: 64px 0 8px; }
	.founder .pic img { max-height: 440px; }
	.community .inner { padding-top: 80px; padding-bottom: 80px; }
	.cta { padding: 64px 0; }
	.content-layout { grid-template-columns: 1fr; gap: 44px; padding-top: 48px; padding-bottom: 56px; }
	.side { position: static; }
	.testi img { height: 380px; }
	footer.site-footer { padding: 56px 0 0; }
	footer.site-footer .top { grid-template-columns: repeat(3, 1fr); gap: 36px; }
	footer.site-footer .brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.container, .wrap { padding-left: 24px; padding-right: 24px; }
	.entry-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.hero .inner, .community .inner { text-align: center; }
	.hero h1, .hero p.sub, .community h2, .community p { margin-left: auto; margin-right: auto; }
	.hero .slogan { text-align: center; }
	.page-hero .inner { text-align: center; }
	.page-hero h1, .page-hero p.sub { margin-left: auto; margin-right: auto; }
	.sec-head { text-align: center; justify-content: center; }
	.sec-head h2, .sec-head .right { max-width: 100%; }
	.eyebrow { text-align: center; }
	.trust .lbl { text-align: center; }
	.founder .txt, .testi .wrap > div:last-child { text-align: center; }
	.founder .rule, .gold-rule { margin-left: auto; margin-right: auto; }
	.founder .pic { justify-content: center; }
	.cta .wrap.grid > div:first-child { text-align: center; }
	.cta p { margin-left: auto; margin-right: auto; }
	.cta .points { justify-items: start; max-width: 320px; margin-left: auto; margin-right: auto; }
	.chips { justify-content: center; }
	nav.main .wrap { height: auto; flex-wrap: wrap; gap: 0 10px; padding: 12px 16px 14px; }
	.site-logo { order: 1; margin-right: auto; min-width: 0; }
	.site-logo img { height: 46px; max-width: 100%; }
	.nav-cta { display: contents; }
	.nav-toggle { order: 2; flex-shrink: 0; }
	.nav-toggle span { width: 28px; height: 3px; }
	.nav-cta .btn-phone { order: 3; }
	.nav-cta .btn-gold { order: 4; }
	.nav-cta .btn { flex: 1 1 45%; width: 45%; min-width: 0; box-sizing: border-box; justify-content: center; align-items: center; margin-top: 14px; height: 52px; padding: 0 10px; line-height: 1; font-size: 14px; letter-spacing: .04em; gap: 7px; white-space: nowrap; }
	.nav-cta .btn svg { width: 17px; height: 17px; }
	html[lang^="es"] .nav-cta .btn { white-space: normal; text-align: center; line-height: 1.15; font-size: 12.5px; padding: 0 8px; }
	.site-nav { order: 5; }
	.btn-phone .num { display: none; }
	.btn-phone .callnow { display: inline; }
	.nav-toggle { padding: 6px; }
	.story-grid { grid-template-columns: 1fr; }
	.atty-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
	.atty-card .ph { height: 190px; }
	.map-embed iframe { height: 280px; }
	footer.site-footer .newsletter { flex-direction: column; align-items: stretch; text-align: center; }
	footer.site-footer .nl-form { flex-direction: column; }
	footer.site-footer .nl-form input { min-width: 0; }
	.geo-btn { width: 100%; }
	.util .left span:first-child { max-width: 100%; }
	.util .wrap { justify-content: center; text-align: center; }
	.grid3, .post-grid, .loc-list { grid-template-columns: 1fr; }
	.stats .card { grid-template-columns: 1fr 1fr; }
	.stats .lbl { font-size: 10.5px; letter-spacing: .08em; }
	.hero .ctas, .page-hero .ctas, .cta .ctas { flex-direction: column; align-items: stretch; }
	.hero .ctas .btn, .page-hero .ctas .btn { width: 100%; }
	.hero .slogan { letter-spacing: .22em; font-size: 13px; }
	.btn { padding: 0 22px; }
	.pcard { padding: 28px 22px 26px; }
	.pcard .arrow { top: 28px; right: 20px; }
	.rcard { padding: 28px 24px; }
	.form-card { padding: 28px 20px; }
	.why-card { padding: 28px 22px; }
	.entry-content { font-size: 15.5px; }
	.entry-content blockquote { padding: 20px 20px; font-size: 20px; }
	.post-card img { height: 180px; }
	.post-nav { flex-direction: column; }
	.post-nav a { max-width: 100%; }
	.testi img { height: 300px; }
	.community h2, .community p { max-width: 100%; }
	.cta.center .btn { width: 100%; white-space: normal; line-height: 1.4; }
	footer.site-footer .top { grid-template-columns: 1fr; gap: 34px; text-align: center; }
	footer.site-footer .brand p { margin-left: auto; margin-right: auto; }
	footer.site-footer .social { justify-content: center; }
	footer.site-footer .bottom { flex-direction: column; text-align: center; }
}
@media (max-width: 380px) {
	.hero h1 { font-size: 32px; }
	.page-hero h1 { font-size: 27px; }
	.stats .card { grid-template-columns: 1fr; }
	.stats .cell { border-right: 0; border-bottom: 1px solid #ece5d9; }
	.stats .cell:last-child { border-bottom: 0; }
}
@media (min-width: 1600px) {
	.hero .inner { padding-top: 150px; padding-bottom: 180px; }
}

/* ── v1.7.0: client meeting feedback ─────────────────────────── */

/* Consent checkboxes above every submit button */
.rhlf-consent { margin: 14px 0 4px; display: grid; gap: 10px; }
.rhlf-consent label { display: flex; align-items: flex-start; gap: 10px; font: 400 12.5px/1.55 var(--font-body); color: var(--deepgray); cursor: pointer; text-align: left; }
.rhlf-consent input[type="checkbox"] { flex-shrink: 0; width: 17px; height: 17px; margin-top: 2px; accent-color: var(--burgundy); cursor: pointer; }
.rhlf-consent a { color: var(--burgundy); }
.form-card .rhlf-consent label { color: #5c554b; }

/* Tighter hero, bigger stats */
.hero .inner { padding-top: 58px; padding-bottom: 64px; }
.stats { padding: 44px 0; }
.stats .num { font-size: clamp(40px, 4vw, 58px); }
.stats .lbl { font-size: 13px; }

/* Estimator band: approved copy, vertically stacked steps, less dead space */
.ai-band .grid { padding: 48px 24px 48px; }
.ai-band .steps { flex-direction: column; align-items: flex-start; gap: 12px; }
.ai-band .steps span { display: flex; align-items: center; }

/* Recognition logos: clickable, slightly bigger */
.trust .track a { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 150px; height: 64px; }
@media (max-width: 980px) { .trust .track a { width: 120px; height: 52px; } }

/* Location cards: Google rating snippet */
.loc-card .loc-rating { display: flex; align-items: center; gap: 6px; margin: 6px 0 2px; font: 600 13.5px/1 var(--font-body); color: var(--charcoal); }
.loc-card .loc-rating .rstars { color: #e7a13a; font-size: 13px; letter-spacing: 1px; }
.loc-card .loc-rating small { font: 400 12px/1 var(--font-body); color: #6d655a; }

/* Client stories: load more */
.story-grid .story[hidden] { display: none; }
.story-grid .more-card .all-link { display: inline-block; margin-top: 12px; font: 500 13.5px/1 var(--font-body); color: var(--burgundy); }

/* Search: bigger icon + brand accents */
.search-form .btn .s-ico, .ai-ask-bar button .s-ico { vertical-align: -4px; margin-right: 8px; }
.ai-ask-bar .spark { color: var(--burgundy); display: flex; align-items: center; }
.ai-ask-bar button { background: var(--gold); color: #121212; font-size: 13.5px; padding: 14px 22px; }
.ai-ask-bar button:hover { background: var(--burgundy); color: var(--gold); }
.ai-ask-bar { border-color: var(--gold); }

/* Testimonials: founders band + reviews list */
.testi-founders { background: var(--sand); border-top: 3px solid var(--gold); }
.testi-founders .grid { display: grid; grid-template-columns: 380px 1fr; gap: 48px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.testi-founders img { width: 100%; border-radius: 6px; box-shadow: 0 20px 50px rgba(18,18,18,.18); }
.testi-founders h2 { font: 600 clamp(28px, 3vw, 42px)/1.15 var(--font-display); margin: 14px 0 16px; }
.testi-founders p { font: 400 16px/1.7 var(--font-body); color: var(--deepgray); max-width: 560px; }
@media (max-width: 900px) { .testi-founders .grid { grid-template-columns: 1fr; gap: 28px; } .testi-founders img { max-width: 420px; margin: 0 auto; display: block; } }
.testi-reviews { border-top: 1px solid #e6dcc9; }

/* Attorney bio — chips, recognition badges, video grid */
.bio-hero .bio-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.bio-hero .chip { font: 600 12px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #121212; background: var(--gold); border-radius: 100px; padding: 8px 14px; }
.bio-hero .chip.alt { background: transparent; color: var(--gold); border: 1px solid rgba(212,179,106,.55); }
.bio-badges { background: var(--sand); border-bottom: 1px solid #e6dcc9; }
.bio-badges .wrap { padding-top: 30px; padding-bottom: 30px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.bio-badges .eyebrow { color: var(--burgundy); }
.bio-badges .row { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.bio-badges img { height: 76px; width: auto; }
.bio-videos { margin: 0 0 40px; }
.bio-videos h2 { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 18px; }
.bio-videos .vgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bio-videos .v { position: relative; aspect-ratio: 16/9; border-radius: 6px; overflow: hidden; background: #121212; box-shadow: 0 14px 34px rgba(18,18,18,.16); }
.bio-videos .v iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bio-body .bio-more { margin-top: 8px; }
@media (max-width: 720px) {
  .bio-videos .vgrid { grid-template-columns: 1fr; }
  .bio-badges img { height: 58px; }
}

/* v1.8.0 — hand-built editorial treatment for subpages */
.page-skin { --pgacc: var(--burgundy); }
.page-hero .inner { position: relative; }
.page-hero .wm { position: absolute; right: -10px; bottom: -34px; font-family: var(--font-display); font-style: italic; font-weight: 600; font-size: clamp(90px, 15vw, 210px); line-height: 1; color: rgba(212,179,106,.09); pointer-events: none; user-select: none; white-space: nowrap; }
.case-facts { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 34px; background: #fff; border: 1px solid #e9e0cf; border-top: 3px solid var(--pgacc); box-shadow: 0 24px 50px rgba(18,18,18,.09); z-index: 3; }
.case-facts .tag { position: absolute; top: -13px; left: 18px; background: var(--pgacc); color: #fff; font: 700 10.5px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; border-radius: 2px; }
.case-facts .cf { padding: 26px 22px 22px; border-left: 1px dashed #e5dbc7; }
.case-facts .cf:first-of-type { border-left: 0; }
.case-facts .cf b { display: block; font-family: var(--font-display); font-size: 30px; line-height: 1; color: var(--pgacc); }
.case-facts .cf span { display: block; margin-top: 8px; font: 400 12.5px/1.5 var(--font-body); color: #6d675e; }
@media (max-width: 860px) {
  .case-facts { grid-template-columns: 1fr 1fr; }
  .case-facts .cf:nth-of-type(odd) { border-left: 0; }
  .case-facts .cf:nth-of-type(n+3) { border-top: 1px dashed #e5dbc7; }
  .page-hero .wm { display: none; }
}
/* editorial article typography */
.content-main.editorial .entry-content > p:first-of-type::first-letter { font-family: var(--font-display); font-weight: 600; font-size: 64px; line-height: .82; float: left; padding: 8px 12px 0 0; color: var(--pgacc); }
.content-main.editorial { counter-reset: edh2; }
.content-main.editorial .entry-content h2 { position: relative; padding-top: 14px; }
.content-main.editorial .entry-content h2::before { counter-increment: edh2; content: counter(edh2, decimal-leading-zero); position: absolute; top: -4px; left: 0; font: 700 12px/1 var(--font-body); letter-spacing: .22em; color: var(--pgacc); }
.content-main.editorial .entry-content h2::after { content: ''; display: block; width: 44px; height: 3px; margin-top: 10px; background: linear-gradient(90deg, var(--pgacc), transparent); border-radius: 3px; }
.content-main.editorial .entry-content blockquote { border-left: 3px solid var(--pgacc); background: #fbf8f2; padding: 18px 22px; font-family: var(--font-display); font-style: italic; font-size: 20px; color: #3a352e; }
.content-main.editorial .orn { text-align: center; color: var(--pgacc); letter-spacing: 18px; font-size: 13px; margin: 42px 0 8px; opacity: .7; }

/* Attorney credentials — designed components */
.bio-creds { margin: 46px 0 10px; }
.bio-creds .bc-head h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 36px); margin: 8px 0 22px; }
.bio-creds .bc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bc-card { background: #fff; border: 1px solid #eae2d4; border-radius: 8px; padding: 24px 24px 20px; box-shadow: 0 14px 34px rgba(18,18,18,.06); }
.bc-card h3 { display: flex; align-items: center; gap: 10px; font: 700 13px/1.3 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--burgundy); margin: 0 0 16px; }
.bc-card h3 .ic { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--sand); font-size: 15px; }
.bc-card.edu { grid-column: 1 / -1; border-top: 3px solid var(--gold); }
.bc-card .tl { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid #eadfc9; }
.bc-card .tl li { position: relative; padding: 0 0 14px 14px; font: 400 14.5px/1.6 var(--font-body); color: #3f3a33; }
.bc-card .tl li::before { content: ''; position: absolute; left: -19px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); border: 2px solid #fff; box-shadow: 0 0 0 2px #eadfc9; }
.bc-card .tl li:last-child { padding-bottom: 0; }
.bc-card .adm-tiles { display: flex; gap: 12px; flex-wrap: wrap; }
.bc-card .adm-tile { background: var(--charcoal); color: #fff; border-radius: 6px; padding: 14px 18px; min-width: 120px; }
.bc-card .adm-tile b { display: block; font: 700 15px/1.2 var(--font-body); color: var(--gold); }
.bc-card .adm-tile span { display: block; margin-top: 4px; font: 400 12px/1 var(--font-body); color: #cfc7ba; }
.bc-card .checks, .bc-card .ribbons { list-style: none; margin: 0; padding: 0; }
.bc-card .checks li { position: relative; padding: 6px 0 6px 26px; font: 400 14.5px/1.55 var(--font-body); color: #3f3a33; border-bottom: 1px dashed #efe7d8; }
.bc-card .checks li:last-child { border-bottom: 0; }
.bc-card .checks li::before { content: '✓'; position: absolute; left: 0; top: 6px; color: var(--gold); font-weight: 700; }
.bc-card .ribbons li { position: relative; padding: 6px 0 6px 26px; font: 400 14.5px/1.55 var(--font-body); color: #3f3a33; }
.bc-card .ribbons li::before { content: '🎖'; position: absolute; left: 0; top: 5px; font-size: 13px; }
.bc-card.award { background: linear-gradient(180deg, #fffdf8, #fbf4e6); border-color: #e8d9b8; }
@media (max-width: 860px) { .bio-creds .bc-grid { grid-template-columns: 1fr; } }

/* Testimonials — legacy review markup styled as designed cards */
.testi-content .goldline { height: 3px; max-width: 120px; margin: 44px auto; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.testi-content div:has(> .rew-container) { column-count: 2; column-gap: 20px; margin-top: 10px; }
.testi-content .rew-container { display: flex; gap: 16px; break-inside: avoid; background: #fff; border: 1px solid #eae2d4; border-radius: 10px; padding: 24px 24px 22px; margin: 0 0 20px; box-shadow: 0 14px 34px rgba(18,18,18,.06); position: relative; }
.testi-content .rew-container::before { content: '“'; position: absolute; top: 6px; right: 18px; font-family: var(--font-display); font-size: 64px; line-height: 1; color: rgba(212,179,106,.35); }
.testi-content .rew-icon { flex: 0 0 52px; }
.testi-content .icon-text { width: 52px; height: 52px; border-radius: 50%; background: var(--burgundy); color: var(--gold); display: flex; align-items: center; justify-content: center; font: 700 16px/1 var(--font-body); text-transform: uppercase; margin: 0; }
.testi-content .rew-text_container { font: 400 14.5px/1.7 var(--font-body); color: #4c463d; min-width: 0; }
.testi-content .star-rating { color: var(--gold); font-size: 15px; letter-spacing: 3px; }
.testi-content .rew-name-user { font: 700 13px/1.2 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--charcoal); margin: 6px 0 2px; }
.testi-content .rew-subtitle { font-family: var(--font-display); font-style: italic; font-size: 19px; color: var(--burgundy); margin: 2px 0 8px; }
@media (max-width: 820px) { .testi-content div:has(> .rew-container) { column-count: 1; } }

/* Unique tinted hero for pages without a topical photo — accent-driven gradient */
.page-skin .page-hero.tinted { background: linear-gradient(160deg, color-mix(in srgb, var(--pgacc) 78%, #0d0a08) 0%, #191310 100%); }
.page-hero.tinted .bg { background: radial-gradient(1100px 420px at 85% 10%, color-mix(in srgb, var(--pgacc) 55%, transparent), transparent 70%); opacity: .6; }
.page-hero.tinted .bg::after { background: repeating-linear-gradient(-45deg, rgba(255,255,255,.02) 0 2px, transparent 2px 14px); }
.page-hero.tinted .wm { color: rgba(255,255,255,.05); }

/* Client Portal (Case Status) */
.portal-body { padding: 64px 0 80px; background: var(--ivory); }
.portal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.portal-card { background: #fff; border: 1px solid #eae2d4; border-radius: 10px; padding: 34px 32px; box-shadow: 0 18px 40px rgba(18,18,18,.07); }
.portal-card .ico { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 12px; background: var(--sand); font-size: 22px; margin-bottom: 16px; }
.portal-card h2 { font-family: var(--font-display); font-size: 26px; margin: 0 0 10px; }
.portal-card p { font: 400 15px/1.7 var(--font-body); color: #55504a; margin: 0 0 20px; }
.store-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.store-btn { display: inline-flex; align-items: center; gap: 11px; background: var(--charcoal); color: #fff; border-radius: 9px; padding: 10px 18px 10px 14px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.store-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(18,18,18,.25); }
.store-btn .mark { font-size: 22px; line-height: 1; }
.store-btn .t small { display: block; font: 400 10.5px/1.2 var(--font-body); color: #cfc7ba; }
.store-btn .t b { display: block; font: 700 16px/1.15 var(--font-body); }
.portal-steps { margin-top: 54px; }
.portal-steps .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 18px; }
.portal-steps .st { position: relative; background: #fff; border: 1px solid #eae2d4; border-top: 3px solid var(--gold); border-radius: 8px; padding: 26px 24px 22px; }
.portal-steps .st b { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--burgundy); color: var(--gold); font: 700 15px/1 var(--font-body); }
.portal-steps .st h3 { font: 700 16px/1.35 var(--font-body); margin: 14px 0 8px; }
.portal-steps .st p { font: 400 14px/1.65 var(--font-body); color: #5c564e; margin: 0; }
.portal-help { margin-top: 48px; text-align: center; background: var(--charcoal); border-radius: 10px; padding: 36px 24px; }
.portal-help p { color: #e8e2d7; font: 400 16px/1.6 var(--font-body); margin: 0 0 16px; }
@media (max-width: 860px) { .portal-grid, .portal-steps .steps { grid-template-columns: 1fr; } }

/* Case Status branding on portal page */
.portal-hero .powered-by { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; background: #fff; border-radius: 100px; padding: 9px 18px 9px 16px; }
.portal-hero .powered-by span { font: 600 11px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #6d675e; }
.portal-hero .powered-by img { height: 20px; width: auto; display: block; }
.portal-card .cs-logo { height: 30px; width: auto; display: block; margin-bottom: 18px; }

/* Attorney FAQ — designed accordion */
.bio-faq { margin: 52px 0 36px; background: var(--charcoal); border-radius: 12px; padding: 38px 36px 30px; }
.bio-faq .bf-head .eyebrow { color: var(--gold); }
.bio-faq .bf-head h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 36px); color: #fff; margin: 8px 0 24px; }
.bio-faq .bf-head h2 em { font-style: italic; color: var(--gold); }
.bio-faq .bf-item { border-bottom: 1px solid rgba(255,255,255,.12); }
.bio-faq .bf-item:last-of-type { border-bottom: 0; }
.bio-faq summary { display: flex; align-items: baseline; gap: 16px; list-style: none; cursor: pointer; padding: 18px 2px; }
.bio-faq summary::-webkit-details-marker { display: none; }
.bio-faq summary .n { font: 700 12px/1 var(--font-body); letter-spacing: .18em; color: var(--gold); flex: 0 0 auto; }
.bio-faq summary .q { font-family: var(--font-display); font-size: 19px; line-height: 1.4; color: #f3efe7; flex: 1; transition: color .15s; }
.bio-faq summary:hover .q { color: var(--gold); }
.bio-faq summary .pm { position: relative; flex: 0 0 24px; height: 24px; border: 1px solid rgba(212,179,106,.5); border-radius: 50%; align-self: center; }
.bio-faq summary .pm::before, .bio-faq summary .pm::after { content: ''; position: absolute; top: 50%; left: 50%; width: 10px; height: 1.5px; background: var(--gold); transform: translate(-50%, -50%); transition: .2s; }
.bio-faq summary .pm::after { transform: translate(-50%, -50%) rotate(90deg); }
.bio-faq .bf-item[open] summary .pm::after { transform: translate(-50%, -50%) rotate(0); }
.bio-faq .bf-item[open] summary .q { color: var(--gold); }
.bio-faq .a { padding: 0 2px 22px 30px; }
.bio-faq .a p { font: 400 15px/1.8 var(--font-body); color: #cfc9be; margin: 0; border-left: 2px solid rgba(212,179,106,.4); padding-left: 18px; }
@media (max-width: 640px) { .bio-faq { padding: 28px 20px 20px; } .bio-faq .a { padding-left: 0; } }

/* Spirit of Nevada hub */
.son-hero .son-socials { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.son-soc { display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 100px; padding: 9px 18px; color: #f3efe7; font: 600 13.5px/1 var(--font-body); text-decoration: none; transition: .15s; }
.son-soc b { color: var(--gold); font-size: 14px; }
.son-soc svg { width: 15px; height: 15px; color: var(--gold); }
.son-soc:hover { border-color: var(--gold); color: var(--gold); }
.son-sec-head { max-width: 640px; margin-bottom: 30px; }
.son-sec-head h2 { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 42px); margin: 8px 0 10px; }
.son-sec-head h2 em { font-style: italic; color: var(--burgundy); }
.son-sec-head p { font: 400 15.5px/1.7 var(--font-body); color: #5c564e; margin: 0; }
.son-sec-head.light h2 { color: #fff; }
.son-sec-head.light h2 em { color: var(--gold); }
.son-latest { padding: 70px 0 60px; background: var(--ivory); }
.son-feat { display: grid; grid-template-columns: 1.7fr 1fr; gap: 0; background: var(--charcoal); border-radius: 12px; overflow: hidden; box-shadow: 0 24px 54px rgba(18,18,18,.16); }
.son-feat-meta { padding: 34px 32px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.son-feat-meta .tag { align-self: flex-start; background: var(--burgundy); color: var(--gold); border-radius: 4px; padding: 6px 12px; font: 700 11px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.son-feat-meta h3 { font-family: var(--font-display); font-size: clamp(20px, 2vw, 27px); line-height: 1.3; color: #fff; margin: 0; }
.son-feat-meta time { font: 400 13.5px/1 var(--font-body); color: #b7b0a4; }
.son-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 26px; }
.son-vid .youtube-video-wrapper { border-radius: 10px; box-shadow: 0 12px 28px rgba(18,18,18,.12); }
.son-vid h4 { font: 600 14.5px/1.45 var(--font-body); color: var(--charcoal); margin: 12px 0 4px; }
.son-vid time { font: 400 12.5px/1 var(--font-body); color: #8a8378; }
.son-more { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.son-more .btn-ghost { border-color: #c9bfa9; color: var(--charcoal); }
.son-more .btn-ghost:hover { border-color: var(--gold); color: var(--burgundy); }
.son-host { padding: 70px 0; background: #fff; }
.son-host-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 46px; align-items: center; }
.son-host .ph img { width: 100%; border-radius: 12px; box-shadow: 14px 14px 0 var(--sand); }
.son-host .tx h2 { font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 40px); margin: 8px 0 16px; }
.son-host .tx h2 em { font-style: italic; color: var(--burgundy); }
.son-host .tx p { font: 400 15.5px/1.8 var(--font-body); color: #4c463d; margin: 0 0 14px; }
.son-nominate { padding: 70px 0; background: linear-gradient(160deg, #16324F 0%, #0e2135 100%); }
.son-nom-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.nom-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 26px 22px; text-decoration: none; transition: .18s; display: flex; flex-direction: column; gap: 8px; }
.nom-card:hover { background: rgba(255,255,255,.09); border-color: var(--gold); transform: translateY(-3px); }
.nom-card b { width: 44px; height: 44px; border-radius: 10px; background: rgba(212,179,106,.16); color: var(--gold); display: flex; align-items: center; justify-content: center; font-size: 19px; }
.nom-card h3 { font: 700 16px/1.3 var(--font-body); color: #fff; margin: 6px 0 0; }
.nom-card p { font: 400 13.5px/1.6 var(--font-body); color: #c2cdc5; margin: 0; flex: 1; }
.nom-card span { font: 700 13px/1 var(--font-body); color: var(--gold); }
.son-awards-cta { margin-top: 34px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 28px; flex-wrap: wrap; }
.son-awards-cta p { font: 400 16px/1.5 var(--font-body); color: #dfe7e1; margin: 0; }
.son-quotes { padding: 70px 0 80px; background: var(--sand); }
.son-quote { position: relative; max-width: 760px; margin: 0; background: #fff; border-radius: 12px; padding: 40px 44px 34px; box-shadow: 0 18px 40px rgba(18,18,18,.08); }
.son-quote::before { content: '\201C'; position: absolute; top: -26px; left: 30px; font-family: var(--font-display); font-size: 110px; line-height: 1; color: var(--gold); }
.son-quote p { font-family: var(--font-display); font-style: italic; font-size: clamp(18px, 2vw, 23px); line-height: 1.6; color: var(--charcoal); margin: 0 0 16px; }
.son-quote footer { font: 700 13px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--burgundy); }
@media (max-width: 980px) { .son-grid, .son-nom-grid { grid-template-columns: repeat(2, 1fr); } .son-feat { grid-template-columns: 1fr; } .son-host-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .son-grid, .son-nom-grid { grid-template-columns: 1fr; } }

/* Locations hub */
.loc-communities { padding: 66px 0; background: #fff; }
.loc-com-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.loc-com { display: flex; align-items: center; gap: 10px; background: var(--ivory); border: 1px solid #eae2d4; border-radius: 8px; padding: 16px 18px; text-decoration: none; transition: .16s; }
.loc-com .pin { color: var(--burgundy); display: inline-flex; }
.loc-com b { flex: 1; font: 600 14.5px/1.3 var(--font-body); color: var(--charcoal); }
.loc-com .go { color: var(--gold); font-weight: 700; opacity: 0; transition: .16s; }
.loc-com:hover { border-color: var(--gold); background: #fff; box-shadow: 0 10px 24px rgba(18,18,18,.08); }
.loc-com:hover .go { opacity: 1; }
.loc-promise { padding: 0 0 70px; background: #fff; }
.loc-promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lp-card { background: var(--charcoal); border-radius: 10px; padding: 28px 26px; }
.lp-card b { font-size: 24px; display: block; margin-bottom: 10px; }
.lp-card h3 { font: 700 17px/1.3 var(--font-body); color: var(--gold); margin: 0 0 8px; }
.lp-card p { font: 400 14px/1.65 var(--font-body); color: #cfc9be; margin: 0; }
@media (max-width: 980px) { .loc-com-grid { grid-template-columns: repeat(2, 1fr); } .loc-promise-grid { grid-template-columns: 1fr; } }

/* Verdicts wall: filters, badges, load more */
.res-filter { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 26px; }
.res-filter button { border: 1px solid #d8cdb8; background: #fff; border-radius: 100px; padding: 10px 20px; font: 600 13.5px/1 var(--font-body); color: var(--charcoal); cursor: pointer; transition: .15s; }
.res-filter button:hover { border-color: var(--gold); color: var(--burgundy); }
.res-filter button.on { background: var(--burgundy); border-color: var(--burgundy); color: var(--gold); }
.res-content .settlements-list li { position: relative; padding-top: 44px !important; }
.tier-badge { position: absolute; top: 16px; left: 20px; font: 700 10.5px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; border-radius: 4px; padding: 5px 10px; }
.tier-badge.tier-eight { background: var(--charcoal); color: var(--gold); }
.tier-badge.tier-seven { background: var(--burgundy); color: #fff; }
.tier-badge.tier-multi { background: var(--sand); color: var(--burgundy); }
.res-more { display: block; margin: 28px auto 0; }

/* Personal Injury Court */
.pic-hero .pic-onair { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; border: 1px solid rgba(212,179,106,.5); border-radius: 100px; padding: 10px 20px; color: var(--gold); font: 700 13px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.pic-hero .pic-onair .dot { width: 9px; height: 9px; border-radius: 50%; background: #e04b3a; box-shadow: 0 0 0 4px rgba(224,75,58,.25); animation: rhlf-blink 1.6s infinite; }
.pic-about { padding: 64px 0 10px; background: var(--ivory); }
.pic-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pic-facts .pf { background: #fff; border: 1px solid #eae2d4; border-top: 3px solid var(--gold); border-radius: 8px; padding: 24px 22px; }
.pic-facts .pf b { display: block; font: 700 12px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--burgundy); margin-bottom: 12px; }
.pic-facts .pf p { font: 400 14px/1.7 var(--font-body); color: #4c463d; margin: 0; }
.pic-clips { padding: 60px 0 70px; background: var(--ivory); }
.pic-clip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.pic-clip-grid .son-vid h4 { font-family: var(--font-display); font-size: 19px; }
.pic-social { margin-top: 40px; background: var(--charcoal); border-radius: 10px; padding: 30px 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.pic-social p { font: 400 15.5px/1.6 var(--font-body); color: #e8e2d7; margin: 0; max-width: 640px; }
.pic-social .handle { font: 700 16px/1 var(--font-body); color: var(--gold); }
@media (max-width: 980px) { .pic-facts { grid-template-columns: repeat(2, 1fr); } .pic-clip-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pic-facts { grid-template-columns: 1fr; } }

/* Referrals */
.ref-why { padding: 66px 0; background: #fff; }
.ref-why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.rw-card { position: relative; background: var(--ivory); border: 1px solid #eae2d4; border-radius: 10px; padding: 30px 28px 26px; overflow: hidden; }
.rw-card .num { position: absolute; top: 10px; right: 18px; font-family: var(--font-display); font-style: italic; font-size: 54px; line-height: 1; color: rgba(212,179,106,.4); }
.rw-card h3 { font: 700 17.5px/1.35 var(--font-body); color: var(--charcoal); margin: 0 0 10px; max-width: 85%; }
.rw-card p { font: 400 14.5px/1.7 var(--font-body); color: #4c463d; margin: 0; }
.ref-body { padding: 66px 0; background: var(--ivory); }
.ref-body-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: center; }
.ref-body .tx h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); margin: 8px 0 16px; }
.ref-body .tx h2 em { font-style: italic; color: var(--burgundy); }
.ref-body .tx p { font: 400 15.5px/1.8 var(--font-body); color: #4c463d; margin: 0 0 14px; }
.ref-body .vid .youtube-video-wrapper { border-radius: 12px; box-shadow: 0 22px 48px rgba(18,18,18,.16); }
.ref-quote { padding: 60px 0; background: var(--burgundy); }
.ref-quote blockquote { margin: 0 auto; max-width: 820px; text-align: center; }
.ref-quote p { font-family: var(--font-display); font-style: italic; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.55; color: #f3ead9; margin: 0; }
.ref-quote p::before { content: '\201C'; color: var(--gold); }
.ref-quote p::after { content: '\201D'; color: var(--gold); }
@media (max-width: 900px) { .ref-why-grid, .ref-body-grid { grid-template-columns: 1fr; } }

/* Practice pages: more breathing room */
.content-main.editorial .entry-content h2 { margin-top: 54px; }
.content-main.editorial .entry-content h3 { margin-top: 38px; }
.content-main.editorial .entry-content ul { margin: 22px 0 30px; }
.content-main.editorial .entry-content p { margin-bottom: 18px; }

/* Attorney bio v2 — React island enhancements */
.bio-hero-v2 { background: radial-gradient(1100px 500px at 85% -10%, rgba(76,21,19,.55), transparent 60%), var(--charcoal); }
.bio-mark { position: absolute; right: -30px; top: 12px; font-family: var(--font-display); font-style: italic; font-weight: 700; font-size: clamp(180px, 26vw, 380px); line-height: 1; color: rgba(212,179,106,.07); pointer-events: none; user-select: none; }
.bio-hero-v2 .ph-frame { position: relative; }
.bio-hero-v2 .ph-frame::before { content: ''; position: absolute; inset: 26px -18px -18px 26px; border: 1px solid rgba(212,179,106,.45); pointer-events: none; }
.bio-stats, .ri-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: rgba(212,179,106,.25); border-top: 1px solid rgba(212,179,106,.25); }
.bio-stats .stat, .ri-stat { background: var(--charcoal); padding: 26px 22px; }
.bio-stats .stat b, .ri-stat b { display: block; font-family: var(--font-display); font-size: clamp(28px, 3vw, 40px); color: var(--gold); line-height: 1; font-weight: 600; }
.bio-stats .stat span, .ri-stat span { display: block; margin-top: 8px; font: 500 11.5px/1.4 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #b7ae9e; }
.ri-stat { opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .5s; }
.ri-stat.on { opacity: 1; transform: none; }

/* Credentials dossier (tabs) */
.ri-dossier { border: 1px solid #e4dccb; background: #fff; box-shadow: 0 24px 60px -30px rgba(18,18,18,.22); }
.ri-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid #e4dccb; background: var(--sand); }
.ri-tab { appearance: none; border: 0; background: transparent; cursor: pointer; padding: 18px 22px; font: 600 12.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #6d6355; display: flex; align-items: center; gap: 9px; border-bottom: 3px solid transparent; margin-bottom: -1px; transition: color .2s; }
.ri-tab .ic { font-size: 15px; }
.ri-tab em { font-style: normal; background: #e8dfcc; color: #5c5142; border-radius: 20px; padding: 3px 8px; font-size: 11px; }
.ri-tab.on { color: var(--burgundy); background: #fff; border-bottom-color: var(--gold); }
.ri-tab.on em { background: var(--gold); color: #2c2415; }
.ri-panel { padding: 30px 34px 34px; }
.ri-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ri-list li { animation: riIn .4s both; font: 400 15.5px/1.55 var(--font-body); color: #3b352c; padding-left: 26px; position: relative; }
.ri-list li::before { content: '✦'; position: absolute; left: 0; top: 2px; color: var(--gold); font-size: 13px; }
.ri-list.edu li::before { content: '—'; color: var(--burgundy); }
.ri-list.adm { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ri-list.adm li { padding: 18px 20px; background: var(--charcoal); color: #fff; }
.ri-list.adm li::before { content: none; }
.ri-list.adm li b { display: block; font-family: var(--font-display); font-size: 20px; color: var(--gold); }
.ri-list.adm li span { font: 500 12px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #b7ae9e; }
.ri-list.award li::before { content: '🏅'; font-size: 14px; }
@keyframes riIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Video reel */
.ri-reel { display: grid; gap: 14px; }
.ri-stage { position: relative; aspect-ratio: 16/9; background: #000; overflow: hidden; }
.ri-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ri-poster { appearance: none; border: 0; padding: 0; cursor: pointer; position: absolute; inset: 0; width: 100%; }
.ri-poster img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .25s, transform .4s; }
.ri-poster:hover img { opacity: 1; transform: scale(1.02); }
.ri-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; background: var(--gold); color: #1c1710; display: grid; place-items: center; font-size: 22px; padding-left: 5px; box-shadow: 0 14px 40px rgba(0,0,0,.45); transition: transform .2s; }
.ri-poster:hover .ri-play { transform: translate(-50%, -50%) scale(1.08); }
.ri-thumbs { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; }
.ri-thumb { appearance: none; border: 2px solid transparent; padding: 0; background: none; cursor: pointer; flex: 0 0 132px; aspect-ratio: 16/9; overflow: hidden; opacity: .65; transition: opacity .2s, border-color .2s; }
.ri-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ri-thumb.on, .ri-thumb:hover { opacity: 1; border-color: var(--gold); }

/* Sticky CTA rail */
.ri-sticky { position: fixed; left: 50%; bottom: 18px; transform: translate(-50%, 140%); z-index: 60; display: flex; align-items: center; gap: 16px; background: rgba(18,18,18,.96); color: #fff; border: 1px solid rgba(212,179,106,.4); padding: 12px 18px 12px 12px; box-shadow: 0 24px 60px rgba(0,0,0,.4); transition: transform .35s cubic-bezier(.2,.8,.2,1); max-width: calc(100vw - 24px); }
.ri-sticky.on { transform: translate(-50%, 0); }
.ri-sticky img { width: 52px; height: 52px; object-fit: cover; object-position: top; border-radius: 4px; }
.ri-sticky-txt { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ri-sticky-txt > b { font-family: var(--font-display); font-size: 18px; white-space: nowrap; }
.ri-sticky .btn { min-height: 0; padding: 10px 18px; font-size: 13px; }
.ri-sticky-tel { color: var(--gold); font: 600 14px/1 var(--font-body); text-decoration: none; white-space: nowrap; }
@media (max-width: 640px) {
	.ri-sticky { display: none; }
	.bio-mark { right: -16px; }
	.ri-panel { padding: 22px 18px 26px; }
	.ri-tab { padding: 14px 14px; }
}

/* Attorney bio — editorial story layout */
.bio-story { margin: 44px 0 10px; }
.bio-story .bs-head { margin-bottom: 26px; }
.bio-story .bs-head h2 { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 40px); margin: 8px 0 0; color: var(--charcoal); }
.bs-lede p { font: 300 clamp(18px, 2vw, 21.5px)/1.75 var(--font-body); color: #2c2822; margin: 0 0 26px; }
.bs-lede p::first-letter { font-family: var(--font-display); font-weight: 700; font-size: 4.4em; float: left; line-height: .82; padding: 6px 14px 0 0; color: var(--burgundy); }
.bs-p p { font: 400 16.5px/1.85 var(--font-body); color: #3b352c; margin: 0 0 24px; }
.bs-milestone { position: relative; margin: 30px 0; padding: 26px 30px 26px 68px; background: linear-gradient(135deg, #fffdf8, var(--sand)); border: 1px solid #e4dccb; border-left: 4px solid var(--gold); box-shadow: 0 18px 44px -26px rgba(18,18,18,.25); }
.bs-milestone p { font: 500 16.5px/1.75 var(--font-body); color: #33251c; margin: 0; }
.bs-milestone .bs-mi { position: absolute; left: 22px; top: 20px; font-family: var(--font-display); font-style: italic; font-size: 34px; color: var(--gold); }
.bs-sep { display: flex; align-items: center; gap: 16px; margin: 34px 0; color: var(--gold); }
.bs-sep i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, #d9cfae); }
.bs-sep i:last-child { background: linear-gradient(90deg, #d9cfae, transparent); }
.bs-sep span { font-size: 13px; }
.bs-ch { display: flex; align-items: baseline; gap: 16px; margin: 44px 0 20px; border-bottom: 2px solid var(--gold); padding-bottom: 12px; }
.bs-ch .bs-n { font-family: var(--font-display); font-style: italic; font-weight: 700; font-size: 34px; color: rgba(76,21,19,.35); }
.bs-ch h3 { font-family: var(--font-display); font-size: clamp(21px, 2.4vw, 27px); margin: 0; color: var(--charcoal); }
.bs-list ul, .bs-list ol { margin: 0 0 26px; padding: 0 0 0 4px; list-style: none; display: grid; gap: 10px; }
.bs-list li { position: relative; padding-left: 26px; font: 400 16px/1.6 var(--font-body); color: #3b352c; }
.bs-list li::before { content: '✦'; position: absolute; left: 0; top: 2px; color: var(--gold); font-size: 12px; }
/* Scroll-reveal (added by the attorney island) */
.bio-story .rv { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
.bio-story .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .bio-story .rv { opacity: 1; transform: none; transition: none; } }
@media (max-width: 640px) {
	.bs-milestone { padding: 22px 20px 22px 54px; }
	.bs-milestone .bs-mi { left: 16px; }
}

/* BioStory v2 — interactive reading experience */
.bs2 { display: grid; grid-template-columns: 120px 1fr; gap: 28px; }
.bs2-rail { position: relative; }
.bs2-parts { position: sticky; top: 120px; display: grid; gap: 22px; padding-left: 14px; border-left: 1px solid #e4dccb; }
.bs2-track { position: absolute; left: 0; top: 0; bottom: 0; width: 1px; }
.bs2-fill { position: absolute; left: 0; top: 0; width: 3px; margin-left: -1px; background: linear-gradient(var(--gold), var(--burgundy)); transition: height .15s linear; }
.bs2-dot { appearance: none; border: 0; background: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 0; color: #8d8271; font: 600 11.5px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; transition: color .2s; }
.bs2-dot i { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid #c9bd9f; background: #fff; flex: 0 0 auto; transition: background .2s, border-color .2s, transform .2s; }
.bs2-dot.on { color: var(--burgundy); }
.bs2-dot.on i { background: var(--gold); border-color: var(--gold); transform: scale(1.25); }
.bs2-dot:hover { color: var(--burgundy); }
.bs2-flow { min-width: 0; }
.bs-money { font-style: normal; font-family: var(--font-display); font-weight: 700; color: var(--burgundy); background: linear-gradient(transparent 62%, rgba(212,179,106,.45) 62%); padding: 0 2px; white-space: nowrap; }
@media (max-width: 900px) { .bs2 { grid-template-columns: 1fr; } .bs2-rail { display: none; } }

/* Credentials dossier v2 — side rail + logo rows */
.ri-dossier.v2 { border: 1px solid #e4dccb; background: #fff; box-shadow: 0 24px 60px -30px rgba(18,18,18,.22); }
.ri-dossier.v2 .ri-rail { display: flex; flex-wrap: wrap; background: var(--charcoal); }
.ri-dossier.v2 .ri-tab { display: flex; align-items: center; gap: 10px; text-align: left; padding: 15px 18px; border: 0; border-bottom: 3px solid transparent; margin: 0; color: #b7ae9e; background: transparent; flex: 1 1 auto; }
.ri-dossier.v2 .ri-tab .tt { flex: 1; font: 600 11.5px/1.35 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.ri-dossier.v2 .ri-tab em { font-style: normal; font: 700 11px/1 var(--font-body); border: 1px solid #55503f; color: #b7ae9e; padding: 4px 8px; border-radius: 999px; }
.ri-dossier.v2 .ri-tab.on { color: #fff; background: rgba(212,179,106,.08); border-bottom-color: var(--gold); }
.ri-dossier.v2 .ri-tab.on em { border-color: var(--gold); color: var(--gold); }
.ri-dossier.v2 .ri-panel { padding: 24px 22px 26px; }
.rc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rc-row { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border: 1px solid #eee7d8; background: #fffdf8; animation: riIn .4s both; font: 400 15.5px/1.5 var(--font-body); color: #3b352c; }
.rc-row .rc-txt { flex: 1; min-width: 0; }
.rc-mono { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); border: 1px solid #e0d5bc; color: var(--burgundy); font: 700 13px/1 var(--font-display); letter-spacing: .04em; }
.rc-logo { flex: 0 0 52px; width: 52px; height: 44px; display: grid; place-items: center; background: #fff; border: 1px solid #eee7d8; }
.rc-logo img { max-width: 46px; max-height: 38px; object-fit: contain; }
.rc-chip { flex: 0 0 auto; font: 700 11px/1 var(--font-body); letter-spacing: .1em; color: var(--burgundy); background: rgba(212,179,106,.22); border: 1px solid #ddcda2; padding: 5px 9px; border-radius: 999px; }
.rc-list.edu .rc-row { position: relative; }
.rc-adm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.rc-adm { background: var(--charcoal); color: #fff; padding: 20px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 4px 14px; align-items: center; animation: riIn .4s both; }
.rc-adm .rc-seal { grid-row: 1 / span 2; width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--gold); color: var(--gold); display: grid; place-items: center; font: 700 15px/1 var(--font-display); letter-spacing: .04em; }
.rc-adm b { font-family: var(--font-display); font-size: 17px; font-weight: 600; }
.rc-adm .rc-yr { font: 500 11.5px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #b7ae9e; }
@media (max-width: 760px) {
	.ri-dossier.v2 .ri-rail { flex-wrap: nowrap; overflow-x: auto; }
	.ri-dossier.v2 .ri-tab { flex: 0 0 auto; }
	.ri-dossier.v2 .ri-panel { padding: 20px 16px 24px; }
	.rc-row { padding: 10px 12px; gap: 12px; }
	.rc-mono { flex-basis: 38px; width: 38px; height: 38px; }
}
.bio-creds .bc-grid:has(.ri-dossier.v2) { display: block; }

/* ---------- wrap modifier ---------- */
.wrap.narrow { max-width: 760px; }

/* ---------- As Seen On marquee ---------- */
.seenon { padding: 30px 0; background: #fff; border-top: 1px solid #eae2d4; border-bottom: 1px solid #eae2d4; overflow: hidden; }
.seenon-inner { display: flex; align-items: center; gap: 34px; max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.seenon-lbl { flex: 0 0 auto; font: 700 12px/1 var(--font-body); letter-spacing: .22em; color: var(--burg, #7a1f2b); white-space: nowrap; }
.seenon-track { flex: 1; display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.seenon-run { display: flex; align-items: center; gap: 0; flex: 0 0 auto; animation: seenon-scroll 28s linear infinite; }
.seenon-track.paused .seenon-run { animation-play-state: paused; }
.seenon-track.static { -webkit-mask-image: none; mask-image: none; }
.seenon-track.static .seenon-run { animation: none; flex-wrap: wrap; justify-content: center; gap: 0; padding: 0; }
/* Standardized logo slots — every mark gets the same box so spacing is perfectly even. */
.seenon-logo { display: block; height: 34px; width: 150px; margin: 0 22px; object-fit: contain; object-position: center; flex: 0 0 auto; filter: grayscale(1); opacity: .8; transition: filter .25s, opacity .25s; }
.seenon-logo:hover { filter: none; opacity: 1; }
span.seenon-logo.txt { display: flex; align-items: center; justify-content: center; filter: none; font: 700 17px/1 var(--font-display); color: var(--charcoal, #1d1c1a); white-space: nowrap; letter-spacing: .04em; }
@keyframes seenon-scroll { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .seenon-run { animation: none; } }
@media (max-width: 720px) { .seenon-logo { height: 26px; width: 110px; margin: 0 14px; } }

/* ---------- Google review cards ---------- */
.gr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.gr-slot { display: flex; transition: opacity .4s, transform .4s; }
.gr-slot.fading { opacity: 0; transform: translateY(10px); }
.gr-slot .gr-card { flex: 1; }
.gr-card { background: #fff; border: 1px solid #e8eaed; border-radius: 12px; padding: 22px 22px 18px; box-shadow: 0 1px 3px rgba(60,64,67,.08); display: flex; flex-direction: column; font-family: var(--font-body); }
.gr-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.gr-avatar { width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; color: #fff; font: 500 18px/1 var(--font-body); }
.gr-idy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gr-idy strong { font: 600 14.5px/1.2 var(--font-body); color: #202124; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gr-meta { font: 400 12.5px/1.3 var(--font-body); color: #5f6368; }
.gr-office { color: var(--burg, #7a1f2b); font-weight: 600; }
.gr-head .gr-g { flex: 0 0 auto; }
.gr-stars { display: inline-flex; gap: 1px; margin-bottom: 8px; }
.gr-text { font: 400 14px/1.65 var(--font-body); color: #3c4043; flex: 1; margin: 0; }
.gr-text.clamp { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.gr-more { align-self: flex-start; margin-top: 6px; background: none; border: 0; padding: 0; font: 600 13px/1 var(--font-body); color: #1a73e8; cursor: pointer; }
.gr-foot { display: flex; align-items: center; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #f1f3f4; font: 400 12px/1 var(--font-body); color: #5f6368; }
.gr-foot .gr-g { width: 14px; height: 14px; }
.gr-summary { background: var(--charcoal, #1d1c1a); border-color: rgba(212,179,106,.3); align-items: flex-start; justify-content: center; gap: 10px; }
.gr-summary .gr-big { font: 700 44px/1 var(--font-display); color: var(--gold, #d4b36a); }
.gr-summary p { font: 400 13.5px/1.6 var(--font-body); color: #cfc9bd; margin: 0; }
.gr-live { display: inline-flex; align-items: center; gap: 8px; font: 700 11px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold, #d4b36a); }
.gr-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #34a853; animation: gr-pulse 1.6s ease-in-out infinite; }
@keyframes gr-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .gr-live-dot { animation: none; } }
.gr-wall .gr-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.gr-wall .gr-filters button { border: 1px solid #dcd4c4; background: #fff; border-radius: 999px; padding: 9px 16px; font: 600 13.5px/1 var(--font-body); color: #444; cursor: pointer; transition: all .18s; }
.gr-wall .gr-filters button b { font-weight: 700; color: #999; margin-left: 4px; }
.gr-wall .gr-filters button.on { background: var(--charcoal, #1d1c1a); border-color: var(--charcoal, #1d1c1a); color: #fff; }
.gr-wall .gr-filters button.on b { color: var(--gold, #d4b36a); }
.gr-masonry { columns: 3; column-gap: 22px; }
.gr-masonry .gr-card { break-inside: avoid; margin-bottom: 22px; }
.gr-loadmore { text-align: center; margin-top: 10px; }
@media (max-width: 1000px) { .gr-grid { grid-template-columns: repeat(2, 1fr); } .gr-masonry { columns: 2; } }
@media (max-width: 640px) { .gr-grid { grid-template-columns: 1fr; } .gr-masonry { columns: 1; } }

/* ---------- Founders section ---------- */
.founders { padding: 84px 0; background: var(--sand); }
.founders .grid { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 44px; align-items: center; }
.founders .f-photo { margin: 0; }
.founders .f-photo img { width: 100%; border-radius: 6px; box-shadow: 12px 12px 0 rgba(76,21,19,.12); }
.founders .f-photo figcaption { margin-top: 12px; font: 600 12.5px/1.5 var(--font-body); color: var(--burgundy); letter-spacing: .04em; }
.founders .f-copy { text-align: center; }
.founders .f-copy h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); margin: 10px 0 16px; }
.founders .f-copy p { font: 400 15px/1.8 var(--font-body); color: #4c463d; margin: 0 0 22px; }
.founders .ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 900px) { .founders .grid { grid-template-columns: 1fr; } .founders .f-photo { max-width: 340px; margin: 0 auto; } }

/* ---------- Growing $2B stat ---------- */
.cell.grow .num.live { display: inline-flex; align-items: baseline; gap: 8px; font-variant-numeric: tabular-nums; }
.cell.grow .live-full { letter-spacing: .01em; }
.cell.grow .live-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); align-self: center; animation: growpulse 2s ease-in-out infinite; }
@keyframes growpulse { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }

/* ---------- Inquiry form (Business / Community / Spirit / Giveaways) ---------- */
.rhlf-inquiry { --inqacc: var(--burgundy); }
.rhlf-inquiry > script { display: none; }
.inq-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--inqacc); border-radius: 6px; padding: 42px 40px; box-shadow: 0 24px 60px rgba(18,18,18,.09); }
.inq-head { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 10px; color: var(--charcoal); }
.inq-sub { font: 400 14.5px/1.7 var(--font-body); color: #5d564a; margin: 0 0 26px; }
.inq-sub a { color: var(--inqacc); font-weight: 600; }
.inq-form { display: flex; flex-direction: column; gap: 16px; }
.inq-form label { display: flex; flex-direction: column; gap: 6px; font: 600 12.5px/1 var(--font-body); color: var(--charcoal); }
.inq-form input, .inq-form textarea { border: 1px solid #cfc7b8; border-radius: 4px; padding: 12px 14px; font: 400 14.5px/1.5 var(--font-body); color: var(--charcoal); background: #fdfcfa; }
.inq-form input:focus, .inq-form textarea:focus { outline: 2px solid var(--inqacc); outline-offset: 0; border-color: var(--inqacc); }
.inq-form label.err input, .inq-form label.err textarea { border-color: #b3261e; }
.inq-form label em, .rhlf-consent em { font: 600 11.5px/1.3 var(--font-body); color: #b3261e; font-style: normal; }
.inq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.inq-form .rhlf-consent { display: flex; flex-direction: column; gap: 10px; }
.inq-form .rhlf-consent label { flex-direction: row; align-items: flex-start; gap: 10px; font: 400 12px/1.6 var(--font-body); color: #5d564a; }
.inq-form .rhlf-consent input { margin-top: 2px; accent-color: var(--inqacc); }
.inq-form .rhlf-consent a { color: var(--inqacc); }
.inq-submit { border: 0; border-radius: 4px; background: var(--inqacc); color: #fff; font: 700 15px/1 var(--font-body); letter-spacing: .04em; padding: 16px 22px; cursor: pointer; transition: .15s; }
.inq-submit:hover { filter: brightness(1.12); }
.inq-submit:disabled { opacity: .6; cursor: wait; }
.inq-err { font: 500 13px/1.6 var(--font-body); color: #b3261e; margin: 4px 0 0; }
.inq-done { text-align: center; padding: 26px 8px; }
.inq-done .ok { display: inline-flex; width: 54px; height: 54px; border-radius: 50%; background: var(--inqacc); color: #fff; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 14px; }
.inq-done h3 { font-family: var(--font-display); font-size: 24px; margin: 0 0 8px; }
.inq-done p { font: 400 14.5px/1.7 var(--font-body); color: #5d564a; margin: 0; }
.biz-inquiry, .comm-inquiry, .son-partner { padding: 74px 0; background: var(--ivory); }
.son-partner { background: #f2f5f9; }
@media (max-width: 700px) { .inq-row { grid-template-columns: 1fr; } .inq-card { padding: 30px 22px; } }

/* ---------- Careers ---------- */
.career-body { padding: 80px 0; background: var(--ivory); }
.career-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: start; }
.career-copy h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); margin: 10px 0 16px; }
.career-copy h2 em { font-style: italic; color: var(--burgundy); }
.career-copy p { font: 400 15px/1.8 var(--font-body); color: #4c463d; margin: 0 0 14px; }
.career-points { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.career-points div { display: flex; gap: 12px; font: 500 14.5px/1.6 var(--font-body); color: var(--charcoal); }
.career-points span { color: var(--gold); font-weight: 800; }
@media (max-width: 900px) { .career-grid { grid-template-columns: 1fr; } }

/* ---------- Giveaways ---------- */
.giveaways { padding: 80px 0; background: var(--ivory); }
.ga-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.ga-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; box-shadow: 0 20px 50px rgba(18,18,18,.08); display: flex; flex-direction: column; }
.ga-img { position: relative; display: block; }
.ga-img img { width: 100%; display: block; aspect-ratio: 16/9; object-fit: cover; }
.ga-badge { position: absolute; top: 14px; left: 14px; background: var(--burgundy); color: var(--gold); font: 700 11px/1 var(--font-body); letter-spacing: .14em; padding: 8px 12px; border-radius: 100px; }
.ga-body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.ga-body h2 { font-family: var(--font-display); font-size: 24px; margin: 0; }
.ga-body p { font: 400 14.5px/1.6 var(--font-body); color: #5d564a; margin: 0 0 8px; }
.ga-entry { padding: 80px 0; background: var(--ivory); }
.ga-entry-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: start; }
.ga-entry-media img { width: 100%; border-radius: 8px; box-shadow: 0 20px 50px rgba(18,18,18,.12); }
.ga-entry-copy { margin-top: 22px; font: 400 15px/1.8 var(--font-body); color: #4c463d; }
@media (max-width: 900px) { .ga-grid, .ga-entry-grid { grid-template-columns: 1fr; } }

/* ---------- Locations distance sorting ---------- */
.loc-card .dist-chip { font: 600 12px/1 var(--font-body); color: var(--burgundy); }
.loc-card .near-badge { display: none; position: absolute; top: 10px; right: 12px; background: var(--gold); color: var(--charcoal); font: 700 10.5px/1 var(--font-body); letter-spacing: .08em; padding: 6px 10px; border-radius: 100px; }
.loc-card.nearest { border-color: var(--gold); position: relative; }
.loc-card.nearest .near-badge { display: inline-block; }
.geo-note { font: 500 13px/1.5 var(--font-body); color: #5d564a; margin: 6px 0 0; }

/* ---------- Live search suggestions ---------- */
.search-form.has-suggest { position: relative; }
.ss-mount { position: absolute; top: 100%; left: 0; right: 0; z-index: 80; }
.ss-panel { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 0 0 6px 6px; box-shadow: 0 24px 60px rgba(18,18,18,.16); overflow: hidden; }
.ss-item { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 16px; text-decoration: none; }
.ss-item .t { font: 500 14px/1.4 var(--font-body); color: var(--charcoal); }
.ss-item .k { font: 600 10.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold); flex: 0 0 auto; }
.ss-item.on, .ss-item:hover { background: var(--ivory); }
.ss-empty { padding: 14px 16px; font: 400 13.5px/1.4 var(--font-body); color: #8a8272; }
.ss-all { display: block; width: 100%; border: 0; border-top: 1px solid var(--line); background: var(--charcoal); color: var(--gold); font: 600 13px/1 var(--font-body); padding: 13px 16px; cursor: pointer; text-align: left; }

/* ---------- Newsletter consent ---------- */
.nl-consent { font: 400 11.5px/1.6 var(--font-body); color: #cfc7b8; margin: 12px 0 0; max-width: 520px; }

/* ---------- Footer social: real brand logos ---------- */
footer.site-footer .social a { width: 30px; height: 30px; border: 0; border-radius: 8px; background: none; color: #fff; }
footer.site-footer .social a svg { width: 24px; height: 24px; display: block; }
footer.site-footer .social a:hover { transform: translateY(-2px); background: none; filter: brightness(1.15) drop-shadow(0 4px 10px rgba(0,0,0,.35)); }

/* ---------- v2.2.0 — mobile-first homepage declutter (React islands) ---------- */

/* Swipeable snap rails (SnapRail island) */
@media (max-width: 720px) {
  .is-rail { display: flex !important; grid-template-columns: none !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 4px 16px 10px; margin: 0 -16px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .is-rail::-webkit-scrollbar { display: none; }
  .is-rail > * { flex: 0 0 82%; max-width: 82%; scroll-snap-align: center; }
  .team-album.is-rail > * { flex: 0 0 44%; max-width: 44%; }
  .is-rail > [hidden] { display: none !important; }
}
.rail-dots { display: none; }
@media (max-width: 720px) {
  .rail-dots { display: flex; justify-content: center; gap: 8px; padding: 12px 0 2px; }
  .rail-dot { width: 24px; height: 24px; border-radius: 50%; border: 0; padding: 0; background: transparent; cursor: pointer; position: relative; }
  .rail-dot::after { content: ''; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: rgba(18,18,18,.18); transition: transform .2s, background .2s; }
  .rail-dot.on::after { background: var(--gold); transform: scale(1.35); }
  .results .rail-dot::after, .stories .rail-dot::after { background: rgba(255,255,255,.25); }
  .results .rail-dot.on::after, .stories .rail-dot.on::after { background: var(--gold); }
}

/* Hero form collapse (HeroFormToggle island) */
.hf-toggle { display: none; }
@media (max-width: 900px) {
  .hf-toggle { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: var(--gold); color: var(--charcoal); border: 0; border-radius: 8px; padding: 16px 18px; cursor: pointer; box-shadow: 0 14px 34px rgba(18,18,18,.28); }
  .hf-toggle .hf-main { font: 700 15px/1.2 var(--font-body); flex: 1; }
  .hf-toggle .hf-note { font: 500 11px/1.2 var(--font-body); color: rgba(18,18,18,.82); flex: 0 0 auto; }
  .hf-toggle .hf-chev { font: 400 22px/1 var(--font-body); flex: 0 0 auto; }
  .hf-toggle.open { border-radius: 8px 8px 0 0; margin-bottom: 0; }
  .hero .form-card.hf-collapsed { display: none; }
  .hf-mount + .form-card:not(.hf-collapsed) { border-radius: 0 0 8px 8px; }
}

/* Sticky mobile call bar (StickyCallBar island) */
.scb { display: none; }
@media (max-width: 720px) {
  .scb { position: fixed; left: 12px; right: 84px; bottom: 12px; z-index: 890; display: flex; gap: 8px; opacity: 0; transform: translateY(84px); transition: transform .3s ease, opacity .3s ease; pointer-events: none; }
  .scb.on { opacity: 1; transform: none; pointer-events: auto; }
  .scb a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; border-radius: 10px; text-decoration: none; font: 700 13.5px/1 var(--font-body); box-shadow: 0 14px 34px rgba(18,18,18,.35); }
  .scb-call { background: var(--charcoal); color: var(--gold); }
  .scb-review { background: var(--gold); color: var(--charcoal); }
}

/* Mobile section rhythm: tighter, less competing copy */
@media (max-width: 720px) {
  .sec-head { margin-bottom: 18px; }
  .sec-head .right { display: none; }
  section.practice, section.lawyers, section.locations, section.results, section.stories { padding-top: 52px; padding-bottom: 52px; }
  .hero .ctas { flex-wrap: nowrap; }
  .hero .ctas .btn { padding-left: 16px; padding-right: 16px; font-size: 13.5px; }
}

/* ---------- v2.3.0 — sitewide custom-feel layer (React/TS islands) ---------- */

/* Scroll reveal */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.22,.61,.36,1) var(--rvd, 0ms), transform .7s cubic-bezier(.22,.61,.36,1) var(--rvd, 0ms); }
.rv.rv-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; transition: none; } }

/* Header scroll behavior */
nav.main { transition: transform .32s ease, box-shadow .32s ease, background .32s ease; }
nav.main:has(.site-nav.open) { transform: none !important; transition: none; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
nav.main.hdr-scrolled { box-shadow: 0 10px 34px rgba(0,0,0,.45); background: rgba(18,18,18,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
nav.main.hdr-hidden { transform: translateY(-110%); }

/* Pointer-tracking card glow */
.glow { position: relative; overflow: hidden; }
.glow::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .35s ease; background: radial-gradient(340px circle at var(--gx, 50%) var(--gy, 50%), rgba(212,179,106,.16), transparent 62%); }
.glow:hover::after { opacity: 1; }

/* Reading progress + back-to-top */
.rp-bar { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 990; pointer-events: none; }
.rp-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--burgundy), var(--gold)); transition: width .12s linear; }
.rp-top { position: fixed; right: 18px; bottom: 96px; z-index: 880; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(212,179,106,.4); background: rgba(18,18,18,.92); cursor: pointer; opacity: 0; transform: translateY(16px) scale(.9); transition: opacity .3s ease, transform .3s ease; pointer-events: none; box-shadow: 0 14px 34px rgba(18,18,18,.35); }
.rp-top.on { opacity: 1; transform: none; pointer-events: auto; }
.rp-top:hover { border-color: var(--gold); }
@media (max-width: 720px) { .rp-top { bottom: 150px; right: 12px; width: 46px; height: 46px; } }

/* FAQ live search */
.faqf { margin: 0 0 26px; }
.faqf-box { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 8px; padding: 14px 18px; box-shadow: 0 14px 34px rgba(18,18,18,.08); color: #8a8272; }
.faqf-box:focus-within { border-color: var(--gold); }
.faqf-box input { flex: 1; border: 0; outline: 0; background: transparent; font: 400 16px/1.4 var(--font-body); color: var(--charcoal); }
.faqf-clear { border: 0; background: var(--ivory); color: var(--charcoal); width: 28px; height: 28px; border-radius: 50%; font: 400 18px/1 var(--font-body); cursor: pointer; }
.faqf-meta { min-height: 20px; margin-top: 10px; font: 500 13px/1.4 var(--font-body); color: #8a8272; }

/* Blog single: editorial treatment + share row */
.post-feature { margin: 0 0 22px; border-radius: 8px; overflow: hidden; box-shadow: 0 20px 50px rgba(18,18,18,.16); position: relative; }
.post-feature::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(212,179,106,.35); border-radius: 8px; pointer-events: none; }
.post-feature img { display: block; width: 100%; height: auto; }
.share-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 28px; }
.share-row .sh { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); background: #fff; color: var(--charcoal); border-radius: 100px; padding: 8px 16px; font: 600 12.5px/1 var(--font-body); text-decoration: none; cursor: pointer; transition: border-color .2s, background .2s; }
.share-row .sh:hover { border-color: var(--gold); background: var(--ivory); }
.share-row .sh-copy.ok { border-color: var(--gold); background: var(--gold); }
.post-editorial > p:first-of-type::first-letter { font-family: var(--font-display); font-size: 3.4em; line-height: .82; float: left; padding: 6px 10px 0 0; color: var(--burgundy); }

/* Practice-area landing pages */
.practice-landing .pl-hero .inner { padding-top: 120px; padding-bottom: 90px; }
.pl-cases { padding: 72px 0 30px; }
.pl-chipgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pl-chip { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 22px 20px 20px 62px; font: 600 15.5px/1.4 var(--font-body); color: var(--charcoal); box-shadow: 0 12px 30px rgba(18,18,18,.06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.pl-chip:hover { transform: translateY(-3px); border-color: var(--pgacc, var(--gold)); box-shadow: 0 20px 44px rgba(18,18,18,.12); }
.pl-chip .ix { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); font: 700 13px/1 var(--font-display); font-style: italic; color: var(--pgacc, var(--burgundy)); opacity: .85; border-right: 2px solid rgba(212,179,106,.5); padding-right: 12px; }
@media (max-width: 980px) { .pl-chipgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .pl-chipgrid { grid-template-columns: 1fr; } }

/* Compensation explorer island */
.pl-comp { padding: 60px 0 70px; }
.px-wrap { background: var(--charcoal); border-radius: 14px; overflow: hidden; box-shadow: 0 26px 60px rgba(18,18,18,.28); }
.px-tabs { display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(255,255,255,.04); border-bottom: 1px solid rgba(212,179,106,.25); }
.px-tab { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px 12px 16px; background: transparent; border: 0; border-bottom: 3px solid transparent; color: rgba(247,243,238,.72); font: 600 13.5px/1.2 var(--font-body); cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.px-tab .px-ico { font-size: 24px; }
.px-tab:hover { color: #fff; }
.px-tab.on { color: var(--gold); border-bottom-color: var(--gold); background: rgba(212,179,106,.08); }
.px-panel { padding: 34px 38px 38px; opacity: 0; transform: translateY(10px); transition: opacity .4s ease, transform .4s ease; }
.px-panel.in { opacity: 1; transform: none; }
.px-blurb { font: 400 italic 19px/1.5 var(--font-display); color: var(--sand); margin: 0 0 20px; }
.px-items { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 26px; }
.px-items li { display: flex; gap: 12px; align-items: baseline; color: #f7f3ee; font: 400 15.5px/1.5 var(--font-body); opacity: 0; transform: translateX(-8px); transition: opacity .4s ease, transform .4s ease; }
.px-items li.in { opacity: 1; transform: none; }
.px-items .tick { color: var(--gold); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .px-panel, .px-items li { transition: none; opacity: 1; transform: none; } }
@media (max-width: 760px) { .px-tabs { grid-template-columns: repeat(2, 1fr); } .px-panel { padding: 26px 22px 30px; } .px-items { grid-template-columns: 1fr; } }
.pl-comp-fallback { margin: 20px 0 0; padding-left: 20px; }

/* Guide teaser */
.pl-guide { background: var(--sand); padding: 76px 0; }
.pl-guide-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 46px; align-items: start; }
.pl-guide-copy h2 { margin: 8px 0 18px; }
.pl-readmore { margin-top: 26px; }
.pl-guide-card { position: sticky; top: 110px; background: var(--burgundy); color: #f7f3ee; border-radius: 12px; padding: 30px 28px 32px; box-shadow: 0 24px 54px rgba(76,21,19,.35); }
.pl-guide-card .tag { display: inline-block; font: 700 11px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(212,179,106,.5); border-radius: 100px; padding: 7px 14px; margin-bottom: 16px; }
.pl-guide-card h3 { font: 700 24px/1.25 var(--font-display); margin: 0 0 12px; color: #fff; }
.pl-guide-card p { font: 400 15px/1.6 var(--font-body); color: rgba(247,243,238,.85); margin: 0 0 20px; }
@media (max-width: 900px) { .pl-guide-grid { grid-template-columns: 1fr; } .pl-guide-card { position: static; } }

/* Landing FAQ teaser */
.pl-faqs { padding: 70px 0 40px; }
.pl-faq { background: #fff; border: 1px solid var(--line); border-radius: 10px; margin: 0 0 12px; overflow: hidden; }
.pl-faq summary { cursor: pointer; list-style: none; padding: 20px 24px; font: 700 17px/1.35 var(--font-display); color: var(--charcoal); position: relative; }
.pl-faq summary::-webkit-details-marker { display: none; }
.pl-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: var(--gold); font: 400 26px/1 var(--font-display); transition: transform .25s ease; }
.pl-faq[open] summary::after { content: "−"; }
.pl-faq p { margin: 0; padding: 0 24px 22px; font: 400 15.5px/1.65 var(--font-body); color: #4a453c; }
.pl-faq-more { margin: 18px 0 0; font: 600 15px/1.4 var(--font-body); }
.pl-faq-more a { color: var(--burgundy); }

/* Guide page */
.pg-guide-suffix { color: var(--gold); font-style: italic; }

/* v2.5.0 — Results wall (React) */
.fc-replaced, .rw-replaced { display: none !important; }
.rw { margin-top: 8px; }
.rw-controls { margin-bottom: 26px; }
.rw-tiers { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.rw-tier { border: 1px solid rgba(18,18,18,.18); background: #fff; border-radius: 999px; padding: 10px 20px; font-weight: 700; font-size: 14px; cursor: pointer; transition: all .2s; }
.rw-tier.on { background: #121212; color: #d4b36a; border-color: #121212; }
.rw-row2 { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.rw-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.rw-cats button { border: none; background: #f2e8da; border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 600; cursor: pointer; color: #4c1513; transition: all .2s; }
.rw-cats button.on { background: #4c1513; color: #f7f3ee; }
.rw-search { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(18,18,18,.16); border-radius: 999px; padding: 8px 16px; min-width: 240px; }
.rw-search input { border: none; outline: none; font-size: 14px; width: 100%; background: transparent; }
.rw-meta { margin: 12px 0 0; font-size: 13px; color: rgba(18,18,18,.68); }
.rw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rw-card { background: #fff; border: 1px solid rgba(18,18,18,.08); border-left: 4px solid #d4b36a; border-radius: 12px; padding: 18px 20px; box-shadow: 0 8px 24px rgba(18,18,18,.05); animation: rwIn .45s both; }
.rw-card.t-eight { border-left-color: #4c1513; }
.rw-card.t-seven { border-left-color: #d4b36a; }
.rw-card.t-multi { border-left-color: #16324f; }
.rw-card p { margin: 10px 0 0; font-size: 15px; line-height: 1.55; }
.rw-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rw-badge { font-family: 'Playfair Display', Georgia, serif; font-weight: 800; font-size: 18px; letter-spacing: .5px; }
.rw-badge.b-eight { color: #4c1513; }
.rw-badge.b-seven { color: #7d6220; }
.rw-badge.b-multi { color: #16324f; }
.rw-cat { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: rgba(18,18,18,.64); font-weight: 700; text-align: right; }
.rw-morewrap { text-align: center; margin-top: 28px; }
.rw-empty { padding: 40px 0; text-align: center; color: rgba(18,18,18,.55); }
@keyframes rwIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .rw-card { animation: none; } }
@media (max-width: 900px) { .rw-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .rw-grid { grid-template-columns: 1fr; } .rw-search { min-width: 0; width: 100%; } }

/* v2.5.0 — FAQ center (React) */
.fc-mount { padding: 44px 20px 64px; }
.fc { display: grid; grid-template-columns: 280px 1fr; gap: 36px; align-items: start; }
.fc-rail { position: sticky; top: 96px; }
.fc-search { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(18,18,18,.16); border-radius: 999px; padding: 10px 16px; margin-bottom: 18px; }
.fc-search input { border: none; outline: none; font-size: 14px; width: 100%; background: transparent; }
.fc-cats { display: flex; flex-direction: column; gap: 6px; }
.fc-cats button { display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left; border: none; background: transparent; border-radius: 10px; padding: 10px 14px; font-size: 14px; font-weight: 600; cursor: pointer; color: #121212; transition: all .18s; }
.fc-cats button b { font-size: 12px; background: #f2e8da; color: #4c1513; border-radius: 999px; padding: 2px 9px; font-weight: 700; }
.fc-cats button:hover { background: #f7f3ee; }
.fc-cats button.on { background: #121212; color: #f7f3ee; }
.fc-cats button.on b { background: #d4b36a; color: #121212; }
.fc-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.fc-meta { margin: 0; font-size: 13px; color: rgba(18,18,18,.68); }
.fc-toggleall { border: none; background: transparent; color: #4c1513; font-weight: 700; font-size: 13px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.fc-item { background: #fff; border: 1px solid rgba(18,18,18,.08); border-radius: 12px; margin-bottom: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(18,18,18,.04); transition: box-shadow .2s; }
.fc-item.open { box-shadow: 0 10px 28px rgba(18,18,18,.09); border-color: rgba(212,179,106,.5); }
.fc-q { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; border: none; background: transparent; padding: 16px 18px; cursor: pointer; }
.fc-n { font-family: 'Playfair Display', Georgia, serif; font-weight: 800; color: #8a6a24; font-size: 15px; min-width: 26px; }
.fc-qt { flex: 1; font-family: 'Playfair Display', Georgia, serif; font-size: 17px; font-weight: 700; line-height: 1.35; }
.fc-q i { font-style: normal; font-size: 22px; color: #4c1513; line-height: 1; }
.fc-a { padding: 0 18px 18px 58px; font-size: 15px; line-height: 1.65; color: rgba(18,18,18,.8); }
.fc-a .faq-a { display: block; padding: 0; }
.fc-a a { color: #4c1513; font-weight: 600; }
.fc-empty { padding: 40px 0; text-align: center; color: rgba(18,18,18,.55); }
@media (max-width: 900px) { .fc { grid-template-columns: 1fr; } .fc-rail { position: static; } .fc-cats { flex-direction: row; flex-wrap: wrap; } .fc-a { padding-left: 18px; } }

/* ===== Attorney landing (custom composition) ===== */
.atl-facts { margin-top: 34px; }
.atl-quote { padding: 54px 0 10px; }
.atl-quote .bio-quote { max-width: 900px; margin: 0 auto; border-left: 0; padding: 0 0 0 0; text-align: center; font-size: clamp(23px, 2.6vw, 32px); }
.atl-quote .bio-quote footer { display: block; margin-top: 16px; font: 700 12px/1 var(--font-body); font-style: normal; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-dark, #a6813c); }
.atl-highlights { padding: 64px 0; background: var(--charcoal, #1d1c1a); color: #f3efe7; }
.atl-highlights .eyebrow { color: var(--gold); }
.atl-highlights h2 { color: #fff; }
.atl-hl-rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 2px 18px; scrollbar-width: none; }
.atl-hl-rail::-webkit-scrollbar { display: none; }
.atl-hl-card { flex: 0 0 min(460px, 86%); scroll-snap-align: center; position: relative; background: #26241f; border: 1px solid #3a362d; border-top: 3px solid var(--gold); padding: 30px 28px 26px; opacity: .55; transform: scale(.97); transition: opacity .35s, transform .35s; }
.atl-hl-card.on { opacity: 1; transform: scale(1); }
.atl-hl-card .ix { position: absolute; top: 14px; right: 18px; font: 700 13px/1 var(--font-body); letter-spacing: .14em; color: #6d675a; }
.atl-hl-card .fig { display: block; font: 700 clamp(30px, 3.4vw, 44px)/1.1 var(--font-display); color: var(--gold); margin-bottom: 12px; }
.atl-hl-card p { font: 400 15px/1.7 var(--font-body); color: #cfc9bc; margin: 0; }
.atl-hl-dots { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }
.atl-hl-dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; background: #55503f; padding: 0; cursor: pointer; transition: background .2s, transform .2s; }
.atl-hl-dots button.on { background: var(--gold); transform: scale(1.3); }
.atl-hl-fallback { display: grid; gap: 14px; }
.atl-hl-fallback[hidden] { display: none; }
.atl-hl-fallback .bs-milestone { margin: 0; }
.atl-videos { padding: 56px 0 8px; }
.atl-creds { padding: 40px 0 8px; }
.atl-story { padding-top: 20px; }
.atl-back { padding: 26px 0 44px; }
.atp-hero .pg-guide-suffix { color: var(--gold); font-style: italic; }
@media (max-width: 720px) {
  .atl-hl-card { flex-basis: 88%; }
  .atl-quote { padding: 40px 0 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .atl-hl-card { transition: none; }
}

/* ===== ATX: per-attorney custom experience ===== */
.atx { --ax: #d4b36a; --ax-deep: #14120e; --ax-tint: #f4ead6; --ax-ink: #2a2419; }
.atx-t1 { --ax: #c88a5a; --ax-deep: #171008; --ax-tint: #f5e8dc; --ax-ink: #33200f; }
.atx-t2 { --ax: #a9b48a; --ax-deep: #10140e; --ax-tint: #ecefe2; --ax-ink: #232a18; }
.atx-t3 { --ax: #b56a5e; --ax-deep: #170d0b; --ax-tint: #f6e6e2; --ax-ink: #331813; }
.atx-t4 { --ax: #8fa3b8; --ax-deep: #0d1217; --ax-tint: #e7edf3; --ax-ink: #182430; }
.atx-t5 { --ax: #a3404e; --ax-deep: #150a0c; --ax-tint: #f6e8ea; --ax-ink: #331317; }
.atx-t6 { --ax: #5f948c; --ax-deep: #0b1312; --ax-tint: #e5efed; --ax-ink: #14271f; }
.atx-t7 { --ax: #b5854f; --ax-deep: #14100a; --ax-tint: #f5ebdd; --ax-ink: #2e2010; }
.atx-t8 { --ax: #6f87a8; --ax-deep: #0c1015; --ax-tint: #e7ecf3; --ax-ink: #161f2c; }
.atx-t9 { --ax: #8a6a8f; --ax-deep: #110d12; --ax-tint: #f0e8f1; --ax-ink: #241426; }

.atx-hero { position: relative; min-height: 0; display: flex; align-items: center; padding: 56px 0 48px; background: radial-gradient(1200px 700px at 78% 18%, color-mix(in srgb, var(--ax) 22%, transparent), transparent 62%), linear-gradient(160deg, var(--ax-deep), #060505 78%); color: #f4efe6; overflow: hidden; }
.atx-hero::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 120px); pointer-events: none; }
.atx-watermark { position: absolute; right: -1vw; bottom: -6vw; font: 700 clamp(220px, 34vw, 520px)/0.8 var(--font-display); color: transparent; -webkit-text-stroke: 1px color-mix(in srgb, var(--ax) 26%, transparent); pointer-events: none; user-select: none; }
.atx-rail { position: absolute; left: 26px; top: 50%; transform: translateY(-50%) rotate(180deg); writing-mode: vertical-rl; font: 600 11px/1 var(--font-body); letter-spacing: .34em; text-transform: uppercase; color: color-mix(in srgb, var(--ax) 75%, #fff 10%); border-left: 1px solid color-mix(in srgb, var(--ax) 35%, transparent); padding-left: 12px; }
.atx-hero-grid { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; width: 100%; z-index: 2; }
.atx-v1 .atx-hero-grid { grid-template-columns: .85fr 1.15fr; }
.atx-v1 .atx-hero-txt { order: 2; }
.atx-v1 .atx-photo { order: 1; }
.atx-hero .crumbs, .atx-hero .crumbs a { color: #9d968a; }
.atx-role { display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1 var(--font-body); letter-spacing: .26em; text-transform: uppercase; color: var(--ax); border: 1px solid color-mix(in srgb, var(--ax) 40%, transparent); padding: 10px 16px; border-radius: 999px; margin: 18px 0 22px; }
.atx-role .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ax); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ax) 25%, transparent); }
.atx-name { font: 600 clamp(44px, 5.2vw, 76px)/1.02 var(--font-display); color: #fbf7ef; margin: 0 0 18px; letter-spacing: -.01em; }
.atx-name-long { font-size: clamp(38px, 4.3vw, 60px); }
.atx-name .ln { display: block; }
.atx-name .ln.em { font-style: italic; color: var(--ax); }
.atx-name .ch { display: inline-block; }
.atx-name[data-split] .ch { opacity: 0; transform: translateY(.55em) rotate(4deg); transition: opacity .5s, transform .6s cubic-bezier(.2,.8,.2,1); }
.atx-name[data-split].in .ch { opacity: 1; transform: none; }
.atx-lede { max-width: 480px; font: 400 15.5px/1.7 var(--font-body); color: #b9b2a4; margin: 0 0 24px; }
.atx-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.atx-ctas .btn { will-change: transform; transition: transform .18s ease-out, background .2s, color .2s; }
.atx-mail { display: inline-block; margin-top: 20px; font: 500 14px/1 var(--font-body); color: #9d968a; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--ax) 45%, transparent); padding-bottom: 4px; }
.atx-mail:hover { color: var(--ax); }
.atx-photo { position: relative; margin: 0; max-width: 340px; justify-self: end; transition: transform .25s ease-out; transform-style: preserve-3d; }
.atx-v1 .atx-photo { justify-self: start; }
.atx-photo img { display: block; width: 100%; height: auto; position: relative; z-index: 2; filter: grayscale(.15) contrast(1.04); transition: transform .3s ease-out; box-shadow: 0 40px 90px -30px rgba(0,0,0,.75); }
.atx-photo .frame { position: absolute; inset: -16px 16px 16px -16px; border: 1px solid color-mix(in srgb, var(--ax) 55%, transparent); z-index: 1; }
.atx-photo .slab { position: absolute; inset: 22px -18px -18px 22px; background: color-mix(in srgb, var(--ax) 18%, transparent); z-index: 0; }
.atx-photo figcaption { position: absolute; z-index: 3; left: -12px; bottom: 22px; background: var(--ax); color: var(--ax-ink); font: 700 12px/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; padding: 12px 18px; }
.atx-v2 .atx-photo img { clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 96%); }
.atx-v3 .atx-photo img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.atx-v3 .atx-photo .frame { inset: -14px; border-radius: 50%; }
.atx-v3 .atx-photo .slab { display: none; }
.atx-v3 .atx-photo figcaption { left: 50%; transform: translateX(-50%); bottom: 6%; border-radius: 999px; }
.atx-v4 .atx-photo { max-width: 400px; }
.atx-v4 .atx-photo img { clip-path: polygon(6% 0, 100% 3%, 94% 100%, 0 97%); }
.atx-v4 .atx-photo figcaption { left: auto; right: -12px; }
.atx-p1 .atx-hero::after { background: radial-gradient(color-mix(in srgb, var(--ax) 16%, transparent) 1.2px, transparent 1.2px); background-size: 26px 26px; }
.atx-p2 .atx-hero::after { background: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 110px); }
.atx-fc-side .atx-fc { border-top: 0; border-left: 4px solid var(--ax); border-radius: 4px; }
.atx-sr .atx-story-grid { grid-template-columns: .9fr 1.5fr; }
.atx-sr .atx-story-copy { order: 2; }
.atx-sr .atx-story-card { order: 1; }
.atx-qa .atx-quote blockquote { text-align: left; margin: 0; }
.atx-qa .atx-quote .qmark { left: auto; right: 4vw; }
.atx-scrollcue { position: absolute; left: 50%; bottom: 26px; width: 1px; height: 54px; background: linear-gradient(var(--ax), transparent); overflow: hidden; }
.atx-scrollcue::after { content: ''; position: absolute; left: 0; top: -20px; width: 1px; height: 20px; background: #fff; animation: atxcue 1.8s ease-in-out infinite; }
@keyframes atxcue { to { top: 60px; } }

.atx-marquee { background: var(--ax); color: var(--ax-ink); overflow: hidden; padding: 14px 0; border-top: 1px solid rgba(0,0,0,.15); }
.atx-marquee .track { display: flex; align-items: center; gap: 28px; width: max-content; animation: atxmq 36s linear infinite; }
.atx-marquee span { font: 600 15px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.atx-marquee span.o { font-style: italic; opacity: .72; text-transform: none; letter-spacing: .04em; }
.atx-marquee b { font-size: 11px; opacity: .6; }
@keyframes atxmq { to { transform: translateX(-50%); } }

.atx-stats { background: #0c0b09; padding: 8px 0 34px; }
.atx .bio-stats { border-top: 0; }

.atx .ix { display: block; font: 700 13px/1 var(--font-body); letter-spacing: .3em; color: color-mix(in srgb, var(--ax) 70%, #6b6353); margin-bottom: 10px; }
.atx-file { padding: 64px 0 56px; background: linear-gradient(var(--white, #fff), var(--ax-tint) 160%); }
.atx-file-grid { display: grid; grid-template-columns: .8fr 1.6fr; gap: 46px; align-items: start; }
.atx-file-head h2 { font: 600 clamp(30px, 3vw, 42px)/1.1 var(--font-display); margin: 8px 0 0; }
.atx-file-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.atx-file-cards .atx-fc { background: #fff; border: 1px solid color-mix(in srgb, var(--ax) 32%, #e8e2d4); border-top: 3px solid var(--ax); padding: 24px 20px; box-shadow: 0 18px 40px -30px rgba(20,15,5,.35); }
.atx-file-cards .atx-fc b { display: block; font: 700 24px/1.15 var(--font-display); color: var(--ax-ink); margin-bottom: 8px; }
.atx-file-cards .atx-fc span { font: 500 12.5px/1.5 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #8a8272; }
.atx-file-cards .atx-fc b.sm { font-size: 18px; }

.atx-badges { background: var(--ax-tint); border-block: 1px solid color-mix(in srgb, var(--ax) 30%, #eee); }
.atx-badges .wrap { padding: 56px 0; }
.atx-badges-head { text-align: center; margin-bottom: 30px; }
.atx-badges-head .eyebrow { color: var(--ax-ink); }
.atx-badges-head h2 { font-family: var(--font-display); font-size: clamp(24px, 2.4vw, 34px); margin: 10px 0 0; color: var(--charcoal); }
.atx-badge-row { display: flex; justify-content: center; align-items: stretch; gap: 18px; flex-wrap: wrap; }
.atx-badge { margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px; width: 170px; padding: 22px 16px 18px; background: #fff; border: 1px solid color-mix(in srgb, var(--ax) 28%, #e8e2d4); border-radius: 6px; box-shadow: 0 10px 26px rgba(18,18,18,.06); transition: .2s; }
.atx-badge:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(18,18,18,.12); }
.atx-badge img { height: 74px; width: auto; max-width: 130px; object-fit: contain; }
.atx-badge figcaption { font: 600 11.5px/1.4 var(--font-body); letter-spacing: .04em; text-align: center; color: var(--deepgray); text-transform: uppercase; }
@media (max-width: 720px) { .atx-badge { width: calc(50% - 9px); } }

.atx-quote { position: relative; padding: 96px 0; background: var(--ax-deep); color: #f2ecdf; overflow: hidden; }
.atx-quote .qmark { position: absolute; left: 4vw; top: -60px; font: 700 340px/1 var(--font-display); color: color-mix(in srgb, var(--ax) 18%, transparent); pointer-events: none; }
.atx-quote blockquote { position: relative; max-width: 880px; margin: 0 auto; font: 500 clamp(26px, 3.2vw, 40px)/1.4 var(--font-display); font-style: italic; text-align: center; }
.atx-quote footer { display: block; margin-top: 22px; font: 700 12px/1 var(--font-body); font-style: normal; letter-spacing: .24em; text-transform: uppercase; color: var(--ax); }

.atx .atl-highlights { background: #0c0b09; }
.atx .atl-highlights .eyebrow, .atx .atl-hl-card .fig { color: var(--ax); }
.atx .atl-hl-card { border-top-color: var(--ax); }
.atx .atl-hl-dots button.on { background: var(--ax); }

.atx-videos { background: var(--ax-tint); padding: 70px 0; }
.atx-creds { padding: 70px 0 20px; }

.atx-story { padding: 80px 0; background: linear-gradient(color-mix(in srgb, var(--ax-tint) 55%, #fff), #fff); }
.atx-story-grid { display: grid; grid-template-columns: 1.5fr .9fr; gap: 50px; align-items: start; }
.atx-story-card { position: relative; display: block; background: var(--ax-deep); color: #f2ecdf; padding: 34px 30px 70px; text-decoration: none; overflow: hidden; border-top: 4px solid var(--ax); transition: transform .25s, box-shadow .25s; }
.atx-story-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.5); }
.atx-story-card .tag { display: inline-block; font: 700 11px/1 var(--font-body); letter-spacing: .24em; text-transform: uppercase; color: var(--ax); border: 1px solid color-mix(in srgb, var(--ax) 45%, transparent); border-radius: 999px; padding: 8px 14px; margin-bottom: 18px; }
.atx-story-card .big { position: absolute; right: -18px; bottom: -40px; font: 700 190px/1 var(--font-display); color: color-mix(in srgb, var(--ax) 14%, transparent); }
.atx-story-card h3 { font: 600 26px/1.2 var(--font-display); margin: 0 0 12px; color: #fff; }
.atx-story-card p { font: 400 14.5px/1.7 var(--font-body); color: #b9b2a4; margin: 0; }
.atx-story-card .go { position: absolute; left: 30px; bottom: 24px; font-size: 24px; color: var(--ax); transition: transform .25s; }
.atx-story-card:hover .go { transform: translateX(8px); }

@media (max-width: 960px) {
  .atx-hero { padding: 40px 0 40px; min-height: 0; }
  .atx-hero-grid, .atx-v1 .atx-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .atx-v1 .atx-hero-txt { order: 1; }
  .atx-v1 .atx-photo { order: 2; }
  .atx-photo { justify-self: center !important; max-width: 260px; }
  .atx-rail { display: none; }
  .atx-file-grid, .atx-story-grid, .atx-sr .atx-story-grid { grid-template-columns: 1fr; gap: 30px; }
  .atx-v3 .atx-photo figcaption { bottom: 0; }
  .atx-quote .qmark { font-size: 220px; }
  .atx-name { font-size: clamp(36px, 10vw, 48px); }
  .atx-name-long { font-size: clamp(30px, 8.6vw, 40px); }
}
@media (prefers-reduced-motion: reduce) {
  .atx-marquee .track { animation: none; }
  .atx-scrollcue::after { animation: none; }
  .atx-photo, .atx-photo img, .atx-ctas .btn { transition: none; }
}

.atx-name .wd { display: inline-block; white-space: nowrap; }

/* Cookie consent (React island) */
.ccv2 { position: fixed; inset: auto 16px 16px 16px; z-index: 260; display: flex; justify-content: center; pointer-events: none; }
.ccv2.is-prefs { inset: 0; align-items: center; background: rgba(20,17,14,.55); backdrop-filter: blur(3px); pointer-events: auto; padding: 16px; }
.ccv2-card { pointer-events: auto; width: 100%; max-width: 980px; background: #fff; color: var(--charcoal); border-radius: 6px; border-top: 4px solid var(--gold); box-shadow: 0 30px 80px rgba(0,0,0,.35); padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; animation: ccv2-in .35s cubic-bezier(.2,.8,.2,1) both; }
.ccv2.is-prefs .ccv2-card { max-width: 620px; display: block; padding: 28px 30px; max-height: calc(100vh - 32px); overflow: auto; }
@keyframes ccv2-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ccv2-body { display: flex; gap: 14px; align-items: flex-start; flex: 1 1 420px; min-width: 0; }
.ccv2-ico { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--cream, #f6f1e7); color: var(--burgundy); display: grid; place-items: center; }
.ccv2-body p { margin: 0; font: 400 14px/1.6 var(--font-body); color: #3f3a33; }
.ccv2-body a, .ccv2-head a { color: var(--burgundy); font-weight: 600; text-decoration: underline; }
.ccv2-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ccv2-btn { font: 700 12.5px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; padding: 13px 18px; border-radius: 3px; border: 2px solid transparent; cursor: pointer; transition: .18s; white-space: nowrap; }
.ccv2-primary { background: var(--gold); color: var(--charcoal); border-color: var(--gold); }
.ccv2-primary:hover { background: var(--gold-dark); border-color: var(--gold-dark); }
.ccv2-dark { background: var(--charcoal); color: #fff; border-color: var(--charcoal); }
.ccv2-dark:hover { background: #000; }
.ccv2-ghost { background: transparent; color: var(--charcoal); border-color: #cfc7b8; }
.ccv2-ghost:hover { border-color: var(--charcoal); }
.ccv2-link { background: none; border: 0; color: #6b645a; font: 500 13px/1 var(--font-body); text-decoration: underline; cursor: pointer; padding: 8px 4px; }
.ccv2-head h2 { font: 700 24px/1.2 var(--font-display, var(--font-body)); margin: 0 0 8px; color: var(--charcoal); }
.ccv2-head p { font: 400 14px/1.6 var(--font-body); color: #3f3a33; margin: 0 0 18px; }
.ccv2-cats { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 10px; }
.ccv2-cats li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid #e6dfd2; border-radius: 4px; background: #faf8f3; transition: .18s; }
.ccv2-cats li.on { border-color: var(--gold); background: #fffaf0; }
.ccv2-cat-txt { display: grid; gap: 3px; min-width: 0; }
.ccv2-cat-txt b { font: 700 14px/1.3 var(--font-body); color: var(--charcoal); }
.ccv2-cat-txt span { font: 400 12.5px/1.5 var(--font-body); color: #66604f; }
.ccv2-always { font: 700 11px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--burgundy); white-space: nowrap; }
.ccv2-switch { flex-shrink: 0; width: 46px; height: 26px; border-radius: 13px; border: 0; background: #cfc7b8; position: relative; cursor: pointer; transition: .2s; padding: 0; }
.ccv2-switch span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); transition: .2s; }
.ccv2-switch[aria-checked="true"] { background: var(--burgundy); }
.ccv2-switch[aria-checked="true"] span { left: 23px; }
.ccv2-switch:focus-visible, .ccv2-btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (max-width: 1180px) { body.ccv2-open .chatfab { opacity: 0; pointer-events: none; transition: opacity .2s; } }
@media (max-width: 720px) {
	.ccv2 { inset: auto 10px 10px 10px; }
	.ccv2-card { padding: 18px; gap: 14px; }
	.ccv2-body { flex: 1 1 100%; }
	.ccv2-ico { display: none; }
	.ccv2-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
	.ccv2-actions .ccv2-ghost { grid-column: 1 / -1; }
	.ccv2-btn { padding: 14px 12px; }
	.ccv2.is-prefs .ccv2-card { padding: 22px 18px; }
	.ccv2-cats li { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ccv2-card { animation: none; } }

/* Accident Guides — coming soon */
.soon-hero .inner { padding-top: 56px; padding-bottom: 64px; }
.soon-badge { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 0; padding: 7px 14px; border: 1px solid rgba(201,162,77,.55); border-radius: 100px; font: 700 11.5px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.soon-badge span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.nav-menu li.coming-soon > a::after { content: 'Soon'; display: inline-block; margin-left: 7px; padding: 2px 6px; border-radius: 4px; background: rgba(201,162,77,.18); color: var(--gold); font: 700 9px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }
@media (max-width: 1240px) and (min-width: 981px) {
	footer.site-footer .top { grid-template-columns: repeat(3, 1fr); gap: 36px; }
	footer.site-footer .brand { grid-column: 1 / -1; }
}

/* /areas-served/ office link cards */
.loc-com-grid.offices { grid-template-columns: repeat(3, 1fr); }
.loc-com .t { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.loc-com .t b { flex: none; }
.loc-com .t small { font: 400 12.5px/1.4 var(--font-body); color: #6d675e; }
@media (max-width: 980px) { .loc-com-grid.offices { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .loc-com-grid.offices { grid-template-columns: 1fr; } }

/* /testimonials/ — video testimonials (React island + no-JS fallback) */
.testi-videos { padding: 72px 0 80px; background: #121212; color: #fff; }
.testi-videos .sec-head h2 { color: #fff; }
.testi-videos .sec-head .right { color: rgba(255,255,255,.7); max-width: 380px; }
.testi-videos .eyebrow { color: var(--gold); }
.vt-fallback { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vt-fb { display: block; color: #fff; text-decoration: none; }
.vt-fb img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; }
.vt-fb-title { display: block; margin-top: 10px; font: 600 14px/1.3 var(--font-body); }
.vt { display: grid; gap: 22px; }
.vt-stage { position: relative; aspect-ratio: 16/9; background: #000; border-radius: 8px; overflow: hidden; box-shadow: 0 40px 90px -30px rgba(0,0,0,.8); border: 1px solid rgba(255,255,255,.08); }
.vt-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vt-poster { position: absolute; inset: 0; width: 100%; padding: 0; border: 0; background: #000; cursor: pointer; text-align: left; color: #fff; }
.vt-poster img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.18); transition: transform .6s ease; }
.vt-poster:hover img { transform: scale(1.22); }
.vt-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.78)); }
.vt-meta { position: absolute; left: 28px; bottom: 26px; right: 120px; display: grid; gap: 6px; }
.vt-kicker { font: 700 12px/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.vt-title { font: 600 clamp(20px, 2.4vw, 30px)/1.15 var(--font-display); }
.vt-play { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: var(--gold); color: #121212; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 0 rgba(212,179,106,.5); animation: vtpulse 2.2s ease-out infinite; }
.vt-play svg { margin-left: 4px; }
@keyframes vtpulse { 0% { box-shadow: 0 0 0 0 rgba(212,179,106,.55); } 70% { box-shadow: 0 0 0 22px rgba(212,179,106,0); } 100% { box-shadow: 0 0 0 0 rgba(212,179,106,0); } }
.vt-count { position: absolute; right: 18px; top: 16px; font: 700 12px/1 var(--font-body); letter-spacing: .14em; color: #fff; background: rgba(0,0,0,.55); border: 1px solid rgba(255,255,255,.2); padding: 8px 12px; border-radius: 100px; pointer-events: none; }
.vt-close { position: absolute; right: 14px; top: 52px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(0,0,0,.6); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.vt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.vt-card { display: grid; gap: 12px; padding: 0; border: 1px solid rgba(255,255,255,.1); background: #1a1917; color: #fff; text-align: left; cursor: pointer; border-radius: 8px; overflow: hidden; transition: transform .25s, border-color .25s, background .25s; }
.vt-card:hover, .vt-card.on { border-color: var(--gold); transform: translateY(-3px); background: #211f1b; }
.vt-thumb { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; }
.vt-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.34); }
.vt-mini-play { position: absolute; left: 12px; bottom: 12px; width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: #121212; display: flex; align-items: center; justify-content: center; }
.vt-card.on .vt-mini-play { background: #fff; }
.vt-card-body { display: grid; gap: 5px; padding: 0 16px 16px; }
.vt-stars { color: var(--gold); font-size: 13px; letter-spacing: .1em; }
.vt-card-title { font: 600 15px/1.3 var(--font-body); }
@media (max-width: 980px) { .vt-grid, .vt-fallback { grid-template-columns: 1fr 1fr; } .vt-meta { right: 24px; } }
@media (max-width: 600px) {
  .testi-videos { padding: 52px 0 56px; }
  .vt-grid, .vt-fallback { grid-template-columns: 1fr 1fr; gap: 10px; }
  .vt-card-body { padding: 0 10px 12px; }
  .vt-card-title { font-size: 12.5px; }
  .vt-meta { left: 14px; bottom: 14px; right: 14px; }
  .vt-play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
  .vt-count { display: none; }
  .vt-close { top: 12px; }
}

body.rhlf-banners :is(.page-hero, .about-hero, .comm-hero, .contact-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero, .ops-head) {
  background-color: #161616;
  background-image: linear-gradient(90deg, rgba(0,0,0,.24), rgba(0,0,0,.06)), var(--rhlf-hero-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.rhlf-banners :is(.hero, .page-hero) .bg {
  background-image: var(--rhlf-hero-image);
  background-position: center;
  background-size: cover;
  opacity: 1;
}
body.rhlf-banners .page-hero.tinted .bg { display: block; }
body.rhlf-banners :is(.hero, .page-hero) .bg::after { background: linear-gradient(90deg, rgba(0,0,0,.24), rgba(0,0,0,.06)); }
/* Standardized interior hero band — same larger size on every individual page. */
body.rhlf-banners :is(.page-hero, .atty-hero, .about-hero, .comm-hero, .contact-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero) { min-height: 560px; display: flex; flex-direction: column; justify-content: center; }
body.rhlf-banners :is(.page-hero, .about-hero, .comm-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero) .inner { padding-top: 104px; padding-bottom: 112px; }
body.rhlf-banners .contact-hero { padding: 104px 0 112px; }
body.rhlf-banners .ops-head { padding-top: 80px; padding-bottom: 80px; }
body.rhlf-banners .hero .inner { padding-top: 60px; padding-bottom: 72px; }
body.rhlf-banners .hero-form .form-card { min-height: 0; }
body.rhlf-banners .about-hero .proof span { color: #eee2d8; }
body.rhlf-banners .atty-hero .bg { background-position: center 42%; }
body.rhlf-banners .atx-watermark { display: none; }
@media (max-width: 720px) {
  body.rhlf-banners :is(.page-hero, .about-hero, .comm-hero, .contact-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero, .ops-head) { background-image: linear-gradient(90deg, rgba(0,0,0,.3), rgba(0,0,0,.12)), var(--rhlf-hero-mobile-image); }
  body.rhlf-banners :is(.hero, .page-hero) .bg { background-image: var(--rhlf-hero-mobile-image); }
  body.rhlf-banners :is(.page-hero, .atty-hero, .about-hero, .comm-hero, .contact-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero) { min-height: 280px; }
  body.rhlf-banners :is(.page-hero, .about-hero, .comm-hero, .svc-hero, .res-hero, .faq-hero, .ai-hero, .testi-hero) .inner { padding-top: 64px; padding-bottom: 72px; }
  body.rhlf-banners .contact-hero { padding: 64px 0 72px; }
  body.rhlf-banners .ops-head { padding-top: 56px; padding-bottom: 56px; }
}

.nav-cta .btn:is(.btn-phone, .btn-gold) { width: 148px; min-width: 148px; height: 46px; min-height: 46px; padding: 10px 12px; }
:is(.ctas, .atx-ctas, .ops-ctas, .cta-band-actions) > .btn { width: 240px; min-width: 0; min-height: 52px; padding: 14px 12px; max-width: 100%; }
body.nav-locked .chatfab { visibility: hidden; pointer-events: none; }
.rhlf-lead-form .gfield--type-html { display: none; }
.gform_wrapper .gform_footer .rhlf-consent label { display: flex; align-items: flex-start; }
.gform_wrapper .gform_footer .rhlf-consent input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; min-height: 17px; padding: 0; margin: 2px 0 0; align-self: flex-start; }
.atty-memorial { display: block; color: var(--burgundy); font: 600 12px/1.4 var(--font-body); padding: 6px 12px; }
.atx .atx-hero-grid { padding-top: 44px; padding-bottom: 48px; min-height: 0; }
.atx .atx-name { font-size: clamp(40px, 5vw, 76px); }
.pl-related { padding: 48px 0; background: var(--ivory); }
.practice-stats { padding: 28px 0; }
.practice-stats .eyebrow { display: block; margin: 0 0 20px; text-align: center; }
.loc-select { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.loc-select:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 4px; }
.loc-map { position: relative; }
.map-consent { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 18px; padding: 32px; text-align: center; background: var(--sand); color: var(--charcoal); }
.map-consent[hidden] { display: none; }
.map-consent p { max-width: 380px; line-height: 1.65; }
.pillar { color: inherit; text-decoration: none; display: block; }
footer.site-footer .top { grid-template-columns: minmax(200px, 1fr) minmax(0, 3.5fr); align-items: start; gap: 40px; }
.footer-menu { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 34px 26px; margin: 0; padding: 0; list-style: none; }
.footer-menu > li { border-top: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); padding-top: 14px; }
.footer-menu > li > a { display: block; color: var(--gold); font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.09); }
.footer-menu > li > a:hover { color: #fff; }
.footer-menu .sub-menu { position: static; margin: 0; padding: 0 0 0 13px; list-style: none; border-left: 1px solid rgba(255,255,255,.08); }
.footer-menu .sub-menu li { margin: 0 0 7px; }
.footer-menu .sub-menu a { color: #cfc9bd; font-size: 12.5px; line-height: 1.55; }
.footer-menu .sub-menu a::before { content: '\2013'; color: color-mix(in srgb, var(--gold) 60%, transparent); margin-right: 7px; }
.footer-menu .sub-menu a:hover { color: var(--gold); }
footer.site-footer .nl-form input { background: #fff; color: #121212; border: 1px solid #d9d1c2; }
footer.site-footer .nl-form input::placeholder { color: #555; opacity: 1; }
@media (max-width: 1180px) {
  footer.site-footer .top { grid-template-columns: 1fr; }
  .footer-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  :is(.ctas, .atx-ctas, .ops-ctas, .cta-band-actions) > .btn { width: 100%; }
  .footer-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-cta .btn:is(.btn-phone, .btn-gold) { width: auto; min-width: 0; }
}

/* ---------- Homepage tcx: live PI news feed in the camera CTA ---------- */
.tcx-news { margin-top: 30px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 20px; }
.tcx-news-lbl { display: block; font: 700 11px/1 var(--font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.tcx-news ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.tcx-news li a { display: block; color: #f0ebdf; font: 600 14.5px/1.45 var(--font-body); text-decoration: none; transition: color .15s; }
.tcx-news li a:hover { color: var(--gold); }
.tcx-news li small { display: block; color: #9d968a; font-size: 11.5px; margin-top: 2px; }
.tcx-news-more { display: inline-block; margin-top: 14px; color: var(--gold); font: 700 12.5px/1 var(--font-body); text-decoration: none; }
.tcx-news-more:hover { text-decoration: underline; }

/* ---------- Pre-footer case evaluation band (every page) ---------- */
.pre-footer { background: linear-gradient(120deg, var(--burgundy) 0%, #4a100e 60%, #2a0a09 100%); color: #fff; padding: 72px 0; }
.pf-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.pf-txt h2 { font-family: var(--font-display); font-size: clamp(30px, 3.6vw, 46px); line-height: 1.12; margin: 14px 0 12px; }
.pf-txt h2 em { font-style: italic; color: var(--gold); }
.pf-txt p { color: #ecd9d3; margin: 0; }
.pf-points { list-style: none; margin: 22px 0 24px; padding: 0; display: grid; gap: 9px; }
.pf-points li { position: relative; padding-left: 26px; color: #f2e9e3; font-size: 15px; }
.pf-points li::before { content: '\2713'; position: absolute; left: 0; color: var(--gold); font-weight: 700; }
.pf-call { display: inline-flex; align-items: center; color: var(--gold); font: 700 19px/1 var(--font-body); text-decoration: none; }
.pf-call svg { width: 18px; height: 18px; }
.pf-form { margin: 0; }
@media (max-width: 900px) {
  .pf-grid { grid-template-columns: 1fr; gap: 34px; }
  .pre-footer { padding: 56px 0; }
}

body.home { --home-paper: #f6f3ed; --home-ink: #28241f; --home-rule: #d9d2c6; }
body.home :is(.hero, .stats, .ai-band, .tcx, .practice, .lawyers, .trust, .locations, .results, .founders, .stories, #contact) { scroll-margin-top: 100px; }
body.home .eyebrow { font-size: 11px; letter-spacing: .18em; line-height: 1.5; }
body.home .sec-head { align-items: start; gap: 36px; margin-bottom: 44px; }
body.home .sec-head h2 { font-size: clamp(36px, 4vw, 56px); font-weight: 500; letter-spacing: -.025em; max-width: 620px; }
body.home .sec-head .right { border: 0; padding: 30px 0 0; color: #655e54; font-size: 15px; font-weight: 400; max-width: 350px; }
body.home :is(a, button, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid #b18132; outline-offset: 5px; }
body.home :is(.hero, .tcx, .results, #contact) :is(a, button):focus-visible { outline-color: #efd8a8; }
body.home .btn { border-radius: 3px; letter-spacing: .01em; line-height: 1.4; }
body.home .glow::after { display: none; }
body.home .rv { opacity: 1; transform: none; }
body.home .hero .inner { padding-top: 70px; padding-bottom: 76px; }
body.home .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5vw, 80px); }
body.home .hero .bg::after { background: linear-gradient(90deg, rgba(18,15,13,.84), rgba(18,15,13,.46) 65%, rgba(18,15,13,.22)); }
body.home .hero h1 { font-size: clamp(48px, 5vw, 72px); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; margin: 28px 0 24px; }
body.home .hero p.sub { font-size: 17px; font-weight: 400; max-width: 500px; color: #f0e9dd; }
body.home .hero .slogan { margin-top: 38px; padding-top: 24px; border-top: 1px solid #ffffff40; width: fit-content; }
body.home .hero .ctas { gap: 12px; }
body.home .hero .ctas .btn { min-width: 0; width: auto; padding-inline: 24px; }
body.home .hero-form .form-card { min-height: 0; background: #fcfaf6; box-shadow: 0 14px 40px #00000024; border: 1px solid #e4d7c1; padding: 28px; }
body.home .form-card .fc-title { font: 600 30px/1.15 var(--font-display); }
body.home .form-card .gform_wrapper :is(input[type="text"], input[type="email"], input[type="tel"], textarea, select) { border: 1px solid #cbc3b6; border-radius: 3px; min-height: 46px; box-shadow: none; }
body.home .stats { background: #fcfaf6; border: 0; border-bottom: 1px solid var(--home-rule); padding: 32px 0; }
body.home .stats .cell { text-align: left; padding: 0 28px; border-color: var(--home-rule); }
body.home .stats .cell:first-child { padding-left: 0; }
body.home .stats .num { font-size: clamp(34px, 3.3vw, 48px); font-weight: 500; letter-spacing: -.03em; }
body.home .stats .lbl { text-transform: none; letter-spacing: 0; font-size: 12px; color: #655e54; }
body.home .ai-band { padding: 64px 0; background: var(--home-paper); border: 0; color: var(--home-ink); }
body.home .ai-band::before { display: none; }
body.home .estimate-folio { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, 1fr); border: 1px solid var(--home-rule); border-radius: 6px; overflow: hidden; background: #fffdf9; }
body.home .estimate-copy { padding: clamp(28px, 4vw, 52px); }
body.home .estimate-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-bottom: 24px; border-bottom: 1px solid var(--home-rule); }
body.home .ai-band .tool-badge { background: none; padding: 0; color: #6c6457; font: 500 10px/1.4 var(--font-body); letter-spacing: .1em; }
body.home .ai-band h2 { font-size: clamp(36px, 3.7vw, 52px); font-weight: 500; letter-spacing: -.025em; color: var(--home-ink); margin: 26px 0 18px; max-width: 560px; }
body.home .ai-band h2 em { color: var(--burgundy); }
body.home .ai-band p { font-size: 15px; font-weight: 400; color: #655e54; margin: 0; max-width: 480px; }
body.home .estimate-action { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 34px 28px; background: #421a18; position: relative; }
body.home .estimate-dial { position: relative; width: 156px; height: 156px; color: #d4b36a; }
body.home .estimate-dial svg { width: 100%; height: 100%; }
body.home .estimate-dial > span { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
body.home .estimate-dial b { font: 500 70px/.9 var(--font-display); color: #fff8e9; }
body.home .estimate-dial small { font: 400 12px/1.5 var(--font-body); letter-spacing: .08em; }
body.home .ai-band .btn-est { background: #eddbb2; color: #351713; font-size: 14px; padding: 12px 14px 12px 22px; width: 100%; max-width: 290px; justify-content: space-between; box-shadow: none; animation: none; }
body.home .ai-band .btn-est span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #421a1840; border-radius: 50%; font-size: 19px; transition: transform .2s; }
body.home .ai-band .btn-est:hover { background: #f6e8cc; transform: none; }
body.home .ai-band .btn-est:hover span { transform: rotate(45deg); }
body.home .ai-band .note { max-width: 250px; font-size: 11px; line-height: 1.7; letter-spacing: 0; text-transform: none; color: #e6d4b8; text-align: center; }
body.home .tcx { background: #202722; }
body.home .tcx::before, body.home .tcx-mon .scan { display: none; }
body.home .tcx-hud { max-width: 1160px; margin: 0 auto; padding: 20px 0; font: 500 10px/1.4 var(--font-body); border-color: #ffffff24; letter-spacing: .1em; }
body.home .tcx-hud .dot { background: #aec5a0; animation: none; }
body.home .tcx-hud em { background: none; color: #c4d6b8; border: 1px solid #8fa485; padding: 3px 6px; }
body.home .tcx-clock { color: #c4d6b8; }
body.home .tcx-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 38px 56px; padding: 54px 40px 40px; }
body.home .tcx-txt h2 { font-size: clamp(36px, 3.6vw, 50px); font-weight: 500; letter-spacing: -.025em; }
body.home .tcx-txt p { font-size: 15px; color: #dddcd2; }
body.home .tcx-points { gap: 0; }
body.home .tcx-points li { padding: 10px 0; border-bottom: 1px solid #ffffff18; font-weight: 400; font-size: 13px; }
body.home .tcx-points li::before { display: none; }
body.home .tcx-txt .ctas { gap: 10px; }
body.home .tcx-txt .ctas .btn { width: auto; min-width: 0; flex: 1 1 180px; font-size: 13px; }
body.home .tcx-wall { gap: 10px; align-self: start; margin-top: 8px; }
body.home .tcx-mon { border: 1px solid #ffffff30; border-radius: 2px; }
body.home .tcx-mon.main { aspect-ratio: 4/3; }
body.home .tcx-mon .rec { animation: none; color: #d7e9c9; }
body.home .tcx-mon .loc { right: 8px; left: 8px; bottom: 8px; font-size: 10px; letter-spacing: 0; }
body.home .tcx-mon:not(.main) .rec { display: none; }
body.home .tcx-news { grid-column: 1/-1; margin: 0; padding: 24px 0 0; border-color: #ffffff30; display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 24px; align-items: start; }
body.home .tcx-news-lbl { line-height: 1.7; letter-spacing: .12em; margin: 0; }
body.home .tcx-news ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.home .tcx-news li { border-left: 1px solid #ffffff24; padding-left: 20px; }
body.home .tcx-news li a { font-size: 14px; font-weight: 500; }
body.home .tcx-news li small { color: #c3c3b7; margin-top: 8px; }
body.home .tcx-news-more { margin-top: 4px; white-space: nowrap; }
body.home .tcx-ticker { display: none; }
body.home .practice { background: var(--home-paper); padding: 88px 0; }
body.home .practice .grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
body.home .pcard { border: 0; border-top: 1px solid var(--home-rule); background: none; padding: 28px 40px 28px 62px; min-height: 170px; }
body.home .pcard .ico { position: absolute; left: 0; top: 30px; width: 36px; height: 36px; border-radius: 0; background: none; color: #6c5740; }
body.home .pcard .ico svg { width: 30px; height: 30px; }
body.home .pcard h3 { font: 600 29px/1.2 var(--font-display); color: var(--home-ink); }
body.home .pcard p { font-size: 14px; max-width: 420px; }
body.home .pcard .arrow { top: 28px; right: 8px; color: var(--burgundy); transition: transform .2s; }
body.home .pcard:hover { transform: none; box-shadow: none; background: #ece6dc; }
body.home .pcard:hover .arrow { transform: translateX(4px); }
body.home .pcard.feature { padding: 26px 28px; background: #e9e2d6; color: var(--home-ink); }
body.home .pcard.feature h3 { color: var(--burgundy); font-size: 29px; }
body.home .pcard.feature p { color: #655e54; }
body.home .pcard.feature .more { color: var(--burgundy); line-height: 1.5; letter-spacing: 0; }
body.home .seenon { padding: 24px 0; }
body.home .seenon-inner { display: block; padding: 0 40px; }
body.home .seenon-lbl { text-align: center; font-size: 10px; color: #655e54; margin-bottom: 22px; }
body.home .seenon-track.static, body.home .seenon-track.static .seenon-run { display: grid; width: 100%; }
body.home .seenon-track.static .seenon-run { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; }
body.home .seenon-logo { width: 100%; height: 30px; margin: 0; opacity: .8; }
body.home .lawyers { background: #fffdf9; border: 0; padding: 88px 0 72px; }
body.home .team-album { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px)/4); gap: 24px; overflow-x: auto; padding: 6px 0 18px; scroll-snap-type: x mandatory; scroll-padding: 0; scrollbar-width: thin; scrollbar-color: #b7a17d #eee8de; }
body.home .ta-card { scroll-snap-align: start; border: 0; border-radius: 0; background: none; overflow: visible; }
body.home .ta-card img { aspect-ratio: 4/5; object-position: center top; background: #e8e3da; border-radius: 2px; }
body.home .ta-card .nm { font: 600 18px/1.3 var(--font-display); border-bottom: 1px solid var(--home-rule); padding: 16px 20px 14px 0; }
body.home .ta-card:hover { transform: none; box-shadow: none; color: var(--burgundy); }
body.home .ta-card:hover .nm { border-color: var(--burgundy); }
body.home .lawyers-cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; }
body.home .home-gallery-controls { display: flex; gap: 8px; }
body.home .home-gallery-controls[hidden] { display: none; }
body.home .home-gallery-controls button { width: 48px; height: 48px; border: 1px solid #958776; border-radius: 50%; color: var(--burgundy); background: none; cursor: pointer; font-size: 22px; }
body.home .home-gallery-controls button:hover:not(:disabled) { background: var(--burgundy); color: #fff; }
body.home .home-gallery-controls button:disabled { opacity: .35; cursor: default; }
body.home .trust { padding: 30px 0 44px; border: 0; border-bottom: 1px solid var(--home-rule); background: #fffdf9; }
body.home .trust .lbl { font: 500 11px/1.4 var(--font-body); color: #655e54; letter-spacing: .15em; margin-bottom: 28px; }
body.home .trust .marquee { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
body.home .trust .marquee::before, body.home .trust .marquee::after { display: none; }
body.home .trust .track { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 20px; width: 100%; padding: 0; animation: none; }
body.home .trust .track a { width: 100%; height: 72px; }
body.home .trust .track a[aria-hidden="true"] { display: none; }
body.home .trust .track img { width: 100%; height: 64px; object-fit: contain; }
body.home .locations { padding: 88px 0; border: 0; background: var(--home-paper); }
body.home .loc-wrap { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; }
body.home .loc-sel { gap: 0; }
body.home .loc-card { background: none; border: 0; border-bottom: 1px solid var(--home-rule); padding: 20px 18px; box-shadow: none; }
body.home .loc-card.active { border-left: 3px solid var(--burgundy); background: #fffdf9; box-shadow: none; }
body.home .loc-card h3 { font: 600 23px/1.2 var(--font-display); }
body.home .loc-map { border-radius: 3px; border-color: var(--home-rule); }
body.home .map-consent { background: #e9e4d9; }
body.home .results { background: #2a1c19; padding: 88px 0 72px; }
body.home .results .sec-head .right { color: #d6c9bd; }
body.home .results .grid3 { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0 44px; }
body.home .rcard { background: none; border: 0; border-top: 1px solid #ffffff30; padding: 26px 0; }
body.home .rcard:first-child { grid-row: span 2; display: flex; flex-direction: column; justify-content: center; }
body.home .rcard:first-child .amt { font-size: clamp(54px, 5.5vw, 80px); }
body.home .rcard .type { color: #d7c2a1; letter-spacing: .13em; line-height: 1.4; }
body.home .rcard .amt { font-size: clamp(42px, 4vw, 58px); font-weight: 500; color: #ecd7ad; letter-spacing: -.03em; }
body.home .rcard p { color: #e0d3c6; max-width: 400px; }
body.home .rcard .rlink { color: #ead4aa; line-height: 1.5; }
body.home .rcard:hover { transform: none; box-shadow: none; border-color: #e9d3a9; }
body.home .rcard:hover .rlink { text-decoration: underline; text-underline-offset: 5px; }
body.home .results-cta { text-align: left; margin-top: 24px; }
body.home .results .foot { text-align: left; color: #c4b5a5; }
body.home .founders { background: #eee7da; padding: 88px 0; }
body.home .founders .grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; }
body.home .founders .f-copy { order: -1; text-align: left; padding-right: 16px; }
body.home .founders .eyebrow { color: var(--burgundy); }
:is(body.home, body.rhlf-editorial) .chatfab .fab { background: #421a18; color: #f9ecd4; border: 1px solid #ad8c58; box-shadow: 0 4px 18px #00000020; animation: none; }
:is(body.home, body.rhlf-editorial) .chatfab .fab > svg { width: 24px; height: 24px; flex-shrink: 0; }
:is(body.home, body.rhlf-editorial) .chatfab .fab .fab-lbl { background: none; border: 0; box-shadow: none; color: inherit; font-size: 12px; font-weight: 500; letter-spacing: .02em; padding: 0; }
:is(body.home, body.rhlf-editorial) .chatfab .dot { width: 8px; height: 8px; background: #b6c4a4; border-color: #421a18; }
body.home .scb a { border-radius: 3px; box-shadow: 0 4px 14px #00000020; }
body.home .founders .f-copy h2 { font-size: clamp(34px, 3.6vw, 48px); font-weight: 500; letter-spacing: -.025em; margin: 18px 0; }
body.home .founders .f-photo { width: 100%; max-width: none; margin: 0; }
body.home .founders .f-photo:last-child { padding-top: 70px; }
body.home .founders .f-photo img { display: block; aspect-ratio: 4/5; object-fit: cover; border-radius: 2px; box-shadow: none; }
body.home .founders .f-photo figcaption { font-size: 12px; font-weight: 500; letter-spacing: 0; border-top: 1px solid #c4b7a1; padding-top: 12px; }
body.home .founders .ctas { justify-content: flex-start; }
body.home .founders .ctas .btn { min-width: 0; width: auto; padding-inline: 18px; }
body.home .stories { background: #fffdf9; padding: 88px 0; }
body.home .gr-grid { gap: 24px; }
body.home .gr-card { background: #f6f3ed; border: 0; border-radius: 3px; padding: 26px; box-shadow: none; }
body.home .gr-text { color: #463e34; font-size: 15px; }
body.home .gr-summary { background: #2a3029; }
body.home .gr-summary .btn { color: #f1dfb8; border-color: #b8a37d; }
body.home .gr-summary .gr-big { font-weight: 500; font-size: 64px; }
body.home .gr-more { color: var(--burgundy); min-height: 36px; }
body.home .gr-live-dot { animation: none; }
body.home #contact { background: #421a18; border: 0; padding: 88px 0; }
body.home #contact h2:not(.fc-title) { font-size: clamp(38px, 4.5vw, 64px); font-weight: 500; letter-spacing: -.025em; }
body.home #contact .form-card { background: #fcfaf6; border: 1px solid #deceb1; border-radius: 4px; box-shadow: none; }
body.home #contact .points { border-top: 1px solid #ffffff30; padding-top: 24px; }
@media (max-width: 1240px) {
  body.home .tcx-hud { margin-inline: 40px; }
}
@media (max-width: 1000px) {
  body.home .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 30px; }
  body.home .hero h1 { font-size: 48px; }
  body.home .tcx-grid { gap: 32px; }
  body.home .tcx-news { grid-template-columns: 1fr auto; }
  body.home .tcx-news ul { grid-column: 1/-1; grid-row: 2; }
  body.home .tcx-news-more { grid-column: 2; grid-row: 1; }
  body.home .team-album { grid-auto-columns: calc((100% - 48px)/3); }
  body.home .founders .grid { grid-template-columns: 1fr 1fr; }
  body.home .founders .f-copy { grid-column: 1/-1; max-width: 650px; }
  body.home .founders .f-photo { max-width: 360px; }
  body.home .founders .f-photo:last-child { padding-top: 0; }
}
@media (max-width: 900px) {
  body.home .hero-grid, body.home .tcx-grid, body.home .loc-wrap, body.home #contact .grid { grid-template-columns: minmax(0, 1fr); }
  body.home .hero-copy { max-width: 680px; }
  body.home .hero-form { max-width: none; width: 100%; }
  body.home .estimate-folio { grid-template-columns: minmax(0, 1.2fr) minmax(250px, 1fr); }
  body.home .estimate-copy { padding: 28px; }
  body.home .estimate-action { padding: 28px 20px; }
  body.home .tcx-wall { width: 100%; max-width: 720px; }
  body.home .tcx-mon.main { aspect-ratio: 16/9; }
  body.home .trust .track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.home .loc-wrap { gap: 28px; }
  body.home .loc-map { min-height: 350px; }
  body.home .hf-toggle { border-radius: 3px; box-shadow: none; }
}
@media (max-width: 720px) {
  body.home :is(.hero, .stats, .ai-band, .practice, .lawyers, .locations, .results, .founders, .stories, #contact) > .wrap { padding-inline: 22px; }
  body.home .sec-head { gap: 14px; margin-bottom: 30px; text-align: left; justify-content: flex-start; }
  body.home .eyebrow { text-align: left; }
  :is(body.home, body.rhlf-editorial) .chatfab, :is(body.home, body.rhlf-editorial).scb-on .chatfab { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  :is(body.home, body.rhlf-editorial) .chatfab .fab { width: 52px; height: 52px; padding: 0; border-radius: 50%; }
  :is(body.home, body.rhlf-editorial) .chatfab .fab .fab-lbl { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  body.home .scb { right: 76px; bottom: calc(12px + env(safe-area-inset-bottom)); gap: 6px; }
  body.home .scb a { min-height: 52px; font-size: 11px; gap: 4px; }
  body.home .sec-head .right { display: block; padding: 0; max-width: 100%; font-size: 14px; }
  body.home .hero .inner { padding-top: 48px; padding-bottom: 40px; }
  body.home .hero-copy { text-align: left; }
  body.home .hero h1 { font-size: clamp(40px, 8.5vw, 56px); margin: 22px 0; max-width: 100%; }
  body.home .hero p.sub { font-size: 15px; margin-inline: 0; }
  body.home .hero .ctas { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; margin-top: 24px; }
  body.home .hero .ctas .btn { flex: 1 1 145px; padding-inline: 12px; font-size: 13px; }
  body.home .hero .slogan { margin-top: 26px; padding-top: 20px; font-size: 12px; }
  body.home .hero-form .form-card { padding: 24px 18px; }
  body.home .hf-toggle { flex-wrap: wrap; }
  body.home .hf-toggle .hf-note { flex-basis: 100%; order: 1; }
  body.home .stats { padding: 24px 0; }
  body.home .stats .card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  body.home .stats .cell { padding: 0; border: 0; }
  body.home .stats .lbl { font-size: 11px; }
  body.home .stats .num { font-size: 34px; }
  body.home .ai-band { padding: 38px 0; }
  body.home .estimate-folio { grid-template-columns: minmax(0, 1fr); }
  body.home .estimate-copy { padding: 26px 24px 30px; }
  body.home .estimate-heading { padding-bottom: 18px; }
  body.home .ai-band h2 { font-size: 38px; margin-top: 22px; }
  body.home .estimate-action { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 12px 18px; padding: 24px; }
  body.home .estimate-dial { width: 68px; height: 68px; grid-row: span 2; }
  body.home .estimate-dial b { font-size: 32px; }
  body.home .estimate-dial small { font-size: 8px; letter-spacing: 0; }
  body.home .ai-band .btn-est { padding: 0 0 10px; min-height: 44px; background: none; color: #f2dfb8; border-bottom: 1px solid #d4b36a66; border-radius: 0; font-size: 13px; text-align: left; }
  body.home .ai-band .btn-est span { flex-shrink: 0; border-color: #d4b36a66; width: 28px; height: 28px; }
  body.home .ai-band .btn-est:hover { background: none; color: #fff; }
  body.home .ai-band .note { grid-column: 2; text-align: left; font-size: 10px; }
  body.home .tcx-hud { margin-inline: 22px; flex-wrap: wrap; gap: 10px; }
  body.home .tcx-feed { margin-left: 0; flex-basis: 100%; }
  body.home .tcx-grid { padding: 38px 22px 32px; gap: 28px; }
  body.home .tcx-txt .ctas .btn { flex-basis: 100%; }
  body.home .tcx-mon:not(.main) .tag { display: none; }
  body.home .tcx-news { grid-template-columns: minmax(0, 1fr) auto; gap: 20px; }
  body.home .tcx-news ul { grid-template-columns: 1fr; gap: 18px; }
  body.home .tcx-news li { padding: 0 0 16px; border-left: 0; border-bottom: 1px solid #ffffff24; }
  body.home :is(.practice, .lawyers, .locations, .results, .founders, .stories, #contact) { padding: 52px 0; }
  body.home .practice .grid3 { grid-template-columns: minmax(0, 1fr); }
  body.home .pcard { min-height: 0; padding: 24px 26px 24px 48px; }
  body.home .pcard h3 { font-size: 26px; }
  body.home .pcard .ico { top: 25px; width: 28px; }
  body.home .pcard.feature { margin-top: 12px; padding: 24px; }
  body.home .seenon-inner { padding-inline: 22px; }
  body.home .seenon-track.static .seenon-run { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; }
  body.home .seenon-logo { height: 26px; }
  body.home .team-album { grid-auto-columns: 72%; gap: 18px; }
  body.home .ta-card .nm { font-size: 19px; }
  body.home .lawyers-cta > .btn { padding-inline: 16px; font-size: 12px; }
  body.home .home-gallery-controls { gap: 6px; }
  body.home .home-gallery-controls button { width: 44px; height: 44px; }
  body.home .trust .marquee { padding-inline: 22px; }
  body.home .trust .track { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; }
  body.home .trust .track a { height: 60px; }
  body.home .trust .track img { height: 56px; }
  body.home .results .grid3 { grid-template-columns: minmax(0, 1fr); }
  body.home .rcard:first-child { grid-row: auto; }
  body.home .rcard:first-child .amt { font-size: clamp(42px, 11.5vw, 64px); }
  body.home .results-cta .btn { width: 100%; padding: 16px; font-size: 14px; }
  body.home .founders .grid { gap: 28px 18px; }
  body.home .founders .f-copy { padding: 0; }
  body.home .founders .f-photo figcaption { font-size: 11px; }
  body.home .gr-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.home #contact .grid { gap: 30px; }
  body.home #contact .form-card { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body.home *, body.home *::before, body.home *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

footer.site-footer { background: #000; color: #d2d5cc; padding-top: 60px; border-top: 1px solid #a58d633d; }
footer.site-footer > .wrap { max-width: 1320px; }
footer.site-footer .top { display: block; padding-bottom: 44px; border: 0; text-align: left; }
footer.site-footer .footer-masthead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 72px; padding-bottom: 38px; }
footer.site-footer .footer-masthead .brand { grid-column: auto; }
footer.site-footer .brand img { display: block; width: 260px; max-width: 100%; height: auto; margin: 0 0 22px; }
footer.site-footer .brand .slog { font-size: 11px; letter-spacing: .23em; margin-bottom: 16px; }
footer.site-footer .brand p { max-width: 340px; margin: 0; color: #c7cbbf; font-size: 14px; line-height: 1.75; }
footer.site-footer .footer-connect { display: flex; flex-direction: column; justify-content: space-between; gap: 26px; }
footer.site-footer .footer-phones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
footer.site-footer .footer-phones a { display: flex; flex-direction: column; gap: 6px; min-height: 56px; color: #f5f0e5; text-decoration: none; }
footer.site-footer .footer-phones a span { font: 500 11px/1.5 var(--font-body); text-transform: uppercase; letter-spacing: .12em; color: #c5b698; }
footer.site-footer .footer-phones a strong { font: 500 clamp(22px, 2.2vw, 30px)/1.2 var(--font-display); white-space: nowrap; }
footer.site-footer .footer-phones a:hover strong { color: #e5cc99; }
footer.site-footer .footer-social { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #ffffff24; padding-top: 22px; }
footer.site-footer .follow-lbl { font: 400 13px/1.5 var(--font-body); color: #d2d5cc; text-transform: none; letter-spacing: 0; margin: 0; }
footer.site-footer .social { margin: 0; gap: 10px; justify-content: flex-start; }
footer.site-footer .social a { width: 44px; height: 44px; background: #ffffff08; border: 1px solid #ffffff24; border-radius: 4px; }
footer.site-footer .social a svg { width: 24px; height: 24px; }
footer.site-footer .social a:hover { background: #ffffff16; border-color: #c9af7e; transform: none; filter: none; }
footer.site-footer .footer-navigation { border-top: 1px solid #ffffff24; }
footer.site-footer .footer-quicklinks { display: flex; flex-wrap: wrap; gap: 8px 32px; padding: 15px 0; border-bottom: 1px solid #ffffff24; margin: 0 0 32px; }
footer.site-footer .footer-quicklinks li { margin: 0; }
footer.site-footer .footer-quicklinks a { display: inline-flex; align-items: center; min-height: 36px; font: 500 13px/1.5 var(--font-body); color: #eddfc2; }
footer.site-footer .footer-columns { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1fr; gap: 36px; }
footer.site-footer .footer-column { min-width: 0; }
footer.site-footer .footer-group + .footer-group { margin-top: 30px; }
footer.site-footer .footer-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
footer.site-footer .footer-group-head h2 { font: 600 16px/1.5 var(--font-body); margin: 0; }
footer.site-footer .footer-group-head h2 a { display: inline-block; color: #f5f0e5; text-decoration: none; padding: 5px 0; }
footer.site-footer .footer-links { display: grid; gap: 3px; padding: 0; margin: 0; }
footer.site-footer .footer-column:first-child .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 24px; }
footer.site-footer .footer-links li { margin: 0; min-width: 0; }
footer.site-footer .footer-links a { display: inline-block; font: 400 14px/1.6 var(--font-body); color: #cbd0c4; min-height: 32px; padding: 5px 0; overflow-wrap: anywhere; }
footer.site-footer :is(.footer-links, .footer-quicklinks, .footer-group-head, .footer-legal) a:hover { color: #f3dbac; text-decoration: underline; text-underline-offset: 5px; }
footer.site-footer :is(a, button, input):focus-visible { outline: 2px solid #efce89; outline-offset: 4px; }
footer.site-footer .footer-toggle { width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #ffffff24; border-radius: 4px; background: none; color: #e9d1a2; font-size: 23px; cursor: pointer; }
footer.site-footer .footer-toggle[hidden], footer.site-footer .footer-links[hidden] { display: none; }
footer.site-footer .newsletter { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 32px 44px; align-items: center; padding: 32px; border: 1px solid #ffffff1f; border-radius: 4px; background: #141414; text-align: left; }
footer.site-footer .newsletter .f-h { font: 500 34px/1.2 var(--font-display); text-transform: none; letter-spacing: -.01em; margin-bottom: 10px; color: #f8f1e3; }
footer.site-footer .newsletter .nl-txt p { font-size: 14px; color: #cbd0c4; max-width: 360px; }
footer.site-footer .nl-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; }
footer.site-footer .nl-field { display: flex; flex-direction: column; gap: 7px; font: 500 12px/1.4 var(--font-body); color: #e0e3d8; min-width: 0; }
footer.site-footer .nl-form input:not([type="hidden"]) { min-width: 0; width: 100%; height: 50px; padding: 12px; font-size: 14px; background: #fcfaf6; color: #28241f; border: 1px solid #d1c8b9; border-radius: 3px; }
footer.site-footer .nl-form .btn { min-height: 50px; height: auto; padding: 12px 20px; font-size: 13px; border-radius: 3px; }
footer.site-footer .nl-consent { grid-column: 1/-1; font: 400 11.5px/1.7 var(--font-body); color: #c7cbbf; max-width: none; margin: 0; }
footer.site-footer .nl-consent a { color: #eddbb3; text-underline-offset: 3px; }
footer.site-footer .nl-thanks { grid-column: 1/-1; }
footer.site-footer .bottom { display: grid; grid-template-columns: 1fr auto; gap: 12px 30px; padding: 28px 0 38px; color: #c1c6b9; text-align: left; font-size: 12px; }
footer.site-footer .footer-copyright { margin: 0; }
footer.site-footer .footer-domain { color: #aeb5a7; }
footer.site-footer .footer-legal { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 4px 24px; }
footer.site-footer .footer-legal a { min-height: 32px; padding: 5px 0; color: #d1d5ca; text-decoration: none; }
@media (max-width: 1100px) {
  footer.site-footer .footer-masthead { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 40px; }
  footer.site-footer .footer-phones { gap: 14px; }
  footer.site-footer .footer-phones a strong { font-size: 25px; }
  footer.site-footer .footer-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
  footer.site-footer .footer-column:first-child .footer-links { grid-template-columns: minmax(0, 1fr); }
  footer.site-footer .newsletter { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  footer.site-footer .newsletter .nl-txt p { max-width: 650px; }
}
@media (max-width: 900px) {
  footer.site-footer .footer-masthead { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  footer.site-footer .brand p { max-width: 480px; }
  footer.site-footer .footer-connect { gap: 22px; }
  footer.site-footer .footer-phones a strong { font-size: 30px; }
  footer.site-footer .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; }
  footer.site-footer .footer-column:first-child .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; }
  footer.site-footer .footer-social { justify-content: flex-start; gap: 28px; }
}
@media (max-width: 600px) {
  footer.site-footer { padding-top: 40px; }
  footer.site-footer > .wrap { padding-inline: 22px; }
  footer.site-footer .top { padding-bottom: 30px; }
  footer.site-footer .footer-masthead { padding-bottom: 26px; gap: 28px; }
  footer.site-footer .brand img { width: 230px; margin-bottom: 18px; }
  footer.site-footer .brand p { font-size: 14px; max-width: none; }
  footer.site-footer .footer-phones { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  footer.site-footer .footer-phones a strong { font-size: 27px; }
  footer.site-footer .footer-social { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 18px; }
  footer.site-footer .footer-quicklinks { gap: 2px 22px; padding-block: 14px; margin-bottom: 0; }
  footer.site-footer .footer-quicklinks a { min-height: 44px; font-size: 14px; }
  footer.site-footer .footer-columns { display: block; }
  footer.site-footer .footer-group, footer.site-footer .footer-group + .footer-group { margin: 0; padding: 14px 0; border-bottom: 1px solid #ffffff24; }
  footer.site-footer .footer-group-head { margin: 0; min-height: 44px; }
  footer.site-footer .footer-group-head h2 { font-size: 16px; }
  footer.site-footer .footer-group-head h2 a { padding-block: 10px; }
  footer.site-footer .footer-links, footer.site-footer .footer-column:first-child .footer-links { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 8px 0 4px; }
  footer.site-footer .footer-links a { font-size: 15px; min-height: 44px; padding-block: 10px; }
  footer.site-footer .newsletter { padding: 24px 20px; gap: 22px; }
  footer.site-footer .nl-form { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  footer.site-footer .nl-form .btn { width: 100%; }
  footer.site-footer .nl-form input:not([type="hidden"]) { font-size: 16px; }
  footer.site-footer .nl-consent { font-size: 12px; }
  footer.site-footer .bottom { grid-template-columns: minmax(0, 1fr); padding-bottom: 100px; gap: 14px; }
  footer.site-footer .footer-legal { gap: 2px 20px; }
  footer.site-footer .footer-legal a { min-height: 40px; padding-block: 9px; }
}

.practice-design { background: var(--practice-paper); color: var(--practice-ink); }
.practice-design :is(.pl-faqs,.pl-cases,.pl-comp,.pl-guide,.pl-related,.steps-band) { padding: 64px 0; }
.practice-design .sec-head { margin-bottom: 28px; }
.practice-design .sec-head h2 { font: 500 clamp(32px, 3.4vw, 48px)/1.12 var(--font-display); letter-spacing: -.025em; }
.practice-design :is(.sec-head,.pl-guide-copy) .eyebrow { color: var(--practice-accent); font-size: 11px; letter-spacing: .15em; line-height: 1.5; }
.practice-design .rv { opacity: 1; transform: none; }
.practice-design .glow::after { display: none; }
:is(.practice-design,.firm-story) :is(section[id],h2[id],h3[id],.content-layout[id]) { scroll-margin-top: 160px; }
:is(.practice-design,.firm-story) :is(a,button,summary,[tabindex]):focus-visible { outline: 3px solid var(--practice-accent, #a4814e); outline-offset: 4px; }
.pd-nav { border-bottom: 1px solid #d4cebf; background: #fffdf9; }
.pd-nav[hidden] { display: none; }
.pd-nav > .wrap { display: flex; align-items: center; gap: 26px; padding-block: 14px; }
.pd-nav > .wrap > span { flex-shrink: 0; font: 600 10px/1.5 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #786b55; }
.pd-nav-links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.pd-nav-links a { color: #443b30; font: 500 12px/1.5 var(--font-body); text-decoration: none; padding: 7px 0; border-bottom: 1px solid transparent; }
.pd-nav-links a:hover { border-color: var(--practice-accent, #a4814e); }
:is(.practice-design,.firm-story) .ai-ask { background: #fffdf9; border-bottom: 1px solid #ded8cd; }
:is(.practice-design,.firm-story) .ai-ask-bar { box-shadow: none; border-radius: 3px; border-color: #cbc2b2; max-width: 100%; padding: 4px 4px 4px 16px; }
:is(.practice-design,.firm-story) .ai-ask-bar button { border-radius: 2px; padding: 13px 22px; background: #eee5d5; color: #3c3222; }
.practice-design .pl-faqs { background: #fffdf9; }
.practice-design .pl-faqs > .wrap { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 24px 64px; }
.practice-design .pl-faqs .sec-head { align-self: start; margin: 0; }
.practice-design .pl-faqs .sec-head h2 { max-width: 360px; }
.practice-design .pl-faq { border: 0; border-bottom: 1px solid #d9d3c7; border-radius: 0; margin: 0; background: transparent; }
.practice-design .pl-faq summary { padding: 20px 38px 20px 0; font: 500 16px/1.55 var(--font-body); color: var(--practice-ink); }
.practice-design .pl-faq summary::after { right: 0; color: var(--practice-accent); font-size: 23px; }
.practice-design .pl-faq[open] summary { color: var(--practice-accent); }
.practice-design .pl-faq p { padding: 0 30px 24px 0; font-size: 14px; color: #625b50; }
.practice-design .pl-faq-more { grid-column: 2; margin: 0; font-size: 13px; }
.practice-design .pl-faq-more a { color: var(--practice-accent); }
.practice-design .practice-stats { background: var(--practice-paper); border: 0; border-block: 1px solid color-mix(in srgb, var(--practice-accent) 25%, transparent); padding: 26px 0; }
.practice-design .practice-stats .eyebrow { font-size: 10px; letter-spacing: .15em; margin-bottom: 18px; color: var(--practice-accent); }
.practice-design .practice-stats .cell { padding: 0 24px; text-align: left; border-color: color-mix(in srgb, var(--practice-accent) 25%, transparent); }
.practice-design .practice-stats .num { color: var(--practice-ink); font-size: 38px; font-weight: 500; }
.practice-design .practice-stats .lbl { font-size: 12px; letter-spacing: 0; text-transform: none; color: #635d54; }
.practice-design .pl-cases { background: var(--practice-paper); }
.practice-design .pl-chipgrid { gap: 0 26px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.practice-design .pl-chip { min-height: 84px; display: flex; align-items: center; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--practice-accent) 25%, transparent); border-radius: 0; padding: 22px 16px 22px 48px; color: var(--practice-ink); background: none; font: 500 16px/1.45 var(--font-body); box-shadow: none; }
.practice-design .pl-chip .ix { left: 0; border: 0; padding: 0; color: var(--practice-accent); font: 500 14px/1 var(--font-body); }
.practice-design .pl-chip:hover { transform: none; box-shadow: none; background: color-mix(in srgb, var(--practice-accent) 7%, transparent); }
.practice-design .pl-comp { background: #fffdf9; }
.practice-design .px-wrap { background: var(--practice-ink); border-radius: 3px; box-shadow: none; border: 1px solid var(--practice-ink); }
.practice-design .px-tab { font-size: 14px; line-height: 1.5; padding: 20px 18px; }
.practice-design .px-tab .px-ico { display: none; }
.practice-design .px-tab.on { color: #f5e7c4; border-color: #d8c497; background: #ffffff0a; }
.practice-design .px-panel { padding: 30px 36px; }
.practice-design .px-blurb { font: 500 28px/1.35 var(--font-display); }
.practice-design .px-items { gap: 14px 30px; }
.practice-design .px-items li { font-size: 14px; }
.practice-design .px-panel .btn { background: #eee1c2; color: var(--practice-ink); border-radius: 2px; font-size: 13px; box-shadow: none; }
.practice-design .pl-guide { background: var(--practice-paper); }
.practice-design .pl-guide-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, .85fr); gap: 56px; }
.practice-design .pl-guide-copy h2 { font: 500 clamp(30px, 3vw, 42px)/1.17 var(--font-display); margin: 18px 0; color: var(--practice-ink); }
.practice-design .pl-guide-copy p { color: #514d45; font-size: 16px; line-height: 1.8; }
.practice-design .pl-guide-card { background: var(--practice-ink); border-radius: 2px; padding: 32px; box-shadow: none; border-top: 4px solid var(--practice-accent); }
.practice-design .pl-guide-card .tag { border: 0; border-radius: 0; padding: 0 0 18px; border-bottom: 1px solid #ffffff30; display: block; line-height: 1.5; }
.practice-design .pl-guide-card h3 { font: 500 32px/1.2 var(--font-display); }
.practice-design .pl-guide-card p { font-size: 14px; }
.practice-design .pl-guide-card .btn { border-radius: 2px; width: 100%; min-width: 0; }
.practice-design .pl-related { background: #fffdf9; border-top: 1px solid #ded8ce; }
.practice-design .pl-related .loc-com-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.practice-design .pl-related .loc-com { border: 0; border-top: 2px solid var(--practice-accent); border-radius: 0; background: transparent; box-shadow: none; padding: 22px 0; align-items: start; }
.practice-design .pl-related .loc-com:hover { transform: none; }
.practice-design .pl-related .loc-com .t b { font: 500 23px/1.25 var(--font-display); }
.practice-design .pl-related .loc-com .t small { margin-top: 12px; }
.practice-design > .cta { background: var(--practice-ink); border-top: 1px solid #ffffff20; }
.practice-design #practice-form { padding: 60px 0; }
.practice-design #practice-form .narrow { max-width: 860px; }
.practice-design .form-card { border-radius: 2px; border: 1px solid #d7cdbb; box-shadow: none; background: #fffdf9; }
.practice-design .form-card h2, .practice-design .form-card h3 { font: 500 30px/1.2 var(--font-display); color: var(--practice-ink); }
.practice-design .steps-band { background: var(--practice-paper); }
.practice-design .steps-band > .wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; }
.practice-design .steps-band .steps { display: grid; grid-template-columns: 1fr; gap: 0; }
.practice-design .steps-band .step { display: grid; grid-template-columns: 30px 1fr; gap: 8px 18px; padding: 22px 0; background: none; border: 0; border-bottom: 1px solid #d6cec0; box-shadow: none; }
.practice-design .step .n { grid-row: span 2; width: auto; height: auto; background: none; padding: 0; margin: 0; font: 500 25px/1.2 var(--font-display); color: var(--practice-accent); }
.practice-design .step h3 { font: 600 17px/1.4 var(--font-body); margin: 0; }
.practice-design .step p { font-size: 14px; color: #5c584f; margin: 0; }
.practice-design > .cta.center { padding: 48px 0; }
.practice-design > .cta.center h2 { font-size: 38px; }
.practice-design .content-layout { grid-template-columns: minmax(0, 1.7fr) minmax(290px, .8fr); gap: 60px; padding-top: 56px; }
.practice-reading .content-main { background: #fffdf9; border: 1px solid #e0d9ca; padding: 34px; min-width: 0; }
.practice-reading .content-main .entry-content { color: #4c473e; }
.practice-reading .content-main .entry-content :is(h2,h3) { color: var(--practice-ink); font-family: var(--font-display); font-weight: 500; line-height: 1.2; clear: both; }
.practice-reading .content-main .entry-content h2 { font-size: 34px; padding-top: 24px; border-top: 1px solid #dcd4c5; }
.practice-reading .content-main .entry-content h3 { font-size: 27px; }
.practice-reading .content-main .entry-content p { line-height: 1.85; font-size: 16px; }
.practice-reading .content-main .entry-content img { max-width: 100%; height: auto; border-radius: 2px; }
.practice-reading .content-main .entry-content table { display: block; max-width: 100%; overflow-x: auto; }
.practice-reading .content-main .orn { display: none; }
.practice-reading .side { position: static; min-width: 0; }
.practice-reading .side .form-card { padding: 24px; }
.pd-outline { padding: 24px; margin-bottom: 24px; background: #fffdf9; border-left: 3px solid var(--practice-accent); }
.pd-outline h2 { font: 500 28px/1.2 var(--font-display); margin: 0 0 18px; }
.pd-outline ol { list-style: none; padding: 0; margin: 0; }
.pd-outline a { display: block; padding: 9px 0; font-size: 13px; line-height: 1.5; color: var(--practice-ink); text-decoration: none; border-bottom: 1px solid #e2d9ca; }
.pd-outline a:hover { color: var(--practice-accent); }
.practice-design .why-card { background: var(--practice-ink); border-radius: 2px; box-shadow: none; }
.pd-route .pl-cases > .wrap, .pd-ledger .pl-cases > .wrap, .pd-places .pl-cases > .wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; }
.pd-route .pl-chipgrid { grid-template-columns: 1fr; border-left: 1px solid var(--practice-accent); padding-left: 28px; }
.pd-route .pl-chip { min-height: 66px; }
.pd-ledger .pl-chipgrid { gap: 12px; }
.pd-ledger .pl-chip { background: var(--practice-ink); color: #f1f4f3; border: 0; padding-left: 42px; min-height: 110px; font-size: 14px; }
.pd-ledger .pl-chip .ix { left: 14px; color: #a9c2cf; font-size: 11px; }
:is(.pd-ledger,.pd-clinical,.pd-benefits) .px-wrap { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); }
:is(.pd-ledger,.pd-clinical,.pd-benefits) .px-tabs { grid-template-columns: 1fr; border: 0; border-right: 1px solid #ffffff25; }
:is(.pd-ledger,.pd-clinical,.pd-benefits) .px-tab { align-items: flex-start; justify-content: center; border-bottom: 1px solid #ffffff20; border-left: 3px solid transparent; text-align: left; }
:is(.pd-ledger,.pd-clinical,.pd-benefits) .px-tab.on { border-left-color: #dbc390; }
.pd-trail .pl-chipgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pd-trail .pl-chip { align-items: end; min-height: 150px; padding: 56px 22px 24px; border: 0; border-top: 3px solid var(--practice-accent); background: #fffdf9; font: 500 25px/1.25 var(--font-display); }
.pd-trail .pl-chip .ix { left: 22px; top: 26px; }
:is(.pd-quiet,.pd-journal) .pl-faqs > .wrap { grid-template-columns: 1fr; max-width: 980px; }
:is(.pd-quiet,.pd-journal) .pl-faqs .sec-head h2 { max-width: 620px; }
:is(.pd-quiet,.pd-journal) .pl-faq-more { grid-column: 1; }
.pd-quiet .pl-chip { font: 500 24px/1.4 var(--font-display); padding-block: 26px; }
.pd-quiet .pl-guide { background: #fffdf9; }
.pd-clinical .pl-chipgrid { border: 1px solid #ccdcd5; gap: 0; }
.pd-clinical .pl-chip { border: 1px solid #d5e2db; background: #fff; padding-left: 52px; min-height: 92px; }
.pd-clinical .pl-chip .ix { left: 20px; }
.pd-clinical .px-wrap { background: #f0f6f2; border-color: #c7d9ce; }
.pd-clinical .px-tab { color: #41675d; border-color: #cadbd2; }
.pd-clinical .px-tab.on { color: #234d3e; background: #dfece5; border-left-color: #416c5a; }
.pd-clinical .px-blurb, .pd-clinical .px-items li { color: #2e5145; }
.pd-clinical .px-items .tick { color: #416c5a; }
.pd-places .pl-chipgrid { grid-template-columns: 1fr; }
.pd-places .pl-chip { background: #fffdf8; padding: 18px 24px 18px 62px; margin-bottom: 10px; border: 0; min-height: 68px; }
.pd-places .pl-chip .ix { left: 24px; }
.pd-journal .pl-guide-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); }
.pd-journal .pl-guide-card { order: -1; }
.pd-benefits .pl-cases .pl-chip { background: #fffdf9; margin-bottom: 14px; padding-left: 56px; border-left: 3px solid var(--practice-accent); }
.pd-benefits .pl-chip .ix { left: 20px; }
.pd-disability .pl-comp > .wrap { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 40px; }
.pd-disability .px-wrap { display: block; }
.pd-disability .px-tabs { grid-template-columns: 1fr 1fr; }
.pd-resort .pl-cases { background: var(--practice-ink); }
.pd-resort .pl-cases .eyebrow { color: #d6bd83; }
.pd-resort .pl-cases h2 { color: #fff6e2; }
.pd-resort .pl-chip { color: #f6efdf; border-color: #ffffff30; }
.pd-resort .pl-chip .ix { color: #d6bd83; }
.pd-resort .pl-chip:first-child { grid-column: 1/-1; min-height: 130px; font: 500 40px/1.2 var(--font-display); }
.pd-care .pl-guide-grid { gap: 80px; }
.pd-care .pl-chip { background: #fffdf9; margin-bottom: 16px; border: 0; padding-block: 30px; border-radius: 2px 24px 2px 2px; }
.pd-care .pl-chip .ix { left: 18px; }
.pd-dossier .pl-chipgrid { grid-template-columns: 1fr; }
.pd-dossier .pl-chip { min-height: 70px; padding-left: 74px; font: 500 24px/1.3 var(--font-display); }
.pd-dossier .pl-chip .ix { font-size: 26px; padding-right: 20px; border-right: 1px solid var(--practice-accent); }
.pd-dossier .pl-guide-card { background: #fffdf9; border: 1px solid #c8b7c6; }
.pd-dossier .pl-guide-card :is(h3,p,.tag,.btn) { color: var(--practice-ink); border-color: #bba7b8; }
.firm-story { --practice-accent: #896b40; background: #f7f3eb; }
.firm-story .rv, .firm-story [data-aos] { opacity: 1 !important; transform: none !important; visibility: visible !important; transition: none !important; }
.firm-proof { padding: 32px 0; background: #fffdf8; border-bottom: 1px solid #ded4c1; }
.firm-proof .proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.firm-proof strong { display: block; font: 500 42px/1.1 var(--font-display); color: #614827; }
.firm-proof span { display: block; margin-top: 8px; font-size: 12px; color: #6a6152; }
.firm-story .about-body { background: #f7f3eb; padding: 64px 0; }
.firm-story .about-content { color: #4e463a; }
.firm-story .about-content p { font-size: 16px; line-height: 1.9; }
.firm-story .about-content h2 { font: 500 clamp(34px, 3.8vw, 52px)/1.1 var(--font-display); letter-spacing: -.02em; color: #342b20; margin: 0 0 26px; }
.firm-story .firm-enhanced > [class="1container"] { display: contents !important; }
.firm-story .firm-empty-media, .firm-story .firm-empty { display: none; }
.firm-introduction { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 0 72px; padding: 0 0 60px; }
.firm-introduction h2 { grid-row: span 2; font-size: 64px !important; max-width: 230px; border-top: 2px solid #9c804e; padding-top: 22px; }
.firm-introduction p { margin: 0 0 20px; }
.firm-films { padding: 48px 0 64px; border-top: 1px solid #d5c8b0; }
.firm-film-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; }
.firm-film-grid .youtube-video-wrapper { height: auto !important; padding-bottom: 0 !important; aspect-ratio: 16/9; border-radius: 2px !important; background: #1e1b16; }
.firm-film-grid .youtube-video-wrapper:nth-child(even) { margin-top: 36px; }
.firm-reach { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 64px; padding: 64px 0; border-top: 1px solid #d5c8b0; align-items: start; }
.firm-reach figure { position: sticky; top: 110px; margin: 0; }
.firm-reach figure img { width: 100%; display: block; height: auto; border-radius: 2px; }
.firm-reach-copy p { margin: 0 0 20px; }
.firm-history { padding-top: 56px; border-top: 1px solid #d5c8b0; }
.firm-history .about_new_img { display: block; width: 100%; max-width: 820px; height: auto; margin: 0 0 48px; }
.firm-story .about_timeline { padding: 0; background: none; }
.firm-story .about_timeline .container { max-width: none; width: 100%; padding: 0; }
.firm-story .timeline_decade { display: grid !important; grid-template-columns: 130px minmax(0, 1fr); gap: 40px; padding: 34px 0 !important; margin: 0 !important; border-top: 1px solid #cdbfa3; align-items: start; min-height: 0 !important; }
.firm-story .timeline_decade > .year { position: static !important; width: auto !important; height: auto !important; padding: 0 !important; margin: 0 !important; background: none !important; color: #7f6035 !important; font: 500 42px/1.15 var(--font-display) !important; }
.firm-story .years_line { display: none !important; }
.firm-story .years_items { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 0; width: auto !important; padding: 0 !important; margin: 0 !important; }
.firm-story .year_achievement { position: static !important; float: none !important; display: grid !important; grid-template-columns: 80px minmax(0, 1fr) 100px; gap: 18px; width: auto !important; min-height: 0 !important; max-width: none !important; margin: 0 !important; padding: 24px 0 !important; background: none !important; border: 0 !important; border-bottom: 1px solid #ddd1bb !important; border-radius: 0 !important; box-shadow: none !important; color: #4e463a; }
.firm-story .year_achievement > div:not(.year_description) { grid-column: 1; grid-row: 1; }
.firm-story .year_achievement .year_description { grid-column: 2; grid-row: 1; }
.firm-story .year_achievement:not(:has(> img)) .year_description { grid-column: 2 / -1; }
.firm-story .year_achievement::before, .firm-story .year_achievement::after { display: none !important; }
.firm-story .year_achievement img { grid-column: 3; grid-row: 1; position: static !important; float: none !important; display: block; width: 100% !important; max-width: 100%; height: 80px !important; object-fit: contain; object-position: right top; margin: 0 !important; }
.firm-story .year_horizontal_line { display: none !important; }
.firm-story .year_title { position: static !important; font: 500 28px/1.2 var(--font-display) !important; color: #7f6035 !important; padding: 0 !important; margin: 0 0 12px !important; }
.firm-story .year_description { font: 400 14px/1.7 var(--font-body) !important; color: #4e463a !important; text-align: left !important; margin: 0 !important; }
.firm-story .h2-about[hidden] { display: none !important; }
.firm-decades { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-bottom: 24px; }
.firm-decades a { color: #73582e; font: 600 17px/1.4 var(--font-display); text-decoration: none; border-bottom: 1px solid #b69b6d; padding: 12px 0; }
.firm-story .timeline_decade[id] { scroll-margin-top: 150px; }
.firm-story .year_achievement p { font-size: 14px; line-height: 1.7; margin: 8px 0 0; }
.firm-story > .cta { background: #33261d; border: 0; }
@media (max-width: 1050px) {
 .practice-design .pl-faqs > .wrap { gap: 30px; }
 .pd-disability .pl-comp > .wrap { display: block; }
 .practice-design .content-layout { gap: 28px; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); }
 .practice-reading .content-main { padding: 24px; }
 .firm-introduction { gap: 36px; }
 .firm-reach { gap: 36px; }
}
@media (max-width: 900px) {
 .practice-design .pl-faqs > .wrap, .practice-design .pl-guide-grid, .practice-design .steps-band > .wrap, .practice-design .content-layout, .pd-route .pl-cases > .wrap, .pd-ledger .pl-cases > .wrap, .pd-places .pl-cases > .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .practice-design .pl-faq-more { grid-column: 1; }
 .practice-design .pl-faqs .sec-head h2 { max-width: 620px; }
 .pd-journal .pl-guide-card { order: 0; }
 .practice-design .pl-guide-card { position: static; }
 .practice-design .side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
 .practice-design .side .form-card { grid-column: 2; grid-row: span 2; }
 .practice-design .side .why-card { margin: 0; }
 .firm-reach { grid-template-columns: minmax(0, 1fr); }
 .firm-reach figure { position: static; max-width: 680px; }
 .firm-story .timeline_decade { grid-template-columns: 90px minmax(0, 1fr); gap: 24px; }
 .firm-story .timeline_decade > .year { font-size: 32px !important; }
}
@media (max-width: 620px) {
 .practice-design :is(.pl-faqs,.pl-cases,.pl-comp,.pl-guide,.pl-related,.steps-band), .firm-story .about-body { padding: 40px 0; }
 .practice-design .wrap, .firm-story .wrap { padding-inline: 22px; }
 .practice-design .sec-head { text-align: left; justify-content: flex-start; }
 .practice-design .sec-head .eyebrow, .firm-story .eyebrow { text-align: left; }
 .pd-nav > .wrap { display: block; padding-block: 12px; }
 .pd-nav-links { flex-wrap: nowrap; overflow-x: auto; gap: 20px; padding-top: 4px; scrollbar-width: thin; }
 .pd-nav-links a { flex-shrink: 0; min-height: 40px; display: flex; align-items: center; }
 .practice-design .practice-stats .card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
 .practice-design .practice-stats .cell { border: 0; padding: 0; }
 .practice-design .practice-stats .num { font-size: 34px; }
 .practice-design .practice-stats .lbl { font-size: 11px; }
 .practice-design .pl-chipgrid, .practice-design .pl-related .loc-com-grid { grid-template-columns: minmax(0, 1fr); }
 .pd-route .pl-chipgrid { padding-left: 18px; }
 .pd-trail .pl-chip { min-height: 112px; }
 .pd-resort .pl-chip:first-child { font-size: 30px; }
 :is(.pd-ledger,.pd-clinical,.pd-benefits) .px-wrap { display: block; }
 .practice-design .px-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .practice-design .px-tab { padding: 16px 12px; font-size: 12px; }
 .practice-design .px-panel { padding: 24px 20px; }
 .practice-design .px-blurb { font-size: 25px; }
 .practice-design .px-items { grid-template-columns: minmax(0, 1fr); }
 .practice-design .px-panel .btn { width: 100%; padding: 14px; }
 .practice-design .pl-guide-card { padding: 26px; }
 .practice-design .content-layout { padding-top: 32px; }
 .practice-reading .content-main { padding: 22px 18px; }
 .practice-reading .content-main .entry-content h2 { font-size: 30px; }
 .practice-reading .content-main .entry-content p { font-size: 15px; }
 .practice-design .side { display: block; }
 .practice-design .side .why-card { margin-top: 24px; }
 .practice-design #practice-form .form-card { padding: 24px 20px; }
 .practice-design #practice-form .form-card h2 { font-size: 30px; }
 .practice-design .step { text-align: left; }
 .firm-proof .proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
 .firm-proof strong { font-size: 34px; }
 .firm-introduction { grid-template-columns: minmax(0, 1fr); gap: 0; padding-bottom: 32px; }
 .firm-introduction h2 { grid-row: auto; max-width: none; font-size: 46px !important; }
 .firm-film-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
 .firm-film-grid .youtube-video-wrapper:nth-child(even) { margin-top: 0; }
 .firm-films, .firm-reach { padding: 36px 0; }
 .firm-story .about-content p { font-size: 15px; }
 .firm-history { padding-top: 36px; }
 .firm-story .timeline_decade { grid-template-columns: minmax(0, 1fr); gap: 22px; }
 .firm-story .years_items { grid-template-columns: minmax(0, 1fr); }
 .firm-story .year_achievement { grid-template-columns: 56px minmax(0, 1fr); padding: 22px 0 !important; gap: 12px 16px; }
 .firm-story .year_achievement img { grid-column: 2; grid-row: 2; width: 100px !important; object-position: left top; }
 .firm-story .year_title { font-size: 23px !important; }
}
