/* law.crpg.info — Material Design 3 Redesign
   Clean, fast, mobile-first, light/dark mode */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@600;700&family=DM+Sans:wght@400;500;600&display=swap');

/* === TOKENS === */
:root {
  --font-heading: 'Source Serif 4', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --surface: #FAFAFA; --surface-bright: #FFFFFF; --surface-dim: #F0F0F0;
  --surface-container: #F5F5F5; --surface-container-high: #EEEEEE;
  --primary: #1B5E20; --on-primary: #FFF; --primary-container: #E8F5E9; --on-primary-container: #002E05;
  --primary-hover: #2E7D32; --primary-dark: #0A3D0F;
  --secondary: #37474F; --secondary-container: #CFD8DC;
  --indigo: #283593; --indigo-container: #C5CAE9; --on-indigo-container: #000B57;
  --amber: #E65100; --amber-container: #FFE0B2; --on-amber-container: #331400;
  --error: #B3261E; --error-container: #F9DEDC;
  --success: #2E7D32; --success-container: #C8E6C9;
  --warning: #F57C00; --warning-container: #FFF3E0;
  --text-1: #1C1B1F; --text-2: #49454F; --text-3: #79747E;
  --outline: #CAC4D0; --outline-var: #E0E0E0;
  --elevation-1: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
  --elevation-2: 0 4px 8px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);
  --elevation-3: 0 8px 24px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.08);
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-full: 9999px;
  --ease: cubic-bezier(.2,0,0,1); --dur: 200ms;
}

html.dark {
  --surface: #121212; --surface-bright: #1E1E1E; --surface-dim: #0D0D0D;
  --surface-container: #252525; --surface-container-high: #2E2E2E;
  --primary: #81C784; --on-primary: #003909; --primary-container: #1B5E20; --on-primary-container: #A5D6A7;
  --primary-hover: #A5D6A7; --primary-dark: #66BB6A;
  --secondary: #B0BEC5; --secondary-container: #37474F;
  --indigo: #9FA8DA; --indigo-container: #1A237E; --on-indigo-container: #C5CAE9;
  --amber: #FFB74D; --amber-container: #4E2700; --on-amber-container: #FFE0B2;
  --error: #F2B8B5; --error-container: #8C1D18;
  --success: #81C784; --success-container: #1B5E20;
  --warning: #FFB74D; --warning-container: #4E2700;
  --text-1: #E6E1E5; --text-2: #CAC4D0; --text-3: #938F99;
  --outline: #49454F; --outline-var: #333333;
  --elevation-1: 0 1px 3px rgba(0,0,0,.3); --elevation-2: 0 4px 8px rgba(0,0,0,.3); --elevation-3: 0 8px 24px rgba(0,0,0,.4);
}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--text-1);background:var(--surface);line-height:1.6;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
img{max-width:100%;height:auto}
a{color:var(--primary);text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{text-decoration:underline}

/* === TYPOGRAPHY === */
h1,h2,h3,.font-serif{font-family:var(--font-heading)}
h1{font-size:2rem;font-weight:700;line-height:1.2}
h2{font-size:1.5rem;font-weight:700;line-height:1.25}
h3{font-size:1.25rem;font-weight:600;line-height:1.3}
.text-sm{font-size:.875rem} .text-xs{font-size:.75rem} .text-lg{font-size:1.125rem}
.text-muted{color:var(--text-3)} .text-secondary{color:var(--text-2)}
.text-center{text-align:center}
.font-medium{font-weight:500} .font-semibold{font-weight:600} .font-bold{font-weight:700}
.uppercase{text-transform:uppercase;letter-spacing:.05em}

/* === LAYOUT === */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
@media(max-width:768px){.container{padding:0 1rem}}
.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.hidden{display:none!important}
@media(min-width:769px){.md\:flex{display:flex}.md\:block{display:block}.md\:hidden{display:none!important}}
@media(max-width:768px){.mobile-hidden{display:none!important}}
.w-full{width:100%}.min-h-screen{min-height:100vh}
.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}
.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}

