/* Shared finishing layer. Loaded after page-specific legacy styles. */
:root { --focus-ring: #f1d679; --control-bg: #151a17; }
html { scroll-padding-top: calc(var(--header-offset, 112px) + 24px); }
button, input, select, textarea { font: inherit; }
button, .button { cursor: pointer; }
[hidden] { display: none !important; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 4px;
}
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 10001; padding: 14px 20px; color: #11140f; background: var(--focus-ring); border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-shell:has(.topbar), .page-shell:has(.topbar) { padding-top: calc(var(--header-offset, 112px) + 24px) !important; }
.hero > *, .hero__copy, .hero__stack, .section > *, .footer > *, .article-card > *, .job-card > * { min-width: 0; }
.listing-layout > .filter-card > * { min-width: 0; overflow-wrap: anywhere; }
.hero h1, .section-head h2, .legal-page h1 { overflow-wrap: anywhere; }
.hero--compact h1, .legal-page h1 { line-height: 1.08; }
.hero__copy { align-content: start; }
.hero__copy > .pill { justify-self: start; }
.legal-page { gap: 20px; }
.legal-page > p { margin: 0; }
.legal-page__requisites { margin-top: 12px; padding-top: 28px; }
.topbar .nav a { display: inline-flex; align-items: center; min-height: 44px; }
.nav a[aria-current="page"] { color: var(--primary); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.footer a { overflow-wrap: anywhere; }
.legal-page p a, .application-consent a { text-decoration: underline; text-underline-offset: 3px; }
.button { border: 1px solid transparent; }
.button--ghost { border-color: var(--line); }
.button:disabled, .button[aria-disabled="true"] { opacity: .6; cursor: not-allowed; transform: none; }
.button:disabled:hover { transform: none; }
.chip, .filter-chip { font-family: inherit; cursor: pointer; min-height: 44px; }
.chip { display: inline-flex; align-items: center; justify-content: center; }
.filter-chip { transition: color 150ms ease-out, background-color 150ms ease-out, border-color 150ms ease-out; }
.search-bar input { min-width: 0; }
.search-bar input:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
.search-status { color: var(--muted); margin: 0 0 18px; line-height: 1.6; }
.search-empty { padding: 24px; margin-bottom: 20px; }
.search-empty p { margin-top: 0; color: var(--text); }
.choice-card {
  border: 1px solid var(--line); border-radius: 12px;
  background: var(--control-bg); color: var(--text);
  padding: 20px; line-height: 1.45;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}
.choice-card:hover, .choice-card.is-selected {
  border-color: var(--primary); background: #252519; color: #f1d679;
  box-shadow: none; transform: none;
}
.choice-card.is-selected { box-shadow: inset 0 0 0 1px var(--primary); }
.choice-note { color: var(--muted); line-height: 1.6; }
.choice-note strong, .journal-strip strong { color: #e8cf7b; }
.article-card h3 { color: var(--text); }
.article-card__footer { color: var(--muted); flex-wrap: wrap; }
.article-card:nth-child(2) h3, .article-card:nth-child(2) .article-card__footer { color: #181714; }
.article-card:nth-child(2) h3::first-letter { color: #806018; }
.article-card:nth-child(2) .button--ghost { color: #181714; background: rgb(128 96 24 / .08); border-color: #907238; }
.article-card:nth-child(2) .button--ghost:hover { background: rgb(128 96 24 / .16); }
.article-card:nth-child(2) .button:focus-visible { outline-color: #6f5518; }
.article-card__visual { outline: 1px solid rgb(255 255 255 / .1); outline-offset: -1px; }
.article-card:nth-child(2) .article-card__visual { outline-color: rgb(0 0 0 / .1); }
.job-card, .feature-card, .article-card, .price-card { animation: none; }
.job-card:hover, .feature-card:hover, .article-card:hover { transform: none; box-shadow: var(--shadow); }
.job-card, .feature-card, .article-card { transition: border-color 150ms ease-out; }
.cookie-consent { z-index: 1500; transform: translateY(12px); transition: opacity 150ms ease-out, transform 150ms ease-out; visibility: hidden; }
.cookie-consent--visible { transform: none; visibility: visible; }
.cookie-consent__inner { background: #131815; border-color: var(--line); box-shadow: 0 8px 32px rgb(0 0 0 / .3); }
.cookie-consent__icon { background: rgba(212,175,55,.1); }
.cookie-consent__link { text-decoration-color: currentColor; }
.cookie-consent__btn { min-height: 44px; transition: background-color 150ms ease-out, color 150ms ease-out, border-color 150ms ease-out, transform 150ms ease-out; }
.cookie-consent__btn--decline { border-color: var(--line); color: var(--text); }
.cookie-consent__btn--decline:hover { background: #23291f; border-color: var(--primary); }
.cookie-consent__btn--accept { background: #d4af37; color: #12100b; }
.cookie-consent__btn--accept:hover { background: #e8cf7b; color: #12100b; box-shadow: none; transform: none; }
.cookie-consent__btn:active { transform: scale(.96); }
.application-modal { background: rgb(0 0 0 / .7); }
.application-card { overscroll-behavior: contain; }
.application-card h2 { padding-right: 42px; line-height: 1.2; }
.application-close { width: 44px; height: 44px; display: grid; place-items: center; line-height: 1; border-radius: 8px; }
.application-close:hover { background: rgb(255 255 255 / .08); }
.application-form > .button { margin-top: 8px; }
.application-result { color: var(--text); line-height: 1.5; }
.application-result[data-state="error"] { color: #ffb4ab; }
.application-result[data-state="success"] { color: #c9dfae; }
.application-consent { min-height: 44px; align-items: flex-start; cursor: pointer; }
.linker-page { width: min(1100px, calc(100% - 32px)); }
.linker-page header { flex-wrap: wrap; gap: 16px; }
.linker-page .form input { min-width: 0; flex: 1 1 220px; background: var(--control-bg); color: var(--text); border-color: var(--line); }
.linker-page input::placeholder { color: #b9b3a6; opacity: 1; }
.linker-page .button:not(.button--primary) { background: #23291f; color: var(--text); border-color: var(--line); }
.linker-page .error { color: #ffb4ab; }
.linker-page .short { color: #e8cf7b; }
.linker-page .table-scroll { overflow-x: auto; }
.linker-page .table td, .linker-page .table th { border-color: var(--line); overflow-wrap: anywhere; }
.linker-page .table button { min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--control-bg); color: var(--text); }
@media (min-width: 761px) and (max-width: 1100px) {
  .topbar { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .topbar > .brand { grid-column: 1; grid-row: 1; }
  .topbar > .button { grid-column: 2; grid-row: 1; }
  .topbar .nav { grid-column: 1 / -1; grid-row: 2; margin-left: 0 !important; flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 980px) {
  .listing-layout > .filter-card { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .hero--compact { grid-template-columns: minmax(0,1fr); }
  .hero h1 { font-size: clamp(1.9rem, 8.3vw, 2.9rem); max-width: 100%; line-height: 1.08; }
  .legal-page h1 { font-size: clamp(1.35rem, 6.2vw, 2rem) !important; hyphens: none; text-wrap: wrap; }
  .application-modal { padding: 12px; }
  .application-card { width: 100% !important; max-height: calc(100dvh - 24px) !important; margin: 0 !important; }
  .manual-panel { padding: 24px; }
  .linker-page .form { flex-direction: column; }
  .linker-page .form input { flex: auto; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .button:active, .cookie-consent__btn:active { transform: none; }
}
