/* Self hosted Manrope so the page needs no third party request. */
@font-face {
  font-family:"Manrope";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("/assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"Manrope";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("/assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* VissVienā UI kit
   Light theme only. Mobile first and accessible.
*/
:root {
  color-scheme: light;
  --primary: #078C91;
  --primary-dark: #064A60;
  --accent: #13C6D3;
  --accent-soft: #E8F9F7;
  --bg: #F6FBFA;
  --surface: #FFFFFF;
  --text: #073B4A;
  --muted: #60767A;
  --border: #DCEAE7;
  --success: #15803D;
  --warning: #B45309;
  --danger: #B42318;

  --font-sans: "Manrope", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Manrope", var(--font-sans);
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --container: 1200px;
  --content: 760px;
  --header-h: 72px;

  --radius-xs: 8px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;

  --shadow-xs: 0 1px 2px rgba(16,24,40,.05);
  --shadow-sm: 0 8px 24px rgba(16,24,40,.06);
  --shadow-md: 0 18px 50px rgba(16,24,40,.09);

  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 20px;
  --s6: 24px;
  --s8: 32px;
  --s10: 40px;
  --s12: 48px;
  --s16: 64px;
  --s20: 80px;
  --s24: 96px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--bg);
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { display:block; max-width:100%; }
button, input, select, textarea { font:inherit; }
a { color:inherit; text-decoration-thickness:.08em; text-underline-offset:.18em; }
button, a { -webkit-tap-highlight-color: transparent; }

.container {
  width: min(calc(100% - 36px), var(--container));
  margin-inline: auto;
}

.content { width:min(100%, var(--content)); }

.skip-link {
  position:absolute;
  left:16px;
  top:-80px;
  z-index:999;
  background:var(--text);
  color:white;
  padding:10px 14px;
  border-radius:10px;
}
.skip-link:focus { top:16px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--header-h);
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(0,0,0,.06);
  backdrop-filter: blur(12px);
}

.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand-logo {
  width:auto;
  height:42px;
  object-fit:contain;
}

.nav {
  display:flex;
  align-items:center;
  gap:6px;
}

.nav a {
  padding:10px 12px;
  border-radius:10px;
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  font-weight:650;
}
.nav a:hover { color:var(--text); background:var(--bg); }

.mobile-toggle {
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:12px;
  background:white;
  color:var(--text);
}

.hero {
  padding: clamp(64px, 8vw, 112px) 0 clamp(56px, 7vw, 96px);
}

.hero--center { text-align:center; }
.hero--center .hero__copy { margin-inline:auto; }

.hero__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.hero h1 {
  max-width: 900px;
  margin:0 0 20px;
  font-family:var(--font-heading);
  font-size:clamp(40px, 6vw, 70px);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:780;
}

.hero p {
  max-width:720px;
  margin:0 0 28px;
  color:var(--muted);
  font-size:clamp(17px, 2vw, 20px);
}

.actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.button {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 19px;
  border-radius:12px;
  border:1px solid transparent;
  background:var(--primary);
  color:white;
  font-weight:750;
  font-size:15px;
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.button:hover { background:var(--primary-dark); box-shadow:var(--shadow-xs); }
.button:active { transform:translateY(1px); }
.button--secondary {
  background:white;
  color:var(--text);
  border-color:var(--border);
}
.button--secondary:hover { background:var(--bg); }
.button--ghost {
  background:transparent;
  color:var(--primary);
}

.section { padding:72px 0; }
.section--white { background:white; }
.section__head { margin-bottom:32px; max-width:760px; }
.section__head h2 {
  margin:0 0 12px;
  font-size:clamp(30px,4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
}
.section__head p { margin:0; color:var(--muted); font-size:17px; }

.grid { display:grid; gap:20px; }
.grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

.card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-xs);
}
.card--interactive { transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card--interactive:hover {
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
  border-color:color-mix(in srgb, var(--primary) 24%, var(--border));
}
.card h3 { margin:0 0 8px; font-size:20px; line-height:1.25; letter-spacing:-.01em; }
.card p { margin:0; color:var(--muted); }

.input,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
select,
textarea {
  width:100%;
  min-height:50px;
  padding:0 15px;
  color:var(--text);
  background:white;
  border:1px solid var(--border);
  border-radius:12px;
  outline:none;
  box-shadow:0 0 0 0 rgba(0,0,0,0);
  transition:border-color .15s ease, box-shadow .15s ease;
}
textarea { min-height:130px; padding-block:13px; resize:vertical; }
.input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 13%, transparent);
}

