:root{
  --navy-1000:#04111d;
  --navy-950:#071827;
  --navy-900:#0b2238;
  --navy-850:#10304c;
  --navy-800:#153f60;
  --blue-700:#17678f;
  --blue-600:#2582ad;
  --blue-100:#e9f4f9;
  --red-700:#a12d38;
  --red-600:#ba3b46;
  --red-100:#fbeaec;
  --gold-700:#9b6f1a;
  --gold-500:#c99a3d;
  --gold-200:#f0ddb0;
  --cream:#f7f3ea;
  --paper:#ffffff;
  --ink:#14212e;
  --muted:#607181;
  --muted-2:#81909d;
  --line:#d7e0e7;
  --line-dark:#bccbd6;
  --positive:#176a43;
  --positive-bg:#e7f5ed;
  --negative:#a2383f;
  --negative-bg:#faeaeb;
  --shadow-sm:0 8px 24px rgba(4,17,29,.07);
  --shadow-md:0 18px 48px rgba(4,17,29,.12);
  --shadow-lg:0 28px 72px rgba(4,17,29,.16);
  --radius-sm:12px;
  --radius:19px;
  --radius-lg:28px;
  --max:1280px;
  --header-height:80px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 8%,rgba(201,154,61,.08),transparent 24rem),
    linear-gradient(180deg,#faf8f3 0%,var(--cream) 100%);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;
  line-height:1.62;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:linear-gradient(rgba(11,34,56,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,34,56,.035) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg,#000,transparent 70%);
}
a{color:var(--blue-700);text-underline-offset:3px}
a:hover{color:var(--navy-900)}
button,input,select{font:inherit}
button{cursor:pointer}
img,svg{max-width:100%}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:auto;background:#fff;color:#000;padding:12px 16px;z-index:2000;border-radius:8px}
.skip-link:focus{left:12px;top:12px}
.shell{width:min(var(--max),calc(100% - 42px));margin-inline:auto}
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(4,17,29,.965);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.header-shell{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;min-width:max-content}
.brand-mark{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.24);border-radius:15px;overflow:hidden;background:linear-gradient(180deg,#133b5a 0 50%,#fff 50% 75%,#b53542 75%)}
.brand-mark::after{content:"★";color:#fff;font-size:22px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.brand-copy{display:flex;flex-direction:column;line-height:1.14}
.brand-copy strong{font-size:20px;letter-spacing:-.015em}
.brand-copy small{margin-top:4px;color:#adc2d2;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.primary-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.primary-nav a{color:#dce8f0;text-decoration:none;font-size:15px;font-weight:760;padding:10px 11px;border-radius:10px}
.primary-nav a:hover,.primary-nav a:focus,.primary-nav a[aria-current="page"]{background:rgba(255,255,255,.105);color:#fff}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:10px;padding:9px 12px;font-weight:800}
.hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(4,17,29,.98),rgba(15,58,88,.96)),
    linear-gradient(90deg,var(--navy-950),var(--navy-800));
  border-bottom:6px solid var(--gold-500);
}
.hero::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-120px;
  top:-170px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:46% 54% 48% 52%;
  transform:rotate(18deg);
  box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018);
}
.hero::after{
  content:"★";
  position:absolute;
  right:8%;
  bottom:-96px;
  color:rgba(255,255,255,.045);
  font-size:310px;
  line-height:1;
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:42px;align-items:center;padding:72px 0 66px}
.eyebrow,.kicker{margin:0 0 9px;color:#a9cadc;font-size:13px;font-weight:850;letter-spacing:.145em;text-transform:uppercase}
h1{margin:0;color:#fff;font-size:clamp(48px,7vw,82px);line-height:.99;letter-spacing:-.048em}
.hero-tagline{margin:16px 0 10px;color:var(--gold-200);font-size:clamp(22px,2.7vw,29px);font-weight:780}
.hero-description{max-width:780px;margin:0;color:#d4e3ec;font-size:18px}
.hero-metric{position:relative;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.16);padding:28px;border-radius:var(--radius-lg);box-shadow:0 24px 55px rgba(0,0,0,.2)}
.hero-metric::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;background:linear-gradient(var(--gold-500),var(--red-600));border-radius:0 4px 4px 0}
.metric-label{display:block;color:#bad0de;font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.hero-metric strong{display:block;margin:12px 0 8px;color:#fff;font-size:clamp(36px,4.8vw,57px);line-height:1.02;letter-spacing:-.04em}
.metric-detail{display:block;color:var(--gold-200);font-weight:760}
.search-band{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(11,34,56,.07)}
.search-shell{padding:22px 0}
.search-shell label{display:block;margin-bottom:8px;color:var(--navy-850);font-size:14px;font-weight:830}
.search-wrap{position:relative}
#global-search{width:100%;border:2px solid #b9cad6;background:#fff;border-radius:15px;padding:16px 52px 16px 18px;color:var(--ink);font-size:18px;outline:none}
#global-search:focus{border-color:var(--blue-700);box-shadow:0 0 0 4px rgba(23,103,143,.13)}
.search-icon{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:22px;pointer-events:none}
.search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:500px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-lg);z-index:100}
.search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 16px;color:var(--ink);text-decoration:none;border-bottom:1px solid #edf1f4}
.search-result:last-child{border-bottom:0}
.search-result:hover,.search-result:focus,.search-result.is-active{background:var(--blue-100)}
.search-result-title{display:block;color:var(--navy-900);font-size:17px;font-weight:830}
.search-result-detail{color:var(--muted);font-size:14px}
.search-result-value{color:var(--navy-800);font-size:16px;font-weight:830;white-space:nowrap}
.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:14px}
.breadcrumbs a{font-weight:760;text-decoration:none}
.app-shell{position:relative;z-index:2;min-height:640px;padding:46px 0 76px}
.loading-card,.error-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-md)}
.error-card{border-left:5px solid var(--red-600)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:23px}
.section-head h2,.profile-head h2{margin:0;color:var(--navy-900);font-size:clamp(31px,4vw,47px);line-height:1.08;letter-spacing:-.03em}
.section-head p{max-width:820px;margin:7px 0 0;color:var(--muted)}
.section-actions{display:flex;gap:10px;flex-wrap:wrap}
.button,.button-secondary,.button-quiet{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:12px;padding:10px 15px;font-size:15px;font-weight:820;text-decoration:none;border:1px solid transparent}
.button{background:var(--navy-850);color:#fff}
.button:hover{background:var(--navy-950);color:#fff}
.button-secondary{background:#fff;color:var(--navy-850);border-color:var(--line-dark)}
.button-secondary:hover{background:var(--blue-100);color:var(--navy-950)}
.button-quiet{background:transparent;color:var(--blue-700);padding-inline:8px}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}
.metric-card{position:relative;overflow:hidden;min-height:154px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:var(--shadow-sm)}
.metric-card::after{content:"";position:absolute;right:-24px;bottom:-34px;width:90px;height:90px;border:14px solid rgba(23,103,143,.045);border-radius:50%}
.metric-card .label{display:block;margin-bottom:9px;color:var(--muted);font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.metric-card .value{display:block;color:var(--navy-900);font-size:clamp(26px,3.1vw,39px);font-weight:880;line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
.metric-card .value.text-value{font-size:22px;line-height:1.22}
.metric-card .detail{display:block;margin-top:10px;color:var(--muted);font-size:14px}
.positive{color:var(--positive)!important}
.negative{color:var(--negative)!important}
.neutral{color:var(--muted)!important}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}
.panel-grid.wide-left{grid-template-columns:1.28fr .72fr}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow-sm)}
.panel + .panel{margin-top:0}
.panel h3{margin:0 0 4px;color:var(--navy-900);font-size:24px;line-height:1.22}
.panel h4{margin:22px 0 7px;color:var(--navy-850);font-size:19px}
.panel-sub{margin:0 0 18px;color:var(--muted);font-size:14px}
.panel-note{margin-top:14px;color:var(--muted);font-size:14px}
.rank-list{display:grid;gap:0}
.rank-row{display:grid;grid-template-columns:47px minmax(0,1fr) minmax(100px,auto);gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f4}
.rank-row:last-child{border-bottom:0}
.rank-no{color:var(--gold-700);font-size:18px;font-weight:880}
.rank-name{display:inline;color:var(--ink);font-weight:820;text-decoration:none}
.rank-name:hover{text-decoration:underline}
.rank-meta{margin-top:2px;color:var(--muted);font-size:13px}
.rank-value{text-align:right;color:var(--navy-800);font-weight:840}
.bar-list{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto);gap:14px;align-items:center}
.bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:14px}
.bar-label a{color:var(--ink);font-weight:790;text-decoration:none}
.bar-label a:hover{text-decoration:underline}
.bar-track{height:9px;background:#edf2f5;border-radius:999px;overflow:hidden}
.bar-fill{height:100%;min-width:2px;background:linear-gradient(90deg,var(--blue-700),var(--gold-500));border-radius:999px}
.bar-value{color:var(--navy-800);font-weight:830;text-align:right}
.profile-head{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;margin-bottom:20px;box-shadow:var(--shadow-md)}
.profile-head::after{content:"";position:absolute;right:-55px;top:-75px;width:220px;height:220px;border:30px solid rgba(201,154,61,.075);border-radius:50%}
.profile-title-line{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.profile-badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;background:var(--blue-100);color:var(--navy-850);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.profile-rank{position:relative;z-index:2;color:var(--gold-700);font-size:19px;font-weight:850;white-space:nowrap}
.profile-summary{position:relative;z-index:2;max-width:960px;margin:13px 0 0;color:var(--muted);font-size:18px}
.story-callout{margin:20px 0;background:linear-gradient(120deg,var(--navy-900),var(--navy-800));color:#fff;border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm)}
.story-callout strong{color:var(--gold-200)}
.story-callout p{margin:0}
.trend-chart{display:block;width:100%;height:auto;margin-top:12px;background:linear-gradient(180deg,#fbfdff,#f4f8fb);border:1px solid #e3ebf0;border-radius:14px}
.chart-grid{stroke:#dce6ec;stroke-width:1}
.chart-axis{fill:#687987;font-size:11px}
.chart-line{fill:none;stroke:var(--blue-700);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.chart-area{fill:rgba(23,103,143,.09)}
.chart-dot{fill:var(--gold-500);stroke:#fff;stroke-width:2}
.chart-line.series-1{stroke:var(--blue-700)}
.chart-line.series-2{stroke:var(--red-600)}
.chart-line.series-3{stroke:var(--gold-700)}
.chart-dot.series-1{fill:var(--blue-700)}
.chart-dot.series-2{fill:var(--red-600)}
.chart-dot.series-3{fill:var(--gold-700)}
.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:14px}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.legend-dot.series-1{background:var(--blue-700)}
.legend-dot.series-2{background:var(--red-600)}
.legend-dot.series-3{background:var(--gold-700)}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
table{width:100%;min-width:760px;border-collapse:collapse}
th,td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e7edf1}
th{position:sticky;top:0;background:#f2f7fa;color:var(--navy-850);font-size:13px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
td{font-size:16px}
tr:last-child td{border-bottom:0}
.entity-toolbar,.ranking-toolbar,.compare-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:20px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px}
.field{display:grid;gap:6px;min-width:210px;flex:1}
.field.compact{min-width:180px;max-width:300px}
.field label{color:var(--navy-850);font-size:13px;font-weight:830}
.field input,.field select{width:100%;min-height:46px;border:1px solid var(--line-dark);border-radius:11px;background:#fff;color:var(--ink);padding:10px 12px;outline:none}
.field input:focus,.field select:focus{border-color:var(--blue-700);box-shadow:0 0 0 3px rgba(23,103,143,.12)}
.entity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.entity-card{position:relative;display:block;min-height:165px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.entity-card:hover{transform:translateY(-2px);border-color:#9db7c8;box-shadow:var(--shadow-md)}
.entity-card strong{display:block;margin-bottom:7px;color:var(--navy-900);font-size:18px;line-height:1.3}
.entity-card span{display:block;color:var(--muted);font-size:14px}
.entity-card .entity-value{margin-top:12px;color:var(--blue-700);font-size:21px;font-weight:860}
.entity-card .entity-rank{position:absolute;right:14px;top:13px;color:var(--gold-700);font-size:13px;font-weight:850}
.directory-count{margin:0 0 14px;color:var(--muted);font-size:14px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tab-button{border:1px solid var(--line-dark);border-radius:999px;background:#fff;color:var(--navy-850);padding:8px 14px;font-size:14px;font-weight:820}
.tab-button[aria-selected="true"]{background:var(--navy-850);color:#fff;border-color:var(--navy-850)}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}
.compare-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow-sm)}
.compare-card h3{margin:0 0 3px;color:var(--navy-900);font-size:22px}
.compare-card .compare-rank{color:var(--gold-700);font-weight:830}
.compare-stat{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf1f4}
.compare-stat:last-child{border-bottom:0}
.compare-stat span:first-child{color:var(--muted);font-size:14px}
.compare-stat strong{text-align:right;color:var(--navy-850)}
.method-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:20px}
.notice{margin:19px 0;background:#fff6d9;border:1px solid #e5c66b;border-radius:14px;padding:18px}
.notice strong{color:#654b0d}
.warning-note{margin:19px 0;background:var(--red-100);border:1px solid #e8b7bc;border-radius:14px;padding:18px}
.warning-note strong{color:var(--red-700)}
.data-links{display:grid;gap:9px}
.data-links a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f4;text-decoration:none;font-weight:760}
.data-links a:last-child{border-bottom:0}
.data-links small{color:var(--muted);font-weight:600}
.empty{color:var(--muted);font-style:italic}
.site-footer{position:relative;background:var(--navy-1000);color:#c1d1dc;border-top:6px solid var(--gold-500);padding:48px 0 22px}
.site-footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 45%)}
.footer-grid{position:relative;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:40px}
.footer-title{display:block;margin-bottom:10px;color:#fff;font-size:18px}
.site-footer p{margin:0 0 12px}
.site-footer a{color:var(--gold-200)}
.footer-links{display:grid;gap:9px}
.footer-links a{text-decoration:none;font-weight:760}
.footer-links a:hover{color:#fff;text-decoration:underline}
.source-link{font-weight:760}
.footer-fine{color:#99adba;font-size:14px}
.footer-bottom{position:relative;display:flex;justify-content:space-between;gap:20px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#8fa5b3;font-size:14px}
.print-only{display:none}
@media (max-width:1080px){
  .primary-nav{gap:1px}
  .primary-nav a{padding-inline:8px}
  .hero-grid{grid-template-columns:1fr;padding:54px 0}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entity-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .header-shell{min-height:70px}
  .menu-toggle{display:inline-flex}
  .primary-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:var(--navy-950);padding:12px 20px 18px;border-top:1px solid rgba(255,255,255,.09)}
  .primary-nav.is-open{display:flex}
  .primary-nav a{padding:11px 12px}
  .panel-grid,.panel-grid.wide-left,.method-grid{grid-template-columns:1fr}
  .compare-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .shell{width:min(var(--max),calc(100% - 24px))}
  body{font-size:17px}
  .brand-copy small{display:none}
  .hero-grid{padding:42px 0}
  h1{font-size:48px}
  .hero-tagline{font-size:21px}
  .card-grid,.entity-list,.footer-grid{grid-template-columns:1fr}
  .metric-card{min-height:auto}
  .panel,.profile-head{padding:18px}
  .profile-title-line,.section-head,.footer-bottom{align-items:flex-start;flex-direction:column}
  .profile-rank{white-space:normal}
  .search-result{grid-template-columns:1fr}
  .search-result-value{text-align:left}
  .rank-row{grid-template-columns:42px minmax(0,1fr)}
  .rank-value{grid-column:2;text-align:left}
  .bar-row{grid-template-columns:1fr}
  .bar-value{text-align:left}
}
@media print{
  body{background:#fff;color:#000}
  body::before,.site-header,.search-band,.site-footer,.section-actions,.entity-toolbar,.ranking-toolbar,.compare-toolbar,.button,.button-secondary{display:none!important}
  .hero{background:#fff!important;color:#000;border-bottom:2px solid #000}
  .hero h1,.hero-description,.hero-tagline{color:#000}
  .hero-metric{border:1px solid #777;box-shadow:none}
  .hero-metric strong,.metric-label,.metric-detail{color:#000}
  .app-shell{padding:20px 0}
  .panel,.profile-head,.metric-card{box-shadow:none;break-inside:avoid}
  .print-only{display:block}
  a{color:#000;text-decoration:none}
}