/* Public company profile: shared semantic tokens, no route-specific color literals. */
body.public-company-profile-os {
  --hrc-profile-cover-max-inline: 24rem;
  --hrc-profile-surface: color-mix(in srgb, var(--tcv-surface) 96%, var(--hrc-brand-50));
  --hrc-profile-soft: color-mix(in srgb, var(--hrc-brand-500) 7%, var(--tcv-surface));
  --hrc-profile-line: color-mix(in srgb, var(--tcv-line) 86%, transparent);
  --hrc-profile-accent: var(--hrc-brand-700);
  --hrc-profile-accent-soft: color-mix(in srgb, var(--hrc-brand-500) 11%, var(--tcv-surface));
  --hrc-profile-focus: color-mix(in srgb, var(--hrc-brand-500) 30%, transparent);
  color: var(--tcv-ink);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--hrc-brand-500) 7%, transparent), transparent 34rem),
    var(--tcv-bg);
}

html[data-theme="dark"] body.public-company-profile-os,
body.public-company-profile-os[data-theme="dark"] {
  --hrc-profile-surface: color-mix(in srgb, var(--tcv-surface) 90%, var(--hrc-brand-900));
  --hrc-profile-soft: color-mix(in srgb, var(--hrc-brand-500) 12%, var(--tcv-surface));
  --hrc-profile-line: color-mix(in srgb, var(--tcv-line) 76%, transparent);
  --hrc-profile-accent: var(--hrc-brand-300);
  --hrc-profile-accent-soft: color-mix(in srgb, var(--hrc-brand-500) 14%, var(--tcv-surface));
  --hrc-profile-focus: color-mix(in srgb, var(--hrc-brand-400) 38%, transparent);
}

.public-company-profile-os .hrc-profile-page {
  display: grid;
  gap: var(--hrc-space-8);
  width: min(100% - (var(--hrc-space-6) * 2), 1480px);
  margin-inline: auto;
  padding-block: var(--hrc-space-8);
}

.public-company-profile-os .hrc-profile-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
  align-items: center;
  gap: clamp(var(--hrc-space-6), 5vw, var(--hrc-space-12));
  padding: clamp(var(--hrc-space-8), 5vw, var(--hrc-space-12));
  overflow: hidden;
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-xl);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--hrc-brand-500) 13%, transparent), transparent 42%),
    linear-gradient(135deg, var(--hrc-profile-surface), var(--tcv-surface));
  box-shadow: var(--hrc-shadow-lg);
}

.public-company-profile-os .hrc-profile-hero-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.public-company-profile-os .hrc-profile-eyebrow,
.public-company-profile-os .hrc-profile-section > header > span,
.public-company-profile-os .hrc-profile-assurance > div > span,
.public-company-profile-os .hrc-profile-cta > div > span {
  display: inline-flex;
  color: var(--hrc-profile-accent);
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-bold);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.public-company-profile-os .hrc-profile-hero h1 {
  max-width: 16ch;
  margin: var(--hrc-space-4) 0;
  color: var(--tcv-ink);
  font-size: var(--hrc-text-3xl);
  line-height: var(--hrc-leading-tight);
  letter-spacing: -.035em;
}

.public-company-profile-os .hrc-profile-hero-copy > p {
  max-width: 64ch;
  margin: 0;
  color: var(--tcv-muted);
  font-size: var(--hrc-text-lg);
  line-height: var(--hrc-leading-relaxed);
}

.public-company-profile-os .hrc-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hrc-space-3);
  margin-top: var(--hrc-space-6);
}

.public-company-profile-os .hrc-profile-actions .hrc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--hrc-touch-target);
  padding-inline: var(--hrc-space-5);
  border-radius: var(--hrc-radius-lg);
  text-decoration: none;
  font-weight: var(--hrc-weight-bold);
}

.public-company-profile-os .hrc-profile-actions .hrc-btn--primary {
  color: var(--hrc-action-on-primary);
  border-color: var(--hrc-action-primary);
  background: var(--hrc-action-primary);
}

.public-company-profile-os .hrc-profile-actions .hrc-btn--primary:hover {
  color: var(--hrc-action-on-primary);
  border-color: var(--hrc-action-primary-hover);
  background: var(--hrc-action-primary-hover);
}