.search-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  width:min(100%,820px);
}
.search-row .button { min-height:52px; }

.badge {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--primary-dark);
  font-size:12px;
  font-weight:800;
}

.table-wrap {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:white;
  border:1px solid var(--border);
  border-radius:16px;
}
table {
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}
th, td {
  padding:14px 16px;
  text-align:left;
  border-bottom:1px solid var(--border);
}
th {
  color:var(--muted);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
tr:last-child td { border-bottom:0; }

.notice {
  padding:16px 18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:white;
}

.breadcrumbs {
  padding:18px 0;
  color:var(--muted);
  font-size:13px;
}
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { color:var(--primary); }

.site-footer {
  padding:48px 0 30px;
  margin-top:72px;
  background:white;
  border-top:1px solid var(--border);
  color:var(--muted);
}
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:32px;
}
.footer-title { color:var(--text); font-weight:800; margin-bottom:10px; }
.footer-links { display:grid; gap:8px; }
.footer-links a { text-decoration:none; font-size:14px; }
.footer-links a:hover { color:var(--primary); }

:focus-visible {
  outline:3px solid color-mix(in srgb, var(--primary) 34%, transparent);
  outline-offset:3px;
}


.company-search { min-height: 62px; font-size: 18px; }
.company-status { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border-radius:999px; background:#ECFDF3; color:#067647; font-size:13px; font-weight:700; }
.data-list { display:grid; grid-template-columns: 220px 1fr; gap:0; }
.data-list > * { padding:14px 0; border-bottom:1px solid var(--border); }
@media (max-width: 640px) { .data-list { grid-template-columns:1fr; } .data-list > * { padding:8px 0; } }


@media (max-width: 1024px) {
  .grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
}

@media (max-width: 820px) {
  :root { --header-h:64px; }
  .container { width:min(calc(100% - 36px), var(--container)); }
  .brand-logo { height:36px; max-width:190px; }
  .nav { display:none; }
  .mobile-toggle { display:inline-flex; }
  .hero {
    padding-top:56px;
    padding-bottom:52px;
  }
  .hero h1 {
    font-size:clamp(38px,11vw,52px);
    letter-spacing:-.04em;
  }
  .section { padding:56px 0; }
  .grid--3 { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  .container { width:calc(100% - 32px); }
  .hero h1 { font-size:40px; }
  .hero p { font-size:17px; }
  .actions { align-items:stretch; }
  .actions .button { width:100%; }
  .search-row { grid-template-columns:1fr; }
  .search-row .button { width:100%; min-height:50px; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns:1fr; }
  .card { padding:20px; border-radius:16px; }
  .section__head { margin-bottom:24px; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .site-footer { margin-top:48px; }
}

@media (max-width: 380px) {
  .container { width:calc(100% - 24px); }
  .hero h1 { font-size:36px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* ------------------------------------------------------------------
   VissVienā: header search, company card, result list, data tables.
   Appended to the kit base. Tokens only.
   ------------------------------------------------------------------ */

.visually-hidden {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.brand { display:inline-flex; align-items:center; flex-shrink:0; }
.header-inner { gap:16px; }

/* The search box lives in the header on every page: it is the main action. */
.header-search {
  flex:1;
  max-width:520px;
  display:flex;
  align-items:center;
  gap:6px;
  height:44px;
  padding:0 6px 0 14px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:12px;
}
.header-search input {
  flex:1;
  min-height:42px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  font-size:15px;
}
.header-search input:focus { outline:none; box-shadow:none; }
.header-search:focus-within { border-color:var(--primary); box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent); }
.header-search button {
  flex-shrink:0;
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:9px;
  background:var(--primary);color:white;cursor:pointer;
}
.header-search button:hover { background:var(--primary-dark); }
.page-home .header-search { display:none; }

.hero { padding:clamp(56px,7vw,96px) 0 clamp(40px,5vw,64px); }
.hero h1 { max-width:20ch; }
.hero__stats { margin-top:22px; font-size:15px; color:var(--muted); }
.search-row--hero .input,
.search-row--hero .button { min-height:60px; }
.search-row--hero .input { font-size:17px; }
.search-row--hero .button { padding-inline:30px; }
.search-row--inline { margin-top:26px; width:min(100%,560px); }
.search-row--inline .input,
.search-row--inline .button { min-height:50px; }

.page-top, .search-top { padding:clamp(28px,4vw,44px) 0 clamp(18px,2vw,24px); }
.page-top h1, .search-top h1 {
  margin:0 0 12px;
  font-size:clamp(32px,4.6vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.page-lede { margin:0; max-width:70ch; color:var(--muted); font-size:clamp(16px,1.6vw,18px); }
.search-meta { margin:22px 0 0; color:var(--muted); }

/* Company card */
.company-head { padding:clamp(24px,3.5vw,40px) 0 clamp(14px,2vw,20px); }
.company-head__row { display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.company-head h1 {
  margin:0;
  font-size:clamp(30px,4.4vw,46px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:780;
}
.company-head__sub { margin:10px 0 0; color:var(--muted); font-size:17px; }
.company-head__meta {
  display:flex;flex-wrap:wrap;gap:8px 22px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
}
.company-head__meta strong { color:var(--text); }

.status {
  display:inline-flex;align-items:center;
  min-height:30px;
  padding:4px 12px;
  border-radius:999px;
  font-size:13px;font-weight:750;
  white-space:nowrap;
}
.status--active { background:color-mix(in srgb, var(--success) 10%, white); color:var(--success); border:1px solid color-mix(in srgb, var(--success) 26%, transparent); }
.status--closed { background:color-mix(in srgb, var(--danger) 8%, white); color:var(--danger); border:1px solid color-mix(in srgb, var(--danger) 24%, transparent); }
.status--inline { min-height:26px; padding:2px 10px; font-size:12px; }

.section--first { padding-top:8px; }
.section { padding:20px 0; }
.section--white { padding:72px 0; }
.section--source { padding:36px 0 8px; }

.card--data { padding:0; overflow:hidden; }
.card__head {
  display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
  padding:22px 24px;
  border-bottom:1px solid var(--border);
}
.card__head h2 { margin:0; font-size:19px; letter-spacing:-.015em; }
.card__note { margin:0; color:var(--muted); font-size:13px; }
.card__actions { display:flex; gap:8px; }
.card--data > .table-wrap { border:0; border-radius:0; }
.card--data > p { padding:20px 24px; margin:0; }
.card--flag { border-color:color-mix(in srgb, var(--warning) 28%, var(--border)); }
.card--flag .card__head { background:color-mix(in srgb, var(--warning) 5%, white); }

.datalist { margin:0; }
.datalist__row {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  padding:15px 24px;
  border-bottom:1px solid var(--border);
}
.datalist__row:last-child { border-bottom:0; }
.datalist dt { margin:0; color:var(--muted); font-size:14px; }
.datalist dd {
  margin:0;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-weight:600;
  word-break:break-word;
}
.mono { font-family:var(--font-mono); }
.muted { color:var(--muted); font-weight:400; }
.num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.num--neg { color:var(--danger); }
/* Header and cell must carry the same class, or the column reads misaligned. */
th.num, td.num { text-align:right; }
/* A numeric column's last cell should not hug the table edge on mobile. */
.table-wrap table th:last-child.num, .table-wrap table td:last-child.num { padding-right:24px; }

.copy-btn {
  flex-shrink:0;
  min-height:32px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
  color:var(--muted);
  font-size:12px;font-weight:700;
  cursor:pointer;
  transition:color .15s ease, border-color .15s ease;
}
.copy-btn:hover { color:var(--primary); border-color:var(--primary); }
.copy-btn.is-done { color:var(--success); border-color:var(--success); }

/* Search results */
.section--results { padding-top:12px; padding-bottom:64px; }
.result {
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding:20px 22px;
  margin-bottom:10px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  text-decoration:none;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.result:hover { border-color:color-mix(in srgb, var(--primary) 32%, var(--border)); transform:translateY(-1px); box-shadow:var(--shadow-xs); }
.result__main { min-width:0; }
.result__name { margin:0 0 6px; font-size:18px; line-height:1.3; letter-spacing:-.01em; }
.result__former { margin:0 0 6px; font-size:13px; color:var(--muted); }
.result__meta { display:flex;flex-wrap:wrap;gap:4px 16px; margin:0; color:var(--muted); font-size:14px; }
.result__meta .mono { color:var(--text); }

.source-box {
  padding:22px 24px;
  background:var(--accent-soft);
  border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border));
  border-radius:var(--radius-lg);
}
.source-box__title { margin:0 0 10px; font-weight:750; }
.source-box__list { margin:0 0 12px; padding-left:20px; color:var(--muted); font-size:14px; }
.source-box__list li { margin-bottom:4px; }
.source-box__note { margin:0; color:var(--muted); font-size:14px; }

.ticks { list-style:none; padding-left:0; margin:0 0 16px; }
.ticks li { position:relative; padding-left:26px; margin-bottom:8px; }
.ticks li::before { content:""; position:absolute; left:2px; top:9px; width:8px; height:8px; border-radius:50%; background:var(--primary); }

.content h2 { margin:36px 0 12px; font-size:clamp(22px,2.6vw,30px); letter-spacing:-.02em; }
.content h2:first-child { margin-top:0; }
.content p { margin:0 0 14px; }

.footer-bottom {
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:36px;padding-top:22px;
  border-top:1px solid var(--border);
  font-size:14px;
}
.footer-bottom p { margin:0; }
.footer-bottom a { text-decoration:none; }
.footer-bottom a:hover { color:var(--primary); }

@media (max-width: 1024px) {
  .header-search { max-width:320px; }
}

@media (max-width: 820px) {
  .header-search { display:none; }
  .page-home .header-search { display:none; }
  .nav { display:flex; }
  .nav a { padding:10px 8px; font-size:13px; }
  .datalist__row { grid-template-columns:1fr; gap:6px; padding:14px 20px; }
  .card__head { padding:18px 20px; }
  .card--data > p { padding:18px 20px; }
}

@media (max-width: 640px) {
  .search-row--hero .input,
  .search-row--hero .button { min-height:54px; }
  .company-head__row { flex-direction:column; align-items:flex-start; gap:10px; }
  .result { flex-direction:column; gap:12px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* ------------------------------------------------------------------
   Company card, simplified: a two column summary at the top, then a
   short predictable list of panels. Lighter chrome than the old cards.
   ------------------------------------------------------------------ */

.company-head { padding:clamp(22px,3vw,34px) 0 clamp(12px,1.6vw,18px); }
.company-head__meta { margin:12px 0 0; }

.cols {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
  /* The children have their own margin zeroed, so the row needs the gap the
     panels below it have, or the summary sits flush against the next panel. */
  margin-bottom:16px;
}

.panel {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  margin-bottom:16px;
  overflow:hidden;
}
.cols .panel { margin-bottom:0; }

.panel__head {
  display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;flex-wrap:wrap;
  padding:16px 20px 14px;
}
.panel__head h2 { margin:0; font-size:17px; letter-spacing:-.01em; font-weight:750; }
.panel__note { margin:0; color:var(--muted); font-size:13px; }
.panel__text { margin:0; padding:0 20px 18px; }
.panel__sub {
  margin:0;
  padding:16px 20px 6px;
  border-top:1px solid var(--border);
  font-size:15px;
  font-weight:750;
  letter-spacing:-.005em;
  color:var(--text);
}
.panel__sub .count { margin-left:7px; color:var(--muted); font-weight:500; font-size:14px; }
.panel__head + .panel__sub { border-top:0; margin-top:0; padding-top:0; }
.panel--flag { border-color:color-mix(in srgb, var(--warning) 34%, var(--border)); }

/* Compact key-value list: label left, value right, one thin rule between. */
.kv { margin:0; padding:0 20px 6px; }
.kv__row {
  display:grid;
  grid-template-columns:minmax(120px, 38%) minmax(0,1fr);
  gap:12px;
  padding:9px 0;
  border-top:1px solid var(--border);
}
.kv__row:first-child { border-top:0; }
.kv dt { margin:0; color:var(--muted); font-size:14px; }
.kv dd {
  margin:0;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-weight:600;
  word-break:break-word;
}

/* Facts: one line each, a small mark instead of a loud coloured pill. */
.facts { list-style:none; margin:0; padding:0 20px 4px; }
.fact {
  position:relative;
  padding:7px 0 7px 24px;
  font-size:15px;
  border-top:1px solid var(--border);
}
.fact:first-child { border-top:0; }
.fact__mark {
  position:absolute;left:2px;top:14px;
  width:10px;height:10px;border-radius:50%;
}
.fact--ok .fact__mark { background:var(--success); }
.fact--flag .fact__mark { background:var(--warning); }
.fact--info .fact__mark { background:var(--border); }
.fact--flag { font-weight:650; }
.facts__note { margin:0; padding:12px 20px 16px; color:var(--muted); font-size:12.5px; }

.minifin { padding:10px 20px 0; }
.minifin table { width:100%; min-width:0; border-collapse:collapse; }
.minifin th, .minifin td { padding:7px 0; border-bottom:1px solid var(--border); font-size:14px; }
.minifin thead th { color:var(--muted); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.minifin tbody th { text-align:left; color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0; font-size:14px; }
.minifin tbody tr:last-child th, .minifin tbody tr:last-child td { border-bottom:0; }
.minifin td { font-weight:650; }
.minifin__note { margin:8px 0 0; color:var(--muted); font-size:12.5px; }

.delta { display:inline-block; margin-left:6px; font-size:12px; font-weight:700; }
.delta--up { color:var(--success); }
.delta--down { color:var(--danger); }

/* Data tables inside panels: no second border, just rules. */
.panel .table-wrap { border:0; border-radius:0; }
table.t { min-width:640px; }
table.t th { padding:10px 20px; font-size:11.5px; }
table.t td { padding:12px 20px; font-size:14.5px; }
table.t tbody tr:last-child td { border-bottom:0; }
.nowrap { white-space:nowrap; }

.source-box { margin:8px 0 0; }

@media (max-width: 900px) {
  .cols { grid-template-columns:1fr; }
  .cols .panel { margin-bottom:0; }
  .cols .panel + .panel { margin-top:16px; }
}

@media (max-width: 640px) {
  .kv__row { grid-template-columns:1fr; gap:3px; padding:10px 0; }
  .kv, .facts, .facts__note, .minifin { padding-left:16px; padding-right:16px; }
  .panel__head, .panel__sub, .panel__text { padding-left:16px; padding-right:16px; }
  table.t th, table.t td { padding-left:16px; padding-right:16px; }
}

.panel__foot { margin:0; padding:12px 20px 16px; color:var(--muted); font-size:12.5px; border-top:1px solid var(--border); }
@media (max-width: 640px) { .panel__foot { padding-left:16px; padding-right:16px; } }

/* People and related companies: a name line plus one muted detail line.
   A table would need five columns and a horizontal scroll on a phone. */
.people { list-style:none; margin:0; padding:0 20px 6px; }
.person {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-top:1px solid var(--border);
}
.person:first-child { border-top:0; }
.person__main { min-width:0; }
.person__name { display:block; font-weight:650; }
.person__name a { text-decoration:none; }
.person__name a:hover { color:var(--primary); text-decoration:underline; }
.person__meta { display:block; margin-top:3px; color:var(--muted); font-size:13.5px; }
.person__date { flex-shrink:0; color:var(--muted); font-size:13.5px; white-space:nowrap; }
.share {
  display:inline-block;
  margin-left:8px;
  padding:1px 7px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--primary-dark);
  font-size:12px;
  font-weight:750;
}

@media (max-width: 640px) {
  .people { padding-left:16px; padding-right:16px; }
  .person { flex-direction:column; gap:4px; align-items:flex-start; }
}

/* Alphabetical directory: the crawl spine and a plain way to browse. */
.alpha { display:grid; grid-template-columns:repeat(auto-fill,minmax(86px,1fr)); gap:8px; }
.alpha__item {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-height:64px; padding:10px 6px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  text-decoration:none;
}
.alpha__item:hover { border-color:color-mix(in srgb, var(--primary) 34%, var(--border)); }
.alpha__item--current { background:var(--accent-soft); border-color:color-mix(in srgb, var(--primary) 30%, var(--border)); }
.alpha__letter { font-size:17px; font-weight:750; text-transform:uppercase; }
.alpha__count { font-size:12px; color:var(--muted); }
.alpha--compact { grid-template-columns:repeat(auto-fill,minmax(52px,1fr)); }
.alpha--compact .alpha__item { min-height:44px; padding:6px 4px; }
.alpha--compact .alpha__letter { font-size:14px; }

.pager { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:26px; }
.pager a, .pager__current, .pager__gap {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; padding:0 12px;
  border-radius:10px; font-size:14px; font-weight:650; text-decoration:none;
}
.pager a { border:1px solid var(--border); background:var(--surface); }
.pager a:hover { border-color:var(--primary); color:var(--primary); }
.pager__current { background:var(--primary); color:white; }
.pager__gap { color:var(--muted); min-width:24px; padding:0; }

.hero__links { display:flex; flex-wrap:wrap; gap:18px; margin-top:18px; font-size:15px; font-weight:650; }
.hero__links a { color:var(--primary); text-decoration:none; }
.hero__links a:hover { text-decoration:underline; }

.pager--jump { margin-top:12px; }
.pager--jump a, .pager--jump .pager__current { min-width:38px; min-height:38px; font-size:13px; }
.pager__label { color:var(--muted); font-size:13px; margin-right:6px; }

.yearbar { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.yearbar a, .yearbar__current {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:64px; min-height:40px; padding:0 12px;
  border-radius:10px; font-size:14px; font-weight:700; text-decoration:none;
}
.yearbar a { border:1px solid var(--border); background:var(--surface); }
.yearbar a:hover { border-color:var(--primary); color:var(--primary); }
.yearbar__current { background:var(--primary); color:white; }
.panel--profile .profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 34px}
.panel--profile .kv a{color:var(--link);text-decoration:none;word-break:break-word}
.panel--profile .kv a:hover{text-decoration:underline}
.profile__title{font-weight:600;margin:0 0 10px;font-size:.95rem}
.services{margin:0;padding-left:20px;display:grid;gap:6px}
.services li{font-size:.95rem;line-height:1.45}
.result--paid{background:#FFFDF2;border-color:#F0E4B8}
.result__services{margin:8px 0 0;font-size:.9rem;color:var(--muted);line-height:1.45}
.result__side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.result__phone{font-size:.9rem;color:var(--muted);white-space:nowrap}
.adslot{margin:0 auto 26px;max-width:var(--container);padding:0 var(--gutter)}
.adslot__label{margin:0 0 6px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.adslot__card{display:block;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px 18px;text-decoration:none;color:inherit}
.adslot__card:hover{border-color:var(--brand)}
.adslot__img{display:block;max-width:100%;height:auto;border-radius:calc(var(--radius) - 4px);margin-bottom:12px}
.adslot__title{display:block;font-weight:600;font-size:1.02rem}
.adslot__text{display:block;margin-top:5px;font-size:.94rem;line-height:1.45}
.adslot__kw{display:block;margin-top:8px;font-size:.85rem;color:var(--muted);line-height:1.4}
@media (max-width:820px){.panel--profile .profile{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){.result__side{align-items:flex-start}}
/* The copy button sat next to a value at 32px and read as a form control, which
   is more weight than a helper deserves. Still over the 24px tap minimum. */
.copy-btn{min-height:26px;padding:0 9px;font-size:11px;font-weight:600;border-radius:7px}
/* The service column is the taller of the two, so it is what sets the bottom of
   the panel. It needs the same breathing room the .kv column gets from its own
   padding, otherwise the last service sits on the panel border. */
.profile__services{padding:0 20px 18px 0}
.services{margin-bottom:0}
.panel__text--unit{margin:0 0 10px;font-size:.85rem;color:var(--muted)}
/* A related company can be connected by several people, so its meta line stacks
   instead of running on. */
.person__main > .person__meta + .person__meta{margin-top:2px}
.person__main{display:flex;flex-direction:column}
