@font-face { font-family: "Manrope CF"; src: url("/site-assets/manrope.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }

:root {
  --ink: #0b1015;
  --ink-raised: #111820;
  --white: #f5f3ee;
  --muted: #a8b1b7;
  --line: rgba(245, 243, 238, 0.22);
  --line-strong: rgba(245, 243, 238, 0.42);
  --red: #d63c36;
  --max: 1360px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, "Helvetica Neue", sans-serif;
  --motion-fast: 160ms;
  --motion-standard: 320ms;
  --motion-scene: 520ms;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: #f1f4f4;
  background: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
}

/* The funnel system is embedded below the preserved homepage hero. The main
   product stylesheet owns a paper background, so the reviewed dark scenes
   need an explicit integration boundary rather than inheriting that surface. */
body.page-home #routes,
body.page-home .cf-flow,
body.page-home .cf-site-footer {
  color: #f1f4f4;
  background-color: var(--ink);
}
body.page-home #routes {
  width: 100%;
  margin-inline: 0;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
}
body.page-home #routes h2,
body.page-home #routes h3,
body.page-home .cf-flow h2,
body.page-home .cf-flow h3,
body.page-home .cf-contact h2,
body.page-home .cf-contact h3,
body.page-home .cf-site-footer h2,
body.page-home .cf-site-footer h3,
body.page-home .cf-site-footer p { color: inherit; }
body.page-home #routes .cf-section__head > p:not(.cf-kicker),
body.page-home #routes .cf-route-choice b,
body.page-home #routes .cf-route-lens__event,
body.page-home #routes .cf-route-lens dd { color: #aeb9bd; }
body.page-home .home17-journal {
  position: relative;
  background: linear-gradient(180deg, #070b0f 0, #0a1118 72px, var(--ink) 150px) !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
body.page-home .home17-journal::before {
  position: absolute;
  top: 0;
  left: max(32px, calc((100% - var(--max)) / 2));
  width: 74px;
  height: 2px;
  content: "";
  background: var(--red);
}
body.page-home .home17-journal header h2 { color: #f1f4f4 !important; }
body.page-home .home17-journal header p:not(.fp-eyebrow) { color: #aeb9bd !important; }

/* Dark-surface type contract. Legacy homepage CSS must not lower contrast or
   restore desktop display sizes inside the commercial flow. */
body.page-home #routes,
body.page-home .cf-flow,
body.page-home .home17-journal,
body.page-home .cf-contact,
body.page-home .cf-site-footer { --muted: #c3cbd0; }
body.page-home .cf-contact h2 { color: #f1f4f4 !important; }
body.page-home .cf-contact__lead,
body.page-home .cf-contact__safety p { color: #d7dde0 !important; }
body.page-home .cf-contact__code,
body.page-home .cf-contact__benefits small,
body.page-home .cf-channel__copy small,
body.page-home .cf-contact__safety small { color: #c6cfd2 !important; }
body.page-home .cf-site-footer__identity > p { color: #aeb9bd !important; }

/* Homepage shells grow continuously with the viewport. The upper cap keeps
   readable line lengths on 4K while still using about 70% of its width. */
@media (min-width: 981px) {
  body.page-home {
    --home-fluid-gutter: clamp(32px, 4vw, 192px);
    --max: calc(100vw - var(--home-fluid-gutter) - var(--home-fluid-gutter));
    --fp-wide: var(--max);
  }
}

@media (max-width: 980px) {
  body.page-home .cf-flow-chapter h2,
  body.page-home .cf-process-intro h2,
  body.page-home .cf-warning-intro h2,
  body.page-home .cf-format-intro h2,
  body.page-home .cf-practice-intro h2 { font-size: clamp(2.45rem, 6.2vw, 3.35rem); line-height: 1.04; }
  body.page-home .cf-contact h2 { max-width: 560px; font-size: clamp(2.65rem, 6.5vw, 3.55rem); line-height: 1; }
}
@media (max-width: 620px) {
  body.page-home #routes { padding-inline: 18px; }
  body.page-home .home17-journal::before { left: 18px; width: 48px; }
  body.page-home #routes .cf-section__head h2 { font-size: 2rem; line-height: 1.08; }
  body.page-home .cf-flow-chapter h2,
  body.page-home .cf-process-intro h2,
  body.page-home .cf-warning-intro h2,
  body.page-home .cf-format-intro h2,
  body.page-home .cf-practice-intro h2 { font-size: 2.25rem; line-height: 1.06; }
  body.page-home .home17-journal header h2 { font-size: 1.9rem; line-height: 1.04; }
  body.page-home .cf-contact h2 { max-width: 340px; font-size: 2.35rem; line-height: 1.02; }
  body.page-home .cf-contact__lead { font-size: 1rem; line-height: 1.58; }
  body.page-home .cf-contact__benefits small { font-size: .82rem; }
}
a { color: inherit; }
button { font: inherit; }
.cf-shell { width: min(var(--max), calc(100% - 64px)); margin-inline: auto; }

.cf-header {
  position: relative;
  z-index: 20;
  height: 72px;
  padding: 0 max(24px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  gap: 34px;
  color: #f1f4f4;
  background: var(--ink);
}
.cf-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.cf-brand span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #ffffff66; font-family: var(--serif); }
.cf-brand b { font-size: 0.74rem; font-weight: 600; }
.cf-header nav { display: flex; gap: 28px; margin-left: auto; }
.cf-header nav a, .cf-header__contact { font-size: 0.78rem; text-decoration: none; }
.cf-header__contact { padding-block: 10px; border-bottom: 2px solid var(--red); }

.cf-hero {
  position: relative;
  height: min(720px, calc(100svh - 72px));
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #f1f4f4;
}
.cf-hero__media, .cf-hero__shade { position: absolute; inset: 0; }
.cf-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.cf-hero__shade { background: linear-gradient(90deg, rgba(7,11,15,.9) 0, rgba(7,11,15,.66) 45%, rgba(7,11,15,.08) 80%); }
.cf-hero__copy { position: relative; padding-bottom: clamp(52px, 8vh, 90px); }
.cf-hero__copy h1 { max-width: 820px; margin: 14px 0 24px; font: 400 clamp(3rem, 5.3vw, 5.8rem)/.98 var(--serif); }
.cf-hero__copy > p:not(.cf-kicker) { max-width: 690px; color: #e1e6e7; font-size: 1.06rem; }
.cf-kicker { margin: 0 0 12px; color: var(--red); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.cf-button { margin-top: 20px; padding: 14px 22px; display: inline-flex; color: #fff; background: var(--red); font-size: .84rem; font-weight: 700; text-decoration: none; }

.cf-section { padding-block: clamp(78px, 9vw, 142px); }
.cf-band { padding-block: clamp(78px, 9vw, 142px); background: var(--ink-raised); }
.cf-section__head {
  margin-bottom: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 560px);
  gap: 50px;
  align-items: end;
}
.cf-section__head .cf-kicker { grid-column: 1 / -1; }
.cf-section__head h2 { margin: 0; font: 400 clamp(2.1rem, 4vw, 4.3rem)/1 var(--serif); }
.cf-section__head > p:not(.cf-kicker) { max-width: 620px; margin: 0; color: #aeb9bd; }

/* One index and one shared diagnostic lens. No cards and no table columns. */
.cf-route-stage {
  position: relative;
  padding-block: clamp(64px, 6vw, 92px);
}
.cf-route-stage .cf-section__head { margin-bottom: clamp(32px, 3vw, 44px); }
.cf-route-selector {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(430px, .9fr);
  gap: clamp(48px, 5vw, 76px);
  align-items: start;
}
.cf-route-index { overflow-x: clip; border-top: 1px solid rgba(215,223,226,.24); }
.cf-route-choice {
  min-height: 112px;
  padding: 20px 8px 20px 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  border-bottom: 1px solid rgba(215,223,226,.24);
  text-decoration: none;
}
.cf-route-choice > span { color: var(--red); font-size: .68rem; font-weight: 700; }
.cf-route-choice h2 { margin: 0; font: 400 clamp(1.65rem, 2.35vw, 2.55rem)/1.02 var(--serif); transition: transform var(--motion-standard) var(--ease), color var(--motion-fast), opacity var(--motion-fast); }
.cf-route-choice > p { display: none; }
.cf-route-choice b { display: flex; gap: 10px; align-items: center; color: #aeb9bd; font-size: .7rem; transition: color var(--motion-fast), transform var(--motion-standard) var(--ease); }
.cf-route-choice i { color: var(--red); font: 400 1.4rem/1 var(--serif); }
.cf-route-choice:hover h2, .cf-route-choice:focus-visible h2, .cf-route-choice.is-route-active h2 { color: #fff; transform: translateX(12px); }
.cf-route-choice:hover b, .cf-route-choice:focus-visible b, .cf-route-choice.is-route-active b { color: var(--red); transform: translateX(5px); }
.cf-route-choice:focus-visible { outline: 2px solid var(--red); outline-offset: 6px; }
.cf-route-lens {
  position: sticky;
  top: 108px;
  min-height: 0;
  padding: 10px 0 16px clamp(32px, 3vw, 48px);
  border-left: 3px solid var(--red);
}
.cf-route-lens__number { margin: 0 0 34px; color: var(--red); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.cf-route-lens h3 {
  margin: 0 0 22px;
  font: 400 clamp(2rem, 2.65vw, 3rem)/1.04 var(--serif);
  text-wrap: balance;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}
.cf-route-lens__event { max-width: 560px; margin: 0 0 30px; color: #aeb9bd; font-size: 1rem; }
.cf-route-lens dl { margin: 0 0 30px; }
.cf-route-lens dt { margin-top: 18px; color: var(--red); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.cf-route-lens dd { max-width: 560px; margin: 5px 0 0; font-size: .88rem; }
.cf-route-lens .cf-button { margin-top: 8px; }

@media (min-width: 1600px) {
  body.page-home #routes .cf-section__head {
    grid-template-columns: minmax(0, 1fr) minmax(520px, 720px);
    gap: clamp(64px, 4vw, 120px);
  }
  body.page-home #routes .cf-section__head > p:not(.cf-kicker) {
    max-width: 48rem;
    font-size: clamp(1rem, .72vw, 1.2rem);
  }
  body.page-home #routes .cf-route-selector {
    grid-template-columns: minmax(0, 1.5fr) minmax(620px, .9fr);
    gap: clamp(84px, 4vw, 128px);
  }
  body.page-home #routes .cf-route-choice {
    min-height: clamp(120px, 4vw, 150px);
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: clamp(24px, 1.4vw, 44px);
  }
  body.page-home #routes .cf-route-choice h2 {
    max-width: 28ch;
    font-size: clamp(2.15rem, 1.2vw, 3.1rem);
    line-height: 1.04;
  }
  body.page-home #routes .cf-route-choice > span,
  body.page-home #routes .cf-route-choice b,
  body.page-home #routes .cf-route-lens__number,
  body.page-home #routes .cf-route-lens dt { font-size: clamp(.72rem, .42vw, .88rem); }
  body.page-home #routes .cf-route-lens {
    min-height: 640px;
    padding-left: clamp(52px, 2.5vw, 76px);
  }
  body.page-home #routes .cf-route-lens h3 {
    max-width: none;
    font-size: clamp(2.4rem, 2vw, 3.25rem);
    line-height: 1.04;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  body.page-home #routes .cf-route-lens__event,
  body.page-home #routes .cf-route-lens dd {
    max-width: 48rem;
    font-size: clamp(1rem, .62vw, 1.15rem);
  }
}

/* Funnel pages retain a quiet guide line through long operational sections. */
.cf-path-scene { position: relative; }
.cf-path-scene::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: max(32px, calc((100% - var(--max)) / 2 + 40px));
  width: 1px;
  content: "";
  background: linear-gradient(var(--red), var(--line) 22%, var(--line) 78%, transparent);
  opacity: .72;
}
/* Full-width caseflow: the work changes behind one continuous reading surface. */
.cf-flow { position: relative; background: #070b0f; font-family: "Manrope CF", var(--sans); }
.cf-flow__media {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  background: #05080b;
}
.cf-flow__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: saturate(.72) contrast(1.04);
  transform: scale(1.04);
  transition: opacity 650ms var(--ease), transform 1400ms var(--ease);
}
.cf-flow__media img.is-active { opacity: 1; transform: scale(1); }
.cf-flow__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7,11,15,.98) 0, rgba(7,11,15,.9) 31%, rgba(7,11,15,.54) 58%, rgba(7,11,15,.16) 100%), linear-gradient(0deg, rgba(5,8,11,.68), transparent 52%);
}
.cf-flow__count { position: absolute; top: 34px; right: max(32px, calc((100% - var(--max)) / 2)); margin: 0; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.6); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.cf-flow__count::before { width: 48px; height: 1px; content: ""; background: var(--red); }
.cf-flow__count b { color: #fff; font: 600 .78rem/1 "Manrope CF", var(--sans); }
.cf-flow__chapters { position: relative; z-index: 2; margin-top: -100svh; }
.cf-flow-chapter {
  min-height: 100svh;
  padding: 100px max(32px, calc((100vw - var(--max)) / 2));
  display: flex;
  align-items: center;
}
.cf-flow-chapter__inner { width: min(64vw, 820px); opacity: .18; transform: translateY(24px); transition: opacity var(--motion-scene) var(--ease), transform 760ms var(--ease); }
.cf-flow-chapter.is-flow-active .cf-flow-chapter__inner { opacity: 1; transform: translateY(0); }
.cf-flow-chapter h2 { margin: 0 0 38px; font: 500 clamp(2.65rem, 4.7vw, 5.35rem)/1.02 "Manrope CF", var(--sans); }
.cf-flow-lead { max-width: 560px; margin: 0 0 30px; color: #aeb9bd; }
.cf-flow-mobile-media { display: none; }
.cf-flow-steps { margin: 0; padding: 0; list-style: none; }
.cf-flow-steps { max-width: 760px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 42px; }
.cf-flow-steps li { padding: 20px 0; display: grid; grid-template-columns: 42px 1fr; gap: 12px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-flow-steps li > span { padding-top: 5px; color: var(--red); font-size: .66rem; font-weight: 700; }
.cf-flow-steps h3 { margin: 0; font-size: 1.08rem; font-weight: 650; line-height: 1.35; }
.cf-flow-steps p { margin: 6px 0 0; color: #aeb9bd; font-size: .84rem; }

/* The first chapter follows the owner's four-node route reference. */
.cf-flow-chapter[data-flow-chapter="process"] { min-height: max(100svh, 980px); align-items: flex-start; }
.cf-flow-chapter[data-flow-chapter="process"] .cf-flow-chapter__inner { width: min(var(--max), calc(100vw - 64px)); max-width: none; }
.cf-process-intro { max-width: 940px; padding-top: 4px; }
.cf-process-intro h2 { margin-bottom: 34px; font-size: clamp(3rem, 4.7vw, 5.15rem); }
.cf-process-lead { margin: 0; color: #c4c9cc; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.5; }
.cf-process-map { position: relative; min-height: 500px; margin-top: 48px; }
.cf-process-path { position: absolute; top: 0; left: 0; width: 100%; height: 260px; overflow: visible; }
.cf-process-path path, .cf-process-path line { fill: none; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; }
.cf-process-path line { stroke-dasharray: 4 4; }
.cf-process-path circle { fill: var(--red); stroke: #070b0f; stroke-width: 7; vector-effect: non-scaling-stroke; }
.cf-process-path path { stroke-dasharray: 1700; stroke-dashoffset: 1700; }
.cf-process-path circle, .cf-process-path line { opacity: 0; }
.cf-flow-chapter.is-flow-active .cf-process-path path { animation: cf-draw-route 1.35s var(--ease) forwards; }
.cf-flow-chapter.is-flow-active .cf-process-path circle,
.cf-flow-chapter.is-flow-active .cf-process-path line { animation: cf-route-node .32s var(--ease) forwards; }
.cf-flow-chapter.is-flow-active .cf-process-path circle:nth-of-type(2),
.cf-flow-chapter.is-flow-active .cf-process-path line:nth-of-type(2) { animation-delay: .32s; }
.cf-flow-chapter.is-flow-active .cf-process-path circle:nth-of-type(3),
.cf-flow-chapter.is-flow-active .cf-process-path line:nth-of-type(3) { animation-delay: .64s; }
.cf-flow-chapter.is-flow-active .cf-process-path circle:nth-of-type(4),
.cf-flow-chapter.is-flow-active .cf-process-path line:nth-of-type(4) { animation-delay: .96s; }
@keyframes cf-draw-route { to { stroke-dashoffset: 0; } }
@keyframes cf-route-node { to { opacity: 1; } }
.cf-process-map .cf-flow-steps { max-width: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(30px, 5vw, 78px); }
.cf-process-map .cf-flow-steps li { display: block; padding: 0; border: 0; }
.cf-process-map .cf-flow-steps li:nth-child(1) { padding-top: 92px; }
.cf-process-map .cf-flow-steps li:nth-child(2) { padding-top: 232px; }
.cf-process-map .cf-flow-steps li:nth-child(3) { padding-top: 122px; }
.cf-process-map .cf-flow-steps li:nth-child(4) { padding-top: 217px; }
.cf-process-map .cf-flow-steps li > span { display: block; padding: 0 0 8px; font-size: 1.05rem; }
.cf-process-map .cf-flow-steps h3 { font-size: clamp(1rem, 1.3vw, 1.24rem); line-height: 1.32; }
.cf-process-map .cf-flow-steps p { max-width: 270px; margin-top: 18px; color: #aeb5ba; font-size: clamp(.84rem, 1vw, .98rem); line-height: 1.55; }

/* The warning chapter mirrors the owner's connected evidence-system reference. */
.cf-warning-scene { min-height: max(100svh, 940px); align-items: flex-start; }
.cf-warning-scene .cf-flow-chapter__inner { position: relative; width: min(var(--max), calc(100vw - 64px)); max-width: none; }
.cf-warning-intro { max-width: 960px; }
.cf-warning-intro h2 { margin-bottom: 24px; font-size: clamp(3rem, 4.55vw, 4.85rem); line-height: 1.02; }
.cf-warning-lead { max-width: 780px; margin: 0; color: #c4c9cc; font-size: clamp(.96rem, 1.22vw, 1.14rem); line-height: 1.48; }
.cf-warning-callout { position: absolute; top: 235px; right: 0; width: min(370px, 29vw); min-height: 108px; padding: 22px 24px; display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; background: rgba(17,24,32,.9); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; box-shadow: 0 18px 50px rgba(0,0,0,.22); backdrop-filter: blur(14px); }
.cf-warning-callout p { margin: 0; font-size: .9rem; line-height: 1.42; }
.cf-warning-callout .cf-line-icon { width: 58px; height: 58px; padding: 14px; color: #fff; border: 1px solid var(--red); border-radius: 50%; filter: drop-shadow(0 0 8px rgba(214,60,54,.75)); }
.cf-line-icon { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.cf-warning-principles { position: relative; max-width: 980px; margin: 62px 0 42px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 76px; list-style: none; }
.cf-warning-principles::before { position: absolute; top: 68px; left: 0; right: 0; height: 1px; content: ""; background: var(--red); }
.cf-warning-principles li { position: relative; min-width: 0; }
.cf-warning-number { display: block; margin-bottom: 3px; color: #f13f37; font-size: 1.85rem; font-weight: 750; line-height: 1; }
.cf-warning-icon { position: relative; z-index: 1; width: 70px; height: 70px; margin: 0 0 24px 55px; display: grid; place-items: center; color: #fff; background: #090e12; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; }
.cf-warning-icon::before { display: none; }
.cf-warning-icon::after { position: absolute; top: 31px; left: -4px; width: 7px; height: 7px; content: ""; background: var(--red); border-radius: 50%; }
.cf-warning-principles h3 { min-height: 2.8em; margin: 0 0 10px; font-size: 1rem; font-weight: 680; line-height: 1.36; }
.cf-warning-principles p { margin: 0; color: #aeb5ba; font-size: .78rem; line-height: 1.48; }
.cf-warning-workflow { padding: 15px 22px 18px; background: rgba(17,24,32,.86); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; backdrop-filter: blur(14px); }
.cf-warning-workflow > h3 { margin: 0 0 12px; font-size: .94rem; font-weight: 650; }
.cf-warning-workflow ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.cf-warning-workflow li { position: relative; min-width: 0; padding: 0 24px 0 0; display: grid; grid-template-columns: 20px 52px 1fr; gap: 10px; align-items: center; }
.cf-warning-workflow li:not(:last-child)::after { position: absolute; top: 22px; right: 12px; width: 10px; height: 10px; content: ""; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
.cf-warning-workflow li > span { color: var(--red); font-size: 1.2rem; font-weight: 700; }
.cf-warning-workflow li > i { width: 48px; height: 48px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-style: normal; }
.cf-warning-workflow li > i .cf-line-icon { width: 24px; height: 24px; }
.cf-warning-workflow p { margin: 0; color: #c4c9cc; font-size: .68rem; line-height: 1.42; }

/* Each paid stage starts only after the previous result is known. */
.cf-format-scene { min-height: max(100svh, 1020px); align-items: flex-start; }
.cf-format-scene .cf-flow-chapter__inner { width: min(var(--max), calc(100vw - 64px)); max-width: none; }
.cf-format-intro { display: grid; grid-template-columns: minmax(0, 880px) minmax(280px, 390px); gap: clamp(54px, 7vw, 120px); align-items: end; justify-content: space-between; }
.cf-format-intro__copy { min-width: 0; }
.cf-format-intro h2 { margin-bottom: 28px; font-size: clamp(3.15rem, 4.8vw, 5.1rem); line-height: 1.02; }
.cf-format-intro h2 span { position: relative; display: inline-block; }
.cf-format-intro h2 span::after { position: absolute; right: 0; bottom: -8px; left: 8px; height: 3px; content: ""; background: var(--red); transform: rotate(-.4deg); }
.cf-format-intro__copy > p:last-child { max-width: 820px; margin: 0; color: #d0d4d6; font-size: clamp(1rem, 1.28vw, 1.18rem); line-height: 1.45; }
.cf-format-intro__note { margin-bottom: 4px; padding: 2px 0 2px 24px; border-left: 2px solid var(--red); }
.cf-format-intro__note b, .cf-format-stop b { display: block; margin-bottom: 9px; color: #fff; font-size: .88rem; }
.cf-format-intro__note p, .cf-format-stop p { margin: 0; color: #bac1c5; font-size: .8rem; line-height: 1.52; }
.cf-format-ladder { position: relative; min-height: 590px; margin-top: 34px; }
.cf-format-path { position: absolute; top: 0; left: 0; width: 100%; height: 590px; overflow: visible; }
.cf-format-path path { fill: none; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; }
.cf-format-path circle { fill: #070b0f; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; }
.cf-format-ladder ol { margin: 0; padding: 0; list-style: none; }
.cf-format-stage { position: absolute; display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 18px; }
.cf-format-stage:nth-child(1) { top: 0; left: 6.7%; width: min(620px, 43%); }
.cf-format-stage:nth-child(2) { top: 154px; left: 22.1%; width: min(660px, 46%); }
.cf-format-stage:nth-child(3) { top: 296px; left: 43.6%; width: min(690px, 47%); }
.cf-format-stage:nth-child(4) { top: 434px; left: 68.5%; width: 31.5%; }
.cf-format-stage > span { color: #f13f37; font-size: 2.65rem; font-weight: 750; line-height: 1; }
.cf-format-stage > div { min-width: 0; padding-left: 18px; border-left: 2px solid var(--red); }
.cf-format-stage b { display: block; margin-bottom: 3px; color: var(--red); font-size: .92rem; text-transform: uppercase; }
.cf-format-stage h3 { margin: 0 0 7px; font-size: 1.02rem; font-weight: 720; line-height: 1.28; }
.cf-format-stage p { max-width: 650px; margin: 0 0 7px; color: #bec4c7; font-size: .8rem; line-height: 1.42; }
.cf-format-stage small { position: relative; display: block; padding-left: 30px; color: #aeb5ba; font-size: .72rem; }
.cf-format-stage small::before { position: absolute; top: .72em; left: 0; width: 20px; height: 2px; content: ""; background: var(--red); }
.cf-format-stop { position: absolute; bottom: 34px; left: 0; width: min(360px, 27%); padding: 2px 0 2px 24px; border-left: 2px solid var(--red); }
.cf-format-boundary { margin: 10px 0 0; padding: 16px 20px 0 26px; border-top: 1px solid rgba(215,223,226,.24); border-left: 3px solid var(--red); font-size: .9rem; font-weight: 650; letter-spacing: .03em; }
.cf-format-boundary strong { color: var(--red); font-weight: 650; }

/* Practice is exposed through real case links instead of unverified success claims. */
.cf-proof-scene { min-height: max(100svh, 1020px); align-items: flex-start; }
.cf-proof-scene .cf-flow-chapter__inner { position: relative; width: min(var(--max), calc(100vw - 64px)); max-width: none; }
.cf-practice-intro { max-width: 790px; }
.cf-practice-intro h2 { margin-bottom: 22px; font-size: clamp(3rem, 4.55vw, 4.85rem); line-height: 1.01; }
.cf-practice-intro > p { max-width: 740px; margin: 0; color: #c4c9cc; font-size: clamp(.92rem, 1.12vw, 1.06rem); line-height: 1.48; }
.cf-practice-all { margin-top: 18px; display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: .76rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.cf-practice-all span { color: var(--red); font-size: 1.15rem; transition: transform var(--motion-standard) var(--ease); }
.cf-practice-all:hover span, .cf-practice-all:focus-visible span { transform: translateX(7px); }
.cf-practice-callout { position: absolute; top: 84px; right: 0; width: min(360px, 29vw); padding: 22px 24px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; background: rgba(10,16,21,.86); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(14px); }
.cf-practice-callout > b { color: var(--red); font: 700 3.8rem/.7 Georgia, serif; }
.cf-practice-callout h3 { margin: 0 0 8px; font-size: .98rem; }
.cf-practice-callout p { margin: 0; color: #bcc3c7; font-size: .78rem; line-height: 1.48; }
.cf-practice-facts { max-width: 790px; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; }
.cf-practice-facts li { min-height: 58px; padding: 0 24px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(215,223,226,.24); }
.cf-practice-facts li:first-child { padding-left: 0; border-left: 0; }
.cf-practice-facts strong { color: #fff; font-size: 1.65rem; line-height: 1; }
.cf-practice-facts span { margin-top: 7px; color: #b9c0c4; font-size: .7rem; }
.cf-practice-map { position: relative; min-height: 318px; margin-top: 24px; }
.cf-practice-path { position: absolute; top: 0; left: 0; width: 100%; height: 190px; overflow: visible; }
.cf-practice-path path { fill: none; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(214,60,54,.52)); }
/* These curves explain relationships, so they must never be left half drawn.
   The shared motion module adds a dash reveal to every SVG path; on these two
   maps that produced a broken route while scrolling and left the practice
   curve hidden until its observer fired. Keep the complete route visible. */
body.page-home .cf-flow-chapter .cf-process-path path,
body.page-home .cf-flow-chapter .cf-practice-path path {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  animation: none;
  transition: none;
}
.cf-practice-map ol { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(30px, 4vw, 70px); list-style: none; }
.cf-practice-map li:nth-child(1) { padding-top: 4px; }
.cf-practice-map li:nth-child(2) { padding-top: 94px; }
.cf-practice-map li:nth-child(3) { padding-top: 28px; }
.cf-practice-map li:nth-child(4) { padding-top: 118px; }
.cf-practice-map a { display: block; color: #fff; text-decoration: none; }
.cf-practice-node { margin-bottom: 10px; display: flex; align-items: center; gap: 14px; }
.cf-practice-node > b { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: #a82422; border: 2px solid var(--red); border-radius: 50%; box-shadow: 0 0 0 3px rgba(6,10,14,.85), 0 0 14px rgba(214,60,54,.36); font-size: .82rem; }
.cf-practice-node > i { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; font-style: normal; }
.cf-practice-node .cf-line-icon { width: 24px; height: 24px; }
.cf-practice-map small { color: var(--red); font-size: .66rem; font-style: normal; font-weight: 750; text-transform: uppercase; }
.cf-practice-map h3 { margin: 6px 0 7px; font-size: .94rem; line-height: 1.28; }
.cf-practice-map p { max-width: 280px; margin: 0 0 8px; color: #b8c0c4; font-size: .72rem; line-height: 1.46; }
.cf-practice-map em { color: #e0e3e4; font-size: .68rem; font-style: normal; transition: color var(--motion-fast); }
.cf-practice-map a:hover em, .cf-practice-map a:focus-visible em { color: var(--red); }
.cf-practice-evidence { padding: 13px 18px 15px; border-top: 1px solid rgba(215,223,226,.24); border-bottom: 1px solid rgba(215,223,226,.24); }
.cf-practice-evidence > h3 { margin: 0 0 11px; font-size: .84rem; }
.cf-practice-evidence ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.cf-practice-evidence li { min-height: 48px; padding: 0 17px; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; align-items: center; border-left: 1px solid rgba(215,223,226,.24); }
.cf-practice-evidence li:first-child { padding-left: 0; border-left: 0; }
.cf-practice-evidence b { color: var(--red); font-size: .74rem; }
.cf-practice-evidence span { color: #c1c7ca; font-size: .65rem; line-height: 1.4; }

@media (min-width: 981px) and (max-height: 1200px) {
  .cf-flow-chapter[data-flow-chapter="process"] { min-height: 100svh; padding-top: 70px; padding-bottom: 36px; }
  .cf-process-intro h2 { margin-bottom: 24px; font-size: clamp(2.9rem, 4.1vw, 4.35rem); }
  .cf-process-lead { font-size: 1rem; line-height: 1.42; }
  .cf-process-map { min-height: 400px; margin-top: 30px; }
  .cf-process-path { height: 220px; }
  .cf-process-map .cf-flow-steps { gap: clamp(26px, 4.5vw, 68px); }
  .cf-process-map .cf-flow-steps li:nth-child(1) { padding-top: 79px; }
  .cf-process-map .cf-flow-steps li:nth-child(2) { padding-top: 197px; }
  .cf-process-map .cf-flow-steps li:nth-child(3) { padding-top: 103px; }
  .cf-process-map .cf-flow-steps li:nth-child(4) { padding-top: 184px; }
  .cf-process-map .cf-flow-steps li > span { padding-bottom: 6px; font-size: .92rem; }
  .cf-process-map .cf-flow-steps h3 { font-size: 1rem; line-height: 1.28; }
  .cf-process-map .cf-flow-steps p { margin-top: 12px; font-size: .82rem; line-height: 1.44; }
  .cf-proof-scene { min-height: 100svh; padding-top: 46px; padding-bottom: 28px; }
  .cf-practice-intro h2 { margin-bottom: 18px; font-size: clamp(2.9rem, 4vw, 4rem); }
  .cf-practice-intro > p { font-size: .9rem; }
  .cf-practice-callout { top: 74px; }
  .cf-practice-facts { margin-top: 20px; }
  .cf-practice-map { min-height: 280px; margin-top: 18px; }
  .cf-practice-path { height: 170px; }
  .cf-practice-node > b { width: 42px; height: 42px; }
  .cf-practice-node > i { width: 48px; height: 48px; }
  .cf-practice-map h3 { font-size: .86rem; }
  .cf-practice-map p { font-size: .68rem; }
  .cf-practice-evidence { padding-top: 11px; padding-bottom: 12px; }
}

@media (min-width: 981px) and (max-height: 900px) {
  .cf-flow-chapter[data-flow-chapter="process"] { min-height: 100svh; padding-top: 54px; padding-bottom: 30px; }
  .cf-process-intro h2 { margin-bottom: 18px; font-size: clamp(2.55rem, 4vw, 3.65rem); line-height: 1; }
  .cf-process-lead { font-size: .92rem; line-height: 1.38; }
  .cf-process-map { min-height: 350px; margin-top: 22px; }
  .cf-process-path { height: 190px; }
  .cf-process-map .cf-flow-steps { gap: clamp(24px, 4vw, 58px); }
  .cf-process-map .cf-flow-steps li:nth-child(1) { padding-top: 68px; }
  .cf-process-map .cf-flow-steps li:nth-child(2) { padding-top: 170px; }
  .cf-process-map .cf-flow-steps li:nth-child(3) { padding-top: 90px; }
  .cf-process-map .cf-flow-steps li:nth-child(4) { padding-top: 159px; }
  .cf-process-map .cf-flow-steps li > span { padding-bottom: 5px; font-size: .82rem; }
  .cf-process-map .cf-flow-steps h3 { font-size: .91rem; line-height: 1.25; }
  .cf-process-map .cf-flow-steps p { margin-top: 10px; font-size: .76rem; line-height: 1.38; }
  .cf-flow__count { top: 18px; }

  .cf-warning-scene { min-height: 100svh; padding-top: 42px; padding-bottom: 26px; }
  .cf-warning-intro h2 { margin-bottom: 14px; font-size: clamp(2.55rem, 3.75vw, 3.45rem); }
  .cf-warning-lead { max-width: 700px; font-size: .86rem; line-height: 1.4; }
  .cf-warning-callout { top: 170px; min-height: 88px; padding: 15px 18px; grid-template-columns: 48px 1fr; gap: 14px; }
  .cf-warning-callout p { font-size: .76rem; }
  .cf-warning-callout .cf-line-icon { width: 48px; height: 48px; padding: 12px; }
  .cf-warning-principles { max-width: 900px; margin: 28px 0 24px; gap: 58px; }
  .cf-warning-principles::before { top: 57px; }
  .cf-warning-number { font-size: 1.55rem; }
  .cf-warning-icon { width: 58px; height: 58px; margin: 0 0 14px 48px; }
  .cf-warning-icon::after { top: 25px; }
  .cf-warning-icon .cf-line-icon { width: 25px; height: 25px; }
  .cf-warning-principles h3 { margin-bottom: 6px; font-size: .86rem; }
  .cf-warning-principles p { font-size: .68rem; line-height: 1.4; }
  .cf-warning-workflow { padding: 11px 16px 13px; }
  .cf-warning-workflow > h3 { margin-bottom: 8px; font-size: .82rem; }
  .cf-warning-workflow li { grid-template-columns: 16px 42px 1fr; gap: 7px; }
  .cf-warning-workflow li > span { font-size: 1rem; }
  .cf-warning-workflow li > i { width: 40px; height: 40px; }
  .cf-warning-workflow li > i .cf-line-icon { width: 20px; height: 20px; }
  .cf-warning-workflow p { font-size: .6rem; line-height: 1.35; }

  .cf-format-scene { min-height: 100svh; padding-top: 30px; padding-bottom: 20px; }
  .cf-format-intro h2 { margin-bottom: 16px; font-size: clamp(2.65rem, 3.9vw, 3.65rem); }
  .cf-format-intro__copy > p:last-child { max-width: 720px; font-size: .86rem; }
  .cf-format-intro__note p, .cf-format-stop p { font-size: .66rem; line-height: 1.42; }
  .cf-format-intro__note b, .cf-format-stop b { margin-bottom: 5px; font-size: .74rem; }
  .cf-format-ladder { min-height: 470px; margin-top: 20px; }
  .cf-format-path { width: 100%; height: 470px; }
  .cf-format-stage { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; }
  .cf-format-stage:nth-child(1) { left: 6.7%; width: min(560px, 43%); }
  .cf-format-stage:nth-child(2) { top: 123px; left: 22.1%; width: min(590px, 46%); }
  .cf-format-stage:nth-child(3) { top: 236px; left: 43.6%; width: min(620px, 47%); }
  .cf-format-stage:nth-child(4) { top: 346px; left: 68.5%; width: 31.5%; }
  .cf-format-stage > span { font-size: 2.05rem; }
  .cf-format-stage > div { padding-left: 14px; }
  .cf-format-stage b { font-size: .76rem; }
  .cf-format-stage h3 { margin-bottom: 4px; font-size: .86rem; }
  .cf-format-stage p { margin-bottom: 4px; font-size: .68rem; line-height: 1.34; }
  .cf-format-stage small { font-size: .62rem; }
  .cf-format-boundary { margin-top: 0; padding-top: 12px; font-size: .78rem; }

  .cf-proof-scene { min-height: 100svh; padding-top: 28px; padding-bottom: 22px; }
  .cf-practice-intro { max-width: 700px; }
  .cf-practice-intro h2 { margin-bottom: 12px; font-size: clamp(2.6rem, 3.8vw, 3.45rem); }
  .cf-practice-intro > p { max-width: 650px; font-size: .78rem; line-height: 1.4; }
  .cf-practice-all { margin-top: 10px; font-size: .65rem; }
  .cf-practice-callout { top: 78px; width: min(310px, 26vw); padding: 15px 17px; grid-template-columns: 34px 1fr; gap: 10px; }
  .cf-practice-callout > b { font-size: 3rem; }
  .cf-practice-callout h3 { margin-bottom: 5px; font-size: .82rem; }
  .cf-practice-callout p { font-size: .66rem; line-height: 1.4; }
  .cf-practice-facts { max-width: 690px; margin-top: 14px; }
  .cf-practice-facts li { min-height: 46px; padding-inline: 18px; }
  .cf-practice-facts strong { font-size: 1.35rem; }
  .cf-practice-facts span { margin-top: 4px; font-size: .61rem; }
  .cf-practice-map { min-height: 250px; margin-top: 12px; }
  .cf-practice-path { height: 146px; }
  .cf-practice-map li:nth-child(1) { padding-top: 0; }
  .cf-practice-map li:nth-child(2) { padding-top: 68px; }
  .cf-practice-map li:nth-child(3) { padding-top: 18px; }
  .cf-practice-map li:nth-child(4) { padding-top: 84px; }
  .cf-practice-node { margin-bottom: 6px; gap: 9px; }
  .cf-practice-node > b { width: 36px; height: 36px; font-size: .68rem; }
  .cf-practice-node > i { width: 42px; height: 42px; }
  .cf-practice-node .cf-line-icon { width: 19px; height: 19px; }
  .cf-practice-map small { font-size: .55rem; }
  .cf-practice-map h3 { margin: 4px 0; font-size: .76rem; }
  .cf-practice-map p { margin-bottom: 5px; font-size: .61rem; line-height: 1.38; }
  .cf-practice-map em { font-size: .58rem; }
  .cf-practice-evidence { padding: 9px 12px 10px; }
  .cf-practice-evidence > h3 { margin-bottom: 7px; font-size: .7rem; }
  .cf-practice-evidence li { min-height: 38px; padding-inline: 10px; grid-template-columns: 18px minmax(0, 1fr); gap: 5px; }
  .cf-practice-evidence b { font-size: .62rem; }
  .cf-practice-evidence span { font-size: .55rem; line-height: 1.3; }
}

@media (min-width: 981px) and (max-width: 1160px) {
  .cf-warning-scene { min-height: max(100svh, 960px); }
  .cf-warning-callout { position: static; width: min(370px, 100%); margin: 22px 0 0 auto; }
  .cf-warning-principles { max-width: none; margin-top: 30px; gap: 42px; }
  .cf-warning-principles h3 { font-size: .82rem; }
  .cf-warning-principles p { font-size: .66rem; }
  .cf-format-scene { min-height: 100svh; padding-top: 36px; padding-bottom: 20px; }
  .cf-format-intro h2 { margin-bottom: 16px; font-size: clamp(2.65rem, 4.5vw, 3.4rem); }
  .cf-format-intro { grid-template-columns: minmax(0, 1fr) minmax(240px, 30%); gap: 34px; }
  .cf-format-intro__copy > p:last-child { max-width: 760px; font-size: .86rem; line-height: 1.4; }
  .cf-format-intro__note p, .cf-format-stop p { font-size: .66rem; line-height: 1.42; }
  .cf-format-intro__note b, .cf-format-stop b { margin-bottom: 5px; font-size: .74rem; }
  .cf-format-ladder { min-height: 490px; margin-top: 20px; }
  .cf-format-path { width: 100%; height: 490px; }
  .cf-format-stage { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; }
  .cf-format-stage:nth-child(1) { top: 0; left: 6.7%; width: min(620px, 43%); }
  .cf-format-stage:nth-child(2) { top: 128px; left: 22.1%; width: min(620px, 46%); }
  .cf-format-stage:nth-child(3) { top: 246px; left: 43.6%; width: min(620px, 47%); }
  .cf-format-stage:nth-child(4) { top: 360px; left: 68.5%; width: 31.5%; }
  .cf-format-stage > span { font-size: 2.05rem; }
  .cf-format-stage > div { padding-left: 14px; }
  .cf-format-stage b { font-size: .76rem; }
  .cf-format-stage h3 { margin-bottom: 4px; font-size: .86rem; }
  .cf-format-stage p { margin-bottom: 4px; font-size: .68rem; line-height: 1.34; }
  .cf-format-stage small { font-size: .62rem; }
  .cf-format-boundary { margin-top: 0; padding-top: 12px; font-size: .78rem; }
  .cf-practice-intro { max-width: 620px; }
  .cf-proof-scene { min-height: 100svh; padding-top: 32px; padding-bottom: 20px; }
  .cf-practice-callout { top: 78px; width: 270px; }
  .cf-practice-facts { max-width: 650px; }
  .cf-practice-map ol { gap: 22px; }
}

.cf-format-score { padding-left: 80px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-format-line {
  min-height: 126px;
  padding: 22px 0;
  display: grid;
  grid-template-columns: 64px minmax(220px, .8fr) minmax(300px, 1.15fr) minmax(210px, .7fr);
  gap: 28px;
  align-items: start;
  border-bottom: 1px solid rgba(215,223,226,.24);
}
.cf-format-line > span { color: var(--red); font-size: .68rem; }
.cf-format-line h3 { margin: 0; font: 400 1.55rem/1.08 var(--serif); }
.cf-format-line p { margin: 2px 0 0; color: #aeb9bd; font-size: .84rem; }
.cf-format-line strong { color: var(--red); font-size: .72rem; }

.cf-contact {
  position: relative;
  min-height: 900px;
  color: #f1f4f4;
  background: #070b0f;
  overflow: hidden;
}
.cf-contact__backdrop { position: absolute; inset: 0; pointer-events: none; }
.cf-contact__backdrop::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(3, 7, 11, .92) 0%, rgba(3, 7, 11, .78) 42%, rgba(3, 7, 11, .66) 58%, rgba(3, 7, 11, .86) 100%),
    linear-gradient(180deg, rgba(3, 6, 9, .24) 0%, rgba(3, 6, 9, .38) 55%, rgba(3, 6, 9, .76) 100%);
}
.cf-contact__backdrop img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: left bottom; opacity: .82; }
.cf-contact__inner { position: relative; z-index: 1; width: min(var(--max), calc(100% - 64px)); min-height: 900px; margin-inline: auto; padding: 64px 0 36px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(500px, 1fr); grid-template-rows: 1fr auto; column-gap: clamp(54px, 7vw, 112px); align-items: center; }
.cf-contact__intro { min-width: 0; padding: 24px 0 18px 12px; }
.cf-contact h2 { max-width: 660px; margin: 22px 0 44px; font: 400 clamp(3.25rem, 4.2vw, 4.2rem)/.95 var(--serif); }
.cf-contact__lead { max-width: 610px; margin: 0; color: #c9cdcf; font-size: clamp(1rem, 1.32vw, 1.3rem); line-height: 1.68; }
.cf-contact__code { margin: 22px 0 0; color: #c4cdd1; font-size: .72rem; }
.cf-contact [data-contact-code] { color: var(--red); }
.cf-contact__benefits { max-width: 680px; margin: 50px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; }
.cf-contact__benefits li { min-width: 0; padding: 0 28px; display: grid; grid-template-rows: 68px auto auto; align-content: start; border-left: 1px solid rgba(215,223,226,.24); }
.cf-contact__benefits li:first-child { padding-left: 0; border-left: 0; }
.cf-contact__benefits li:last-child { padding-right: 0; }
.cf-contact__benefits li > span { width: 66px; height: 66px; display: grid; place-items: center; border: 1px solid var(--red); border-radius: 50%; }
.cf-contact__benefits img { width: 28px; height: 28px; filter: brightness(0) invert(1); }
.cf-contact__benefits strong { margin-top: 18px; font-size: .94rem; }
.cf-contact__benefits small { max-width: 150px; margin-top: 7px; color: #c4cdd1; font-size: .78rem; line-height: 1.5; }
.cf-contact__choices { min-width: 0; padding: 22px 0 18px clamp(40px, 5vw, 78px); background: linear-gradient(90deg, rgba(4, 10, 15, .52), rgba(4, 10, 15, .74)); border-left: 1px solid rgba(215,223,226,.32); }
.cf-contact__choices-head { min-height: 64px; display: flex; justify-content: space-between; gap: 22px; align-items: flex-start; border-bottom: 1px solid rgba(215,223,226,.24); }
.cf-contact__choices-head h3 { margin: 0; padding-top: 6px; font-size: .98rem; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; }
.cf-country { display: flex; flex: 0 0 auto; }
.cf-country button { min-height: 44px; padding: 7px 9px 10px; color: #c9d1d4; background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: .72rem; cursor: pointer; }
.cf-country button.is-active { color: #fff; border-color: var(--red); }
.cf-channels { display: grid; grid-template-columns: 1fr; }
.cf-channel { min-height: 74px; padding: 10px 10px 10px 18px; display: grid; grid-template-columns: 52px minmax(0, 1fr) 26px; gap: 18px; align-items: center; color: #f1f4f4; background: linear-gradient(90deg, rgba(5, 12, 17, .38), rgba(5, 12, 17, .16)); border-bottom: 1px solid rgba(215,223,226,.3); text-decoration: none; transition: color var(--motion-fast), border-color var(--motion-fast), background-color var(--motion-fast); }
.cf-channel.is-primary { min-height: 92px; margin: 18px 0 8px; padding: 14px 20px; background: rgba(8, 15, 20, .84); border: 1px solid var(--red); border-radius: 8px; }
.cf-channel__icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(215,223,226,.24); border-radius: 50%; }
.cf-channel__icon img { width: 25px; height: 25px; filter: brightness(0) invert(1); }
.cf-channel[data-channel="telegram"] .cf-channel__icon img { filter: invert(48%) sepia(91%) saturate(1672%) hue-rotate(172deg) brightness(94%); }
.cf-channel[data-channel="whatsapp"] .cf-channel__icon img { filter: invert(67%) sepia(86%) saturate(540%) hue-rotate(85deg) brightness(89%); }
.cf-channel[data-channel="zoom"] .cf-channel__icon img { filter: invert(45%) sepia(96%) saturate(1820%) hue-rotate(204deg) brightness(102%); }
.cf-channel.is-primary .cf-channel__icon { background: var(--red); border-color: var(--red); }
.cf-channel__copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.cf-channel__copy strong { font-size: 1.05rem; font-weight: 600; }
.cf-channel__copy small { color: #c6cfd2; font-size: .78rem; }
.cf-channel__arrow { width: 22px; height: 22px; filter: invert(24%) sepia(98%) saturate(2600%) hue-rotate(349deg) brightness(102%); transform: rotate(-45deg); }
a.cf-channel:hover, a.cf-channel:focus-visible { color: var(--red); border-color: var(--red); }
.cf-channel.is-unavailable { opacity: .46; cursor: not-allowed; }
.cf-contact__safety { grid-column: 1 / -1; min-height: 88px; margin-top: 34px; padding: 14px 24px; display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 22px; align-items: center; background: rgba(5, 12, 17, .62); border: 1px solid rgba(215,223,226,.3); border-radius: 8px; }
.cf-contact__safety > span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--red); border-radius: 50%; }
.cf-contact__safety img { width: 24px; height: 24px; filter: brightness(0) invert(1); }
.cf-contact__safety p { margin: 0; color: #c9cdcf; font-size: .96rem; }
.cf-contact__safety small { margin-top: 5px; display: block; color: #c4cdd1; font-size: .72rem; }

.cf-repeat h2, .cf-neighbours h2 { margin: 0 0 38px; font: 400 clamp(2rem, 3.4vw, 3.2rem)/1 var(--serif); }
.cf-index-lines { padding-left: 80px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-index-lines a { min-height: 66px; padding: 16px 0; display: grid; align-items: center; border-bottom: 1px solid rgba(215,223,226,.24); font: 400 1.15rem/1.2 var(--serif); text-decoration: none; transition: color var(--motion-fast), transform var(--motion-standard) var(--ease); }
.cf-index-lines a:hover, .cf-index-lines a:focus-visible { color: var(--red); transform: translateX(10px); }

.cf-site-footer { position: relative; color: #f1f4f4; background: #070b0f; border-top: 1px solid rgba(215,223,226,.24); overflow: hidden; }
.cf-site-footer__signal { width: min(var(--max), calc(100% - 64px)); height: 72px; margin-inline: auto; display: grid; grid-template-columns: minmax(48px, 1fr) 14px minmax(120px, 2.4fr); align-items: center; }
.cf-site-footer__signal span, .cf-site-footer__signal b { height: 1px; display: block; background: var(--red); }
.cf-site-footer__signal i { width: 12px; height: 12px; display: block; border: 2px solid var(--red); border-radius: 50%; }
.cf-site-footer__signal b { opacity: .34; }
.cf-site-footer__main { padding: 10px 0 72px; display: grid; grid-template-columns: minmax(260px, .82fr) minmax(520px, 1.5fr); gap: clamp(42px, 6vw, 96px); }
.cf-site-footer__identity { min-width: 0; }
.cf-site-footer__brand { width: fit-content; display: flex; align-items: center; gap: 12px; text-decoration: none; }
.cf-site-footer__brand > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(215,223,226,.24); font: 400 1rem/1 var(--serif); }
.cf-site-footer__brand > b { font-size: .72rem; letter-spacing: 0; }
.cf-site-footer__identity h2 { max-width: 360px; margin: 32px 0 18px; font: 400 2.35rem/1.02 var(--serif); }
.cf-site-footer__identity > p { max-width: 390px; margin: 0; color: #aeb9bd; font-size: .9rem; }
.cf-site-footer__return { width: 100%; margin-top: 38px; padding: 15px 0; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(215,223,226,.24); border-bottom: 1px solid rgba(215,223,226,.24); font-size: .82rem; font-weight: 700; text-decoration: none; transition: color var(--motion-fast); }
.cf-site-footer__return i { color: var(--red); font: 400 1.65rem/1 var(--serif); transition: transform var(--motion-standard) var(--ease); }
.cf-site-footer__return:hover, .cf-site-footer__return:focus-visible { color: var(--red); }
.cf-site-footer__return:hover i, .cf-site-footer__return:focus-visible i { transform: translateY(-5px); }
.cf-site-footer__label { margin: 0 0 14px; color: var(--red); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.cf-site-footer__routes ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; list-style: none; }
.cf-site-footer__routes li { min-width: 0; }
.cf-site-footer__routes a { min-height: 68px; padding: 13px 0; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 8px; align-items: start; border-top: 1px solid rgba(215,223,226,.24); font: 400 1rem/1.22 var(--serif); text-decoration: none; transition: color var(--motion-fast), transform var(--motion-standard) var(--ease); }
.cf-site-footer__routes a span { padding-top: 3px; color: var(--red); font: 700 .64rem/1 var(--sans); }
.cf-site-footer__routes a:hover, .cf-site-footer__routes a:focus-visible { color: var(--red); transform: translateX(6px); }
.cf-site-footer__routes a.is-current { color: #f1f4f4; border-top-color: var(--red); }
.cf-site-footer__directory { grid-column: 1 / -1; padding-top: 36px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 5vw, 76px); border-top: 1px solid rgba(215,223,226,.24); }
.cf-site-footer__directory nav, .cf-site-footer__directory address { display: flex; flex-direction: column; align-items: flex-start; font-style: normal; }
.cf-site-footer__directory a { padding: 6px 0; color: #d8dddf; font-size: .82rem; text-decoration: none; }
.cf-site-footer__directory a:hover, .cf-site-footer__directory a:focus-visible { color: var(--red); }
.cf-site-footer__bottom { min-height: 78px; padding-block: 22px; display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; color: #aeb9bd; border-top: 1px solid rgba(215,223,226,.24); font-size: .68rem; }
.cf-site-footer__bottom nav { display: flex; justify-content: center; gap: 24px; }
.cf-site-footer__bottom a { text-decoration: none; }
.cf-site-footer__bottom a:hover, .cf-site-footer__bottom a:focus-visible { color: #f1f4f4; }

/* Funnel pages use the same unboxed score language. */
.cf-funnel-hero { padding-block: clamp(70px, 9vw, 140px); border-bottom: 1px solid rgba(215,223,226,.24); }
.cf-back { margin-bottom: 70px; display: inline-block; font-size: .78rem; }
.cf-funnel-hero h1 { max-width: 1000px; margin: 15px 0 24px; font: 400 clamp(3rem, 6vw, 6.5rem)/.95 var(--serif); }
.cf-funnel-hero__event { max-width: 760px; font-size: 1.12rem; }
.cf-first-answer { max-width: 1100px; margin-top: 60px; padding-top: 24px; display: grid; grid-template-columns: 220px 1fr; border-top: 3px solid var(--red); }
.cf-first-answer span { color: var(--red); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.cf-first-answer p { margin: 0; font: 400 clamp(1.3rem, 2.2vw, 2rem)/1.25 var(--serif); }
.cf-two { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.cf-two h2 { margin: 0 0 28px; font: 400 clamp(2rem, 3.4vw, 3.6rem)/1.05 var(--serif); }
.cf-two ol { padding: 0; list-style: none; counter-reset: point; }
.cf-two ol li { position: relative; padding: 15px 0 15px 50px; border-top: 1px solid rgba(215,223,226,.24); counter-increment: point; }
.cf-two ol li::before { position: absolute; left: 0; color: var(--red); content: counter(point, decimal-leading-zero); font-size: .7rem; }
.cf-two aside { padding: 0; }
.cf-two aside p:last-child { padding-top: 20px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-band .cf-two ul { padding-left: 20px; }
.cf-band .cf-two li { margin-bottom: 16px; }
.cf-branches { padding: 0 !important; display: grid; grid-template-columns: 1fr; list-style: none; }
.cf-branches button { width: 100%; min-height: 54px; padding: 12px 0; color: #f1f4f4; background: transparent; border: 0; border-bottom: 1px solid rgba(215,223,226,.24); text-align: left; cursor: pointer; }
.cf-branches button.is-active { color: var(--red); }
[data-branch-result] { color: #aeb9bd; font-size: .8rem; }
.cf-evidence > div { padding-left: 80px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-evidence article { min-height: 86px; padding: 18px 0; display: grid; grid-template-columns: 70px 1fr; border-bottom: 1px solid rgba(215,223,226,.24); }
.cf-evidence span { color: var(--red); font-size: .7rem; }
.cf-evidence p { margin: 0; font: 400 1.1rem/1.35 var(--serif); }
.cf-proof-grid { padding-left: 80px; border-top: 1px solid rgba(215,223,226,.24); }
.cf-proof-grid a { min-height: 92px; padding: 20px 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; border-bottom: 1px solid rgba(215,223,226,.24); text-decoration: none; }
.cf-proof-grid strong { font: 400 1.45rem/1.2 var(--serif); }
.cf-proof-grid span { color: var(--red); font-size: .76rem; }

/* Progressive motion: no hidden content unless JS confirms support. */
.cf-motion-ready [data-motion-scene] > * { opacity: 0; transform: translateY(16px); }
.cf-motion-ready [data-motion-scene].is-visible > * { opacity: 1; transform: translateY(0); transition: opacity var(--motion-scene) var(--ease), transform var(--motion-scene) var(--ease); }
.cf-motion-ready [data-motion-scene].is-visible > *:nth-child(2) { transition-delay: 70ms; }

@media (max-width: 1100px) {
  .cf-route-selector { grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); gap: 54px; }
  .cf-route-choice b span { display: none; }
  .cf-format-line { grid-template-columns: 56px 1fr 1fr; }
  .cf-format-line strong { grid-column: 2 / -1; }
  .cf-site-footer__main { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.35fr); }
}

@media (max-width: 980px) {
  .cf-header nav { display: none; }
  .cf-header__contact { margin-left: auto; }
  .cf-shell { width: min(100% - 36px, var(--max)); }
  .cf-site-footer__directory { grid-template-columns: 1fr 1fr; }
  .cf-site-footer__bottom { grid-template-columns: 1fr; gap: 12px; }
  .cf-site-footer__bottom nav { justify-content: flex-start; flex-wrap: wrap; gap: 8px 18px; }
  .cf-section__head, .cf-two { grid-template-columns: 1fr; gap: 38px; }
  .cf-route-selector { display: block; }
  .cf-route-lens { display: none; }
  .cf-route-choice { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 16px; }
  .cf-route-choice > p { grid-column: 2 / -1; display: block; margin: -4px 56px 0 0; color: #aeb9bd; font-size: .86rem; }
  .cf-route-choice b { grid-column: 3; grid-row: 1; }
  .cf-route-choice b span { display: inline; }
  .cf-path-scene::before { left: 38px; }
  .cf-format-score, .cf-index-lines, .cf-evidence > div, .cf-proof-grid { padding-left: 52px; }
  .cf-flow { display: block; }
  .cf-flow__media { display: none; }
  .cf-flow__chapters { margin-top: 0; display: block; }
  .cf-flow-chapter { position: relative; min-height: 0; padding: 0; display: block; overflow: hidden; opacity: 1; isolation: isolate; }
  .cf-flow-mobile-media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; display: block; overflow: hidden; }
  .cf-flow-mobile-media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.68) contrast(1.05); }
  .cf-flow-chapter::after { position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(7,11,15,.97) 0, rgba(7,11,15,.9) 54%, rgba(7,11,15,.58) 100%), linear-gradient(0deg, rgba(7,11,15,.94), rgba(7,11,15,.34) 52%, rgba(7,11,15,.76)); }
  .cf-flow-chapter__inner { position: relative; z-index: 1; width: min(100% - 36px, 680px); max-width: none; margin-inline: auto; padding-block: 72px 82px; opacity: 1; transform: none; }
  .cf-flow-chapter h2 { font-size: clamp(2.4rem, 8vw, 4rem); }
  .cf-flow-steps { grid-template-columns: 1fr; }
  .cf-flow-chapter[data-flow-chapter="process"] { min-height: 0; }
  .cf-flow-chapter[data-flow-chapter="process"] .cf-flow-chapter__inner { width: min(100% - 36px, 680px); }
  .cf-process-intro { padding-top: 0; }
  .cf-process-intro h2 { font-size: clamp(2.35rem, 8vw, 4rem); }
  .cf-process-lead br { display: none; }
  .cf-process-map { min-height: 0; margin-top: 48px; padding-left: 34px; }
  .cf-process-path { display: none; }
  .cf-process-map::before { position: absolute; top: 6px; bottom: 18px; left: 6px; width: 2px; content: ""; background: var(--red); }
  .cf-process-map .cf-flow-steps { display: block; }
  .cf-process-map .cf-flow-steps li { position: relative; padding: 0 0 46px !important; }
  .cf-process-map .cf-flow-steps li::before { position: absolute; top: 2px; left: -34px; width: 14px; height: 14px; content: ""; background: var(--red); border: 4px solid #070b0f; border-radius: 50%; box-shadow: 0 0 0 1px var(--red); }
  .cf-process-map .cf-flow-steps p { max-width: none; }
  .cf-warning-scene { min-height: 0; }
  .cf-warning-scene .cf-flow-chapter__inner { width: min(100% - 36px, 680px); }
  .cf-warning-intro h2 { font-size: clamp(2.35rem, 8vw, 4rem); }
  .cf-warning-lead { font-size: .95rem; }
  .cf-warning-callout { position: static; width: 100%; min-height: 0; margin: 32px 0 46px; }
  .cf-warning-principles { margin: 0 0 42px; display: block; }
  .cf-warning-principles::before { top: 40px; right: auto; bottom: 42px; left: 35px; width: 1px; height: auto; }
  .cf-warning-principles li { padding: 0 0 42px 104px; }
  .cf-warning-number { position: absolute; top: 20px; left: 0; font-size: 1.15rem; }
  .cf-warning-icon { position: absolute; top: 0; left: 48px; width: 54px; height: 54px; margin: 0; }
  .cf-warning-icon::before { position: absolute; top: 26px; left: -13px; width: 13px; height: 1px; display: block; content: ""; background: var(--red); }
  .cf-warning-icon::after { top: 23px; left: -3px; }
  .cf-warning-principles h3 { min-height: 0; padding-top: 3px; }
  .cf-warning-principles p { font-size: .84rem; }
  .cf-warning-workflow { padding: 20px; }
  .cf-warning-workflow > h3 { margin-bottom: 20px; }
  .cf-warning-workflow ol { display: block; }
  .cf-warning-workflow li { padding: 0 0 20px; grid-template-columns: 24px 48px 1fr; }
  .cf-warning-workflow li:last-child { padding-bottom: 0; }
  .cf-warning-workflow li:not(:last-child)::after { top: auto; right: auto; bottom: 7px; left: 53px; width: 7px; height: 7px; transform: rotate(135deg); }
  .cf-warning-workflow p { font-size: .78rem; }
  .cf-format-scene { min-height: 0; }
  .cf-format-scene .cf-flow-chapter__inner { width: min(100% - 36px, 680px); }
  .cf-format-intro { display: block; }
  .cf-format-intro h2 { font-size: clamp(2.35rem, 8vw, 4rem); }
  .cf-format-intro h2 span::after { display: none; }
  .cf-format-intro__copy > p:last-child { font-size: .95rem; }
  .cf-format-intro__note { margin: 28px 0 0; }
  .cf-format-intro__note b, .cf-format-stop b { font-size: .84rem; }
  .cf-format-intro__note p, .cf-format-stop p { font-size: .82rem; }
  .cf-format-ladder { min-height: 0; margin-top: 44px; padding-left: 34px; }
  .cf-format-path { display: none; }
  .cf-format-ladder::before { position: absolute; top: 5px; bottom: 18px; left: 7px; width: 2px; content: ""; background: var(--red); }
  .cf-format-ladder ol { display: block; }
  .cf-format-stage, .cf-format-stage:nth-child(n) { position: relative; top: auto; left: auto; width: 100%; padding: 0 0 44px; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; }
  .cf-format-stage::before { position: absolute; top: 4px; left: -34px; width: 14px; height: 14px; content: ""; background: var(--red); border: 4px solid #070b0f; border-radius: 50%; box-shadow: 0 0 0 1px var(--red); }
  .cf-format-stage > span { font-size: 1.8rem; }
  .cf-format-stage > div { padding-left: 12px; }
  .cf-format-stage b { font-size: .78rem; }
  .cf-format-stage h3 { font-size: 1rem; }
  .cf-format-stage p { font-size: .84rem; }
  .cf-format-stage small { font-size: .72rem; }
  .cf-format-stop { position: relative; bottom: auto; left: auto; width: 100%; margin: 0 0 28px; }
  .cf-format-boundary { margin-top: 0; font-size: .82rem; }
  .cf-proof-scene { min-height: 0; }
  .cf-proof-scene .cf-flow-chapter__inner { width: min(100% - 36px, 680px); }
  .cf-practice-intro h2 { font-size: clamp(2.35rem, 8vw, 4rem); }
  .cf-practice-intro > p { font-size: .95rem; }
  .cf-practice-callout { position: static; width: 100%; margin: 30px 0; }
  .cf-practice-facts { max-width: none; margin: 0 0 42px; }
  .cf-practice-map { min-height: 0; margin-top: 0; padding-left: 34px; }
  .cf-practice-path { display: none; }
  .cf-practice-map::before { position: absolute; top: 18px; bottom: 32px; left: 7px; width: 2px; content: ""; background: var(--red); }
  .cf-practice-map ol { display: block; }
  .cf-practice-map li:nth-child(n) { position: relative; padding: 0 0 42px; }
  .cf-practice-map li::before { position: absolute; top: 16px; left: -34px; width: 14px; height: 14px; content: ""; background: #070b0f; border: 2px solid var(--red); border-radius: 50%; }
  .cf-practice-node > b { width: 42px; height: 42px; font-size: .75rem; }
  .cf-practice-node > i { width: 50px; height: 50px; }
  .cf-practice-map small { font-size: .68rem; }
  .cf-practice-map h3 { font-size: 1.05rem; }
  .cf-practice-map p { max-width: none; font-size: .84rem; }
  .cf-practice-map em { font-size: .72rem; }
  .cf-practice-evidence { padding: 18px 0; }
  .cf-practice-evidence > h3 { margin-bottom: 18px; font-size: .88rem; }
  .cf-practice-evidence ul { grid-template-columns: 1fr 1fr; }
  .cf-practice-evidence li { min-height: 66px; padding: 10px 18px; }
  .cf-practice-evidence li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .cf-practice-evidence span { font-size: .72rem; }
  .cf-contact { min-height: 0; }
  .cf-contact__backdrop::after { background: linear-gradient(180deg, rgba(3, 7, 11, .82), rgba(3, 7, 11, .9)); }
  .cf-contact__backdrop img { object-position: 28% bottom; opacity: .48; }
  .cf-contact__inner { min-height: 0; padding: 74px 0 34px; grid-template-columns: 1fr; grid-template-rows: auto; }
  .cf-contact__intro { padding: 0; }
  .cf-contact h2 { max-width: 620px; margin-bottom: 32px; font-size: clamp(3.2rem, 8vw, 4.6rem); }
  .cf-contact__lead { max-width: 650px; }
  .cf-contact__benefits { margin-top: 42px; }
  .cf-contact__choices { margin-top: 64px; padding: 42px 0 0; background: linear-gradient(90deg, rgba(4, 10, 15, .18), rgba(4, 10, 15, .42)); border-top: 1px solid rgba(215,223,226,.24); border-left: 0; }
  .cf-contact__safety { margin-top: 48px; }
}

@media (max-width: 620px) {
  .cf-header { height: 62px; padding-inline: 18px; }
  .cf-brand b { display: none; }
  .cf-hero { height: calc(100svh - 62px); min-height: 650px; }
  .cf-hero__media img { object-position: 62% 28%; }
  .cf-hero__shade { background: linear-gradient(0deg, rgba(7,11,15,.96), rgba(7,11,15,.08) 75%); }
  .cf-hero__copy h1 { font-size: 3rem; }
  .cf-section, .cf-band { padding-block: 66px; }
  .cf-section__head { margin-bottom: 34px; }
  .cf-route-choice { min-height: 0; padding-block: 22px; }
  .cf-route-choice h2 { font-size: 1.75rem; }
  .cf-route-choice:hover h2, .cf-route-choice:focus-visible h2, .cf-route-choice.is-route-active h2 { transform: none; }
  .cf-route-choice b span { display: none; }
  .cf-path-scene::before { left: 18px; }
  .cf-format-score, .cf-index-lines, .cf-evidence > div, .cf-proof-grid { padding-left: 28px; }
  .cf-flow-chapter__inner { padding-block: 62px 68px; }
  .cf-flow-chapter h2 { margin-bottom: 28px; font-size: 2.7rem; }
  .cf-flow-steps li { grid-template-columns: 40px 1fr; gap: 10px; }
  .cf-warning-callout { grid-template-columns: 48px 1fr; padding: 18px; }
  .cf-warning-callout .cf-line-icon { width: 48px; height: 48px; padding: 12px; }
  .cf-warning-principles li { padding-left: 94px; }
  .cf-warning-icon { left: 42px; }
  .cf-warning-workflow { margin-inline: -4px; padding: 18px 14px; }
  .cf-format-line { grid-template-columns: 38px 1fr; gap: 14px; }
  .cf-format-line p, .cf-format-line strong { grid-column: 2; }
  .cf-practice-facts { grid-template-columns: 1fr; }
  .cf-practice-facts li, .cf-practice-facts li:first-child { min-height: 64px; padding: 11px 0; border-top: 1px solid rgba(215,223,226,.24); border-left: 0; }
  .cf-practice-evidence ul { grid-template-columns: 1fr; }
  .cf-practice-evidence li, .cf-practice-evidence li:nth-child(odd) { padding: 12px 0; border-top: 1px solid rgba(215,223,226,.24); border-left: 0; }
  .cf-contact__backdrop img { object-position: 20% bottom; opacity: .34; }
  .cf-contact__backdrop::after { background: linear-gradient(180deg, rgba(3, 7, 11, .88), rgba(3, 7, 11, .94)); }
  .cf-contact__inner { width: calc(100% - 36px); padding-top: 62px; }
  .cf-contact h2 { margin: 18px 0 28px; font-size: 3rem; }
  .cf-contact__lead { font-size: .96rem; line-height: 1.6; }
  .cf-contact__lead br { display: none; }
  .cf-contact__benefits { margin-top: 38px; grid-template-columns: 1fr; }
  .cf-contact__benefits li, .cf-contact__benefits li:first-child, .cf-contact__benefits li:last-child { min-height: 92px; padding: 14px 0; grid-template-columns: 58px minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 16px; border-top: 1px solid rgba(215,223,226,.24); border-left: 0; }
  .cf-contact__benefits li > span { width: 50px; height: 50px; grid-row: 1 / 3; }
  .cf-contact__benefits li > span img { width: 22px; height: 22px; }
  .cf-contact__benefits strong { margin-top: 4px; }
  .cf-contact__benefits small { max-width: none; margin-top: 0; }
  .cf-contact__choices { margin-top: 46px; padding-top: 32px; }
  .cf-contact__choices-head { min-height: 88px; display: block; }
  .cf-contact__choices-head h3 { font-size: .84rem; letter-spacing: 1.4px; }
  .cf-country { margin-top: 12px; }
  .cf-country button { padding-inline: 0; margin-right: 20px; }
  .cf-channel { min-height: 68px; padding-inline: 0; grid-template-columns: 46px minmax(0, 1fr) 22px; gap: 13px; }
  .cf-channel.is-primary { min-height: 84px; padding: 12px; }
  .cf-channel__icon { width: 44px; height: 44px; }
  .cf-channel__icon img { width: 22px; height: 22px; }
  .cf-channel__copy strong { font-size: .98rem; }
  .cf-channel__copy small { font-size: .7rem; }
  .cf-contact__safety { margin-top: 36px; padding: 16px; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
  .cf-contact__safety > span { width: 44px; height: 44px; }
  .cf-contact__safety p { font-size: .82rem; }
  .cf-site-footer__signal { width: calc(100% - 36px); height: 54px; }
  .cf-site-footer__main { width: calc(100% - 36px); padding-bottom: 48px; grid-template-columns: 1fr; gap: 44px; }
  .cf-site-footer__identity h2 { margin-top: 26px; font-size: 2rem; }
  .cf-site-footer__return { margin-top: 28px; }
  .cf-site-footer__routes ol { grid-template-columns: 1fr; }
  .cf-site-footer__routes a { min-height: 58px; }
  .cf-site-footer__directory { grid-column: auto; padding-top: 32px; grid-template-columns: 1fr; gap: 30px; border-top: 1px solid rgba(215,223,226,.24); }
  .cf-site-footer__bottom { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 12px; }
  .cf-site-footer__bottom nav { justify-content: flex-start; flex-wrap: wrap; gap: 8px 18px; }
  .cf-funnel-hero h1 { font-size: 3.2rem; }
  .cf-first-answer { grid-template-columns: 1fr; gap: 14px; }
  .cf-evidence article, .cf-proof-grid a { grid-template-columns: 38px 1fr; }
  .cf-proof-grid span { grid-column: 2; }
}

/* Homepage heading hierarchy.
   The opening H1 is the only display-size heading; every section title and
   editorial feature title steps down from it at desktop, tablet and phone
   widths. Keep this block after the chapter-specific height overrides. */
body.page-home h1,
body.page-home h2,
body.page-home h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}

@media (min-width: 981px) {
  body.page-home .hero h1 {
    font-size: clamp(3.4rem, 4vw, 4.5rem);
    line-height: 1.03;
  }
  body.page-home #routes .cf-section__head h2,
  body.page-home .cf-process-intro h2,
  body.page-home .cf-warning-intro h2,
  body.page-home .cf-format-intro h2,
  body.page-home .cf-practice-intro h2,
  body.page-home .home17-journal header h2,
  body.page-home .cf-contact h2 {
    font-size: clamp(2.4rem, 2.75vw, 3.15rem);
    line-height: 1.06;
  }
  body.page-home .home17-journal__lead h3 {
    font-size: clamp(1.9rem, 2.2vw, 2.45rem);
    line-height: 1.06;
  }
}

@media (min-width: 621px) and (max-width: 980px) {
  body.page-home .hero h1 {
    font-size: clamp(2.8rem, 6vw, 3.6rem);
    line-height: 1.04;
  }
  body.page-home #routes .cf-section__head h2,
  body.page-home .cf-process-intro h2,
  body.page-home .cf-warning-intro h2,
  body.page-home .cf-format-intro h2,
  body.page-home .cf-practice-intro h2,
  body.page-home .home17-journal header h2,
  body.page-home .cf-contact h2 {
    font-size: clamp(2.1rem, 4.4vw, 2.75rem);
    line-height: 1.06;
  }
  body.page-home .home17-journal__lead h3 {
    font-size: clamp(1.75rem, 3.6vw, 2.2rem);
    line-height: 1.08;
  }
}

@media (max-width: 620px) {
  body.page-home .hero h1 {
    font-size: clamp(2.15rem, 8.4vw, 2.65rem) !important;
    line-height: 1.04;
  }
  body.page-home .hero h1 span { white-space: normal; }
  body.page-home #routes .cf-section__head h2,
  body.page-home .cf-process-intro h2,
  body.page-home .cf-warning-intro h2,
  body.page-home .cf-format-intro h2,
  body.page-home .cf-practice-intro h2,
  body.page-home .home17-journal header h2,
  body.page-home .cf-contact h2 {
    font-size: clamp(1.75rem, 6.6vw, 2rem);
    line-height: 1.08;
  }
  body.page-home .home17-journal__lead h3 {
    font-size: 1.55rem;
    line-height: 1.1;
  }
}

/* Tall desktop viewports used to leave 330–500px of inert canvas after the
   chapter content. The sticky background still occupies the viewport, while
   each chapter now reserves only the height its editorial composition needs. */
@media (min-width: 981px) and (min-height: 1001px) {
  body.page-home .cf-flow-chapter[data-flow-chapter="process"] {
    min-height: clamp(860px, 72svh, 940px);
    padding-top: clamp(64px, 6svh, 82px);
    padding-bottom: 44px;
  }
  body.page-home .cf-warning-scene {
    min-height: clamp(850px, 70svh, 920px);
    padding-top: clamp(64px, 6svh, 82px);
    padding-bottom: 44px;
  }
  body.page-home .cf-format-scene {
    min-height: clamp(980px, 82svh, 1060px);
    padding-top: clamp(60px, 5.5svh, 78px);
    padding-bottom: 44px;
  }
  body.page-home .cf-proof-scene {
    min-height: clamp(960px, 80svh, 1040px);
    padding-top: clamp(56px, 5svh, 72px);
    padding-bottom: 44px;
  }
}

/* Materials continue the cinematic editorial system instead of switching to
   the legacy boxed 1+2 card component. The hierarchy follows a news stream:
   one visual lead, two compact follow-ups and a quiet directory rail. */
body.page-home .home17-journal {
  padding: clamp(72px, 6vw, 96px) 0 clamp(76px, 6.5vw, 104px);
  background:
    linear-gradient(180deg, rgba(8, 13, 18, .96), var(--ink) 180px),
    var(--ink) !important;
}
body.page-home .home17-journal > .fp-shell {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}
body.page-home .home17-journal > .fp-shell > header {
  grid-template-columns: minmax(120px, .22fr) minmax(0, 1fr);
  gap: clamp(38px, 5vw, 76px);
  align-items: start;
  max-width: 1080px;
}
body.page-home .home17-journal .fp-eyebrow {
  margin-top: .42rem;
  color: var(--red) !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
}
body.page-home .home17-journal header h2 {
  max-width: 900px;
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.page-home .home17-journal header p:not(.fp-eyebrow) {
  max-width: 760px;
  margin-top: 20px;
  font-size: 1rem;
  line-height: 1.6;
}
body.page-home .home17-journal__cover {
  min-height: 0;
  margin-top: clamp(40px, 4vw, 58px);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .65fr);
  gap: clamp(26px, 3vw, 44px);
  color: #f1f4f4;
  background: transparent;
  border-top: 1px solid rgba(214, 60, 54, .9);
}
body.page-home .home17-journal__lead {
  min-height: clamp(500px, 43vw, 610px);
  padding: clamp(24px, 3vw, 40px);
  border-bottom: 1px solid rgba(245, 243, 238, .22);
}
body.page-home .home17-journal__lead::before {
  background: linear-gradient(180deg, rgba(8, 12, 15, .04) 32%, rgba(8, 12, 15, .94) 100%);
}
body.page-home .home17-journal__lead img {
  filter: saturate(.7) contrast(1.06) brightness(.74);
}
body.page-home .home17-journal__lead > div { max-width: 720px; }
body.page-home .home17-journal__lead p {
  color: #dce2e4;
  font-family: var(--sans);
  letter-spacing: .05em;
}
body.page-home .home17-journal__lead h3 {
  margin: 16px 0 20px;
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.page-home .home17-journal__lead span {
  color: #f1f4f4;
  font-family: var(--sans);
  font-size: .78rem;
}
body.page-home .home17-journal__desk {
  display: grid;
  grid-template-rows: 1fr auto;
  border: 0;
  counter-reset: material-item;
}
body.page-home .home17-journal__desk > div {
  display: grid;
  grid-template-rows: 1fr 1fr;
}
body.page-home .home17-journal__desk > div > a {
  position: relative;
  min-height: 0;
  padding: clamp(24px, 2.5vw, 34px) 0 clamp(24px, 2.5vw, 34px) clamp(42px, 4vw, 58px);
  display: flex;
  flex-direction: column;
  color: #f1f4f4;
  background: transparent;
  border-bottom: 1px solid rgba(245, 243, 238, .22);
  counter-increment: material-item;
}
body.page-home .home17-journal__desk > div > a::before {
  position: absolute;
  top: clamp(24px, 2.5vw, 34px);
  left: 0;
  content: "0" counter(material-item);
  color: var(--red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}
body.page-home .home17-journal__desk p {
  color: #aeb9bd;
  font-family: var(--sans);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .035em;
}
body.page-home .home17-journal__desk h3 {
  margin: 20px 0 26px;
  font-family: var(--sans);
  font-size: clamp(1.12rem, 1.35vw, 1.42rem);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.018em;
  text-wrap: balance;
}
body.page-home .home17-journal__desk > div span {
  color: #e6ebed;
  font-family: var(--sans);
  font-size: .72rem;
}
body.page-home .home17-journal__desk nav {
  padding: 24px 0 0 clamp(42px, 4vw, 58px);
  display: grid;
  gap: 12px;
  background: transparent;
}
body.page-home .home17-journal__desk nav a {
  width: fit-content;
  color: #aeb9bd;
  font-family: var(--sans);
  font-size: .76rem;
  text-decoration: none;
}
body.page-home .home17-journal__desk nav a:hover { color: #f1f4f4; }

@media (max-width: 980px) {
  body.page-home .home17-journal > .fp-shell > header {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  body.page-home .home17-journal .fp-eyebrow { margin-top: 0; }
  body.page-home .home17-journal__cover {
    grid-template-columns: 1fr;
    gap: 0;
  }
  body.page-home .home17-journal__lead { min-height: clamp(430px, 64vw, 560px); }
  body.page-home .home17-journal__desk > div {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  body.page-home .home17-journal__desk > div > a:first-child {
    border-right: 1px solid rgba(245, 243, 238, .22);
  }
  body.page-home .home17-journal__desk nav {
    padding-left: 0;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: 18px 28px;
  }
}

@media (max-width: 620px) {
  body.page-home .home17-journal {
    padding: 56px 0 64px;
  }
  body.page-home .home17-journal > .fp-shell {
    width: min(100% - 36px, 680px);
  }
  body.page-home .home17-journal header p:not(.fp-eyebrow) {
    margin-top: 14px;
    font-size: .92rem;
  }
  body.page-home .home17-journal__cover { margin-top: 30px; }
  body.page-home .home17-journal__lead {
    min-height: 390px;
    padding: 22px 18px;
  }
  body.page-home .home17-journal__desk > div {
    grid-template-columns: 1fr;
  }
  body.page-home .home17-journal__desk > div > a {
    padding: 24px 0 24px 38px;
  }
  body.page-home .home17-journal__desk > div > a:first-child {
    border-right: 0;
  }
  body.page-home .home17-journal__desk > div > a::before { top: 24px; }
  body.page-home .home17-journal__desk nav {
    padding-top: 22px;
    grid-template-columns: 1fr;
    gap: 0;
  }
  body.page-home .home17-journal__desk nav a {
    width: 100%;
    padding: 12px 0;
    border-bottom: 1px solid rgba(245, 243, 238, .14);
  }
}

/* The warning note is a peer of the introduction on desktop. It previously
   used absolute positioning and physically covered the third principle at
   laptop widths. Grid placement keeps both modules in normal flow. */
@media (min-width: 1161px) {
  body.page-home .cf-warning-scene .cf-flow-chapter__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
    column-gap: clamp(44px, 5vw, 76px);
    align-items: start;
  }
  body.page-home .cf-warning-intro {
    grid-column: 1;
    grid-row: 1;
  }
  body.page-home .cf-warning-callout {
    position: static;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    width: 100%;
    margin: 0 0 4px;
  }
  body.page-home .cf-warning-principles,
  body.page-home .cf-warning-workflow {
    grid-column: 1 / -1;
  }
  body.page-home .cf-warning-principles {
    max-width: none;
    margin-top: 48px;
    gap: clamp(52px, 6vw, 84px);
  }
}

/* Homepage work formats: a case-file spread, not a compulsory downward path. */
body.page-home .cf-format-dossier {
  margin-top: clamp(24px, 3vw, 42px);
  display: block;
}
body.page-home .cf-format-dossier .cf-format-stop {
  position: relative;
  bottom: auto;
  left: auto;
  width: auto;
  margin: 0;
  padding: clamp(17px, 1.5vw, 23px) clamp(20px, 2vw, 30px);
  display: grid;
  grid-template-columns: minmax(220px, 310px) minmax(0, 720px);
  gap: clamp(28px, 4vw, 70px);
  align-items: start;
  background: linear-gradient(160deg, rgba(19,31,41,.92), rgba(7,12,16,.78));
  border: 1px solid rgba(215,223,226,.16);
  border-left: 3px solid var(--red);
}
body.page-home .cf-format-dossier .cf-format-stop::before {
  display: none;
}
body.page-home .cf-format-dossier .cf-format-stop b {
  max-width: 300px;
  margin: 0;
  font: 500 clamp(1.15rem, 1.5vw, 1.5rem)/1.18 var(--serif);
}
body.page-home .cf-format-dossier .cf-format-stop p {
  max-width: 720px;
  font-size: clamp(.72rem, .78vw, .84rem);
  line-height: 1.5;
}
body.page-home .cf-format-folios {
  margin: clamp(14px, 1.4vw, 20px) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.45vw, 22px);
  list-style: none;
}
body.page-home .cf-format-folio {
  position: relative;
  min-height: clamp(180px, 14vw, 220px);
  padding: clamp(20px, 1.65vw, 28px) clamp(20px, 1.8vw, 30px);
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: clamp(14px, 1.25vw, 22px);
  overflow: hidden;
  background: linear-gradient(145deg, rgba(18,31,42,.95), rgba(8,14,19,.9));
  border: 1px solid rgba(215,223,226,.18);
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
  transition: border-color .28s ease, transform .28s ease, background-color .28s ease;
}
body.page-home .cf-format-folio::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 24px;
  height: 24px;
  content: "";
  background: linear-gradient(225deg, transparent 48%, rgba(214,60,54,.9) 50%, rgba(214,60,54,.9) 53%, rgba(255,255,255,.08) 55%);
}
body.page-home .cf-format-folio::after {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 78px;
  width: 1px;
  content: "";
  background: linear-gradient(to bottom, var(--red), rgba(214,60,54,.08));
}
body.page-home .cf-format-folio:nth-child(2),
body.page-home .cf-format-folio:nth-child(3) {
  background: linear-gradient(145deg, rgba(14,25,34,.93), rgba(6,11,15,.92));
}
body.page-home .cf-format-folio:hover {
  z-index: 1;
  background: linear-gradient(145deg, rgba(22,37,49,.97), rgba(8,14,19,.94));
  border-color: rgba(214,60,54,.68);
  transform: translateY(-3px);
}
body.page-home .cf-format-folio > span {
  position: relative;
  z-index: 1;
  color: #f04a43;
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  font-weight: 720;
  line-height: 1;
}
body.page-home .cf-format-folio > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}
body.page-home .cf-format-folio b {
  display: block;
  margin-bottom: 7px;
  color: var(--red);
  font-size: clamp(.66rem, .7vw, .76rem);
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-home .cf-format-folio h3 {
  margin: 0 0 9px;
  font: 500 clamp(1rem, 1.22vw, 1.28rem)/1.2 var(--serif);
}
body.page-home .cf-format-folio p {
  margin: 0 0 12px;
  color: #bec6ca;
  font-size: clamp(.7rem, .78vw, .84rem);
  line-height: 1.46;
}
body.page-home .cf-format-folio small {
  display: block;
  padding-top: 9px;
  color: #aeb7bc;
  font-size: clamp(.63rem, .68vw, .73rem);
  border-top: 1px solid rgba(215,223,226,.13);
}
body.page-home .cf-format-boundary {
  margin-top: clamp(16px, 1.8vw, 24px);
}

/* This chapter follows its actual editorial content. Keeping a viewport-sized
   minimum here produced an empty screen between the folios and Practice. */
body.page-home .cf-format-scene {
  min-height: 0;
  padding-top: clamp(48px, 4.5vw, 72px);
  padding-bottom: clamp(46px, 4vw, 64px);
}

@media (max-width: 980px) {
  body.page-home .cf-format-dossier .cf-format-stop {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  body.page-home .cf-format-folios {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .cf-motion-ready [data-motion-scene] > *,
  .cf-flow-chapter { opacity: 1; transform: none; }
  .cf-process-path path { stroke-dashoffset: 0; }
  .cf-process-path circle, .cf-process-path line { opacity: 1; }
}
