/* Extensions to the existing ivory, mahogany and gold design system. */
:root { --color-accent:var(--color-gold); }
.skip-link { position:fixed; top:-100px; left:16px; z-index:11000; background:var(--color-surface); padding:16px; }
.skip-link:focus { top:12px; }
.header-logo { min-width:230px; }
.header-inner { gap:var(--space-4); }
.nav-links { gap:var(--space-5); }
.nav-links a { font-size:var(--text-xs); }
.theme-toggle { min-width:44px; min-height:44px; }
.fade-in { opacity:1 !important; animation:none !important; }
.hero { min-height:660px; }
.hero h1 { max-width:850px; font-size:clamp(2.5rem,4.5vw,4.75rem); }
.hero-content { max-width:880px; }
.hero-label { letter-spacing:.16em; }
.hero-logo { display:none; }
.hero-description { max-width:670px; }
.hero-stats { max-width:750px; gap:var(--space-8); }
.hero-stat-number { font-size:var(--text-lg); font-family:var(--font-body); }
.practice-focus { padding-block:clamp(64px,7vw,112px); background:var(--color-surface); }
.focus-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-16); align-items:start; }
.focus-grid h2, .page-heading h1 { font-family:var(--font-display); font-size:var(--text-2xl); font-weight:400; margin-block:var(--space-4) var(--space-6); }
.focus-grid p { color:var(--color-text-muted); margin-bottom:var(--space-6); }
.focus-list { border-top:1px solid var(--color-border); }
.focus-list article { padding-block:var(--space-5); border-bottom:1px solid var(--color-border); }
.focus-list h3 { font-size:var(--text-base); margin-bottom:var(--space-2); }
.focus-list p { font-size:var(--text-sm); margin:0; }
.text-link { display:inline-flex; align-items:center; min-height:44px; gap:var(--space-2); color:var(--color-gold); font-weight:600; font-size:var(--text-sm); text-decoration:none; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.editorial-list { display:grid; grid-template-columns:1fr 1fr; gap:0 var(--space-12); }
.editorial-card { padding-block:var(--space-8); border-top:1px solid var(--color-border); }
.editorial-card h3 { font-family:var(--font-display); font-size:var(--text-xl); font-weight:400; margin-block:var(--space-3) var(--space-4); }
.editorial-card p { color:var(--color-text-muted); font-size:var(--text-sm); margin-bottom:var(--space-4); }
.editorial-meta { font-size:var(--text-xs); color:var(--color-gold); letter-spacing:.08em; text-transform:uppercase; }
.editorial-card.featured { grid-row:span 2; padding-right:var(--space-8); }
.editorial-card.featured h3 { font-size:var(--text-2xl); }
.news-list { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8) var(--space-12); }
.news-item { padding-top:var(--space-6); border-top:1px solid var(--color-border); }
.news-item h3 { font-size:var(--text-lg); font-family:var(--font-body); line-height:1.4; margin-block:var(--space-3); }
.news-item p { color:var(--color-text-muted); font-size:var(--text-sm); }
.section-note { color:var(--color-text-muted); font-size:var(--text-sm); margin-block:var(--space-6); }
.map-panel { margin-top:var(--space-12); border:1px solid var(--color-border); background:var(--color-surface); }
.map-head { display:flex; align-items:center; justify-content:space-between; padding:var(--space-6); flex-wrap:wrap; gap:var(--space-4); }
.map-head h3 { font-family:var(--font-display); font-size:var(--text-xl); font-weight:400; }
.map-head p { font-size:var(--text-sm); color:var(--color-text-muted); }
.map-stage { min-height:310px; display:grid; place-content:center; text-align:center; padding:var(--space-8); background:var(--color-surface-2); }
.map-stage p { max-width:55ch; font-size:var(--text-sm); color:var(--color-text-muted); margin:var(--space-4) auto; }
.map-stage iframe { width:100%; height:360px; border:0; }
.map-stage.loaded { padding:0; display:block; }
.map-actions { display:flex; flex-wrap:wrap; gap:var(--space-4); align-items:center; }
.copy-status { font-size:var(--text-xs); color:var(--color-gold); }
.page-heading { padding-block:var(--space-16); border-bottom:1px solid var(--color-border); }
.page-heading p { max-width:65ch; color:var(--color-text-muted); }
.page-main { padding-top:100px; }
.matter-index { display:grid; grid-template-columns:230px 1fr; gap:var(--space-12); padding-block:var(--space-16); }
.matter-index aside { color:var(--color-text-muted); font-size:var(--text-sm); }
.case-entry { padding-bottom:var(--space-10); margin-bottom:var(--space-10); border-bottom:1px solid var(--color-border); }
.case-entry h2 { font:400 var(--text-xl)/1.3 var(--font-display); margin-block:var(--space-3) var(--space-5); }
.case-entry p { margin-bottom:var(--space-4); font-size:var(--text-base); color:var(--color-text-muted); }
.case-entry .case-role { color:var(--color-text); }
.case-entry details { margin-top:var(--space-4); }
.case-entry summary { cursor:pointer; color:var(--color-gold); padding-block:var(--space-3); }
.case-entry blockquote { padding:var(--space-5); background:var(--color-surface-2); font-size:var(--text-sm); margin-block:var(--space-3); }
.publication-tools { max-width:800px; margin:0 auto var(--space-8); display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; }
.publication-tools input { flex:1 1 260px; min-height:48px; border:1px solid var(--color-border); background:var(--color-surface); padding:var(--space-3); }
.filter-btn { min-height:44px; padding:var(--space-2) var(--space-4); border:1px solid var(--color-border); }
.filter-btn[aria-pressed=true] { background:var(--color-text); color:var(--color-bg); }
[hidden] { display:none !important; }
.kb-meta { color:var(--color-text-muted) !important; }
.empty-results { max-width:800px; margin:auto; padding:var(--space-8); background:var(--color-surface); }
.publication-count { max-width:800px; margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.lifecycle { padding-block:var(--space-16); }
.matter-index aside h2 { font:400 var(--text-lg)/1.4 var(--font-display); margin-block:var(--space-4); }
.matter-index aside p { margin-bottom:var(--space-5); }
.case-entry a:not(.text-link),.news-item a:not(.text-link),.editorial-card p a { text-decoration:underline; text-underline-offset:3px; }
.case-entry .case-citation { font-size:var(--text-sm); }
.secondary-theme { font-size:24px; flex-shrink:0; }
.mobile-nav { z-index:200; padding:64px 24px 24px; gap:var(--space-4); overflow-y:auto; }
.mobile-nav a { min-height:40px; font-size:var(--text-lg); }
.nav-toggle { min-width:44px; min-height:44px; }
.header-inner nav { margin-left:auto; }
.bci-overlay:not(.dismissed) ~ .skip-link { visibility:hidden; }
.bci-overlay { z-index:12000; }
html { scroll-padding-top:100px; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
.bci-modal { outline:none; }
.article-prose a { overflow-wrap:anywhere; }
@media(max-width:1100px) { .nav-links { gap:var(--space-3); } .header-logo { min-width:200px; } }
@media(max-width:960px) { .nav-links,.header-inner nav { display:none; } .nav-toggle { display:flex; order:3; } .secondary-theme { order:2; } .header-logo { min-width:0; margin-right:auto; } .header-inner { gap:8px; } }
@media(max-width:700px) {
  .focus-grid,.editorial-list,.news-list,.matter-index { grid-template-columns:1fr; gap:var(--space-6); }
  .hero { min-height:600px; }
  .hero h1 { font-size:clamp(2.3rem,9vw,3.3rem); }
  .hero-stats { flex-wrap:wrap; gap:var(--space-6); }
  .editorial-card.featured { padding-right:0; }
  .page-heading { padding-block:var(--space-10); }
  .map-head { padding:var(--space-5); }
  .map-stage { padding:var(--space-5); }
  .contact-detail-text a { overflow-wrap:anywhere; }
  .bci-modal { padding:var(--space-5); }
}