.public-company-profile-os .hrc-profile-actions .hrc-btn--secondary {
  color: var(--tcv-ink);
  border-color: var(--hrc-profile-line);
  background: var(--tcv-surface);
}

.public-company-profile-os .hrc-profile-actions .hrc-btn:focus-visible,
.public-company-profile-os .hrc-profile-cover:focus-visible,
.public-company-profile-os .hrc-profile-assurance a:focus-visible {
  outline: var(--hrc-focus-width) solid var(--hrc-color-focus);
  outline-offset: var(--hrc-focus-offset);
  box-shadow: var(--hrc-focus-ring);
}

.public-company-profile-os .hrc-profile-legal-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--hrc-space-3);
  margin: var(--hrc-space-8) 0 0;
}

.public-company-profile-os .hrc-profile-legal-summary > div {
  display: grid;
  gap: var(--hrc-space-1);
  padding: var(--hrc-space-4);
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-lg);
  background: color-mix(in srgb, var(--tcv-surface) 86%, transparent);
}

.public-company-profile-os .hrc-profile-legal-summary dt {
  color: var(--tcv-muted);
  font-size: var(--hrc-text-xs);
  font-weight: var(--hrc-weight-semibold);
}

.public-company-profile-os .hrc-profile-legal-summary dd {
  margin: 0;
  color: var(--tcv-ink);
  font-size: var(--hrc-text-lg);
  font-weight: var(--hrc-weight-bold);
}

.public-company-profile-os .hrc-profile-cover {
  position: relative;
  display: block;
  width: min(100%, var(--hrc-profile-cover-max-inline));
  justify-self: center;
  overflow: hidden;
  color: var(--tcv-ink);
  text-decoration: none;
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-xl);
  background: var(--tcv-surface);
  box-shadow: var(--hrc-shadow-lg);
  transform: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.public-company-profile-os .hrc-profile-cover:hover {
  transform: translateY(calc(var(--hrc-space-1) * -1));
  box-shadow: var(--hrc-shadow-lg), 0 0 0 var(--hrc-focus-width) var(--hrc-profile-focus);
}

.public-company-profile-os .hrc-profile-cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.public-company-profile-os .hrc-profile-cover span {
  position: absolute;
  right: var(--hrc-space-4);
  bottom: var(--hrc-space-4);
  padding: var(--hrc-space-2) var(--hrc-space-4);
  color: var(--tcv-on-accent);
  border-radius: var(--hrc-radius-pill);
  background: color-mix(in srgb, var(--hrc-brand-900) 84%, transparent);
  box-shadow: var(--hrc-shadow-sm);
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-bold);
}

.public-company-profile-os .hrc-profile-section {
  display: grid;
  gap: var(--hrc-space-6);
}

.public-company-profile-os .hrc-profile-section > header {
  max-width: 58rem;
}

.public-company-profile-os .hrc-profile-section h2,
.public-company-profile-os .hrc-profile-assurance h2,
.public-company-profile-os .hrc-profile-cta h2 {
  margin: var(--hrc-space-2) 0;
  color: var(--tcv-ink);
  font-size: var(--hrc-text-3xl);
  line-height: var(--hrc-leading-tight);
}

.public-company-profile-os .hrc-profile-section header p,
.public-company-profile-os .hrc-profile-assurance p,
.public-company-profile-os .hrc-profile-cta p {
  margin: 0;
  color: var(--tcv-muted);
  line-height: var(--hrc-leading-relaxed);
}

.public-company-profile-os .hrc-profile-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--hrc-space-4);
}

.public-company-profile-os .hrc-profile-service-grid article {
  position: relative;
  min-width: 0;
  padding: var(--hrc-space-6);
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-xl);
  background: var(--tcv-surface);
  box-shadow: var(--hrc-shadow-sm);
}

.public-company-profile-os .hrc-profile-service-grid article > b {
  display: grid;
  place-items: center;
  width: var(--hrc-touch-target);
  height: var(--hrc-touch-target);
  color: var(--hrc-profile-accent);
  border-radius: var(--hrc-radius-lg);
  background: var(--hrc-profile-accent-soft);
}

.public-company-profile-os .hrc-profile-service-grid h3 {
  margin: var(--hrc-space-5) 0 var(--hrc-space-2);
  color: var(--tcv-ink);
  font-size: var(--hrc-text-xl);
}

