/* Source: tokens.css */
/* fastov30.ru — Private Legal Practice design tokens */
:root {
  color-scheme: light;

  /* Neutral base */
  --color-background: #edf0f0;
  --color-surface: #f9f8f4;
  --color-surface-elevated: #ffffff;
  --color-ink: #142e35;
  --color-ink-muted: #4e6268;
  --color-line: #c9d0ce;
  --color-line-strong: #94a29f;

  /* The only brand accent; variants are interaction states only. */
  --color-accent: #9a4e32;
  --color-accent-hover: #7a3b26;
  --color-accent-active: #5f2d1d;
  --color-on-accent: #ffffff;
  --color-focus: var(--color-accent);

  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", Arial, sans-serif;

  --font-size-display: clamp(3.5rem, 7.5vw, 6.75rem);
  --font-size-h1: clamp(2.75rem, 5.2vw, 4.75rem);
  --font-size-h2: clamp(2rem, 3.6vw, 3.25rem);
  --font-size-h3: clamp(1.375rem, 2vw, 1.75rem);
  --font-size-lead: clamp(1.125rem, 1.6vw, 1.375rem);
  --font-size-body: 1.0625rem;
  --font-size-small: 0.875rem;
  --font-size-caption: 0.75rem;
  --font-size-overline: 0.6875rem;

  --line-height-display: 0.94;
  --line-height-h1: 0.98;
  --line-height-h2: 1.04;
  --line-height-h3: 1.15;
  --line-height-lead: 1.45;
  --line-height-body: 1.65;
  --line-height-small: 1.5;
  --line-height-caption: 1.35;

  --tracking-display: -0.035em;
  --tracking-heading: -0.02em;
  --tracking-body: 0;
  --tracking-overline: 0.11em;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --space-section: clamp(3rem, 5vw, 4.5rem);

  --layout-max: 80rem;
  --layout-reading: 68ch;
  --layout-gutter: clamp(1rem, 3vw, 2.5rem);

  --radius-none: 0;
  --radius-action: 0.125rem;
  --radius-subtle: 0.25rem;
  --radius-floating: 0.5rem;

  --border-subtle: 1px solid var(--color-line);
  --border-strong: 1px solid var(--color-line-strong);
  --shadow-none: none;
  --shadow-floating: 0 18px 48px rgb(23 26 29 / 12%);

  --icon-size-sm: 1.125rem;
  --icon-size-md: 1.25rem;
  --icon-size-lg: 1.5rem;
  --icon-stroke: 1.75;

  --duration-micro: 120ms;
  --duration-normal: 180ms;
  --duration-deliberate: 220ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);

  --action-min-height: 3rem;
  --tap-target-min: 2.75rem;
  --responsibility-line-width: 2px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-micro: 0ms;
    --duration-normal: 0ms;
    --duration-deliberate: 0ms;
  }
}

/* Source: site.css */
@font-face {
  font-family: "Source Serif 4";
  src: url("/assets/fonts/SourceSerif4-Variable.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("/assets/fonts/SourceSans3-Variable.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

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

html {
  background: var(--color-background);
  color: var(--color-ink);
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-width: 20rem;
  min-height: 100vh;
  margin: 0;
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
p, h1, h2, h3, figure, dl, dd { margin: 0; }

:where(a, button):focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: var(--space-3);
  left: var(--space-4);
  padding: var(--space-3) var(--space-4);
  color: var(--color-on-accent);
  background: var(--color-accent);
  transform: translateY(-160%);
}

.skip-link:focus { transform: none; }

.shell {
  width: min(var(--layout-max), calc(100% - 2 * var(--layout-gutter)));
  margin-inline: auto;
}

.site-header {
  border-bottom: var(--border-subtle);
  background: var(--color-background);
}

.header-inner {
  display: flex;
  min-height: 5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}

.brand {
  display: inline-flex;
  min-height: var(--tap-target-min);
  align-items: center;
  gap: var(--space-4);
  text-decoration: none;
}

.brand strong {
  font-family: var(--font-display);
  max-width: 25rem;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 550;
  line-height: 1.15;
}

.header-author {
  display: inline-flex;
  min-height: var(--tap-target-min);
  align-items: center;
  color: var(--color-ink-muted);
  font-size: var(--font-size-small);
  text-underline-offset: 0.2em;
}

.header-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-6);
}

.header-nav a {
  display: inline-flex;
  min-height: var(--tap-target-min);
  align-items: center;
  color: var(--color-ink-muted);
  font-size: var(--font-size-small);
  text-underline-offset: 0.22em;
}

.header-nav a[aria-current="page"] {
  color: var(--color-accent);
  font-weight: 700;
}

.hero {
  border-bottom: var(--border-subtle);
}

.hero-grid {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 7fr) minmax(22rem, 5fr);
  align-items: stretch;
}

.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-16) var(--space-16) var(--space-16) 0;
}

.hero h1 {
  max-width: 19ch;
  text-wrap: balance;
  font-family: var(--font-display);
  font-size: var(--font-size-h1);
  font-weight: 450;
  letter-spacing: var(--tracking-heading);
  line-height: var(--line-height-h1);
}

.hero-lead {
  max-width: 42rem;
  margin-top: var(--space-8);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.hero-answer {
  max-width: 42rem;
  margin-top: var(--space-6);
  color: var(--color-ink-muted);
}

.primary-action {
  display: flex;
  width: min(100%, 26rem);
  min-height: 4.25rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding: var(--space-4) var(--space-6);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-action);
  color: var(--color-on-accent);
  background: var(--color-accent);
  text-decoration: none;
  transition: background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out), transform var(--duration-micro) var(--ease-out);
}

.primary-action:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.primary-action:active { background: var(--color-accent-active); border-color: var(--color-accent-active); transform: translateY(1px); }
.primary-action span { font-weight: 650; }
.primary-action strong { font-size: 1rem; white-space: nowrap; }

.action-note {
  max-width: 28rem;
  margin-top: var(--space-3);
  color: var(--color-ink-muted);
  font-size: var(--font-size-caption);
}

.hero-person {
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  border-inline: var(--border-subtle);
  background: var(--color-surface);
}

.hero-person picture { min-height: 0; overflow: hidden; }
.hero-person img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; }

.hero-person figcaption {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-6);
  border-top: var(--border-subtle);
}

.hero-person figcaption strong { font-family: var(--font-display); font-size: 1.375rem; font-weight: 550; }
.hero-person figcaption span { color: var(--color-ink-muted); font-size: var(--font-size-small); }
.hero-person figcaption span + span { font-size: var(--font-size-caption); }

.section { padding-block: var(--space-section); border-bottom: var(--border-subtle); }
.topic-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; border-top: var(--border-strong); }
.topic-links > a { display: grid; grid-template-columns: 7rem minmax(0, 1fr); align-items: center; gap: 1rem; padding-block: 1.25rem; border-bottom: var(--border-subtle); text-decoration: none; }
.topic-links img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.topic-links small { display: block; color: var(--color-ink-muted); font-size: .875rem; }
.topic-links strong { display: block; font-family: var(--font-display); font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
.topic-links a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 760px) { .topic-links { grid-template-columns: 1fr; } .topic-links > a { grid-template-columns: 6rem minmax(0, 1fr); } }
.section h2, .final-call h2 { font-family: var(--font-display); font-size: var(--font-size-h2); font-weight: 450; letter-spacing: var(--tracking-heading); line-height: var(--line-height-h2); }
.section h3 { font-family: var(--font-display); font-size: var(--font-size-h3); line-height: var(--line-height-h3); }

.split-heading, .limits-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: var(--space-24);
  align-items: start;
}

.split-heading > div > p, .limits-grid > div > p, .section-head > p, .responsibility-layout header > p {
  max-width: var(--layout-reading);
  margin-top: var(--space-6);
  color: var(--color-ink-muted);
}

.ruled-list { margin: 0; padding: 0; border-top: var(--border-strong); list-style: none; }
.ruled-list li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-8); padding-block: var(--space-6); border-bottom: var(--border-subtle); }
.ruled-list strong { font-size: 1.125rem; line-height: 1.35; }
.ruled-list span { color: var(--color-ink-muted); }

.review { background: var(--color-surface); }
.responsibility-layout { display: grid; grid-template-columns: minmax(0, 4fr) 2px minmax(0, 7fr); gap: var(--space-16); }
.responsibility-line { width: var(--responsibility-line-width); min-height: 100%; background: var(--color-line-strong); }
.fact-list { border-top: var(--border-strong); }
.fact-list > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--space-8); padding-block: var(--space-6); border-bottom: var(--border-subtle); }
.fact-list dt { font-weight: 700; }
.fact-list dd { color: var(--color-ink-muted); }

.section-head { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-24); margin-bottom: var(--space-16); }
.section-head > p { margin-top: 0; }
.process-list { margin: 0; padding: 0; border-top: var(--border-strong); list-style: none; }
.process-list li { display: block; padding-block: var(--space-6); border-bottom: var(--border-subtle); }
.process-list > li > span { color: var(--color-ink-muted); font-size: var(--font-size-caption); font-weight: 700; letter-spacing: 0.04em; }
.process-list h3 { font-weight: 550; }
.process-list p { max-width: var(--layout-reading); margin-top: var(--space-3); color: var(--color-ink-muted); }

