/* ============================================================
   MHSK & PARTNERS — Institutional Design System v4
   Constitutional modernism: ink navy, parchment ivory,
   restrained oxblood and antique rose. Loaded after style.css.
   ============================================================ */

:root {
  --ink-950: #09131f;
  --ink-900: #0d1b2b;
  --ink-850: #11243a;
  --ink-800: #17304a;
  --parchment: #f0eadf;
  --parchment-soft: #ded5c6;
  --mist: #b8c3cf;
  --rose: #c88984;
  --rose-soft: #dfb2ad;
  --oxblood: #762d39;
  --brass: #bca171;
  --hairline: rgba(240, 234, 223, 0.18);
  --hairline-strong: rgba(240, 234, 223, 0.34);
  --bg-body: var(--ink-900);
  --bg-card: var(--ink-850);
  --bg-divider: var(--ink-800);
  --bg-modal: var(--ink-950);
  --text-primary: var(--parchment);
  --text-muted: var(--mist);
  --cta: var(--rose);
  --cta-warm: var(--rose-soft);
  --cta-bright: #fffaf1;
  --cta-text: var(--rose-soft);
  --accent-gold: var(--brass);
  --accent-gold-text: #d8c297;
  --accent-gold-soft: rgba(188, 161, 113, 0.13);
  --radius: 2px;
  --maxw: 1360px;
  --transition: all 240ms ease;
  --font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-sans: "Aptos", "Segoe UI", Arial, sans-serif;
}

html { background: var(--ink-950); }

body {
  background-color: var(--ink-900);
  background-image:
    radial-gradient(circle at 92% 2%, rgba(200, 137, 132, 0.07), transparent 31rem),
    linear-gradient(180deg, rgba(255,255,255,0.018), transparent 28rem);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.68;
  letter-spacing: 0.005em;
}

h1, h2, h3, h4, .brand-name {
  font-family: var(--font-serif);
  letter-spacing: -0.018em;
}

h1 { font-size: clamp(2.2rem, 4vw, 3.72rem); line-height: 1.07; font-weight: 600; }
h2 { font-size: clamp(1.72rem, 2.65vw, 2.48rem); line-height: 1.15; font-weight: 600; color: var(--parchment); }
h3 { font-size: clamp(1.22rem, 1.65vw, 1.56rem); line-height: 1.25; }
p, li { max-width: 76ch; }