.public-company-profile-os .hrc-profile-service-grid p {
  margin: 0;
  color: var(--tcv-muted);
  line-height: var(--hrc-leading-relaxed);
}

.public-company-profile-os .hrc-profile-process {
  padding: clamp(var(--hrc-space-6), 4vw, var(--hrc-space-10));
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-xl);
  background: linear-gradient(135deg, var(--hrc-profile-soft), var(--tcv-surface));
  box-shadow: var(--hrc-shadow-sm);
}

.public-company-profile-os .hrc-profile-process ol {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--hrc-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-company-profile-os .hrc-profile-process li {
  display: grid;
  align-content: start;
  gap: var(--hrc-space-3);
  min-width: 0;
  padding: var(--hrc-space-4);
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-lg);
  background: color-mix(in srgb, var(--tcv-surface) 90%, transparent);
}

.public-company-profile-os .hrc-profile-process li b {
  color: var(--hrc-profile-accent);
  font-size: var(--hrc-text-sm);
}

.public-company-profile-os .hrc-profile-process li span {
  color: var(--tcv-ink);
  font-weight: var(--hrc-weight-bold);
  line-height: var(--hrc-leading-tight);
}

.public-company-profile-os .hrc-profile-assurance,
.public-company-profile-os .hrc-profile-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, auto);
  align-items: center;
  gap: var(--hrc-space-8);
  padding: clamp(var(--hrc-space-6), 4vw, var(--hrc-space-10));
  border: var(--hrc-border-width) solid var(--hrc-profile-line);
  border-radius: var(--hrc-radius-xl);
  background: var(--tcv-surface);
  box-shadow: var(--hrc-shadow-sm);
}

.public-company-profile-os .hrc-profile-assurance aside {
  display: grid;
  gap: var(--hrc-space-2);
  padding: var(--hrc-space-6);
  border-radius: var(--hrc-radius-xl);
  background: var(--hrc-profile-accent-soft);
}

.public-company-profile-os .hrc-profile-assurance aside b,
.public-company-profile-os .hrc-profile-assurance aside span {
  color: var(--tcv-muted);
  font-size: var(--hrc-text-sm);
}

.public-company-profile-os .hrc-profile-assurance aside strong {
  color: var(--tcv-ink);
  font-size: var(--hrc-text-lg);
}

.public-company-profile-os .hrc-profile-assurance aside a {
  color: var(--hrc-profile-accent);
  font-size: var(--hrc-text-2xl);
  font-weight: var(--hrc-weight-bold);
  text-decoration: none;
}

.public-company-profile-os .hrc-profile-cta {
  background:
    radial-gradient(circle at right, color-mix(in srgb, var(--hrc-brand-500) 14%, transparent), transparent 46%),
    var(--hrc-profile-surface);
}

.public-company-profile-os .hrc-profile-cta .hrc-profile-actions {
  justify-content: flex-end;
  margin-top: 0;
}

@media (max-width: 1100px) {
  .public-company-profile-os .hrc-profile-hero {
    grid-template-columns: 1fr;
  }

  .public-company-profile-os .hrc-profile-cover {
    transform: none;
  }

  .public-company-profile-os .hrc-profile-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-company-profile-os .hrc-profile-process ol {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .public-company-profile-os .hrc-profile-page {
    gap: var(--hrc-space-6);
    width: min(100% - (var(--hrc-space-4) * 2), 1480px);
    padding-block: var(--hrc-space-6);
  }

  .public-company-profile-os .hrc-profile-hero,
  .public-company-profile-os .hrc-profile-process,
  .public-company-profile-os .hrc-profile-assurance,
  .public-company-profile-os .hrc-profile-cta {
    padding: var(--hrc-space-5);
    border-radius: var(--hrc-radius-lg);
  }

  .public-company-profile-os .hrc-profile-legal-summary,
  .public-company-profile-os .hrc-profile-service-grid,
  .public-company-profile-os .hrc-profile-process ol,
  .public-company-profile-os .hrc-profile-assurance,
  .public-company-profile-os .hrc-profile-cta {
    grid-template-columns: 1fr;
  }

  .public-company-profile-os .hrc-profile-cta .hrc-profile-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .public-company-profile-os .hrc-profile-actions,
  .public-company-profile-os .hrc-profile-actions .hrc-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-company-profile-os .hrc-profile-cover {
    transition: none;
  }
}