.limits { color: var(--color-surface); background: var(--color-ink); }
.limits-grid > div > p, .limits-copy p { color: #c6c8ca; }
.limits-copy { border-top: 1px solid #4a4d50; }
.limits-copy p { padding-block: var(--space-6); border-bottom: 1px solid #4a4d50; }

.case-evidence { background: var(--color-background); }
.evidence-kicker { margin-bottom: var(--space-3); color: var(--color-accent); font-size: var(--font-size-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.case-list { margin: 0; padding: 0; border-top: var(--border-strong); list-style: none; }
.case-list li { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(12rem, 1fr) auto; align-items: center; gap: var(--space-8); padding-block: var(--space-6); border-bottom: var(--border-subtle); }
.case-list span { display: flex; flex-direction: column; gap: var(--space-1); }
.case-list small { color: var(--color-ink-muted); }
.case-list a, .case-links a, .property-evidence a, .evidence-note a { color: var(--color-accent); font-weight: 650; text-underline-offset: 0.22em; }
.case-more { margin-top: var(--space-6); border-bottom: var(--border-subtle); }
.case-more summary { min-height: var(--tap-target-min); cursor: pointer; color: var(--color-accent); font-weight: 650; }
.case-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-8); margin: 0; padding: 0 0 var(--space-6); list-style: none; }
.property-evidence { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-24); margin-top: var(--space-16); padding-top: var(--space-12); border-top: var(--border-strong); }
.property-evidence h3 { font-weight: 550; }
.property-evidence p { margin-top: var(--space-4); color: var(--color-ink-muted); }
.property-evidence ul { margin: 0; padding: 0; border-top: var(--border-subtle); list-style: none; }
.property-evidence li { border-bottom: var(--border-subtle); }
.property-evidence a { display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: var(--space-6); text-decoration: none; }
.property-evidence a span { color: var(--color-ink-muted); font-weight: 400; }
.evidence-note { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-12); padding: var(--space-8); border-left: 2px solid var(--color-accent); background: var(--color-surface); }
.evidence-note a { grid-column: 1 / -1; }
.case-disclaimer { max-width: var(--layout-reading); margin-top: var(--space-8); color: var(--color-ink-muted); font-size: var(--font-size-small); }

.practitioner-grid { display: grid; grid-template-columns: minmax(18rem, 4fr) minmax(0, 7fr); gap: var(--space-24); align-items: center; }
.practitioner picture { align-self: stretch; min-height: 34rem; border: var(--border-subtle); background: var(--color-surface); overflow: hidden; }
.practitioner picture img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; }
.practitioner-role { margin-top: var(--space-4); color: var(--color-ink-muted); font-weight: 650; }
.professional-roles { margin-top: var(--space-1); color: var(--color-ink); font-weight: 650; }
.practitioner-grid > div > p:not(.practitioner-role):not(.professional-roles) { max-width: var(--layout-reading); margin-top: var(--space-8); }
.status-link { display: inline-flex; min-height: var(--tap-target-min); align-items: center; margin-top: var(--space-6); color: var(--color-accent); font-weight: 650; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.status-link:hover { color: var(--color-accent-hover); }
.status-link-secondary { margin-left: var(--space-6); }
.practitioner address { display: flex; flex-direction: column; gap: var(--space-1); margin-top: var(--space-8); padding-top: var(--space-6); border-top: var(--border-subtle); font-style: normal; }
.practitioner address span { color: var(--color-ink-muted); font-size: var(--font-size-small); }

.sources { background: var(--color-surface); }
.sources-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-24); align-items: start; }
.sources-grid > div > p { max-width: var(--layout-reading); }
.sources-grid h3 { margin-top: var(--space-8); font-weight: 550; }
.page-meta { margin-top: var(--space-6); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.page-meta a, .source-list a { color: var(--color-accent); text-underline-offset: 0.22em; }
.source-list { margin: var(--space-4) 0 0; padding-left: 1.25rem; }
.source-list li + li { margin-top: var(--space-3); }
.applicability { margin-top: var(--space-8); padding-top: var(--space-6); border-top: var(--border-subtle); }

.source-note { padding-block: var(--space-8); border-top: var(--border-subtle); background: var(--color-surface); }
.source-details summary { min-height: var(--tap-target-min); cursor: pointer; color: var(--color-ink); font-weight: 650; }
.source-details-copy { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-12); padding-top: var(--space-6); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.source-details-copy a { color: var(--color-accent); text-underline-offset: 0.22em; }
.source-details-copy .source-list { margin-top: 0; }

.final-call { padding-block: var(--space-section); border-bottom: var(--border-subtle); background: var(--color-surface); }
.final-call-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(20rem, 4fr); gap: var(--space-24); align-items: end; }
.final-call p { max-width: var(--layout-reading); margin-top: var(--space-6); color: var(--color-ink-muted); }
.call-actions .primary-action { width: 100%; margin-top: 0; }
.text-action { display: inline-flex; min-height: var(--tap-target-min); align-items: center; margin-top: var(--space-3); color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.text-action:hover { color: var(--color-accent-hover); }

.cta-bankruptcy-warning {
  width: 100%;
  max-width: 42rem;
  margin-top: var(--space-4);
  padding: var(--space-4);
  border: var(--border-subtle);
  background: #e7e5df;
}

.cta-bankruptcy-warning strong {
  display: block;
  width: 100%;
  color: var(--color-ink-muted);
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 600;
  line-height: var(--line-height-caption);
}

.call-actions .cta-bankruptcy-warning { max-width: 26rem; }

.site-footer { padding-block: var(--space-12); background: var(--color-background); }
.footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.3fr; gap: var(--space-12); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.footer-grid p { display: flex; flex-direction: column; gap: var(--space-1); }
.footer-grid strong { color: var(--color-ink); font-family: var(--font-display); font-size: 1.25rem; }
.footer-grid address { font-style: normal; }

@media (max-width: 960px) {
  .hero-grid { grid-template-columns: minmax(0, 6fr) minmax(19rem, 5fr); }
  .hero-copy { padding-right: var(--space-8); }
  .split-heading, .limits-grid, .section-head, .final-call-grid, .sources-grid { gap: var(--space-12); }
  .practitioner-grid, .property-evidence { gap: var(--space-12); }
}

@media (max-width: 760px) {
  .header-inner { min-height: 4.5rem; }
  .brand { max-width: 72%; }

  .hero-grid,
  .split-heading,
  .limits-grid,
  .responsibility-layout,
  .section-head,
  .practitioner-grid,
  .final-call-grid,
  .sources-grid,
  .property-evidence,
  .source-details-copy,
  .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-grid { min-height: 0; }
  .hero-copy { padding: var(--space-12) 0; }
  .hero h1 { max-width: 100%; }
  .hero-person { border-right: 0; border-left: 0; }
  .hero-person picture { aspect-ratio: 4 / 5; }
  .primary-action { width: 100%; min-height: 4rem; }

  .split-heading, .limits-grid, .section-head, .final-call-grid, .sources-grid { gap: var(--space-12); }
  .ruled-list li { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .responsibility-layout { gap: var(--space-8); }
  .responsibility-line { width: 100%; min-height: 2px; height: 2px; }
  .fact-list > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .section-head { margin-bottom: var(--space-8); }
  .process-list li { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .case-list li { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .case-list a { min-height: var(--tap-target-min); display: inline-flex; align-items: center; }
  .case-links { grid-template-columns: minmax(0, 1fr); }
  .evidence-note { grid-template-columns: minmax(0, 1fr); padding: var(--space-6); }
  .evidence-note a { grid-column: auto; }

  .practitioner picture { min-height: 0; aspect-ratio: 4 / 5; }
  .call-actions { width: 100%; }
  .text-action { width: 100%; justify-content: flex-start; }
  .footer-grid { gap: var(--space-8); }

}

@media (max-width: 390px) {
  .brand strong { font-size: 0.95rem; }
  .primary-action { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0ms !important; }
}

/* Owner-requested fluid desktop layout; mobile rules remain independent. */
@media (min-width: 1024px) {
  :root { --layout-max: 100%; }
  .hero h1,
  .hero-copy .hero-lead,
  .hero-copy .hero-answer,
  .hero-copy .action-note,
  .section p,
  .process-list p,
  .case-disclaimer,
  .sources-grid > div > p,
  .final-call p { max-width: none; }
}

/* Source: legal.css */
.legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-6);
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: var(--border-subtle);
  font-size: var(--font-size-small);
}

.legal-nav a,
.legal-page a,
.cookie-notice a {
  color: var(--color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.legal-nav a { min-height: var(--tap-target-min); display: inline-flex; align-items: center; }

.cookie-notice {
  position: fixed;
  z-index: 1000;
  top: 6.625rem;
  right: max(1.25rem, calc((100% - var(--layout-max)) / 2));
  display: grid;
  width: min(26.875rem, calc(100% - 2.5rem));
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid color-mix(in srgb, var(--color-ink) 22%, transparent);
  border-top: 2px solid var(--color-accent);
  background: var(--color-surface-elevated);
  box-shadow: 0 1.125rem 3rem rgb(8 31 43 / 18%);
}

.cookie-notice[hidden] { display: none; }
.cookie-banner__copy { grid-column: 1 / -1; padding-top: 1.75rem; }
.cookie-banner__copy strong { display: block; font-family: var(--font-display); font-size: 1.125rem; font-weight: 550; }
.cookie-banner__copy p { margin-top: var(--space-2); color: var(--color-ink-muted); font-size: 0.78125rem; line-height: 1.4; }
.cookie-banner__actions { display: grid; grid-column: 1 / -1; gap: var(--space-2); min-width: 0; }
.cookie-banner__actions[hidden] { display: none; }
.cookie-banner__status { min-height: 1.25rem; margin: 0; color: var(--color-ink-muted); font-size: 0.75rem; line-height: 1.35; }
.cookie-banner__status:empty { display: none; }
.cookie-banner__status[data-error] { color: var(--color-ink); }
.cookie-dismiss,
.cookie-primary {
  min-height: var(--tap-target-min);
  padding: 0.5rem 0.6875rem;
  border-radius: 0;
  cursor: pointer;
  font: 650 var(--font-size-small)/1.2 var(--font-body);
}
.cookie-dismiss { position: absolute; top: 0.1875rem; right: 0.3125rem; display: inline-flex; align-items: center; gap: 0.3125rem; border: 0; color: var(--color-ink-muted); background: transparent; font-weight: 400; font-size: 0.6875rem; }
.cookie-dismiss span { font-size: 0.75rem; line-height: 1; }
.cookie-primary { width: 100%; min-height: 3rem; border: 1px solid var(--color-accent); color: var(--color-on-accent); background: var(--color-accent); font-size: 0.9375rem; }
.cookie-primary:disabled { cursor: wait; opacity: 0.65; }

/* Calm consent panel: part of the interface, not a sharp floating diagram. */
.cookie-notice {
  top: auto;
  bottom: 6.25rem;
  display: block;
  width: min(23rem, calc(100% - 2rem));
  padding: 1.25rem;
  background: rgb(255 255 255 / 96%);
  border: 1px solid rgb(19 52 61 / 13%);
  border-top: 0;
  border-radius: 1.125rem;
  box-shadow: 0 1.25rem 3.5rem rgb(8 31 43 / 16%);
  backdrop-filter: blur(12px);
}
.cookie-banner__copy { padding-top: 0; }
.cookie-banner__copy strong { padding-right: 2rem; font-size: 1.25rem; }
.cookie-banner__copy p { font-size: .8125rem; line-height: 1.5; }
.cookie-banner__actions { grid-template-columns: 1fr 1.2fr; gap: .625rem; margin-top: 1rem; }
.cookie-dismiss,
.cookie-primary { min-height: 2.875rem; border-radius: .75rem; }
.cookie-dismiss { position: absolute; top: .55rem; right: .6rem; min-height: 2rem; padding: .35rem; border: 0; }
.cookie-primary { border: 0; }
@media (max-width: 760px) {
  .cookie-notice { bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)); border-radius: 1rem; }
  .cookie-banner__actions { grid-template-columns: 1fr; }
}

.legal-header { border-bottom: var(--border-subtle); }
.legal-header .header-inner { min-height: 4.5rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-8); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.breadcrumbs a { color: var(--color-accent); }
.legal-page { width: min(52rem, calc(100% - 2 * var(--layout-gutter))); margin-inline: auto; padding-block: clamp(var(--space-12), 8vw, var(--space-24)); }
.legal-page h1 { max-width: 18ch; font-family: var(--font-display); font-size: var(--font-size-h1); font-weight: 450; letter-spacing: var(--tracking-heading); line-height: 1.04; }
.legal-page .edition { margin-bottom: var(--space-4); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.legal-page .legal-lead { margin-top: var(--space-8); font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.legal-page section { padding-top: var(--space-12); }
.legal-page h2 { font-family: var(--font-display); font-size: var(--font-size-h3); font-weight: 550; line-height: var(--line-height-h3); }
.legal-page p,
.legal-page ul { margin: var(--space-4) 0 0; }
.legal-page ul { padding-left: 1.25rem; }
.legal-page li + li { margin-top: var(--space-2); }
.legal-page code { padding: 0.1em 0.3em; background: #e7e5df; font-size: 0.9em; }
.legal-note { margin-top: var(--space-12); padding: var(--space-6); border-left: 2px solid var(--color-accent); background: var(--color-surface); }

.profile-page { padding-block: clamp(var(--space-12), 7vw, var(--space-24)); }
.profile-grid { display: grid; grid-template-columns: minmax(18rem, 4fr) minmax(0, 7fr); gap: var(--space-24); align-items: start; }
.profile-photo { position: sticky; top: var(--space-8); border: var(--border-subtle); background: var(--color-surface); overflow: hidden; }
.profile-photo img { width: 100%; height: auto; }
.profile-copy h1 { max-width: 14ch; font-family: var(--font-display); font-size: var(--font-size-h1); font-weight: 450; letter-spacing: var(--tracking-heading); line-height: 1.04; }
.profile-copy .edition { margin-bottom: var(--space-4); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.profile-role { max-width: 40rem; margin-top: var(--space-6); color: var(--color-ink-muted); font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.profile-copy section { max-width: var(--layout-reading); padding-top: var(--space-12); }
.profile-copy h2 { font-family: var(--font-display); font-size: var(--font-size-h3); font-weight: 550; line-height: var(--line-height-h3); }
.profile-copy section p, .profile-copy section ul { margin: var(--space-4) 0 0; }
.profile-copy section ul { padding-left: 1.25rem; }
.profile-copy section li + li { margin-top: var(--space-2); }
.profile-copy section a:not(.primary-action) { color: var(--color-accent); text-underline-offset: 0.22em; }
.profile-action { width: 100%; }

@media (min-width: 1024px) {
  .legal-page { width: calc(100% - 2 * var(--layout-gutter)); }
  .legal-page h1,
  .profile-copy h1,
  .profile-role,
  .profile-copy section { max-width: none; }
  .profile-grid { grid-template-columns: minmax(18rem, 28%) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); }
}

@media (max-width: 760px) {
  .legal-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .legal-nav a { width: 100%; }
  .cookie-notice { top: auto; right: max(0.75rem, env(safe-area-inset-right, 0px)); bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)); left: max(0.75rem, env(safe-area-inset-left, 0px)); width: auto; max-height: calc(100dvh - 1.5rem - env(safe-area-inset-bottom, 0px)); grid-template-columns: minmax(0, 1fr); gap: 0.625rem; padding: 0.75rem; overflow-y: auto; overscroll-behavior: contain; }
  .cookie-banner__copy { grid-row: 2; padding-top: 0; }
  .cookie-banner__actions { grid-row: 3; min-width: 0; }
  .cookie-dismiss { position: static; grid-row: 1; justify-self: end; min-height: var(--tap-target-min); margin: -0.3125rem -0.1875rem -0.3125rem 0; }
  .cookie-primary { width: 100%; }
  .legal-page h1 { max-width: 100%; }
  .profile-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-12); }
  .profile-photo { position: static; aspect-ratio: 4 / 5; }
  .profile-photo img { height: 100%; object-fit: cover; object-position: 50% 24%; }
  .profile-copy h1 { max-width: 100%; }
}

/* Source: blog.css */
.blog-header-inner {
  min-height: 5rem;
}

.article-content .graphic-diagram { width: 100%; max-width: 100%; margin: 1.5rem 0; }
.graphic-diagram picture, .graphic-diagram img { display: block; width: 100%; height: auto; }

.article-diagrams { padding-block: 1.5rem; }
.article-diagrams .compact-diagram { width: 100%; margin: 0; padding: clamp(1rem, 2vw, 1.75rem); border-block: var(--border-strong); background: var(--color-surface); }
.compact-diagram header { margin-bottom: 1.25rem; }
.compact-diagram .diagram-kicker { color: var(--color-accent); font-size: .8125rem; font-weight: 650; }
.compact-diagram h2 { margin: .25rem 0 .5rem; font: 500 clamp(1.5rem, 2.3vw, 2rem)/1.2 var(--font-display); }
.diagram-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.diagram-items[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.diagram-items[data-count="4"], .diagram-items[data-count="7"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.diagram-item { min-width: 0; padding-top: .75rem; border-top: 2px solid var(--color-accent); }
.diagram-item h3 { font: 650 1.0625rem/1.4 var(--font-body); margin-bottom: .5rem; }
.diagram-item p, .compact-diagram header > p { font-size: 1rem; line-height: 1.5; }
.compact-diagram .diagram-note { margin-top: 1.25rem; padding-top: .75rem; border-top: var(--border-subtle); font-size: 1rem; line-height: 1.5; }
.compact-diagram figcaption { margin-top: .75rem; font-size: .8125rem; }
.compact-diagram a { color: var(--color-accent); text-underline-offset: .2em; }
@media (max-width: 1023px) { .diagram-items, .diagram-items[data-count="4"], .diagram-items[data-count="7"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .diagram-items, .diagram-items[data-count="2"], .diagram-items[data-count="4"], .diagram-items[data-count="7"] { grid-template-columns: minmax(0, 1fr); } }

/* Fastov34 editorial reading pattern, adapted to Fastov30 identity. */
.article-section { border-top: var(--border-subtle); }
.article-section > details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.5rem;
  padding-block: 1.25rem;
  cursor: pointer;
  list-style: none;
}
.article-section > details > summary::-webkit-details-marker { display: none; }
.article-content .article-section h2 { margin: 0; font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.2; }
.article-section h2 { scroll-margin-top: 2rem; }
.disclosure-action { flex: 0 0 auto; color: var(--color-accent); font-size: .8125rem; text-decoration: underline; text-underline-offset: .2em; }
details:not([open]) > summary .when-open, details[open] > summary .when-closed { display: none; }
summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.article-section-body { padding-bottom: 2rem; }
.article-section-body > :first-child { margin-top: 0; }
.article-faq-item { padding-block: 1rem; border-bottom: var(--border-subtle); }
.article-faq-item > summary { min-height: 44px; cursor: pointer; font-weight: 600; }
.article-summary { max-width: 68ch; margin-top: 1.5rem; padding-left: 1.25rem; border-left: 2px solid var(--color-accent); }
.article-summary > strong { display: block; margin-bottom: .5rem; font-size: .875rem; color: var(--color-accent); }
.article-summary p { font-size: 1.125rem; line-height: 1.65; }
.article-sources { margin-top: 2rem; border-top: var(--border-strong); padding-top: 1.5rem; }
.article-content .article-sources h2 { margin-top: 0; }

@media print {
  .article-toc, .article-call, .cookie-notice { display: none; }
  .article-section details::details-content { display: block; content-visibility: visible; }
}

.blog-intro,
.article-hero {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  border-bottom: var(--border-subtle);
}

.blog-intro h1,
.article-hero h1 {
  max-width: 26ch;
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4.8vw, 4.25rem);
  font-weight: 450;
  letter-spacing: var(--tracking-heading);
  line-height: 1.08;
  text-wrap: balance;
}

.article-breadcrumbs {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-6);
  color: var(--color-ink-muted);
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
}

.article-breadcrumbs a {
  color: var(--color-accent);
  text-underline-offset: 0.2em;
}

.article-breadcrumbs [aria-current="page"] {
  overflow-wrap: anywhere;
}

.blog-intro > p,
.article-dek {
  max-width: 48rem;
  margin-top: var(--space-8);
  color: var(--color-ink-muted);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-6);
  margin-top: var(--space-8);
  color: var(--color-ink-muted);
  font-size: var(--font-size-small);
}

.article-meta a {
  color: var(--color-accent);
  text-underline-offset: 0.22em;
}

.draft-status {
  max-width: var(--layout-reading);
  margin-top: var(--space-6);
  padding: var(--space-3) var(--space-4);
  border-left: 2px solid var(--color-accent);
  color: var(--color-ink-muted);
  background: var(--color-surface);
  font-size: var(--font-size-small);
}

.article-cover {
  width: min(50rem, calc(100% - 2 * var(--layout-gutter)));
  margin: var(--space-12) auto 0;
}

.article-cover img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border: var(--border-subtle);
  background: var(--color-surface);
}