/* One predictable link language across normal, visited, hover and keyboard states. */
a,
a:visited { color: inherit; }
a {
  text-decoration-color: rgba(223, 178, 173, 0.62);
  text-underline-offset: 0.2em;
}
.legal-doc a,
.notice a,
.source-note a,
.team-desc a,
.privacy-consent a,
.ec-consent-banner a,
.content-link,
.inline-link {
  color: var(--rose-soft) !important;
}
.card .card-link,
.card .card-link:visited,
.featured-matter > a,
.featured-matter > a:visited,
.team-linkedin,
.team-linkedin:visited,
.portrait-caption a,
.portrait-caption a:visited,
.ticker-items a,
.ticker-items a:visited {
  color: var(--rose-soft);
}
.counsel-linkedin,
.counsel-linkedin:visited,
.professional-directory a,
.professional-directory a:visited,
.jurisdiction-band a,
.jurisdiction-band a:visited,
.matter-lead a,
.matter-lead a:visited,
.matter-stack a,
.matter-stack a:visited { color: var(--parchment); }
.site-footer a,
.site-footer a:visited { color: var(--mist); }
.book-float:visited { color: var(--ink-950); }
.wa-float:visited,
.top-float:visited { color: #fff; }
.legal-doc a:hover,
.notice a:hover,
.source-note a:hover,
.team-desc a:hover,
.content-link:hover,
.inline-link:hover {
  color: var(--cta-bright) !important;
}
:focus-visible { outline-color: var(--rose-soft); outline-offset: 4px; }

.eyebrow {
  font-family: var(--font-sans);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.19em;
  color: var(--rose-soft);
}

.lead { font-size: clamp(1.04rem, 1.5vw, 1.23rem); line-height: 1.65; }
.container { padding-inline: clamp(22px, 4vw, 64px); }
section { padding: clamp(72px, 9vw, 124px) 0; }
section.tight { padding: clamp(54px, 6vw, 82px) 0; }

.section-alt {
  background: var(--ink-950);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

/* Header: quiet, architectural, and always legible. */
.site-header,
.site-header.scrolled {
  background: rgba(9, 19, 31, 0.965);
  border-bottom: 1px solid var(--hairline);
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header-inner { height: 74px; padding-inline: clamp(20px, 3vw, 46px); gap: 22px; }
.brand { gap: 12px; }
.brand-logo { width: 43px; height: 43px; }
.brand:hover .brand-logo { transform: none; opacity: 1; }
.brand-name { font-size: 1.26rem; font-weight: 600; letter-spacing: -0.01em; }
.brand-sub {
  font-family: var(--font-sans);
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--mist);
}
.main-nav { gap: 18px; }
.main-nav a.nav-link {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  color: var(--parchment-soft);
}
.main-nav a.nav-link:visited { color: var(--parchment-soft); }
.main-nav a.nav-link:hover,
.main-nav a.nav-link[aria-current="page"] { color: var(--parchment); }
.main-nav a.nav-link::after { bottom: 3px; background: var(--rose); }
.main-nav .btn { border-radius: 0; }
.main-nav .btn { min-height: 44px; height: auto; }
.search-btn { border-radius: 0; }
.nav-toggle { border-radius: 0; font-family: Arial, sans-serif; }

/* Buttons are intentionally precise, not pill-shaped. */
.btn {
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  padding: 15px 22px;
}
.btn::after { display: none; }
.btn-primary {
  background: var(--oxblood);
  border-color: #98505a;
  color: #fff8ee;
  box-shadow: none;
}
.btn-primary:visited { color: #fff8ee; }
.btn-primary:hover { background: #8b3745; box-shadow: none; transform: translateY(-1px); }
.btn-secondary, .btn-accent { border-color: var(--hairline-strong); color: var(--parchment); }
.btn-secondary:visited, .btn-accent:visited { color: var(--parchment); }
.btn-secondary:hover, .btn-accent:hover {
  background: var(--parchment);
  border-color: var(--parchment);
  color: var(--ink-950);
  box-shadow: none;
  transform: translateY(-1px);
}

/* Replace generic floating cards with editorial planes. */
.card,
.intent-card,
.principle-card,
.featured-matter,
.wire-item,
.cal-item,
.team-card {
  border-radius: 0;
  box-shadow: none;
}
.card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--hairline-strong);
  padding: 28px 2px 24px;
}
.card:hover { border-color: var(--rose); box-shadow: none; transform: none !important; }
.card .icon { font-size: 1rem; font-family: Georgia, serif; }
.card h3 { margin-top: 18px; }

/* New homepage — opening argument. */
.institutional-hero {
  min-height: auto;
  padding: clamp(98px, 8vw, 126px) 0 56px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(9,19,31,0.99) 0%, rgba(13,27,43,0.96) 58%, rgba(17,36,58,0.86) 100%),
    radial-gradient(circle at 82% 32%, rgba(200,137,132,0.12), transparent 29rem);
  border-bottom: 1px solid var(--hairline);
}

/* The institutional pages rely on proportion and typography, not decorative overlays. */
.institutional-hero::before,
.aurora,
.cursor-glow { display: none !important; }

.institutional-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.hero-kicker {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-left: 0;
  padding-left: 0;
  text-align: left;
  margin-bottom: 27px;
  color: var(--rose-soft);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.hero-statement { max-width: 860px; font-size: clamp(2rem, 3.3vw, 2.85rem); line-height: 1.08; text-wrap: balance; }
.hero-statement-long {
  max-width: 980px;
  font-size: clamp(2.35rem, 3.45vw, 3.3rem);
  line-height: 1.09;
}
.hero-statement em { color: var(--rose-soft); font-weight: 500; }
.hero-brief { max-width: 650px; margin-top: 22px; color: var(--parchment-soft); }
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 28px; }

.hero-side-index { border-top: 1px solid var(--hairline-strong); }
.hero-side-label {
  padding: 15px 0;
  color: var(--mist);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.hero-side-link {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 13px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--hairline);
  color: var(--parchment);
  text-decoration: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.16rem;
}
.hero-side-link small {
  color: var(--rose-soft);
  font-family: "Aptos", "Segoe UI", Arial, sans-serif;
  font-size: 0.63rem;
  letter-spacing: 0.1em;
}
.hero-side-link span:last-child { color: var(--rose); transition: transform 180ms ease; }
.hero-side-link:hover span:last-child { transform: translateX(5px); }
.hero-side-note { margin-top: 24px; color: var(--mist); font-size: 0.79rem; line-height: 1.55; }

.evidence-ledger { padding: 0; background: var(--parchment); color: var(--ink-950); }
.evidence-grid { display: grid; grid-template-columns: 0.9fr repeat(4, minmax(0, 1fr)); }
.evidence-intro, .evidence-item { padding: 28px clamp(18px, 2.4vw, 32px); }
.evidence-intro { display: flex; align-items: center; border-right: 1px solid rgba(9,19,31,0.16); }
.evidence-intro p { color: var(--ink-800); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.evidence-item { border-right: 1px solid rgba(9,19,31,0.16); }
.evidence-item:last-child { border-right: 0; }
.evidence-item strong {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.1rem, 1.45vw, 1.45rem);
  letter-spacing: 0.01em;
  line-height: 1;
  color: var(--oxblood);
}
.evidence-item span { display: block; margin-top: 7px; color: #38495a; font-size: 0.72rem; line-height: 1.4; }

.home-page main#main-content { display: flex; flex-direction: column; }
.home-page main#main-content > .institutional-hero { order: 1; }
.home-page main#main-content > .evidence-ledger { order: 2; }
.home-page main#main-content > .surface-ivory { order: 3; }
.home-page main#main-content > #capabilities { order: 4; }
.home-page main#main-content > #experience { order: 5; }
.home-page main#main-content > .section-alt:not(#experience) { order: 6; }
.home-page main#main-content > .constitutional-section { order: 7; }
.home-page main#main-content > .engagement-band { order: 8; }

.section-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(320px, 0.55fr);
  justify-content: space-between;
  gap: 60px;
  align-items: end;
  margin-bottom: 56px;
}
.section-heading-row p:last-child { color: var(--mist); }

.capability-list { border-top: 1px solid var(--hairline-strong); }
.capability-row {
  display: grid;
  grid-template-columns: 72px minmax(210px, 0.72fr) minmax(0, 1.2fr) auto;
  gap: clamp(18px, 3vw, 46px);
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
  color: var(--parchment);
  text-decoration: none;
}
.capability-row:hover { background: linear-gradient(90deg, transparent, rgba(200,137,132,0.045), transparent); }
.capability-row .cap-number { color: var(--rose-soft); font-size: 0.66rem; letter-spacing: 0.15em; }
.capability-row h3 { margin: 0; font-size: clamp(1.45rem, 2.15vw, 2.05rem); font-weight: 500; }
.capability-row p { color: var(--mist); font-size: 0.9rem; }
.capability-row .cap-arrow { color: var(--rose); font-size: 1.25rem; }

.surface-ivory { background: var(--parchment); color: var(--ink-950); }
.surface-ivory h2, .surface-ivory h3, .surface-ivory p { color: var(--ink-950); }
.surface-ivory .eyebrow { color: var(--oxblood); }
.surface-ivory .muted { color: #536170; }
.surface-ivory .section-heading-row > p:last-child { color: #38495a; }

.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(9,19,31,0.18); }
.audience-panel {
  padding: clamp(30px, 4vw, 52px);
  border-right: 1px solid rgba(9,19,31,0.18);
  color: var(--ink-950);
  text-decoration: none;
  min-height: 330px;
  display: flex;
  flex-direction: column;
}
.audience-panel h3 { margin-top: 24px; font-size: clamp(1.45rem, 2.05vw, 2rem); line-height: 1.08; }
.audience-panel p { max-width: 34ch; }
.audience-panel:last-child { border-right: 0; }
.audience-panel:hover { background: rgba(118,45,57,0.045); }
.audience-panel .audience-no { color: var(--oxblood); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.15em; }
.audience-panel h3 { font-size: clamp(1.45rem, 1.9vw, 1.9rem); margin-top: 24px; }
.audience-panel p { color: #465666; margin-top: 17px; font-size: 0.91rem; }
.audience-panel b { margin-top: auto; padding-top: 26px; color: var(--oxblood); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; }
.audience-panel .audience-inline-label { display: block; margin: 0 0 7px; padding: 0; color: var(--ink-950); font-size: inherit; letter-spacing: normal; text-transform: none; }

.matter-showcase { display: grid; grid-template-columns: 1.12fr 0.88fr; gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); }
.matter-lead, .matter-stack article { background: var(--ink-950); }
.matter-lead { padding: clamp(34px, 5vw, 66px); display: flex; flex-direction: column; min-height: 520px; }
.matter-lead .matter-meta, .matter-stack .matter-meta { color: var(--rose-soft); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.matter-lead h3 { font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.06; margin-top: 26px; font-weight: 500; }
.matter-lead p { margin-top: 24px; color: var(--mist); }
.matter-lead a, .matter-stack a { color: var(--parchment); text-decoration: none; margin-top: auto; padding-top: 30px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.matter-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 1px; }
.matter-stack article { padding: clamp(30px, 4vw, 48px); display: flex; flex-direction: column; }
.matter-stack h3 { font-size: clamp(1.52rem, 2.3vw, 2.2rem); margin-top: 18px; font-weight: 500; }
.matter-stack p { color: var(--mist); margin-top: 14px; font-size: 0.9rem; }

.experience-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--hairline);
  background: var(--hairline);
}
.experience-value-card {
  min-height: 450px;
  padding: clamp(28px, 2.7vw, 42px);
  background: var(--ink-950);
  display: flex;
  flex-direction: column;
}
.experience-value-card .matter-meta {
  color: var(--rose-soft);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.experience-value-card .matter-value {
  display: block;
  margin-top: 26px;
  color: var(--parchment);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.85rem, 2.5vw, 2.8rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.035em;
}
.experience-value-card h3 {
  margin-top: 24px;
  font-size: clamp(1.3rem, 1.65vw, 1.75rem);
  font-weight: 500;
}
.experience-value-card p:not(.matter-meta) {
  margin-top: 16px;
  color: var(--mist);
  font-size: 0.86rem;
}
.experience-value-card a {
  margin-top: auto;
  padding-top: 30px;
  color: var(--parchment);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-decoration: none;
  text-transform: uppercase;
}
.experience-value-card a:hover { color: var(--rose-soft); }

.constitutional-section { overflow: hidden; }
.constitutional-intro { max-width: 810px; }
.constitutional-intro p:last-child { color: var(--mist); }
.constitutional-section .hero-figures { margin-top: 50px; }
.constitutional-section .hero-media-frame { background: rgba(255,255,255,0.025); }
.constitutional-section .hero-media-frame::after {
  box-shadow: inset 0 0 20px 11px var(--ink-900);
  background: linear-gradient(180deg, transparent 62%, rgba(13,27,43,0.52));
}
.constitutional-section .portrait-caption { text-align: left; border-color: var(--hairline); }
.constitutional-section .portrait-caption a { font-family: "Aptos", "Segoe UI", Arial, sans-serif; font-size: 0.68rem; letter-spacing: 0.06em; }

.insight-strip { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 70px; align-items: start; }
.insight-links { border-top: 1px solid var(--hairline-strong); }
.insight-links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--hairline);
  color: var(--parchment);
  text-decoration: none;
}
.insight-links a span:first-child { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.45rem; }
.insight-links a span:last-child { color: var(--rose); }