/* === ELEVATION === */
.elevation-1{box-shadow:var(--elevation-1)}.elevation-2{box-shadow:var(--elevation-2)}.elevation-3{box-shadow:var(--elevation-3)}

/* === HEADER === */
.site-header{position:sticky;top:0;z-index:100;background:var(--primary-dark);transition:background var(--dur) var(--ease)}
html.dark .site-header{background:#1a1a1a;border-bottom:1px solid var(--outline-var)}
.header-inner{display:flex;align-items:center;height:56px;gap:1rem}
.header-logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.header-logo img{height:28px}
.header-logo span{color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.125rem}
html.dark .header-logo span{color:var(--primary)}

/* Header search */
.header-search{flex:1;max-width:520px;margin:0 1.5rem}
.header-search form{display:flex;align-items:center;background:rgba(255,255,255,.15);border-radius:var(--radius-full);padding:0 .75rem;transition:background var(--dur) var(--ease);height:40px}
.header-search form:focus-within{background:rgba(255,255,255,.95);box-shadow:var(--elevation-2)}
.header-search form:focus-within .search-icon-svg{color:var(--text-3)}
.header-search form:focus-within input{color:var(--text-1)}
.header-search form:focus-within input::placeholder{color:var(--text-3)}
html.dark .header-search form{background:rgba(255,255,255,.08)}
html.dark .header-search form:focus-within{background:var(--surface-bright)}
.search-icon-svg{width:18px;height:18px;color:rgba(255,255,255,.7);flex-shrink:0;margin-right:.5rem}
.header-search input{flex:1;border:none;background:none;outline:none;color:rgba(255,255,255,.95);font-size:.875rem;font-family:var(--font-body);padding:.5rem 0}
.header-search input::placeholder{color:rgba(255,255,255,.5)}
@media(max-width:768px){.header-search{display:none}}

/* Nav */
.header-nav{display:flex;align-items:center;gap:.25rem}
.header-nav a{color:rgba(255,255,255,.8);font-size:.8125rem;font-weight:500;padding:.375rem .625rem;border-radius:var(--radius-sm);transition:all var(--dur) var(--ease)}
.header-nav a:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}
html.dark .header-nav a{color:var(--text-2)}
html.dark .header-nav a:hover{color:var(--primary);background:rgba(129,199,132,.08)}
.dark-toggle{background:none;border:none;cursor:pointer;padding:.375rem;border-radius:var(--radius-sm);color:rgba(255,255,255,.7);display:flex;align-items:center;transition:all var(--dur) var(--ease)}
.dark-toggle:hover{color:#fff;background:rgba(255,255,255,.1)}
html.dark .dark-toggle{color:var(--text-3)}
html.dark .dark-toggle:hover{color:var(--primary)}
.dark-toggle .icon-sun{display:none}.dark-toggle .icon-moon{display:block}
html.dark .dark-toggle .icon-sun{display:block}
html.dark .dark-toggle .icon-moon{display:none}

/* Mobile menu */
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:.375rem;color:rgba(255,255,255,.8)}
@media(max-width:768px){.mobile-toggle{display:flex;align-items:center}.header-nav{display:none}}
.mobile-nav{display:none;background:var(--primary-dark);padding:.75rem 1.5rem 1rem}
html.dark .mobile-nav{background:#1a1a1a}
.mobile-nav.active{display:block}
.mobile-nav a{display:block;color:rgba(255,255,255,.8);padding:.625rem 0;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.08)}
html.dark .mobile-nav a{color:var(--text-2);border-color:var(--outline-var)}
.mobile-search{padding:.75rem 1.5rem;background:var(--primary-dark)}
html.dark .mobile-search{background:#1a1a1a}
.mobile-search form{display:flex;background:rgba(255,255,255,.12);border-radius:var(--radius-full);overflow:hidden}
.mobile-search input{flex:1;border:none;background:none;outline:none;color:#fff;padding:.625rem 1rem;font-size:.9rem;font-family:var(--font-body)}
.mobile-search input::placeholder{color:rgba(255,255,255,.5)}
.mobile-search button{background:var(--primary);color:#fff;border:none;padding:.625rem 1.25rem;font-weight:600;font-size:.8125rem;cursor:pointer}
@media(min-width:769px){.mobile-search{display:none}}

/* === HERO === */
.hero{background:linear-gradient(135deg,#1B5E20 0%,#2E7D32 60%,#388E3C 100%);padding:3.5rem 1.5rem 4.5rem;text-align:center;position:relative;overflow:hidden}
html.dark .hero{background:linear-gradient(135deg,#0a2e0f 0%,#1a3a1f 60%,#0d3818 100%)}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0v40M0 20h40' stroke='%23fff' stroke-width='.3' fill='none'/%3E%3C/svg%3E") repeat;opacity:.04}
.hero-logo{margin-bottom:1.25rem}.hero-logo img{height:48px}
@media(max-width:480px){.hero-logo img{height:36px}}
.hero h1{color:#fff;font-size:2.5rem;margin-bottom:.5rem;position:relative}
@media(max-width:768px){.hero h1{font-size:1.75rem}}
@media(max-width:480px){.hero h1{font-size:1.5rem}}
.hero-stats{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:2rem;position:relative}
@media(max-width:480px){.hero-stats{font-size:.8rem}}

/* Hero search */
.hero-search{max-width:580px;margin:0 auto 1.5rem;position:relative}
.hero-search form{display:flex;align-items:center;background:#fff;border-radius:var(--radius-full);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.15)}
html.dark .hero-search form{background:var(--surface-bright);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.hero-search .search-icon{display:flex;align-items:center;padding-left:1.25rem;color:var(--text-3)}
.hero-search .search-icon svg{width:20px;height:20px}
.hero-search input{flex:1;border:none;background:none;outline:none;padding:1rem .75rem;font-size:1rem;font-family:var(--font-body);color:var(--text-1)}
.hero-search input::placeholder{color:var(--text-3)}
.hero-search button{background:var(--primary);color:#fff;border:none;padding:.75rem 1.75rem;font-weight:600;font-size:.875rem;cursor:pointer;margin:.375rem;border-radius:var(--radius-full);transition:background var(--dur) var(--ease)}
html.dark .hero-search button{background:#2E7D32}
.hero-search button:hover{background:var(--primary-hover)}
@media(max-width:480px){.hero-search form{flex-direction:column;border-radius:var(--radius-lg);padding:.5rem}
.hero-search input{padding:.75rem 1rem;width:100%}
.hero-search button{width:100%;border-radius:var(--radius-md);margin:0;padding:.75rem}}

/* Quick tags */
.quick-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;position:relative}
.quick-tag{display:inline-block;background:rgba(255,255,255,.12);color:rgba(255,255,255,.9);padding:.375rem .875rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;border:1px solid rgba(255,255,255,.15);transition:all var(--dur) var(--ease)}
.quick-tag:hover{background:rgba(255,255,255,.22);text-decoration:none;transform:translateY(-1px)}

/* === STAT CARDS === */
.stats-row{margin-top:-2rem;position:relative;z-index:10;margin-bottom:2.5rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}
.stat-card{background:var(--surface-bright);border-radius:var(--radius-md);padding:1.25rem;text-align:center;box-shadow:var(--elevation-1);border-top:3px solid var(--primary);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--elevation-2)}
.stat-icon{color:var(--primary);margin-bottom:.5rem}
.stat-icon svg{width:28px;height:28px}
.stat-value{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-1)}
.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:.25rem}

/* === CARDS === */
.card{background:var(--surface-bright);border:1px solid var(--outline-var);border-radius:var(--radius-md);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
a.card{display:block;color:inherit}
a.card:hover{box-shadow:var(--elevation-2);border-color:var(--primary-container);transform:translateY(-1px);text-decoration:none}
.card-bordered-green{border-left:3px solid var(--success)}
.card-bordered-yellow{border-left:3px solid var(--warning)}
.card-bordered-red{border-left:3px solid var(--error)}
.card-bordered-indigo{border-left:3px solid var(--indigo)}
.card-bordered-amber{border-left:3px solid var(--amber)}

/* === BADGES === */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap}
.badge svg{width:12px;height:12px}
.badge-berlaku{background:var(--success-container);color:#166534}
html.dark .badge-berlaku{color:var(--success)}
.badge-diubah{background:var(--warning-container);color:#854D0E}
html.dark .badge-diubah{color:var(--warning)}
.badge-dicabut{background:var(--error-container);color:#991B1B}
html.dark .badge-dicabut{color:var(--error)}
.badge-type{background:var(--primary-container);color:var(--on-primary-container);font-weight:700}
.badge-mkri{background:var(--indigo-container);color:var(--on-indigo-container)}
.badge-ma{background:var(--amber-container);color:var(--on-amber-container)}

/* === BREADCRUMB === */
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-3);padding:.75rem 0;overflow-x:auto;white-space:nowrap}
.breadcrumb a{color:var(--primary)}.breadcrumb a:hover{text-decoration:underline}
.breadcrumb svg{width:12px;height:12px;flex-shrink:0;opacity:.5}
.breadcrumb .current{color:var(--text-1);font-weight:500}

/* === SIDEBAR / TOC === */
.sidebar{width:220px;flex-shrink:0}
@media(max-width:1024px){.sidebar{display:none}}
.sidebar-inner{position:sticky;top:72px;max-height:calc(100vh - 88px);overflow-y:auto;background:var(--surface-bright);border:1px solid var(--outline-var);border-radius:var(--radius-md);padding:1rem}
.sidebar-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-3);margin-bottom:.75rem}
.toc-link{display:block;padding:4px 8px;border-left:2px solid transparent;font-size:.8125rem;color:var(--text-2);transition:all 150ms var(--ease);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.toc-link:hover,.toc-link.active{color:var(--primary);border-left-color:var(--primary);background:var(--primary-container);text-decoration:none}
.sidebar-link{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.8125rem;color:var(--text-2);border-radius:var(--radius-sm);transition:all 150ms var(--ease)}
.sidebar-link:hover,.sidebar-link.active{color:var(--primary);background:var(--primary-container);text-decoration:none}
.sidebar-link.active{font-weight:600}

/* === LEGAL TEXT === */
.legal-text{font-size:.9375rem;line-height:1.85;color:var(--text-1)}
.legal-text .pasal-heading{font-weight:700;color:var(--primary);margin-top:1.5rem;font-size:1rem}
.legal-text .bab-heading{font-family:var(--font-heading);font-weight:700;color:var(--text-2);margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--outline-var);font-size:1rem}

/* === SEARCH PAGE === */
.search-page-bar{background:var(--surface-bright);border:2px solid var(--outline-var);border-radius:var(--radius-full);display:flex;overflow:hidden;transition:border-color var(--dur) var(--ease)}
.search-page-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,94,32,.08)}
html.dark .search-page-bar:focus-within{box-shadow:0 0 0 3px rgba(129,199,132,.08)}
.search-page-bar input{flex:1;border:none;background:none;outline:none;padding:.875rem 1.25rem;font-size:1rem;font-family:var(--font-body);color:var(--text-1)}
.search-page-bar button{background:var(--primary);color:var(--on-primary);border:none;padding:.875rem 1.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:background var(--dur) var(--ease)}
.search-page-bar button:hover{background:var(--primary-hover)}

/* Search tabs */
.search-tabs{display:flex;border-bottom:2px solid var(--outline-var);margin-bottom:1.5rem}
.search-tab{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--dur) var(--ease);cursor:pointer}
.search-tab:hover{color:var(--text-1)}
.search-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
.search-tab .count{font-size:.75rem;opacity:.6;margin-left:.375rem}

/* === PAGINATION === */
.pagination{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:2rem;flex-wrap:wrap}
.page-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--outline-var);background:var(--surface-bright);color:var(--text-1);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--dur) var(--ease)}
.page-btn:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.page-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:700}
.page-ellipsis{padding:0 .375rem;color:var(--text-3)}