.article-cover figcaption {
  margin-top: var(--space-3);
  color: var(--color-ink-muted);
  font-size: var(--font-size-caption);
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(12rem, 15rem) minmax(0, var(--layout-reading));
  justify-content: center;
  gap: var(--space-12);
  padding-block: var(--space-section);
}

.article-toc {
  position: sticky;
  top: var(--space-8);
  align-self: start;
  padding-top: var(--space-2);
}

.article-toc strong {
  display: block;
  padding-bottom: var(--space-3);
  border-bottom: var(--border-strong);
  font-size: var(--font-size-small);
}

.article-toc ol {
  margin: 0;
  padding: var(--space-3) 0 0;
  list-style: none;
}

.article-toc li + li {
  border-top: var(--border-subtle);
}

.article-toc a {
  display: block;
  padding-block: var(--space-3);
  color: var(--color-ink-muted);
  font-size: var(--font-size-caption);
  line-height: var(--line-height-small);
  text-decoration: none;
}

.article-toc a:hover {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.article-content {
  min-width: 0;
  max-width: var(--layout-reading);
  font-size: max(1rem, var(--font-size-body));
  line-height: 1.7;
}

.article-content .b-lede-p {
  margin-bottom: var(--space-12);
  padding-bottom: var(--space-8);
  border-bottom: var(--border-strong);
  color: var(--color-ink);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
}

.article-content h2,
.article-content h3 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
}