.engagement-band { background: var(--oxblood); }
.engagement-band .engagement-inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.engagement-band h2 { max-width: 860px; }
.engagement-band p { color: #ead8d2; margin-top: 16px; }
.engagement-band .btn { border-color: rgba(255,255,255,0.5); }

/* Interior pages inherit the same confidence and spacing. */
.page-head {
  padding: 164px 0 86px;
  background:
    linear-gradient(90deg, var(--ink-950), rgba(17,36,58,0.94)),
    radial-gradient(circle at 88% 30%, rgba(200,137,132,0.1), transparent 25rem);
  border-bottom: 1px solid var(--hairline);
}
.page-head h1 { max-width: 1040px; font-size: clamp(2.25rem, 3.8vw, 3.48rem); }
.page-head p:not(.eyebrow) { max-width: 820px; color: var(--mist); font-size: 1.04rem; }

/* Client directory: a consistent first decision layer on information-heavy pages. */
.page-directory {
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--hairline-strong);
}
.page-directory-title {
  margin: 0 0 14px;
  color: var(--parchment-soft) !important;
  font-family: var(--font-sans);
  font-size: 0.7rem !important;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.page-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.page-directory-link,
.page-directory-link:visited {
  min-height: 92px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 17px 18px;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  color: var(--parchment-soft);
  text-decoration: none;
  background: rgba(255,255,255,0.012);
}
.page-directory-link:hover,
.page-directory-link:focus-visible {
  color: var(--cta-bright);
  background: rgba(200,137,132,0.075);
}
.page-directory-number {
  color: var(--rose-soft);
  font-family: var(--font-sans);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.page-directory-label {
  display: block;
  color: inherit;
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.18;
}
.page-directory-note {
  display: block;
  margin-top: 4px;
  color: var(--mist);
  font-size: 0.76rem;
  line-height: 1.35;
}
.page-directory-arrow { color: var(--rose); line-height: 1; }
.section-anchor,
section[id],
h2[id],
h3[id] { scroll-margin-top: 96px; }

.filter-group-heading {
  margin: 26px 0 10px;
  color: var(--mist);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.filter-group-heading + .filter-chips,
.filter-group-heading + .portfolio-practice-index { margin-top: 0; }

.professional-directory { border-radius: 0; background: transparent; border: 1px solid var(--hairline); }
.professional-directory a { border-color: var(--hairline); }
.team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); }
.team-card { background: var(--ink-900); border: 0; padding: 32px; }
.team-card:hover { border: 0; transform: none; background: var(--ink-850); }
.team-photo { border-radius: 0; }
.team-photo img { border-radius: 0; }

.filter-chip, .wire-filter, .cal-filter {
  min-height: 44px;
  padding-block: 10px;
  border-radius: 0;
  font-family: "Aptos", "Segoe UI", Arial, sans-serif;
}
.accordion-header { border-radius: 0; }
.accordion-item { border-radius: 0; }

/* Portfolio: distinct audience filters and a deterministic practice index. */
.portfolio-practice-index {
  display: flex;
  gap: 8px;
  padding: 18px 0 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  border-bottom: 1px solid var(--hairline);
}
.portfolio-practice-index a {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--hairline-strong);
  color: var(--parchment-soft) !important;
  text-decoration: none;
  font-size: 0.76rem;
  line-height: 1.25;
  letter-spacing: 0.015em;
}
.portfolio-practice-index a:hover,
.portfolio-practice-index a:focus-visible,
.portfolio-practice-index a[aria-current="true"] {
  border-color: var(--rose-soft);
  color: var(--cta-bright) !important;
  background: rgba(200, 137, 132, 0.09);
}
.portfolio-practice-index a[aria-current="true"] { box-shadow: inset 0 -2px 0 var(--rose); }
.portfolio-focus-hidden { display: none !important; }
.matter-cat { scroll-margin-top: 98px; }