/* === METADATA SIDEBAR === */
.meta-sidebar{width:240px;flex-shrink:0}
@media(max-width:1280px){.meta-sidebar{display:none}}
.meta-inner{position:sticky;top:72px;background:var(--surface-bright);border:1px solid var(--outline-var);border-radius:var(--radius-md);padding:1.25rem}
.meta-row{margin-bottom:.75rem}
.meta-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:.125rem}
.meta-value{font-size:.875rem;font-weight:500;color:var(--text-1)}

/* === SECTION HEADINGS === */
.section-title{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--text-1);margin-bottom:1.5rem}

/* === CALLOUT BOX === */
.callout{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.875rem}
.callout-amber{background:var(--amber-container);border-left:3px solid var(--amber);color:var(--on-amber-container)}
.callout-indigo{background:var(--indigo-container);border-left:3px solid var(--indigo);color:var(--on-indigo-container)}
.callout-error{background:var(--error-container);border-left:3px solid var(--error);color:#991B1B}
html.dark .callout-error{color:var(--error)}

/* === FOOTER === */
.site-footer{background:var(--primary-dark);color:rgba(255,255,255,.7);margin-top:auto}
html.dark .site-footer{background:#141414;border-top:1px solid var(--outline-var)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:2.5rem 0}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}}
.footer-brand img{height:28px;opacity:.7;margin-bottom:.75rem}
.footer-brand p{font-size:.8125rem;color:rgba(255,255,255,.5);line-height:1.6}
.footer-section h4{color:rgba(255,255,255,.9);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.footer-section a{display:block;color:rgba(255,255,255,.5);font-size:.8125rem;padding:.25rem 0;transition:color var(--dur) var(--ease)}
.footer-section a:hover{color:rgba(255,255,255,.9);text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1rem 0;text-align:center;font-size:.75rem;color:rgba(255,255,255,.3)}
html.dark .footer-bottom{border-color:var(--outline-var)}

/* === HIGHLIGHTS === */
mark{background:#FFF59D;color:#1C1B1F;padding:1px 3px;border-radius:3px}
html.dark mark{background:#5A4600;color:#FFE082}

/* === PRINT === */
@media print{.site-header,.site-footer,.sidebar,.meta-sidebar,.pagination,.hero-search,.quick-tags,.breadcrumb,.mobile-nav,.mobile-search{display:none!important}body{background:#fff;color:#000}.card{border:1px solid #ccc;box-shadow:none}a{color:#000}}

/* === SR-ONLY === */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only:focus{position:static;width:auto;height:auto;padding:.5rem 1rem;margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--primary);color:#fff;z-index:200}

/* === SCROLL-MT === */
.scroll-mt{scroll-margin-top:72px}

/* === WHITESPACE === */
.whitespace-pre-line{white-space:pre-line}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* === REDUCED MOTION === */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* === CONTEXT-AWARE LOGOS === */
/* Dark mode: show light logo, hide dark logo */
.logo-light{display:none}
html.dark .logo-dark{display:none}
html.dark .logo-light{display:inline}
/* Hero on green bg: always dark (colored) logo */
.hero .logo-dark{display:inline!important}
.hero .logo-light{display:none!important}
/* Footer: always light logo on dark bg */
.site-footer .logo-dark{display:none}
.site-footer .logo-light{display:inline}

/* === CRPG-STYLE LAW TEXT === */
.header-logo span{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}