.article-content h2 {
  margin-top: var(--space-16);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.08;
}

.article-content h3 {
  margin-top: var(--space-12);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  line-height: 1.2;
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content table {
  margin-top: var(--space-6);
}

.article-content ul,
.article-content ol {
  padding-left: 1.35rem;
}

.article-content li + li {
  margin-top: var(--space-2);
}

.article-content a {
  color: var(--color-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

.article-content blockquote {
  margin-inline: 0;
  padding: var(--space-4) var(--space-6);
  border-left: 2px solid var(--color-accent);
  background: var(--color-surface);
}

.article-infographic {
  width: min(44rem, calc(100vw - 2 * var(--layout-gutter)));
  margin: var(--space-12) 0;
}

.article-infographic-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.article-infographic-scroll img {
  display: block;
  width: 100%;
  height: auto;
  border: var(--border-subtle);
  background: var(--color-surface);
}

.article-infographic-hint {
  display: none;
}

.article-infographic figcaption {
  margin-top: var(--space-3);
  color: var(--color-ink-muted);
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
}

@media (max-width: 48rem) {
  .article-infographic {
    width: 100%;
  }

  .article-infographic-hint {
    display: block;
    margin: 0 0 var(--space-3);
    color: var(--color-ink-muted);
    font-size: var(--font-size-caption);
  }

  .article-infographic-scroll img {
    width: 44rem;
    max-width: none;
  }
}

.article-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-small);
}

.article-table-scroll {
  max-width: 100%;
  margin-top: var(--space-6);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.article-table-scroll table {
  margin-top: 0;
  min-width: 38rem;
}

.article-content th,
.article-content td {
  padding: var(--space-3);
  border-bottom: var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

.article-content th {
  border-top: var(--border-strong);
}

.faq-question {
  margin-top: var(--space-8);
  font-size: 1.1rem;
}

.article-author {
  padding-block: var(--space-12);
  border-block: var(--border-subtle);
  background: var(--color-surface);
}

.article-author-inner {
  display: grid;
  grid-template-columns: 8rem minmax(0, 38rem) minmax(16rem, 1fr);
  align-items: center;
  gap: var(--space-8);
}

.article-author img {
  width: 8rem;
  aspect-ratio: 1;
  border: var(--border-subtle);
  object-fit: cover;
  object-position: 50% 24%;
}

.article-author h2 {
  font-family: var(--font-display);
  font-size: var(--font-size-h3);
  font-weight: 550;
}

.article-author p {
  margin-top: var(--space-2);
  color: var(--color-ink-muted);
}

.article-author-link {
  display: inline-flex;
  min-height: var(--tap-target-min);
  align-items: center;
  color: var(--color-accent);
  font-weight: 650;
  text-underline-offset: 0.22em;
}

.article-call {
  padding-block: var(--space-section);
  border-bottom: var(--border-subtle);
}

.article-call-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
  align-items: end;
  gap: var(--space-16);
}

.article-call h2 {
  max-width: 18ch;
  font-family: var(--font-display);
  font-size: var(--font-size-h2);
  font-weight: 450;
  line-height: var(--line-height-h2);
}

.article-call p {
  max-width: var(--layout-reading);
  margin-top: var(--space-6);
  color: var(--color-ink-muted);
}

.article-call .primary-action {
  width: 100%;
  margin-top: 0;
}

.article-list-section {
  padding-block: var(--space-section);
}

.article-list {
  margin: 0;
  padding: 0;
  border-top: var(--border-strong);
  list-style: none;
}

.article-list-item {
  display: grid;
  grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr);
  gap: var(--space-12);
  padding-block: var(--space-8);
  border-bottom: var(--border-subtle);
}

.article-list-item img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border: var(--border-subtle);
  object-fit: cover;
  object-position: center;
}

.article-list-item h2 {
  max-width: 26ch;
  font-family: var(--font-display);
  font-size: var(--font-size-h3);
  font-weight: 550;
  line-height: var(--line-height-h3);
}

.article-list-item h2 a {
  text-decoration: none;
}

.article-list-item h2 a:hover {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.article-list-item p {
  max-width: var(--layout-reading);
  margin-top: var(--space-4);
  color: var(--color-ink-muted);
}

.article-list-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin-top: var(--space-6);
  font-size: var(--font-size-caption);
}

.article-list-meta span {
  color: var(--color-ink-muted);
}

.empty-blog {
  max-width: var(--layout-reading);
  padding-block: var(--space-12);
  color: var(--color-ink-muted);
}

@media (max-width: 900px) {
  .article-layout {
    grid-template-columns: minmax(0, var(--layout-reading));
  }

  .article-toc {
    position: static;
    padding: 0;
  }

  .article-author-inner {
    grid-template-columns: 7rem minmax(0, 1fr);
  }

  .article-author-link {
    grid-column: 2;
  }
}

@media (max-width: 760px) {
  .blog-header-inner {
    min-height: 4.5rem;
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2);
    padding-block: var(--space-3);
  }

  .blog-header-inner .brand {
    max-width: 100%;
  }

  .header-nav {
    width: 100%;
    gap: var(--space-4);
  }

  .blog-intro,
  .article-hero {
    padding-block: var(--space-12);
  }

  .article-cover {
    margin-top: var(--space-8);
  }

  .article-layout {
    gap: var(--space-8);
    padding-block: var(--space-12);
  }

  .article-content h2 {
    margin-top: var(--space-12);
  }

  .article-author-inner,
  .article-call-inner,
  .article-list-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-author img {
    width: 7rem;
  }

  .article-author-link {
    grid-column: auto;
  }

  .article-list-item {
    gap: var(--space-6);
  }

  .article-list-item { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; }
  .article-list-item h2 { font-size: 1.3rem; }
  .article-list-item p { font-size: 1rem; }
  .article-list-item .article-list-meta { font-size: .8125rem; }
  .article-section > details > summary { align-items: flex-start; flex-direction: column; gap: .5rem; }

  .article-call .primary-action {
    margin-top: var(--space-8);
  }
}

@media (max-width: 390px) {
  .article-meta {
    flex-direction: column;
    gap: var(--space-1);
  }

  .article-toc {
    padding: var(--space-4);
  }
}

/* Fill the desktop grid instead of centering a narrow reading column. */
@media (min-width: 1024px) {
  .article-layout {
    grid-template-columns: clamp(12rem, 16vw, 17rem) minmax(0, 1fr);
    justify-content: stretch;
  }
  .article-content,
  .article-summary,
  .article-dek,
  .blog-intro h1,
  .article-hero h1,
  .article-list-item h2,
  .article-list-item p,
  .article-call p { max-width: none; }
  .article-content { font-size: 1.125rem; }
  .article-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 30%);
    align-items: start;
    gap: clamp(2rem, 4vw, 4rem);
    width: calc(100% - 2 * var(--layout-gutter));
    margin-inline: auto;
  }
  .article-hero > .shell { width: 100%; margin: 0; min-width: 0; }
  .article-hero .article-cover { width: 100%; margin: 0; }
  .article-hero .article-cover img { aspect-ratio: 3 / 2; }
  .article-list-item { grid-template-columns: 15rem minmax(0, 1fr); }
  .article-author-inner { grid-template-columns: 8rem minmax(0, 1fr) auto; }
}