/* Marketing compliance capability. */
.compliance-intro-grid { display: grid; grid-template-columns: 1.15fr 0.65fr; gap: clamp(50px, 8vw, 110px); align-items: start; }
.compliance-position { border-top: 1px solid var(--hairline-strong); }
.compliance-position div { padding: 19px 0; border-bottom: 1px solid var(--hairline); }
.compliance-position b { display: block; color: var(--parchment); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.25rem; }
.compliance-position span { display: block; color: var(--mist); font-size: 0.78rem; margin-top: 5px; }

.channel-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--hairline-strong); }
.channel-item { padding: 28px 26px 30px 0; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.channel-item:nth-child(4n) { border-right: 0; padding-left: 26px; }
.channel-item:not(:nth-child(4n+1)) { padding-left: 26px; }
.channel-item span { color: var(--rose-soft); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.14em; }
.channel-item h3 { font-size: 1.4rem; margin-top: 13px; }
.channel-item p { color: var(--mist); font-size: 0.83rem; margin-top: 8px; }

.jurisdiction-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); }
.jurisdiction-panel { background: var(--ink-950); padding: clamp(34px, 5vw, 62px); }
.jurisdiction-panel .jurisdiction-code { color: var(--rose-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; }
.jurisdiction-panel h2 { margin-top: 18px; }
.jurisdiction-panel > p { color: var(--mist); margin-top: 16px; }
.jurisdiction-panel ul { list-style: none; margin-top: 28px; }
.jurisdiction-panel li { padding: 12px 0 12px 24px; border-top: 1px solid var(--hairline); color: var(--parchment-soft); font-size: 0.86rem; position: relative; }
.jurisdiction-panel li::before { content: "→"; position: absolute; left: 0; color: var(--rose); }

.deliverables-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(9,19,31,0.16); border: 1px solid rgba(9,19,31,0.16); }
.deliverable { background: var(--parchment); padding: clamp(30px, 4vw, 48px); min-height: 280px; }
.deliverable span { color: var(--oxblood); font-size: 0.67rem; font-weight: 700; letter-spacing: 0.15em; }
.deliverable h3 { color: var(--ink-950); margin-top: 24px; font-size: 1.75rem; }
.deliverable p { color: #4c5b69; margin-top: 14px; font-size: 0.87rem; }

.risk-spectrum { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; }
.risk-spectrum article { padding: 30px; border: 1px solid var(--hairline); border-right: 0; }
.risk-spectrum article:last-child { border-right: 1px solid var(--hairline); }
.risk-spectrum strong { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.6rem; }
.risk-spectrum p { color: var(--mist); font-size: 0.84rem; margin-top: 8px; }
.risk-low strong { color: #b8c9ae; }
.risk-medium strong { color: var(--accent-gold-text); }
.risk-high strong { color: var(--rose-soft); }

.source-note { font-size: 0.76rem; color: var(--mist); border-left: 2px solid var(--rose); padding-left: 18px; }
.source-note a { color: var(--rose-soft); }

/* Footer becomes a sober institutional close. */
.site-footer { background: #07101a; border-top: 1px solid var(--hairline-strong); }
.footer-grid { grid-template-columns: 1.35fr 0.8fr 0.8fr; gap: 70px; }
.site-footer .footer-heading { font-size: 1.42rem; }
.site-footer a { font-family: "Aptos", "Segoe UI", Arial, sans-serif; font-size: 0.78rem; }

/* Branded recovery route */
.not-found-section { min-height: calc(100vh - 82px); display: grid; align-items: center; }
.not-found-inner { max-width: 900px; margin-inline: auto; text-align: center; }
.not-found-inner h1 { max-width: 14ch; margin-inline: auto; }
.not-found-inner .lead { max-width: 58ch; margin: 1.5rem auto 0; color: var(--mist); }
.not-found-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem; margin-top: 2rem; }
@media (max-width: 600px) {
  .not-found-actions { display: grid; }
  .not-found-actions .btn { width: 100%; }
}
.footer-disclaimer { border-color: var(--hairline); }
.book-float, .top-float { border-radius: 0; box-shadow: none; }
.wa-float,
.wa-float:hover,
.wa-float:focus-visible {
  border-radius: 50%;
  clip-path: circle(50% at 50% 50%);
}

@media (max-width: 1200px) {
  .header-inner { height: 70px; }
  .main-nav { top: 70px; background: rgba(9,19,31,0.99); }
  .main-nav a.nav-link { font-size: 0.78rem; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience-value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .experience-value-card { min-height: 420px; padding: clamp(28px, 3.2vw, 38px); }
  .experience-value-card .matter-value { font-size: clamp(1.9rem, 3.6vw, 2.65rem); }
  .experience-value-card h3 { font-size: clamp(1.35rem, 2.1vw, 1.7rem); }
  .experience-value-card p:not(.matter-meta) { font-size: 0.88rem; }
}

@media (max-width: 850px) {
  .experience-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience-value-card { min-height: 400px; padding: 34px; }
  .experience-value-card .matter-value { font-size: clamp(2rem, 5.2vw, 2.8rem); }
  .experience-value-card h3 { font-size: clamp(1.45rem, 3vw, 1.85rem); }
  .experience-value-card p:not(.matter-meta) { font-size: 0.91rem; }
}

@media (max-width: 980px) {
  .institutional-hero { min-height: auto; }
  .institutional-hero-grid,
  .section-heading-row,
  .insight-strip,
  .compliance-intro-grid { grid-template-columns: 1fr; gap: 46px; }
  .evidence-grid { grid-template-columns: repeat(2, 1fr); }
  .evidence-intro { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid rgba(9,19,31,0.16); }
  .evidence-item:nth-child(odd) { border-right: 0; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-panel { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(9,19,31,0.18); }
  .audience-panel:last-child { border-bottom: 0; }
  .matter-showcase { grid-template-columns: 1fr; }
  .matter-lead { min-height: 440px; }
  .jurisdiction-split { grid-template-columns: 1fr; }
  .channel-grid { grid-template-columns: repeat(2, 1fr); }
  .channel-item:nth-child(4n) { border-right: 1px solid var(--hairline); }
  .channel-item:nth-child(even) { border-right: 0; }
  .channel-item:nth-child(odd) { padding-left: 0; }
  .channel-item:nth-child(even) { padding-left: 26px; }
  .deliverables-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .page-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(2.05rem, 8.8vw, 2.7rem); }
  h2 { font-size: clamp(1.65rem, 7vw, 2.2rem); }
  section { padding: 62px 0; }
  .institutional-hero { padding: 88px 0 48px; }
  .institutional-hero-grid { gap: 38px; }
  .hero-statement-long { font-size: clamp(2rem, 8.1vw, 2.52rem); line-height: 1.1; }
  .hero-actions .btn { width: 100%; text-align: center; }
  .experience-value-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 0 0 10px;
    border: 0;
    background: transparent;
    scroll-padding-inline: 1px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .experience-value-card {
    flex: 0 0 min(84vw, 350px);
    min-height: 470px;
    padding: 34px 30px;
    border: 1px solid var(--hairline);
    scroll-snap-align: start;
  }
  .experience-value-card .matter-value { font-size: clamp(2.1rem, 10vw, 3rem); }
  .evidence-item { padding: 25px 21px; }
  .capability-row { grid-template-columns: 34px 1fr auto; gap: 14px; padding: 24px 0; }
  .capability-row p { display: none; }
  .capability-row h3 { font-size: 1.55rem; }
  .matter-lead { min-height: 390px; }
  .matter-stack article { min-height: 300px; }
  .engagement-band .engagement-inner { grid-template-columns: 1fr; gap: 30px; }
  .engagement-band .btn { width: 100%; text-align: center; }
  .page-head { padding: 132px 0 62px; }
  .page-head h1 { font-size: clamp(2rem, 8.4vw, 2.55rem); }
  .page-head p:not(.eyebrow) { font-size: 0.98rem; }
  .page-directory { margin-top: 27px; padding-top: 20px; }
  .page-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-directory-link {
    min-height: 78px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 13px 11px;
  }
  .page-directory-label { font-size: 0.98rem; }
  .page-directory-note { display: none; }
  .portfolio-practice-index {
    margin-inline: calc(clamp(22px, 4vw, 64px) * -1);
    padding-inline: clamp(22px, 4vw, 64px);
    scroll-padding-inline: clamp(22px, 4vw, 64px);
  }
  .team-grid { grid-template-columns: 1fr; }
  .channel-grid, .deliverables-grid, .risk-spectrum { grid-template-columns: 1fr; }
  .channel-item,
  .channel-item:nth-child(4n),
  .channel-item:nth-child(even),
  .channel-item:nth-child(odd) { padding: 24px 0; border-right: 0; }
  .risk-spectrum article, .risk-spectrum article:last-child { border-right: 1px solid var(--hairline); border-bottom: 0; }
  .risk-spectrum article:last-child { border-bottom: 1px solid var(--hairline); }
  .footer-grid { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 430px) {
  .brand-sub { display: none; }
  .brand-name { font-size: 1.13rem; }
  .brand-logo { width: 39px; height: 39px; }
  .evidence-item span { font-size: 0.67rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-side-link span:last-child { transition: none; }
}

@media (pointer: coarse) {
  .site-footer a { min-height: 40px; display: flex; align-items: center; }
  .search-btn, .nav-toggle, .accordion-trigger, .team-bio-toggle, .wire-load-more { min-height: 44px; }
}
/* CSP-SAFE GENERATED UTILITIES: START */
.u-0079b52d { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.u-08608a25 { color:var(--cta-text); margin-top:8px; }
.u-09a5de31 { max-width:820px; }
.u-0ddf068b { overflow-x:auto; }
.u-137cee62 { margin-top:56px; }
.u-1e8f47ba { font-size:0.85rem; }
.u-2407d296 { font-size:0.92rem; max-width:380px; }
.u-28813dbe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.u-2a1b75c9 { display:block; }
.u-2fbbbcd4 { margin-top:30px; }
.u-3c6f5e4b { color:var(--text-primary); }
.u-3d7ffbba { font-size:0.82rem; text-align:center; }
.u-3f367c00 { align-items:stretch; }
.u-3f7efa5f { max-width:800px; }
.u-474a305d { font-size:0.82rem; }
.u-54f2b717 { font-size:0.92rem; margin-top:10px; }
.u-6ce60ba5 { font-size:0.88rem; max-width:430px; }
.u-6edc86be { border-color: var(--cta-text); }
.u-713a44da { font-size:0.82rem;margin-top:14px; }
.u-71e17938 { max-width:760px; }
.u-765d57b5 { max-width:560px; }
.u-7cf9e7d2 { padding:8px 0 8px 26px; position:relative; border-bottom:1px solid var(--bg-divider); }
.u-7d66bb3c { font-size:1.5rem;font-weight:700;color: var(--cta-text);letter-spacing:1px;margin-bottom:4px; }
.u-87c136df { margin-bottom:16px; }
.u-8d005b70 { color:var(--cta); }
.u-97e7b9e9 { font-size:0.85rem; margin-top:16px; }
.u-a66f410a { grid-column: 1 / -1; }
.u-b28f1d0f { font-size:0.95rem; }
.u-b60a1ffa { width:26%; }
.u-b6bdb7f4 { color: var(--cta-text); text-decoration:none; }
.u-ba1aab40 { font-size:2rem; }
.u-bc702987 { padding: 16px 20px; background: var(--bg-card); border-left: 3px solid var(--cta); border-radius: 0 8px 8px 0; }
.u-c1854980 { font-size:0.88rem;max-width:430px; }
.u-c1f68469 { list-style:none; margin-top:12px; }
.u-c79bb030 { display:flex; gap:12px; flex-wrap:wrap; }
.u-ca7d58a4 { grid-column:1/-1; text-align:center; padding:20px; }
.u-d1828dac { max-width:840px; }
.u-dfb21652 { align-items:start; }
.u-e54b401d { margin-top:12px; padding-left:20px; color:var(--text-muted); line-height:1.7; }
.u-e6c61e5e { color: var(--cta-text); }
.u-e8e5af40 { position:absolute; left:0; color: var(--cta-text); }
.u-ed75e490 { columns: 2; column-gap: 2.5rem; margin-top: 14px; }
.u-f5031708 { border-left-color: var(--cta-text); margin-bottom: 32px; }
.u-f7e45dd2 { padding:8px 0 8px 26px; position:relative; }
.u-ff0300cb { font-size:0.82rem; margin-top:14px; }
/* CSP-SAFE GENERATED UTILITIES: END */
