/* Calloway & Reed legal demo: styles for Divi 5 sections built by build-pages.php.
   Brand: --brand-primary (navy #0F1E36) / --brand-secondary (gold #C5A059).
   Gold is ~2.4:1 on white, so it's used as a fill (with navy text), for hairlines, and as text on navy only;
   gold text on light backgrounds uses --law-gold-ink. Visual language: editorial serif type, square corners,
   gold hairlines and double rules, roman numerals, ledger/document motifs. */

:root {
	--law-ink: #0f1e36;
	--law-muted: #4a5568;
	--law-line: #e4dccb;
	--law-ivory: #f8f5ee;
	--law-deep: color-mix(in srgb, var(--brand-primary) 82%, #000);
	--law-gold: var(--brand-secondary);
	--law-gold-ink: color-mix(in srgb, var(--brand-secondary) 58%, #000);
	--law-serif: "Cormorant Garamond", Garamond, "Times New Roman", serif;
	--law-shadow: 0 24px 50px rgba(15, 30, 54, .14);
	--law-pinstripe: repeating-linear-gradient(90deg, rgba(197,160,89,.06) 0 1px, transparent 1px 64px);
}

/* ---------- Divi flex layout fixes (gap via --horizontal-gap-parent, wrap on small screens) ---------- */
.et_pb_section[class*="law-"] { padding: clamp(64px, 7vw, 108px) 0; background: #fff; gap: 40px; }
.et_pb_section[class*="law-"] .et_pb_row { width: min(1180px, calc(100% - 40px)); max-width: none; padding: 0; }
.law-row { --law-gap: 28px; column-gap: var(--law-gap) !important; row-gap: 26px !important; flex-wrap: wrap !important; }
.law-row > .et_pb_column { --horizontal-gap-parent: var(--law-gap); }
.law-hero-row, .law-split, .law-cta-row { --law-gap: clamp(28px, 5vw, 72px); }
.law-grid-3, .law-steps { --law-gap: 28px; }
.law-ledger-row { --law-gap: 0px; column-gap: 0 !important; row-gap: 0 !important; }
.law-list, .law-toc, .law-laurels, .law-hero-stats, .law-timeline, .law-principle-list, .law-figures, .law-bring, .law-side-nav ol { list-style: none !important; padding: 0 !important; }

/* ---------- Section backgrounds ---------- */
.et_pb_section:is(.law-hero, .law-page-hero, .law-results) { background: var(--law-pinstripe), var(--brand-primary) !important; }
.et_pb_section.law-cta { background: var(--law-pinstripe), var(--law-deep) !important; border-top: 4px double var(--law-gold); }
.et_pb_section:is(.law-honors, .law-process, .law-voices, .law-chronicle, .law-probono, .law-fees, .law-contact) { background: var(--law-ivory) !important; }
.et_pb_section.law-honors { padding: 30px 0; border-bottom: 1px solid var(--law-line); }

/* ---------- Base ---------- */
[class*="law-"] .et_pb_text_inner, [class*="law-"] .et_pb_code_inner { color: var(--law-muted); font-size: 16px; line-height: 1.75; }
[class*="law-"] h1, [class*="law-"] h2, [class*="law-"] h3 { font-family: var(--law-serif); color: var(--law-ink); font-weight: 600; line-height: 1.08; padding-bottom: 0; letter-spacing: -.005em; }
/* Cormorant's default old-style figures make "0" read as "o"; use lining figures everywhere. */
.et_pb_section[class*="law-"] { font-variant-numeric: lining-nums; }
[class*="law-"] h1 { font-size: clamp(44px, 5.6vw, 74px); margin-bottom: 20px; }
[class*="law-"] h2 { font-size: clamp(34px, 3.8vw, 52px); margin-bottom: 16px; }
[class*="law-"] h3 { font-size: 26px; margin-bottom: 8px; }
[class*="law-"] p { padding-bottom: 0; margin-bottom: 14px; }
.law-eyebrow { color: var(--law-gold-ink) !important; font-size: 12px !important; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; margin-bottom: 14px !important; display: flex; align-items: center; gap: 14px; }
.law-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; flex: none; }
.law-lead { font-size: 18px !important; max-width: 680px; }
.law-heading .et_pb_text_inner, .law-center .et_pb_text_inner, .law-center-text .et_pb_text_inner { text-align: center; }
:is(.law-heading, .law-center, .law-center-text) .law-eyebrow { justify-content: center; }
:is(.law-heading, .law-center, .law-center-text) .law-eyebrow::after { content: ""; width: 34px; height: 1px; background: currentColor; flex: none; }
:is(.law-heading, .law-center, .law-center-text) .law-lead { margin-inline: auto; }
.law-heading { margin-bottom: 12px; }
.law-center { justify-content: center; }
.law-ico { width: 24px; height: 24px; flex: none; vertical-align: middle; }
.law-small { font-size: 14px; display: flex; gap: 8px; align-items: center; }
.law-small .law-ico { color: var(--law-gold-ink); width: 20px; height: 20px; }
.law-disclaimer { font-size: 12.5px !important; letter-spacing: .02em; text-align: center; color: var(--law-muted) !important; margin: 18px 0 0 !important; font-style: italic; }
.law-rule { display: flex; justify-content: center; margin: 4px 0 22px !important; }
.law-rule span { position: relative; width: 120px; height: 1px; background: var(--law-gold); }
.law-rule span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; background: var(--law-gold); transform: translate(-50%, -50%) rotate(45deg); }

/* Navy sections */
:is(.law-hero, .law-page-hero, .law-results, .law-cta) :is(h1, h2, h3) { color: #fff !important; }
:is(.law-hero, .law-page-hero, .law-results, .law-cta) .et_pb_text_inner { color: rgba(255,255,255,.76); }
:is(.law-hero, .law-page-hero, .law-results, .law-cta) .law-eyebrow { color: var(--law-gold) !important; }
:is(.law-results, .law-cta) .law-disclaimer { color: rgba(255,255,255,.55) !important; }

/* ---------- Buttons & links ---------- */
.law-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 30px; border-radius: 0; border: 1px solid transparent; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; line-height: 1.2; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.law-btn .law-ico { width: 18px; height: 18px; }
.law-btn--gold { background: var(--law-gold); color: var(--law-ink) !important; }
.law-btn--gold:hover { background: color-mix(in srgb, var(--law-gold) 82%, #fff); }
.law-btn--ghost { border-color: rgba(197,160,89,.6); color: #fff !important; letter-spacing: .06em; }
.law-btn--ghost:hover { background: rgba(197,160,89,.12); border-color: var(--law-gold); }
.law-btn--navy { background: var(--brand-primary); color: #fff !important; }
.law-btn--navy:hover { background: var(--law-deep); }
.law-btn--block { width: 100%; }
.law-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.law-link { display: inline-flex; align-items: center; gap: 8px; color: var(--law-ink) !important; font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid var(--law-gold); }
.law-link .law-ico { width: 18px; height: 18px; color: var(--law-gold-ink); transition: transform .2s; }
.law-link:hover .law-ico { transform: translateX(4px); }

/* ---------- Monogram seal ---------- */
.law-seal { display: inline-grid; place-items: center; width: 120px; height: 120px; border-radius: 50%; border: 2px solid var(--law-gold); box-shadow: inset 0 0 0 5px transparent, inset 0 0 0 6px var(--law-gold); flex: none; }
.law-seal span { font-family: var(--law-serif); font-size: 38px; font-weight: 600; color: var(--law-gold); line-height: 1; letter-spacing: .02em; }
.law-seal i { font-size: .7em; font-style: italic; margin: 0 1px; }
.law-seal--sm { width: 56px; height: 56px; box-shadow: inset 0 0 0 3px transparent, inset 0 0 0 4px var(--law-gold); }
.law-seal--sm span { font-size: 19px; }
.law-seal--xs { width: 40px; height: 40px; border-width: 1px; box-shadow: inset 0 0 0 2px transparent, inset 0 0 0 3px var(--law-gold); }
.law-seal--xs span { font-size: 14px; }

/* ---------- Hero ---------- */
.law-hero-row { align-items: center; }
.law-hero h1 em { font-style: italic; color: var(--law-gold); font-weight: 500; }
.law-hero-stats { display: flex; flex-wrap: wrap; margin: 30px 0 0 !important; border-top: 1px solid rgba(197,160,89,.35); border-bottom: 1px solid rgba(197,160,89,.35); }
.law-hero-stats li { flex: 1 1 0; padding: 18px 20px; border-left: 1px solid rgba(197,160,89,.35); }
.law-hero-stats li:first-child { border-left: 0; padding-left: 0; }
.law-hero-stats strong { display: block; font-family: var(--law-serif); font-size: 40px; font-weight: 600; color: var(--law-gold); line-height: 1; margin-bottom: 6px; }
.law-hero-stats span { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.law-footnote { font-size: 12.5px; color: rgba(255,255,255,.5) !important; margin-top: 18px !important; }

/* ---------- Lead form (letterhead) ---------- */
.law-form { position: relative; background: #fff; padding: clamp(26px, 3vw, 38px); display: grid; gap: 12px; border-top: 5px solid var(--law-gold); box-shadow: 0 34px 70px rgba(0,0,0,.35); outline: 1px solid var(--law-line); outline-offset: -10px; }
.law-contact-form .law-form { box-shadow: var(--law-shadow); }
.law-form-head { display: flex; align-items: center; gap: 16px; padding-bottom: 14px; margin-bottom: 2px; border-bottom: 1px solid var(--law-line); }
.law-form-head .law-seal span { color: var(--law-gold-ink); }
.law-form-head .law-seal { border-color: var(--law-gold-ink); box-shadow: inset 0 0 0 3px transparent, inset 0 0 0 4px var(--law-gold-ink); }
.law-form-kicker { font-size: 11px !important; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: #9b2c2c !important; margin: 0 0 2px !important; }
.law-form .law-form-title { margin: 0 !important; font-size: 30px !important; color: var(--law-ink) !important; }
.law-form-sub { margin: 0 0 2px !important; font-size: 15px; }
.law-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.law-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--law-ink); }
.law-opt { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--law-muted); }
.law-form input, .law-form select, .law-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #d6cfbf; border-radius: 0; font: inherit; font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--law-ink); background: #fff; }
.law-form textarea { resize: vertical; }
.law-form input:focus, .law-form select:focus, .law-form textarea:focus { outline: none; border-color: var(--brand-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--law-gold) 30%, transparent); }
.law-form-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; margin: 0 !important; }
.law-form-note .law-ico { width: 16px; height: 16px; color: var(--law-gold-ink); }
.law-form-ok { background: #f0f7f2; color: #1e5631 !important; border-left: 3px solid #1e5631; padding: 12px 14px !important; font-weight: 700; margin: 0 !important; }
.law-hp { position: absolute; left: -9999px; }
/* Urgency choices (single select) */
.law-choices { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 6px; }
.law-choices legend { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--law-ink); margin-bottom: 6px; padding: 0; }
.law-form label.law-choice { display: block; position: relative; cursor: pointer; text-transform: none; letter-spacing: 0; }
.law-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.law-choice span { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid #d6cfbf; font-size: 15px; font-weight: 600; color: var(--law-ink); transition: background .15s, border-color .15s; }
.law-choice span::before { content: ""; width: 14px; height: 14px; border: 1px solid var(--law-gold-ink); transform: rotate(45deg); flex: none; transition: background .15s; }
.law-choice input:checked + span { border-color: var(--brand-primary); background: color-mix(in srgb, var(--law-gold) 12%, #fff); }
.law-choice input:checked + span::before { background: var(--brand-primary); border-color: var(--brand-primary); box-shadow: inset 0 0 0 3px #fff; }
.law-choice input:focus-visible + span { outline: 2px solid var(--brand-primary); outline-offset: 2px; }

/* ---------- Honors bar ---------- */
.law-laurels { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px 28px; margin: 0 !important; }
.law-laurels li { display: flex; align-items: center; gap: 12px; padding: 0; }
.law-laurels .law-ico { width: 42px; height: 42px; color: var(--law-gold-ink); stroke-width: 1.2; }
.law-laurels span { display: grid; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.4; }
.law-laurels strong { font-family: var(--law-serif); font-size: 21px; letter-spacing: 0; text-transform: none; color: var(--law-ink); font-weight: 700; }

/* ---------- Practice areas index (table of contents) ---------- */
.law-split { align-items: center; }
.law-split--top { align-items: flex-start; }
.law-sticky-row { align-items: stretch !important; }
.law-sticky { position: sticky; top: 110px; }
.law-toc { margin: 0 !important; border-top: 1px solid var(--law-line); counter-reset: none; }
.law-toc li { padding: 0; border-bottom: 1px solid var(--law-line); }
.law-toc a { display: grid; grid-template-columns: 64px 1fr; gap: 6px; align-items: baseline; padding: 22px 6px; text-decoration: none; transition: background .2s, padding .2s; }
.law-toc a:hover { background: var(--law-ivory); padding-inline: 16px; }
.law-toc-num { font-family: var(--law-serif); font-size: 26px; font-style: italic; color: var(--law-gold-ink); }
.law-toc-line { display: flex; align-items: baseline; gap: 10px; }
.law-toc-line strong { font-family: var(--law-serif); font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; color: var(--law-ink); line-height: 1.1; }
.law-toc-dots { flex: 1; border-bottom: 2px dotted #cbbf9f; transform: translateY(-6px); min-width: 20px; }
.law-toc-line .law-ico { width: 22px; height: 22px; color: var(--law-gold-ink); transition: transform .2s; align-self: center; }
.law-toc a:hover .law-toc-line .law-ico { transform: translateX(4px); }
.law-toc-desc { display: block; font-size: 15px; color: var(--law-muted); margin-top: 4px; }

/* ---------- Case results ledger ---------- */
.law-ledger-row { border: 1px solid rgba(197,160,89,.35); }
.law-ledger { height: 100%; padding: 34px 28px; border-left: 1px solid rgba(197,160,89,.35); }
.law-ledger-row > .et_pb_column:first-child .law-ledger { border-left: 0; }
.law-ledger .et_pb_text_inner { color: rgba(255,255,255,.7) !important; font-size: 15px; }
.law-amount { font-family: var(--law-serif); font-size: clamp(46px, 4.4vw, 62px); font-weight: 600; color: var(--law-gold) !important; line-height: 1; margin-bottom: 14px !important; }
.law-amount--word { font-style: italic; font-size: clamp(40px, 3.6vw, 52px); }
.law-case { font-size: 12px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #fff !important; padding-bottom: 12px !important; border-bottom: 1px solid rgba(197,160,89,.35); }

/* ---------- First 72 hours (articles) ---------- */
.law-steps { align-items: stretch; }
.law-step { height: 100%; background: #fff; padding: 38px 32px 32px; border: 1px solid var(--law-line); position: relative; }
.law-step::before { content: ""; position: absolute; inset: 8px; border: 1px solid color-mix(in srgb, var(--law-gold) 35%, transparent); pointer-events: none; }
.law-article { font-family: var(--law-serif); font-size: 18px !important; font-style: italic; color: var(--law-gold-ink) !important; margin-bottom: 2px !important; }
.law-when { font-family: var(--law-serif); font-size: 54px !important; font-weight: 600; color: var(--law-ink) !important; line-height: 1; margin-bottom: 16px !important; padding-bottom: 16px !important; border-bottom: 1px solid var(--law-line); }

/* ---------- Partners ---------- */
.law-attorney { height: 100%; text-align: left; }
.law-portrait { aspect-ratio: 4 / 5; background: var(--law-pinstripe), linear-gradient(160deg, color-mix(in srgb, var(--brand-primary) 75%, #fff) 0%, var(--brand-primary) 70%); display: grid; place-items: center; margin-bottom: 22px; position: relative; }
.law-portrait::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(197,160,89,.55); }
.law-portrait span { font-family: var(--law-serif); font-size: 72px; font-style: italic; color: var(--law-gold); }
.law-role { font-size: 12px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--law-gold-ink) !important; }
.law-bar { font-size: 13px; padding-top: 12px !important; border-top: 1px solid var(--law-line); margin-bottom: 0 !important; }

/* ---------- Client voices ---------- */
.law-pull { border: 0; padding: 0; margin: 0 0 20px; position: relative; }
.law-pull p { font-family: var(--law-serif); font-size: clamp(28px, 2.9vw, 40px); font-weight: 500; font-style: italic; line-height: 1.3; color: var(--law-ink); }
.law-pull p::first-letter { font-size: 2.4em; float: left; line-height: .82; margin: 6px 12px 0 0; color: var(--law-gold-ink); font-style: normal; font-weight: 600; }
.law-cite { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; display: flex; gap: 12px; align-items: center; }
.law-cite strong { color: var(--law-ink); }
.law-cite::before { content: ""; width: 34px; height: 1px; background: var(--law-gold); }
.law-quote { margin: 0; padding: 22px 0 22px 26px; border-left: 2px solid var(--law-gold); }
.law-quote + .law-quote { margin-top: 10px; }
.law-quote blockquote { border: 0; margin: 0 0 8px; padding: 0; font-family: var(--law-serif); font-size: 21px; line-height: 1.4; color: var(--law-ink); font-style: normal; }
.law-quote figcaption { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--law-muted); }

/* ---------- CTA banner ---------- */
.law-cta-row { align-items: center; }
.law-call { display: block; text-align: center; padding: 26px 28px; border: 1px solid var(--law-gold); outline: 1px solid rgba(197,160,89,.4); outline-offset: 6px; color: #fff !important; text-decoration: none; font-family: var(--law-serif); font-size: clamp(36px, 3.6vw, 50px); font-weight: 600; line-height: 1; transition: background .2s; }
.law-call:hover { background: rgba(197,160,89,.1); }
.law-call small { display: block; font-family: "Open Sans", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--law-gold); margin-bottom: 10px; }
.law-cta-alt { text-align: center; margin-top: 22px !important; }
.law-cta-alt a { display: inline-flex; align-items: center; gap: 8px; color: var(--law-gold); font-weight: 700; text-decoration: none; }
.law-cta-alt .law-ico { width: 18px; height: 18px; }

/* ---------- Inner page hero ---------- */
.et_pb_section.law-page-hero { padding: clamp(84px, 9vw, 130px) 0 clamp(70px, 8vw, 104px); }
.law-page-hero a { color: var(--law-gold); }

/* ---------- About ---------- */
.law-dropcap::first-letter { font-family: var(--law-serif); font-size: 74px; float: left; line-height: .8; margin: 8px 12px 0 0; color: var(--law-gold-ink); font-weight: 600; }
.law-certificate { text-align: center; padding: 48px 30px; background: var(--law-pinstripe), var(--brand-primary); position: relative; box-shadow: var(--law-shadow); }
.law-certificate::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(197,160,89,.6); outline: 1px solid rgba(197,160,89,.3); outline-offset: 4px; pointer-events: none; }
.law-certificate .law-seal { margin-bottom: 20px; }
.law-cert-est { font-size: 12px !important; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.65) !important; margin-bottom: 4px !important; }
.law-cert-year { font-family: var(--law-serif); font-size: clamp(40px, 4vw, 56px); font-weight: 600; letter-spacing: .08em; color: #fff !important; line-height: 1.1; }
.law-cert-line { font-family: var(--law-serif); font-style: italic; font-size: 19px; color: var(--law-gold) !important; margin: 0 !important; }
.law-narrow { width: min(880px, calc(100% - 40px)) !important; }
.law-timeline { margin: 18px 0 0 !important; position: relative; }
.law-timeline::before { content: ""; position: absolute; left: 118px; top: 8px; bottom: 8px; width: 1px; background: var(--law-gold); }
.law-timeline li { display: grid; grid-template-columns: 96px 1fr; gap: 46px; padding: 0 0 34px; position: relative; }
.law-timeline li:last-child { padding-bottom: 0; }
.law-timeline li::before { content: ""; position: absolute; left: 113px; top: 12px; width: 11px; height: 11px; background: var(--law-ivory); border: 1px solid var(--law-gold-ink); transform: rotate(45deg); }
.law-year { font-family: var(--law-serif); font-size: 34px; font-weight: 600; color: var(--law-gold-ink); line-height: 1; text-align: right; }
.law-timeline h3 { font-size: 26px !important; margin-bottom: 4px !important; }
.law-timeline p { margin: 0 !important; }
.law-principle-list { margin: 0 !important; counter-reset: law-p; }
.law-principle-list li { counter-increment: law-p; position: relative; padding: 22px 0 22px 70px; border-bottom: 1px solid var(--law-line); }
.law-principle-list li:first-child { border-top: 1px solid var(--law-line); }
.law-principle-list li::before { content: counter(law-p, upper-roman) "."; position: absolute; left: 0; top: 18px; font-family: var(--law-serif); font-size: 32px; font-style: italic; color: var(--law-gold-ink); }
.law-principle-list strong { display: block; font-family: var(--law-serif); font-size: 24px; font-weight: 600; color: var(--law-ink); line-height: 1.2; margin-bottom: 4px; }
.law-figures { display: flex; flex-wrap: wrap; justify-content: center; margin: 34px 0 0 !important; }
.law-figures li { flex: 1 1 200px; padding: 10px 24px; border-left: 1px solid var(--law-line); }
.law-figures li:first-child { border-left: 0; }
.law-figures strong { display: block; font-family: var(--law-serif); font-size: 54px; font-weight: 600; color: var(--law-ink); line-height: 1; }
.law-figures span { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

/* ---------- Services (sticky contents + articles) ---------- */
.law-side-nav { background: var(--law-ivory); padding: 28px 26px; border-top: 3px solid var(--law-gold); }
.law-mini-title { font-size: 12px !important; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--law-ink) !important; margin-bottom: 12px !important; }
.law-side-nav ol { margin: 0 0 22px !important; }
.law-side-nav li { padding: 0; border-bottom: 1px solid var(--law-line); }
.law-side-nav li a { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; color: var(--law-ink); font-weight: 600; text-decoration: none; font-size: 15px; transition: color .15s, padding .15s; }
.law-side-nav li a:hover { color: var(--law-gold-ink); padding-left: 6px; }
.law-side-nav li a span { font-family: var(--law-serif); font-style: italic; color: var(--law-gold-ink); min-width: 28px; font-size: 18px; }
.law-side-phone { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0 !important; }
.law-side-phone a { color: var(--law-ink); font-weight: 700; text-decoration: none; }
.law-side-phone .law-ico { width: 18px; height: 18px; color: var(--law-gold-ink); }
.law-service { padding: 0 0 48px; margin-bottom: 48px; border-bottom: 1px solid var(--law-line); scroll-margin-top: 110px; }
.law-service:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.law-service header { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.law-service-num { font-family: var(--law-serif); font-size: 60px; font-style: italic; font-weight: 500; color: color-mix(in srgb, var(--law-gold) 55%, #fff); line-height: 1; min-width: 70px; }
.law-service header .law-ico { width: 46px; height: 46px; padding: 11px; border: 1px solid var(--law-gold); color: var(--law-gold-ink); }
.law-service h2 { margin: 0 !important; font-size: clamp(32px, 3vw, 42px) !important; }
.law-list { margin: 0 0 20px !important; display: grid; gap: 8px 24px; }
.law-list li { position: relative; padding: 0 0 0 22px; color: var(--law-ink); font-weight: 600; }
.law-list li::before { content: ""; position: absolute; left: 2px; top: .65em; width: 7px; height: 7px; background: var(--law-gold); transform: rotate(45deg); }
.law-list--2col { grid-template-columns: 1fr 1fr; }
.law-fee { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; background: var(--law-ivory); padding: 14px 18px !important; border-left: 3px solid var(--law-gold); margin: 0 !important; color: var(--law-ink) !important; font-weight: 600; }
.law-fee span { font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--law-gold-ink); }
/* Fee table: scoped under the wrapper so it outranks Divi's .entry-content table rules */
.law-fee-wrap { overflow-x: auto; background: #fff; box-shadow: var(--law-shadow); border-top: 3px solid var(--law-gold); }
.law-fee-wrap table.law-fee-table { width: 100%; min-width: 640px; border-collapse: collapse; border: 0 !important; margin: 0; font-size: 15px; }
.law-fee-wrap .law-fee-table tr th, .law-fee-wrap .law-fee-table tr td { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--law-line); text-align: left; vertical-align: top; color: var(--law-muted); }
.law-fee-wrap .law-fee-table thead th { background: var(--brand-primary); color: #fff; font-family: var(--law-serif); font-size: 21px; font-weight: 600; border-bottom: 0; }
.law-fee-wrap .law-fee-table thead th:first-child { color: var(--law-gold); font-family: inherit; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; vertical-align: middle; }
.law-fee-wrap .law-fee-table tbody th { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--law-ink); width: 22%; }
.law-fee-wrap .law-fee-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.law-fee-wrap .law-fee-table strong { font-family: var(--law-serif); font-size: 26px; color: var(--law-ink); }

/* ---------- FAQ ---------- */
.law-faq .law-narrow + .law-narrow { margin-top: 26px; }
.law-faq-title { display: flex; align-items: baseline; gap: 16px; font-size: 34px !important; margin-bottom: 18px !important; padding-bottom: 12px !important; border-bottom: 1px solid var(--law-gold); }
.law-faq-title span { font-style: italic; font-weight: 500; color: var(--law-gold-ink); min-width: 40px; }
.law-accordion .et_pb_toggle { border: 0; border-bottom: 1px solid var(--law-line); border-radius: 0; padding: 20px 4px; margin-bottom: 0 !important; background: transparent; }
.law-accordion .et_pb_toggle_open { background: transparent; }
.law-accordion .et_pb_toggle .et_pb_toggle_title { font-family: var(--law-serif); font-size: 23px; font-weight: 600; color: var(--law-ink) !important; padding-right: 36px; line-height: 1.25; }
.law-accordion .et_pb_toggle_title:before { color: var(--law-gold-ink); }
.law-accordion .et_pb_toggle_open .et_pb_toggle_title { color: var(--law-gold-ink) !important; }
.law-accordion .et_pb_toggle_title:before { color: var(--law-gold-ink) !important; }
.law-faq-title + * { margin-top: 0; }
.law-faq .et_pb_text { margin-bottom: 8px !important; }
.law-accordion .et_pb_toggle_content { color: var(--law-muted); padding-top: 10px; font-size: 16px; line-height: 1.75; }

/* ---------- Contact ---------- */
.law-card { background: var(--law-pinstripe), var(--brand-primary); padding: 34px 32px; position: relative; box-shadow: var(--law-shadow); }
.law-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(197,160,89,.45); pointer-events: none; }
.law-card-name { display: flex; align-items: center; gap: 12px; font-family: var(--law-serif); font-size: 30px; font-weight: 600; color: #fff !important; margin: 0 !important; line-height: 1; }
.law-card-sub { font-size: 11px !important; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--law-gold) !important; margin: 8px 0 22px 52px !important; }
.law-contact-line { display: flex; gap: 14px; align-items: flex-start; color: rgba(255,255,255,.8) !important; position: relative; }
.law-contact-line .law-ico { color: var(--law-gold); width: 22px; height: 22px; margin-top: 3px; }
.law-contact-line a { color: #fff !important; font-weight: 700; text-decoration: none; }
.law-contact-line small { display: block; font-size: 13px; opacity: .7; }
.law-hours-title { margin-top: 32px !important; font-size: 26px !important; }
.law-contact-side table.law-hours { width: 100%; border-collapse: collapse; font-size: 15px; border: 0 !important; margin: 0; }
.law-contact-side .law-hours tr th, .law-contact-side .law-hours tr td { padding: 11px 0; border: 0; border-bottom: 1px solid var(--law-line); text-align: left; font-weight: 700; color: var(--law-ink); }
.law-contact-side .law-hours tr td { text-align: right; font-weight: 400; color: var(--law-muted); }
.law-contact-side .law-hours tr.law-hours-em th, .law-contact-side .law-hours tr.law-hours-em td { color: #9b2c2c !important; font-weight: 700; border-bottom: 0; }
.law-map { min-height: 420px; display: grid; place-content: center; text-align: center; gap: 14px; background: var(--law-pinstripe), var(--brand-primary); position: relative; }
.law-map::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(197,160,89,.45); }
.law-map-pin { justify-self: center; width: 60px; height: 60px; border: 1px solid var(--law-gold); color: var(--law-gold); display: grid; place-items: center; transform: rotate(45deg); }
.law-map-pin .law-ico { transform: rotate(-45deg); }
.law-map p { margin: 0; color: rgba(255,255,255,.8); }
.law-bring { margin: 6px 0 20px !important; display: grid; gap: 0; }
.law-bring li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--law-line); }
.law-bring li:first-child { border-top: 1px solid var(--law-line); }
.law-bring .law-ico { width: 40px; height: 40px; padding: 9px; border: 1px solid var(--law-gold); color: var(--law-gold-ink); }
.law-bring span { display: grid; font-size: 15px; }
.law-bring strong { font-family: var(--law-serif); font-size: 21px; color: var(--law-ink); font-weight: 600; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.law-sticky { position: static; }
	.law-side-col { display: none; }
	.law-ledger { border-left: 0; border-top: 1px solid rgba(197,160,89,.35); }
	.law-ledger-row > .et_pb_column:nth-child(-n+2) .law-ledger { border-top: 0; }
	.law-ledger-row > .et_pb_column:nth-child(even) .law-ledger { border-left: 1px solid rgba(197,160,89,.35); }
	.law-step, .law-attorney, .law-ledger { height: auto; }
	.law-laurels { justify-content: flex-start; }
	.law-laurels li { flex: 1 1 40%; }
	.law-portrait { aspect-ratio: 16 / 10; }
}
@media (max-width: 640px) {
	.law-form-grid, .law-list--2col { grid-template-columns: 1fr; }
	.law-actions .law-btn { width: 100%; }
	.law-hero-stats li { padding: 16px 12px; }
	.law-hero-stats strong { font-size: 32px; }
	.law-hero-stats span { font-size: 10.5px; letter-spacing: .08em; }
	.law-ledger-row > .et_pb_column .law-ledger { border-left: 0 !important; border-top: 1px solid rgba(197,160,89,.35) !important; }
	.law-ledger-row > .et_pb_column:first-child .law-ledger { border-top: 0 !important; }
	.law-toc a { grid-template-columns: 44px 1fr; padding: 18px 2px; }
	.law-toc-dots { display: none; }
	.law-toc-line { justify-content: space-between; }
	.law-timeline::before { left: 7px; }
	.law-timeline li { grid-template-columns: 1fr; gap: 6px; padding-left: 36px; }
	.law-timeline li::before { left: 2px; top: 10px; }
	.law-year { text-align: left; }
	.law-figures li { border-left: 0; border-top: 1px solid var(--law-line); padding: 18px 0; }
	.law-figures li:first-child { border-top: 0; }
	.law-service header { flex-wrap: wrap; gap: 12px; }
	.law-service-num { font-size: 46px; min-width: 0; }
	.law-laurels li { flex: 1 1 100%; }
	.law-step, .law-form, .law-card { padding: 28px 24px; }
	.law-principle-list li { padding-left: 56px; }
	.law-eyebrow { letter-spacing: .16em; }
}
