:root{--paper:#f7f3eb;--paper-strong:#fcfaf4;--ink:#08232b;--ink-soft:#455a5c;--navy:#003647;--navy-deep:#001f2e;--sea:#28746c;--sea-soft:#c1dfd6;--vermilion:#c2542e;--vermilion-soft:#f9d5c7;--ochre:#ca9740;--line:#b8c8c7;--line-strong:#819b9b;--white:#fdfcf9;--shadow:0 18px 60px #091d2517;--z-drawer:40;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--content:min(1560px, calc(100vw - 64px));--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-display:"Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif}@supports (color:lab(0% 0 0)){:root{--paper:lab(95.9957% .138789 4.59346);--paper-strong:lab(98.2977% .082463 3.05564);--ink:lab(12.021% -8.16807 -8.29519);--ink-soft:lab(36.4333% -7.85923 -4.19316);--navy:lab(20.1779% -13.2643 -17.9159);--navy-deep:lab(10.1569% -9.20354 -17.8177);--sea:lab(44.0619% -25.8452 -2.64871);--sea-soft:lab(86.5338% -11.9085 1.05108);--vermilion:lab(50.0741% 43.1758 43.7198);--vermilion-soft:lab(88.1228% 11.5309 11.8165);--ochre:lab(66.364% 13.3639 52.162);--line:lab(79.3259% -5.99966 -1.24165);--line-strong:lab(62.0413% -9.78819 -3.01918);--white:lab(99.0911% .0365376 1.52472);--shadow:0 18px 60px lab(9.63837% -6.30796 -7.81226/.09)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:linear-gradient(to right, transparent calc(50% - 1px), #cddbd973 50%, transparent calc(50% + 1px)), var(--paper);color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.65}@supports (color:lab(0% 0 0)){body{background:linear-gradient(to right, transparent calc(50% - 1px), lab(86.2516% -4.99752 -1.03574/.45) 50%, transparent calc(50% + 1px)), var(--paper)}}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid color-mix(in oklch, var(--ochre) 72%, transparent);outline-offset:3px}a{color:inherit;text-decoration:none}::selection{color:var(--white);background:var(--vermilion)}.site-header{color:#e6f1ef;color:lab(94.3446% -4.04939 -.435805);background:var(--navy-deep);border-bottom:6px solid var(--vermilion)}.header-topline,.header-main,.header-meta,.overview,.map-section,.filter-section,.directory-section,.method-section,footer{width:var(--content);margin-inline:auto}.header-topline{color:#95b5b3;color:lab(71.3999% -11.6924 -2.40229);letter-spacing:.17em;border-bottom:1px solid #63817f73;border-bottom:1px solid lab(51.6796% -11.7073 -2.39584/.45);justify-content:space-between;align-items:center;min-height:44px;font-size:11px;font-weight:600;display:flex}.header-topline nav{align-items:center;gap:var(--space-xl);color:#d2e2df;color:lab(88.6169% -6.08042 -.652599);letter-spacing:.06em;display:flex}.header-topline a{transition:color .18s,transform .18s}.header-topline a:hover{color:var(--ochre);transform:translateY(-1px)}.header-main{min-height:420px;padding-block:clamp(var(--space-4xl), 6vw, 96px)}.hero-copy{z-index:1;align-items:end;column-gap:clamp(var(--space-3xl), 7vw, 112px);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.25fr) minmax(320px,.6fr);min-width:0;display:grid;position:relative}.hero-kicker{margin-bottom:var(--space-xl);align-items:center;gap:var(--space-lg);grid-column:1/-1;display:flex}.city-seal{aspect-ratio:1;color:#ffe0d5;color:lab(91.6195% 10.5039 10.0589);background:var(--vermilion);width:56px;box-shadow:inset 0 0 0 4px var(--vermilion), inset 0 0 0 5px #ffe4dab3;font-family:var(--font-display);letter-spacing:.05em;border:1px solid #d7ac9d8c;border:1px solid lab(74.1117% 14.633 14.011/.55);flex:0 0 56px;place-items:center;font-size:18px;display:grid;transform:rotate(-2deg)}@supports (color:lab(0% 0 0)){.city-seal{box-shadow:inset 0 0 0 4px var(--vermilion), inset 0 0 0 5px lab(92.7635% 11.5176 11.8046/.7)}}.eyebrow,.section-number{margin:0 0 var(--space-md);color:var(--vermilion);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}.site-header .eyebrow{color:var(--ochre);margin:0}.header-main h1{max-width:none;color:var(--white);font-family:var(--font-display);letter-spacing:-.035em;white-space:nowrap;grid-area:2/1;margin:0;font-size:clamp(4.5rem,7vw,7.5rem);font-weight:400;line-height:.98}.hero-subtitle{margin:var(--space-lg) 0 0;color:#d0e3e0;color:lab(88.6409% -6.75806 -.724804);letter-spacing:.04em;grid-area:3/1;font-size:clamp(1.25rem,1.75vw,1.75rem);font-weight:500;line-height:1.35}.hero-subtitle i{color:var(--ochre);padding-inline:.18em;font-style:normal}.header-intro{color:#a9c0be;color:lab(75.9258% -8.34018 -1.7211);grid-area:2/2;align-self:end;max-width:38ch;margin:0;font-size:1rem;line-height:1.8}.hero-actions{margin-top:var(--space-xl);align-items:center;gap:var(--space-lg);grid-area:3/2;display:flex}.hero-actions a{min-height:44px;padding:0 var(--space-lg);justify-content:center;align-items:center;gap:var(--space-xl);color:#d8e9e6;color:lab(90.9369% -6.08003 -.652671);border:1px solid #698785;border:1px solid lab(53.9997% -11.7051 -2.39677);font-size:.8125rem;font-weight:700;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:inline-flex}.hero-actions a:hover{color:var(--navy-deep);background:var(--ochre);border-color:var(--ochre);transform:translateY(-2px)}.hero-actions .hero-primary-action{color:var(--white);background:var(--vermilion);border-color:var(--vermilion)}.hero-primary-action span{font-size:1rem}.header-meta{align-items:center;gap:var(--space-xl);min-height:58px;padding-block:var(--space-sm);color:#9fb7b5;color:lab(72.4572% -8.67578 -1.78902);border-top:1px solid #63817f73;border-top:1px solid lab(51.6796% -11.7073 -2.39584/.45);grid-template-columns:auto auto auto 1fr;font-size:12px;display:grid}.header-meta>span+span{padding-left:var(--space-xl);border-left:1px solid #63817f73;border-left:1px solid lab(51.6796% -11.7073 -2.39584/.45)}.download-links{justify-content:flex-end;gap:var(--space-sm);display:flex}.download-links a{color:var(--white);border:1px solid #80a09d99;border:1px solid lab(63.2798% -11.6976 -2.40002/.6);padding:7px 11px;font-weight:600;transition:color .18s,background-color .18s,border-color .18s}.download-links a:hover{color:var(--navy-deep);background:var(--ochre);border-color:var(--ochre)}.overview{background:var(--paper-strong);border-inline:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.2fr repeat(5,1fr);margin-top:-1px;display:grid}.stat-button{min-height:100px;padding:var(--space-lg) var(--space-xl);border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;justify-content:space-between;align-items:flex-start;transition:color .18s,background-color .18s;display:flex}.stat-button:last-child{border-right:0}.stat-button span{color:var(--ink-soft);font-size:12px;font-weight:600}.stat-button strong{color:var(--navy);font-family:var(--font-display);font-size:34px;font-weight:400;line-height:1}.stat-button:hover,.stat-button.is-active{color:var(--white);background:var(--vermilion)}.stat-button:hover span,.stat-button:hover strong,.stat-button.is-active span,.stat-button.is-active strong{color:inherit}.map-section{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(280px,.68fr) minmax(520px,1.55fr);gap:clamp(40px,6vw,96px);padding-block:clamp(72px,9vw,132px);display:grid}.map-copy{align-self:center}.map-copy h2,.filter-heading h2,.directory-header h2,.method-section h2{color:var(--navy-deep);font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.12}.map-copy>p{max-width:34ch;margin:var(--space-xl) 0 var(--space-2xl);color:var(--ink-soft);font-size:15px}.map-special-zones{gap:var(--space-sm);display:grid}.map-special-zones button{align-items:center;gap:var(--space-md);min-height:64px;padding:var(--space-md) var(--space-lg);border:1px solid var(--line-strong);cursor:pointer;text-align:left;background:0 0;grid-template-columns:62px minmax(0,1fr) auto;transition:background-color .18s,color .18s,transform .18s;display:grid}.map-special-zones button:hover,.map-special-zones button.is-active{color:var(--white);background:var(--navy);transform:translate(4px)}.map-special-zones span{color:var(--ink-soft);letter-spacing:.06em;font-size:10px}.map-special-zones button:hover span,.map-special-zones button.is-active span{color:#afcbc8;color:lab(79.4629% -10.0127 -2.06325)}.map-special-zones strong{font-size:13px}.map-special-zones b{color:var(--vermilion);font-family:var(--font-display);font-size:27px;font-weight:400}.map-special-zones button:hover b,.map-special-zones button.is-active b{color:var(--ochre)}.map-stage{min-width:0}.map-canvas{background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), color-mix(in oklch, var(--paper-strong) 84%, var(--sea-soft));border:1px solid var(--line-strong);background-size:32px 32px;width:100%;height:clamp(460px,51vw,710px)}.district-keyboard-filter{border-inline:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(5,1fr);display:grid}.district-keyboard-filter button{min-height:42px;padding:var(--space-sm) var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--paper-strong);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;font-size:11px;display:flex}.district-keyboard-filter button:nth-child(5n){border-right:0}.district-keyboard-filter button:hover,.district-keyboard-filter button.is-active{color:var(--white);background:var(--navy)}.district-keyboard-filter span{color:var(--vermilion);font-weight:700}.district-keyboard-filter button:hover span,.district-keyboard-filter button.is-active span{color:var(--ochre)}.map-disclaimer{margin:var(--space-md) 0 0;color:var(--ink-soft);font-size:10px}.filter-section{--filter-chip-height:28px;--filter-control-height:36px;border-bottom:1px solid var(--line-strong);padding-block:clamp(72px,8vw,112px)}.filter-heading,.directory-header{justify-content:space-between;align-items:flex-end;gap:var(--space-2xl);margin-bottom:var(--space-xl);display:flex}.filter-heading h2,.directory-header h2{font-size:clamp(32px,3.4vw,48px)}.filter-heading-actions{align-items:center;gap:var(--space-lg);color:var(--ink-soft);font-size:12px;display:flex}.filter-heading-actions button{color:var(--vermilion);border:1px solid var(--vermilion);cursor:pointer;background:0 0;padding:8px 12px;font-weight:600}.filter-heading-actions button:disabled{opacity:.35;cursor:not-allowed}.primary-filters{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(300px,1.4fr) minmax(420px,2fr) repeat(3,minmax(130px,.65fr));display:grid}.primary-filters>label,.primary-filters>fieldset{min-width:0;min-height:76px;padding:var(--space-sm) var(--space-lg);border:0;border-right:1px solid var(--line);margin:0}.primary-filters>:last-child{border-right:0}.primary-filters label>span,.primary-filters legend,.advanced-grid label>span,.advanced-grid legend{color:var(--ink-soft);letter-spacing:.08em;padding:0;font-size:10px;font-weight:700;display:block}.search-field{position:relative}.search-field input,.primary-filters select,.advanced-grid select{width:100%;height:var(--filter-control-height);margin-top:var(--space-xs);color:var(--navy-deep);border:0;border-bottom:1px solid var(--line-strong);appearance:auto;background:0 0;border-radius:0;padding:0 28px 0 0;font-size:13px}.search-field input::placeholder{color:#778786;color:lab(54.9531% -5.87094 -1.81751)}.search-field kbd{right:var(--space-lg);color:var(--ink-soft);font-family:var(--font-body);font-size:9px;position:absolute;bottom:16px}.identity-filter>div,.completeness-filter>div,.segment-filter>div{gap:var(--space-xs);flex-wrap:wrap;margin-top:6px;display:flex}.identity-filter button,.completeness-filter button,.segment-filter button,.taxonomy-group button{min-height:var(--filter-chip-height);background:var(--paper-strong);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:3px 9px;font-size:11px;transition:background-color .16s,color .16s,transform .16s}.identity-filter button:hover,.identity-filter button.is-active,.completeness-filter button:hover,.completeness-filter button.is-active,.segment-filter button:hover,.segment-filter button.is-active,.taxonomy-group button:hover,.taxonomy-group button.is-active{color:var(--white);background:var(--navy);transform:translateY(-1px)}.taxonomy-filters{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.taxonomy-group{min-width:0;padding:var(--space-lg);border:0;border-right:1px solid var(--line);margin:0}.taxonomy-group:last-child{border-right:0}.taxonomy-group legend{justify-content:space-between;align-items:baseline;gap:var(--space-lg);width:100%;color:var(--navy-deep);padding:0;font-size:12px;font-weight:700;display:flex}.taxonomy-group legend small{color:var(--ink-soft);font-size:9px;font-weight:500}.taxonomy-chip-grid{margin-top:var(--space-sm);flex-wrap:wrap;gap:5px;display:flex}.taxonomy-group button,.segment-filter button{align-items:center;gap:7px;display:inline-flex}.taxonomy-group button b,.segment-filter button b{color:var(--vermilion);font-size:9px}.taxonomy-group button:hover b,.taxonomy-group button.is-active b,.segment-filter button:hover b,.segment-filter button.is-active b{color:var(--ochre)}.pharma-filter{background:color-mix(in oklch, var(--sea-soft) 24%, var(--paper))}.pharma-filter button.is-active{background:var(--vermilion);border-color:var(--vermilion)}.advanced-filters{border-bottom:1px solid var(--line-strong)}.advanced-title{width:100%;min-height:40px;padding:0 var(--space-lg);color:var(--navy);background:0 0;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.advanced-title small{color:var(--ink-soft);letter-spacing:.03em;font-size:10px;font-weight:500}.advanced-body{display:block}.advanced-body>div{overflow:visible}.advanced-grid{gap:var(--space-lg);padding:var(--space-lg) var(--space-lg) var(--space-xl);background:color-mix(in oklch, var(--sea-soft) 38%, var(--paper));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.advanced-grid fieldset{border:0;margin:0;padding:0}.segment-filter{grid-column:1/-1;padding-top:var(--space-md)!important;border-top:1px solid var(--line)!important}.segment-filter legend{align-items:baseline;gap:var(--space-md);width:100%;display:flex}.segment-filter legend small{color:var(--ink-soft);font-size:9px;font-weight:500}.segment-filter>div{max-height:128px;padding-right:var(--space-sm);scrollbar-color:var(--line-strong) transparent;overflow:auto}.directory-section{padding-block:clamp(72px,8vw,120px)}.directory-header p{margin:var(--space-sm) 0 0;color:var(--ink-soft);font-size:12px}.export-button{min-height:42px;padding:0 var(--space-lg);color:var(--white);background:var(--navy);border:1px solid var(--navy);cursor:pointer;font-weight:600;transition:background-color .18s,color .18s,transform .18s}.export-button:hover{color:var(--navy-deep);background:var(--ochre);transform:translateY(-2px)}.export-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.directory-grid{grid-template-columns:minmax(0,1.34fr) minmax(360px,.66fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.detail-drawer{display:contents}.detail-drawer-backdrop,.mobile-detail-close,.mobile-drawer-grip{display:none}.company-list{border-top:2px solid var(--navy);min-width:0}.list-column-head{min-height:42px;padding-inline:var(--space-lg);color:var(--ink-soft);border-bottom:1px solid var(--line-strong);letter-spacing:.08em;grid-template-columns:minmax(0,1.65fr) minmax(180px,.7fr);align-items:center;font-size:10px;font-weight:700;display:grid}.list-column-head span:last-child{text-align:right}.company-row{width:100%;min-height:91px;padding:var(--space-lg);align-items:center;gap:var(--space-xl);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,1.65fr) minmax(180px,.7fr);transition:background-color .16s,transform .16s;display:grid}.company-row:hover{background:color-mix(in oklch, var(--sea-soft) 48%, var(--paper))}.company-row.is-selected{color:var(--white);background:var(--navy-deep)}.company-main{gap:var(--space-sm);min-width:0;display:grid}.company-name{color:var(--navy-deep);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.25;overflow:hidden}.company-row.is-selected .company-name{color:var(--white)}.badge-row{flex-wrap:wrap;gap:5px;display:flex}.identity-badge{letter-spacing:.02em;border:1px solid;border-radius:999px;align-items:center;min-height:22px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.2;display:inline-flex}.industry-badge,.pharma-badge{min-height:22px;color:var(--navy);background:color-mix(in oklch, var(--sea-soft) 45%, transparent);border:1px solid color-mix(in oklch, var(--sea) 48%, var(--line));border-radius:999px;align-items:center;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.2;display:inline-flex}.pharma-badge{color:var(--vermilion);background:color-mix(in oklch, var(--vermilion-soft) 58%, transparent);border-color:color-mix(in oklch, var(--vermilion) 48%, var(--line))}.company-row.is-selected .industry-badge,.company-row.is-selected .pharma-badge{color:#e1d3b3;color:lab(85.0998% 1.01864 17.6233);background:0 0;border-color:#83a3a0;border-color:lab(64.4398% -11.6968 -2.40037)}.badge-a{color:#00637d;color:lab(37.8508% -23.6401 -25.6228)}.badge-hk{color:#b04b2b;color:lab(45.494% 40.6424 39.7267)}.badge-national{color:#976100;color:lab(46.4089% 18.6468 57.3813)}.badge-provincial{color:#006755;color:lab(38.5236% -31.7787 2.74216)}.company-row.is-selected .identity-badge{color:#e1d3b3;color:lab(85.0998% 1.01864 17.6233);border-color:#83a3a0;border-color:lab(64.4398% -11.6968 -2.40037)}.company-meta{gap:4px var(--space-sm);text-align:right;grid-template-columns:minmax(0,1fr) 22px;min-width:0;display:grid}.company-meta strong,.company-meta small{text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.company-meta strong{color:var(--vermilion);font-size:11px}.company-meta small{color:var(--ink-soft);font-size:10px}.company-meta>span{color:var(--line-strong);grid-area:1/2/3;align-self:center;font-size:20px;transition:transform .18s}.company-row:hover .company-meta>span{transform:translate(3px)}.company-row.is-selected .company-meta strong{color:var(--ochre)}.company-row.is-selected .company-meta small,.company-row.is-selected .company-meta>span{color:#9cb8b5;color:lab(72.5029% -10.0154 -2.06206)}.pagination{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;min-height:62px;display:flex}.pagination button,.detail-nav button{border:1px solid var(--line-strong);cursor:pointer;background:0 0;min-height:34px;padding:0 12px;font-size:11px;font-weight:600}.pagination button:hover:not(:disabled),.detail-nav button:hover:not(:disabled){color:var(--white);background:var(--navy);border-color:var(--navy)}.pagination button:disabled,.detail-nav button:disabled{opacity:.35;cursor:not-allowed}.pagination span{color:var(--ink-soft);font-size:11px}.detail-panel{color:#dbecea;color:lab(92.0859% -5.99828 -1.24232);background:var(--navy-deep);max-height:calc(100vh - 40px);box-shadow:var(--shadow);scrollbar-color:oklch(52% .04 190) transparent;position:sticky;top:20px;overflow:auto}.detail-toolbar{z-index:2;min-height:52px;padding:var(--space-sm) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-lg);background:color-mix(in oklch, var(--navy-deep) 94%, var(--sea));border-bottom:1px solid #476462;border-bottom:1px solid lab(40.0794% -11.7214 -2.39);display:flex;position:sticky;top:0}.detail-index{color:#88adaa;color:lab(67.9768% -13.3738 -2.74066);letter-spacing:.08em;font-size:10px;font-weight:700}.detail-nav{gap:6px;display:flex}.detail-nav button{color:#d1e2e0;color:lab(88.6059% -5.99864 -1.24214);border-color:#4e716e;border-color:lab(44.7764% -13.4011 -2.72933)}.detail-heading{padding:var(--space-2xl) var(--space-xl) var(--space-xl);border-bottom:1px solid #476462;border-bottom:1px solid lab(40.0794% -11.7214 -2.39)}.detail-heading>p{margin:0 0 var(--space-sm);color:var(--ochre);letter-spacing:.1em;font-size:10px}.detail-heading h2{margin:0 0 var(--space-lg);color:var(--white);font-family:var(--font-display);font-size:34px;font-weight:400;line-height:1.2}.detail-panel .identity-badge{color:#e4d6b6;color:lab(86.2602% 1.01131 17.6165);border-color:#658885;border-color:lab(54.0566% -13.3879 -2.73472)}.fact-grid{border-bottom:1px solid #476462;border-bottom:1px solid lab(40.0794% -11.7214 -2.39);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.fact-grid>div{min-height:88px;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid #476462;border-bottom:1px solid lab(40.0794% -11.7214 -2.39);border-right:1px solid #476462;border-right:1px solid lab(40.0794% -11.7214 -2.39)}.fact-grid>div:nth-child(2n){border-right:0}.fact-grid>div:nth-last-child(-n+2){border-bottom:0}.fact-grid dt,.identity-record dt,.company-profile dt{color:#7d9d9a;color:lab(62.1198% -11.6984 -2.39965);letter-spacing:.06em;font-size:9px;font-weight:700}.fact-grid dd{color:var(--white);margin:5px 0 0;font-size:13px}.classification-confidence{border:1px solid;border-radius:999px;justify-content:center;align-items:center;min-width:34px;min-height:22px;padding-inline:8px;font-size:10px;font-weight:700;display:inline-flex}.confidence-high{color:#86ccac;color:lab(76.7772% -28.3783 8.74413)}.confidence-medium{color:var(--ochre)}.confidence-low{color:#df8c6f;color:lab(66.7241% 30.2899 29.4603)}.empty-value{color:#768b89;color:lab(56.2057% -8.34683 -1.71808)}.pharma-profile{background:color-mix(in oklch, var(--navy) 72%, var(--navy-deep))}.pharma-tag-list{flex-wrap:wrap;gap:6px;display:flex}.pharma-tag-list span{color:#f4e2c3;color:lab(90.8414% 2.58279 17.4495);border:1px solid #a58e6c;border:1px solid lab(60.6173% 5.26291 21.529);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.pharma-profile p{margin:var(--space-lg) 0 var(--space-sm);color:#a7c1be;color:lab(75.9601% -9.34419 -1.92617);font-size:11px}.pharma-profile a{color:var(--ochre);text-underline-offset:3px;font-size:10px;text-decoration:underline}.pharma-profile small{color:#7c9593;color:lab(59.72% -9.35075 -1.92322);font-size:9px}.detail-section{padding:var(--space-xl);border-bottom:1px solid #476462;border-bottom:1px solid lab(40.0794% -11.7214 -2.39)}.section-kicker{margin-bottom:var(--space-lg);color:var(--ochre);letter-spacing:.1em;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.section-kicker b{width:24px;height:24px;color:var(--navy-deep);background:var(--ochre);border-radius:50%;place-items:center;font-size:10px;display:grid}.identity-records{gap:var(--space-lg);display:grid}.identity-record{padding-bottom:var(--space-lg);border-bottom:1px solid #425b59;border-bottom:1px solid lab(36.5424% -10.0409 -2.05105)}.identity-record:last-child{border-bottom:0;padding-bottom:0}.identity-record-head{justify-content:space-between;align-items:center;gap:var(--space-md);color:#80a09d;color:lab(63.2798% -11.6976 -2.40002);font-size:10px;display:flex}.identity-record h3{margin:var(--space-md) 0;color:var(--white);font-family:var(--font-display);font-size:21px;font-weight:400;line-height:1.35}.identity-record dl,.company-profile dl{gap:var(--space-sm);margin:0 0 var(--space-md);display:grid}.identity-record dl>div,.company-profile dl>div{gap:var(--space-md);grid-template-columns:62px minmax(0,1fr);display:grid}.identity-record dd,.company-profile dd{color:#b3c9c7;color:lab(79.3944% -8.00485 -1.65304);margin:0;font-size:11px}.identity-record a,.company-profile a{color:var(--ochre);text-underline-offset:3px;font-size:10px;-webkit-text-decoration:underline #ca974073;text-decoration:underline #ca974073;-webkit-text-decoration:underline lab(66.364% 13.3639 52.162/.45);text-decoration:underline lab(66.364% 13.3639 52.162/.45)}.company-note{margin:var(--space-lg) 0 0;padding:var(--space-md);color:#b9ccca;color:lab(80.5087% -6.66752 -1.37901);background:#003647;background:lab(20.1651% -11.8386 -15.4422);border:1px solid #476462;border:1px solid lab(40.0794% -11.7214 -2.39);font-size:11px}.detail-empty{min-height:440px;padding:var(--space-3xl)}.detail-empty h2{margin:var(--space-lg) 0;color:var(--white);font-family:var(--font-display);font-size:38px;font-weight:400}.detail-empty p{color:#90aba9;color:lab(67.8629% -10.0174 -2.06114);max-width:30ch}.empty-results{align-content:center;place-items:start;gap:var(--space-md);min-height:400px;padding:var(--space-3xl);background:var(--paper-strong);border-bottom:1px solid var(--line-strong);display:grid}.empty-results span{color:var(--vermilion);letter-spacing:.1em;font-size:10px;font-weight:700}.empty-results h3{color:var(--navy-deep);font-family:var(--font-display);margin:0;font-size:34px;font-weight:400}.empty-results p{color:var(--ink-soft);margin:0}.empty-results button{margin-top:var(--space-sm);color:var(--white);background:var(--navy);cursor:pointer;border:0;padding:9px 14px}.method-section{border-top:1px solid var(--line-strong);grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(48px,8vw,128px);padding-block:clamp(80px,9vw,140px);display:grid}.method-section>div:first-child{align-self:start;position:sticky;top:24px}.method-section>div:first-child>p{max-width:42ch;margin:var(--space-xl) 0 0;color:var(--ink-soft)}.reconciliation-list{border-top:2px solid var(--navy);display:grid}.reconciliation-list article{gap:var(--space-xl);padding-block:var(--space-xl);border-bottom:1px solid var(--line);grid-template-columns:150px minmax(200px,.75fr) minmax(280px,1.25fr);display:grid}.reconciliation-list span{color:var(--vermilion);font-size:11px;font-weight:700}.reconciliation-list h3{color:var(--navy-deep);font-family:var(--font-display);margin:0;font-size:22px;font-weight:400;line-height:1.45}.reconciliation-list p{color:var(--ink-soft);margin:0;font-size:12px}.source-register{border-bottom:1px solid var(--line-strong);grid-column:2}.classification-register{margin-top:calc(var(--space-md) * -1)}.source-register summary{min-height:62px;padding-inline:var(--space-lg);color:var(--navy);border-top:1px solid var(--line-strong);cursor:pointer;justify-content:space-between;align-items:center;font-weight:700;list-style:none;display:flex}.source-register summary::-webkit-details-marker{display:none}.source-register summary span{font-family:var(--font-display);font-size:26px;font-weight:400;transition:transform .22s}.source-register[open] summary span{transform:rotate(45deg)}.source-register>div{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.source-register a{min-height:116px;padding:var(--space-lg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:4px;transition:color .18s,background-color .18s;display:grid}.source-register a:nth-child(2n){border-right:0}.source-register a:hover{color:var(--white);background:var(--navy)}.source-register a>span{color:var(--vermilion);font-size:10px;font-weight:700}.source-register a:hover>span{color:var(--ochre)}.source-register strong{font-size:12px}.source-register small{color:var(--ink-soft);font-size:10px}.source-register a:hover small{color:#a4bdbb;color:lab(74.8001% -9.34461 -1.92598)}footer{min-height:96px;padding-block:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-xl);color:var(--ink-soft);border-top:1px solid var(--line-strong);font-size:10px;display:flex}.loading-state,.fatal-state{align-content:center;place-items:center;gap:var(--space-xl);min-height:100vh;padding:var(--space-2xl);background:var(--paper);text-align:center;display:grid}.loading-mark{aspect-ratio:1;width:96px;color:var(--white);background:var(--vermilion);font-family:var(--font-display);place-items:center;font-size:34px;animation:1.6s cubic-bezier(.22,1,.36,1) infinite alternate loading-pulse;display:grid}.loading-state p,.fatal-state p{color:var(--ink-soft)}.fatal-state>span{color:var(--vermilion);letter-spacing:.1em;font-size:11px;font-weight:700}.fatal-state h1{color:var(--navy-deep);font-family:var(--font-display);margin:0;font-size:42px;font-weight:400}@keyframes loading-pulse{0%{opacity:.65;transform:scale(.96)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(1deg)}}@media (max-width:1240px){:root{--content:min(100% - 40px, 1180px)}.overview{grid-template-columns:repeat(3,1fr)}.stat-button:nth-child(3){border-right:0}.stat-button:nth-child(-n+3){border-bottom:1px solid var(--line)}.primary-filters{grid-template-columns:minmax(280px,1fr) minmax(400px,1.5fr) repeat(3,minmax(120px,.55fr))}.directory-grid{gap:var(--space-2xl);grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}}@media (max-width:980px){:root{--content:min(100% - 32px, 860px)}.header-main{min-height:auto;padding-block:var(--space-3xl)}.hero-copy{max-width:720px;display:block}.header-intro{margin-top:var(--space-xl)}.header-meta{grid-template-columns:repeat(3,1fr)}.download-links{padding-block:var(--space-sm);grid-column:1/-1;justify-content:flex-start}.map-section,.method-section{grid-template-columns:1fr}.map-copy>p{max-width:60ch}.map-special-zones{grid-template-columns:repeat(3,minmax(0,1fr))}.primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.taxonomy-filters{grid-template-columns:1fr}.taxonomy-group{border-right:0;border-bottom:1px solid var(--line)}.taxonomy-group:last-child{border-bottom:0}.primary-filters>label,.primary-filters>fieldset{border-bottom:1px solid var(--line)}.primary-filters>:nth-child(2n){border-right:0}.identity-filter{min-height:84px}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid{grid-template-columns:1fr}.detail-panel{max-height:none;position:relative;top:auto}.method-section>div:first-child{position:relative;top:auto}.source-register{grid-column:1}}@media (max-width:680px){:root{--content:min(100% - 24px, 620px)}body{font-size:13px}.filter-section{--filter-chip-height:34px;--filter-control-height:40px}.header-topline{min-height:38px}.header-topline>span{letter-spacing:.1em;font-size:9px}.header-topline nav{gap:var(--space-md);font-size:10px}.header-main{min-height:auto;padding-block:var(--space-2xl) var(--space-3xl)}.hero-kicker{margin-bottom:var(--space-lg);gap:var(--space-md)}.city-seal{flex-basis:50px;width:50px;font-size:16px}.header-main h1{max-width:none;font-size:2.5rem}.hero-subtitle{letter-spacing:.02em;font-size:1.125rem}.header-intro{line-height:1.72}.hero-actions{margin-top:var(--space-xl);flex-wrap:wrap}.header-meta{grid-template-columns:1fr;gap:0}.header-meta>span{padding-block:var(--space-sm)}.header-meta>span+span{border-top:1px solid #63817f59;border-top:1px solid lab(51.6796% -11.7073 -2.39584/.35);border-left:0;padding-left:0}.overview{grid-template-columns:repeat(2,1fr)}.stat-button{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:84px}.stat-button:nth-child(2n){border-right:0}.map-section,.filter-section,.directory-section,.method-section{padding-block:var(--space-4xl)}.map-special-zones,.primary-filters,.advanced-grid,.taxonomy-filters{grid-template-columns:1fr}.taxonomy-group legend{flex-direction:column;align-items:flex-start;gap:2px}.map-canvas{height:450px}.district-keyboard-filter{grid-template-columns:repeat(2,1fr)}.district-keyboard-filter button:nth-child(5n){border-right:1px solid var(--line)}.district-keyboard-filter button:nth-child(2n){border-right:0}.filter-heading,.directory-header{flex-direction:column;align-items:flex-start}.primary-filters>label,.primary-filters>fieldset{border-right:0;min-height:76px}.company-row,.list-column-head{grid-template-columns:1fr}.list-column-head span:last-child{display:none}.company-meta{text-align:left}.company-meta>span{display:none}.detail-drawer{z-index:var(--z-drawer);pointer-events:none;display:block;position:fixed;inset:0}.detail-drawer.is-open{pointer-events:auto}.detail-drawer-backdrop{opacity:0;cursor:pointer;background:#000911ad;background:lab(1.99481% -1.97756 -6.4102/.68);border:0;width:100%;height:100%;padding:0;transition:opacity .22s;display:block;position:absolute;inset:0}.detail-drawer.is-open .detail-drawer-backdrop{opacity:1}.detail-drawer .detail-panel{overscroll-behavior:contain;opacity:0;visibility:hidden;width:100%;max-height:min(88dvh,760px);transition:opacity .18s,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s;position:absolute;inset:auto 0 0;overflow:auto;transform:translateY(102%);box-shadow:0 -24px 70px #0004076b;box-shadow:0 -24px 70px lab(.898584% -.904866 -4.1483/.42)}.detail-drawer.is-open .detail-panel{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.detail-toolbar{min-height:62px;padding:14px var(--space-md) var(--space-sm);gap:var(--space-sm)}.mobile-drawer-grip{background:#6e8d8b;background:lab(56.3197% -11.703 -2.39767);border-radius:999px;width:38px;height:4px;display:block;position:absolute;top:6px;left:50%;transform:translate(-50%)}.detail-nav button{min-width:50px;min-height:44px;padding-inline:var(--space-sm)}.mobile-detail-close{min-width:44px;min-height:44px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #5f827f;border:1px solid lab(51.7365% -13.3908 -2.7335);justify-content:center;align-items:center;padding-inline:10px;font-size:11px;font-weight:700;display:inline-flex}.detail-heading h2{font-size:29px}.reconciliation-list article{gap:var(--space-sm);grid-template-columns:1fr}.source-register>div{grid-template-columns:1fr}.source-register a{border-right:0}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
