:root{--navy: #2E2D49;--purple-deep: #453962;--purple-muted: #716F89;--purple-medium: #857998;--lavender: #B4A6C8;--purple-light: #C4B0D9;--lavender-light: #D8D4E5;--lavender-pale: #E3E1ED;--lavender-bg: #EBE7F4;--purple-pale: #F3ECF9;--off-white: #F9F9FB;--paper: var(--off-white);--paper-deep: var(--lavender-bg);--card: #FFFFFF;--ink: var(--navy);--ink-2: var(--purple-deep);--muted: var(--purple-muted);--rule: var(--lavender-light);--rule-soft: var(--lavender-pale);--accent: var(--purple-deep);--accent-2: var(--purple-medium);--accent-soft: var(--purple-pale);--primary: var(--purple-light);--content-bg: var(--off-white);--signal: #A3154A;--ok: #1F6F52;--nodata: #CCD0D9;--map-1: #F4EEFA;--map-2: #E0D2EE;--map-3: #C7AFDE;--map-4: #A787C5;--map-5: #724A98;--map-6: #442169;--header-height: 104px;--header-gutter: clamp(12px, 2.2vw, 44px);--content-max: 1760px;--reading-max: 1240px;--page-gutter: clamp(20px, 7.2vw, 148px);--shadow: 0 4px 20px rgba(46, 45, 73, .035)}@media(max-width:980px){:root{--page-gutter: clamp(16px, 4vw, 32px);--header-height: 88px}}@media(max-width:600px){:root{--header-height: 80px}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}.primary-text{font-family:"BPG WEB 001 Caps",}.header{font-family:"BPG WEB 001 Caps";font-weight:900;padding-top:5px}.secondary-text{font-family:Arial,}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{margin-bottom:0;color:var(--ink)}a{color:inherit}button,input,select{font:inherit;color:inherit}button{touch-action:manipulation}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}img,svg{max-width:100%}.num{font-variant-numeric:tabular-nums;letter-spacing:-.035em}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:fixed;top:10px;left:-9999px;z-index:1000;padding:10px 14px;background:var(--ink);color:#fff}.skip-link:focus{left:10px}.wrap{width:min(calc(100% - (var(--page-gutter) * 2)),var(--content-max));margin-inline:auto}.violence-container{margin-left:48px;margin-right:48px}.site-container{width:calc(100% - (var(--header-gutter) * 2));margin-inline:auto}html,body{min-height:100%}body{margin:0;background:var(--paper)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:1000;flex:0 0 auto;width:100%;padding:14px 0;isolation:isolate;background:var(--content-bg)}.header-inner{position:relative;min-height:76px;display:flex;align-items:center;padding:0 clamp(20px,2vw,40px);border:1px solid rgba(46,45,73,.035);border-radius:30px;background:var(--card);box-shadow:var(--shadow)}.brand{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:clamp(18px,1.5vw,30px);overflow:hidden;color:var(--ink);text-decoration:none}.brand strong{flex:0 0 auto;font-family:"BPG WEB 001 Caps";font-size:clamp(1.65rem,1.8vw,2.25rem);font-weight:900;line-height:1;letter-spacing:-.035em;white-space:nowrap}.brand-divider{flex:0 0 auto;width:1px;height:38px;background:var(--rule)}.brand-tagline{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--muted);font-size:clamp(.95rem,1.3vw,1.55rem);font-weight:500;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}.header-actions{flex:0 0 auto;margin-inline-start:24px;display:flex;align-items:center;gap:18px}.current-page-label{flex:0 1 auto;min-width:0;font-family:"BPG WEB 001 Caps";max-width:280px;padding:10px 22px;overflow:hidden;border-radius:999px;background:var(--lavender-bg);color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.menu-button{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .18s ease,transform .18s ease}.menu-button:hover{background:var(--lavender-bg)}.menu-button:active{transform:scale(.95)}.menu-icon{width:28px;display:flex;flex-direction:column;gap:6px}.menu-icon span{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.site-header.is-menu-open .menu-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.site-header.is-menu-open .menu-icon span:nth-child(2){opacity:0}.site-header.is-menu-open .menu-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.main-navigation{position:absolute;top:calc(100% + 10px);right:12px;width:min(330px,calc(100vw - (var(--header-gutter) * 2)));display:flex;flex-direction:column;padding:10px;border:1px solid var(--rule-soft);border-radius:20px;background:var(--card);box-shadow:0 14px 40px #2e2d491f;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.site-header.is-menu-open .main-navigation{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.main-navigation a{position:relative;display:flex;align-items:center;min-height:50px;padding:11px 14px;border-radius:12px;color:var(--ink-2);font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .16s ease,color .16s ease}.main-navigation a:hover,.main-navigation a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.main-navigation a[aria-current=page]{padding-right:42px;font-weight:800}.main-navigation a[aria-current=page]:after{content:"✓";position:absolute;right:16px;color:var(--accent);font-size:.9rem}.page-content{flex:1 1 auto;min-width:0;min-height:calc(100vh - var(--header-height))}.route-loading,.route-error{width:min(calc(100% - (var(--page-gutter) * 2)),var(--content-max));margin-inline:auto;padding:70px 0}.route-error p{max-width:60ch;color:var(--muted)}.section-intro{padding:46px 0 0;border-bottom:1px solid var(--rule);background:var(--paper-deep)}.section-intro h1{margin-top:8px;font-size:clamp(2rem,4vw,3.3rem);font-weight:900}.eyebrow,.section-kicker{margin:0;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.subnav{display:flex;gap:4px;margin-top:28px;overflow-x:auto;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav a{flex:none;padding:12px 15px;border-radius:4px 4px 0 0;color:var(--ink-2);font-size:.88rem;text-decoration:none;white-space:nowrap}.subnav a:hover{background:var(--accent-soft)}.subnav a[aria-current=page]{background:var(--paper);color:var(--accent);font-weight:700;box-shadow:inset 0 -3px var(--accent)}@media(max-width:1200px){.brand{gap:18px}.brand-tagline{font-size:.95rem}.header-actions{margin-inline-start:18px;gap:12px}}@media(max-width:1000px){.brand-tagline,.brand-divider{display:none}.header-actions{margin-inline-start:auto}}@media(max-width:980px){.site-header{padding:10px 0}.header-inner{min-height:68px;border-radius:24px}}@media(max-width:600px){.site-header{padding:8px 0}.header-inner{min-height:64px;padding:0 12px 0 18px;border-radius:22px}.brand{flex:0 0 auto}.brand strong{font-size:1.4rem}.header-actions{flex:0 1 auto;min-width:0;gap:6px}.current-page-label{max-width:150px;padding:9px 12px;font-size:.78rem}.main-navigation{right:0}}@media(max-width:380px){.header-inner{padding-inline:12px}.brand strong{font-size:1.25rem}.current-page-label{max-width:112px;padding-inline:10px}.menu-icon{width:24px}}@media(prefers-reduced-motion:reduce){.menu-button,.menu-icon span,.main-navigation,.main-navigation a{transition:none}}
