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

  /* Neutral base */
  --color-background: #f3efe7;
  --color-surface: #fcfaf5;
  --color-surface-elevated: #ffffff;
  --color-ink: #10262d;
  --color-ink-muted: #3d5258;
  --color-line: #c9d0ce;
  --color-line-strong: #94a29f;

  /* The only brand accent; variants are interaction states only. */
  --color-accent: #b65d39;
  --color-accent-hover: #8d452c;
  --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: 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%;
  }
}

/* Source-style mobile call and accessible cookie dismissal. */
.cookie-notice[hidden]{display:none!important}.sticky-contact{display:none}@media(max-width:760px){.sticky-contact{display:flex}}

/* Source: festival-home.css */
@layer fastov30-legacy {
/* Fastov30 home: single editorial system, local candidate only. */
.fastov-home {
  --festival-ink: #16343d;
  --festival-ink-soft: #294953;
  --festival-paper: #f6f5f0;
  --festival-paper-deep: #ebe9e1;
  --festival-mist: #e8f0ed;
  --festival-copper: #b65735;
  --festival-copper-soft: #d98a68;
  --festival-muted: #64777b;
  --festival-line: rgb(22 52 61 / 14%);
  background: #edf2f0;
  color: var(--festival-ink);
  padding-bottom: 5.75rem;
}

.fastov-home *, .fastov-home *::before, .fastov-home *::after { box-sizing: border-box; }
.fastov-home :is(h1,h2,h3,p,strong,span,a,li,dt,dd,th,td) { min-width: 0; overflow-wrap: break-word; }
.fastov-home a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.fastov-home svg { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fastov-home .frame { width: min(calc(100% - 2.5rem), 1360px); margin: 0 auto; }
.fastov-home .sheet { padding: 1.5rem 0 4rem; }
.fastov-home .sheetRule { display: inline-flex; margin: 0 0 1rem; color: var(--festival-muted); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

/* Hero — expertise is the single visual anchor. */
.fastov-home .leadGrid {
  display: grid;
  grid-template-columns: minmax(0, 1.26fr) minmax(280px, .54fr);
  overflow: hidden;
  border-radius: 2rem;
  background: var(--festival-ink);
  box-shadow: 0 1.75rem 4.5rem rgb(20 46 53 / 13%);
}
.fastov-home .lead { padding: clamp(2.5rem, 5.2vw, 5.3rem) clamp(2rem, 5vw, 5.6rem); color: #f8f6ef; }
.fastov-home .kicker,
.fastov-home .editorialHead > p:first-child,
.fastov-home .videoHead p,
.fastov-home .contact > div > p:first-child,
.fastov-home .fastov-offer-copy > p {
  margin: 0 0 1rem;
  color: var(--festival-copper-soft);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.fastov-home .lead h1 {
  max-width: none;
  margin: 0;
  color: #fffdf7;
  font-family: var(--font-display);
  font-size: clamp(3.1rem, 4.6vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .93;
  overflow: visible;
}
.fastov-home .lead h1 em { display: block; color: #ef9a72; font-style: normal; }
.fastov-home .promise { max-width: 43rem; margin: 1.75rem 0 0; color: rgb(255 255 255 / 79%); font-size: clamp(1.17rem, 1.65vw, 1.5rem); line-height: 1.45; }
.fastov-home .leadActions { display: flex; flex-wrap: wrap; align-items: stretch; gap: .85rem; margin-top: 2rem; }
.fastov-home .call, .fastov-home .readAction { display: inline-flex; align-items: center; gap: .85rem; min-height: 4.55rem; padding: .78rem 1rem; border-radius: .85rem; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.fastov-home .call { min-width: min(100%, 25.75rem); justify-content: space-between; background: var(--festival-copper); color: #fff; }
.fastov-home .call:hover, .fastov-home .readAction:hover { transform: translateY(-2px); }
.fastov-home .callIcon { display: grid; width: 3.1rem; height: 3.1rem; flex: 0 0 auto; place-items: center; border-radius: .62rem; background: rgb(255 255 255 / 14%); }
.fastov-home .call > span:nth-child(2), .fastov-home .readAction > span { display: grid; gap: .18rem; margin-right: auto; }
.fastov-home .call small, .fastov-home .readAction small { color: inherit; font-size: .67rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.fastov-home .call strong, .fastov-home .readAction strong { font-size: 1.05rem; }
.fastov-home .readAction { min-width: 12.75rem; padding-inline: .2rem .65rem; color: #fff; }
.fastov-home .readAction::after { content: ""; position: absolute; }
.fastov-home .noSales { margin: 1rem 0 0; color: rgb(255 255 255 / 58%); font-size: .96rem; }
.fastov-home .hero-scope { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin: 2.2rem 0 0; padding: 0; list-style: none; color: rgb(255 255 255 / 72%); font-size: .9rem; }
.fastov-home .hero-scope li::before { content: "•"; margin-right: .45rem; color: var(--festival-copper-soft); }
.fastov-home .experienceFacts { display: flex; flex-wrap: wrap; gap: 1rem 2.4rem; order: 5; margin: 2.35rem 0 0; }
.fastov-home .experienceFacts a { display: grid; gap: .16rem; text-decoration: none; }
.fastov-home .experienceFacts strong { color: #fff; font-family: var(--font-display); font-size: 1.7rem; font-weight: 500; line-height: 1; }
.fastov-home .experienceFacts span { color: rgb(255 255 255 / 57%); font-size: .76rem; }
.fastov-home .heroPrice { display: none; }
.fastov-home .mobileTrust { display: none; }

.fastov-home .expert { display: flex; flex-direction: column; min-width: 0; padding: clamp(2rem, 3vw, 3.5rem) clamp(1.4rem, 3vw, 3.2rem); background: rgb(0 0 0 / 8%); color: #fff; }
.fastov-home .portrait { aspect-ratio: 1.13 / 1; overflow: hidden; border-radius: 1.1rem; background: #214550; }
.fastov-home .portrait picture, .fastov-home .portrait img { display: block; width: 100%; height: 100%; }
.fastov-home .portrait img { object-fit: cover; object-position: 50% 38%; }
.fastov-home .identity { display: grid; gap: .7rem; margin-top: 1.55rem; }
.fastov-home .identity > small { color: var(--festival-copper-soft); font-size: .69rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.fastov-home .identity > strong { max-width: 12ch; font-family: var(--font-display); font-size: clamp(1.8rem, 2.5vw, 2.6rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.fastov-home .identity > span, .fastov-home .identityEducation { margin: 0; color: rgb(255 255 255 / 63%); font-size: .94rem; line-height: 1.55; }
.fastov-home .identityEducation strong { font-family: inherit; font-size: inherit; }
.fastov-home .identity > a { display: flex; justify-content: space-between; gap: .5rem; padding-top: .75rem; color: #fff; font-size: .88rem; font-weight: 650; text-decoration: none; }

.fastov-home .decisionRoutes { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .7rem; margin: 1.25rem 0 0; }
.fastov-home .decisionRoutes a { display: grid; gap: .3rem; min-height: 7.2rem; padding: 1.25rem; border-radius: 1.1rem; background: rgb(255 255 255 / 75%); color: var(--festival-ink); text-decoration: none; box-shadow: 0 .65rem 1.8rem rgb(24 53 58 / 5%); transition: transform .18s ease, background .18s ease; }
.fastov-home .decisionRoutes a:hover { background: #fff; transform: translateY(-3px); }
.fastov-home .decisionRoutes strong { font-family: var(--font-display); font-size: 1.32rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.05; }
.fastov-home .decisionRoutes span { color: var(--festival-muted); font-size: .82rem; line-height: 1.35; }

/* Editorial sections: one composition at a time, not a spreadsheet. */
.fastov-home .commercialSection, .fastov-home .analysis, .fastov-home .faq, .fastov-home .videoStrip, .fastov-home .costSection { margin-top: clamp(4.5rem, 9vw, 8rem); }
.fastov-home .editorialHead { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(16rem, .7fr); gap: 1rem clamp(2rem, 7vw, 8rem); align-items: end; margin-bottom: 2.1rem; }
.fastov-home .editorialHead > p:first-child { grid-column: 1 / -1; margin-bottom: 0; color: var(--festival-copper); }
.fastov-home h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.5rem, 4.2vw, 4.6rem); font-weight: 400; letter-spacing: -.05em; line-height: .98; }
.fastov-home .sectionDescription { align-self: end; max-width: 34rem; margin: 0; color: var(--festival-muted); font-size: 1.08rem; line-height: 1.55; }

.fastov-home .localCases { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.fastov-home .localCase { display: flex; flex-direction: column; min-height: 29rem; padding: clamp(1.4rem, 2.5vw, 2.2rem); border-radius: 1.5rem; background: #fffdf9; box-shadow: 0 1rem 2.6rem rgb(26 48 53 / 6%); }
.fastov-home .localCase:first-child { background: var(--festival-ink); color: #fff; }
.fastov-home .caseRegion { margin: 0; color: var(--festival-copper); font-size: .68rem; font-weight: 750; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.fastov-home .localCase:first-child .caseRegion { color: var(--festival-copper-soft); }
.fastov-home .localCase h3 { margin: 1.45rem 0 0; font-family: var(--font-display); font-size: clamp(1.9rem, 2.45vw, 2.7rem); font-weight: 400; letter-spacing: -.04em; line-height: .99; }
.fastov-home .caseOutcome { display: grid; gap: .3rem; margin: 1.5rem 0; color: var(--festival-copper); font-family: var(--font-display); font-size: 2.15rem; font-weight: 400; line-height: 1; }
.fastov-home .caseOutcome small { color: var(--festival-muted); font-family: var(--font-body); font-size: .78rem; font-weight: 400; line-height: 1.35; }
.fastov-home .localCase:first-child .caseOutcome { color: #fff; }
.fastov-home .localCase:first-child .caseOutcome small, .fastov-home .localCase:first-child > p { color: rgb(255 255 255 / 66%); }
.fastov-home .localCase > p:not(.caseRegion) { margin: 0 0 .8rem; color: var(--festival-muted); font-size: .93rem; line-height: 1.55; }
.fastov-home .localCase > a { margin-top: auto; padding-top: 1.2rem; color: var(--festival-copper); font-weight: 700; }
.fastov-home .localCase:first-child > a { color: #fff; }
.fastov-home .case-disclaimer { max-width: 60rem; margin: 1.35rem 0 0; color: var(--festival-muted); font-size: .84rem; }
.fastov-home .commercialSection > p:last-child > a { display: inline-block; margin-top: .65rem; color: var(--festival-copper); font-weight: 700; }

.fastov-home .costSection { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); overflow: hidden; border-radius: 1.75rem; background: var(--festival-paper-deep); }
.fastov-home .costSection > header { padding: clamp(2rem, 4.5vw, 4.5rem); background: #f4e7df; }
.fastov-home .costSection h2 { margin: 0 0 1.6rem; font-size: clamp(3rem, 4.4vw, 5rem); }
.fastov-home .costSection header > p:not(.kicker) { max-width: 34rem; margin: 0 0 1rem; color: var(--festival-muted); font-size: 1.06rem; line-height: 1.55; }
.fastov-home .costSection header > p strong { color: var(--festival-ink); }
.fastov-home .callCompact { min-width: 0; margin-top: 1.7rem; }
.fastov-home .costChecklist { padding: clamp(2rem, 4.5vw, 4.5rem); }
.fastov-home .costChecklist h3 { margin: 0 0 2.2rem; font-family: var(--font-display); font-size: clamp(2.25rem, 3.4vw, 3.7rem); font-weight: 400; letter-spacing: -.045em; line-height: .99; }
.fastov-home .priceBreakdown { margin: 0; }
.fastov-home .priceBreakdown > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(10rem,.65fr); gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--festival-line); }
.fastov-home .priceBreakdown dt { color: var(--festival-muted); line-height: 1.4; }
.fastov-home .priceBreakdown dd { margin: 0; color: var(--festival-ink); font-size: 1.12rem; font-weight: 750; line-height: 1.35; }
.fastov-home .costChecklist > p { color: var(--festival-muted); line-height: 1.55; }
.fastov-home .costChecklist > a { display: inline-block; margin: .55rem 1.5rem .1rem 0; color: var(--festival-copper); font-weight: 700; }

.fastov-home .analysis { display: grid; grid-template-columns: minmax(15rem,.72fr) minmax(0,1.28fr); gap: clamp(2rem, 8vw, 8rem); padding: clamp(2rem, 5vw, 5rem); border-radius: 1.75rem; background: var(--festival-mist); }
.fastov-home .analysis .editorialHead { display: block; margin: 0; }
.fastov-home .analysis .editorialHead h2 { max-width: 10ch; }
.fastov-home .analysis .sectionDescription { margin-top: 1.6rem; }
.fastov-home .stageList { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; counter-reset: stages; }
.fastov-home .stageList li { position: relative; padding: 1.45rem 1.55rem 1.5rem 4.65rem; border-radius: 1.15rem; background: rgb(255 255 255 / 72%); counter-increment: stages; }
.fastov-home .stageList li::before { content: counter(stages); position: absolute; top: 1.45rem; left: 1.5rem; color: var(--festival-copper); font-family: var(--font-display); font-size: 1.5rem; }
.fastov-home .stageList strong { font-size: 1.1rem; }
.fastov-home .stageList p { margin: .65rem 0 0; color: var(--festival-muted); line-height: 1.55; }

.fastov-home .serviceRows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.fastov-home .serviceRows > div { min-height: 15rem; padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: 1.35rem; background: rgb(255 255 255 / 74%); }
.fastov-home .serviceRows > div:nth-child(2), .fastov-home .serviceRows > div:nth-child(3) { transform: translateY(1.7rem); }
.fastov-home .serviceRows h3 { max-width: 16ch; margin: 0; font-family: var(--font-display); font-size: clamp(1.8rem, 2.55vw, 2.65rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.02; }
.fastov-home .serviceRows p, .fastov-home .roleNote { margin: 1.3rem 0 0; color: var(--festival-muted); line-height: 1.6; }
.fastov-home .roleNote { max-width: 68rem; margin-top: 4.3rem; padding: 1.4rem 1.6rem; border-radius: 1rem; background: #f4f5f1; color: var(--festival-ink-soft); }

.fastov-home .comparisonWrap { overflow-x: auto; border-radius: 1.5rem; background: var(--festival-ink); color: #f8f8f3; }
.fastov-home .comparisonWrap table { width: 100%; min-width: 48rem; border-collapse: collapse; }
.fastov-home .comparisonWrap th, .fastov-home .comparisonWrap td { padding: 1.45rem 1.6rem; border-bottom: 1px solid rgb(255 255 255 / 14%); text-align: left; vertical-align: top; line-height: 1.48; }
.fastov-home .comparisonWrap th { font-size: .93rem; }
.fastov-home .comparisonWrap thead th { color: #fff; font-size: .8rem; letter-spacing: .04em; }
.fastov-home .comparisonWrap td { color: rgb(255 255 255 / 70%); }

.fastov-home .fastov-offer-offer { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(18rem,.65fr); gap: 2rem; margin-top: clamp(4.5rem,9vw,8rem); padding: clamp(2rem,5vw,5rem); border-radius: 1.75rem; background: var(--festival-ink); color: #fff; }
.fastov-home .fastov-offer-copy h2 { max-width: 22ch; }
.fastov-home .fastov-offer-copy > span { display: block; max-width: 44rem; margin-top: 1.25rem; color: rgb(255 255 255 / 72%); font-size: 1.08rem; line-height: 1.55; }
.fastov-home .fastov-offer-action { align-self: center; }
.fastov-home .fastov-offer-action a { display: grid; gap: .35rem; padding: 1.25rem 1.4rem; border-radius: .9rem; background: var(--festival-copper); color: #fff; text-decoration: none; }
.fastov-home .fastov-offer-action small { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fastov-home .fastov-offer-action strong { font-size: 1.2rem; }
.fastov-home .fastov-offer-action p { margin: .8rem 0 0; color: rgb(255 255 255 / 61%); font-size: .88rem; line-height: 1.45; }
.fastov-home .fastov-offer-notice { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(10rem,.38fr) 1fr; gap: 1.8rem; padding: 1.35rem 0 0; border-top: 1px solid rgb(255 255 255 / 18%); }
.fastov-home .fastov-offer-notice strong { color: var(--festival-copper-soft); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.fastov-home .fastov-offer-notice p { max-width: 57rem; margin: 0; color: rgb(255 255 255 / 72%); line-height: 1.55; }

.fastov-home .faq { padding: clamp(2rem,5vw,5rem); border-radius: 1.75rem; background: #f7f5f8; }
.fastov-home .faq .editorialHead { display: block; }
.fastov-home .faq .editorialHead h2 { max-width: 17ch; }
.fastov-home .faqList { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.fastov-home .faqList > div { padding: 1.35rem 1.5rem; border-radius: 1rem; background: #fff; }
.fastov-home .faqList h3 { margin: 0; font-size: 1.09rem; line-height: 1.3; }
.fastov-home .faqList p { margin: .65rem 0 0; color: var(--festival-muted); line-height: 1.55; }

.fastov-home .topicGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.fastov-home .topicGrid a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 8.4rem; padding: 1.45rem 1.5rem; border-radius: 1.15rem; background: #fffdf9; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.fastov-home .topicGrid a:hover { transform: translateY(-3px); box-shadow: 0 1.1rem 2.5rem rgb(24 53 58 / 9%); }
.fastov-home .topicGrid span { display: grid; gap: .55rem; }
.fastov-home .topicGrid small { color: var(--festival-copper); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.fastov-home .topicGrid strong { max-width: 26ch; font-family: var(--font-display); font-size: 1.45rem; font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
.fastov-home .allArticles { display: inline-block; margin-top: 1.4rem; color: var(--festival-copper); font-weight: 700; }

.fastov-home .videoStrip { padding: clamp(2rem,5vw,5rem); border-radius: 1.75rem; background: #fffdf9; }
.fastov-home .videoHead { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.fastov-home .videoHead h2 { max-width: 17ch; }
.fastov-home .videoHead > a { color: var(--festival-copper); font-weight: 700; text-decoration: none; white-space: nowrap; }
.fastov-home .videoList { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.fastov-home .videoList > a { display: grid; gap: 1rem; text-decoration: none; }
.fastov-home .videoArt { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 1.15rem; background: var(--festival-ink); }
.fastov-home .videoArt picture, .fastov-home .videoArt img { display: block; width: 100%; height: 100%; }
.fastov-home .videoArt img { object-fit: cover; transition: transform .35s ease; }
.fastov-home .videoList > a:hover .videoArt img { transform: scale(1.04); }
.fastov-home .videoCoverShade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 32%, rgb(11 30 35 / 58%)); }
.fastov-home .videoPlay { position: absolute; right: 1rem; bottom: 1rem; display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: var(--festival-copper); color: #fff; }
.fastov-home .videoPlay svg { fill: currentColor; stroke: none; width: 1.3rem; }
.fastov-home .videoBadge { position: absolute; top: .9rem; left: .9rem; color: #fff; font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.fastov-home .videoCopy { display: grid; gap: .42rem; }
.fastov-home .videoCopy small { color: var(--festival-copper); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.fastov-home .videoCopy strong { font-family: var(--font-display); font-size: 1.38rem; font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
.fastov-home .videoAction { margin-top: .25rem; color: var(--festival-muted); font-size: .87rem; font-weight: 650; }
.fastov-home .moreVideos { margin-top: 2rem; }
.fastov-home .moreVideos > h3 { margin-bottom: 1.2rem; }

.fastov-home .contact { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(18rem,.62fr); gap: 2rem; margin-top: clamp(4.5rem,9vw,8rem); padding: clamp(2rem,5vw,5rem); border-radius: 1.75rem; background: #f1e2da; }
.fastov-home .contact h2 { max-width: 16ch; }
.fastov-home .contact > div > span { display: block; max-width: 46rem; margin-top: 1.2rem; color: var(--festival-muted); font-size: 1.07rem; line-height: 1.55; }
.fastov-home .contact address { margin: 1.5rem 0 .5rem; font-style: normal; line-height: 1.45; }
.fastov-home .officeLink { color: var(--festival-copper); font-weight: 700; }
.fastov-home .contactActions { align-self: center; }
.fastov-home .contactActions .call { width: 100%; }
.fastov-home .contactActions p { margin: .8rem 0 0; color: var(--festival-muted); font-size: .9rem; }

/* Floating UI stays small and human, rather than a hard rectangle. */
.fastov-home .cookie-notice { top: auto !important; right: max(1rem, calc((100% - var(--layout-max)) / 2)) !important; bottom: 6.35rem !important; width: min(21rem, calc(100% - 2rem)) !important; padding: .9rem 1rem !important; border: 1px solid rgb(22 52 61 / 12%) !important; border-top: 0 !important; border-radius: 1.05rem !important; background: rgb(255 255 255 / 96%) !important; box-shadow: 0 1.2rem 3.4rem rgb(15 42 48 / 16%) !important; backdrop-filter: blur(12px); }
.fastov-home .cookie-notice::before { left: 1.15rem !important; right: 1.15rem !important; width: auto !important; border-radius: 99px !important; background: var(--festival-copper) !important; }
.fastov-home .cookie-notice h2 { margin: 0 0 .35rem !important; font-size: 1.1rem !important; line-height: 1.05 !important; }
.fastov-home .cookie-notice p { margin: 0 !important; font-size: .74rem !important; line-height: 1.35 !important; }
.fastov-home .cookie-notice .cookie-banner__actions { display: grid !important; grid-template-columns: 1fr 1.32fr !important; gap: .45rem !important; margin-top: .7rem !important; }
.fastov-home .cookie-notice button { min-height: 2.45rem !important; padding: .45rem !important; border-radius: .6rem !important; font-size: .74rem !important; }
.fastov-home .sticky-contact { border-radius: 1rem 1rem 0 0; }
/* Keep the urgent call action readable: the generic home-link rule otherwise
   inherits the dark page colour over this copper button. */
.fastov-home .sticky-contact a { color: #fff; }

@media (max-width: 980px) {
  .fastov-home .leadGrid, .fastov-home .costSection, .fastov-home .analysis, .fastov-home .contact { grid-template-columns: 1fr; }
  .fastov-home .expert { display: grid; grid-template-columns: 14rem 1fr; gap: 1.5rem; align-items: center; }
  .fastov-home .portrait { align-self: stretch; margin: 0; }
  .fastov-home .identity { margin: 0; }
  .fastov-home .identityEducation { display: none; }
  .fastov-home .decisionRoutes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fastov-home .editorialHead { grid-template-columns: 1fr; gap: .9rem; }
  .fastov-home .localCases { grid-template-columns: 1fr; }
  .fastov-home .localCase { min-height: 0; }
  .fastov-home .analysis .editorialHead h2 { max-width: 15ch; }
}

@media (max-width: 640px) {
  .fastov-home .frame { width: min(calc(100% - 1.5rem), 1360px); }
  .fastov-home .sheet { padding-top: .9rem; }
  .fastov-home .sheetRule { font-size: .64rem; }
  .fastov-home .leadGrid, .fastov-home .costSection, .fastov-home .analysis, .fastov-home .faq, .fastov-home .videoStrip, .fastov-home .contact, .fastov-home .fastov-offer-offer { border-radius: 1.25rem; }
  .fastov-home .lead { padding: 2.25rem 1.35rem; }
  .fastov-home .lead h1 { max-width: 11ch; font-size: clamp(2.8rem, 13vw, 4.15rem); }
  .fastov-home .promise { font-size: 1.12rem; }
  .fastov-home .leadActions { display: grid; }
  .fastov-home .call, .fastov-home .readAction { width: 100%; min-width: 0; }
  .fastov-home .experienceFacts { gap: .8rem 1.35rem; }
  .fastov-home .expert { grid-template-columns: 7.4rem 1fr; padding: 1.25rem 1.35rem; }
  .fastov-home .portrait { border-radius: .8rem; }
  .fastov-home .identity > strong { font-size: 1.65rem; }
  .fastov-home .identity > a:nth-of-type(2) { display: none; }
  .fastov-home .decisionRoutes { grid-template-columns: 1fr; gap: .55rem; }
  .fastov-home .decisionRoutes a { min-height: 0; padding: 1rem 1.15rem; }
  .fastov-home .decisionRoutes strong { font-size: 1.2rem; }
  .fastov-home .commercialSection, .fastov-home .analysis, .fastov-home .faq, .fastov-home .videoStrip, .fastov-home .costSection { margin-top: 4rem; }
  .fastov-home h2 { font-size: clamp(2.25rem, 12vw, 3.2rem); }
  .fastov-home .editorialHead { margin-bottom: 1.4rem; }
  .fastov-home .localCase { padding: 1.35rem; border-radius: 1.1rem; }
  .fastov-home .localCase h3 { font-size: 2.05rem; }
  .fastov-home .priceBreakdown > div { grid-template-columns: 1fr; gap: .4rem; }
  .fastov-home .analysis { gap: 1.8rem; padding: 1.35rem; }
  .fastov-home .stageList li { padding: 1.25rem 1.1rem 1.25rem 3.8rem; }
  .fastov-home .stageList li::before { top: 1.2rem; left: 1.15rem; }
  .fastov-home .serviceRows, .fastov-home .faqList, .fastov-home .topicGrid, .fastov-home .videoList { grid-template-columns: 1fr; }
  .fastov-home .serviceRows > div:nth-child(2), .fastov-home .serviceRows > div:nth-child(3) { transform: none; }
  .fastov-home .serviceRows > div { min-height: 0; }
  .fastov-home .roleNote { margin-top: 1.4rem; }
  .fastov-home .fastov-offer-offer { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.45rem; }
  .fastov-home .fastov-offer-notice { grid-template-columns: 1fr; gap: .75rem; }
  .fastov-home .faq, .fastov-home .videoStrip, .fastov-home .contact { padding: 1.45rem; }
  .fastov-home .videoHead { display: grid; align-items: start; }
  .fastov-home .contact { gap: 1.5rem; }
  .fastov-home .cookie-notice { bottom: 5.7rem !important; width: min(19rem, calc(100% - 1.5rem)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .fastov-home * { transition-duration: 0s !important; }
}

/* 3iLaw-inspired reset: one calm canvas, a single media anchor and compact reading rhythm. */
.fastov-home {
  --festival-ink: #18353d;
  --festival-ink-soft: #31545c;
  --festival-paper: #f4f7f8;
  --festival-paper-deep: #edf1f1;
  --festival-mist: #f4f7f8;
  --festival-copper: #a95233;
  /* Small uppercase labels on the light canvas must meet 4.5:1 contrast. */
  --festival-copper-soft: #a95233;
  --festival-copper-on-dark: #e89a78;
  --festival-muted: #506971;
  --festival-line: rgb(24 53 61 / 17%);
  background: var(--festival-paper);
}
.fastov-home .frame { width: min(calc(100% - 4.5rem), 1260px); }
.fastov-home .sheet { padding-top: 2.1rem; }
.fastov-home .sheetRule { margin-bottom: 1.6rem; color: var(--festival-ink-soft); }
.fastov-home .leadGrid {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.fastov-home .lead { padding: 2.5rem 4rem 2.4rem 0; color: var(--festival-ink); }
.fastov-home .lead .kicker { color: var(--festival-ink-soft); }
.fastov-home .lead h1 { color: var(--festival-ink); font-size: clamp(3rem, 4.05vw, 4.65rem); letter-spacing: -.047em; line-height: .98; }
.fastov-home .lead h1 em { color: var(--festival-copper); }
.fastov-home .promise { max-width: 35rem; margin-top: 1.55rem; color: var(--festival-muted); font-size: 1.16rem; line-height: 1.52; }
.fastov-home .leadActions { margin-top: 1.55rem; }
.fastov-home .call { min-width: 18.75rem; min-height: 3.65rem; padding: .6rem .75rem; border-radius: 1.8rem; }
.fastov-home .callIcon { width: 2.45rem; height: 2.45rem; border-radius: 50%; }
.fastov-home .call small { font-size: .61rem; }
.fastov-home .call strong { font-size: .97rem; }
.fastov-home .readAction { min-width: 11.5rem; min-height: 3.65rem; padding-inline: .25rem; color: var(--festival-ink); }
.fastov-home .readAction small { color: var(--festival-muted); }
.fastov-home .noSales { color: var(--festival-muted); font-size: .85rem; }
.fastov-home .hero-scope { margin-top: 1.25rem; color: var(--festival-muted); font-size: .82rem; }
.fastov-home .experienceFacts { gap: 1rem 1.7rem; margin-top: 1.6rem; }
.fastov-home .experienceFacts strong { color: var(--festival-ink); font-size: 1.3rem; }
.fastov-home .experienceFacts span { color: var(--festival-muted); font-size: .71rem; }
.fastov-home .expert { padding: 0; background: transparent; color: var(--festival-ink); }
.fastov-home .portrait { aspect-ratio: 1.18 / 1; border-radius: .8rem; background: #d9dfdc; }
.fastov-home .identity { max-width: 24rem; margin-top: 1rem; gap: .45rem; }
.fastov-home .identity > small { color: var(--festival-copper); }
.fastov-home .identity > strong { max-width: none; font-size: 1.7rem; }
.fastov-home .identity > span, .fastov-home .identityEducation { color: var(--festival-muted); font-size: .85rem; }
.fastov-home .identity > a { color: var(--festival-ink); padding-top: .45rem; font-size: .8rem; }
.fastov-home .identity > a:nth-of-type(2), .fastov-home .identityEducation { display: none; }
.fastov-home .decisionRoutes { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; margin-top: 1.5rem; border-top: 1px solid var(--festival-line); border-bottom: 1px solid var(--festival-line); }
.fastov-home .decisionRoutes a { min-height: 0; padding: .85rem 1.05rem .95rem; border-radius: 0; background: transparent; box-shadow: none; }
.fastov-home .decisionRoutes a + a { border-left: 1px solid var(--festival-line); }
.fastov-home .decisionRoutes a:hover { background: rgb(255 255 255 / 46%); transform: none; }
.fastov-home .decisionRoutes strong { font-family: var(--font-body); font-size: .89rem; font-weight: 700; letter-spacing: 0; line-height: 1.25; }
.fastov-home .decisionRoutes span { font-size: .74rem; }

.fastov-home .commercialSection, .fastov-home .analysis, .fastov-home .faq, .fastov-home .videoStrip, .fastov-home .costSection { margin-top: clamp(3.6rem, 6vw, 5.8rem); }
.fastov-home .editorialHead { grid-template-columns: minmax(0, 1.12fr) minmax(16rem,.7fr); gap: .8rem 3rem; margin-bottom: 1.45rem; }
.fastov-home h2 { font-size: clamp(2.15rem, 3.35vw, 3.55rem); letter-spacing: -.04em; line-height: 1.04; }
.fastov-home .sectionDescription { max-width: 30rem; color: var(--festival-muted); font-size: .98rem; line-height: 1.48; }
.fastov-home .editorialHead > p:first-child, .fastov-home .videoHead p, .fastov-home .contact > div > p:first-child, .fastov-home .fastov-offer-copy > p { font-size: .65rem; }

.fastov-home .localCases { gap: 0; border-top: 1px solid var(--festival-line); border-bottom: 1px solid var(--festival-line); }
.fastov-home .localCase, .fastov-home .localCase:first-child { min-height: 21rem; padding: 1.35rem 1.5rem 1.5rem; border-radius: 0; background: transparent; box-shadow: none; color: var(--festival-ink); }
.fastov-home .localCase + .localCase { border-left: 1px solid var(--festival-line); }
.fastov-home .localCase:first-child .caseRegion, .fastov-home .localCase:first-child .caseOutcome, .fastov-home .localCase:first-child .caseOutcome small, .fastov-home .localCase:first-child > p, .fastov-home .localCase:first-child > a { color: inherit; }
.fastov-home .caseRegion { color: var(--festival-copper) !important; font-size: .61rem; }
.fastov-home .localCase h3 { margin-top: .95rem; font-size: clamp(1.65rem,2.05vw,2.15rem); line-height: 1.05; }
.fastov-home .localCase .caseOutcome { margin: 1.05rem 0; color: var(--festival-copper); font-size: 1.75rem; }
.fastov-home .caseOutcome small, .fastov-home .localCase > p:not(.caseRegion) { color: var(--festival-muted) !important; font-size: .82rem; line-height: 1.45; }
.fastov-home .localCase > a { color: var(--festival-ink) !important; font-size: .84rem; }

.fastov-home .costSection { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); border-radius: 0; background: transparent; }
.fastov-home .costSection > header, .fastov-home .costChecklist { padding: 1.8rem 2.1rem 2rem; background: transparent; }
.fastov-home .costSection > header { border-right: 1px solid var(--festival-line); }
.fastov-home .costSection h2 { margin-bottom: 1.1rem; font-size: clamp(2.4rem, 3.8vw, 4rem); }
.fastov-home .costSection header > p:not(.kicker) { font-size: .92rem; line-height: 1.5; }
.fastov-home .costChecklist h3 { max-width: 24rem; margin-bottom: 1.25rem; font-size: clamp(1.9rem,2.8vw,2.8rem); }
.fastov-home .priceBreakdown > div { padding: .85rem 0; }
.fastov-home .priceBreakdown dt, .fastov-home .costChecklist > p { color: var(--festival-muted); font-size: .87rem; }
.fastov-home .priceBreakdown dd { font-size: .95rem; }

.fastov-home .analysis { grid-template-columns: minmax(14rem,.62fr) minmax(0,1.38fr); gap: 3rem; padding: 0; border-radius: 0; background: transparent; }
.fastov-home .analysis .editorialHead { padding-right: 1.7rem; }
.fastov-home .analysis .editorialHead h2 { max-width: none; font-size: clamp(2.2rem,3.2vw,3.3rem); }
.fastov-home .stageList { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--festival-line); }
.fastov-home .stageList li { min-height: 11rem; padding: 1.15rem 1.2rem 1.3rem 3.25rem; border-radius: 0; background: transparent; border-bottom: 1px solid var(--festival-line); }
.fastov-home .stageList li:nth-child(odd) { border-right: 1px solid var(--festival-line); }
.fastov-home .stageList li::before { top: 1.1rem; left: .25rem; color: var(--festival-copper); font-size: 1.25rem; }
.fastov-home .stageList strong { font-size: .96rem; }
.fastov-home .stageList p { margin-top: .45rem; color: var(--festival-muted); font-size: .86rem; line-height: 1.48; }

.fastov-home .serviceRows { gap: 0; border-top: 1px solid var(--festival-line); }
.fastov-home .serviceRows > div { min-height: 0; padding: 1.25rem 1.35rem 1.5rem; border-radius: 0; background: transparent; border-bottom: 1px solid var(--festival-line); }
.fastov-home .serviceRows > div:nth-child(odd) { border-right: 1px solid var(--festival-line); }
.fastov-home .serviceRows > div:nth-child(2), .fastov-home .serviceRows > div:nth-child(3) { transform: none; }
.fastov-home .serviceRows h3 { max-width: 18ch; font-size: clamp(1.5rem,2.05vw,2.1rem); }
.fastov-home .serviceRows p, .fastov-home .roleNote { color: var(--festival-muted); font-size: .9rem; line-height: 1.5; }
.fastov-home .roleNote { margin-top: 1.5rem; padding: 0; border-radius: 0; background: transparent; }
.fastov-home .comparisonWrap { border-radius: .75rem; }

.fastov-home .fastov-offer-offer { grid-template-columns: minmax(0,1.1fr) minmax(16rem,.55fr); gap: 2.5rem; margin-top: 4.5rem; padding: 2.4rem 2.5rem; border-radius: .8rem; background: var(--festival-ink); }
.fastov-home .fastov-offer-copy h2 { max-width: 21ch; font-size: clamp(2.1rem,3vw,3.15rem); }
.fastov-home .fastov-offer-copy > span { font-size: .98rem; }
.fastov-home .fastov-offer-copy > p,
.fastov-home .fastov-offer-notice strong { color: var(--festival-copper-on-dark); }
.fastov-home .fastov-offer-notice { padding-top: 1rem; }

.fastov-home .faq, .fastov-home .videoStrip { padding: 0; border-radius: 0; background: transparent; }
.fastov-home .faq .editorialHead { display: grid; }
.fastov-home .faq .editorialHead h2 { max-width: none; }
.fastov-home .faqList { gap: 0; border-top: 1px solid var(--festival-line); }
.fastov-home .faqList > div { padding: 1.1rem 1.35rem 1.25rem; border-radius: 0; background: transparent; border-bottom: 1px solid var(--festival-line); }
.fastov-home .faqList > div:nth-child(odd) { border-right: 1px solid var(--festival-line); }
.fastov-home .faqList h3 { font-size: .98rem; }
.fastov-home .faqList p { color: var(--festival-muted); font-size: .86rem; line-height: 1.48; }
.fastov-home .topicGrid { gap: 0; border-top: 1px solid var(--festival-line); border-bottom: 1px solid var(--festival-line); }
.fastov-home .topicGrid a { min-height: 6.2rem; padding: 1rem 1.2rem; border-radius: 0; background: transparent; box-shadow: none; }
.fastov-home .topicGrid a:nth-child(odd) { border-right: 1px solid var(--festival-line); }
.fastov-home .topicGrid a:hover { box-shadow: none; transform: none; background: rgb(255 255 255 / 45%); }
.fastov-home .topicGrid strong { font-family: var(--font-body); font-size: .98rem; font-weight: 700; letter-spacing: 0; line-height: 1.3; }
.fastov-home .videoHead { margin-bottom: 1.35rem; }
.fastov-home .videoArt { border-radius: .65rem; }
.fastov-home .videoCopy strong { font-size: 1.15rem; }

.fastov-home .contact { grid-template-columns: minmax(0,1.15fr) minmax(17rem,.55fr); gap: 3rem; margin-top: 4.5rem; padding: 2.6rem 0 2.2rem; border-radius: 0; background: transparent; border-top: 1px solid var(--festival-ink); border-bottom: 1px solid var(--festival-line); }
.fastov-home .contact h2 { max-width: 19ch; font-size: clamp(2.2rem,3.15vw,3.3rem); }
.fastov-home .contact > div > span { color: var(--festival-muted); font-size: .96rem; }
.fastov-home .contactActions .call { min-width: 0; }

.fastov-home .cookie-notice { right: 50% !important; bottom: 5.8rem !important; display: flex !important; align-items: center !important; gap: .6rem !important; width: min(38rem,calc(100% - 2rem)) !important; padding: .5rem .55rem .5rem 1rem !important; border: 1px solid rgb(24 53 61 / 12%) !important; border-top: 1px solid rgb(24 53 61 / 12%) !important; border-radius: 2rem !important; background: rgb(255 255 255 / 98%) !important; box-shadow: 0 .8rem 2.4rem rgb(16 38 45 / 14%) !important; transform: translateX(50%); }
.fastov-home .cookie-notice::before { display: none !important; }
.fastov-home .cookie-notice #cookie-title { display: none !important; }
.fastov-home .cookie-notice .cookie-banner__copy { flex: 1 1 auto; min-width: 0; }
.fastov-home .cookie-notice .cookie-banner__copy p { margin: 0 !important; color: var(--festival-muted) !important; font-size: .67rem !important; line-height: 1.25 !important; }
.fastov-home .cookie-notice .cookie-banner__status { display: none !important; }
.fastov-home .cookie-notice .cookie-banner__actions { display: flex !important; flex: 0 0 auto; gap: .35rem !important; margin: 0 !important; }
.fastov-home .cookie-notice button { min-height: 2.75rem !important; padding: .45rem .7rem !important; border-radius: 1.4rem !important; font-size: .68rem !important; white-space: nowrap; }

@media (max-width: 980px) {
  .fastov-home .frame { width: min(calc(100% - 2.5rem), 1260px); }
  .fastov-home .lead { padding-right: 2rem; }
  .fastov-home .decisionRoutes, .fastov-home .stageList, .fastov-home .serviceRows, .fastov-home .faqList, .fastov-home .topicGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
/* A tablet is not a compressed desktop hero: the specialist card follows the
   promise before its text can be forced into a sliver of a second column. */
@media (max-width: 820px) {
  .fastov-home .leadGrid { grid-template-columns: minmax(0, 1fr); }
  .fastov-home .lead { padding-right: 0; }
  .fastov-home .expert { grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: 1.15rem; max-width: 38rem; }
  .fastov-home .identity { min-width: 0; }
  .fastov-home .identity > strong { overflow-wrap: anywhere; }
}
@media (max-width: 640px) {
  .fastov-home .frame { width: min(calc(100% - 1.5rem), 1260px); }
  .fastov-home .leadGrid { display: flex; flex-direction: column; }
  .fastov-home .lead { padding: 1.7rem 0 1.25rem; }
  .fastov-home .lead h1 { max-width: 12ch; font-size: clamp(2.65rem,12vw,3.55rem); }
  .fastov-home .expert { grid-template-columns: 7rem 1fr; }
  .fastov-home .decisionRoutes, .fastov-home .stageList, .fastov-home .serviceRows, .fastov-home .faqList, .fastov-home .topicGrid { grid-template-columns: 1fr; }
  .fastov-home .decisionRoutes a + a, .fastov-home .localCase + .localCase, .fastov-home .stageList li:nth-child(odd), .fastov-home .serviceRows > div:nth-child(odd), .fastov-home .faqList > div:nth-child(odd), .fastov-home .topicGrid a:nth-child(odd) { border-left: 0; border-right: 0; }
  .fastov-home .localCases { grid-template-columns: 1fr; }

  /* The portrait must never force its intrinsic width over the mobile grid. */
  .fastov-home .expert { grid-template-columns: minmax(0, 7rem) minmax(0, 1fr); align-items: start; gap: .8rem; }
  .fastov-home .portrait, .fastov-home .portrait picture, .fastov-home .portrait img { min-width: 0; width: 100%; max-width: 100%; }
  .fastov-home .identity { min-width: 0; }
  .fastov-home .identity > strong { font-size: 1.32rem; line-height: 1.02; overflow-wrap: anywhere; }
  .fastov-home .costSection > header { border-right: 0; border-bottom: 1px solid var(--festival-line); }
  .fastov-home .costSection > header, .fastov-home .costChecklist { padding: 1.35rem 0; }
  .fastov-home .analysis { gap: 1.5rem; }
  .fastov-home .analysis .editorialHead { padding: 0; }
  .fastov-home .fastov-offer-offer { padding: 1.6rem; border-radius: .65rem; }
  .fastov-home .contact { padding: 1.8rem 0; }
  .fastov-home .cookie-notice { bottom: 5.2rem !important; width: min(22rem,calc(100% - 1.5rem)) !important; padding-left: .75rem !important; }
  .fastov-home .cookie-notice .cookie-banner__copy p { display: none !important; }
}

/* Mobile is deliberately a single reading column. These rules come last so
   desktop composition cannot reintroduce narrow text columns on a phone. */
@media (max-width: 640px) {
  .fastov-home .editorialHead,
  .fastov-home .costSection,
  .fastov-home .analysis,
  .fastov-home .fastov-offer-offer,
  .fastov-home .contact { grid-template-columns: minmax(0, 1fr) !important; }
  .fastov-home .editorialHead > *,
  .fastov-home .analysis .editorialHead,
  .fastov-home .costSection > header,
  .fastov-home .costChecklist,
  .fastov-home .contact > div { min-width: 0; max-width: none; grid-column: 1 / -1; }
  .fastov-home .editorialHead h2,
  .fastov-home .analysis .editorialHead h2,
  .fastov-home .costSection h2,
  .fastov-home .costChecklist h3,
  .fastov-home .contact h2 { max-width: none; overflow-wrap: normal; }
  .fastov-home .editorialHead h2,
  .fastov-home .analysis .editorialHead h2,
  .fastov-home .costSection h2 { font-size: clamp(2rem, 10vw, 2.65rem); line-height: 1.04; }
  .fastov-home .costSection > header { border-right: 0; border-bottom: 1px solid var(--festival-line); }
  .fastov-home .costSection > header,
  .fastov-home .costChecklist { padding: 1.35rem 0; }
  .fastov-home .analysis .editorialHead { padding-right: 0; }
  .fastov-home .stageList,
  .fastov-home .serviceRows,
  .fastov-home .faqList,
  .fastov-home .topicGrid { grid-template-columns: minmax(0, 1fr) !important; }
  .fastov-home .stageList li,
  .fastov-home .serviceRows > div,
  .fastov-home .faqList > div,
  .fastov-home .topicGrid a { min-width: 0; }

  .fastov-home .cookie-notice {
    left: auto !important;
    right: 50% !important;
    bottom: 5.9rem !important;
    display: block !important;
    width: calc(100% - 2rem) !important;
    max-width: 24rem !important;
    padding: .9rem !important;
    border-radius: 1rem !important;
    transform: translateX(50%);
  }
  .fastov-home .cookie-notice #cookie-title { display: block !important; margin-bottom: .35rem !important; font-size: 1rem !important; }
  .fastov-home .cookie-notice .cookie-banner__copy p { display: block !important; font-size: .72rem !important; line-height: 1.35 !important; }
  .fastov-home .cookie-notice .cookie-banner__actions { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) !important; gap: .45rem !important; margin-top: .7rem !important; }
  .fastov-home .cookie-notice button { min-width: 0; min-height: 2.75rem !important; padding: .45rem .35rem !important; border-radius: .7rem !important; font-size: .68rem !important; white-space: normal; line-height: 1.15; }
}


.fastov-home .cookie-notice[hidden]{display:none!important}

}
/* Fastov34 2026-10-09 editorial homepage design, adapted to Fastov30 content. */
.fastov-home {--paper:#f3efe7;--paper-warm:#e8e1d5;--white:#fcfaf5;--ink:#10262d;--ink-soft:#3d5258;--navy:#17373f;--navy-deep:#0b252c;--copper:#b65d39;--copper-dark:#8d452c;--muted:#5f7076;--serif:'Source Serif 4',Georgia,serif;--serif-lcp:'Source Serif 4',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif;}
.site {
  --home-line: rgba(16, 38, 45, .18);
  --home-line-strong: rgba(16, 38, 45, .42);
  --surface: var(--white);
  min-height: 100vh;
  padding-bottom: 76px;
  color: var(--ink);
  background: var(--paper);
}

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

.header {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
  width: min(100% - 40px, 1360px);
  min-height: 84px;
  margin: 0 auto;
}

.logo { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.logo img { width: 100px; height: auto; }
.logo span { padding-left: 12px; color: var(--ink-soft); border-left: 1px solid var(--home-line); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.header nav { display: flex; justify-content: center; gap: clamp(16px, 2.4vw, 34px); }
.header nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-soft); font-size: 14px; }
.header nav a:hover { color: var(--copper-dark); }

.frame { width: min(100% - 32px, 1360px); margin: 0 auto; }
.sheet { position: relative; overflow: clip; background: var(--surface); border: 1px solid rgba(16, 38, 45, .1); box-shadow: 0 18px 52px rgba(16, 38, 45, .055); }
.sheet::before { display: none; }
.sheetRule { display: flex; align-items: center; justify-content: flex-start; min-height: 38px; padding: 0 42px 0 84px; color: var(--muted); border-bottom: 1px solid var(--home-line); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.sheetRule::before { width: 28px; height: 1px; margin-right: 12px; background: var(--copper); content: ''; }

.leadGrid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .75fr); border-bottom: 1px solid var(--home-line); }
.lead { display: flex; flex-direction: column; justify-content: center; padding: 48px clamp(28px, 3.5vw, 52px); }
.kicker, .editorialHead > p:not(.sectionDescription), .matrixIntro > p, .contact > div:first-child > p, .videoHead p, .sectionHead > div > p, .proof > p:first-child {
  margin: 0; color: var(--copper-dark); font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
}
.lead h1 { max-width: 820px; margin: 20px 0 24px; font-family: var(--serif-lcp); font-size: clamp(48px, 4.5vw, 66px); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
.lead h1 em { color: var(--copper-dark); font-style: normal; }
.promise { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: 18px; line-height: 1.58; }
.experienceFacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; padding: 16px 0; border-block: 1px solid var(--home-line); }
.experienceFacts a { min-width: 0; color: var(--ink); text-decoration: none; }
.experienceFacts strong { display: block; font-family: var(--serif); font-size: clamp(23px, 3vw, 36px); line-height: 1.15; color: var(--copper-dark); }
.experienceFacts span { display: block; margin-top: 5px; font-size: 12px; line-height: 1.4; }
.experienceFacts a:last-child strong { font-size: clamp(19px, 2.6vw, 34px); white-space: nowrap; }
.experienceFacts a:focus-visible { outline: 2px solid var(--copper); outline-offset: 5px; }
.proofLinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; border-block: 1px solid var(--home-line-strong); }
.proofLinks a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; min-height: 72px; padding: 12px 14px 12px 0; color: var(--ink); text-decoration: none; }
.proofLinks a + a { padding-left: 18px; border-left: 1px solid var(--home-line-strong); }
.proofLinks a small { display: block; color: var(--muted); font-size: 11px; line-height: 1.35; }
.proofLinks a strong { display: block; margin-top: 4px; color: var(--copper-dark); font-size: 16px; line-height: 1.25; }
.proofLinks a svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; }
.proofLinks a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.proofLinks a:focus-visible { outline: 2px solid var(--copper-dark); outline-offset: 3px; }
.proofChecked { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
@media (max-width: 380px) { .proofLinks { grid-template-columns: 1fr; } .proofLinks a + a { padding-left: 0; border-left: 0; border-top: 1px solid var(--home-line-strong); } }

.leadActions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.telegramAction { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 10px 16px; color: var(--copper-dark); border: 1px solid var(--copper-dark); border-radius: 4px; font-weight: 700; text-decoration: none; }
.telegramAction strong { display: block; font-size: 16px; }
.telegramAction svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; }
.telegramAction:hover { color: var(--navy-deep); border-color: var(--navy-deep); }
.telegramAction:focus-visible, .telegramChannel:focus-visible { outline: 2px solid var(--copper-dark); outline-offset: 3px; }
.leadActions .telegramAction { min-width: 230px; }
.telegramChannel { display: inline-flex; align-items: center; min-height: 44px; color: var(--copper-dark); text-decoration: underline; text-underline-offset: 4px; }

.call, .readAction { display: grid; align-items: center; gap: 12px; min-height: 68px; border-radius: 4px; }
.call { grid-template-columns: 42px minmax(0, 1fr) 20px; padding: 8px 16px 8px 8px; }
.readAction { grid-template-columns: minmax(0, 1fr) 20px; padding: 8px 16px; }
.readAction > span { min-width: 0; }
.readAction small, .readAction strong { width: auto; overflow-wrap: normal; }
.call { min-width: 260px; color: #fff; background: var(--copper-dark); }
.call:hover { color: #fff; background: var(--copper-dark); transform: translateY(-2px); }
.callIcon { display: grid; width: 42px; height: 42px; place-items: center; background: rgba(255,255,255,.14); border-radius: 3px; }
.callIcon svg, .call > svg, .readAction svg, .sectionHead svg, .topicGrid svg, .proof svg, .videoHead svg, .contactActions svg, .identity svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.call small { color: #fff; }
.call small, .readAction small { display: block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.call strong, .readAction strong { display: block; margin-top: 3px; font-size: 16px; }
.readAction { min-width: 230px; color: var(--ink); border: 1px solid var(--home-line-strong); }
.readAction small { color: var(--muted); }
.readAction:hover { color: var(--copper-dark); border-color: var(--copper); }
.noSales { max-width: 620px; margin: 20px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.decisionRoutes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 22px clamp(20px, 3.5vw, 52px) 0; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.decisionRoutes a { min-width: 0; padding: 13px 12px 14px 0; color: var(--ink); }
.decisionRoutes a + a { padding-left: 12px; border-left: 1px solid var(--home-line); }
.decisionRoutes strong, .decisionRoutes span { display: block; }
.decisionRoutes strong { font-size: 15px; font-weight: 750; }
.decisionRoutes span { margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 1.4; }
.decisionRoutes a:hover strong { color: var(--copper-dark); }
.decisionRoutes a:focus-visible { outline: 2px solid var(--copper); outline-offset: 3px; }
.routeCheck { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 72px); padding: 44px 52px; border-bottom: 1px solid var(--home-line); background: var(--paper); }
.routeCheck header > p:first-child { margin: 0; color: var(--copper-dark); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.routeCheck h2 { margin: 10px 0 14px; font-family: var(--serif); font-size: clamp(30px, 3vw, 42px); font-weight: 400; line-height: 1.1; letter-spacing: -.02em; }
.routeCheck header > p:last-child { max-width: 56ch; margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }
.routeCheck > div { border-top: 1px solid var(--home-line-strong); }
.routeCheck a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 18px; padding: 17px 0; color: var(--ink); border-bottom: 1px solid var(--home-line); }
.routeCheck a strong { font-size: 17px; }
.routeCheck a span { grid-column: 1; color: var(--muted); font-size: 15px; line-height: 1.45; }
.routeCheck a svg { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.routeCheck a:hover { color: var(--copper-dark); }
.routeCheck a:focus-visible { outline: 2px solid var(--copper); outline-offset: 3px; }
.heroFacts { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 700px; margin-top: 24px; border-top: 1px solid var(--home-line); }
.heroFacts > div { min-width: 0; padding: 15px 14px 0 0; }
.heroFacts > div + div { padding-left: 14px; border-left: 1px solid var(--home-line); }
.heroFacts strong, .heroFacts span { display: block; }
.heroFacts strong { font-size: 15px; font-weight: 750; line-height: 1.25; }
.heroFacts span { margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 1.4; }
.mobileTrust { display: none; }

/* Court evidence uses editorial rows: the case facts and original acts stay together. */
.practice { width: 100%; margin: 42px 0 0; content-visibility: auto; contain-intrinsic-size: auto 1500px; }
.caseCards { border-top: 1px solid var(--home-line); }
.caseCard { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(0, 1.35fr) minmax(170px, .75fr); gap: clamp(20px, 3vw, 48px); padding: 30px 0 34px; border-bottom: 1px solid var(--home-line); color: var(--ink); }
.caseCard h3 { margin: 12px 0 14px; font-family: var(--serif); font-size: clamp(24px, 2.3vw, 32px); font-weight: 400; line-height: 1.18; }
.caseIntro, .caseContext, .caseActs { min-width: 0; }
.caseOutcome { margin: 0; color: var(--copper-dark); font-size: 15px; font-weight: 700; }
.caseAmount { margin: 24px 0 0; }
.caseAmount span { display: block; color: var(--muted); font-size: 12px; }
.caseAmount strong { display: block; margin-top: 6px; color: var(--ink); font-size: clamp(25px, 2.4vw, 34px); font-weight: 600; line-height: 1.15; white-space: nowrap; }
.caseContext > p { max-width: 54ch; margin: 0 0 14px; font-size: 16px; line-height: 1.55; }
.caseContext > p + p { color: var(--muted); font-size: 14px; }
.caseCard dl { margin: 18px 0 0; }
.caseCard dl > div { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); gap: 10px; padding: 8px 0; border-top: 1px solid var(--home-line); }
.caseCard dt { color: var(--muted); font-size: 12px; }
.caseCard dd { margin: 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.caseActs { display: flex; flex-direction: column; align-items: stretch; }
.caseActs a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; border-bottom: 1px solid var(--home-line); color: var(--copper-dark); font-size: 15px; font-weight: 700; line-height: 1.35; text-decoration: none; }
.caseActs a:first-child { border-top: 1px solid var(--home-line); }
.caseActs a:hover { color: var(--ink); border-color: var(--copper-dark); }
.caseActs a:focus-visible { outline: 2px solid var(--copper-dark); outline-offset: 3px; }
.practice > footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; padding: 26px 0; }
.practice > footer p { margin: 0; color: var(--ink-soft); font-size: 15px; }
.practice > footer a { color: var(--copper-dark); font-weight: 750; text-underline-offset: 4px; }

.callCompact { grid-template-columns: 36px minmax(0, 1fr); min-width: 190px; min-height: 52px; padding: 7px 12px 7px 7px; }
.header > .callCompact { grid-column: 3; justify-self: end; }
.callCompact .callIcon { width: 36px; height: 36px; }
.callCompact strong { font-size: 14px; }

.expert { position: relative; display: grid; grid-template-rows: 360px auto; background: var(--paper); border-left: 1px solid var(--home-line); }
.portrait { position: relative; min-height: 0; overflow: hidden; }
.portrait::after { position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent, rgba(16,38,45,.18)); content: ''; }
.portrait picture, .portrait img { display: block; width: 100%; height: 100%; }
.portrait img { object-fit: cover; object-position: 50% 12%; }
.identity { position: relative; z-index: 1; margin: 0; padding: 24px 28px; background: var(--surface); border-top: 2px solid var(--copper); }
.identity > small { display: block; color: var(--copper-dark); font-size: 10px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.identity > strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: 30px; font-weight: 500; line-height: 1.05; }
.identity > span { display: block; margin-top: 6px; color: var(--muted); font-size: 15px; }
.identityFacts { display: grid; grid-template-columns: 1fr 1fr; margin-top: 20px; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.identityFacts > div { padding: 14px 10px 14px 0; }
.identityFacts > div + div { padding-left: 16px; border-left: 1px solid var(--home-line); }
.identityFacts strong, .identityFacts span { display: block; }
.identityFacts strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.identityFacts span { margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.identityEducation { margin: 16px 0; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.identity > a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; color: var(--ink); border-top: 1px solid var(--home-line); font-size: 14px; font-weight: 650; }
.identity > a:hover { color: var(--copper-dark); }

.outcomes { display: grid; grid-template-columns: minmax(220px, .42fr) minmax(0, 1.58fr); gap: 42px; padding: 56px 42px 58px 84px; border-bottom: 1px solid var(--home-line); }
.outcomes h2 { margin: 0; font-family: var(--serif); font-size: 36px; font-weight: 400; line-height: 1.05; }
.outcomes > div { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--home-line-strong); }
.outcomes > div > div { padding: 20px 22px 4px 0; }
.outcomes > div > div + div { padding-left: 22px; }
.outcomes strong { font-size: 16px; }
.outcomes p { margin: 9px 0 0; color: var(--muted); font-size: 15px; line-height: 1.5; }

.analysis, .legalMatrix, .faq, .contact { padding: 52px; border-bottom: 1px solid var(--home-line); }
.analysis { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(48px, 7vw, 100px); background: #f4efe7; }
.editorialHead h2, .matrixIntro h2, .contact h2 { margin: 12px 0 0; font-family: var(--serif); font-size: clamp(34px, 3.2vw, 46px); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
.editorialHead blockquote { margin: 32px 0 0; padding: 2px 0 2px 24px; color: var(--ink-soft); border-left: 3px solid var(--copper); font-family: var(--serif); font-size: 20px; line-height: 1.35; }
.stageList { margin: 0; padding: 0; list-style: none; counter-reset: stage; border-top: 1px solid var(--home-line-strong); }
.stageList li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px 16px; padding: 20px 0; border-bottom: 1px solid var(--home-line); counter-increment: stage; }
.stageList li::before { color: var(--copper-dark); content: counter(stage, decimal-leading-zero); font-family: var(--serif); font-size: 18px; }
.stageList strong { font-size: 16px; }
.stageList p { grid-column: 2; max-width: 65ch; margin: 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }

.legalMatrix { background: var(--navy-deep); color: #fff; }
.matrixIntro { display: grid; grid-template-columns: .35fr .9fr .75fr; gap: 32px; align-items: end; }
.matrixIntro > p { color: #e4a07e; }
.matrixIntro h2 { font-size: clamp(38px, 3.6vw, 54px); }
.matrixIntro > span { color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.55; }
.matrixNote { margin: 18px 0 0; color: rgba(255,255,255,.58); font-size: 13px; }

.lowerGrid { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(300px, .68fr); border-bottom: 1px solid var(--home-line); }
.index { padding: 52px; }
.sectionHead, .videoHead { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.sectionHead h2, .proof h2, .videoHead h2 { margin: 8px 0 0; font-family: var(--serif); font-size: 42px; font-weight: 400; line-height: 1.02; }
.sectionHead > a, .videoHead > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--ink); font-size: 14px; font-weight: 650; }
.topicGrid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 28px; border-top: 1px solid var(--home-line-strong); }
.topicGrid a, .proof > div > a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 94px; padding: 17px 18px 17px 0; color: var(--ink); border-bottom: 1px solid var(--home-line); }
.topicGrid a:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--home-line); }
.topicGrid a:hover, .proof a:hover { color: var(--copper-dark); background: rgba(182,93,57,.035); }
.topicGrid span, .proof a span { display: flex; flex-direction: column; }
.topicGrid small, .proof a small, .videoCopy small { color: var(--copper-dark); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.topicGrid strong, .proof a strong { margin-top: 6px; font-size: 16px; line-height: 1.3; }
.moreTopics summary, .moreVideos summary { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; margin-top: 18px; color: var(--ink); cursor: pointer; font-size: 14px; font-weight: 650; }
.moreTopics summary::-webkit-details-marker, .moreVideos summary::-webkit-details-marker { display: none; }
.moreTopics[open] summary span, .moreVideos[open] summary span { transform: rotate(45deg); }
.moreTopics .topicGrid { margin-top: 12px; }

.proof { padding: 52px 32px; background: var(--paper); border-left: 1px solid var(--home-line); }
.proof > div { margin-top: 28px; border-top: 1px solid var(--home-line-strong); }
.proofNote { margin: 26px 0 0; padding: 2px 0 2px 22px; color: var(--ink-soft); border-left: 3px solid var(--copper); font-family: var(--serif); font-size: 18px; line-height: 1.45; }

.faq { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; background: #f4efe7; }
.faqList { border-top: 1px solid var(--home-line-strong); }
.faqList details { border-bottom: 1px solid var(--home-line); }
.faqList summary { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 16px; align-items: center; min-height: 72px; padding: 14px 0; color: var(--ink); cursor: pointer; font-size: 18px; font-weight: 650; list-style: none; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary span { color: var(--copper-dark); font-family: var(--serif); font-weight: 400; }
.faqList summary::after { grid-column: 2; color: var(--copper-dark); content: '+'; font-size: 22px; font-weight: 400; }
.faqList details[open] summary::after { content: '−'; }
.faqList details p { max-width: 65ch; margin: 0 0 24px; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }

.videoStrip { padding: 52px; border-bottom: 1px solid var(--home-line); }
.videoList { display: grid; grid-template-columns: repeat(3, minmax(0, 360px)); gap: 18px; margin-top: 28px; }
.videoList > a { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--ink); }
.videoArt { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--navy-deep); }
.videoArt picture, .videoArt img { display: block; width: 100%; height: 100%; }
.videoArt img { object-fit: cover; transition: transform 240ms ease; }
.videoList > a:hover .videoArt img { transform: scale(1.025); }
.videoCoverShade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(11,37,44,.44)); }
.videoCopy { display: flex; flex-direction: column; padding-top: 14px; }
.videoCopy strong { margin-top: 6px; font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.18; }
.videoPlay { position: absolute; inset: 12px 12px auto auto; display: grid; width: 56px; height: 56px; place-items: center; color: var(--surface); background: var(--copper-dark); border: 2px solid var(--surface); border-radius: 50%; box-shadow: 0 4px 20px rgba(11,37,44,.25); transition: background 160ms ease; }
.videoPlay svg { width: 28px; height: 28px; margin-left: 2px; }
.videoBadge { position: absolute; left: 12px; bottom: 12px; padding: 5px 9px; color: var(--surface); background: var(--navy-deep); font-size: 12px; font-weight: 650; }
.videoAction { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 8px; color: var(--copper-dark); font-size: 15px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.videoAction svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.videoList > a:hover .videoPlay { background: var(--navy-deep); }
.videoList > a:focus-visible { outline: 3px solid var(--copper-dark); outline-offset: 5px; }

.contact { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); align-items: end; gap: 64px; background: #e9dfd3; }
.contact h2 { max-width: 780px; }
.contact > div:first-child > span { display: block; max-width: 680px; margin-top: 18px; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }
.contactActions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.contactActions > p { margin: 6px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.5; }
.contact address { margin-top: 24px; color: var(--ink); font-size: 18px; font-style: normal; }
.officeLink { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--copper-dark); text-decoration: underline; text-underline-offset: 4px; }
.officeLink svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.sectionDescription { width: 100%; max-width: none; margin: 20px 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.6; }
.costSection { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 52px; border-bottom: 1px solid var(--home-line); }
.costSection h2 { margin: 14px 0 20px; font-family: var(--serif); font-size: clamp(34px, 3.2vw, 46px); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; }
.costSection header > p:not(.kicker), .costChecklist p { max-width: 65ch; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.costSection header > a { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; color: var(--copper-dark); text-decoration: underline; text-underline-offset: 4px; font-size: 17px; font-weight: 650; }
.costSection svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.costChecklist { border-left: 3px solid var(--copper); padding-left: 28px; }
.costChecklist h3 { margin: 0 0 14px; font-size: 21px; line-height: 1.35; }
.costChecklist ul { margin: 0; padding-left: 22px; }
.costChecklist li { padding: 9px 0; font-size: 17px; line-height: 1.55; }

.sheetFooter { display: grid; grid-template-columns: 1fr auto; gap: 20px 40px; padding: 32px 42px 32px 84px; color: var(--muted); background: var(--surface); font-size: 13px; }
.sheetFooter address { color: var(--ink); font-style: normal; }
.sheetFooter nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 22px; }
.sheetFooter nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.sheetFooter p { grid-column: 1 / -1; margin: 0; padding-top: 14px; border-top: 1px solid var(--home-line); }
.mobileCall { display: none; }

.situationSection { display: grid; grid-template-columns: minmax(250px, .52fr) minmax(0, 1.48fr); gap: clamp(48px, 7vw, 100px); padding: 76px 42px 78px 84px; border-bottom: 1px solid var(--home-line); }
.situationIntro { align-self: start; }
.situationEyebrow { margin: 0; color: var(--copper-dark); font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.situationIntro h2 { margin: 12px 0 18px; font-family: var(--serif); font-size: clamp(40px, 4vw, 58px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
.situationIntro p:last-child { max-width: 440px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
.situationStage { display: grid; grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr); align-items: stretch; gap: 30px; }
.situationTabList { display: flex; flex-direction: column; border-top: 1px solid var(--home-line-strong); }
.situationTab { display: grid; grid-template-columns: 1fr 20px; align-items: center; gap: 10px; min-height: 66px; padding: 10px 4px 10px 0; color: var(--muted); text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--home-line); cursor: pointer; font: inherit; }
.situationTab > span:first-child { font-size: 16px; font-weight: 650; }
.situationTabMark { color: var(--copper-dark); opacity: 0; transform: translate(-4px, 4px); transition: opacity 160ms ease, transform 160ms ease; }
.situationTab:hover, .situationTabActive { color: var(--ink); }
.situationTabActive { padding-left: 12px; border-left: 3px solid var(--copper); }
.situationTab:hover .situationTabMark, .situationTabActive .situationTabMark { opacity: 1; transform: translate(0); }
.situationPanelScene { position: relative; min-height: 350px; }
.situationPanel { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; min-height: 350px; padding: 44px 46px; color: #fff; background: var(--navy-deep); border-top: 3px solid var(--copper); animation: situation-panel-in 220ms ease both; }
.situationPanel::after { position: absolute; right: 0; bottom: 28px; width: 74px; height: 1px; background: var(--copper); content: ''; }
.situationPanelLabel { color: #e4a07e; font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.situationPanel h3 { max-width: 560px; margin: 14px 0; font-family: var(--serif); font-size: clamp(32px, 3vw, 44px); font-weight: 400; line-height: 1.04; letter-spacing: -.02em; }
.situationPanel p { max-width: 610px; margin: 0; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.55; }
.situationPanelLink { display: inline-flex; align-items: center; gap: 9px; width: fit-content; min-height: 44px; margin-top: 22px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); font-size: 15px; font-weight: 650; }
.situationPanelLink:hover { color: #e4a07e; border-color: #e4a07e; }
.situationDepth,
.situationDepthTwo { display: none; }

@keyframes situation-panel-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }

@media (max-width: 1040px) {
  .header nav { display: none; }
  .leadGrid { grid-template-columns: 1fr .78fr; }
  .lead { padding: 36px 28px; }
  .analysis, .faq { grid-template-columns: 1fr; }
  .routeCheck { grid-template-columns: 1fr; }
  .matrixIntro { grid-template-columns: 1fr 1fr; }
  .matrixIntro > p { grid-column: 1 / -1; }
  .stageList li { grid-template-columns: 28px minmax(0, 1fr); }
  .lowerGrid { grid-template-columns: 1fr; }
  .proof { border-top: 1px solid var(--home-line); border-left: 0; }
  .situationSection { grid-template-columns: 1fr; }
  .situationStage { grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); }
}

@media (max-width: 820px) {
  .frame { width: min(100% - 20px, 1360px); }
  .header { width: min(100% - 24px, 1360px); min-height: 72px; }
  .header .callCompact { display: none; }
  .header { grid-template-columns: 1fr; }
  .leadGrid { grid-template-columns: 1fr; }
  .lead { padding: 36px 28px; }
  .costSection { grid-template-columns: 1fr; gap: 28px; padding: 40px 28px; }
  .expert { grid-template-rows: 400px auto; border-top: 1px solid var(--home-line); border-left: 0; }
  .outcomes { grid-template-columns: 1fr; }
  .outcomes > div { grid-template-columns: 1fr; }
  .outcomes > div > div + div { padding-left: 0; border-left: 0; }
  .analysis, .legalMatrix, .faq, .contact { padding-left: 58px; }
  .matrixIntro, .contact { grid-template-columns: 1fr; }
  .videoList { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .site { padding-bottom: 88px; background: var(--surface); }
  .frame { width: 100%; }
  .sheet { border-right: 0; border-left: 0; box-shadow: none; }
  .sheetRule { justify-content: flex-start; min-height: 34px; padding: 0 16px 0 24px; }
  .sheetRule::before { width: 18px; margin-right: 8px; }
  .lead { padding: 40px 20px 38px 24px; }
  .lead h1 { margin-top: 16px; font-size: clamp(34px, 9.6vw, 43px); line-height: 1.08; overflow-wrap: normal; }
  .promise { font-size: 17px; }
  .leadActions { display: grid; }
  .call, .readAction { width: 100%; min-width: 0; }
  .mobileTrust { display: none; }
  .mobileTrustPortrait { display: block; width: 58px; height: 62px; overflow: hidden; background: var(--paper-warm); }
  .mobileTrustPortrait picture, .mobileTrustPortrait img { display: block; width: 100%; height: 100%; }
  .mobileTrustPortrait img { object-fit: cover; object-position: 50% 22%; }
  .mobileTrustCopy { min-width: 0; }
  .mobileTrustCopy small, .mobileTrustCopy strong, .mobileTrustCopy > span { display: block; }
  .mobileTrustCopy small { color: var(--copper-dark); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
  .mobileTrustCopy strong { margin-top: 3px; font-family: var(--serif); font-size: 19px; font-weight: 500; line-height: 1.1; }
  .mobileTrustCopy > span { margin-top: 2px; color: var(--muted); font-size: 13px; }
  .mobileTrust > svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
  .heroFacts { grid-template-columns: 1fr; margin-top: 20px; }
  .heroFacts > div { display: grid; grid-template-columns: minmax(112px, .75fr) 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--home-line); }
  .heroFacts > div + div { padding-left: 0; border-left: 0; }
  .heroFacts span { margin-top: 0; font-size: 14px; }
  .decisionRoutes { grid-template-columns: 1fr 1fr; margin-top: 20px; }
  .decisionRoutes a { padding: 12px 10px 13px 0; }
  .decisionRoutes a:nth-child(2n) { padding-left: 10px; border-left: 1px solid var(--home-line); }
  .decisionRoutes a:nth-child(n + 3) { border-top: 1px solid var(--home-line); }
  .decisionRoutes a:nth-child(3) { padding-left: 0; border-left: 0; }
  .decisionRoutes span { font-size: 14px; }
  .routeCheck { gap: 26px; padding: 38px 24px; }
  .expert { grid-template-rows: 290px auto; }
  .portrait { min-height: 290px; }
  .identity { margin: 0; padding: 24px; }
  .identity > strong { font-size: 27px; }
  .outcomes, .analysis, .legalMatrix, .index, .proof, .faq, .videoStrip, .contact { padding: 44px 18px 46px 24px; }
  .outcomes h2, .sectionHead h2, .proof h2, .videoHead h2 { font-size: 34px; }
  .analysis { gap: 36px; }
  .editorialHead h2, .matrixIntro h2, .contact h2 { font-size: 34px; }
  .stageList li { grid-template-columns: 34px 1fr; gap: 8px 12px; }
  .stageList p { grid-column: 2; }
  .matrixIntro { gap: 18px; }
  .topicGrid { grid-template-columns: 1fr; }
  .topicGrid a:nth-child(even) { padding-left: 0; border-left: 0; }
  .sectionHead, .videoHead { align-items: flex-start; flex-direction: column; }
  .faqList summary { grid-template-columns: minmax(0, 1fr) 24px; min-height: 72px; font-size: 17px; }
  .faqList details p { margin-left: 0; }
  .costSection { padding: 40px 24px; }
  .videoList { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
  .caseCard { grid-template-columns: 1fr; gap: 20px; padding: 26px 0; }
  .caseCard dl > div { grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); }
  .practice > footer { grid-template-columns: 1fr; gap: 16px; }
  .sheetFooter { grid-template-columns: 1fr; padding: 30px 18px 30px 34px; }
  .sheetFooter nav { justify-content: flex-start; }
  .mobileCall {
    position: fixed; z-index: 80; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); left: 12px;
    display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 11px;
    width: auto; min-height: 56px; padding: 7px 14px 7px 8px; color: #fff; background: var(--copper-dark);
    border-radius: 4px; box-shadow: 0 8px 28px rgba(7,28,39,.25); transition: opacity 160ms ease, transform 160ms ease;
  }
  .mobileCall > svg { width: 38px; height: 38px; padding: 9px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; background: rgba(255,255,255,.14); border-radius: 3px; }
  .mobileCall > span { min-width: 0; }
  .mobileCall small, .mobileCall strong { display: block; color: #fff; }
  .mobileCall small { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
  .mobileCall strong { margin-top: 2px; font-size: 16px; line-height: 1.2; }
  .mobileCall[data-visible='false'] { opacity: 0; pointer-events: none; transform: translateY(12px); }
  .mobileCall[data-visible='true'] { opacity: 1; pointer-events: auto; transform: none; }
  .situationSection { display: block; padding: 48px 18px 56px 34px; }
  .situationIntro h2 { font-size: 40px; }
  .situationStage { display: block; margin-top: 30px; }
  .situationTabList { display: grid; grid-template-columns: 1fr 1fr; }
  .situationTab { min-height: 58px; padding: 8px 10px 8px 0; }
  .situationTab:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--home-line); }
  .situationTabActive { padding-left: 10px; border-left: 3px solid var(--copper); }
  .situationPanelScene { min-height: 370px; margin: 22px 18px 22px 0; }
  .situationPanel { min-height: 370px; padding: 32px 26px; }
  .situationPanel h3 { font-size: 34px; }
  .situationDepth { right: -8px; bottom: -8px; }
  .situationDepthTwo { top: 16px; right: -16px; bottom: -16px; left: 16px; }
}

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

/* Explanatory copy and standalone actions remain readable on tablets and phones. */
@media (max-width: 820px) {
  .noSales,
  .identityEducation,
  .identityFacts span,
  .outcomes p,
  .stageList p,
  .matrixIntro > span,
  .matrixNote,
  .sectionHead > a,
  .videoHead > a,
  .moreTopics summary,
  .moreVideos summary,
  .contactActions > a:last-child,
  .sheetFooter,
  .situationPanelLink {
    font-size: 16px;
    line-height: 1.5;
  }
}

.heroPrice { margin: 24px 0 0; padding: 16px 0 16px 18px; border-left: 3px solid var(--copper-dark); }
.heroPrice > span, .heroPrice > strong, .heroPrice > a { display: block; }
.heroPrice > span { font-size: 14px; color: var(--ink-soft); }
.heroPrice > strong { margin: 4px 0; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 3vw, 42px); line-height: 1.2; }
.heroPrice small { font-family: var(--sans); font-size: 17px; }
.heroPrice > a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.commercialSection { padding: 42px clamp(20px, 3.5vw, 52px); border-bottom: 1px solid var(--home-line); scroll-margin-top: 96px; }
.serviceRows { display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; }
.serviceRows > div { padding: 24px 0; border-top: 1px solid var(--home-line); }
.serviceRows h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.serviceRows p { margin: 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.roleNote { margin: 18px 0 0; padding: 20px 24px; border-left: 3px solid var(--copper-dark); background: var(--paper); font-size: 16px; line-height: 1.55; }
.priceBreakdown { margin: 20px 0; }
.priceBreakdown > div { padding: 16px 0; border-top: 1px solid var(--home-line); }
.priceBreakdown dt { font-size: 16px; line-height: 1.4; }
.priceBreakdown dd { margin: 8px 0 0; font-size: 21px; font-weight: 700; }
.costChecklist > a { display: block; margin-top: 14px; text-decoration: underline; text-underline-offset: 4px; }
.reviewQuotes { margin-top: 28px; }
.reviewQuotes h3 { margin: 0 0 12px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.reviewQuotes ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.reviewQuotes li { border-top: 1px solid var(--home-line); padding-top: 12px; }
.reviewQuotes blockquote { margin: 0 0 8px; font-size: 16px; line-height: 1.4; }
.reviewQuotes cite { color: var(--muted); font-size: 12px; font-style: normal; }
.reviewQuotes > p { margin: 16px 0 0; font-size: 13px; }
.reviewQuotes a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 650px) { .reviewQuotes ul { grid-template-columns: 1fr; gap: 12px; } }
.proofStrip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
.proofStrip a { padding: 16px 0; border-top: 1px solid var(--home-line); }
.proofStrip small, .proofStrip strong { display: block; }
.proofStrip small { color: var(--muted); margin-bottom: 6px; }
.proofStrip strong { font-size: 17px; }
.allArticles { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; text-decoration: underline; }
.costSection, .analysis { scroll-margin-top: 96px; }
@media (max-width: 650px) {
 .commercialSection { padding: 30px 20px; }
 .serviceRows, .proofStrip { grid-template-columns: 1fr; }
 .serviceRows h3 { font-size: 25px; }
 .heroPrice { margin-top: 18px; padding-block: 10px; }
 .heroPrice > strong { font-size: 32px; }
 .heroPrice small { font-size: 16px; }
 .roleNote { padding: 18px; }
}

/* A short emphasis on the price and clear interaction feedback, no hidden content. */
.heroPrice { position: relative; border-left: 0; }
.heroPrice::before { position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--copper-dark); content: ''; transform-origin: top; }
.proofStrip a, .serviceRows > div { transition: background-color 180ms ease, border-color 180ms ease; }
.proofStrip a:hover, .proofStrip a:focus-visible { border-color: var(--copper-dark); background: var(--paper); }
.serviceRows > div:hover { border-color: var(--copper-dark); }
@media (prefers-reduced-motion: no-preference) {
 .heroPrice::before { animation: price-rule-in 500ms cubic-bezier(.2,0,0,1) both; }
 .leadActions .readAction > svg, .identity a > svg { transition: transform 180ms cubic-bezier(.2,0,0,1); }
 .leadActions .readAction:hover > svg, .identity a:hover > svg { transform: translate(2px, -2px); }
}
@keyframes price-rule-in { from { transform: scaleY(.15); opacity: .5; } to { transform: scaleY(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
 .heroPrice::before { animation: none; transform: none; }
 .proofStrip a, .serviceRows > div, .leadActions .readAction > svg, .identity a > svg { transition: none; }
 .call:hover { transform: none; }
}

/* Keep section introductions on a shared reading edge at every viewport. */
.site .editorialHead { display: block; min-width: 0; text-align: left; margin-bottom: 24px; }
.site .editorialHead h2 { max-width: 100%; text-wrap: pretty; }
.site .editorialHead > .sectionDescription { margin-left: 0; margin-right: 0; }

.site .promise, .site .noSales, .site .stageList p, .site .faqList details p, .site .costSection header > p:not(.kicker), .site .costChecklist p, .site .contact > div:first-child > span { max-width: none; }

.sheetRule::before, .situationPanel::after { content: none; display: none; }

/* First-screen composition based on the owner-selected reference. */
.site .leadGrid { grid-template-columns:minmax(0,1fr) 350px; gap:48px; align-items:start; padding:32px 54px 36px; border:0; }
.site .lead { padding:0; justify-content:flex-start; }
.site .lead h1 { font-size:clamp(42px,4vw,58px); line-height:1.12; letter-spacing:-.025em; margin:14px 0 24px; text-wrap:pretty; }
.site .lead .kicker { color:var(--copper-dark); font-size:12px; letter-spacing:.09em; }
.site .experienceFacts { display:flex; flex-wrap:wrap; gap:18px 26px; padding:0; margin:0 0 24px; border:0; }
.site .experienceFacts a { flex:1 1 130px; }
.site .experienceFacts strong, .site .experienceFacts a:last-child strong { font-family:var(--sans); font-size:21px; font-weight:700; color:var(--ink); }
.site .experienceFacts span { font-size:14px; color:var(--ink-soft); }
.site .promise { font-size:19px; line-height:1.6; color:var(--ink); max-width:54ch; }
.site .heroPrice { padding:0; border:0; margin:20px 0 0; }
.site .heroPrice::before { display:none; }
.site .heroPrice > strong { font-family:var(--sans); font-size:26px; margin:5px 0; color:var(--ink); }
.site .heroPrice > span, .site .heroPrice > a { color:var(--ink-soft); font-size:14px; }
.site .leadActions { margin-top:24px; gap:12px; }
.site .leadActions .call { min-height:60px; min-width:260px; color:var(--white); background:var(--copper-dark); }
.site .leadActions .call strong, .site .leadActions .call small { color:var(--white); }
.site .leadActions .readAction { border:0; box-shadow:none; background:transparent; min-height:60px; padding:8px 12px; }
.site .noSales { font-size:15px; color:var(--ink-soft); }
.site .expert { display:block; margin:6px 0 0; border:0; background:transparent; }
.site .portrait { overflow:visible; min-height:0; }
.site .portrait::after { display:none; }
.site .portrait picture, .site .portrait img { display:block; width:100%; height:auto; }
.site .portrait img { object-fit:contain; aspect-ratio:auto; }
.site .identity { border:0; background:transparent; padding:18px 0 0; color:var(--ink); }
.site .identity > strong { font-size:25px; line-height:1.18; }
.site .identity > span, .site .identityEducation { color:var(--ink-soft); font-size:14px; line-height:1.5; }
.site .identityRegistry { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0 14px; padding:18px 0; border-top:1px solid var(--home-line); border-bottom:1px solid var(--home-line); }
.site .identityRegistry div { min-width:0; }
.site .identityRegistry dt { color:var(--ink-soft); font-size:12px; line-height:1.4; }
.site .identityRegistry dd { margin:5px 0 0; color:var(--ink); font-family:var(--serif); font-size:19px; line-height:1.18; }
.site .identity > a { border:0; min-height:44px; }
@media(max-width:1100px){.site .leadGrid { grid-template-columns:minmax(0,1fr) 290px; gap:32px; padding:32px; }.site .lead h1 {font-size:44px;}}
@media(max-width:760px){
.site .leadGrid { grid-template-columns:1fr; gap:28px; padding:24px 20px 32px; }
.site .lead h1 { font-size:clamp(34px,8.6vw,43px); line-height:1.12; margin:12px 0 20px; }
.site .experienceFacts { gap:12px; margin-bottom:20px; }.site .experienceFacts a {flex:1 1 80px;}
.site .experienceFacts strong, .site .experienceFacts a:last-child strong {font-size:19px;}
.site .experienceFacts span {font-size:13px;}
.site .promise {font-size:18px;line-height:1.55;}
.site .heroPrice {margin-top:16px;}.site .leadActions {margin-top:18px;}
.site .leadActions .call {width:100%;min-width:0;}.site .leadActions .readAction {min-height:48px;}
.site .expert {width:100%;max-width:350px;margin:0 auto;}
}
/* Homepage section system: the existing content, with a clearer visual hierarchy. */
.site .sheet { border:0; box-shadow:none; }
.site .sheetRule { border:0; padding-left:64px; color:var(--ink-soft); }
.site .sheetRule::before { display:none; }
.site .decisionRoutes { margin:0; padding:20px 64px; border:0; background:var(--paper-warm); gap:24px; }
.site .decisionRoutes a, .site .decisionRoutes a + a { padding:8px 0; border:0; }
.site .decisionRoutes strong { font-size:17px; }
.site .decisionRoutes span { color:var(--ink-soft); font-size:14px; }
.site .routeCheck, .site .commercialSection, .site .analysis, .site .costSection, .site .faq, .site .videoStrip, .site .contact { padding:48px 64px; border:0; }
.site .routeCheck { background:var(--surface); }
.site .routeCheck > div { border:0; }
.site .routeCheck a { padding:16px 20px; margin-bottom:10px; background:var(--paper); border:0; }
.site .routeCheck a span { color:var(--ink-soft); font-size:16px; line-height:1.55; }
.site .editorialHead h2, .site .routeCheck h2, .site .costSection h2, .site .videoHead h2, .site .sectionHead h2 { font-size:clamp(32px,3vw,42px); line-height:1.18; text-wrap:pretty; }
.site .sectionDescription { font-size:18px; line-height:1.65; margin-top:16px; }
.site .commercialSection:nth-of-type(even) { background:var(--paper); }
.site .serviceRows { gap:18px 36px; margin-top:24px; }
.site .serviceRows > div { border:0; padding:20px 0; }
.site .serviceRows h3 { font-family:var(--sans); font-size:21px; font-weight:700; line-height:1.3; }
.site .serviceRows p { font-size:18px; line-height:1.65; color:var(--ink); }
.site .analysis { gap:48px; }
.site .stageList { border:0; }
.site .stageList li { padding:18px 0; }
.site .stageList strong { font-size:19px; }
.site .stageList p { font-size:18px; color:var(--ink); }
.site .costSection { background:var(--paper-warm); gap:48px; }
.site .costChecklist { padding:24px 28px; background:var(--surface); border:0; }
.site .costSection p, .site .costChecklist p { color:var(--ink); }
.site .proofStrip a { border:0; padding:16px 0; }
.site .faq { grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:clamp(32px,5vw,88px); background:var(--surface); }
.site .faq .editorialHead { align-self:start; }
.site .faqList { border-top:1px solid var(--home-line-strong); }
.site .faqList summary { font-size:19px; min-height:76px; font-weight:600; }
.site .faqList details p { max-width:62ch; font-size:17px; color:var(--ink-soft); line-height:1.65; }
.site .faqList details[open] summary { color:var(--copper-dark); }
.site .faqList summary:focus-visible { outline:2px solid var(--copper-dark); outline-offset:3px; }
.site .videoStrip { background:var(--paper); }
.site .videoCopy strong { font-family:var(--sans); font-size:20px; line-height:1.35; font-weight:650; }
.site .contact { gap:40px; background:var(--paper-warm); }
.site .contact > div:first-child > span, .site .contactActions > p { color:var(--ink); font-size:18px; line-height:1.6; }
.site .contactActions .call { color:var(--white); background:var(--copper-dark); }
.site .contactActions .call strong, .site .contactActions .call small { color:var(--white); }
@media(max-width:1100px){
.site .decisionRoutes {padding:20px 32px;gap:16px;}
.site .routeCheck, .site .commercialSection, .site .analysis, .site .costSection, .site .faq, .site .videoStrip, .site .contact {padding:36px 32px;}
.site .faq {gap:32px;}
}
@media(max-width:760px){
.site .sheetRule {padding-left:20px;}
.site .decisionRoutes {grid-template-columns:1fr 1fr;padding:16px 20px;gap:12px 20px;}
.site .decisionRoutes a:nth-child(n) {padding:8px 0;border:0;}
.site .routeCheck, .site .commercialSection, .site .analysis, .site .costSection, .site .faq, .site .videoStrip, .site .contact {padding:32px 20px;}
.site .routeCheck, .site .analysis, .site .costSection, .site .contact {grid-template-columns:1fr;gap:24px;}
.site .faq {grid-template-columns:1fr;gap:20px;}
.site .serviceRows {grid-template-columns:1fr;gap:0;}
.site .editorialHead h2, .site .routeCheck h2, .site .costSection h2, .site .videoHead h2, .site .sectionHead h2 {font-size:32px;}
.site .costChecklist {padding:20px;}
}
.site .costSection header > a.call, .site .costSection header > a.call strong, .site .costSection header > a.call small { color:#fff; }
.site .costSection header > a.call { background:var(--copper-dark); text-decoration:none; }
.site .roleNote { padding:0; border:0; background:transparent; color:var(--ink-soft); font-weight:400; }

/* A single paper dossier: repeated rows and editorial rules, without decorative stock imagery. */
.site .commercialSection[id="practice"] { background:var(--paper-warm); }
.site .practice { margin-top:24px; }
.site .caseCards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:2px solid var(--navy-deep); border-bottom:1px solid var(--home-line); }
.site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child) { display:flex; flex-direction:column; gap:14px; align-items:stretch; min-width:0; margin:0; padding:22px 20px; border:0; border-left:1px solid var(--home-line); background:transparent; }
.site .caseCard:first-child { border-left:0; padding-left:0; }
.site .caseCard:last-child { padding-right:0; }
.site .caseIntro,.site .caseCard:first-child .caseIntro,.site .caseCard:not(:first-child) .caseIntro { padding:0; color:var(--ink); background:transparent; }
.site .caseIntro .kicker,.site .caseCard:not(:first-child) .caseIntro .kicker { color:var(--copper-dark); }
.site .caseIntro h3,.site .caseCard:not(:first-child) .caseIntro h3 { max-width:none; margin:10px 0 4px; color:var(--ink); font-size:clamp(23px,2vw,29px); line-height:1.1; }
.site .caseOutcome,.site .caseCard:not(:first-child) .caseOutcome { color:var(--copper-dark); }
.site .caseAmount,.site .caseCard:not(:first-child) .caseAmount { margin:15px 0 0; padding:0; border:0; }
.site .caseAmount span,.site .caseCard:not(:first-child) .caseAmount span { color:var(--ink-soft); }
.site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { color:var(--ink); font-size:clamp(27px,2.4vw,35px); white-space:normal; }
.site .caseContext,.site .caseCard:first-child .caseContext,.site .caseCard:not(:first-child) .caseContext { padding:0; }
.site .caseContext > p { font-size:15px; line-height:1.5; }
.site .caseCard dl { margin-top:14px; }
.site .caseCard dl > div { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; padding:6px 0; }
.site .caseCard dt { font-size:12px; }
.site .caseCard dd { font-size:14px; }
.site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { display:grid; gap:0; margin:auto 0 0; padding:10px 0 0; border:0; border-top:1px solid var(--home-line); }
.site .caseActs a,.site .caseActs a:first-child { min-height:40px; padding-left:0; border:0; }
.site .practice > footer { margin-top:0; padding:20px 0; border-top:0; }
.site .analysis { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.55fr); gap:clamp(30px,4vw,62px); align-items:start; background:var(--navy-deep); color:var(--surface); }
.site .analysis .editorialHead { max-width:440px; margin:0; }
.site .analysis .editorialHead > p:first-child { color:#e6b48c; }
.site .analysis .editorialHead h2 { color:var(--surface); }
.site .analysis .sectionDescription { color:#d8e5e3; font-size:16px; line-height:1.5; }
.site .stageList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.055); }
.site .stageList::before { content:none; }
.site .stageList li { position:relative; display:block; min-width:0; min-height:190px; padding:20px 24px 22px; border:0; border-left:1px solid rgba(255,255,255,.27); border-bottom:1px solid rgba(255,255,255,.27); background:transparent; }
.site .stageList li:nth-child(odd) { border-left:0; }
.site .stageList li:nth-last-child(-n+2) { border-bottom:0; }
.site .stageList li::before { display:block; width:auto; height:auto; margin:0 0 14px; color:#e6b48c; border:0; border-radius:0; background:transparent; font-family:var(--serif); font-size:58px; line-height:.9; }
.site .stageList li::after { position:absolute; top:-4px; left:24px; width:7px; height:7px; border-radius:50%; background:#e6b48c; content:""; }
.site .stageList strong { display:block; color:var(--surface); font-size:18px; line-height:1.25; }
.site .stageList p { max-width:38ch; margin:8px 0 0; color:#d8e5e3; font-size:14px; line-height:1.5; }
.site .faq { background:var(--paper-warm); }
.site .faqList { display:grid; gap:0; border-top:1px solid var(--home-line); }
.site .faqList details { padding:0 8px; border:0; border-bottom:1px solid var(--home-line); background:transparent; }
.site .faqList details[open] { border-color:var(--copper-dark); }
.site .faqList summary { min-height:70px; }
.site .faqList details p { padding-bottom:22px; margin-bottom:0; }
.site .reviewQuotes { display:grid; grid-template-columns:minmax(170px,.48fr) minmax(0,1.52fr); column-gap:28px; margin-top:18px; padding:28px 0 8px; border-top:2px solid var(--navy-deep); background:transparent; color:var(--ink); }
.site .reviewRating { grid-row:1/4; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:0 24px 0 0; border-right:1px solid var(--home-line); background:transparent; }
.site .reviewRating > span { color:var(--copper-dark); font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.site .reviewRating > strong { display:block; margin:12px 0 0; color:var(--ink); font-family:var(--serif); font-size:clamp(62px,6vw,82px); font-weight:400; line-height:.9; letter-spacing:-.05em; }
.site .reviewRating p { margin:10px 0 18px; color:var(--ink-soft); font-size:14px; }
.site .reviewRating a { min-height:44px; color:var(--copper-dark); border-bottom:1px solid var(--copper-dark); font-size:14px; font-weight:700; text-decoration:none; }
.site .reviewHead { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0; padding:0 0 14px; }
.site .reviewHead h3 { margin:0; color:var(--ink); font-size:clamp(27px,2.5vw,34px); }
.site .reviewHead span { color:var(--ink-soft); font-size:13px; white-space:nowrap; }
.site .reviewQuotes ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:0; }
.site .reviewQuotes li { display:flex; flex-direction:column; min-height:94px; padding:14px 22px 10px 0; border-top:1px solid var(--home-line); background:transparent; }
.site .reviewQuotes li:first-child { grid-column:auto; min-height:94px; }
.site .reviewQuotes li:nth-child(2),.site .reviewQuotes li:nth-child(4) { border-right:0; }
.site .reviewQuotes li:nth-child(2n) { padding-left:22px; border-left:1px solid var(--home-line); }
.site .reviewQuotes li:nth-child(3),.site .reviewQuotes li:nth-child(5) { padding-left:0; }
.site .reviewQuotes blockquote,.site .reviewQuotes li:first-child blockquote { flex:1; margin:0 0 9px; color:var(--ink); font-family:var(--serif); font-size:clamp(21px,2vw,27px); line-height:1.2; }
.site .reviewQuotes cite { color:var(--copper-dark); font-size:13px; font-weight:700; }
.site .reviewQuotes > p { margin:0; padding:10px 0 0; color:var(--ink-soft); font-size:13px; }
.site .reviewQuotes > p a { color:var(--copper-dark); }

.site .siteReview { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:0; align-items:stretch; min-height:225px; margin-top:18px; border:1px solid var(--home-line-strong); background:var(--paper-warm); }
.site .siteReview figure { display:flex; flex-direction:column; justify-content:center; min-width:0; margin:0; padding:28px clamp(24px,3.5vw,48px); border:0; border-right:1px solid var(--home-line-strong); }
.site .siteReview blockquote { max-width:22ch; margin:0; color:var(--ink); font-family:var(--serif); font-size:clamp(29px,3vw,43px); line-height:1.1; text-wrap:balance; }
.site .siteReview figcaption { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:baseline; margin-top:20px; padding-top:13px; border-top:1px solid var(--home-line); color:var(--ink-soft); font-size:13px; }
.site .siteReview figcaption strong { color:var(--ink); font-size:14px; }
.site .siteReviewInfo { display:flex; flex-direction:column; min-width:0; padding:28px 28px 22px; background:var(--surface); }
.site .siteReviewInfo > span { color:var(--copper-dark); font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.site .siteReview h3 { margin:12px 0 20px; font-family:var(--serif); font-size:clamp(26px,2.4vw,32px); font-weight:400; line-height:1.08; }
.site .siteReview nav { margin-top:auto; border-top:1px solid var(--home-line); }
.site .siteReview a { display:flex; justify-content:space-between; gap:12px; align-items:center; min-height:43px; padding:8px 0; color:var(--ink); border-bottom:1px solid var(--home-line); font-size:13px; font-weight:700; line-height:1.3; text-decoration:none; }
.site .siteReview a:hover { color:var(--copper-dark); }
.site .siteReview a span { flex:none; color:var(--copper-dark); font-size:18px; }
.site .proofStrip { gap:0; border-top:1px solid var(--home-line); border-bottom:1px solid var(--home-line); }
.site .proofStrip a { display:flex; flex-direction:column; justify-content:center; min-height:84px; padding:16px 22px; border:0; border-left:1px solid var(--home-line); background:transparent; }
.site .proofStrip a:first-child { border-left:0; }
.site .proofStrip a:hover { color:var(--copper-dark); }
.site .proofStrip small { color:var(--ink-soft); }
.site .videoStrip { background:var(--surface); }
.site .videoList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:22px; border-top:2px solid var(--navy-deep); border-bottom:1px solid var(--home-line); }
.site .videoList > a { display:grid; grid-template-rows:auto 1fr; min-height:188px; padding:18px 22px 10px; border-left:1px solid var(--home-line); }
.site .videoList > a:first-child { padding-left:0; border-left:0; }
.site .videoIndex { color:var(--copper-dark); font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.site .videoCopy { padding-top:18px; }
.site .videoCopy strong { font-size:clamp(21px,2vw,27px); }
.site .videoAction { margin-top:auto; }
.site .moreVideos .videoList { margin-top:8px; }
/* Two-tone editorial dossier: the answer and its routes share one frame. */
.site .routeCheck { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; padding:28px 64px; background:var(--paper); }
.site .routeCheck header { padding:30px 34px; background:var(--navy-deep); color:#fff; }
.site .routeCheck header > p:first-child { color:#e4ad85; }
.site .routeCheck h2 { color:#fff; }
.site .routeCheck header > p:last-child { color:#e2e8e5; }
.site .routeCheck header > p:last-child a { display:inline; padding:0; color:#fff; background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; }
.site .routeCheck > div { display:grid; align-content:center; padding:16px 28px; border:1px solid var(--home-line); border-left:0; background:var(--surface); }
.site .routeCheck > div > a { margin:0; padding:15px 4px; border:0; border-bottom:1px solid var(--home-line); background:transparent; }
.site .routeCheck > div > a:last-child { border-bottom:0; }
.site .routeCheck > div > a:hover { background:var(--paper); }

/* A single price plate makes the distinction between fee and court costs visible. */
.site .costSection { gap:0; padding:32px 64px; background:var(--navy-deep); }
.site .costSection header { padding:28px 36px 28px 0; color:#fff; }
.site .costSection .kicker { color:#e4ad85; }
.site .costSection h2 { color:#fff; font-size:clamp(46px,4.2vw,62px); line-height:1; }
.site .costSection header > p:not(.kicker),.site .costSection header > p strong { color:#e2e8e5; }
.site .costChecklist { padding:30px 34px; border-left:4px solid var(--copper); background:var(--surface); }
.site .costSection header > a.call { max-width:330px; }

/* One composed scope-of-work grid, with boundaries shared by all four entries. */
.site .commercialSection[id="services"] { background:var(--surface); }
.site #services .editorialHead { max-width:960px; padding-left:22px; border-left:4px solid var(--copper); }
.site #services .serviceRows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin-top:30px; border-top:2px solid var(--navy-deep); border-bottom:1px solid var(--home-line); }
.site #services .serviceRows > div { min-height:176px; padding:22px 26px 18px; border:0; border-bottom:1px solid var(--home-line); background:var(--paper); }
.site #services .serviceRows > div:nth-child(2n) { border-left:1px solid var(--home-line); }
.site #services .serviceRows > div:nth-last-child(-n+2) { border-bottom:0; }
.site #services .serviceRows h3 { margin:0 0 10px; font-family:var(--serif); font-size:clamp(24px,2vw,29px); font-weight:400; line-height:1.15; }
.site #services .serviceRows p { margin:0; font-size:16px; line-height:1.5; }
.site #services .roleNote { max-width:900px; margin:18px 0 0; font-size:14px; line-height:1.5; }

/* Film-strip covers remain attached to their answer, rather than floating photos. */
.site .videoStrip { background:var(--paper-warm); }
.site .videoList { gap:12px; border:0; }
.site .videoList > a,.site .videoList > a:first-child { display:flex; flex-direction:column; min-height:0; padding:0; border:1px solid var(--home-line); background:var(--surface); }
.site .videoArt { aspect-ratio:16/9; background:var(--navy-deep); }
.site .videoArt img { width:100%; height:100%; object-fit:cover; }
.site .videoCopy { flex:1; padding:16px 18px 12px; }
.site .videoCopy strong { min-height:2.3em; margin-top:7px; font-family:var(--serif); font-size:clamp(21px,2vw,27px); font-weight:400; line-height:1.15; }
.site .videoPlay { width:46px; height:46px; }
.site .videoPlay svg { width:23px; height:23px; }
.site .videoBadge { background:var(--navy-deep); }
/* Festival-editorial pacing: large headings sit against long hairlines, while
   actual evidence and media occupy the visual mass of each section. */
.site #practice .editorialHead { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.55fr); column-gap:36px; align-items:end; padding-bottom:20px; border-bottom:1px solid var(--home-line-strong); }
.site #practice .editorialHead > p:first-child { grid-column:1/-1; }
.site #practice .editorialHead h2 { margin:0; font-size:clamp(46px,4.7vw,64px); line-height:1; }
.site #practice .sectionDescription { margin:0; font-size:16px; line-height:1.5; }
.site .practice { margin-top:0; }
.site .caseCards { border:1px solid var(--home-line); border-top:4px solid var(--copper-dark); background:var(--surface); }
.site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child) { padding:24px 22px; }
.site .caseCard:last-child { padding-right:22px; }
.site .caseIntro .kicker { letter-spacing:.08em; }
.site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { font-family:var(--serif); font-weight:400; font-size:clamp(31px,2.8vw,42px); letter-spacing:-.035em; }
.site .videoStrip { background:var(--navy-deep); color:#fff; }
.site .videoHead { padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.36); }
.site .videoHead p { color:#e4ad85; }
.site .videoHead h2 { color:#fff; font-size:clamp(44px,4.4vw,62px); line-height:1; }
.site .videoHead > a { color:#fff; }
.site .videoList > a,.site .videoList > a:first-child { border:0; background:transparent; color:#fff; }
.site .videoCopy { padding:14px 0 0; color:#fff; }
.site .videoCopy small { color:#e4ad85; }
.site .videoCopy strong { color:#fff; }
.site .videoAction { color:#fff; }
.site .moreVideos summary { color:#fff; }
/* A photographic, high-contrast opening inspired by award-site editorial pacing. */
.site .leadGrid { background:var(--navy-deep); color:#fff; }
.site .lead h1 { max-width:19ch; color:#fff; font-size:clamp(48px,4.8vw,66px); line-height:1.02; margin:10px 0 18px; }
.site .lead h1 em { display:block; color:#e4ad85; }
.site .lead .kicker { color:#e6b48c; }
.site .experienceFacts strong, .site .experienceFacts a:last-child strong { color:#fff; font-size:23px; }
.site .experienceFacts span, .site .promise, .site .heroPrice > span, .site .heroPrice > a, .site .noSales { color:#d8e5e3; }
.site .heroPrice > strong { color:#fff; }
.site .leadActions .telegramAction { color:#fff; border-color:rgba(255,255,255,.62); }
.site .leadActions .telegramAction:hover { color:#e6b48c; border-color:#e6b48c; }
.site .leadActions .readAction, .site .leadActions .readAction small { color:#fff; }
.site .leadActions { margin-top:20px; }
.site .heroTrust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:26px; padding-top:17px; border-top:1px solid rgba(255,255,255,.35); }
.site .heroTrust a { display:block; min-width:0; padding:0 14px; color:#fff; text-decoration:none; border-left:1px solid rgba(255,255,255,.25); }
.site .heroTrust a:first-child { padding-left:0; border-left:0; }
.site .heroTrust strong { display:block; font-family:var(--serif); font-size:clamp(26px,2.8vw,37px); font-weight:400; line-height:1; }
.site .heroTrust span { display:block; margin-top:8px; color:#d8e5e3; font-size:13px; line-height:1.35; }
.site .heroTrust a:hover span { text-decoration:underline; text-underline-offset:3px; }
.site .heroPrice { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:12px; margin-top:24px; padding-top:16px; border-top:1px solid rgba(255,255,255,.2); }
.site .heroPrice > strong { font-size:22px; }
.site .heroPrice > a { flex-basis:100%; }

.site .proofLinks { grid-template-columns:repeat(3,minmax(0,1fr)); border-color:rgba(255,255,255,.35); }
.site .proofLinks a { color:#fff; }
.site .proofLinks a + a { border-color:rgba(255,255,255,.35); }
.site .proofLinks a small, .site .proofChecked { color:#c6d8d6; }
.site .proofLinks a strong { color:#fff; }
.site .expert { align-self:stretch; margin:0; }
.site .portrait, .site .portrait picture { height:430px; overflow:hidden; }
.site .portrait { position:relative; }
.site .portrait::after { display:block; content:""; position:absolute; inset:auto 0 0; height:28%; background:linear-gradient(transparent,var(--navy-deep)); pointer-events:none; }
.site .portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.site .identity { padding:20px 24px 24px; background:var(--navy-deep); color:#fff; }
.site .identity > small { color:#e4ad85; }
.site .identity > strong,.site .identityRegistry dd,.site .identity > a { color:#fff; }
.site .identity > span,.site .identityRegistry dt { color:#d8e5e3; }
.site .identityRegistry { border-color:rgba(255,255,255,.3); }
.site .identity > a { border-color:rgba(255,255,255,.3); }
.site .identity > a:hover { color:#e4ad85; }
@media(max-width:900px){
  .site .analysis { grid-template-columns:1fr; gap:20px; }
  .site .analysis .editorialHead { max-width:640px; }
  .site .stageList li,.site .stageList li:nth-child(3),.site .stageList li:nth-child(4) { display:block; min-height:180px; padding:18px 18px 20px; border-top:0; border-bottom:1px solid rgba(255,255,255,.27); }
  .site .stageList li:nth-child(odd) { border-left:0; }
  .site .stageList li::after { left:18px; }
  .site .stageList li:nth-last-child(-n+2) { border-bottom:0; }
  .site .stageList li::before { display:block; width:auto; height:auto; margin:0 0 12px; font-size:50px; }
  .site .stageList strong { font-size:17px; }
  .site .stageList p { max-width:38ch; margin:7px 0 0; font-size:14px; }
}
@media(max-width:600px){
  .site .stageList { grid-template-columns:1fr; }
  .site .stageList li,.site .stageList li:nth-child(3),.site .stageList li:nth-child(4) { display:grid; grid-template-columns:49px minmax(0,1fr); column-gap:14px; min-height:0; padding:18px 16px; border-left:0; border-bottom:1px solid rgba(255,255,255,.27); }
  .site .stageList li:last-child { border-bottom:0; }
  .site .stageList li::after { left:16px; }
  .site .stageList li::before { grid-row:1 / span 2; margin:0; font-size:45px; }
  .site .stageList strong { align-self:end; }
  .site .stageList p { grid-column:2; max-width:42ch; margin:5px 0 0; }
}
@media(max-width:760px){
  .site .caseCards,.site .videoList { grid-template-columns:1fr; }
  .site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child) { gap:14px; padding:20px 0; border-left:0; border-bottom:1px solid var(--home-line); }
  .site .caseCard:last-child { border-bottom:0; }
  .site .caseCard dl > div { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { border-left:0; border-top:1px solid var(--home-line); }
  .site .caseActs a,.site .caseActs a:first-child { padding-left:0; }
  .site .videoList > a,.site .videoList > a:first-child { min-height:0; padding:18px 0; border-left:0; border-top:1px solid var(--home-line); }
  .site .videoList > a:first-child { border-top:0; }
  .site .reviewQuotes { grid-template-columns:1fr; column-gap:0; }
  .site .siteReview { grid-template-columns:1fr; min-height:0; }
  .site .siteReview figure { padding:24px; border-right:0; border-bottom:1px solid var(--home-line-strong); }
  .site .siteReviewInfo { padding:22px 24px 18px; }
  .site .reviewRating { grid-row:auto; display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:18px; padding:0 0 18px; border-right:0; }
  .site .reviewRating > span, .site .reviewRating a { grid-column:1/-1; }
  .site .reviewRating > strong { margin:10px 0; font-size:68px; }
  .site .reviewRating p { margin:0; }
  .site .reviewHead { align-items:flex-start; flex-direction:column; gap:4px; padding:18px 0 12px; border-top:1px solid var(--home-line); }
  .site .reviewQuotes ul { grid-template-columns:1fr; padding:0; }
  .site .reviewQuotes li,.site .reviewQuotes li:first-child { grid-column:1; min-height:0; padding:14px 0; border-right:0; border-left:0; }
  .site .reviewQuotes li:nth-child(2n) { padding-left:0; border-left:0; }
  .site .reviewQuotes li:nth-child(3),.site .reviewQuotes li:nth-child(5) { padding-left:0; }
  .site .reviewQuotes > p { padding:8px 0 0; }
  .site .portrait, .site .portrait picture { height:400px; }
  .site .heroTrust { margin-top:22px; padding-top:15px; }
  .site .heroTrust a { padding:0 8px; }
  .site .heroTrust strong { font-size:24px; }
  .site .heroTrust span { font-size:12px; }
  .site .proofLinks { grid-template-columns:1fr; }
  .site .proofLinks a + a { padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.35); }
  .site .proofStrip a { min-height:64px; padding:12px 16px; }
}
@media(min-width:500px) and (max-width:760px){
  .site .reviewQuotes ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site .reviewQuotes li:nth-child(2n) { padding-left:14px; border-left:1px solid var(--home-line); }
  .site .reviewQuotes li:nth-child(2n+1) { padding-right:14px; }
}
@media(max-width:760px){
  .site #practice .editorialHead { grid-template-columns:1fr; gap:12px; padding-bottom:18px; }
  .site #practice .editorialHead > p:first-child { grid-column:1; }
  .site #practice .editorialHead h2 { font-size:42px; }
  .site #practice .sectionDescription { margin:0; }
  .site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { padding:20px 18px; }
  .site .routeCheck { grid-template-columns:1fr; padding:18px 20px; }
  .site .routeCheck header { padding:24px 22px; }
  .site .routeCheck > div { padding:6px 18px; border:1px solid var(--home-line); border-top:0; }
  .site .costSection { grid-template-columns:1fr; padding:20px; }
  .site .costSection header { padding:14px 4px 24px; }
  .site .costChecklist { padding:24px 20px; border-left:0; border-top:4px solid var(--copper); }
  .site #services .serviceRows { grid-template-columns:1fr; }
  .site #services .serviceRows > div,.site #services .serviceRows > div:nth-child(2n) { min-height:0; padding:20px 18px; border-left:0; border-bottom:1px solid var(--home-line); }
  .site #services .serviceRows > div:last-child { border-bottom:0; }
  .site .videoList { grid-template-columns:1fr; gap:12px; }
  .site .videoList > a,.site .videoList > a:first-child { padding:0; border:0; border-bottom:1px solid rgba(255,255,255,.3); }
  .site .videoArt { aspect-ratio:16/9; }
  .site .videoCopy { padding:12px 0 16px; }
  .site .videoCopy strong { min-height:0; }
}

/* Court cases: one editorial dossier with three uniform, scannable records. */
.site .caseDeckHead { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:58px; padding:12px 22px; color:#fff; background:var(--navy-deep); }
.site .caseDeckHead span { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.site .caseDeckHead strong { color:#f0c7a6; font-family:var(--serif); font-size:21px; font-weight:400; white-space:nowrap; }
.site .caseDeckHead i { padding:0 5px; color:#fff; font-style:normal; opacity:.65; }
.site .caseCards { border:1px solid var(--home-line); border-top:0; background:var(--surface); }
.site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { gap:0; padding:20px 22px 18px; border-left:1px solid var(--home-line); }
.site .caseCard:first-child { border-left:0; }
.site .caseIndex { display:flex; align-items:baseline; gap:5px; margin:0 0 12px; color:var(--copper-dark); font-family:var(--serif); font-size:32px; line-height:1; }
.site .caseIndex span { color:var(--muted); font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.08em; }
.site .caseIntro h3,.site .caseCard:not(:first-child) .caseIntro h3 { margin:0; font-family:var(--serif); font-size:clamp(21px,1.9vw,27px); line-height:1.12; }
.site .caseAmount,.site .caseCard:not(:first-child) .caseAmount { margin:16px 0 0; padding:14px 0 0; border-top:1px solid var(--home-line); }
.site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { margin-top:4px; color:var(--copper-dark); font-size:clamp(29px,2.6vw,37px); line-height:1.05; white-space:normal; }
.site .caseContext { margin:15px 0 0; }
.site .caseContext > p { margin:0; color:var(--ink); font-size:13px; font-weight:700; }
.site .caseContext > span { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { margin-top:auto; padding-top:14px; border-top:0; }
.site .caseActs a,.site .caseActs a:first-child { display:flex; justify-content:space-between; gap:8px; min-height:39px; padding:8px 0; border-top:1px solid var(--home-line); color:var(--ink); font-size:13px; font-weight:700; }
.site .caseActs a span { color:var(--copper-dark); }
.site .practice > footer { gap:16px; padding:15px 0; }
.site .practice > footer p { max-width:72ch; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.site .practice > footer a { font-size:13px; white-space:nowrap; }
@media(max-width:760px){
  .site .caseDeckHead { min-height:52px; padding:10px 16px; }
  .site .caseDeckHead strong { font-size:17px; }
  .site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { padding:18px; border-left:0; border-bottom:1px solid var(--home-line); }
  .site .caseCard:last-child { border-bottom:0; }
  .site .caseIntro h3,.site .caseCard:not(:first-child) .caseIntro h3 { font-size:23px; }
  .site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { padding-top:9px; border-top:0; }
  .site .practice > footer { grid-template-columns:1fr; }
}

/* Court-practice spread follows the approved editorial reference: ruled
   columns, a visible stack of acts, and proof links on the paper itself. */
.site #practice .editorialHead { border-bottom:0; padding-bottom:30px; }
.site #practice .editorialHead h2 { font-size:clamp(50px,5.3vw,74px); }
.site .caseCards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:0; background:transparent; }
.site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { position:relative; display:block; min-height:438px; padding:0 20px 0; border:0; border-left:1px solid var(--home-line-strong); background:transparent; }
.site .caseCard:first-child { padding-left:0; border-left:0; }
.site .caseCard:last-child { padding-right:0; }
.site .caseIntro,.site .caseCard:first-child .caseIntro,.site .caseCard:not(:first-child) .caseIntro { position:relative; z-index:2; min-height:132px; }
.site .caseEyebrow { display:flex; align-items:center; gap:14px; min-height:40px; border-top:1px solid var(--home-line-strong); border-bottom:1px solid var(--home-line-strong); }
.site .caseEyebrow span { color:var(--copper-dark); font-family:var(--serif); font-size:19px; }
.site .caseEyebrow h3,.site .caseCard:not(:first-child) .caseEyebrow h3 { margin:0; font-family:var(--serif); font-size:17px; font-weight:400; line-height:1.15; }
.site .caseAmount,.site .caseCard:not(:first-child) .caseAmount { margin:20px 0 0; padding:0; border:0; }
.site .caseAmount span { font-size:11px; }
.site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { font-size:clamp(25px,2.15vw,32px); white-space:nowrap; }
.site .caseVisual { position:absolute; top:145px; right:16px; width:43%; height:192px; transform:rotate(3deg); filter:drop-shadow(7px 9px 6px rgba(16,38,45,.17)); }
.site .casePaperBack,.site .casePaperMid,.site .casePaperFront { position:absolute; inset:0; border:1px solid #d2d0c8; background:#f8f7f3; box-shadow:1px 1px 2px rgba(16,38,45,.12); }
.site .casePaperBack { transform:translate(11px,-9px) rotate(4deg); }
.site .casePaperMid { transform:translate(5px,-5px) rotate(-3deg); }
.site .casePaperFront { display:flex; flex-direction:column; align-items:center; padding:26px 10px 12px; overflow:hidden; background:linear-gradient(105deg,#faf9f4,#ebe9e3); }
.site .casePaperFront span { font-family:var(--serif); font-size:9px; font-weight:700; text-transform:uppercase; }
.site .casePaperFront b { max-width:100%; margin-top:10px; font-size:6px; white-space:nowrap; }
.site .casePaperFront i { display:block; width:100%; height:2px; margin-top:9px; background:#a9a9a4; opacity:.55; }
.site .casePaperFront i:nth-of-type(even) { width:82%; align-self:flex-start; }
.site .casePaperFront small { margin-top:auto; color:var(--copper-dark); font-size:6px; font-weight:700; letter-spacing:.1em; }
.site .caseContext { position:absolute; z-index:2; top:210px; left:20px; width:45%; max-width:none; min-height:0; margin:0; }
.site .caseCard:first-child .caseContext { left:0; }
.site .caseContext > p { margin:0; font-family:var(--serif); font-size:15px; font-weight:400; line-height:1.28; }
.site .caseContext > span { margin-top:10px; font-size:11px; line-height:1.35; }
.site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { position:absolute; right:20px; bottom:0; left:20px; display:flex; flex-direction:column; gap:1px; margin:0; padding:10px 0 0; border-top:1px solid var(--home-line-strong); }
.site .caseCard:first-child .caseActs { left:0; }
.site .caseCard:last-child .caseActs { right:0; }
.site .caseActs a,.site .caseActs a:first-child { display:block; min-height:32px; padding:5px 0; border:0; color:var(--navy-deep); font-family:var(--serif); font-size:14px; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.site .caseActs a:hover { color:var(--copper-dark); }
.site .practice > footer { margin-top:18px; border-top:1px solid var(--home-line-strong); }
@media(max-width:1100px){
  .site .caseVisual { width:35%; height:165px; }
  .site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { font-size:clamp(22px,2.3vw,29px); }
}
@media(max-width:760px){
  .site #practice .editorialHead { padding-bottom:22px; }
  .site #practice .editorialHead h2 { font-size:44px; }
  .site .caseCards { grid-template-columns:1fr; }
  .site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { min-height:390px; padding:0 0 22px; border-left:0; border-bottom:0; }
  .site .caseVisual { top:140px; right:10px; width:36%; height:195px; }
  .site .caseContext,.site .caseCard:first-child .caseContext { top:210px; left:0; width:55%; }
  .site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { right:0; left:0; }
  .site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { font-size:clamp(26px,5vw,32px); }
}

/* Compact docket cards: the same visual structure on desktop and mobile. */
.site .caseCards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; background:transparent; }
.site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; overflow:hidden; border:1px solid var(--home-line-strong); border-radius:4px; background:var(--surface); }
.site .caseCard::before { content:""; position:absolute; top:0; right:0; width:0; height:0; border-top:13px solid var(--paper-warm); border-left:13px solid transparent; }
.site .caseTop { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:43px; padding:8px 16px; border-bottom:1px solid var(--home-line); background:var(--paper); }
.site .caseIndex { display:inline-flex; gap:4px; align-items:baseline; margin:0; color:var(--copper-dark); font-family:var(--serif); font-size:22px; font-weight:600; line-height:1; }
.site .caseIndex small { color:var(--ink-soft); font-family:var(--sans); font-size:11px; font-weight:700; }
.site .caseNumber { margin:0; color:var(--ink); font-size:12px; font-weight:750; text-align:right; }
.site .caseMain { flex:1; padding:16px 16px 13px; }
.site .caseAmount,.site .caseCard:not(:first-child) .caseAmount { margin:0; padding:0; border:0; }
.site .caseAmount span { display:block; color:var(--ink-soft); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { display:block; margin-top:5px; color:var(--ink); font-family:var(--serif); font-size:clamp(27px,2.45vw,35px); font-weight:600; line-height:1.04; white-space:normal; }
.site .caseOutcome,.site .caseCard:not(:first-child) .caseOutcome { display:flex; align-items:flex-start; gap:7px; width:fit-content; max-width:100%; margin:12px 0 0; padding:6px 9px; color:#285d43; background:#e8f3e9; font-size:13px; font-weight:700; line-height:1.35; }
.site .caseOutcome::before { content:""; flex:none; width:6px; height:6px; margin-top:5px; border-radius:50%; background:#285d43; }
.site .caseDecision { display:flex; flex-direction:column; gap:4px; margin:0 16px 13px; padding:10px 12px; border:0; border-left:2px solid var(--copper-dark); background:var(--paper); box-shadow:none; }
.site .caseDecision span { color:var(--ink-soft); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.site .caseDecision strong { color:var(--ink); font-family:var(--serif); font-size:15px; font-weight:600; line-height:1.2; }
.site .caseDecision time { color:var(--ink-soft); font-family:var(--sans); font-size:12px; font-weight:600; white-space:nowrap; }
.site .caseActs,.site .caseCard:first-child .caseActs,.site .caseCard:not(:first-child) .caseActs { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; padding:0; border-top:1px solid var(--home-line); }
.site .caseActs a,.site .caseActs a:first-child { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:52px; padding:8px 12px; border:0; color:var(--navy-deep); font-family:var(--sans); font-size:13px; font-weight:700; line-height:1.25; text-decoration:none; }
.site .caseActs a + a { border-top:0; border-left:1px solid var(--home-line); }
.site .caseActs a span { flex:none; color:var(--copper-dark); font-size:17px; }
.site .caseActs a:hover { background:var(--paper); }
.site .caseActs a:focus-visible { outline:2px solid var(--copper-dark); outline-offset:-3px; }
.site .practice > footer { margin-top:14px; padding:12px 0; border-top:1px solid var(--home-line-strong); }
@media(max-width:760px){
  .site #practice .editorialHead { gap:7px; padding-bottom:16px; }
  .site #practice .editorialHead h2 { font-size:clamp(34px,9vw,44px); line-height:1.02; }
  .site #practice .sectionDescription { font-size:15px; line-height:1.4; }
  .site .caseCards { grid-template-columns:1fr; gap:10px; }
  .site .caseCard,.site .caseCard:first-child,.site .caseCard:not(:first-child),.site .caseCard:last-child { min-height:0; padding:0; border:1px solid var(--home-line-strong); }
  .site .caseMain { padding:12px 15px 11px; }
  .site .caseAmount strong,.site .caseCard:first-child .caseAmount strong,.site .caseCard:not(:first-child) .caseAmount strong { font-size:29px; }
  .site .caseOutcome { margin-top:9px; }
  .site .caseDecision { margin:0 15px 9px; padding:7px 10px; }
  .site .caseDecision strong { font-size:14px; }
  .site .caseActs a,.site .caseActs a:first-child { min-height:48px; padding:8px 10px; }
}

/* Reviews as a compact, source-led gallery rather than a list of loose text. */
.site .reviewQuotes { display:grid; grid-template-columns:220px minmax(0,1fr); column-gap:24px; row-gap:14px; margin-top:28px; padding:24px; border:0; border-radius:4px; background:var(--navy-deep); color:var(--surface); }
.site .reviewRating { grid-row:1/4; display:flex; flex-direction:column; align-items:flex-start; padding:0 22px 0 0; border:0; border-right:1px solid rgba(255,255,255,.3); }
.site .reviewRating > span { color:#e6b48c; font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.site .reviewRating > div { display:flex; flex-direction:column; align-items:flex-start; margin:16px 0 0; }
.site .reviewRating > div strong { color:var(--surface); font-family:var(--serif); font-size:78px; font-weight:400; letter-spacing:-.05em; line-height:.85; }
.site .reviewStars { margin-top:14px; color:#e6b48c; font-size:19px; letter-spacing:3px; line-height:1; }
.site .reviewRating p { margin:14px 0 20px; color:#d8e5e3; font-size:14px; line-height:1.4; }
.site .reviewRating a { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; color:var(--surface); border-bottom:1px solid #e6b48c; font-size:14px; font-weight:700; }
.site .reviewHead { display:flex; flex-direction:column; gap:4px; align-items:flex-start; margin:0; padding:0; border:0; }
.site .reviewHead span { color:#e6b48c; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.site .reviewHead h3 { margin:0; color:var(--surface); font-family:var(--serif); font-size:clamp(28px,2.7vw,37px); font-weight:400; line-height:1.08; }
.site .reviewQuotes ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; border:0; }
.site .reviewQuotes ul > li:nth-child(n) { position:relative; grid-column:auto; display:flex; flex-direction:column; min-height:114px; padding:15px 17px 13px; overflow:hidden; border:1px solid rgba(16,38,45,.16); border-radius:3px; background:var(--surface); color:var(--ink); }
.site .reviewQuotes ul > li:first-child { grid-column:1/-1; min-height:103px; background:var(--paper-warm); }
.site .reviewQuotes ul > li blockquote,.site .reviewQuotes ul > li:first-child blockquote { position:relative; z-index:1; flex:1; margin:0 0 13px; color:var(--ink); font-family:var(--serif); font-size:clamp(18px,1.8vw,24px); line-height:1.22; }
.site .reviewQuotes ul > li cite { position:relative; z-index:1; color:var(--copper-dark); font-size:13px; font-weight:700; }
.site .reviewQuotes > p { grid-column:2; margin:0; padding:0; color:#d8e5e3; font-size:12px; line-height:1.4; }
.site .reviewQuotes > p a { color:var(--surface); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px){
  .site .reviewQuotes { grid-template-columns:1fr; gap:16px; margin-top:22px; padding:18px; }
  .site .reviewRating { grid-row:auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:0 12px; padding:0 0 14px; border-right:0; border-bottom:1px solid rgba(255,255,255,.3); }
  .site .reviewRating > span { grid-column:1/-1; }
  .site .reviewRating > div { grid-column:1; margin:12px 0 0; }
  .site .reviewRating > div strong { font-size:62px; }
  .site .reviewStars { margin-top:8px; font-size:16px; letter-spacing:2px; }
  .site .reviewRating p { grid-column:2; grid-row:2; max-width:125px; margin:0; font-size:12px; }
  .site .reviewRating a { grid-column:1/-1; margin-top:9px; width:fit-content; }
  .site .reviewHead { gap:4px; padding:0; border:0; }
  .site .reviewHead h3 { font-size:31px; }
  .site .reviewQuotes ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .site .reviewQuotes ul > li:nth-child(n) { min-height:122px; padding:13px 12px 10px; border:1px solid rgba(16,38,45,.16); }
  .site .reviewQuotes ul > li:first-child { min-height:83px; }
  .site .reviewQuotes ul > li blockquote,.site .reviewQuotes ul > li:first-child blockquote { margin-bottom:9px; font-size:17px; line-height:1.2; }
  .site .reviewQuotes > p { grid-column:1; }
}
@media(max-width:340px){
  .site .reviewQuotes ul { grid-template-columns:1fr; }
  .site .reviewQuotes ul > li:nth-child(n) { grid-column:1; min-height:0; }
}

/* FAQ as an editorial question index: one framed object, eight scan-friendly entries. */
.site .faq { align-items:start; background:var(--paper-warm); }
.site .faq .editorialHead { position:relative; margin:0; padding:0 24px 0 0; }
.site .faq .editorialHead::after { display:block; width:72px; height:4px; margin-top:26px; background:var(--copper-dark); content:""; }
.site .faq .editorialHead h2 { max-width:12ch; font-size:clamp(38px,3.9vw,56px); line-height:1.03; }
.site .faqList { counter-reset:question; display:grid; gap:0; overflow:hidden; border:1px solid var(--home-line-strong); border-top:3px solid var(--navy-deep); background:var(--surface); }
.site .faqList details { counter-increment:question; min-width:0; padding:0; border:0; border-bottom:1px solid var(--home-line); background:transparent; }
.site .faqList details:last-child { border-bottom:0; }
.site .faqList details[open] { border-color:var(--home-line); background:var(--paper); }
.site .faqList summary { display:grid; grid-template-columns:36px minmax(0,1fr) 30px; gap:14px; align-items:center; min-height:66px; padding:13px 20px; font-size:17px; font-weight:650; line-height:1.32; }
.site .faqList summary::before { grid-column:1; color:var(--copper-dark); content:counter(question,decimal-leading-zero); font-family:var(--serif); font-size:25px; font-weight:400; line-height:1; }
.site .faqList summary::after { grid-column:3; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--home-line-strong); border-radius:50%; color:var(--navy-deep); font-family:var(--sans); font-size:20px; line-height:1; }
.site .faqList details[open] summary { color:var(--navy-deep); }
.site .faqList details[open] summary::after { border-color:var(--copper-dark); background:var(--copper-dark); color:var(--surface); }
.site .faqList details p { max-width:64ch; margin:0; padding:0 56px 22px 70px; color:var(--ink); font-size:16px; line-height:1.55; }
@media(max-width:900px){
  .site .faq .editorialHead h2 { max-width:20ch; }
  .site .faq .editorialHead::after { margin-top:18px; }
}
@media(max-width:600px){
  .site .faq .editorialHead { padding-right:0; }
  .site .faq .editorialHead h2 { max-width:13ch; font-size:clamp(34px,9vw,42px); }
  .site .faqList summary { grid-template-columns:28px minmax(0,1fr) 28px; gap:10px; min-height:64px; padding:12px; font-size:16px; }
  .site .faqList summary::before { font-size:20px; }
  .site .faqList summary::after { width:28px; height:28px; }
  .site .faqList details p { padding:0 13px 18px 50px; font-size:15px; }
}

/* Closing editorial spread: the office is a place, the calls are clear actions. */
.site .contact { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr); gap:clamp(32px,5vw,72px); align-items:start; background:var(--navy-deep); color:var(--surface); }
.site .contact > [id="cta"] { position:absolute; top:0; left:0; width:1px; height:1px; overflow:hidden; }
.site .contact > div:first-child > p { color:#e6b48c; }
.site .contact h2 { max-width:14ch; margin:14px 0 0; color:var(--surface); font-size:clamp(42px,4.5vw,64px); line-height:1.03; }
.site .contact > div:first-child > span { display:block; max-width:48ch; margin-top:22px; color:#d8e5e3; font-size:17px; line-height:1.55; }
.site .officeCard { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 24px; align-items:end; margin-top:34px; padding:19px 0 22px; border-top:2px solid #e6b48c; border-bottom:1px solid rgba(255,255,255,.32); }
.site .officeCard small { grid-column:1/-1; color:#e6b48c; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.site .contact .officeCard address { margin:0; color:var(--surface); font-family:var(--serif); font-size:clamp(20px,2vw,27px); line-height:1.17; }
.site .officeCard .officeLink { justify-self:end; gap:8px; min-height:44px; color:var(--surface); font-size:14px; font-weight:650; text-decoration:none; border-bottom:1px solid #e6b48c; }
.site .officeCard .officeLink:hover { color:#e6b48c; }
.site .contactActions { display:grid; gap:0; padding:26px; border-top:4px solid var(--copper-dark); background:var(--paper-warm); color:var(--ink); }
.site .contactActions .call,.site .contactActions .telegramAction { width:100%; min-width:0; }
.site .contactActions .telegramAction { min-height:58px; margin-top:10px; color:var(--navy-deep); border-color:var(--home-line-strong); background:var(--surface); }
.site .contactActions .telegramAction:hover { border-color:var(--copper-dark); }
.site .contactActions .telegramChannel { justify-content:space-between; min-height:50px; border-bottom:1px solid var(--home-line); color:var(--ink); font-size:14px; font-weight:650; text-decoration:none; }
.site .contactActions .telegramChannel:first-of-type { margin-top:14px; border-top:1px solid var(--home-line); }
.site .contactActions .telegramChannel:hover { color:var(--copper-dark); }
.site .contactActions > p { margin:17px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.4; }
@media(max-width:900px){
  .site .contact { grid-template-columns:1fr; gap:26px; }
  .site .contact h2 { max-width:16ch; }
  .site .contactActions { max-width:620px; }
}
@media(max-width:600px){
  .site .contact h2 { font-size:clamp(39px,10vw,48px); }
  .site .contact > div:first-child > span { margin-top:16px; font-size:16px; }
  .site .officeCard { grid-template-columns:1fr; gap:10px; margin-top:26px; padding:16px 0 17px; }
  .site .officeCard small { grid-column:1; }
  .site .officeCard .officeLink { justify-self:start; }
  .site .contactActions { padding:18px; }
}

/* Compact FAQ spread: a lead answer beside a clear seven-question index. */
.site .faq { display:block; background:var(--paper-warm); }
.site .faq .editorialHead { display:grid; grid-template-columns:minmax(140px,.26fr) minmax(0,1fr); gap:24px; align-items:end; max-width:none; margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid var(--home-line-strong); }
.site .faq .editorialHead > p:first-child { margin:0 0 7px; }
.site .faq .editorialHead h2 { max-width:none; margin:0; font-size:clamp(36px,3.5vw,50px); }
.site .faq .editorialHead::after { content:none; }
.site .faqList { grid-template-columns:minmax(260px,.9fr) repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(66px,auto)); gap:1px; align-items:stretch; overflow:hidden; border:1px solid var(--navy-deep); background:var(--home-line-strong); }
.site .faqList details,.site .faqList details:last-child { grid-column:auto; min-width:0; border:0; background:var(--surface); }
.site .faqList details:first-child { grid-column:1; grid-row:1 / span 4; border:0; background:var(--navy-deep); color:var(--surface); }
.site .faqList details:last-child { grid-column:2 / -1; }
.site .faqList summary { grid-template-columns:minmax(0,1fr) 30px; min-height:66px; padding:14px 17px; font-size:16px; line-height:1.25; }
.site .faqList summary::before { content:none; }
.site .faqList summary::after { grid-column:2; }
.site .faqList details:first-child summary { min-height:96px; padding:24px 24px 12px; color:var(--surface); font-family:var(--serif); font-size:clamp(25px,2.35vw,34px); font-weight:400; }
.site .faqList details:first-child summary::after { color:var(--surface); border-color:rgba(255,255,255,.5); }
.site .faqList details:first-child[open] summary::after { color:var(--surface); border-color:var(--copper-dark); }
.site .faqList details:first-child p { padding:0 24px 26px; color:#d8e5e3; font-size:16px; line-height:1.55; }
.site .faqList details:not(:first-child) p { padding:0 18px 19px; font-size:15px; line-height:1.5; }
.site .faqList details:not(:first-child)[open] { background:var(--paper); }
@media(max-width:900px){
  .site .faq .editorialHead { display:block; }
  .site .faq .editorialHead h2 { margin-top:10px; }
  .site .faqList { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  .site .faqList details:first-child { grid-column:1 / -1; grid-row:auto; }
}
@media(max-width:600px){
  .site .faq .editorialHead { margin-bottom:16px; padding-bottom:14px; }
  .site .faq .editorialHead h2 { font-size:clamp(34px,9vw,42px); }
  .site .faqList { grid-template-columns:1fr; grid-template-rows:none; gap:1px; }
  .site .faqList details,.site .faqList details:first-child { grid-column:1; grid-row:auto; }
  .site .faqList details:last-child { grid-column:1; }
  .site .faqList details:first-child summary { min-height:72px; padding:17px; font-size:25px; }
  .site .faqList details:first-child p { padding:0 17px 20px; font-size:16px; }
  .site .faqList details:not(:first-child) p { font-size:16px; }
}

/* Fastov30 regional content and static navigation. */
.fastov-home .site-header .brand strong{font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.12;letter-spacing:-.025em}.fastov-home .site-header .brand small{font-size:.72rem}.fastov-home .leadActions .telegramAction,.fastov-home .contactActions .telegramAction{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:12px 20px;color:#fcfaf5;background:#17373f;text-decoration:none}.fastov-home .contactActions .telegramChannel{display:block;min-height:44px;padding:10px 2px;border-bottom:1px solid rgba(16,38,45,.18);color:#10262d;text-decoration:none}.fastov-home .reviewQuotes{margin-top:42px}.fastov-home .routeCheck>div>a>span:last-child{grid-column:2;grid-row:1/span 2;align-self:center}.fastov-home .localCases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fastov-home .localCase{min-width:0}@media(max-width:760px){.fastov-home .localCases{grid-template-columns:1fr}.fastov-home .leadActions .telegramAction{width:100%}}

/* Shared source interactions in the static Fastov30 shell. */
.fastov-home .cookie-notice[hidden]{display:none!important}.fastov-home .sheetFooter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:24px 42px;border-top:1px solid var(--home-line);font-size:14px}.fastov-home .sheetFooter address{font-style:normal}.fastov-home .sheetFooter nav{display:flex;gap:20px}.fastov-home .sheetFooter p{margin:0}.fastov-home .faqList details{padding:18px 0;border-bottom:1px solid var(--home-line)}.fastov-home .faqList summary{cursor:pointer;font-weight:700;min-height:44px}.fastov-home .faqList details>p{margin:4px 0 0;max-width:72ch}@media(max-width:620px){.fastov-home .sheetFooter{padding:20px;flex-direction:column}}

/* Keep the Fastov34 stage composition legible in the narrow embedded browser. */
@media (max-width: 600px) {
  .site.fastov-home .stageList li,
  .site.fastov-home .stageList li:nth-child(3),
  .site.fastov-home .stageList li:nth-child(4) {
    display: grid;
    grid-template-columns: 49px minmax(0, 1fr);
    column-gap: 14px;
  }
  .site.fastov-home .stageList li::before {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
  }
  .site.fastov-home .stageList strong,
  .site.fastov-home .stageList p { grid-column: 2; min-width: 0; }
}

@media (max-width: 360px) {
  .site.fastov-home .sticky-contact p { display: none; }
  .site.fastov-home .sticky-contact a { flex: 1; min-width: 0; text-align: center; }
}

/* Fastov34 docket-card structure with Fastov30 court facts and one verified act per case. */
.site.fastov-home #practice .caseActs { grid-template-columns: minmax(0, 1fr); }
.site.fastov-home #practice .caseSummary { margin: 12px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.45; }
.site.fastov-home #practice .caseOutcome { font-family: var(--sans); }
.site.fastov-home #practice .caseDecision time { white-space: normal; }
@media (max-width: 760px) {
  .site.fastov-home #practice .caseCard { min-width: 0; }
  .site.fastov-home #practice .caseNumber { overflow-wrap: anywhere; }
}

@media (max-width: 900px) {
  .site.fastov-home #practice .caseCards { grid-template-columns: minmax(0, 1fr); }
}
.site.fastov-home #practice .caseOutcome { color: #285d43 !important; }

/* Court summaries and disclosure remain readable on narrow screens. */
.site.fastov-home #practice .caseSummary { font-size: 15px; line-height: 1.5; }
.site.fastov-home #practice .practice > footer p { font-size: 14px; line-height: 1.5; }

/* The first-screen scope list sits on navy, including the tablet layout. */
.site.fastov-home .hero-scope { color: #d8e5e3; font-size: 14px; line-height: 1.5; }

/* Source: editorial-header.css */
/* Fastov34 EditorialHeader adapted to static Fastov30 routes and phone. */
.site-header{--white:#fcfaf5;--ink:#10262d;--ink-soft:#3d5258;--navy-deep:#0b252c;--copper-dark:#8d452c;--line:rgba(16,38,45,.17);--ease-out:cubic-bezier(.22,1,.36,1)}
.site-header {
  position: sticky;
  z-index: 500;
  top: 0;
  min-height: 78px;
  color: var(--ink);
  border-bottom: 1px solid rgba(16, 38, 45, .18);
  background: rgba(243, 239, 231, .94);
}

@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .site-header {
    background: rgba(243, 239, 231, .84);
    -webkit-backdrop-filter: blur(12px) saturate(1.05);
    backdrop-filter: blur(12px) saturate(1.05);
  }
}

.header-inner {
  display: grid;
  grid-template-columns: minmax(190px, .9fr) minmax(420px, 1.45fr) auto;
  align-items: center;
  gap: clamp(20px, 3vw, 46px);
  width: min(100% - 40px, 1360px);
  min-height: 78px;
  margin: 0 auto;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  width: max-content;
  min-height: 48px;
}

.brand-name { display: block; max-width: 178px; color: var(--navy-deep); font-size: 14px; line-height: 1.15; letter-spacing: -.015em; }
.brand span {
  max-width: 132px;
  padding-left: 13px;
  color: var(--ink-soft);
  border-left: 1px solid rgba(16, 38, 45, .28);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.header-nav { display: flex; justify-content: center; gap: clamp(15px, 2vw, 29px); }
.header-nav a, .mobile-menu nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 620;
}

.header-nav a::after {
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: '';
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms var(--ease-out);
}

.header-nav a:hover, .header-nav a[aria-current='page'], .mobile-menu nav a:hover, .mobile-menu nav a[aria-current='page'] { color: var(--copper-dark); }
.header-nav a:hover::after, .header-nav a[aria-current='page']::after { transform: scaleX(1); transform-origin: left; }

.header-phone {
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  column-gap: 16px;
  min-width: 190px;
  min-height: 50px;
  padding: 7px 14px;
  color: var(--white);
  background: var(--copper-dark);
  border: 1px solid #713723;
  transition: background-color 160ms ease, transform 140ms var(--ease-out);
}

.header-phone small, .header-phone strong { grid-column: 1; }
.header-phone small { color: rgba(255,255,255,.76); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.header-phone strong { margin-top: 1px; font-size: 13px; }
.header-phone span { grid-row: 1 / 3; grid-column: 2; align-self: center; font-size: 18px; transition: transform 160ms var(--ease-out); }
.header-phone:hover { color: var(--white); background: #6f3422; }
.header-phone:hover span { transform: translate(2px, -2px); }
.header-phone:active { transform: scale(.975); }

.mobile-menu { display: none; position: relative; }
.mobile-menu summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  min-width: 86px;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
}
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary i, .mobile-menu summary i::before, .mobile-menu summary i::after {
  display: block;
  width: 19px;
  height: 1px;
  background: currentColor;
  content: '';
  transition: transform 180ms var(--ease-out);
}
.mobile-menu summary i { position: relative; }
.mobile-menu summary i::before { position: absolute; transform: translateY(-6px); }
.mobile-menu summary i::after { position: absolute; transform: translateY(6px); }
.mobile-menu[open] summary i { background: transparent; }
.mobile-menu[open] summary i::before { transform: rotate(45deg); }
.mobile-menu[open] summary i::after { transform: rotate(-45deg); }
.mobile-menu > div {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(320px, calc(100vw - 28px));
  padding: 8px 18px 14px;
  border: 1px solid rgba(16,38,45,.2);
  background: var(--white);
  box-shadow: 0 18px 44px rgba(16,38,45,.12);
  transform-origin: top right;
}
.mobile-menu:not([open]) > div { display: none; }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { justify-content: space-between; border-bottom: 1px solid var(--line); }
.mobile-menu nav a::after { content: '↗'; font-size: 15px; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: 1fr auto auto; }
  .header-nav { display: none; }
  .mobile-menu { display: block; grid-column: 2; grid-row: 1; }
  .header-phone { grid-column: 3; }
}

@media (max-width: 650px) {
  .site-header, .header-inner { min-height: 68px; }
  .header-inner { grid-template-columns: minmax(90px, 1fr) auto; gap: 14px; width: calc(100% - 28px); }
  .brand-name { max-width: 154px; font-size: 12px; }
  .brand span, .header-phone { display: none; }
  .mobile-menu { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .progress { display: none; }
  .skipLink, .header-nav a::after, .header-phone, .header-phone span, .mobile-menu summary i, .mobile-menu summary i::before, .mobile-menu summary i::after { transition: none; }
}

/* Direct calling remains available on narrow screens. */
@media (max-width: 650px) {
 .header-inner { grid-template-columns: minmax(68px, 1fr) auto auto; gap: 8px; }
 .brand-name { max-width: 132px; font-size: 11px; }
 .header-phone { display: flex; grid-column: 2; grid-row: 1; min-width: 0; min-height: 44px; padding: 8px 10px; }
 .header-phone small, .header-phone span { display: none; }
 .header-phone strong { margin: 0; font-size: 13px; white-space: nowrap; }
 .mobile-menu { grid-column: 3; }
 .mobile-menu summary { min-width: 44px; justify-content: center; }
 .mobile-menu summary > span { display: none; }
}

.site-header .header-inner{display:grid;max-width:none;padding:0}.site-header .brand{display:inline-flex;text-decoration:none}.site-header .brand-name{font-weight:700}.site-header .brand-context{max-width:132px}.site-header .header-nav{display:flex}.site-header .header-phone{text-decoration:none}.site-header .mobile-menu{display:none}@media(max-width:1120px){.site-header .header-nav{display:none}.site-header .mobile-menu{display:block}}@media(max-width:650px){.site-header .header-inner{grid-template-columns:minmax(68px,1fr) auto auto;min-height:68px;gap:8px}.site-header .brand{min-width:0}.site-header .brand-name{max-width:132px;font-size:11px}.site-header .brand-context{display:none}.site-header .header-phone{display:flex;grid-column:2;min-width:0;min-height:44px;padding:8px 10px}.site-header .header-phone small,.site-header .header-phone span{display:none}.site-header .header-phone strong{font-size:13px;white-space:nowrap}.site-header .mobile-menu{grid-column:3}.site-header .mobile-menu summary{min-width:44px;justify-content:center}.site-header .mobile-menu summary>span{display:none}}

.site-header .brand-name{font-size:14px;line-height:1.15;letter-spacing:-.015em}.site-header .brand-context{font-size:9px;line-height:1.25}@media(max-width:650px){.site-header .brand-name{font-size:11px;line-height:1.15}}

/* Editorial catalog uses straight card edges. */
.blog-index-page.catalogPage .article-card{border-radius:0}

/* Keep the full practice name readable on 320 px screens. The fixed call action remains available below. */
@media (max-width: 360px) {
  .site.fastov-home .site-header .header-inner { grid-template-columns: minmax(0, 1fr) 44px; }
  .site.fastov-home .site-header .header-phone { display: none; }
  .site.fastov-home .site-header .mobile-menu { grid-column: 2; }
  .site.fastov-home .site-header .brand-name,
  .site.fastov-home .site-header .brand strong { max-width: none; font-size: 14px; line-height: 1.15; }
}