/* Source: clarity.css */
/* Fastov30: calm, accessible legal help. Shared by all page templates. */
:root {
  --color-background: #f4f7f8;
  --color-surface: #ffffff;
  --color-ink: #203747;
  --color-ink-muted: #536471;
  --color-line: #dce5e9;
  --color-accent: #176573;
  --color-accent-hover: #104d58;
  --answer-background: #e7f1f3;
  --panel-radius: 16px;
  --layout-gutter: clamp(1rem, 3.5vw, 3.5rem);
}
body { background: var(--color-background); }
a, summary, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
.site-header, .legal-header { background: var(--color-surface); border: 0; }
.header-inner, .blog-header-inner { min-height: 88px; gap: 1.5rem; flex-wrap: wrap; padding-block: 1rem; }
.brand { gap: .5rem; max-width: 24rem; }
.brand strong { font-size: 1.25rem; line-height: 1.2; }
.header-nav { gap: 1.5rem; flex-wrap: wrap; align-items: center; }
.header-nav a { font-size: 1rem; text-decoration: none; }
.header-nav a:hover { color: var(--color-accent); text-decoration: underline; }
.header-nav .header-phone { padding: .7rem 1rem; background: var(--color-accent); color: white; border-radius: 8px; font-weight: 650; white-space: nowrap; }
.primary-action { border: 0; border-radius: 8px; gap: 1rem; min-height: 56px; font-size: 1rem; box-shadow: none; }
.primary-action strong { white-space: nowrap; }
.cta-bankruptcy-warning { border: 0; background: #eaf0f2; border-radius: 8px; padding: 1rem; }
.cta-bankruptcy-warning strong { font-weight: 400; font-size: .8125rem; line-height: 1.5; }
.hero, .section, .final-call, .article-hero, .blog-intro, .article-author, .article-call, .article-list, .legal-nav, .source-note { border: 0; }
.hero { padding-block: 2rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 2rem; align-items: center; background: var(--color-surface); border-radius: var(--panel-radius); overflow: hidden; }
.hero-copy { padding: clamp(1.5rem, 3vw, 3rem); }
.hero h1 { font-size: clamp(2.25rem, 3.5vw, 3.5rem); line-height: 1.12; max-width: none; text-wrap: pretty; }
.hero-lead { font-size: 1.1875rem; line-height: 1.6; margin-top: 1.5rem; }
.hero-copy .hero-answer { margin-top: 1rem; }
.hero-copy .primary-action { margin-top: 1.5rem; width: fit-content; }
.hero-copy .action-note { font-size: .875rem; }
.hero-person { border: 0; background: var(--color-surface); padding: 1rem 1rem 1rem 0; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.hero-person picture { display: block; height: 390px; overflow: hidden; border-radius: 12px; }
.hero-person img { object-position: 50% 23%; }
.hero-person figcaption { border: 0; padding: 1.25rem .5rem .5rem; }
.hero-person figcaption strong { font-size: 1.5rem; }
.section { padding-block: 2.5rem; }
.section h2, .final-call h2, .article-call h2 { font-size: clamp(1.75rem, 2.6vw, 2.5rem); line-height: 1.2; }
.section-head { margin-bottom: 1.5rem; gap: 2rem; align-items: center; }
.topic-links { border: 0; gap: 1rem; }
.topic-links > a { padding: 1rem; grid-template-columns: 6rem minmax(0, 1fr); border: 0; border-radius: 12px; background: var(--color-surface); transition: background-color 180ms ease; }
.topic-links > a:hover { background: var(--answer-background); }
.topic-links img { border-radius: 8px; aspect-ratio: 1; object-fit: cover; }
.topic-links strong { font-family: var(--font-body); font-size: 1.1875rem; line-height: 1.35; }
.topic-links small { font-size: .8125rem; }
.split-heading, .limits-grid, .final-call-grid { gap: 2.5rem; }
.ruled-list, .fact-list, .process-list, .case-list, .limits-copy { border: 0; }
.ruled-list { padding: 1rem 1.5rem; background: var(--color-surface); border-radius: 12px; }
.ruled-list li, .fact-list > div, .process-list li, .case-list li, .limits-copy p { border: 0; padding-block: .8rem; }
.ruled-list li { gap: 1.25rem; }
.responsibility-line { display: none; }
.process-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.process-list li { padding: 1.5rem; border-radius: 12px; background: var(--color-surface); }
.process-list h3 { font-family: var(--font-body); font-size: 1.1875rem; line-height: 1.35; }
.limits { background: var(--answer-background); color: var(--color-ink); }
.limits p, .limits-copy, .limits-grid > div > p, .limits-copy p { color: var(--color-ink-muted); }
.home-more { margin-block: .75rem; }
.home-more > summary, .source-details > summary { padding: 1rem 1.25rem; border-radius: 10px; background: var(--color-surface); cursor: pointer; min-height: 48px; font-weight: 600; }
.home-more .section { padding-block: 1.25rem; }
.home-more .shell { width: 100%; }
.source-note { background: transparent; padding-block: .75rem 2rem; }
.final-call, .article-call { padding-block: 2.5rem; background: var(--color-surface); }
.final-call-grid, .article-call-inner { align-items: center; }
/* The title and photo share one stable grid. The answer has its own panel. */
.article-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: center; gap: 2.5rem; width: calc(100% - 2 * var(--layout-gutter)); margin: 2rem auto 1.5rem; padding: 0; }
.article-hero > .shell { width: 100%; margin: 0; min-width: 0; }
.article-category { font-size: .875rem; color: var(--color-accent); font-weight: 600; margin-bottom: 1rem; }
.article-hero h1 { font-size: clamp(2rem, 3.3vw, 3.25rem); line-height: 1.15; max-width: none; text-wrap: pretty; }
.article-meta { margin-top: 1.5rem; font-size: .875rem; gap: .4rem 1rem; }
.article-meta > span:last-child { display: none; }
.article-cover, .article-hero .article-cover { display: block; width: 100%; margin: 0; min-width: 0; }
.article-cover img, .article-hero .article-cover img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 3/2; object-fit: cover; border: 0; border-radius: 14px; }
.article-cover figcaption { margin: .5rem 0 0; font-size: .75rem; line-height: 1.4; }
.article-overview { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; align-items: stretch; }
.article-summary { margin: 0; max-width: none; border: 0; border-radius: var(--panel-radius); background: var(--answer-background); padding: clamp(1.25rem, 2.5vw, 2rem); }
.article-summary h2 { margin: 0 0 1rem; font: 650 1.25rem/1.3 var(--font-body); color: var(--color-ink); }
.article-summary p { font-size: 1.125rem; line-height: 1.65; margin: 0; }
.article-summary p + p { margin-top: .75rem; }
.article-next-step { margin: 0; padding: 1.5rem; background: var(--color-surface); border-radius: var(--panel-radius); display: flex; flex-direction: column; justify-content: center; }
.article-next-step > strong { font-size: 1.125rem; }
.article-next-step p { font-size: 1rem; line-height: 1.5; margin-block: .75rem 1rem; }
.article-next-step .primary-action { display: flex; flex-direction: column; gap: .2rem; align-items: flex-start; width: 100%; padding: .75rem 1rem; margin-top: auto; }
.article-layout { display: block; padding-block: 2.5rem; }
.article-content { max-width: none; background: var(--color-surface); padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: var(--panel-radius); }
.questions-heading { margin-bottom: 1rem; }
.article-content .questions-heading h2 { margin: 0; padding: 0; border: 0; font: 600 clamp(1.4rem, 2vw, 1.75rem)/1.3 var(--font-body); }
.article-content .question-guide { margin: .5rem 0 0; font-size: 1rem; color: var(--color-ink-muted); }
.article-section, .article-section + .article-section { border: 0; }
.article-section > details > summary { flex-direction: row; align-items: center; min-height: 64px; padding: 1rem; margin-inline: -1rem; gap: 1rem; border-radius: 8px; transition: background-color 180ms ease; }
.article-section > details > summary:hover, .article-section > details[open] > summary { background: var(--color-background); }
.article-content .article-section h2 { margin: 0; padding: 0; border: 0; font: 550 clamp(1.125rem, 1.5vw, 1.3rem)/1.4 var(--font-body); }
.disclosure-action { width: 30px; height: 30px; display: grid; place-content: center; border-radius: 50%; background: var(--answer-background); text-decoration: none; font-size: 1.4rem; }
.article-section-body { padding-block: .5rem 1.25rem; }
.article-section-body p { margin-block: .75rem; }
/* Open article sections: a quiet heading column and uninterrupted answers. */
.article-content.continuous-article { padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--color-surface); }
.continuous-article .open-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 2.5rem; padding-block: 2rem; }
.continuous-article .open-section + .open-section { border-top: 1px solid var(--color-line); }
.article-content .open-section > h2 { font: 600 clamp(1.3rem, 1.7vw, 1.65rem)/1.35 var(--font-body); color: var(--color-ink); scroll-margin-top: 2rem; }
.open-section .article-section-body { min-width: 0; padding: 0; }
.open-section .article-section-body > :first-child { margin-top: 0; }
.open-section .article-section-body > :last-child { margin-bottom: 0; }
.article-toc.compact-contents { position: static; width: 100%; max-width: none; padding: 0; margin: 0 0 1.25rem; border: 0; background: transparent; }
.compact-contents > details { border-radius: 12px; background: var(--color-surface); padding: .25rem 1.5rem; }
.compact-contents summary { cursor: pointer; min-height: 52px; padding-block: .9rem; font-weight: 600; color: var(--color-accent); }
.compact-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 2.5rem; padding: 0 0 1.25rem 1.25rem; margin: 0; }
.compact-contents a { display: inline-block; line-height: 1.5; }
.related-articles { padding-block: 2rem 3rem; }
.related-articles > h2 { font: 600 1.75rem/1.3 var(--font-body); margin-bottom: 1.25rem; }
.related-articles > ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; padding: 0; }
.related-articles li { min-width: 0; background: var(--color-surface); border-radius: 12px; overflow: hidden; }
.related-articles a { display: block; height: 100%; text-decoration: none; }
.related-articles a:hover { background: var(--answer-background); }
.related-articles img { display: block; width: 100%; height: auto; aspect-ratio: 2.6; object-fit: cover; }
.related-articles span { display: block; padding: 1.25rem; font-weight: 600; line-height: 1.4; }
.preparation-link { padding-top: 1rem; }
@media (max-width: 760px) {
  .continuous-article .open-section { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-block: 1.5rem; }
  .compact-contents ol, .related-articles > ul { grid-template-columns: minmax(0, 1fr); }
  .related-articles a { display: grid; grid-template-columns: 6rem minmax(0, 1fr); align-items: center; }
  .related-articles img { height: 100%; aspect-ratio: 1; }
}
.article-section-body .b-lede-p { border: 0; padding-bottom: 0; margin-bottom: 1rem; }
.article-faq-item { border: 0; }
.article-content blockquote { border: 0; border-radius: 8px; background: var(--answer-background); }
.article-author { padding-block: 0 2rem; background: transparent; }
.article-author-inner { grid-template-columns: 4rem minmax(0, 1fr) auto; gap: 1rem; }
.article-author img { width: 4rem; border: 0; border-radius: 8px; }
.article-author h2 { font: 600 1.25rem/1.4 var(--font-body); }
.article-call p { max-width: none; }
.blog-intro { padding-block: 2.5rem 1rem; }
.blog-intro h1 { font-size: clamp(2rem, 3.5vw, 3rem); }
.blog-intro p { margin-top: 1rem; font-size: 1.125rem; }
.article-list-section { padding-block: 1rem 2.5rem; }
.article-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.article-list-item, .article-list-item + .article-list-item { border: 0; background: var(--color-surface); border-radius: 12px; padding: 1.25rem; grid-template-columns: 8rem minmax(0, 1fr); gap: 1.25rem; }
.article-list-item img { border: 0; border-radius: 8px; aspect-ratio: 1; object-fit: cover; }
.article-list-item h2, .article-list-item h3 { font: 600 1.25rem/1.35 var(--font-body); }
.article-list-item { position: relative; transition: background-color 180ms ease; }
.article-list-item:hover { background: var(--answer-background); }
.article-list-item h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 12px; }
.article-list-item:focus-within { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.catalog-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2rem; }
.catalog-nav a { background: var(--color-surface); padding: .6rem 1rem; border-radius: 8px; min-height: 44px; color: var(--color-accent); font-weight: 600; text-decoration: none; }
.catalog-nav a:hover { background: var(--answer-background); }
.catalog-group { scroll-margin-top: 1rem; margin-bottom: 2rem; }
.catalog-group > h2 { font: 600 1.5rem/1.3 var(--font-body); margin-bottom: 1rem; }
.article-list-item p { font-size: 1rem; margin-top: .75rem; }
.article-list-meta { display: none; }
.profile-page { padding-block: 2rem; }
.profile-grid { grid-template-columns: minmax(0, 30%) minmax(0, 1fr); gap: 2rem; align-items: start; }
.profile-photo { display: block; position: static; top: auto; aspect-ratio: 5/7; border: 0; border-radius: 14px; overflow: hidden; }
.profile-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.profile-copy { padding: 2rem; border-radius: 14px; background: var(--color-surface); }
.profile-copy h1 { font-size: clamp(2rem, 3.5vw, 3rem); max-width: none; }
.profile-copy section { padding-top: 1.5rem; max-width: none; }
.profile-role { margin-top: 1rem; }
.legal-page { background: var(--color-surface); border-radius: 14px; padding: clamp(1.25rem, 3vw, 2.5rem); margin-block: 2rem; }
.legal-page h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.2; }
.site-footer { padding-block: 2rem; background: var(--color-background); }
.footer-grid { gap: 1.5rem; }
.legal-nav { padding-top: 0; margin-top: 1.25rem; gap: .5rem 1.25rem; }
@media (min-width: 1600px) {
  .article-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 32%); }
}
@media (max-width: 1000px) {
  .header-inner { gap: 1rem; }
  .header-nav { gap: 1rem; }
  .article-overview { grid-template-columns: minmax(0, 1fr); }
  .article-next-step { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1.25rem; }
  .article-next-step p { grid-column: 1; margin: 0; }
  .article-next-step .primary-action { grid-column: 2; grid-row: 1/3; width: auto; margin: 0; align-self: center; }
  .article-list-item { grid-template-columns: 6rem minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .header-inner { flex-direction: column; align-items: stretch; padding-block: 1rem; }
  .header-inner .brand { max-width: 100%; }
  .brand strong { font-size: 1.125rem; }
  .header-nav { width: 100%; justify-content: flex-start; gap: .35rem 1rem; }
  .header-nav a { font-size: .9375rem; min-height: 44px; }
  .header-nav .header-phone { padding: .5rem .75rem; }
  .hero { padding-block: 1rem; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .hero-copy { padding: 1.25rem; }
  .hero h1 { font-size: 2rem; }
  .hero-copy .primary-action { width: 100%; }
  .hero-person { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 1rem; padding: 0 1.25rem 1.25rem; }
  .hero-person picture { height: 108px; border-radius: 8px; }
  .hero-person figcaption { padding: 0; justify-content: center; }
  .hero-person figcaption strong { font-size: 1.25rem; }
  .section, .final-call { padding-block: 1.75rem; }
  .split-heading, .limits-grid, .section-head, .final-call-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .topic-links { grid-template-columns: minmax(0, 1fr); }
  .topic-links > a { grid-template-columns: 4.5rem minmax(0, 1fr); }
  .process-list { grid-template-columns: minmax(0, 1fr); }
  .ruled-list li { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .article-hero { grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-block: 1.5rem; }
  .article-category { font-size: .8125rem; margin-bottom: .75rem; }
  .article-hero h1 { font-size: 2rem; }
  .article-meta { flex-direction: row; font-size: .8125rem; margin-top: 1rem; }
  .article-cover img, .article-hero .article-cover img { aspect-ratio: 16/7; object-position: center 57%; }
  .article-cover figcaption { font-size: .75rem; }
  .article-summary { padding: 1.25rem; }
  .article-summary p { font-size: 1.0625rem; line-height: 1.6; }
  .article-next-step { padding: 1.25rem; display: flex; gap: 0; }
  .article-next-step p { margin-block: .5rem 1rem; }
  .article-next-step .primary-action { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
  .article-layout { padding-block: 1.5rem; }
  .article-content { padding: 1.25rem; }
  .article-section > details > summary { min-height: 64px; }
  .article-author-inner { grid-template-columns: 4rem minmax(0, 1fr); }
  .article-author-link { grid-column: 2; }
  .article-call .primary-action { margin-top: .5rem; }
  .article-list { grid-template-columns: minmax(0, 1fr); }
  .article-list-item { padding: 1rem; gap: 1rem; grid-template-columns: 5rem minmax(0, 1fr); }
  .article-list-item h2, .article-list-item h3 { font-size: 1.125rem; }
  .profile-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .profile-photo { position: static; width: 9rem; aspect-ratio: 3/4; }
  .profile-copy { padding: 1.25rem; }
  .legal-nav { display: flex; flex-wrap: wrap; }
  .legal-nav a { width: auto; font-size: .8125rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

/* Desktop contents beside the article; one navigation for every screen size. */
@media (min-width: 1100px) {
  /* Не даём широкому экрану растянуть тело статьи до края viewport. */
  .article-layout {
    width: min(1360px, calc(100% - 2 * var(--layout-gutter)));
    margin-inline: auto;
  }
  .article-layout > .article-content {
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }
  /* Явная раскладка без зависимости от поддержки :has() в браузере. */
  .article-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
  }
  .article-layout > .article-toc { grid-column: 1; grid-row: 1; }
  .article-layout > .article-content { grid-column: 2; grid-row: 1; }
  .article-layout > .article-toc.compact-contents {
    background: var(--color-surface);
    z-index: 2;
  }
  .article-layout:has(> .compact-contents) { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
  .article-layout > * { min-width: 0; }
  .article-layout > .article-toc.compact-contents { position: sticky; top: 1rem; margin: 0; max-height: calc(100vh - 2rem); overflow-y: auto; }
  .compact-contents > details { padding: .25rem 1.25rem; }
  .compact-contents summary { cursor: default; list-style: none; }
  .compact-contents summary::-webkit-details-marker { display: none; }
  .compact-contents ol { grid-template-columns: minmax(0, 1fr); gap: .5rem; font-size: .9375rem; }
  .compact-contents li + li { margin-top: 0; }
  .article-layout:has(> .compact-contents) .open-section { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}

.article-content a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; padding-inline: .25rem; }

/* Контраст CTA не должен зависеть от цвета ссылки в родительском блоке. */
.article-cta .primary-action,
.article-call .primary-action,
.article-next-step .primary-action { color: #fff !important; }

/* Owner-approved Fastov34 composition adapted to the Astrakhan site. */
:root{--paper:#f3efe7;--paper-warm:#e8e1d5;--white:#fcfaf5;--ink:#10262d;--ink-soft:#3d5258;--navy:#17373f;--navy-deep:#0b252c;--copper:#b65d39;--copper-dark:#8d452c;--line:rgba(16,38,45,.17);--line-light:rgba(255,255,255,.2);--muted:#5f7076;--serif:var(--font-display);--serif-lcp:var(--font-display);--sans:var(--font-body);--color-background:var(--paper);--color-surface:var(--white);--color-ink:var(--ink);--color-ink-muted:var(--ink-soft);--color-accent:var(--copper-dark);--color-accent-hover:#733721;--color-line:#d8d3ca;--answer-background:#ede5d9;--panel-radius:4px;--layout-max:85rem}
html,body{background:var(--paper)}
.shell{max-width:1360px}.site-header{border-bottom:1px solid var(--color-line)}
.brand strong{font:750 30px/1 var(--font-body);letter-spacing:.08em}.brand small{display:block;font:400 12px/1.4 var(--font-body);letter-spacing:0;margin-top:7px;color:var(--muted)}
.header-nav .header-phone,.primary-action{border-radius:4px;background:var(--copper-dark);color:#fff}
.primary-action:hover{background:var(--color-accent-hover)}
h1,h2,h3{overflow-wrap:break-word;text-wrap:pretty}main p,main h1,main h2,main h3{max-width:none}
.article-section.open-section{grid-template-columns:minmax(0,1fr);gap:1rem}.article-section-body{min-width:0}.article-section-body :is(p,ul,ol,blockquote){max-width:none}
.article-content,.article-summary,.article-next-step,.profile-copy,.legal-page,.article-list-item{border-radius:4px}
.article-content{background:var(--white)}.article-content h2{font:400 clamp(28px,2.8vw,40px)/1.15 var(--font-display)}
.article-overview{grid-template-columns:minmax(0,1fr)}.article-next-step{display:block}.article-next-step .primary-action{width:fit-content;max-width:100%;margin-top:14px;flex-direction:row;align-items:center}
.article-call-inner,.final-call-grid,.section-head{grid-template-columns:minmax(0,1fr)}.article-call-inner .call-actions{width:100%;max-width:560px}
.article-section-body table{width:100%;border-collapse:collapse}.article-section-body th{background:var(--answer-background);font-weight:650}.article-section-body th,.article-section-body td{padding:14px;border:1px solid var(--color-line);vertical-align:top}
.article-section-body blockquote{padding:24px;background:var(--answer-background);border-left:3px solid var(--copper)}
.article-faq-item{padding:18px 0;border-bottom:1px solid var(--color-line)}.article-faq-item h3{font:600 20px/1.4 var(--font-body);margin:0 0 12px}
.profile-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0;padding:24px 0;border-block:1px solid var(--color-line)}.profile-proof strong{display:block;color:var(--copper-dark);font:400 34px/1.2 var(--font-display)}.profile-proof span{font-size:14px}
.sticky-contact{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px max(20px,calc((100vw - 1280px)/2));background:var(--white);box-shadow:0 -3px 18px #10262d14;border-top:1px solid var(--color-line)}.sticky-contact p{margin:0;font-size:14px}.sticky-contact a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;background:var(--copper-dark);color:#fff;text-decoration:none;border-radius:4px;font-weight:650;white-space:nowrap}body{padding-bottom:88px}.cookie-notice{z-index:60;bottom:92px}.section-jump{margin-top:24px;padding:18px;background:var(--answer-background)}
.article-list-item,.article-list-item img,.topic-links>a,.topic-links img,.profile-photo,.article-cover img{border-radius:4px}
@media(max-width:760px){.header-inner{flex-direction:row;align-items:center;justify-content:space-between}.header-nav{width:auto;gap:10px}.header-nav>a:not(.header-phone){display:none}.brand strong{font-size:25px}.brand small{font-size:10px;max-width:155px}.header-nav .header-phone{font-size:13px;padding:10px}.article-next-step .primary-action{width:100%;flex-wrap:wrap}.article-section-body th,.article-section-body td{padding:10px}.sticky-contact{padding:9px 16px calc(9px + env(safe-area-inset-bottom));gap:10px}.sticky-contact p{font-size:12px;max-width:115px}.sticky-contact a{font-size:14px;padding:10px 16px;flex:1}.profile-proof{gap:12px}.profile-proof strong{font-size:26px}.profile-proof span{font-size:12px}.article-call-inner .call-actions{max-width:none}.article-layout{width:calc(100% - 24px)}.article-content{padding:20px}.article-hero h1{font-size:34px;line-height:1.12}}
.article-call h2,.article-call p,.cta-bankruptcy-warning{max-width:none!important}
.cookie-notice{top:auto!important;bottom:94px!important;height:auto!important;max-height:calc(100vh - 120px);overflow:auto;gap:16px;padding:20px}.cookie-notice .cookie-banner__actions{margin-top:12px}.cookie-notice .cookie-dismiss{position:static;margin-left:auto;min-height:44px}.cookie-notice .cookie-banner__copy{align-self:auto}.mobile-menu{display:none}
@media(max-width:760px){.header-inner{gap:8px;position:relative}.mobile-menu{display:block;position:relative}.mobile-menu summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:14px}.mobile-menu nav{position:absolute;right:0;top:100%;width:220px;z-index:45;padding:16px;background:var(--white);box-shadow:0 8px 24px #10262d24}.mobile-menu nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}.header-nav .header-phone{font-size:12px;padding:8px}.brand small{max-width:130px}.cookie-notice{left:12px;right:12px;width:auto;padding:16px;max-width:none}.cookie-notice .cookie-dismiss{font-size:13px}.cookie-notice .cookie-banner__copy p{font-size:13px}.cookie-notice .cookie-banner__actions{display:block}.cookie-notice button{min-height:44px}.cookie-notice .cookie-primary{width:100%}}
.cookie-notice .cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookie-notice .cookie-dismiss{margin:0;justify-content:center;border:1px solid var(--color-line);font-size:14px}.cookie-notice .cookie-primary{font-size:14px}.cookie-notice .cookie-banner__copy p{margin:8px 0 0}.cookie-notice{display:block}.cookie-notice[hidden]{display:none}

/* 2026-09-19 — Editorial dossier: local Fastov30 redesign.
   Derived from the approved legal reference's composition, not its assets or effects. */
:root {
  --color-background: #edf0f0;
  --color-surface: #f9f8f4;
  --color-ink: #142e35;
  --color-ink-muted: #4e6268;
  --color-line: #c9d0ce;
  --color-accent: #9a4e32;
  --color-accent-hover: #7a3b26;
  --color-accent-active: #5f2d1d;
  --answer-background: #e3e9e7;
  --layout-max: 86rem;
}

body { background: var(--color-background); color: var(--color-ink); }
.site-header, .legal-header { background: color-mix(in srgb, var(--color-background) 94%, white); }
.header-inner { min-height: 4.5rem; }
.header-nav { gap: clamp(.9rem, 2vw, 2rem); }
.header-nav a { color: var(--color-ink); }
.header-nav .header-phone, .primary-action { box-shadow: none; }
.header-nav .header-phone { border: 1px solid var(--color-accent); }

/* Articles: a readable case file, without a nested-card dashboard. */
.article-hero { padding-block: clamp(2.5rem, 6vw, 6rem) clamp(1.5rem, 4vw, 3.5rem); background: var(--color-background); }
.article-hero .shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .32fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: end; }
.article-hero h1 { max-width: 17ch; font-size: clamp(2.8rem, 5.6vw, 5.7rem); line-height: .98; }
.article-category { padding-bottom: .9rem; border-bottom: 2px solid var(--color-accent); color: var(--color-ink-muted); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.article-meta { align-self: end; margin: 0; padding: 1rem 0; border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); line-height: 1.45; }
.article-cover { width: min(86rem, calc(100% - 2 * var(--layout-gutter))); margin: 0 auto; }
.article-cover img, .article-hero .article-cover img { aspect-ratio: 21 / 8; border: 0; border-radius: 0; object-position: center 52%; }
.article-cover figcaption { max-width: 68ch; margin: .65rem auto 0; color: var(--color-ink-muted); }
.article-overview { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .65fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; padding-block: clamp(2rem, 5vw, 4rem); }
.article-summary, .article-next-step { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.article-summary { padding-left: 1.25rem; border-left: 3px solid var(--color-accent); }
.article-summary h2 { color: var(--color-accent); font: 700 .75rem/1.3 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.article-summary p { font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.55; }
.article-next-step { padding-top: .2rem; border-top: 2px solid var(--color-ink); }
.article-next-step strong { font: 500 clamp(1.35rem, 2vw, 1.8rem)/1.15 var(--font-display); }
.article-next-step p { margin-top: .8rem; color: var(--color-ink-muted); }
.article-next-step .primary-action { width: 100%; min-height: 3.5rem; margin-top: 1.2rem; }
.article-layout { grid-template-columns: 13rem minmax(0, 46rem); gap: clamp(1.5rem, 5vw, 5rem); padding-top: clamp(2rem, 4vw, 4rem); }
.article-layout > .article-content { padding: 0; border-radius: 0; background: transparent; }
.article-content .open-section { padding-block: clamp(1.8rem, 4vw, 3rem); border-top: 1px solid var(--color-line); }
.article-content .open-section:last-child { border-bottom: 1px solid var(--color-line); }
.article-content h2, .article-content .article-section h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.article-content h3 { font-family: var(--font-body); font-weight: 700; }
.article-content .article-section-body { padding: 0; }
.article-content blockquote { padding: 1.25rem; border-left: 3px solid var(--color-accent); border-radius: 0; background: var(--answer-background); }
.article-toc.compact-contents { border-top: 2px solid var(--color-ink); border-radius: 0; background: transparent; }
.compact-contents > details { padding: .75rem 0; }
.article-call { margin-top: clamp(2rem, 5vw, 4rem); border-block: 1px solid var(--color-ink); background: var(--color-surface); }
.article-call-inner { padding-block: clamp(2rem, 5vw, 3.5rem); }
.cta-bankruptcy-warning { padding: 1rem 1.1rem; border-left: 3px solid var(--color-accent); color: var(--color-ink); background: var(--answer-background); font-size: .94rem; line-height: 1.5; }
.article-author, .related-articles { border-color: var(--color-line); }
.related-articles > ul { border-top: 1px solid var(--color-line); }
.related-articles li { border-bottom: 1px solid var(--color-line); }
.related-articles a, .article-list-item { border-radius: 0; background: transparent; }
.related-articles a:hover, .article-list-item:hover { background: var(--color-surface); }

/* Catalog, profile and legal information retain the same paper-and-rule grammar. */
.blog-intro, .legal-page, .profile-copy { border-radius: 0; background: transparent; }
.blog-intro { padding-block: clamp(2.5rem, 6vw, 5rem) 1.5rem; }
.article-list { gap: 0; border-top: 2px solid var(--color-ink); }
.article-list-item, .article-list-item + .article-list-item { padding: 1.25rem 0; border: 0; border-bottom: 1px solid var(--color-line); }
.article-list-item img { border-radius: 0; }
.catalog-nav a { border-radius: 0; border-bottom: 1px solid var(--color-line); background: transparent; }
.profile-copy { padding: 0; }
.profile-photo { border: 0; border-radius: 0; }
.legal-page { padding-inline: 0; }
.site-footer { border-top: 2px solid var(--color-ink); background: var(--color-surface); }

@media (max-width: 760px) {
  .article-hero .shell, .article-overview, .article-layout { display: block; }
  .article-hero h1 { max-width: 14ch; font-size: clamp(2.55rem, 12vw, 4.25rem); }
  .article-meta { margin-top: 1.5rem; }
  .article-cover { width: 100%; margin-top: 0; }
  .article-cover img, .article-hero .article-cover img { aspect-ratio: 4 / 3; }
  .article-cover figcaption { padding-inline: var(--layout-gutter); }
  .article-overview { padding-block: 1.5rem 2rem; }
  .article-next-step { margin-top: 1.75rem; }
  .article-content .open-section { padding-block: 1.75rem; }
  .article-content { padding: 0; }
  .article-layout { width: min(100% - 2 * var(--layout-gutter), 46rem); }
  .article-toc { position: static; margin-bottom: 1.5rem; }
  .sticky-contact { padding-inline: 1rem; }
}

/* Article hero: one reading column, then one cover.  Do not nest two desktop grids.
   The former nested grids squeezed a long Russian H1 into a word-by-word column in Safari. */
.article-hero {
  display: block;
  width: 100%;
  margin: 0;
  padding-block: clamp(2.5rem, 6vw, 6rem) clamp(1.5rem, 4vw, 3.5rem);
}
.article-hero > .shell {
  display: block;
  width: min(86rem, calc(100% - 2 * var(--layout-gutter)));
  margin-inline: auto;
}
.article-hero h1 {
  max-width: 20ch;
  font-size: clamp(2.65rem, 5vw, 5.25rem);
  line-height: 1.02;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}
/* Desktop article titles use the complete editorial canvas.  A title must never
   be narrowed into a decorative column: long Russian headlines can balance
   naturally across one or two lines, rather than being forced into three. */
@media (min-width: 961px) {
  .article-hero h1 {
    max-width: none;
    font-size: clamp(2.7rem, 4.2vw, 4.8rem);
    line-height: 1.02;
    /* Balance can turn a medium headline into three short lines.  Pretty
       preserves readable natural wrapping across the full article canvas. */
    text-wrap: pretty;
  }
}
.article-hero .article-meta {
  max-width: 52rem;
  margin-top: 1.5rem;
}
.article-hero > .article-cover,
.article-hero .article-cover {
  width: min(86rem, calc(100% - 2 * var(--layout-gutter)));
  margin: clamp(1.5rem, 4vw, 3.5rem) auto 0;
}
.article-hero .article-cover img {
  width: 100%;
  max-height: 360px;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}
@media (max-width: 760px) {
  .article-hero { padding-block: 2rem 1.5rem; }
  .article-hero > .shell,
  .article-hero > .article-cover,
  .article-hero .article-cover { width: min(100% - 2 * var(--layout-gutter), 46rem); }
  .article-hero h1 { max-width: 14ch; font-size: clamp(2.35rem, 10.5vw, 3.5rem); line-height: 1.06; }
  .article-hero .article-cover img { aspect-ratio: 4 / 3; }
}

/* Photography is supporting evidence, never a competing screen or overlay. */
.site img { max-width: 100%; }
.article-cover,
.article-hero > .article-cover,
.article-hero .article-cover { width: min(68rem, calc(100% - 2 * var(--layout-gutter))); }
.article-cover img,
.article-hero .article-cover img { max-height: 360px; aspect-ratio: 16 / 7; object-fit: cover; }
.hero-person picture { height: clamp(220px, 24vw, 320px); }
@media (max-width: 760px) {
  .article-cover,
  .article-hero > .article-cover,
  .article-hero .article-cover { width: min(100% - 2 * var(--layout-gutter), 46rem); }
  .article-cover img,
  .article-hero .article-cover img { max-height: 260px; aspect-ratio: 4 / 3; }
  .hero-person picture { height: 108px; }
}

/* Site-wide reading guard: tablet is not a compressed desktop.
   Every content route may use this shared sheet, so complex grids stop before text becomes a narrow column. */
html, body { overflow-x: clip; }
@media (max-width: 960px) {
  .hero-grid,
  .split-heading,
  .limits-grid,
  .responsibility-layout,
  .section-head,
  .practitioner-grid,
  .final-call-grid,
  .sources-grid,
  .property-evidence,
  .source-details-copy,
  .footer-grid,
  .profile-grid,
  .article-overview,
  .article-layout,
  .continuous-article .open-section {
    grid-template-columns: minmax(0, 1fr);
  }
  .article-layout { display: block; width: min(100% - 2 * var(--layout-gutter), 46rem); }
  .article-layout > .article-toc.compact-contents { position: static; max-height: none; margin-bottom: 1.5rem; }
  .article-hero h1 { max-width: 18ch; font-size: clamp(2.5rem, 7vw, 4.5rem); }
  .article-cover img, .article-hero .article-cover img { aspect-ratio: 16 / 7; }
  .profile-photo { position: static; width: min(100%, 30rem); }
  .article-list { grid-template-columns: minmax(0, 1fr); }
  .article-list-item { grid-template-columns: 7rem minmax(0, 1fr); }
  .fastov-home .leadGrid,
  .fastov-home .outcomes,
  .fastov-home .outcomes > div,
  .fastov-home .matrixIntro,
  .fastov-home .contact,
  .fastov-home .costSection,
  .fastov-home .lowerGrid,
  .fastov-home .situationSection { grid-template-columns: minmax(0, 1fr); }
  .fastov-home .expert { border-top: 1px solid var(--home-line); border-left: 0; }
  .fastov-home .lead > h1 { max-width: 17ch; }
}
@media (max-width: 620px) {
  .article-list-item { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .article-list-item img { width: 100%; }
  .article-section-body,
  .tableWrap,
  .comparisonWrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .fastov-home .experienceFacts,
  .fastov-home .identityFacts,
  .fastov-home .decisionRoutes,
  .fastov-home .videoList { grid-template-columns: minmax(0, 1fr); }
}

/* Shared continuation of the reference-led home direction: pages read as one calm service,
   rather than a stack of technical panels. Legal text, hierarchy and warnings stay intact. */
.site-header, .legal-header { border-bottom-color: color-mix(in srgb, var(--color-line) 70%, transparent); }
.header-nav .header-phone,
.primary-action,
.sticky-contact a { border-radius: 10px; }
.article-summary {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border-left: 0;
  border-radius: 16px;
  background: #e5eeeb;
}
.article-summary h2 { color: var(--color-ink-muted); }
.article-next-step {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border-top: 0;
  border-radius: 16px;
  background: var(--color-surface);
}
.article-call { border: 0; border-radius: 18px; }
.cta-bankruptcy-warning { border-left: 0; border-radius: 12px; background: #e5eeeb; }
.article-list-item:hover,
.related-articles a:hover { border-radius: 12px; }
@media (max-width: 760px) {
  .article-summary,
  .article-next-step,
  .article-call { border-radius: 12px; }
}

/* Blog catalogue — editorial cards with one real, topic-specific photograph per article.
   Adapted from the calm publishing rhythm of the selected references: no tiles within tiles,
   no decorative labels and no oversized imagery. */
.blog-index-page .blog-intro { padding-block: clamp(2rem, 4vw, 3.75rem) 1.5rem; }
.blog-index-page .blog-intro h1 { max-width: 23ch; margin-bottom: .65rem; font-size: clamp(2.35rem, 4.5vw, 4.35rem); line-height: 1.02; }
.blog-index-page .blog-intro p { max-width: 50rem; margin: 0; font-size: clamp(1.05rem, 1.55vw, 1.22rem); }
.blog-index-page .article-list-section { padding-block: 0 clamp(4rem, 9vw, 8rem); }
.blog-index-page .catalog-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  padding: 0;
  border: 0;
}
.blog-index-page .catalog-nav a {
  padding: .58rem .9rem;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink-muted);
  font-size: .88rem;
  text-decoration: none;
}
.blog-index-page .catalog-nav a:hover,
.blog-index-page .catalog-nav a:focus-visible { color: var(--color-ink); border-color: var(--color-accent); background: var(--color-surface); }
.blog-index-page .catalog-group { margin-top: clamp(3rem, 6vw, 5rem); }
.blog-index-page .catalog-group:first-of-type { margin-top: 0; }
.blog-index-page .catalog-group > h2 { max-width: 26ch; margin-bottom: clamp(1.35rem, 3vw, 2.25rem); }
.blog-index-page .article-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.blog-index-page .article-list-item,
.blog-index-page .article-list-item + .article-list-item {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.blog-index-page .article-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: 16px;
  background: var(--color-surface);
  color: var(--color-ink);
  text-decoration: none;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.blog-index-page .article-card-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #dfe7e4; }
.blog-index-page .article-card-media img { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; object-fit: cover; transition: transform 280ms ease; }
.blog-index-page .article-card-copy { display: flex; flex: 1; flex-direction: column; gap: .8rem; padding: clamp(1.15rem, 2.2vw, 1.55rem); }
.blog-index-page .article-card-meta { display: flex; gap: .6rem; color: var(--color-ink-muted); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.blog-index-page .article-card-meta span { color: var(--color-accent); }
.blog-index-page .article-card h3 { margin: 0; font: 500 clamp(1.25rem, 2vw, 1.55rem)/1.14 var(--font-display); letter-spacing: -.015em; }
.blog-index-page .article-card-description { color: var(--color-ink-muted); font-size: .98rem; line-height: 1.55; }
.blog-index-page .article-card-action { margin-top: auto; padding-top: .5rem; color: var(--color-accent); font-size: .92rem; font-weight: 700; }
.blog-index-page .article-card-action span { margin-left: .25rem; }
.blog-index-page .article-card:hover { border-color: color-mix(in srgb, var(--color-accent) 55%, var(--color-line)); box-shadow: 0 16px 35px rgb(22 48 56 / 9%); transform: translateY(-3px); }
.blog-index-page .article-card:hover .article-card-media img { transform: scale(1.025); }
.blog-index-page .article-card:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
@media (min-width: 1100px) {
  .blog-index-page .blog-intro h1 { max-width: none; white-space: nowrap; font-size: clamp(2.9rem, 3.8vw, 4.1rem); }
}
@media (max-width: 960px) {
  .blog-index-page .article-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .blog-index-page .catalog-nav { gap: .45rem; margin-bottom: 3rem; }
  .blog-index-page .catalog-nav a { padding: .52rem .76rem; font-size: .82rem; }
  .blog-index-page .article-list { grid-template-columns: minmax(0, 1fr); }
  .blog-index-page .article-card { border-radius: 14px; }
  .blog-index-page .article-card-copy { padding: 1.1rem; }
  .blog-index-page .article-card-media { aspect-ratio: 3 / 2; }
}
@media (prefers-reduced-motion: reduce) {
  .blog-index-page .article-card,
  .blog-index-page .article-card-media img { transition: none; }
  .blog-index-page .article-card:hover,
  .blog-index-page .article-card:hover .article-card-media img { transform: none; }
}

/* A consent decision takes precedence over the fixed call bar on short landscape
   screens.  Keeping both sheets fixed leaves too little usable reading height. */
@media (max-width: 960px) and (max-height: 520px) and (orientation: landscape) {
  body:has(.cookie-notice:not([hidden])) .sticky-contact {
    pointer-events: none;
    transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
  }

  .cookie-notice {
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: max(0.75rem, env(safe-area-inset-bottom, 0px)) !important;
    left: auto;
    width: min(19.375rem, calc(100% - 2rem));
    max-height: calc(100dvh - 1.5rem - env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Article reading canvas: a wide desktop uses the full site column after the
   contents rail; mobile keeps readable gutters and stacks navigation first. */
@media (min-width: 961px) {
  .article-layout {
    grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
    width: min(1360px, calc(100% - 2 * var(--layout-gutter)));
  }

  .article-layout > .article-content { max-width: none; }

  .article-cover,
  .article-hero > .article-cover,
  .article-hero .article-cover { width: min(86rem, calc(100% - 2 * var(--layout-gutter))); }

  .article-cover img,
  .article-hero .article-cover img {
    max-height: none;
    aspect-ratio: 16 / 5;
    object-position: center 52%;
  }
}
