/* site.css */

:root {
  --ink: #182d2b;
  --muted: #586b66;
  --pine: #15483e;
  --pine-dark: #10362f;
  --accent: #dcf1b8;
  --cream: #f6f6f0;
  --paper: #fff;
  --line: #dce3da;
  --navy: #19364d;
  --blue: #e6edf7;
  --radius: 16px;
  --shadow: 0 24px 70px #18372b10;
  --font: "Avenir Next", "Segoe UI", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 135px;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
p {
  margin: 0 0 1.15em;
}
h1,
h2,
h3,
h4 {
  margin: 0;
  line-height: 1.08;
  font-weight: 550;
  letter-spacing: -0.05em;
}
h1 {
  font-size: clamp(3.3rem, 5.7vw, 5.35rem);
  line-height: 1.055;
}
h2 {
  font-size: clamp(2.4rem, 4vw, 3.65rem);
}
h3 {
  font-size: 1.65rem;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
h4 {
  font-size: 1.15rem;
  letter-spacing: -0.025em;
}
img,
svg {
  max-width: 100%;
}
svg {
  vertical-align: middle;
}
.ico {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
::selection {
  color: var(--pine-dark);
  background: var(--accent);
}
:focus-visible {
  outline: 3px solid #5c856d;
  outline-offset: 5px;
}
button:disabled {
  cursor: not-allowed;
}
[hidden] {
  display: none !important;
}
.container {
  width: min(1240px, calc(100% - 96px));
  margin-inline: auto;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-size: 0.68rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--pine);
  margin-bottom: 23px;
}
.eyebrow .point {
  width: 6px;
  height: 6px;
  background: var(--pine);
  border-radius: 50%;
}
.serif {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.065em;
}
.lead {
  font-size: 1.1rem;
  line-height: 1.75;
  color: var(--muted);
  max-width: 620px;
  margin-top: 27px;
}
.body-copy {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}
.small {
  font-size: 0.83rem;
}
.fine {
  font-size: 0.72rem;
  color: var(--muted);
  line-height: 1.65;
}
.muted {
  color: var(--muted);
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 650;
  font-size: 0.9rem;
  border-bottom: 1px solid transparent;
  padding: 3px 0;
}
.text-link:hover {
  border-bottom-color: currentColor;
}
.arrow {
  font-size: 1.15em;
  line-height: 1;
}
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  border: 1px solid var(--pine);
  background: var(--pine);
  color: white;
  padding: 14px 23px;
  min-height: 50px;
  font-size: 0.84rem;
  font-weight: 650;
  border-radius: 7px;
  line-height: 1.25;
  transition:
    background 0.18s,
    transform 0.18s,
    box-shadow 0.18s;
}
.btn:hover {
  background: var(--pine-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px #10362f14;
}
.btn.outline {
  background: transparent;
  color: var(--pine);
  border-color: #adc0b3;
}
.btn.outline:hover {
  background: #eaf0e4;
}
.btn.lime {
  color: var(--pine-dark);
  background: var(--accent);
  border-color: var(--accent);
}
.btn.lime:hover {
  background: #eefad8;
}
.btn.white {
  color: var(--ink);
  background: white;
  border-color: white;
}
.btn.ghost {
  color: white;
  border-color: #ffffff55;
  background: transparent;
}
.btn.navy {
  background: var(--navy);
  border-color: var(--navy);
}
.actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 31px;
}
.actions .text-link {
  margin-left: 9px;
}
.label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.66rem;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: 0.05em;
  border: 1px solid #d7e3d2;
  border-radius: 4px;
  padding: 6px 9px;
  color: var(--pine);
  background: #f0f5e9;
}
.label.neutral {
  background: #f5f6f1;
  color: #627067;
  border-color: #e1e5de;
}
.label.draft {
  background: #fcf5e4;
  border-color: #e7d7b0;
  color: #78612c;
}
.skip {
  position: absolute;
  top: -90px;
  left: 20px;
  z-index: 1000;
  padding: 10px 18px;
  background: white;
  border: 2px solid var(--pine);
}
.skip:focus {
  top: 15px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  background: #f6f6f0f5;
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  height: 88px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
}
.brand-mark {
  width: 29px;
  height: 31px;
  position: relative;
  color: var(--pine);
  display: flex;
  gap: 3px;
  align-items: flex-end;
}
.brand-mark i {
  display: block;
  width: 6px;
  background: currentColor;
  transform: skewY(-25deg);
  border-radius: 1px;
}
.brand-mark i:nth-child(1) {
  height: 17px;
}
.brand-mark i:nth-child(2) {
  height: 25px;
}
.brand-mark i:nth-child(3) {
  height: 32px;
}
.brand-name {
  font-size: 1.82rem;
  font-weight: 680;
  letter-spacing: -0.065em;
  line-height: 1;
}
.brand-name .brand-dot {
  color: #6f8b58;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 29px;
  margin-left: auto;
}
.desktop-nav > a,
.nav-more > summary {
  font-size: 0.81rem;
  cursor: pointer;
  font-weight: 550;
  list-style: none;
}
.desktop-nav a[aria-current="page"] {
  color: var(--pine);
  box-shadow: 0 2px 0 var(--pine);
  padding-bottom: 6px;
}
.desktop-nav > a:hover {
  color: #6c8355;
}
.nav-more {
  position: relative;
}
.nav-more > summary::-webkit-details-marker {
  display: none;
}
.nav-more > summary {
  display: flex;
  align-items: center;
  gap: 7px;
}
.chevron {
  width: 6px;
  height: 6px;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  margin-top: -3px;
}
.nav-more[open] .chevron {
  transform: rotate(225deg);
  margin-top: 3px;
}
.dropdown {
  position: absolute;
  top: 35px;
  left: -30px;
  min-width: 246px;
  padding: 10px;
  border: 1px solid var(--line);
  background: white;
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.dropdown a {
  display: block;
  padding: 11px 13px;
  font-size: 0.86rem;
  border-radius: 5px;
}
.dropdown a:hover {
  background: var(--cream);
}
.header-button {
  min-height: 44px;
  padding: 12px 18px;
  font-size: 0.77rem;
  margin-left: 6px;
}
.menu-toggle {
  border: 1px solid var(--line);
  background: none;
  border-radius: 6px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}
.mobile-menu {
  border-top: 1px solid var(--line);
  padding: 10px 24px 22px;
  background: var(--cream);
}
.mobile-menu a {
  display: block;
  padding: 12px 3px;
  font-size: 1rem;
  border-bottom: 1px solid var(--line);
}
.branch-nav {
  border-bottom: 1px solid var(--line);
  background: white;
}
.branch-inner {
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  font-size: 0.7rem;
}
.branch-name {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.055em;
}
.branch-links {
  display: flex;
  gap: 24px;
}
.branch-links a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.branch-links a[aria-current="page"] {
  color: var(--pine);
  font-weight: 700;
}
.section {
  padding: 105px 0;
}
.section.slim {
  padding: 65px 0;
}
.section.white {
  background: white;
}
.section.soft {
  background: #eef1e8;
}
.section.dark {
  background: var(--pine-dark);
  color: white;
}
.section.dark .eyebrow {
  color: var(--accent);
}
.section.dark .body-copy,
.section.dark .lead {
  color: #c0d1c8;
}
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 45px;
}
.section-header h2 {
  max-width: 720px;
}
.section-header .body-copy {
  max-width: 345px;
  margin: 0;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.split.top {
  align-items: start;
}
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.home-hero {
  position: relative;
  padding: 79px 0 67px;
}
.home-hero .split {
  grid-template-columns: 1.06fr 1fr;
  gap: 58px;
}
.hero-copy {
  max-width: 620px;
}
.hero-copy h1 .serif {
  color: var(--pine);
}
.home-hero .lead {
  max-width: 500px;
  font-size: 1.04rem;
  line-height: 1.75;
  margin-top: 27px;
}
.hero-note {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.68rem;
  color: #64746b;
  margin-top: 25px;
}
.hero-note .dash {
  width: 26px;
  height: 1px;
  background: #91a281;
}
.business-hero {
  padding: 76px 0 75px;
}
.business-hero h1 {
  font-size: clamp(3.1rem, 5.4vw, 4.9rem);
}
.business-hero.insurance {
  background: #f0f3f4;
}
.business-hero.insurance .serif {
  color: #365c77;
}
.business-hero .lead {
  font-size: 1.05rem;
}
.hero-facts {
  display: flex;
  gap: 17px;
  flex-wrap: wrap;
  margin-top: 27px;
  font-size: 0.71rem;
  color: var(--muted);
}
.hero-facts span {
  display: flex;
  gap: 8px;
  align-items: center;
}
.hero-facts span:before {
  content: "\2713";
  color: var(--pine);
}
.strip {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f0f2e9;
}
.strip .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  min-height: 77px;
}
.strip-intro {
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #637363;
  max-width: 145px;
  line-height: 1.7;
}
.strip-item {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 0.79rem;
  font-weight: 600;
}
.strip-item .ico {
  width: 21px;
  color: var(--pine);
}
.showcase {
  background: #e7eddf;
  border: 1px solid #dbe2d4;
  padding: 19px;
  border-radius: 18px;
  position: relative;
  box-shadow: 0 30px 65px #344e1d0b;
}
.showcase-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 20px;
}
.tab-list {
  display: flex;
  gap: 4px;
  border: 1px solid #d4ddce;
  padding: 4px;
  border-radius: 7px;
  background: #dce5d5;
}
.tab-list button {
  font-size: 0.69rem;
  font-weight: 650;
  padding: 8px 13px;
  color: #586951;
  border: 0;
  border-radius: 4px;
  background: transparent;
}
.tab-list button[aria-selected="true"] {
  background: white;
  color: var(--ink);
  box-shadow: 0 1px 5px #13381212;
}
.showcase-caption {
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #566650;
}
.app-window {
  background: #fff;
  border: 1px solid #e0e5db;
  border-radius: 10px;
  box-shadow: 0 15px 40px #1b322419;
  overflow: hidden;
  min-height: 351px;
}
.app-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 17px;
  border-bottom: 1px solid #e8ece6;
  font-size: 0.64rem;
  font-weight: 650;
  color: #435948;
}
.app-logo {
  width: 19px;
  height: 19px;
  background: var(--pine);
  color: white;
  display: grid;
  place-items: center;
  border-radius: 4px;
  font-size: 0.65rem;
}
.app-topbar .app-status {
  margin-left: auto;
  font-size: 0.56rem;
  font-weight: 500;
  color: #74836f;
}
.app-content {
  padding: 19px;
}
.app-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 19px;
}
.app-title strong {
  font-size: 0.84rem;
  font-weight: 650;
  letter-spacing: -0.025em;
}
.app-title small {
  font-size: 0.59rem;
  display: block;
  color: #83907f;
  margin-top: 3px;
}
.micro-tag {
  font-size: 0.54rem;
  background: #eff4e6;
  color: #5b743d;
  padding: 5px 7px;
  border-radius: 4px;
  white-space: nowrap;
}
.app-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 20px;
}
.app-kpi {
  padding: 10px 11px;
  border: 1px solid #e5e9e1;
  border-radius: 6px;
  background: #fafbf8;
}
.app-kpi .kpi-label {
  font-size: 0.55rem;
  color: #778373;
  display: block;
  margin-bottom: 5px;
}
.app-kpi b {
  font-size: 1.45rem;
  line-height: 1.2;
  display: block;
  font-weight: 550;
  letter-spacing: -0.045em;
}
.app-kpi em {
  font-size: 0.53rem;
  display: block;
  margin-top: 6px;
  font-style: normal;
  color: #618445;
}
.app-bottom {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  gap: 16px;
}
.app-card {
  padding: 12px;
  border: 1px solid #e2e8dc;
  border-radius: 6px;
  min-height: 112px;
  overflow: hidden;
}
.app-card-heading {
  display: flex;
  justify-content: space-between;
  font-size: 0.57rem;
  color: #748171;
  margin-bottom: 13px;
}
.app-rows {
  display: grid;
  gap: 10px;
}
.app-row {
  font-size: 0.55rem;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #61715b;
}
.app-row b {
  font-weight: 600;
  color: #304728;
}
.app-row .done {
  color: #5a7c38;
}
.mini-bars {
  height: 71px;
  display: flex;
  gap: 7px;
  align-items: flex-end;
  padding: 0 2px;
  border-bottom: 1px solid #dce4d5;
}
.mini-bars i {
  flex: 1;
  background: #cadeb9;
  border-radius: 2px 2px 0 0;
}
.mini-bars i:nth-last-child(-n + 2) {
  background: #648951;
}
.preview-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.58rem;
  color: #65755e;
  margin-top: 17px;
}
.preview-foot .live-dot {
  height: 5px;
  width: 5px;
  background: #728d55;
  display: inline-block;
  border-radius: 50%;
  margin-right: 6px;
}
.map-plot {
  position: relative;
  min-height: 95px;
  background: linear-gradient(150deg, #eaf0e7, #f5f7f2);
  border-radius: 4px;
  overflow: hidden;
}
.map-plot:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(#d6e0d84d 1px, transparent 1px),
    linear-gradient(90deg, #d6e0d84d 1px, transparent 1px);
  background-size: 16px 16px;
}
.map-plot svg {
  width: 100%;
  height: 95px;
}
.app-legend {
  display: flex;
  gap: 9px;
  margin-top: 6px;
  font-size: 0.48rem;
  color: #879480;
}
.app-legend span {
  display: flex;
  gap: 4px;
  align-items: center;
}
.app-legend i {
  width: 4px;
  height: 4px;
  background: #7c9c62;
  border-radius: 50%;
}
.business-card {
  display: flex;
  flex-direction: column;
  padding: 37px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}
.business-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.business-card.finance {
  background: #eef3e5;
}
.business-card .card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 44px;
}
.card-number {
  font-size: 0.72rem;
  color: #7b8b75;
}
.business-card .eyebrow {
  margin: 0;
  font-size: 0.64rem;
}
.business-card h3 {
  font-size: 2.3rem;
  max-width: 440px;
  line-height: 1.12;
  margin-bottom: 18px;
}
.business-card .body-copy {
  font-size: 0.96rem;
  max-width: 440px;
}
.card-features {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.card-features span {
  font-size: 0.64rem;
  border: 1px solid #dce3d6;
  border-radius: 4px;
  padding: 5px 8px;
  color: #66755c;
}
.card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  margin-top: 35px;
  padding-top: 24px;
}
.circle-arrow {
  width: 39px;
  height: 39px;
  border-radius: 50%;
  border: 1px solid #ccd8c2;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
}
.mini-process {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 29px;
}
.mini-process span {
  flex: 1;
  padding: 13px 10px;
  text-align: center;
  border: 1px solid #e0e5da;
  border-radius: 5px;
  background: #f7f9f2;
  font-size: 0.67rem;
  color: #5e7153;
}
.mini-process b {
  font-weight: 400;
  font-size: 0.8rem;
  color: #8e9b84;
}
.principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 65px;
}
.principle {
  border-top: 1px solid #ffffff32;
  padding-top: 26px;
}
.principle .number {
  color: #94b39b;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 28px;
}
.principle h3 {
  font-size: 1.3rem;
  margin-bottom: 15px;
  letter-spacing: -0.03em;
}
.principle p {
  font-size: 0.9rem;
  color: #c0d1c8;
  max-width: 340px;
}
.evidence-box {
  background: #e8edde;
  padding: 38px;
  border-radius: 10px;
  border: 1px solid #d8e0cd;
}
.evidence-box .eyebrow {
  font-size: 0.64rem;
}
.evidence-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 19px 0;
  border-top: 1px solid #cdd8c4;
  font-size: 0.9rem;
}
.evidence-row:last-child {
  padding-bottom: 0;
}
.evidence-row b {
  font-size: 0.62rem;
  text-align: right;
  letter-spacing: 0.06em;
  color: #627b4a;
  font-weight: 650;
  min-width: 90px;
}
.section-cta {
  padding: 60px 0 82px;
}
.cta-panel {
  padding: 50px 52px;
  border-radius: 12px;
  background: var(--pine);
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  position: relative;
  overflow: hidden;
}
.cta-panel h2 {
  font-size: 2.6rem;
  max-width: 710px;
}
.cta-panel p {
  color: #c5d7cd;
  margin-top: 17px;
  margin-bottom: 0;
  font-size: 0.96rem;
  max-width: 630px;
}
.cta-panel .eyebrow {
  color: var(--accent);
  font-size: 0.63rem;
  margin-bottom: 18px;
}
.cta-panel .btn {
  flex-shrink: 0;
}
.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.service-card {
  padding: 32px;
  min-height: 220px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  background: white;
}
.service-card .ico {
  color: #507b58;
  width: 29px;
  height: 29px;
  margin-bottom: 27px;
}
.service-card h3 {
  font-size: 1.24rem;
  margin-bottom: 15px;
}
.service-card p {
  font-size: 0.88rem;
  color: var(--muted);
  margin: 0;
}
.steps {
  counter-reset: steps;
}
.step {
  padding: 23px 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  counter-increment: steps;
}
.step:before {
  content: "0" counter(steps);
  font-size: 0.73rem;
  color: #718364;
  padding-top: 4px;
}
.step h3 {
  font-size: 1.24rem;
  margin-bottom: 10px;
}
.step p {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0;
}
.feature-list {
  padding: 0;
  list-style: none;
  margin: 25px 0;
}
.feature-list li {
  display: flex;
  gap: 14px;
  padding: 10px 0;
  font-size: 0.91rem;
  color: var(--muted);
}
.feature-list li:before {
  content: "\2713";
  color: #648549;
  font-size: 0.85rem;
}
.page-hero {
  padding: 70px 0 60px;
}
.page-hero h1 {
  max-width: 950px;
  font-size: clamp(3rem, 5vw, 4.7rem);
}
.page-hero .lead {
  max-width: 720px;
}
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.71rem;
  color: #7c8b76;
  margin-bottom: 30px;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.74rem;
  color: #73836a;
  margin-top: 25px;
}
.narrow {
  max-width: 760px;
}
.intro-note {
  border: 1px solid var(--line);
  border-left: 3px solid #87a35d;
  border-radius: 4px;
  background: #f1f4e9;
  padding: 20px 23px;
  font-size: 0.84rem;
  color: #5c6d51;
}
.feature-panel {
  padding: 37px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
}
.feature-panel h3 {
  margin-bottom: 18px;
}
.feature-panel p {
  color: var(--muted);
  font-size: 0.95rem;
}
.feature-panel .eyebrow {
  margin-bottom: 23px;
  font-size: 0.63rem;
}
.feature-panel.focus {
  background: var(--navy);
  color: white;
  border-color: var(--navy);
}
.feature-panel.focus .eyebrow {
  color: #c9dbe8;
}
.feature-panel.focus p {
  color: #c3d0da;
}
.feature-panel.focus .card-features span {
  color: #bcd2e2;
  border-color: #536a7b;
}
.feature-panel.focus .text-link {
  color: #d9edbe;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 25px;
}
.check-grid .check {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: white;
}
.check b {
  font-size: 0.9rem;
  font-weight: 600;
  display: block;
  margin-bottom: 7px;
}
.check span {
  font-size: 0.8rem;
  color: var(--muted);
}
.pricing-card {
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
  display: flex;
  flex-direction: column;
}
.pricing-card.primary {
  background: #eaf0dd;
  border-color: #cbd7ba;
}
.pricing-card .price {
  font-size: 3.6rem;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.055em;
  margin: 25px 0 15px;
}
.pricing-card .price small {
  font-size: 0.9rem;
  color: var(--muted);
  letter-spacing: 0;
}
.pricing-card p {
  font-size: 0.9rem;
  color: var(--muted);
}
.pricing-card .fine {
  font-size: 0.74rem;
}
.pricing-card .btn {
  align-self: flex-start;
  margin-top: auto;
}
.pricing-card h3 {
  font-size: 1.6rem;
}
.pricing-highlight {
  padding: 17px 0;
  margin: 7px 0 15px;
  border-top: 1px solid #cedaba;
  border-bottom: 1px solid #cedaba;
  font-size: 0.83rem;
}
.pricing-highlight strong {
  font-weight: 650;
}
.faq {
  border-top: 1px solid var(--line);
}
.faq details {
  border-bottom: 1px solid var(--line);
  padding: 23px 0;
}
.faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 1rem;
  font-weight: 550;
  list-style: none;
  cursor: pointer;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary:after {
  content: "+";
  font-size: 1.4rem;
  color: #779063;
  font-weight: 300;
}
.faq details[open] summary:after {
  content: "\2212";
}
.faq details p {
  margin: 18px 35px 0 0;
  max-width: 830px;
  font-size: 0.91rem;
  color: var(--muted);
}
.quote-card {
  padding: 35px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
}
.quote-mark {
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 0.9;
  color: #8fae70;
  margin-bottom: 7px;
}
.quote-card blockquote {
  font-family: var(--serif);
  font-size: 1.32rem;
  line-height: 1.65;
  letter-spacing: -0.02em;
  margin: 0 0 28px;
}
.quote-person {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.initials {
  width: 40px;
  height: 40px;
  background: #ecf0e4;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 650;
  color: #65784e;
  flex-shrink: 0;
}
.quote-person strong {
  font-size: 0.82rem;
  font-weight: 650;
  display: block;
}
.quote-person small {
  font-size: 0.67rem;
  color: var(--muted);
  display: block;
  line-height: 1.55;
}
.quote-card .fine {
  margin-top: 17px;
  margin-bottom: 0;
  font-size: 0.66rem;
}
.founder-block {
  padding: 33px;
  border: 1px solid #d6dfcd;
  border-radius: 12px;
  background: #eef2e6;
  position: relative;
}
.founder-monogram {
  font-size: 4.5rem;
  color: #90a579;
  font-family: var(--serif);
  line-height: 1;
  margin-bottom: 30px;
  letter-spacing: -0.09em;
}
.founder-block h3 {
  font-size: 2rem;
  margin-bottom: 10px;
}
.founder-block .body-copy {
  font-size: 0.9rem;
}
.founder-stats {
  display: flex;
  gap: 20px;
  border-top: 1px solid #d0dac6;
  margin-top: 29px;
  padding-top: 20px;
  font-size: 0.67rem;
  color: #637654;
}
.founder-stats strong {
  display: block;
  font-size: 0.93rem;
  color: var(--ink);
  font-weight: 600;
}
.team-card {
  padding: 31px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
}
.team-card .avatar {
  height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #edf1e5;
  border-radius: 6px;
  padding: 22px;
  margin-bottom: 28px;
}
.avatar .monogram {
  font-family: var(--serif);
  font-size: 3.5rem;
  color: #7c955e;
  letter-spacing: -0.07em;
}
.avatar .role-number {
  font-size: 0.68rem;
  color: #9dac8e;
  align-self: flex-start;
}
.team-card h3 {
  font-size: 1.6rem;
  margin-bottom: 9px;
}
.team-card .role {
  font-size: 0.8rem;
  color: #436b50;
  font-weight: 650;
  line-height: 1.5;
  margin-bottom: 20px;
}
.team-card p {
  font-size: 0.9rem;
  color: var(--muted);
}
.team-card .text-link {
  font-size: 0.82rem;
}
.profile-hero .split {
  grid-template-columns: 1.2fr 0.8fr;
}
.profile-panel {
  padding: 43px;
  background: var(--pine);
  border-radius: 12px;
  color: white;
}
.profile-panel .monogram {
  font-family: var(--serif);
  font-size: 6.5rem;
  line-height: 1.2;
  letter-spacing: -0.09em;
  color: #d7e6bf;
  margin-bottom: 30px;
}
.profile-panel .profile-line {
  border-top: 1px solid #ffffff33;
  padding-top: 18px;
  margin-top: 18px;
  font-size: 0.85rem;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.profile-line span {
  color: #b2c7b8;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  align-self: center;
  text-align: right;
}
.profile-panel .fine {
  color: #c0d1bd;
  margin-top: 27px;
  font-size: 0.7rem;
}
.timeline {
  border-left: 1px solid #cdd8c1;
  padding-left: 27px;
}
.timeline-item {
  position: relative;
  margin-bottom: 34px;
}
.timeline-item:before {
  content: "";
  position: absolute;
  left: -32px;
  top: 7px;
  width: 9px;
  height: 9px;
  background: #91a675;
  border: 2px solid var(--cream);
  border-radius: 50%;
}
.timeline-item h3 {
  font-size: 1.2rem;
  margin-bottom: 12px;
}
.timeline-item p {
  font-size: 0.9rem;
  color: var(--muted);
}
.filter-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 33px;
}
.filter-bar button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 5px;
  padding: 10px 17px;
  font-size: 0.76rem;
  color: var(--muted);
}
.filter-bar button[aria-pressed="true"] {
  background: var(--pine);
  color: white;
  border-color: var(--pine);
}
.article-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.2s;
}
.article-card:hover {
  transform: translateY(-4px);
}
.article-art {
  padding: 27px;
  height: 157px;
  background: #e5eddd;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.article-art.insurance {
  background: #e7edf2;
}
.article-art .label {
  align-self: flex-start;
  font-size: 0.56rem;
}
.article-art .art-type {
  font-family: var(--serif);
  font-size: 2.3rem;
  letter-spacing: -0.06em;
  color: #748963;
}
.article-art.insurance .art-type {
  color: #648198;
}
.article-body {
  padding: 28px;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.article-body .eyebrow {
  font-size: 0.58rem;
  margin-bottom: 16px;
}
.article-body h3 {
  font-size: 1.37rem;
  line-height: 1.28;
  margin-bottom: 16px;
}
.article-body p {
  font-size: 0.85rem;
  color: var(--muted);
}
.article-body .text-link {
  margin-top: auto;
  padding-top: 10px;
  font-size: 0.8rem;
}
.article-layout {
  display: grid;
  grid-template-columns: 1fr 270px;
  gap: 70px;
}
.article-text {
  max-width: 780px;
}
.article-text h2 {
  font-size: 1.75rem;
  margin: 42px 0 18px;
  letter-spacing: -0.035em;
}
.article-text h2:first-child {
  margin-top: 0;
}
.article-text p {
  font-size: 1.02rem;
  color: var(--muted);
  line-height: 1.85;
}
.article-text .pullquote {
  border-left: 3px solid #8b9f69;
  padding: 5px 0 5px 26px;
  margin: 34px 0;
  font-size: 1.4rem;
  font-family: var(--serif);
  color: var(--pine);
  line-height: 1.6;
}
.article-aside {
  position: sticky;
  top: 145px;
  align-self: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 25px;
  background: white;
}
.article-aside h4 {
  margin-bottom: 14px;
}
.article-aside p {
  font-size: 0.83rem;
  color: var(--muted);
}
.book-visual {
  background: var(--pine);
  color: white;
  aspect-ratio: 0.78;
  padding: 39px;
  max-width: 330px;
  box-shadow:
    13px 15px 0 #dfe6d2,
    15px 28px 50px #173a2220;
  transform: rotate(-3deg);
  display: flex;
  flex-direction: column;
  border-left: 9px solid #0e2f29;
  border-radius: 2px;
}
.book-visual .eyebrow {
  color: #d0e4b6;
  font-size: 0.56rem;
}
.book-visual h3 {
  font-family: var(--serif);
  font-size: 3.1rem;
  font-weight: 400;
  letter-spacing: -0.04em;
}
.book-visual p {
  font-size: 0.79rem;
  line-height: 1.6;
  color: #c0d2bc;
  margin-top: 25px;
}
.book-visual .author {
  margin-top: auto;
  padding-top: 25px;
  border-top: 1px solid #ffffff45;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
}
.book-stage {
  display: flex;
  justify-content: center;
  padding: 30px;
}
.data-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
.data-table {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 0.85rem;
}
.data-table th,
.data-table td {
  padding: 20px 23px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.data-table th {
  font-size: 0.64rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  background: #f1f4eb;
}
.data-table tr:last-child td {
  border: 0;
}
.data-table td:first-child {
  font-weight: 600;
  min-width: 165px;
}
.data-table td {
  color: var(--muted);
}
.callout {
  padding: 35px;
  background: #edf2e4;
  border: 1px solid #d7e2c7;
  border-radius: 9px;
}
.callout h3 {
  margin-bottom: 18px;
}
.callout p {
  color: var(--muted);
  font-size: 0.95rem;
}
.contact-card {
  padding: 35px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
}
.field {
  margin-bottom: 20px;
}
.field label {
  display: block;
  font-size: 0.78rem;
  font-weight: 650;
  margin-bottom: 8px;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid #ccd8c2;
  border-radius: 5px;
  padding: 12px 13px;
  background: #fbfcf8;
  color: var(--ink);
  font-size: 0.9rem;
  min-height: 47px;
}
.field textarea {
  min-height: 115px;
  resize: vertical;
}
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-note {
  font-size: 0.72rem;
  color: var(--muted);
  margin-top: 15px;
}
.form-result {
  padding: 20px;
  background: #eff5e5;
  border: 1px solid #c6d6b6;
  border-radius: 6px;
  margin-top: 20px;
}
.form-result p {
  font-size: 0.87rem;
}
.footer {
  border-top: 1px solid var(--line);
  padding: 58px 0 0;
  background: #f0f2e9;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 50px;
  margin-bottom: 55px;
}
.footer-copy {
  font-size: 0.81rem;
  line-height: 1.75;
  color: var(--muted);
  margin-top: 25px;
  max-width: 280px;
}
.footer h4 {
  font-size: 0.67rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #6b7c5b;
  margin-bottom: 20px;
}
.footer-col a {
  display: block;
  font-size: 0.79rem;
  margin: 10px 0;
  color: #526448;
}
.footer-col a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-bottom {
  border-top: 1px solid #d6dfcd;
  padding: 22px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 0.65rem;
  color: #75816b;
}
.footer-actions {
  display: flex;
  gap: 22px;
  align-items: center;
}
.review-link {
  border: 0;
  border-bottom: 1px solid #9fac91;
  padding: 0;
  background: transparent;
  font: inherit;
  color: inherit;
}
.review-link:hover {
  color: var(--pine);
}
.concept-badge {
  background: #dfe7d5;
  padding: 5px 9px;
  border-radius: 3px;
  font-size: 0.59rem;
  letter-spacing: 0.04em;
}
.review-dialog {
  border: 1px solid #d2dec5;
  border-radius: 14px;
  padding: 36px;
  max-width: 620px;
  width: calc(100% - 36px);
  max-height: 85vh;
  color: var(--ink);
  box-shadow: var(--shadow);
}
.review-dialog::backdrop {
  background: #0e261f88;
  backdrop-filter: blur(3px);
}
.dialog-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 23px;
}
.dialog-heading h2 {
  font-size: 1.7rem;
}
.dialog-close {
  height: 35px;
  width: 35px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--cream);
  font-size: 1.2rem;
}
.review-dialog p,
.review-dialog li {
  font-size: 0.85rem;
  color: var(--muted);
}
.review-dialog ul {
  padding-left: 21px;
}
.review-dialog li {
  margin: 12px 0;
}
.review-dialog .label {
  margin-bottom: 18px;
}
.not-found {
  padding: 120px 0;
  text-align: center;
}
.not-found h1 {
  margin-bottom: 25px;
}
.not-found .actions {
  justify-content: center;
}
.route-enter {
  animation: routeIn 0.3s ease-out;
}
@keyframes routeIn {
  from {
    transform: translateY(5px);
  }
  to {
    transform: translateY(0);
  }
}
@media (min-width: 1550px) {
  .home-hero {
    padding-top: 96px;
    padding-bottom: 86px;
  }
  .home-hero h1 {
    font-size: 5.5rem;
  }
}
@media (max-width: 1150px) {
  .container {
    width: calc(100% - 64px);
  }
  .desktop-nav {
    gap: 20px;
  }
  .header-inner {
    gap: 20px;
  }
  .split,
  .home-hero .split {
    gap: 34px;
  }
  .home-hero h1 {
    font-size: 4.15rem;
  }
  .app-content {
    padding: 15px;
  }
  .app-kpi {
    padding: 9px;
  }
  .app-kpi b {
    font-size: 1.2rem;
  }
  .showcase {
    padding: 15px;
  }
  .showcase-caption {
    font-size: 0.52rem;
  }
  .tab-list button {
    padding: 7px 10px;
  }
  .grid-3 {
    gap: 18px;
  }
  .team-card {
    padding: 25px;
  }
  .footer-grid {
    gap: 30px;
  }
  .article-layout {
    gap: 40px;
    grid-template-columns: 1fr 240px;
  }
  .business-card {
    padding: 30px;
  }
  .business-card h3 {
    font-size: 2rem;
  }
  .section {
    padding: 85px 0;
  }
}
@media (max-width: 950px) {
  .desktop-nav {
    gap: 17px;
  }
  .desktop-nav > a,
  .nav-more > summary {
    font-size: 0.75rem;
  }
  .header-button {
    padding: 11px 14px;
    font-size: 0.7rem;
  }
  .header-inner {
    gap: 15px;
    height: 78px;
  }
  .brand-name {
    font-size: 1.55rem;
  }
  .brand-mark {
    transform: scale(0.88);
    transform-origin: left center;
    width: 25px;
  }
  .home-hero h1 {
    font-size: 3.7rem;
  }
  .home-hero .lead {
    font-size: 0.95rem;
  }
  .hero-note {
    font-size: 0.62rem;
  }
  .app-bottom {
    gap: 8px;
  }
  .app-card {
    padding: 9px;
  }
  .app-row {
    font-size: 0.5rem;
  }
  .showcase-caption {
    display: none;
  }
  .section-header {
    gap: 30px;
  }
  .section-header .body-copy {
    max-width: 300px;
    font-size: 0.9rem;
  }
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .principles {
    gap: 22px;
  }
  .cta-panel {
    padding: 38px;
  }
  .cta-panel h2 {
    font-size: 2.15rem;
  }
  .quote-card {
    padding: 27px;
  }
  .quote-card blockquote {
    font-size: 1.18rem;
  }
  .strip-item {
    font-size: 0.7rem;
    gap: 8px;
  }
  .strip-intro {
    font-size: 0.56rem;
  }
  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 800px) {
  .desktop-nav,
  .header-button {
    display: none;
  }
  .menu-toggle {
    display: flex;
  }
  .container {
    width: calc(100% - 44px);
  }
  .header-inner {
    height: 74px;
  }
  .brand-name {
    font-size: 1.75rem;
  }
  .brand-mark {
    transform: none;
    width: 29px;
  }
  .home-hero,
  .business-hero {
    padding: 51px 0;
  }
  .split,
  .home-hero .split,
  .profile-hero .split {
    grid-template-columns: 1fr;
    gap: 39px;
  }
  .home-hero h1 {
    font-size: clamp(3.4rem, 9vw, 5rem);
  }
  .home-hero .lead {
    font-size: 1.03rem;
    max-width: 580px;
  }
  .hero-copy {
    max-width: none;
  }
  .showcase {
    max-width: 580px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
  }
  .showcase-caption {
    display: block;
    font-size: 0.57rem;
  }
  .app-content {
    padding: 20px;
  }
  .app-kpi {
    padding: 13px;
  }
  .app-kpi b {
    font-size: 1.6rem;
  }
  .app-kpi .kpi-label {
    font-size: 0.6rem;
  }
  .app-kpi em {
    font-size: 0.57rem;
  }
  .app-bottom {
    gap: 16px;
  }
  .app-card {
    padding: 13px;
  }
  .app-row {
    font-size: 0.58rem;
  }
  .strip .container {
    flex-wrap: wrap;
    gap: 16px 24px;
    justify-content: flex-start;
    padding-top: 23px;
    padding-bottom: 23px;
  }
  .strip-intro {
    min-width: 100%;
    max-width: none;
    font-size: 0.6rem;
  }
  .strip-item {
    font-size: 0.71rem;
  }
  .section {
    padding: 70px 0;
  }
  .section.slim {
    padding: 48px 0;
  }
  .section-header {
    display: block;
    margin-bottom: 32px;
  }
  .section-header .body-copy {
    max-width: 610px;
    margin-top: 20px;
  }
  .grid-3 {
    grid-template-columns: 1fr;
  }
  .team-card {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 8px 25px;
    padding: 25px;
  }
  .team-card .avatar {
    grid-row: span 6;
    margin: 0;
    height: 135px;
    padding: 15px;
  }
  .team-card .avatar .monogram {
    font-size: 3.2rem;
  }
  .team-card h3 {
    font-size: 1.4rem;
    align-self: end;
  }
  .team-card .role {
    margin: 0;
  }
  .team-card p {
    margin: 6px 0;
    font-size: 0.85rem;
  }
  .team-card .text-link {
    justify-self: start;
  }
  .article-card {
    display: grid;
    grid-template-columns: 35% 1fr;
  }
  .article-art {
    height: 100%;
    border-bottom: 0;
    border-right: 1px solid var(--line);
    min-height: 230px;
  }
  .article-art .art-type {
    font-size: 2.1rem;
  }
  .business-card .card-top {
    margin-bottom: 33px;
  }
  .business-card {
    padding: 25px;
  }
  .business-card h3 {
    font-size: 1.8rem;
  }
  .business-card .body-copy {
    font-size: 0.88rem;
  }
  .mini-process {
    gap: 4px;
  }
  .mini-process span {
    font-size: 0.55rem;
    padding: 10px 5px;
  }
  .mini-process b {
    font-size: 0.7rem;
  }
  .card-features span {
    font-size: 0.59rem;
  }
  .principles {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 42px;
  }
  .principle {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 8px 20px;
  }
  .principle .number {
    grid-row: span 2;
    margin: 0;
    padding-top: 3px;
  }
  .principle p {
    max-width: none;
  }
  .principle h3 {
    margin: 0 0 6px;
  }
  .cta-panel {
    display: block;
    padding: 35px;
  }
  .cta-panel .btn {
    margin-top: 26px;
  }
  .cta-panel h2 {
    font-size: 2.3rem;
  }
  .footer-grid {
    grid-template-columns: 1.4fr 1fr;
    gap: 35px;
  }
  .footer-bottom {
    align-items: flex-start;
  }
  .footer-actions {
    gap: 15px;
  }
  .quote-card blockquote {
    font-size: 1.13rem;
  }
  .profile-panel {
    max-width: 600px;
  }
  .article-layout {
    grid-template-columns: 1fr;
  }
  .article-aside {
    position: static;
    max-width: 780px;
  }
  .page-hero {
    padding: 48px 0;
  }
  .page-hero h1 {
    font-size: 3.4rem;
  }
  .branch-inner {
    gap: 17px;
    align-items: flex-start;
    padding-top: 13px;
    padding-bottom: 13px;
    flex-direction: column;
  }
  .branch-links {
    gap: 18px;
    flex-wrap: wrap;
  }
  .evidence-box {
    padding: 30px;
  }
  .business-hero h1 {
    font-size: clamp(3.3rem, 8.5vw, 4.5rem);
  }
}
@media (max-width: 560px) {
  .container {
    width: calc(100% - 40px);
  }
  .eyebrow {
    font-size: 0.59rem;
    letter-spacing: 0.14em;
    margin-bottom: 20px;
  }
  h2 {
    font-size: 2.4rem;
  }
  .home-hero {
    padding-top: 42px;
  }
  .home-hero h1 {
    font-size: clamp(2.85rem, 12.6vw, 3.3rem);
  }
  .home-hero .lead {
    font-size: 0.95rem;
  }
  .hero-note {
    font-size: 0.6rem;
    line-height: 1.5;
  }
  .actions {
    gap: 10px;
    margin-top: 26px;
  }
  .btn {
    padding: 13px 18px;
    font-size: 0.76rem;
    gap: 10px;
    min-height: 48px;
  }
  .actions .text-link {
    margin-left: 0;
  }
  .showcase {
    padding: 13px;
    border-radius: 12px;
  }
  .showcase-top {
    margin-bottom: 13px;
  }
  .showcase-caption {
    font-size: 0.49rem;
  }
  .tab-list button {
    font-size: 0.61rem;
    padding: 7px 9px;
  }
  .app-content {
    padding: 13px;
  }
  .app-topbar {
    padding: 12px;
    font-size: 0.56rem;
  }
  .app-topbar .app-status {
    font-size: 0.48rem;
  }
  .app-title strong {
    font-size: 0.72rem;
  }
  .app-title small {
    font-size: 0.5rem;
  }
  .app-title {
    margin-bottom: 14px;
  }
  .micro-tag {
    font-size: 0.48rem;
    padding: 5px;
  }
  .app-kpis {
    gap: 6px;
    margin-bottom: 13px;
  }
  .app-kpi {
    padding: 9px 7px;
  }
  .app-kpi b {
    font-size: 1.2rem;
  }
  .app-kpi .kpi-label {
    font-size: 0.5rem;
  }
  .app-kpi em {
    font-size: 0.48rem;
  }
  .app-bottom {
    gap: 7px;
  }
  .app-card {
    padding: 9px;
  }
  .app-row {
    font-size: 0.48rem;
  }
  .app-card-heading {
    font-size: 0.48rem;
  }
  .app-window {
    min-height: 305px;
  }
  .app-legend {
    font-size: 0.42rem;
  }
  .preview-foot {
    font-size: 0.48rem;
    line-height: 1.5;
    margin-top: 12px;
  }
  .hero-facts {
    font-size: 0.62rem;
    gap: 13px;
  }
  .strip .container {
    gap: 13px 19px;
  }
  .strip-item .ico {
    width: 18px;
  }
  .strip-item {
    font-size: 0.64rem;
  }
  .grid-2,
  .grid-4 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .business-card {
    padding: 29px;
  }
  .business-card h3 {
    font-size: 2.05rem;
  }
  .business-card .body-copy {
    font-size: 0.94rem;
  }
  .mini-process span {
    font-size: 0.65rem;
    padding: 13px 8px;
  }
  .card-features span {
    font-size: 0.64rem;
  }
  .mini-process {
    gap: 7px;
  }
  .section {
    padding: 60px 0;
  }
  .section-header .body-copy {
    font-size: 0.91rem;
  }
  .cards {
    grid-template-columns: 1fr;
  }
  .service-card {
    min-height: 0;
    padding: 28px;
  }
  .service-card .ico {
    margin-bottom: 20px;
  }
  .section-cta {
    padding: 30px 0 60px;
  }
  .cta-panel {
    padding: 30px 26px;
  }
  .cta-panel h2 {
    font-size: 2.2rem;
  }
  .cta-panel p {
    font-size: 0.89rem;
  }
  .feature-panel {
    padding: 29px;
  }
  .evidence-box {
    padding: 26px;
  }
  .evidence-row {
    font-size: 0.82rem;
    gap: 15px;
  }
  .evidence-row b {
    font-size: 0.56rem;
  }
  .quote-card blockquote {
    font-size: 1.3rem;
  }
  .quote-card {
    padding: 30px;
  }
  .check-grid {
    grid-template-columns: 1fr;
  }
  .team-card {
    grid-template-columns: 95px 1fr;
    gap: 8px 18px;
    padding: 21px;
  }
  .team-card .avatar {
    height: 110px;
    grid-row: span 2;
    padding: 11px;
  }
  .team-card .avatar .monogram {
    font-size: 2.65rem;
  }
  .avatar .role-number {
    font-size: 0.5rem;
  }
  .team-card p,
  .team-card .text-link {
    grid-column: 1/-1;
  }
  .team-card h3 {
    font-size: 1.35rem;
  }
  .team-card .role {
    font-size: 0.7rem;
  }
  .team-card p {
    margin-top: 16px;
    font-size: 0.89rem;
  }
  .team-card .text-link {
    margin-top: 7px;
  }
  .profile-panel {
    padding: 33px;
  }
  .profile-panel .monogram {
    font-size: 5rem;
  }
  .profile-line {
    font-size: 0.79rem !important;
  }
  .profile-line span {
    font-size: 0.59rem;
  }
  .page-hero h1 {
    font-size: 3rem;
  }
  .lead {
    font-size: 1.02rem;
  }
  .business-hero h1 {
    font-size: 3.3rem;
  }
  .article-card {
    display: flex;
  }
  .article-art {
    height: 145px;
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .article-art .art-type {
    font-size: 2.3rem;
  }
  .article-body {
    padding: 27px;
  }
  .article-body h3 {
    font-size: 1.45rem;
  }
  .article-text p {
    font-size: 0.98rem;
  }
  .footer {
    padding-top: 44px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
  .footer-brand {
    grid-column: 1/-1;
    margin-bottom: 10px;
  }
  .footer-copy {
    max-width: 330px;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 15px;
  }
  .footer-actions {
    justify-content: space-between;
    width: 100%;
  }
  .pricing-card {
    padding: 30px;
  }
  .pricing-card .price {
    font-size: 3.2rem;
  }
  .data-table th,
  .data-table td {
    padding: 16px;
    font-size: 0.78rem;
  }
  .data-table th {
    font-size: 0.6rem;
  }
  .data-table {
    min-width: 570px;
  }
  .contact-card {
    padding: 26px;
  }
  .field-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .branch-name {
    font-size: 0.67rem;
  }
  .branch-links {
    gap: 10px 15px;
    font-size: 0.65rem;
  }
  .book-visual {
    max-width: 280px;
    padding: 31px;
  }
  .book-visual h3 {
    font-size: 2.7rem;
  }
  .review-dialog {
    padding: 25px;
  }
  .dialog-heading h2 {
    font-size: 1.45rem;
  }
}
@media (max-width: 370px) {
  .home-hero h1 {
    font-size: 2.85rem;
  }
  .home-hero .actions .btn {
    font-size: 0.71rem;
    padding: 12px 13px;
  }
  .container {
    width: calc(100% - 32px);
  }
  .app-status {
    display: none;
  }
  .showcase-caption {
    font-size: 0.44rem;
  }
  .strip-item {
    font-size: 0.6rem;
  }
  .business-hero h1 {
    font-size: 3rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  .btn:hover,
  .business-card:hover,
  .article-card:hover {
    transform: none;
  }
}
@media print {
  .site-header,
  .branch-nav,
  .footer,
  .section-cta,
  .showcase,
  .filter-bar {
    display: none;
  }
  body {
    background: white;
  }
  .container {
    width: 100%;
  }
  .section,
  .page-hero {
    padding: 25px 0;
  }
  .split,
  .grid-2,
  .grid-3 {
    display: block;
  }
  .business-card,
  .feature-panel {
    break-inside: avoid;
    margin-bottom: 20px;
  }
  a {
    text-decoration: underline;
  }
  .section.dark {
    background: white;
    color: var(--ink);
  }
  .section.dark p {
    color: var(--muted);
  }
}

/* Production presentation and responsive layout. */
:root {
  --ink: #12233f;
  --muted: #5c6b80;
  --pine: #285fe5;
  --pine-dark: #0d2857;
  --accent: #81ebf3;
  --cream: #f7f9fc;
  --paper: #fff;
  --line: #dbe5f0;
  --navy: #122a53;
  --blue: #eaf2ff;
  --shadow: 0 24px 65px #12295710;
}
body[data-section="finance"] {
  --ink: #1d3431;
  --muted: #596d67;
  --pine: #155348;
  --pine-dark: #123e38;
  --accent: #cef0de;
  --cream: #f7f8f4;
  --line: #dfe7df;
  --navy: #173e55;
  --blue: #eaf2ef;
}
body[data-section="finance"] .eyebrow .point {
  background: #3766e8;
}
.brand {
  display: flex;
  align-items: center;
  line-height: 1;
  min-width: 170px;
}
.brand-lockup {
  width: 180px;
  height: auto;
  max-width: none;
  object-fit: contain;
  display: block;
}
.site-header {
  background: rgba(249, 251, 255, 0.95);
  border-bottom: 1px solid #dbe4f1;
}
body[data-section="finance"] .site-header {
  background: rgba(247, 249, 245, 0.96);
}
.desktop-nav > a:hover,
.nav-more > summary:hover {
  color: #326af0;
}
.desktop-nav a[aria-current="page"] {
  box-shadow: 0 2px 0 #3a70ed;
}
.header-button {
  background: #2055df;
  border-color: #2055df;
}
.header-button:hover {
  background: #163da4;
}
.footer {
  background: #f0f5fb;
  border-top-color: #dbe5f0;
}
.footer h4 {
  color: #475e7b;
}
.footer-col a {
  color: #4b607a;
}
.footer-bottom {
  border-top-color: #d9e4f2;
  color: #697c92;
}
body[data-section="finance"] .footer {
  background: #f0f3ee;
}
.home-hero {
  background:
    radial-gradient(ellipse 45% 68% at 86% 4%, #e9f1ff 0%, transparent 80%),
    #f7f9fc;
}
.hero-copy h1 .serif,
.home-hero h1 .serif {
  color: #3167eb;
}
.home-hero .hero-note .dash {
  background: #3e7cf0;
}
.business-hero.insurance {
  background:
    radial-gradient(ellipse 56% 100% at 95% 8%, #dfeaff 0%, transparent 72%),
    linear-gradient(120deg, #f7fbff, #edf3fc);
}
.business-hero.insurance .serif,
.page-hero .serif {
  color: #2960cb;
}
.branch-nav {
  background: #fff;
  border-bottom-color: #dbe5f0;
}
body[data-section="insurance"] .branch-name {
  color: #2c5fe4;
}
body[data-section="insurance"] .showcase {
  background: linear-gradient(145deg, #eef4ff, #dce9ff);
  border-color: #c7d8fa;
  box-shadow: 0 26px 65px #123c7d13;
}
body[data-section="insurance"] .app-window {
  border-color: #d1ddf0;
  box-shadow: 0 16px 42px #14396a15;
}
body[data-section="insurance"] .app-kpi em,
body[data-section="insurance"] .micro-tag {
  color: #3169b3;
}
body[data-section="insurance"] .micro-tag {
  background: #e4f0ff;
}
body[data-section="insurance"] .app-row[style*="background"] {
  background: #e8f0ff !important;
}
body[data-section="insurance"] .app-legend i {
  background: #4a76d5;
}
.showcase[data-showcase] {
  isolation: isolate;
}
.app-logo {
  background: transparent;
  flex: none;
  width: 16px;
  height: 19px;
  border-radius: 0;
}
.app-logo .product-mark {
  display: block;
  height: 18px;
  width: 17px;
  object-fit: contain;
}
.app-topbar {
  color: #32476e;
}
body[data-section="finance"] .app-topbar {
  color: #35584d;
}
.btn.navy {
  background: #1c3e71;
  border-color: #1c3e71;
}
body[data-section="insurance"] .btn.navy:hover {
  background: #245bd9;
  border-color: #245bd9;
}
body[data-section="insurance"] .section.soft {
  background: #edf4ff;
}
body[data-section="insurance"] .section.dark {
  background: #0c244d;
}
body[data-section="insurance"] .label.neutral {
  color: #46668b;
  background: #eef5ff;
  border-color: #d3e2fa;
}
body[data-section="insurance"] .feature-panel.focus {
  background: #122e60;
  border-color: #122e60;
}
body[data-section="insurance"] .feature-panel.focus .text-link {
  color: #8deef5;
}
body[data-section="insurance"] .hero-facts span:before {
  color: #316bdf;
}
.home-hero .showcase {
  background: #e8f0fa;
  border-color: #d3e0f3;
}
.home-hero .tab-list {
  background: #dce7f7;
  border-color: #cbd9eb;
}
.home-hero .app-topbar {
  color: #314972;
}
body[data-section="finance"] .home-hero .tab-list {
  background: #e7eeda;
}
body[data-section="finance"] .pricing-card.primary {
  background: #eaf0e4;
}
body[data-section="finance"] .header-button {
  background: #174c4a;
  border-color: #174c4a;
}
body[data-section="finance"] .footer h4 {
  color: #426759;
}
body[data-section="finance"] .footer-col a {
  color: #536b60;
}
/* Insurance journey. Motion is functional, opt-in via JS, and disabled with reduced-motion preferences. */
.insurance-motion-strip {
  position: relative;
  overflow: hidden;
  background: #0c244c;
  color: #deecff;
  border-bottom: 1px solid #224774;
}
.insurance-motion-strip:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 20%,
    #3c84f025 45%,
    transparent 72%
  );
  animation: signalSlide 9s linear infinite;
  pointer-events: none;
}
.insurance-motion-strip > .container {
  min-height: 98px;
  display: flex;
  align-items: center;
  gap: 48px;
  justify-content: space-between;
  position: relative;
}
.flow-label {
  font-size: 0.61rem;
  letter-spacing: 0.15em;
  color: #7dbaf4;
  line-height: 1.5;
  font-weight: 700;
  max-width: 120px;
}
.flow-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  flex: 1;
}
.flow-node {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.77rem;
  letter-spacing: -0.01em;
  white-space: nowrap;
  font-weight: 550;
}
.flow-node b {
  color: #7ad8f5;
  font-size: 0.64rem;
  letter-spacing: 0.07em;
}
.flow-track > i {
  height: 1px;
  min-width: 8px;
  flex: 1;
  background: linear-gradient(90deg, #3163e6, #77d7eb);
  opacity: 0.75;
}
@keyframes signalSlide {
  from {
    transform: translateX(-130%);
  }
  to {
    transform: translateX(140%);
  }
}
body.has-motion [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.65s ease,
    transform 0.65s cubic-bezier(0.21, 0.7, 0.32, 1);
}
body.has-motion [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
body.has-motion .business-hero [data-reveal]:nth-child(2) {
  transition-delay: 0.1s;
}
body[data-section="insurance"] .map-plot svg circle {
  animation: mapGlow 4.5s ease-in-out infinite alternate;
  transform-box: fill-box;
  transform-origin: center;
}
body[data-section="insurance"] .map-plot svg circle:nth-child(even) {
  animation-delay: 1.4s;
}
@keyframes mapGlow {
  0%,
  100% {
    opacity: 0.8;
    transform: scale(0.94);
  }
  50% {
    opacity: 1;
    transform: scale(1.22);
  }
}
/* Decision lab */
.insurance-lab-section {
  background: #081b39;
  color: #f7fbff;
  position: relative;
  overflow: hidden;
  padding: 96px 0 100px;
}
.insurance-lab-section:before {
  content: "";
  position: absolute;
  top: -420px;
  right: -260px;
  width: 980px;
  height: 980px;
  border-radius: 50%;
  background: radial-gradient(circle, #2764d532, transparent 62%);
  pointer-events: none;
}
.insurance-lab-section .container {
  position: relative;
}
.insurance-lab-section .eyebrow {
  color: #9bd7fc;
}
.insurance-lab-section .eyebrow:before {
  content: "";
  background: #52dcf3;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.lab-heading {
  display: flex;
  gap: 55px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 37px;
}
.lab-heading > div {
  flex: 1;
  min-width: 0;
}
.lab-heading h2 {
  max-width: 750px;
  font-size: clamp(2.3rem, 3.9vw, 3.5rem);
}
.lab-heading .serif {
  color: #8fdcef;
}
.lab-heading > p {
  margin: 0 0 2px;
  max-width: 340px;
  line-height: 1.75;
  color: #b2c4df;
  font-size: 0.88rem;
}
.decision-lab {
  display: grid;
  grid-template-columns: 306px minmax(0, 1fr);
  border: 1px solid #28436c;
  border-radius: 16px;
  background: #071733;
  box-shadow: 0 35px 70px #00102f52;
  min-height: 620px;
  overflow: hidden;
}
.decision-sidebar {
  background: linear-gradient(145deg, #132e5b, #0c2349);
  padding: 28px 23px 24px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #27426c;
}
.scenario-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.095em;
  color: #78b9f9;
  margin: 0 0 43px;
}
.scenario-meta > span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.scenario-meta small {
  font-size: 0.56rem;
  white-space: nowrap;
  color: #97aacd;
}
.pulse-pin {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #6ee8e8;
  box-shadow: 0 0 0 4px #1d658e55;
}
.decision-sidebar h3 {
  font-size: 1.43rem;
  color: white;
  letter-spacing: -0.03em;
}
.decision-sidebar > p {
  font-size: 0.76rem;
  line-height: 1.7;
  color: #a8bcdb;
  margin: 12px 0 23px;
}
.scenario-list {
  display: grid;
  gap: 8px;
}
.scenario-choice {
  width: 100%;
  border: 1px solid #33517b;
  background: #0e294f;
  color: #ebf3ff;
  border-radius: 8px;
  padding: 14px 12px;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 12px;
  transition:
    background 0.2s,
    border-color 0.2s,
    transform 0.2s;
}
.scenario-choice:hover {
  background: #1b396b;
  transform: translateX(2px);
}
.scenario-choice[aria-pressed="true"] {
  background: #dceaff;
  color: #102a57;
  border-color: #afc6ff;
  box-shadow: 0 3px 12px #00000024;
}
.choice-number {
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.65;
  align-self: flex-start;
  padding-top: 4px;
}
.choice-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.choice-text strong {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}
.choice-text small {
  font-size: 0.66rem;
  opacity: 0.73;
  line-height: 1.35;
}
.choice-arrow {
  font-size: 1rem;
  opacity: 0.55;
}
.scenario-replay {
  border: 1px solid #43638a;
  color: #d3e9ff;
  background: transparent;
  border-radius: 6px;
  text-align: left;
  font-size: 0.73rem;
  font-weight: 650;
  padding: 12px 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  transition: background 0.2s;
}
.scenario-replay:hover {
  background: #ffffff12;
}
.scenario-replay span:first-child {
  color: #66e7f4;
  font-size: 0.65rem;
}
.scenario-replay[aria-pressed="true"] {
  border-color: #6fcee9;
  background: #143c6c;
}
.lab-editorial {
  display: block;
  color: #8ea7c5;
  font-size: 0.62rem;
  line-height: 1.6;
  margin-top: auto;
  padding-top: 25px;
}
.lab-disc {
  display: inline-block;
  background: #75cdef;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 5px;
}
.decision-dashboard {
  background: #f7faff;
  color: #132743;
  min-width: 0;
}
.lab-toolbar {
  min-height: 56px;
  border-bottom: 1px solid #e1e9f5;
  padding: 13px 27px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  background: #fff;
}
.lab-toolbar-title {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.57rem;
  font-weight: 800;
  letter-spacing: 0.105em;
  color: #23466f;
}
.dashboard-f {
  height: 21px;
  width: 19px;
  object-fit: contain;
}
.lab-toolbar-status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #58779b;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  white-space: nowrap;
}
.lab-toolbar-status i {
  width: 6px;
  height: 6px;
  background: #398ed0;
  border-radius: 50%;
}
.result-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 31px 31px 23px;
}
.result-heading h3 {
  font-size: 1.63rem;
  letter-spacing: -0.04em;
  margin-top: 4px;
}
.result-kicker {
  margin: 0;
  color: #6c85a4;
  font-size: 0.55rem;
  letter-spacing: 0.135em;
  font-weight: 800;
}
.result-tag {
  color: #607a97;
  background: #eaf1fc;
  border: 1px solid #dae7f6;
  border-radius: 4px;
  font-size: 0.59rem;
  padding: 8px 10px;
  text-align: right;
  line-height: 1.4;
}
.metric-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 0 31px 23px;
}
.dynamic-metric {
  padding: 15px 15px 18px;
  background: white;
  border: 1px solid #e3e9f3;
  border-radius: 8px;
  min-width: 0;
  box-shadow: 0 8px 15px #12295005;
}
.metric-top {
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.35;
}
.metric-top > span:first-child {
  font-size: 0.67rem;
  font-weight: 700;
  color: #334d6d;
}
.metric-direction {
  font-size: 0.56rem;
  color: #8492a7;
}
.metric-number {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 14px 0 13px;
  flex-wrap: wrap;
  line-height: 1;
}
.metric-number strong {
  font-size: 2.15rem;
  font-weight: 650;
  letter-spacing: -0.07em;
  color: #1b3f75;
  font-variant-numeric: tabular-nums;
}
.metric-number span {
  font-size: 0.5rem;
  color: #7588a0;
}
.meter-track {
  background: #e6ecf4;
  border-radius: 10px;
  height: 6px;
  overflow: hidden;
}
.meter-track > span {
  display: block;
  height: 100%;
  border-radius: 10px;
  background: linear-gradient(90deg, #3367ff, #58caeb);
  transition: width 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.dynamic-metric:nth-child(2) .meter-track > span {
  background: linear-gradient(90deg, #3c75e7, #7dddec);
}
.dynamic-metric:nth-child(3) .meter-track > span {
  background: linear-gradient(90deg, #4e96da, #52c9cd);
}
.lab-dashboard-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.92fr);
  border-top: 1px solid #e5edf6;
}
.lab-plot-wrap {
  padding: 23px 25px 18px;
  min-width: 0;
}
.plot-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}
.plot-title strong {
  font-size: 0.72rem;
  color: #26446c;
}
.plot-title span {
  font-size: 0.55rem;
  color: #8398ae;
}
.tradeoff-plot {
  display: block;
  width: 100%;
  height: auto;
  max-height: 266px;
}
.plot-grid line {
  stroke: #dfe8f4;
  stroke-width: 1;
}
.axis-copy {
  font-size: 9px;
  fill: #758ba4;
  letter-spacing: 0.04em;
}
.frontier-stroke {
  stroke-dashoffset: 0;
  animation: frontierFlow 20s linear infinite;
}
@keyframes frontierFlow {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -120;
  }
}
.other-points circle {
  fill: #a0b2ce;
}
.selected-point {
  fill: #2e6bfa;
  stroke: #fff;
  stroke-width: 3;
  transition:
    cx 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    cy 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.selected-halo {
  fill: #4a80f42e;
  stroke: #4d80f76b;
  stroke-width: 1;
  transition:
    cx 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    cy 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
  animation: haloBreath 3s ease-in-out infinite;
}
@keyframes haloBreath {
  0%,
  100% {
    r: 17;
    opacity: 0.65;
  }
  50% {
    r: 22;
    opacity: 1;
  }
}
.plot-footnote {
  font-size: 0.55rem;
  color: #8396ad;
  margin-top: -1px;
  line-height: 1.6;
}
.lab-insight {
  border-left: 1px solid #e4ebf5;
  background: linear-gradient(180deg, #f4f8ff, #edf3fb);
  padding: 25px 23px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.insight-eyebrow {
  font-size: 0.58rem;
  color: #6583ae;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.insight-symbol {
  height: 52px;
  width: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #deecff;
  color: #285fe5;
  margin-top: 25px;
  margin-bottom: 20px;
  font-size: 1.3rem;
}
.lab-insight h4 {
  font-size: 1.15rem;
  letter-spacing: -0.03em;
}
.lab-insight p {
  font-size: 0.71rem;
  line-height: 1.75;
  color: #61748c;
  margin: 12px 0 20px;
  min-height: 68px;
}
.insight-foot {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid #dbe4ef;
  font-size: 0.62rem;
  color: #486484;
  margin-top: auto;
}
.insight-foot + .insight-foot {
  margin-top: 0;
}
.insight-foot span {
  color: #3471da;
  font-size: 0.55rem;
}
.insight-foot b {
  font-weight: 650;
}
.lab-after {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 28px;
}
.lab-after p {
  margin: 0;
  color: #a9bcda;
  font-size: 0.79rem;
  line-height: 1.75;
  max-width: 680px;
}
.lab-after p strong {
  color: #fff;
  font-weight: 650;
}
.lab-after a {
  color: #84d8f2;
  flex: none;
}
/* Adapt everything from full desktop down to smaller phones. */
@media (max-width: 1150px) {
  .brand-lockup {
    width: 162px;
  }
  .flow-label {
    max-width: 105px;
  }
  .insurance-motion-strip > .container {
    gap: 24px;
  }
  .flow-track {
    gap: 8px;
  }
  .flow-node {
    font-size: 0.7rem;
  }
  .decision-lab {
    grid-template-columns: 268px minmax(0, 1fr);
  }
  .decision-sidebar {
    padding: 23px 17px;
  }
  .metric-trio {
    padding-inline: 20px;
  }
  .result-heading {
    padding-inline: 20px;
  }
  .lab-plot-wrap {
    padding: 19px 17px;
  }
  .lab-insight {
    padding: 21px 16px;
  }
}
@media (max-width: 950px) {
  .brand-lockup {
    width: 153px;
  }
  .flow-label {
    display: none;
  }
  .insurance-motion-strip > .container {
    min-height: 70px;
  }
  .flow-node {
    font-size: 0.65rem;
  }
  .decision-lab {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .scenario-choice {
    gap: 8px;
    padding: 12px 10px;
  }
  .result-tag {
    display: none;
  }
  .metric-trio {
    gap: 7px;
  }
  .dynamic-metric {
    padding: 10px;
  }
  .metric-number strong {
    font-size: 1.7rem;
  }
  .lab-heading {
    gap: 25px;
  }
  .lab-insight p {
    min-height: 0;
  }
}
@media (max-width: 780px) {
  .brand-lockup {
    width: 159px;
  }
  .insurance-motion-strip {
    overflow: auto;
  }
  .flow-track {
    min-width: 665px;
  }
  .insurance-motion-strip > .container {
    width: auto;
    margin-left: 25px;
    margin-right: 25px;
  }
  .insurance-lab-section {
    padding: 76px 0;
  }
  .lab-heading {
    display: block;
  }
  .lab-heading > p {
    margin-top: 20px;
    max-width: 670px;
  }
  .decision-lab {
    grid-template-columns: 1fr;
  }
  .decision-sidebar {
    border-right: 0;
    border-bottom: 1px solid #2a4878;
    display: block;
  }
  .scenario-meta {
    margin: 0 0 16px;
  }
  .decision-sidebar h3 {
    font-size: 1.3rem;
  }
  .decision-sidebar > p {
    margin: 9px 0 18px;
  }
  .scenario-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scenario-replay {
    margin-top: 14px;
  }
  .lab-editorial {
    padding-top: 12px;
  }
  .lab-dashboard-bottom {
    grid-template-columns: 1fr 1fr;
  }
  .lab-insight {
    padding: 18px;
  }
  .insight-symbol {
    margin: 15px 0;
  }
  .result-heading {
    padding-block: 25px 20px;
  }
  .lab-after {
    display: block;
  }
  .lab-after a {
    margin-top: 15px;
  }
}
@media (max-width: 560px) {
  .insurance-lab-section {
    padding: 59px 0;
  }
  .lab-heading h2 {
    font-size: 2.3rem;
  }
  .scenario-list {
    gap: 6px;
  }
  .scenario-choice {
    padding: 12px 9px;
    min-height: 68px;
  }
  .choice-number,
  .choice-arrow {
    display: none;
  }
  .choice-text strong {
    font-size: 0.7rem;
  }
  .choice-text small {
    font-size: 0.57rem;
  }
  .lab-toolbar {
    padding: 11px 14px;
  }
  .lab-toolbar-title {
    font-size: 0.52rem;
  }
  .lab-toolbar-status {
    font-size: 0.45rem;
  }
  .result-heading {
    padding: 22px 16px;
  }
  .result-heading h3 {
    font-size: 1.4rem;
  }
  .metric-trio {
    padding: 0 13px 19px;
    gap: 6px;
  }
  .dynamic-metric {
    padding: 10px 8px;
  }
  .metric-number strong {
    font-size: 1.65rem;
  }
  .metric-number span {
    font-size: 0.47rem;
  }
  .metric-top > span:first-child {
    font-size: 0.58rem;
  }
  .metric-direction {
    font-size: 0.49rem;
  }
  .meter-track {
    height: 5px;
  }
  .lab-dashboard-bottom {
    grid-template-columns: 1fr;
  }
  .lab-insight {
    border-left: 0;
    border-top: 1px solid #dce6f2;
    display: block;
  }
  .insight-symbol {
    display: none;
  }
  .lab-insight h4 {
    margin-top: 12px;
  }
  .lab-insight p {
    margin-bottom: 10px;
  }
  .lab-plot-wrap {
    padding: 17px 13px;
  }
  .lab-after p {
    font-size: 0.72rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .insurance-motion-strip:before,
  .frontier-stroke,
  .selected-halo,
  body[data-section="insurance"] .map-plot svg circle {
    animation: none !important;
  }
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  .meter-track > span,
  .selected-point,
  .selected-halo {
    transition: none !important;
  }
}

/* Production presentation and responsive layout. */
:root {
  --focus: #1861dc;
  --ease-out: cubic-bezier(0.22, 0.68, 0.28, 1);
  --header-height: 88px;
}
html {
  scroll-padding-top: calc(var(--header-height) + 24px);
}
body {
  overflow-x: clip;
}
h1,
h2,
h3 {
  text-wrap: balance;
}
p.lead,
.body-copy,
.footer-copy {
  text-wrap: pretty;
}
button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}
:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.site-header {
  transition:
    box-shadow 0.25s ease,
    background 0.25s ease;
}
.site-header.is-scrolled {
  box-shadow: 0 5px 28px #0d28570c;
  background: rgba(249, 251, 255, 0.98);
}
body[data-section="finance"] .site-header.is-scrolled {
  background: rgba(247, 249, 245, 0.98);
}
.brand-lockup {
  aspect-ratio: 320/81;
}
.desktop-nav > a {
  position: relative;
  padding: 10px 0;
  line-height: 1.2;
}
.desktop-nav a[aria-current="page"] {
  box-shadow: none;
  padding-bottom: 10px;
}
.desktop-nav > a[aria-current="page"]:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: #326af0;
}
.nav-more[open] .dropdown {
  animation: menu-in 0.16s var(--ease-out);
}
.dropdown {
  z-index: 4;
  border-color: #d8e3f3;
  box-shadow: 0 18px 45px #122a5315;
}
.dropdown a {
  min-height: 42px;
  display: flex;
  align-items: center;
}
.dropdown a:focus-visible {
  outline-offset: -3px;
}
.menu-toggle {
  transition:
    background 0.2s,
    border-color 0.2s;
}
.menu-toggle:hover {
  background: #eaf1fd;
  border-color: #aec7ee;
}
.mobile-menu {
  max-height: calc(100dvh - var(--header-height));
  overflow: auto;
  overscroll-behavior: contain;
}
.mobile-menu a[aria-current="page"] {
  color: var(--pine);
  font-weight: 700;
}
.branch-links a {
  padding-block: 9px;
  line-height: 1.4;
}
.btn {
  transition:
    background 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.btn .arrow,
.text-link .arrow {
  display: inline-block;
  transition: transform 0.2s var(--ease-out);
}
.btn:hover .arrow,
.text-link:hover .arrow {
  transform: translate(2px, -2px);
}
.btn:active {
  transform: translateY(0);
}
body:not([data-section="finance"]) .btn.outline {
  border-color: #b2c5e2;
}
body:not([data-section="finance"]) .btn.outline:hover {
  background: #e8f0ff;
  border-color: #779be2;
}
body:not([data-section="finance"]) .strip {
  background: #eef3fb;
  border-color: #dbe6f4;
}
body:not([data-section="finance"]) .strip-intro {
  color: #5a6d86;
}
body:not([data-section="finance"]) .section.soft {
  background: #eef4fc;
}
body:not([data-section="finance"]) .evidence-box {
  background: #eef4fc;
  border-color: #d9e4f2;
}
body:not([data-section="finance"]) .evidence-row {
  border-color: #d4e1f0;
}
body:not([data-section="finance"]) .evidence-row b {
  color: #3b6391;
}
body:not([data-section="finance"]) .hero-note {
  color: #5c708d;
}
.showcase {
  transition:
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}
.showcase-top {
  min-height: 32px;
}
.preview-foot {
  color: #556982;
  line-height: 1.6;
}
.showcase-caption {
  color: #52677f;
}
.showcase [data-preview="insurance"][aria-selected="true"] {
  color: #154784;
}
.app-window {
  border-radius: 11px;
}
.app-kpi b,
.app-row b,
.metric-number strong,
.comparison-table td {
  font-variant-numeric: tabular-nums;
}
.insurance-preview .app-title small,
.insurance-preview .app-status,
.insurance-preview .kpi-label,
.insurance-preview .app-card-heading,
.insurance-preview .app-row,
.insurance-preview .app-legend {
  color: #526880;
}
.insurance-preview .app-kpi {
  background: #f7faff;
  border-color: #dce6f3;
}
.insurance-preview .app-kpi em {
  color: #3166a3;
}
.insurance-preview .app-kpi b > span {
  color: #627b98 !important;
}
.insurance-preview .micro-tag {
  background: #e5efff;
  color: #285f9e;
}
.insurance-preview .app-card {
  border-color: #d9e4f1;
}
.insurance-preview .app-row b {
  color: #193c6e;
}
.insurance-preview .app-row[style*="background"] {
  background: #e8f1ff !important;
}
.insurance-preview .map-plot {
  background: #edf4fd;
  background-image:
    linear-gradient(#dbe7f54d 1px, transparent 1px),
    linear-gradient(90deg, #dbe7f54d 1px, transparent 1px);
  background-size: 16px 16px;
}
.insurance-preview .map-plot svg > path {
  fill: #dce9fb;
  stroke: #9cbce8;
}
.insurance-preview .map-plot svg > g[fill]:not([fill="none"]) {
  fill: #5084d5;
}
.insurance-preview .map-plot svg > g[fill="none"] {
  stroke: #a4bce7;
}
.insurance-preview .app-legend i {
  background: #5283d9;
}
body[data-section="finance"] .preview-foot,
body[data-section="finance"] .showcase-caption {
  color: #587263;
}
.hero-explorer-link {
  gap: 10px;
}
.hero-explorer-link .arrow {
  transform: rotate(90deg);
}
.hero-explorer-link:hover .arrow {
  transform: rotate(90deg) translate(2px, -2px);
}
.scenario-jump:focus {
  outline-offset: 8px;
}
.insurance-motion-strip > .container {
  gap: 30px;
}
.flow-node b {
  font-variant-numeric: tabular-nums;
}
.flow-label {
  color: #a0c7f6;
}
.insurance-lab-section {
  background: #081b39;
}
.lab-heading > p {
  color: #bdcce3;
  font-size: 0.94rem;
}
.decision-lab {
  border-color: #345580;
  box-shadow: 0 30px 70px #000f2b2e;
}
.scenario-meta {
  font-size: 0.6rem;
  color: #9fd3ff;
  margin-bottom: 28px;
}
.scenario-meta small {
  font-size: 0.61rem;
  color: #afc3e2;
  font-variant-numeric: tabular-nums;
}
.decision-sidebar > p {
  color: #bfd0e7;
  font-size: 0.8rem;
}
.scenario-choice {
  padding: 14px 12px;
  min-height: 72px;
}
.choice-text strong {
  font-size: 0.8rem;
}
.choice-text small {
  font-size: 0.7rem;
  opacity: 0.84;
}
.scenario-choice:focus-visible {
  outline-color: #80e4f4;
  outline-offset: 3px;
}
.scenario-choice[aria-pressed="true"] {
  background: #e9f2ff;
  border-color: #8acdf7;
}
.scenario-choice[aria-pressed="true"] .choice-arrow {
  opacity: 1;
  color: #205ed2;
}
.scenario-choice[aria-pressed="true"] .choice-number {
  opacity: 0.85;
}
.scenario-replay {
  min-height: 44px;
  position: relative;
  overflow: hidden;
  border-color: #52749d;
}
.scenario-replay:after {
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background: #78e5f4;
}
.scenario-replay[data-running="true"]:after {
  animation: tour-timing 4.2s linear infinite;
}
@keyframes tour-timing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.lab-motion-button {
  background: none;
  border: 0;
  border-radius: 4px;
  color: #a6c2e4;
  min-height: 38px;
  text-align: left;
  padding: 7px 0;
  font-size: 0.7rem;
  margin-top: 3px;
}
.lab-motion-button:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.lab-editorial {
  font-size: 0.66rem;
  color: #b1c7e3;
  line-height: 1.7;
  padding-top: 16px;
}
.lab-toolbar {
  min-height: 51px;
}
.lab-toolbar-title {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}
.lab-toolbar-status {
  font-size: 0.58rem;
  color: #4e6b90;
}
.result-heading {
  padding-top: 28px;
}
.result-kicker {
  font-size: 0.6rem;
  color: #546e8e;
  letter-spacing: 0.11em;
}
.result-tag {
  font-size: 0.66rem;
  color: #47617f;
}
.metric-top > span:first-child {
  font-size: 0.74rem;
  color: #314c70;
}
.metric-direction {
  font-size: 0.64rem;
  color: #5f728a;
}
.metric-top {
  min-height: 36px;
  gap: 5px;
}
.metric-number {
  margin: 16px 0 14px;
  min-height: 36px;
}
.metric-number span {
  font-size: 0.59rem;
  color: #5e7591;
}
.metric-number strong {
  font-size: 2.25rem;
  letter-spacing: -0.045em;
}
.dynamic-metric {
  border-color: #d9e5f3;
  border-radius: 9px;
  padding-bottom: 13px;
}
.meter-track {
  position: relative;
  overflow: visible;
  background: #e4ecf7;
  height: 6px;
}
.meter-track:after {
  content: "";
  position: absolute;
  left: 83.3333%;
  top: -3px;
  bottom: -3px;
  width: 1px;
  background: #5d789c;
  z-index: 1;
}
.metric-delta {
  font-size: 0.65rem;
  color: #4d6787;
  line-height: 1.4;
  margin-top: 10px;
  min-height: 18px;
  display: block;
}
.plot-title {
  flex-wrap: wrap;
  gap: 5px;
}
.plot-title strong {
  font-size: 0.8rem;
}
.plot-title span {
  font-size: 0.65rem;
  color: #59728f;
}
.plot-footnote {
  font-size: 0.64rem;
  line-height: 1.65;
  color: #586f8a;
}
.axis-copy {
  fill: #4c6789;
  font-size: 9px;
}
.axis-ticks {
  fill: #557295;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.lab-insight {
  background: linear-gradient(160deg, #f3f8ff, #ecf3fd);
}
.insight-eyebrow {
  color: #4c6c98;
  font-size: 0.62rem;
}
.insight-symbol {
  margin: 20px 0 17px;
  height: 44px;
  width: 44px;
}
.lab-insight p {
  font-size: 0.79rem;
  color: #4b6482;
  min-height: 102px;
}
.insight-foot {
  font-size: 0.68rem;
  color: #37577e;
  line-height: 1.5;
}
.insight-foot span {
  font-size: 0.61rem;
}
.lab-after p {
  font-size: 0.86rem;
  color: #b8cae2;
}
.scenario-comparison {
  margin-top: 18px;
  border: 1px solid #31517b;
  border-radius: 10px;
  background: #10284b;
  color: #dceaff;
  overflow: hidden;
}
.scenario-comparison > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 16px 20px;
  font-size: 0.82rem;
  font-weight: 650;
}
.scenario-comparison > summary::-webkit-details-marker {
  display: none;
}
.scenario-comparison > summary:after {
  content: "+";
  font-size: 1.3rem;
  color: #8de3f4;
  font-weight: 400;
}
.scenario-comparison[open] > summary:after {
  content: "-";
}
.scenario-comparison > summary:focus-visible {
  outline-offset: -4px;
}
.comparison-meta {
  font-size: 0.67rem;
  color: #adbfda;
  font-weight: 450;
  margin-left: auto;
}
.comparison-scroll {
  overflow-x: auto;
  border-top: 1px solid #31517b;
}
.comparison-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 565px;
  text-align: left;
}
.comparison-table caption {
  padding: 13px 20px;
  text-align: left;
  font-size: 0.7rem;
  color: #aec5e4;
}
.comparison-table th {
  font-size: 0.68rem;
  color: #b8cdeb;
  font-weight: 600;
  padding: 10px 20px;
  border-bottom: 1px solid #345173;
  white-space: nowrap;
}
.comparison-table td {
  padding: 12px 20px;
  font-size: 0.8rem;
  border-bottom: 1px solid #2b4566;
  color: #eaf2fe;
}
.comparison-table tr:last-child td {
  border-bottom: 0;
}
.comparison-table td:not(:first-child),
.comparison-table th:not(:first-child) {
  text-align: right;
}
.comparison-table tr[data-active="true"] {
  background: #244976;
}
.comparison-table tr[data-active="true"] td:first-child:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 8px;
  border-radius: 50%;
  background: #80e6f2;
  vertical-align: middle;
}
.comparison-note {
  padding: 14px 20px 18px;
  font-size: 0.72rem;
  color: #b3c8e4;
  margin: 0;
  line-height: 1.65;
}
.motion-toggle {
  font: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  color: #50698a;
  font-size: 0.72rem;
  min-height: 34px;
  padding: 5px 0;
  border-radius: 3px;
}
.motion-toggle:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-actions {
  flex-wrap: wrap;
  gap: 20px;
}
.footer-col a {
  min-height: 34px;
  line-height: 1.5;
}
.footer-copy {
  color: #566c86;
}
.concept-badge {
  font-size: 0.6rem;
  letter-spacing: 0.09em;
}
.review-dialog {
  max-height: 85dvh;
  overflow: auto;
  border: 1px solid #cbdbee;
  border-radius: 16px;
  box-shadow: 0 36px 120px #06173240;
}
.review-dialog::backdrop {
  background: #071b3b75;
  backdrop-filter: blur(4px);
}
.dialog-close {
  width: 40px;
  height: 40px;
  min-width: 40px;
}
.form-result {
  overflow-wrap: anywhere;
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--pine);
  box-shadow: 0 0 0 3px #346df212;
}
input,
select,
textarea {
  border-radius: 7px;
}
.route-enter {
  animation: route-finish 0.28s ease-out;
}
@keyframes route-finish {
  from {
    opacity: 0.75;
  }
  to {
    opacity: 1;
  }
}
@keyframes menu-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
body[data-motion="off"] *,
body[data-motion="off"] *:before,
body[data-motion="off"] *:after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
body[data-motion="off"] [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
}
html.no-motion {
  scroll-behavior: auto;
}
@media (min-width: 1151px) {
  .business-hero.insurance {
    padding-block: 76px 80px;
  }
  .business-hero.insurance h1 {
    font-size: clamp(3.5rem, 5.1vw, 4.7rem);
    line-height: 1.07;
  }
  .business-hero.insurance .lead {
    max-width: 585px;
  }
}
@media (min-width: 801px) and (max-width: 1100px) {
  .lab-dashboard-bottom {
    grid-template-columns: 1fr;
  }
  .lab-insight {
    border-left: 0;
    border-top: 1px solid #dce6f2;
  }
  .insight-symbol {
    display: none;
  }
  .lab-insight h4 {
    margin-top: 13px;
  }
  .lab-insight p {
    min-height: 0;
  }
}
@media (max-width: 800px) {
  :root {
    --header-height: 76px;
  }
  .header-inner {
    height: 76px;
  }
  .menu-toggle[aria-expanded="true"] {
    background: #e5edfa;
  }
  .branch-links {
    gap: 4px 17px;
  }
  .branch-links a {
    padding-block: 6px;
  }
  .brand-lockup {
    width: 158px;
  }
  .business-hero h1 {
    max-width: 690px;
  }
  .insurance-motion-strip {
    overflow: hidden;
  }
  .insurance-motion-strip > .container {
    margin: 0 auto;
    width: calc(100% - 48px);
    min-height: unset;
    padding: 22px 0;
  }
  .flow-track {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }
  .flow-track > i {
    display: none;
  }
  .flow-node {
    font-size: 0.76rem;
  }
  .flow-node b {
    font-size: 0.64rem;
  }
  .lab-insight p {
    min-height: 0;
  }
  .scenario-meta {
    margin-bottom: 16px;
  }
  .lab-motion-button {
    display: inline-block;
    margin-left: 18px;
  }
  .scenario-replay {
    display: inline-flex;
  }
  .metric-top {
    min-height: 36px;
  }
  .footer-actions {
    gap: 8px 20px;
  }
  .lab-heading > p {
    max-width: 580px;
  }
}
@media (max-width: 560px) {
  h1 {
    letter-spacing: -0.048em;
  }
  .section-header {
    gap: 22px;
  }
  .brand-lockup {
    width: 155px;
  }
  .mobile-menu a {
    min-height: 48px;
  }
  .hero-explorer-link {
    margin-left: 0 !important;
    font-size: 0.85rem;
  }
  .business-hero.insurance .actions {
    gap: 17px;
  }
  .business-hero.insurance .actions .btn {
    width: 100%;
    max-width: 365px;
  }
  .decision-sidebar {
    padding: 22px 17px 20px;
  }
  .choice-text strong {
    font-size: 0.76rem;
  }
  .choice-text small {
    font-size: 0.65rem;
    line-height: 1.4;
  }
  .scenario-choice {
    padding: 12px 10px;
    min-height: 78px;
  }
  .scenario-replay {
    font-size: 0.75rem;
    min-height: 44px;
    margin-top: 18px;
  }
  .lab-motion-button {
    display: block;
    margin: 2px 0 0;
  }
  .lab-toolbar-title {
    font-size: 0.54rem;
    letter-spacing: 0.06em;
  }
  .lab-toolbar-status {
    font-size: 0.48rem;
    letter-spacing: 0.04em;
  }
  .result-kicker {
    font-size: 0.6rem;
  }
  .result-heading {
    padding: 23px 16px 19px;
  }
  .metric-trio {
    gap: 6px;
    padding: 0 12px 22px;
  }
  .dynamic-metric {
    padding: 12px 8px 10px;
  }
  .metric-top > span:first-child {
    font-size: 0.67rem;
    min-height: 27px;
    line-height: 1.3;
  }
  .metric-direction {
    font-size: 0.58rem;
    line-height: 1.4;
    min-height: 27px;
  }
  .metric-number {
    gap: 4px;
    min-height: 42px;
    margin: 8px 0 12px;
  }
  .metric-number strong {
    font-size: 1.85rem;
  }
  .metric-number span {
    font-size: 0.54rem;
  }
  .metric-delta {
    font-size: 0.58rem;
    min-height: 26px;
    line-height: 1.45;
  }
  .plot-title strong {
    font-size: 0.76rem;
  }
  .plot-title span {
    font-size: 0.62rem;
  }
  .lab-plot-wrap {
    padding: 20px 14px;
  }
  .plot-footnote {
    font-size: 0.63rem;
  }
  .lab-insight {
    padding: 23px 19px;
  }
  .insight-eyebrow {
    font-size: 0.65rem;
  }
  .lab-insight h4 {
    font-size: 1.18rem;
  }
  .lab-insight p {
    font-size: 0.82rem;
    line-height: 1.75;
  }
  .insight-foot {
    font-size: 0.7rem;
  }
  .comparison-meta {
    display: none;
  }
  .scenario-comparison > summary {
    font-size: 0.78rem;
    padding: 14px 16px;
  }
  .lab-after p {
    font-size: 0.83rem;
  }
  .lab-after a {
    font-size: 0.85rem;
  }
  .footer-bottom {
    gap: 20px;
  }
  .footer-actions {
    align-items: center;
    justify-content: flex-start;
    gap: 12px 20px;
  }
  .form-note {
    font-size: 0.78rem;
    line-height: 1.65;
  }
  .fine {
    font-size: 0.74rem;
  }
  .flow-node {
    font-size: 0.71rem;
    gap: 9px;
  }
  .lab-heading h2 {
    font-size: 2.35rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media print {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  .insurance-motion-strip,
  .scenario-replay,
  .lab-motion-button,
  .lab-after,
  .scenario-comparison > summary {
    display: none;
  }
  .scenario-comparison {
    background: white;
    color: #111;
  }
  .scenario-comparison .comparison-scroll {
    display: block !important;
  }
  .decision-lab {
    break-inside: avoid;
    box-shadow: none;
  }
  .insurance-lab-section {
    color: #111;
    background: white;
  }
  .insurance-lab-section .lab-heading p,
  .insurance-lab-section .lab-heading h2,
  .insurance-lab-section .lab-heading .eyebrow {
    color: #111;
  }
}

/* Production presentation and responsive layout. */
:root {
  --focus: #245ad7;
  --small-text: #526882;
  --body-leading: 1.72;
}
body.dialog-open {
  overflow: hidden;
}
main:focus {
  outline: none;
}
.home-hero {
  padding: 64px 0 60px;
}
.home-hero .split {
  gap: 54px;
  grid-template-columns: 1.04fr 1fr;
}
.home-hero .lead {
  font-size: 1.075rem;
  line-height: 1.75;
  max-width: 530px;
}
.home-hero .eyebrow {
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  line-height: 1.6;
}
.hero-note {
  font-size: 0.74rem;
  line-height: 1.6;
}
.section-header .body-copy {
  font-size: 0.98rem;
  line-height: 1.75;
}
.eyebrow {
  letter-spacing: 0.13em;
}
.desktop-nav > a,
.nav-more > summary {
  font-size: 0.84rem;
}
.desktop-nav {
  gap: 27px;
}
.header-button {
  min-height: 46px;
  font-size: 0.8rem;
}
[data-company-nav][data-active="true"] {
  color: #245dde;
}
.branch-inner {
  min-height: 54px;
}
.branch-links {
  gap: 21px;
}
.branch-links a {
  font-size: 0.76rem;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
}
.branch-links a[aria-current="page"] {
  border-bottom-color: var(--pine);
}
.business-card-refined {
  padding: 35px;
  border-radius: 15px;
}
.business-card-refined .card-top {
  margin-bottom: 31px;
  gap: 15px;
}
.business-card-refined .card-number {
  font-size: 0.68rem;
  line-height: 1.5;
  text-align: right;
  max-width: 145px;
}
.business-card-refined h3 {
  font-size: 2.15rem;
  line-height: 1.17;
  letter-spacing: -0.042em;
  max-width: 440px;
}
.business-card-refined .body-copy {
  line-height: 1.75;
  min-height: 106px;
}
.business-card-refined .card-bottom {
  margin-top: 29px;
  padding-top: 21px;
}
.business-card-refined .card-bottom a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 650;
}
.business-card-refined.insurance-card {
  background: linear-gradient(145deg, #fff 30%, #f3f7ff);
  border-color: #d5e2f6;
}
.insurance-card .eyebrow {
  color: #245fde;
}
.insurance-card .card-number {
  color: #647893;
}
.insurance-card .card-features span {
  background: #f2f6fd;
  border-color: #d9e5f5;
  color: #4c6586;
}
.insurance-card .mini-process span {
  background: #eaf2ff;
  border-color: #d7e5f9;
  color: #305685;
}
.insurance-card .mini-process b {
  color: #5980b3;
}
.insurance-card .circle-arrow {
  color: #245fe0;
  border-color: #bfd2f0;
  background: #fff;
}
.business-card.finance {
  background: linear-gradient(150deg, #f0f6ef, #e9f1e8);
  border-color: #d3e1d4;
  color: #193c33;
}
.business-card.finance .eyebrow {
  color: #1f6556;
}
.business-card.finance .card-number {
  color: #5b786c;
}
.business-card.finance .body-copy {
  color: #4d6b5f;
}
.business-card.finance .card-features span {
  background: #f6faf4;
  color: #4c6e5b;
  border-color: #cfddcb;
}
.business-card.finance .mini-process span {
  background: #f7faf4;
  color: #355d47;
  border-color: #d7e2d0;
}
.business-card.finance .circle-arrow {
  color: #255e4c;
  background: #fff;
  border-color: #c2d4c0;
}
.mini-process span {
  font-family: var(--font);
  font-size: 0.74rem;
  font-weight: 550;
  line-height: 1.4;
}
.mini-process b {
  font-size: 0.82rem;
}
.card-features span {
  font-size: 0.71rem;
  padding: 6px 9px;
}
.principle .number {
  color: #a3b9d6;
  font-size: 0.71rem;
}
.section.dark .principle p,
.section.dark .body-copy {
  color: #c4d3e6;
}
.principle h3 {
  line-height: 1.32;
}
.leadership-proof {
  padding: 30px 33px;
  background: #fff !important;
  border-radius: 14px;
  box-shadow: 0 16px 45px #14376408;
}
.leadership-proof > .eyebrow {
  font-size: 0.64rem;
  line-height: 1.5;
  margin-bottom: 18px;
}
.leader-proof-row {
  display: grid;
  grid-template-columns: 42px 1fr 20px;
  gap: 15px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid #dce6f2;
}
.leader-proof-row:hover strong {
  color: #2c61d7;
}
.leader-proof-row strong {
  display: block;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
.leader-proof-row small {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #49627e;
  margin: 3px 0;
}
.leader-remit {
  display: block;
  font-size: 0.73rem;
  color: #647893;
  line-height: 1.5;
}
.leader-initial {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #edf3fe;
  color: #3663a4;
  font-size: 0.75rem;
  font-weight: 700;
}
.leader-proof-row .arrow {
  color: #3164d3;
}
.showcase {
  padding: 18px;
  box-shadow: 0 18px 46px #17355b0d;
}
.showcase-top {
  margin-bottom: 17px;
}
.showcase-caption {
  font-size: 0.6rem;
  letter-spacing: 0.07em;
  line-height: 1.45;
}
.tab-list button {
  font-size: 0.78rem;
  min-height: 39px;
  padding: 9px 17px;
}
.preview-foot {
  font-size: 0.64rem;
  line-height: 1.5;
  margin-top: 14px;
  align-items: flex-start;
  gap: 16px;
}
.preview-foot > span:first-child {
  white-space: nowrap;
}
.preview-foot > span:last-child {
  text-align: right;
  max-width: 270px;
}
.preview-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 2px 0;
}
.preview-action .text-link {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #26569e;
  gap: 8px;
}
.preview-type {
  font-size: 0.62rem;
  color: #536b89;
  text-align: right;
  line-height: 1.5;
}
.showcase[data-active-preview="finance"] {
  background: #edf3eb;
  border-color: #d1dfd0;
}
.showcase[data-active-preview="finance"] .preview-action .text-link {
  color: #235d49;
}
.showcase[data-active-preview="finance"] .preview-type {
  color: #516d5e;
}
.showcase[data-active-preview="finance"] .tab-list {
  background: #dfe9dc;
  border-color: #cddcc9;
}
.showcase[data-active-preview="finance"]
  .tab-list
  button[aria-selected="true"] {
  color: #205541;
}
.app-topbar {
  font-size: 0.69rem;
  padding: 15px 17px;
  line-height: 1.4;
}
.app-topbar .app-status {
  font-size: 0.61rem;
}
.app-content {
  padding: 19px;
}
.app-title {
  margin-bottom: 18px;
}
.app-title strong {
  font-size: 0.96rem;
  line-height: 1.35;
}
.app-title small {
  font-size: 0.66rem;
  line-height: 1.5;
  margin-top: 5px;
}
.micro-tag {
  font-size: 0.62rem;
  padding: 6px 8px;
  line-height: 1.4;
}
.app-kpis {
  gap: 10px;
  margin-bottom: 17px;
}
.app-kpi {
  padding: 13px 11px;
}
.app-kpi .kpi-label {
  font-size: 0.66rem;
  line-height: 1.4;
  margin-bottom: 7px;
}
.app-kpi b {
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.04em;
}
.app-kpi em {
  font-size: 0.62rem;
  line-height: 1.4;
  margin-top: 7px;
}
.app-bottom {
  gap: 12px;
  grid-template-columns: 0.9fr 1.12fr;
}
.app-card {
  padding: 12px;
}
.app-card-heading {
  font-size: 0.62rem;
  line-height: 1.5;
  gap: 10px;
  margin-bottom: 12px;
}
.app-row {
  font-size: 0.62rem;
  line-height: 1.6;
  gap: 8px;
}
.app-row b {
  font-size: inherit;
}
.app-rows {
  gap: 10px;
}
.app-legend {
  font-size: 0.57rem;
  line-height: 1.5;
  flex-wrap: wrap;
  gap: 3px 9px;
}
.map-plot,
.map-plot svg {
  min-height: 108px;
  height: 108px;
}
.finance-preview .app-topbar {
  color: #365c4b;
}
.finance-preview .app-status,
.finance-preview .app-title small,
.finance-preview .kpi-label,
.finance-preview .app-card-heading,
.finance-preview .app-row,
.finance-preview .app-legend {
  color: #4e6c5b;
}
.finance-preview .app-kpi {
  background: #f7faf3;
  border-color: #dfe7d8;
}
.finance-preview .app-kpi em {
  color: #42664b;
}
.finance-preview .app-row b {
  color: #2e563d;
}
.finance-preview .micro-tag {
  color: #3a6549;
  background: #eef4e6;
}
.finance-preview .app-card {
  border-color: #dce5d6;
}
.finance-preview .app-title strong {
  color: #234835;
}
.finance-preview .app-logo {
  background: transparent;
}
body[data-section="finance"] .business-hero .lead {
  max-width: 590px;
}
body[data-section="finance"] .fine .text-link {
  font-size: inherit;
  gap: 5px;
  font-weight: 550;
}
body[data-section="finance"] .section.soft .lead {
  font-size: 1.03rem;
  line-height: 1.75;
}
.book-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.book-topics span {
  font-size: 0.74rem;
  background: #edf3e9;
  color: #48634d;
  border: 1px solid #d6e3d0;
  border-radius: 5px;
  padding: 5px 10px;
}
.book-interest {
  border-top: 1px solid var(--line);
  padding-top: 24px;
  margin-top: 27px;
  max-width: 510px;
}
.book-interest strong {
  font-size: 1.05rem;
  font-weight: 650;
}
.book-interest p {
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 10px;
  margin-bottom: 12px;
}
.book-interest .text-link {
  color: #215948;
}
.pending-endorsements {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.pending-endorsements summary {
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.6;
}
.pending-endorsements .quote-card {
  padding: 20px;
  margin: 15px 0;
}
.pending-endorsements .quote-card blockquote {
  font-size: 1.02rem;
  line-height: 1.65;
  font-family: var(--font);
}
.pending-endorsements .quote-mark {
  display: none;
}
.contact-card h3 {
  font-size: 1.85rem;
}
.contact-card .label {
  font-size: 0.65rem;
  color: #396099;
  background: #edf4ff;
  border-color: #d4e3f9;
}
.inquiry-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.inquiry-actions .btn {
  font-size: 0.77rem;
  padding: 12px 15px;
  min-height: 45px;
}
#copy-status:empty {
  display: none;
}
#copy-status {
  margin-top: 15px;
  margin-bottom: 0;
}
.form-note {
  line-height: 1.75;
}
.footer h4 {
  font-size: 0.73rem;
  letter-spacing: 0.09em;
}
.footer-col a {
  font-size: 0.83rem;
}
.footer-copy {
  font-size: 0.85rem;
  line-height: 1.75;
}
.footer-bottom {
  font-size: 0.71rem;
}
.concept-badge {
  background: #e3edfc;
  color: #47658b;
}
body[data-section="finance"] .concept-badge {
  background: #e5edde;
  color: #506749;
}
@media (min-width: 1550px) {
  .home-hero {
    padding: 80px 0 74px;
  }
  .home-hero h1 {
    font-size: 5.3rem;
  }
}
@media (min-width: 801px) and (max-width: 1150px) {
  .desktop-nav {
    gap: 18px;
  }
  .desktop-nav > a,
  .nav-more > summary {
    font-size: 0.76rem;
  }
  .header-button {
    padding: 12px 13px;
    font-size: 0.72rem;
  }
  .home-hero .split {
    gap: 30px;
    grid-template-columns: 1fr 1fr;
  }
  .home-hero h1 {
    font-size: clamp(3.4rem, 5.6vw, 4.2rem);
  }
  .home-hero .lead {
    font-size: 1rem;
  }
  .showcase {
    padding: 14px;
  }
  .app-content {
    padding: 15px;
  }
  .app-kpis {
    gap: 6px;
  }
  .app-kpi {
    padding: 11px 8px;
  }
  .app-kpi .kpi-label {
    font-size: 0.61rem;
  }
  .app-kpi em {
    font-size: 0.6rem;
  }
  .app-topbar .app-status {
    display: none;
  }
  .app-bottom {
    grid-template-columns: 1fr;
  }
  .app-bottom .app-card:first-child {
    display: none;
  }
  .preview-action {
    align-items: flex-start;
  }
  .preview-type {
    display: none;
  }
  .app-row {
    font-size: 0.7rem;
  }
  .app-card-heading {
    font-size: 0.66rem;
  }
  .preview-foot > span:first-child {
    display: none;
  }
  .preview-foot > span:last-child {
    max-width: none;
    text-align: left;
  }
  .business-card-refined .body-copy {
    min-height: 138px;
  }
  .business-card-refined .card-top {
    align-items: flex-start;
  }
  .business-card-refined .card-number {
    font-size: 0.63rem;
    max-width: 130px;
  }
}
@media (max-width: 800px) {
  .home-hero {
    padding: 48px 0;
  }
  .home-hero .split {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .home-hero .lead {
    font-size: 1.06rem;
    max-width: 630px;
  }
  .home-hero .eyebrow {
    font-size: 0.63rem;
  }
  .hero-copy {
    max-width: 690px;
  }
  .showcase {
    max-width: 620px;
    width: 100%;
  }
  .showcase-caption {
    font-size: 0.6rem;
  }
  .preview-type {
    font-size: 0.62rem;
  }
  .business-card-refined .card-top {
    align-items: flex-start;
  }
  .business-card-refined .body-copy {
    min-height: 158px;
  }
  .business-card-refined {
    padding: 28px;
  }
  .business-card-refined h3 {
    font-size: 1.9rem;
  }
  .mini-process span {
    font-size: 0.64rem;
  }
  .card-features span {
    font-size: 0.66rem;
  }
  .branch-inner {
    gap: 5px;
  }
  .branch-links {
    gap: 2px 19px;
  }
  .branch-links a {
    min-height: 39px;
    font-size: 0.75rem;
  }
  .leadership-proof {
    max-width: 690px;
    width: 100%;
  }
  .footer-grid {
    gap: 30px;
  }
  .home-hero .hero-note {
    font-size: 0.72rem;
  }
}
@media (max-width: 560px) {
  .home-hero {
    padding: 40px 0 44px;
  }
  .home-hero h1 {
    font-size: clamp(2.5rem, 11.4vw, 3.3rem);
    line-height: 1.08;
    letter-spacing: -0.055em;
  }
  .home-hero .lead {
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 22px;
  }
  .home-hero .eyebrow {
    font-size: 0.61rem;
    line-height: 1.7;
    max-width: 310px;
    margin-bottom: 24px;
    gap: 8px;
  }
  .home-hero .eyebrow .point {
    flex-shrink: 0;
  }
  .home-hero .actions {
    gap: 9px;
  }
  .home-hero .actions .btn {
    font-size: 0.78rem;
    padding: 14px 16px;
    gap: 10px;
    min-height: 49px;
  }
  .home-hero .hero-note {
    font-size: 0.7rem;
    gap: 10px;
    margin-top: 20px;
    align-items: flex-start;
  }
  .hero-note .dash {
    margin-top: 9px;
    flex-shrink: 0;
  }
  .home-hero .split {
    gap: 31px;
  }
  .showcase {
    padding: 12px;
    border-radius: 14px;
  }
  .tab-list button {
    font-size: 0.75rem;
    padding: 8px 14px;
    min-height: 37px;
  }
  .showcase-top {
    margin-bottom: 13px;
  }
  .showcase-caption {
    display: none;
  }
  .app-content {
    padding: 13px;
  }
  .app-topbar {
    font-size: 0.63rem;
    padding: 13px;
  }
  .app-topbar .app-status {
    display: none;
  }
  .app-title {
    gap: 12px;
    margin-bottom: 16px;
  }
  .app-title strong {
    font-size: 0.89rem;
  }
  .app-title small {
    font-size: 0.66rem;
    line-height: 1.55;
  }
  .micro-tag {
    font-size: 0.58rem;
    align-self: flex-start;
    margin-top: 2px;
  }
  .app-kpis {
    gap: 6px;
    margin-bottom: 15px;
  }
  .app-kpi {
    padding: 11px 8px;
  }
  .app-kpi b {
    font-size: 1.55rem;
  }
  .app-kpi .kpi-label {
    font-size: 0.62rem;
    line-height: 1.45;
    min-height: 28px;
  }
  .app-kpi em {
    font-size: 0.61rem;
    line-height: 1.5;
  }
  .app-kpi b[style] {
    font-size: 0.94rem !important;
    line-height: 1.25;
    min-height: 29px;
    display: flex;
    align-items: center;
    padding: 0 !important;
  }
  .app-bottom {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .app-bottom .app-card:first-child {
    display: none;
  }
  .app-card {
    padding: 13px;
  }
  .app-card-heading {
    font-size: 0.67rem;
  }
  .app-rows {
    gap: 10px;
  }
  .app-row {
    font-size: 0.69rem;
  }
  .app-window {
    min-height: 0;
  }
  .preview-action {
    padding: 14px 3px 0;
    gap: 10px;
  }
  .preview-action .text-link {
    font-size: 0.74rem;
  }
  .preview-type {
    display: none;
  }
  .preview-foot {
    font-size: 0.62rem;
    gap: 0;
    margin-top: 12px;
  }
  .preview-foot > span:first-child {
    display: none;
  }
  .preview-foot > span:last-child {
    text-align: left;
    max-width: none;
  }
  .business-card-refined {
    padding: 28px;
  }
  .business-card-refined h3 {
    font-size: 2rem;
  }
  .business-card-refined .body-copy {
    min-height: 0;
    font-size: 0.96rem;
  }
  .business-card-refined .card-number {
    font-size: 0.61rem;
    max-width: 135px;
  }
  .business-card-refined .card-top {
    margin-bottom: 29px;
  }
  .business-card-refined .eyebrow {
    font-size: 0.6rem;
    max-width: 125px;
  }
  .mini-process span {
    font-size: 0.7rem;
    padding: 12px 6px;
  }
  .card-features span {
    font-size: 0.69rem;
  }
  .section-header .body-copy {
    font-size: 0.96rem;
    line-height: 1.7;
  }
  .principle .number {
    font-size: 0.66rem;
    line-height: 1.5;
    max-width: 50px;
  }
  .principle {
    grid-template-columns: 58px 1fr;
    gap: 8px 13px;
  }
  .principle h3 {
    font-size: 1.24rem;
  }
  .principle p {
    font-size: 0.94rem;
    line-height: 1.7;
  }
  .leadership-proof {
    padding: 25px 23px;
  }
  .leadership-proof > .eyebrow {
    font-size: 0.62rem;
    line-height: 1.65;
  }
  .leader-proof-row {
    grid-template-columns: 35px 1fr 13px;
    gap: 11px;
    padding: 18px 0;
  }
  .leader-initial {
    width: 35px;
    height: 38px;
    font-size: 0.66rem;
  }
  .leader-proof-row strong {
    font-size: 0.98rem;
  }
  .leader-proof-row small {
    font-size: 0.72rem;
    line-height: 1.6;
  }
  .leader-remit {
    font-size: 0.68rem;
  }
  .branch-links {
    gap: 0 17px;
  }
  .branch-links a {
    font-size: 0.73rem;
    min-height: 38px;
  }
  .book-interest {
    margin-top: 24px;
    padding-top: 23px;
  }
  .contact-card h3 {
    font-size: 1.65rem;
  }
  .footer-actions {
    gap: 13px;
  }
  .footer-actions .motion-toggle {
    font-size: 0.68rem;
  }
  .footer-copy {
    font-size: 0.83rem;
  }
  .inquiry-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .inquiry-actions .btn {
    justify-content: center;
  }
  .cta-panel h2 {
    font-size: 2.15rem;
    line-height: 1.16;
  }
  .cta-panel p {
    font-size: 0.95rem;
    line-height: 1.7;
  }
}
@media (max-width: 360px) {
  .home-hero .actions .btn {
    padding: 13px 12px;
    font-size: 0.73rem;
  }
  .home-hero .eyebrow {
    font-size: 0.57rem;
  }
  .app-kpi {
    padding: 9px 6px;
  }
  .app-kpi b {
    font-size: 1.4rem;
  }
  .app-kpi .kpi-label {
    font-size: 0.59rem;
  }
  .app-kpi em {
    font-size: 0.56rem;
  }
  .brand-lockup {
    width: 149px;
  }
  .business-card-refined {
    padding: 25px;
  }
  .leader-proof-row {
    grid-template-columns: 1fr 14px;
  }
  .leader-proof-row .leader-initial {
    display: none;
  }
}
@media print {
  .preview-action,
  .inquiry-actions,
  .pending-endorsements {
    display: none;
  }
  a {
    color: #111 !important;
  }
  .leadership-proof {
    background: white !important;
    box-shadow: none;
  }
  .leader-proof-row {
    break-inside: avoid;
  }
}
/* Keep comparable offering rows aligned even when a category label wraps. */
.business-card-refined .card-top {
  min-height: 34px;
}
.business-card-refined .mini-process {
  margin-bottom: 28px;
}
.business-card-refined .card-bottom {
  margin-top: auto;
}

/* Production presentation and responsive layout. */
:root {
  --product-edge: #d6e3f6;
}
.home-hero {
  padding-block: 64px;
}
.home-hero .lead {
  font-size: 1.02rem;
  max-width: 525px;
}
.home-hero .hero-note {
  font-size: 0.73rem;
  max-width: 510px;
}
.real-product {
  background: #fff;
  border: 1px solid var(--product-edge);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 14px 40px #183e6a0a;
}
.real-product-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 20px;
  border-bottom: 1px solid #e2eaf5;
}
.real-product-head strong {
  font-size: 0.97rem;
  letter-spacing: -0.025em;
  display: block;
}
.real-product-head p {
  font-size: 0.72rem;
  color: #667b96;
  margin: 4px 0 0;
}
.product-real-label {
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  border: 1px solid #cfdef6;
  border-radius: 4px;
  padding: 6px 8px;
  color: #295fa8;
  white-space: nowrap;
}
.real-shot-button {
  display: block;
  padding: 0;
  border: 0;
  background: #f7f9ff;
  width: 100%;
  position: relative;
  text-align: left;
  line-height: 0;
  overflow: hidden;
}
.real-shot-button img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.35s ease;
}
.real-shot-button:hover img {
  transform: scale(1.015);
}
.real-shot-button:focus-visible {
  outline-offset: -4px;
}
.shot-expand {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: #fff;
  color: #204777;
  border: 1px solid #cbddf4;
  border-radius: 5px;
  box-shadow: 0 3px 14px #17325617;
  padding: 9px 11px;
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.2;
}
.real-product-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e0e9f4;
  padding: 17px 20px;
  gap: 18px;
}
.real-product-summary strong {
  display: block;
  color: #263f61;
  font-size: 0.75rem;
  font-weight: 650;
}
.real-product-summary span {
  display: block;
  color: #60758e;
  font-size: 0.7rem;
  line-height: 1.55;
  margin-top: 4px;
}
.real-product-summary > div + div {
  border-left: 1px solid #e0e9f4;
  padding-left: 18px;
}
.product-disclosure {
  font-size: 0.69rem;
  color: #52677f;
  line-height: 1.6;
  margin: 13px 0 0;
}
.real-shot-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  gap: 16px;
}
.real-shot-intro .eyebrow {
  margin: 0;
  font-size: 0.64rem;
}
.showcase .preview-foot {
  font-size: 0.68rem;
  display: block;
  line-height: 1.5;
}
.showcase .preview-foot .live-dot {
  display: none;
}
.product-walkthrough {
  padding: 86px 0;
  background: #0d244b;
  color: #fff;
}
.product-walkthrough .eyebrow {
  color: #8eddee;
}
.product-walkthrough .point {
  background: #8eddee;
}
.product-walkthrough .section-header {
  align-items: flex-start;
}
.product-walkthrough .section-header h2 {
  max-width: 660px;
}
.product-walkthrough .section-header .body-copy {
  color: #c5d5ed;
  max-width: 365px;
  font-size: 0.94rem;
}
.workspace-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.workspace-tab {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 19px;
  border: 1px solid #37577e;
  border-radius: 7px;
  background: #14325b;
  color: #d8e6fb;
  text-align: left;
  font-size: 0.85rem;
  min-height: 65px;
}
.workspace-tab .tab-index {
  font-size: 0.66rem;
  color: #7ba6d7;
  letter-spacing: 0.1em;
}
.workspace-tab[aria-selected="true"] {
  background: #f7faff;
  color: #123866;
  border-color: #f7faff;
}
.workspace-tab[aria-selected="true"] .tab-index {
  color: #3269c9;
}
.workspace-tab:hover {
  border-color: #8cb3e7;
}
.workspace-panel {
  border: 1px solid #dae6f4;
  border-radius: 12px;
  background: white;
  color: #182e4b;
  overflow: hidden;
}
.workspace-frame {
  background: #f4f7ff;
  padding: 13px;
  position: relative;
  display: grid;
  align-items: center;
  min-height: 380px;
}
.workspace-frame .real-shot-button {
  border: 1px solid #e0e8f6;
  border-radius: 8px;
}
.workspace-frame img {
  width: 100%;
  display: block;
  height: auto;
}
.workspace-frame[data-current-view="controls"] {
  padding-block: 60px;
  min-height: 310px;
}
.workspace-frame[data-current-view="portfolio"] .real-shot-button {
  max-width: 1090px;
  margin-inline: auto;
}
.workspace-frame[data-current-view="portfolio"] {
  min-height: 450px;
}
.workspace-explanation {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 50px;
  padding: 29px 32px;
  border-top: 1px solid #dce6f3;
}
.workspace-explanation h3 {
  font-size: 1.5rem;
  max-width: 430px;
  line-height: 1.22;
}
.workspace-explanation p {
  font-size: 0.9rem;
  color: #566d8a;
  margin: 0;
  line-height: 1.8;
}
.workspace-status {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  font-size: 0.76rem;
  color: #a7c0e4;
  margin-top: 19px;
}
.workspace-status .status-dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7ce3f1;
  margin-top: 9px;
}
.workspace-tail {
  display: flex;
  gap: 35px;
  justify-content: space-between;
  align-items: center;
  margin-top: 26px;
}
.workspace-tail p {
  color: #c6d6ed;
  font-size: 0.88rem;
  line-height: 1.75;
  max-width: 770px;
  margin: 0;
}
.workspace-tail .text-link {
  color: #8ee2f3;
  flex-shrink: 0;
}
.validation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.validation-card {
  padding: 28px 28px 30px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: #fff;
}
.validation-card .label {
  margin-bottom: 23px;
  color: #2c64b0;
  border-color: #d8e5f6;
  background: #f1f6fd;
}
.validation-card h3 {
  font-size: 1.35rem;
  line-height: 1.25;
  margin-bottom: 15px;
}
.validation-card p {
  font-size: 0.89rem;
  color: #5c6e86;
  margin: 0;
}
.validation-note {
  max-width: 800px;
  margin: 25px 0 0;
  font-size: 0.82rem;
  color: #59708e;
}
.product-dialog {
  width: min(1540px, calc(100% - 40px));
  max-width: 1540px;
  max-height: 94dvh;
  border: 1px solid #d7e5f9;
  border-radius: 14px;
  padding: 0;
  box-shadow: 0 25px 120px #0514274d;
  background: #fff;
  color: #193457;
}
.product-dialog::backdrop {
  background: #081931c2;
  backdrop-filter: blur(5px);
}
.product-dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  gap: 20px;
  border-bottom: 1px solid #dee7f3;
}
.product-dialog h2 {
  font-size: 1.15rem;
  letter-spacing: -0.025em;
}
.product-dialog-head p {
  font-size: 0.74rem;
  margin: 4px 0 0;
  color: #5f7590;
}
.product-dialog-tools {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-shrink: 0;
}
.image-zoom-toggle {
  padding: 8px 12px;
  border: 1px solid #cdddf1;
  background: #f4f8ff;
  border-radius: 5px;
  color: #255995;
  font-size: 0.76rem;
  min-height: 38px;
}
.product-dialog-scroll {
  overflow: auto;
  max-height: calc(90dvh - 132px);
  background: #edf3fb;
  padding: 14px;
  overscroll-behavior: contain;
}
.product-dialog-scroll img {
  display: block;
  width: 100%;
  height: auto;
  margin: auto;
  max-width: 100%;
}
.product-dialog-scroll.is-actual img {
  width: var(--natural-width, 1659px);
  max-width: none;
}
.product-dialog-note {
  padding: 12px 22px;
  margin: 0;
  font-size: 0.73rem;
  color: #5d7390;
}
.dialog-open {
  overflow: hidden;
}
.readiness-promo {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
  padding: 41px 44px;
  background: #eaf2e8;
  border: 1px solid #cdddcf;
  border-radius: 12px;
}
.readiness-promo h2 {
  font-size: 2.25rem;
  max-width: 730px;
  line-height: 1.13;
}
.readiness-promo .eyebrow {
  margin-bottom: 17px;
}
.readiness-promo p {
  color: #506b5e;
  max-width: 680px;
  margin: 17px 0 0;
  font-size: 0.96rem;
}
.readiness-promo .promo-action {
  text-align: center;
}
.readiness-promo small {
  display: block;
  margin-top: 11px;
  font-size: 0.76rem;
  color: #536d5e;
}
.finance-continuity {
  border-left: 2px solid #9fc4b5;
  padding-left: 20px;
  margin-top: 25px !important;
  font-size: 0.93rem !important;
  color: #46675c !important;
}
.assess-shell {
  display: grid;
  grid-template-columns: 295px minmax(0, 1fr);
  gap: 45px;
  align-items: start;
}
.assess-sidebar {
  position: sticky;
  top: 115px;
}
.assess-sidebar h2 {
  font-size: 1.65rem;
  line-height: 1.25;
  margin-bottom: 20px;
}
.assess-path-label {
  font-size: 0.75rem;
  color: #5c7468;
  display: block;
  margin-bottom: 8px;
  font-weight: 650;
}
.assess-path {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #cbdccc;
  background: #fff;
  border-radius: 6px;
  color: #174c3f;
  font-size: 0.9rem;
}
.assess-categories {
  display: grid;
  gap: 5px;
  margin: 26px 0 20px;
  padding: 0;
  list-style: none;
}
.assess-categories button {
  display: flex;
  gap: 12px;
  align-items: center;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 10px;
  border-radius: 6px;
  text-align: left;
  color: #536c60;
  font-size: 0.81rem;
}
.assess-categories button[aria-current="step"] {
  background: #e3ede2;
  color: #164e41;
  font-weight: 650;
}
.assess-categories button:disabled {
  opacity: 0.65;
}
.assess-categories .num {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #c9d9ce;
  font-size: 0.65rem;
}
.assess-categories button[data-complete="true"] .num {
  background: #195648;
  border-color: #195648;
  color: #fff;
}
.assess-privacy {
  font-size: 0.76rem;
  color: #61756b;
  line-height: 1.7;
}
.assess-main {
  min-width: 0;
}
.assess-progress-copy {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #526a5f;
  font-size: 0.76rem;
  margin-bottom: 9px;
}
.assess-progress {
  height: 5px;
  background: #e2eadd;
  border-radius: 6px;
  margin-bottom: 32px;
  overflow: hidden;
}
.assess-progress span {
  display: block;
  height: 100%;
  background: #28705c;
  transition: width 0.2s;
}
.assessment-step-title {
  font-size: 2.2rem;
  margin: 0 0 24px;
  color: #193b32;
}
.question-card {
  padding: 25px 27px 27px;
  border: 1px solid #d7e2d8;
  border-radius: 10px;
  background: white;
  margin: 0 0 18px;
  min-width: 0;
}
.question-card legend {
  float: left;
  width: 100%;
  font-size: 1.04rem;
  line-height: 1.55;
  font-weight: 550;
  letter-spacing: -0.02em;
  margin-bottom: 21px;
  color: #243f34;
}
.question-card .answer-options {
  clear: both;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.answer-option {
  position: relative;
  min-width: 0;
  cursor: pointer;
}
.answer-option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  top: 0;
  left: 0;
}
.answer-option span {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd9d0;
  border-radius: 6px;
  padding: 12px 8px;
  min-height: 47px;
  background: #fafcf8;
  color: #496457;
  font-size: 0.85rem;
  transition:
    background 0.15s,
    border-color 0.15s;
}
.answer-option input:checked + span {
  background: #155348;
  color: #fff;
  border-color: #155348;
}
.answer-option input:focus-visible + span {
  outline: 3px solid #488871;
  outline-offset: 3px;
}
.assess-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 26px;
}
.assess-controls .btn:disabled {
  opacity: 0.45;
  transform: none;
}
.assessment-help {
  font-size: 0.75rem;
  line-height: 1.6;
  color: #627569;
  margin-top: 22px;
}
.assessment-results {
  padding: 33px;
  background: #fff;
  border: 1px solid #d6e4d9;
  border-radius: 12px;
}
.score-heading {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 22px;
}
.score-number {
  font-size: 4.3rem;
  color: #1a5a48;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.065em;
}
.score-number small {
  font-size: 1.1rem;
  color: #6b8176;
  letter-spacing: 0;
}
.score-heading h2 {
  font-size: 1.8rem;
  line-height: 1.2;
}
.score-heading p {
  font-size: 0.76rem;
  color: #637a6e;
  margin: 8px 0 0;
}
.score-explainer {
  font-size: 0.91rem;
  color: #527062;
  margin-bottom: 25px;
}
.category-scores {
  display: grid;
  gap: 14px;
  margin: 26px 0;
}
.category-score-label {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.79rem;
  color: #36594a;
  margin-bottom: 7px;
}
.category-score-track {
  height: 5px;
  border-radius: 5px;
  background: #e6eee5;
}
.category-score-track span {
  display: block;
  height: 100%;
  background: #639a83;
  border-radius: 5px;
}
.priority-title {
  font-size: 1.35rem !important;
  margin: 36px 0 17px !important;
}
.priority-row {
  padding: 18px 0;
  border-top: 1px solid #e1e9e0;
}
.priority-row .label {
  font-size: 0.6rem;
  margin-bottom: 9px;
}
.priority-row h3 {
  font-size: 1rem;
  margin-bottom: 9px;
  line-height: 1.3;
}
.priority-row p {
  font-size: 0.85rem;
  color: #527064;
  line-height: 1.7;
  margin: 0;
}
.score-share {
  border-top: 1px solid #d7e4d7;
  margin-top: 27px;
  padding-top: 25px;
}
.consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.8rem;
  color: #385e4e;
  line-height: 1.65;
}
.consent-label input {
  margin-top: 5px;
  accent-color: #175448;
  width: 16px;
  height: 16px;
  flex: none;
}
.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.session-note {
  padding: 14px 17px;
  border: 1px solid #d8e5d7;
  background: #f1f6eb;
  color: #4c6b59;
  border-radius: 6px;
  font-size: 0.77rem;
  margin-bottom: 23px;
}
.secondary-action {
  background: transparent;
  border: 0;
  padding: 5px 0;
  color: #587166;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 0.76rem;
}
.assess-step-form {
  margin: 0;
}
.contact-fit {
  padding: 16px 18px;
  background: #f1f6fa;
  border: 1px solid #dae5f1;
  border-radius: 7px;
  font-size: 0.82rem;
  margin-bottom: 22px;
  color: #4d637a;
}
.contact-fit strong {
  display: block;
  color: #24405f;
  margin-bottom: 5px;
}
.contact-fit p {
  margin: 0;
  line-height: 1.65;
}
.contact-extras .field {
  margin-bottom: 17px;
}
.contact-extras label {
  font-size: 0.74rem;
}
.booking-link {
  margin-bottom: 23px;
  width: 100%;
}
.privacy-preview {
  font-size: 0.71rem;
  color: #6a7a8d;
  line-height: 1.6;
  max-width: 880px;
  margin: 0 0 22px;
}
.footer-bottom .concept-badge {
  background: transparent;
  padding: 0;
  color: #6d8098;
  font-size: 0.66rem;
}
@media (min-width: 1550px) {
  .home-hero {
    padding-top: 80px;
    padding-bottom: 74px;
  }
}
@media (max-width: 1150px) {
  .real-product-head {
    padding: 16px;
  }
  .real-product-summary {
    padding: 16px;
    gap: 12px;
  }
  .real-product-summary > div + div {
    padding-left: 12px;
  }
  .real-product-summary span {
    font-size: 0.67rem;
  }
  .workspace-explanation {
    gap: 30px;
  }
  .assess-shell {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 30px;
  }
}
@media (max-width: 950px) {
  .real-product-head {
    display: block;
  }
  .real-product-head .product-real-label {
    display: none;
  }
  .workspace-tab {
    font-size: 0.77rem;
    gap: 10px;
    padding: 16px 13px;
  }
  .assess-shell {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 25px;
  }
  .answer-option span {
    font-size: 0.77rem;
  }
  .readiness-promo {
    gap: 30px;
    padding: 33px;
  }
  .readiness-promo h2 {
    font-size: 2rem;
  }
}
@media (max-width: 800px) {
  .home-hero {
    padding-block: 48px;
  }
  .home-hero .lead {
    font-size: 1.02rem;
  }
  .home-hero .showcase {
    max-width: 630px;
  }
  .real-product-head {
    display: flex;
  }
  .real-product-head .product-real-label {
    display: inline-block;
  }
  .real-product-summary span {
    font-size: 0.73rem;
  }
  .workspace-explanation {
    gap: 22px;
    padding: 25px;
  }
  .workspace-explanation h3 {
    font-size: 1.3rem;
  }
  .workspace-explanation p {
    font-size: 0.85rem;
  }
  .validation-grid {
    grid-template-columns: 1fr;
  }
  .validation-card {
    padding: 25px;
  }
  .validation-card .label {
    margin-bottom: 16px;
  }
  .readiness-promo {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .readiness-promo .promo-action {
    text-align: left;
  }
  .readiness-promo small {
    margin-top: 10px;
  }
  .assess-shell {
    grid-template-columns: 1fr;
  }
  .assess-sidebar {
    position: static;
  }
  .assess-sidebar h2 {
    display: none;
  }
  .assess-sidebar .assess-categories {
    display: none;
  }
  .assess-sidebar .assess-privacy {
    display: none;
  }
  .assess-path {
    max-width: 440px;
  }
  .assess-shell {
    gap: 23px;
  }
  .workspace-frame {
    min-height: 260px;
  }
  .workspace-frame[data-current-view="portfolio"] {
    min-height: 320px;
  }
  .workspace-tail {
    display: block;
  }
  .workspace-tail a {
    margin-top: 15px;
  }
}
@media (max-width: 560px) {
  .home-hero .lead {
    font-size: 0.98rem;
  }
  .home-hero .hero-note {
    font-size: 0.7rem;
  }
  .real-product-head {
    padding: 16px 14px;
  }
  .real-product-head strong {
    font-size: 0.86rem;
  }
  .real-product-head p {
    font-size: 0.67rem;
  }
  .real-product-head .product-real-label {
    font-size: 0.5rem;
    padding: 5px;
  }
  .real-product-summary {
    padding: 15px 14px;
    gap: 12px;
  }
  .real-product-summary strong {
    font-size: 0.7rem;
  }
  .real-product-summary span {
    font-size: 0.69rem;
  }
  .shot-expand {
    font-size: 0.6rem;
    bottom: 7px;
    right: 7px;
    padding: 7px 9px;
  }
  .showcase .preview-foot {
    font-size: 0.65rem;
  }
  .product-walkthrough {
    padding: 58px 0;
  }
  .workspace-tabs {
    gap: 6px;
  }
  .workspace-tab {
    padding: 12px 9px;
    font-size: 0.72rem;
    display: block;
    min-height: 69px;
  }
  .workspace-tab .tab-index {
    display: block;
    margin-bottom: 6px;
    font-size: 0.6rem;
  }
  .workspace-frame {
    min-height: 190px;
    padding: 8px;
  }
  .workspace-frame[data-current-view="controls"] {
    padding: 18px 8px;
    min-height: 175px;
  }
  .workspace-frame[data-current-view="portfolio"] {
    min-height: 200px;
  }
  .workspace-explanation {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 22px;
  }
  .workspace-explanation h3 {
    font-size: 1.3rem;
  }
  .workspace-explanation p {
    font-size: 0.85rem;
  }
  .workspace-status {
    font-size: 0.71rem;
  }
  .workspace-tail p {
    font-size: 0.83rem;
  }
  .product-dialog {
    width: calc(100% - 18px);
  }
  .product-dialog-head {
    padding: 15px;
    align-items: flex-start;
  }
  .product-dialog h2 {
    font-size: 0.95rem;
  }
  .product-dialog-head p {
    font-size: 0.67rem;
  }
  .product-dialog-tools {
    gap: 7px;
  }
  .image-zoom-toggle {
    font-size: 0.63rem;
    padding: 6px 8px;
  }
  .product-dialog-scroll {
    padding: 6px;
  }
  .product-dialog-note {
    font-size: 0.68rem;
    padding: 12px 15px;
  }
  .readiness-promo {
    padding: 28px 25px;
  }
  .readiness-promo h2 {
    font-size: 1.85rem;
  }
  .readiness-promo p {
    font-size: 0.89rem;
  }
  .readiness-promo .btn {
    width: 100%;
  }
  .assess-progress {
    margin-bottom: 25px;
  }
  .assessment-step-title {
    font-size: 1.75rem;
  }
  .question-card {
    padding: 21px 19px;
  }
  .question-card legend {
    font-size: 0.98rem;
  }
  .question-card .answer-options {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .answer-option span {
    font-size: 0.84rem;
    min-height: 47px;
  }
  .assessment-results {
    padding: 24px 21px;
  }
  .score-heading {
    gap: 20px;
  }
  .score-number {
    font-size: 3.6rem;
  }
  .score-heading h2 {
    font-size: 1.4rem;
  }
  .result-actions .btn {
    width: 100%;
  }
  .assess-controls .btn {
    font-size: 0.75rem;
  }
  .category-score-label {
    font-size: 0.75rem;
  }
  .contact-fit {
    padding: 14px 15px;
  }
  .privacy-preview {
    font-size: 0.65rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .real-shot-button img,
  .assess-progress span {
    transition: none;
  }
  .real-shot-button:hover img {
    transform: none;
  }
}
@media print {
  .product-dialog,
  .assess-sidebar,
  .assess-controls,
  .workspace-tabs,
  .shot-expand {
    display: none !important;
  }
  .workspace-panel {
    break-inside: avoid;
  }
  .product-walkthrough {
    background: #fff;
    color: #17335b;
  }
  .product-walkthrough p {
    color: #435e7d !important;
  }
  .assessment-results {
    border: 0;
  }
}

/* Production presentation and responsive layout. */
.general-hero {
  background:
    radial-gradient(ellipse 55% 86% at 85% 22%, #e6efff 0%, transparent 77%),
    linear-gradient(135deg, #fafcff, #f2f6fd 72%, #f6f9ff);
  padding: 94px 0 94px;
}
.general-hero .split {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: 65px;
  align-items: center;
}
.general-hero .hero-copy {
  max-width: 625px;
}
.general-hero h1 {
  font-size: clamp(3.25rem, 5.9vw, 5.7rem);
  letter-spacing: -0.063em;
}
.general-hero h1 .serif {
  color: #2a66e8;
}
.general-hero .lead {
  font-size: 1.055rem;
  line-height: 1.8;
  max-width: 550px;
  color: #53647e;
  margin-top: 28px;
}
.general-hero .actions {
  margin-top: 35px;
}
.general-hero .btn {
  font-size: 0.86rem;
}
.general-proofline {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 0.72rem;
  line-height: 1.55;
  color: #687d9b;
  margin-top: 31px;
  margin-bottom: 0;
}
.general-proofline-mark {
  width: 7px;
  height: 7px;
  background: #37addd;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #37addd1f;
  margin-right: 3px;
}
.proof-separator {
  color: #b2c2d9;
  padding: 0 3px;
}
.workflow-showcase {
  background: #0c2047;
  color: white;
  border: 1px solid #2e4d7a;
  border-radius: 17px;
  box-shadow: 0 38px 82px #0b2a5a32;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  min-width: 0;
}
.workflow-showcase:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 13%, #3b77ff38, transparent 36%),
    linear-gradient(#ffffff07 1px, transparent 1px),
    linear-gradient(90deg, #ffffff07 1px, transparent 1px);
  background-size:
    auto,
    31px 31px,
    31px 31px;
  mask-image: linear-gradient(180deg, #000, transparent 80%);
  z-index: -1;
}
.wf-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 17px 21px;
  border-bottom: 1px solid #ffffff1d;
  background: #ffffff06;
}
.wf-product-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.64rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  color: #eff5ff;
  white-space: nowrap;
}
.wf-product-label small {
  font-size: 0.56rem;
  letter-spacing: 0.09em;
  color: #85a5d2;
  font-weight: 650;
  margin-left: 5px;
}
.wf-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #2460ee, #39bdd7);
  font-size: 0.78rem;
  border-radius: 5px;
  font-style: italic;
  color: white;
}
.wf-head-pill {
  font-size: 0.53rem;
  color: #a8c2e8;
  border: 1px solid #3e5d88;
  border-radius: 40px;
  padding: 7px 9px;
  letter-spacing: 0.065em;
  white-space: nowrap;
}
.wf-head-pill i {
  width: 5px;
  height: 5px;
  background: #8be3da;
  display: inline-block;
  border-radius: 50%;
  margin-right: 4px;
}
.wf-inner {
  padding: 32px 26px 30px;
}
.wf-work-title {
  margin-bottom: 27px;
}
.wf-kicker {
  color: #6cbfe8;
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.18em;
}
.wf-work-title h2 {
  font-size: clamp(1.6rem, 2.35vw, 2.15rem);
  letter-spacing: -0.046em;
  color: white;
  margin: 10px 0 10px;
  line-height: 1.2;
}
.wf-work-title h2 em {
  color: #95ddef;
  font-family: Georgia, serif;
  font-weight: 400;
}
.wf-work-title p {
  font-size: 0.79rem;
  color: #a5b9d8;
  line-height: 1.6;
  margin: 0;
}
.wf-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  position: relative;
  margin-bottom: 17px;
}
.wf-step {
  position: relative;
  border: 1px solid #365481;
  border-radius: 8px;
  padding: 12px 9px 13px;
  background: linear-gradient(145deg, #1d3b6c, #152b51);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 124px;
}
.wf-step:nth-child(4) {
  background: linear-gradient(145deg, #1e4978, #1b3d74);
  border-color: #4c83c5;
}
.wf-step-num {
  font-size: 0.57rem;
  letter-spacing: 0.13em;
  color: #7ea7e3;
  font-weight: 700;
}
.wf-step-ico {
  font-size: 1.3rem;
  color: #9bddf3;
  line-height: 1;
  margin: 13px 0 10px;
}
.wf-step strong {
  font-size: 0.71rem;
  color: #f4f9ff;
  line-height: 1.35;
}
.wf-step small {
  font-size: 0.54rem;
  color: #91afd3;
  margin-top: 4px;
  line-height: 1.45;
}
.wf-control-panel {
  padding: 19px;
  border: 1px solid #365785;
  border-radius: 8px;
  background: #ffffff09;
}
.wf-control-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #acc7ef;
  letter-spacing: 0.11em;
  font-weight: 750;
  font-size: 0.58rem;
}
.wf-control-ready {
  color: #9adfe4;
  font-size: 0.54rem;
  letter-spacing: 0.07em;
}
.wf-control-ready i,
.wf-foot i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
  background: #73d4cf;
  margin-right: 6px;
}
.wf-control-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}
.wf-control-list span {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: #d6e4fa;
  line-height: 1.45;
  font-size: 0.59rem;
}
.wf-control-list i {
  font-style: normal;
  color: #85e2dc;
  font-size: 0.65rem;
}
.wf-output {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  padding: 18px 17px;
  border: 1px solid #64a6d27a;
  border-radius: 9px;
  background: linear-gradient(105deg, #174870aa, #1c436bab);
}
.wf-output-mark {
  flex-shrink: 0;
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  background: #2c6e8d;
  border: 1px solid #7ec1db;
  border-radius: 11px;
  color: #baffec;
  font-size: 1.15rem;
}
.wf-output-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.wf-output-copy > span {
  font-size: 0.54rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  color: #8bcce8;
}
.wf-output-copy strong {
  font-size: 0.81rem;
  color: #fff;
  margin-top: 4px;
  line-height: 1.3;
}
.wf-output-copy small {
  font-size: 0.56rem;
  line-height: 1.4;
  color: #b8cee9;
  margin-top: 4px;
}
.wf-output-arrow {
  flex-shrink: 0;
  font-size: 1.1rem;
  color: #b5e4f2;
}
.wf-foot {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #ffffff1e;
  padding: 14px 22px;
  background: #071733;
  font-size: 0.52rem;
  letter-spacing: 0.115em;
  color: #88a8d2;
}
.general-strip {
  background: #eff4fb;
  border-block: 1px solid #dce6f3;
}
.general-strip .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 88px;
}
.general-strip span {
  font-size: 0.76rem;
  font-weight: 620;
  color: #506984;
}
.general-strip-label {
  font-size: 0.58rem !important;
  letter-spacing: 0.1em;
  color: #2c65b6 !important;
  white-space: nowrap;
}
.general-strip span:not(:first-child):before {
  content: "";
  width: 5px;
  height: 5px;
  display: inline-block;
  background: #2c7ff1;
  border-radius: 50%;
  margin-right: 10px;
  vertical-align: middle;
}
.general-challenge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.challenge-card {
  border: 1px solid #dbe5f1;
  background: #fff;
  border-radius: 11px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  min-height: 330px;
  box-shadow: 0 12px 35px #183d6f05;
}
.challenge-index {
  font-size: 0.63rem;
  letter-spacing: 0.13em;
  font-weight: 800;
  color: #6e89aa;
}
.challenge-art {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  height: 100px;
  margin: 16px 0 9px;
}
.art-fragment span {
  width: 38px;
  height: 44px;
  background: #e3edfa;
  border: 1px solid #a9c6ef;
  transform: rotate(-9deg);
  border-radius: 7px;
  box-shadow: 0 5px 13px #143e7120;
}
.art-fragment span:nth-child(2) {
  transform: translateY(-13px) rotate(2deg);
  background: #cfdef7;
}
.art-fragment span:nth-child(3) {
  transform: rotate(8deg);
  background: #eff4ff;
}
.art-fragment b {
  color: #4486db;
  font-size: 1.6rem;
  font-weight: 300;
}
.art-logic {
  gap: 5px;
}
.art-logic span {
  width: 28px;
  height: 28px;
  transform: rotate(45deg);
  border: 1px solid #7dafea;
  background: #dbeafa;
  border-radius: 4px;
}
.art-logic span:nth-child(2) {
  background: #bfd8fa;
  transform: rotate(45deg) translateY(-10px);
}
.art-handoff span {
  width: 24px;
  height: 24px;
  border: 2px solid #9ac3ea;
  border-radius: 50%;
  position: relative;
}
.art-handoff span:not(:last-child):after {
  content: "";
  position: absolute;
  left: 24px;
  top: 10px;
  width: 13px;
  border-top: 2px dashed #6b97df;
}
.art-handoff span:last-child {
  background: #2e68de;
  border-color: #2e68de;
  box-shadow: 0 0 0 6px #2e68de18;
}
.challenge-card h3 {
  font-size: 1.22rem;
  margin: 12px 0 10px;
  letter-spacing: -0.03em;
}
.challenge-card p {
  font-size: 0.88rem;
  line-height: 1.73;
  color: #64738b;
  margin: 0;
}
.general-method-section {
  background: #f0f5fc;
}
.general-method-section .serif {
  color: #2b69db;
}
.general-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.general-method-card {
  background: #fff;
  border: 1px solid #d7e4f5;
  border-radius: 10px;
  padding: 26px 22px 23px;
  display: flex;
  flex-direction: column;
  min-height: 345px;
  position: relative;
}
.general-method-card:not(:last-child):after {
  content: "→";
  position: absolute;
  right: -12px;
  top: 80px;
  background: #edf4fc;
  color: #2b6de3;
  z-index: 2;
  font-size: 1.25rem;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}
.general-method-index {
  font-size: 0.64rem;
  color: #4e7ab6;
  letter-spacing: 0.15em;
  font-weight: 800;
}
.general-method-icon {
  font-size: 2rem;
  line-height: 1;
  margin: 24px 0 28px;
  color: #3b7dd8;
}
.general-method-card h3 {
  font-size: 1.18rem;
  letter-spacing: -0.03em;
  margin-bottom: 13px;
}
.general-method-card p {
  font-size: 0.83rem;
  line-height: 1.69;
  color: #62748c;
  margin-bottom: 25px;
}
.method-foot {
  margin-top: auto;
  border-top: 1px solid #e1e9f4;
  padding-top: 14px;
  font-size: 0.57rem;
  letter-spacing: 0.11em;
  color: #6787ad;
  font-weight: 750;
}
.general-method-bottom {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 32px;
  border-top: 1px solid #cadbec;
  padding-top: 23px;
  flex-wrap: wrap;
}
.general-method-bottom > span {
  font-size: 0.6rem;
  font-weight: 750;
  color: #7a92ae;
  letter-spacing: 0.105em;
}
.general-method-bottom > strong {
  font-size: 0.93rem;
  font-weight: 640;
  margin-right: auto;
}
.general-method-bottom .text-link {
  color: #2456b8;
  font-size: 0.83rem;
}
.general-beliefs {
  background: radial-gradient(ellipse 70% 60% at 50% 0%, #184279, #0d2857 72%);
  color: #fff;
}
.general-beliefs-top {
  max-width: 770px;
}
.general-beliefs-top h2 {
  color: #fff;
}
.general-beliefs-top .serif {
  color: #9adef2;
}
.general-beliefs-top .body-copy {
  max-width: 635px;
  margin: 27px 0 0;
  color: #c2d2ea;
}
.general-beliefs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 64px;
}
.general-belief {
  border-top: 1px solid #7aa0d65e;
  padding-top: 27px;
}
.general-belief > span {
  font-size: 0.62rem;
  letter-spacing: 0.115em;
  color: #8db9ec;
  font-weight: 780;
}
.general-belief h3 {
  font-size: 1.34rem;
  letter-spacing: -0.035em;
  color: #fff;
  margin: 23px 0 14px;
}
.general-belief p {
  font-size: 0.9rem;
  color: #b8cce6;
  line-height: 1.75;
  max-width: 350px;
  margin: 0;
}
.general-people .serif {
  color: #2868dc;
}
.general-people-summary {
  max-width: 345px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.general-people-summary .text-link {
  align-self: flex-start;
  color: #255fcf;
}
.general-people-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}
.person-compact {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 22px;
  border: 1px solid #dce6f1;
  border-radius: 9px;
  background: #fafcff;
  transition:
    border-color 0.22s,
    box-shadow 0.22s;
}
.person-compact:hover {
  border-color: #a3bfee;
  box-shadow: 0 12px 30px #1d4e8910;
}
.person-monogram {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #e0ebff;
  font-family: Georgia, serif;
  font-size: 1.55rem;
  color: #285ebb;
  flex-shrink: 0;
}
.person-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 4px;
}
.person-details strong {
  font-size: 0.92rem;
  line-height: 1.25;
}
.person-details small {
  font-size: 0.68rem;
  line-height: 1.43;
  color: #617794;
}
.person-forward {
  font-size: 1rem;
  color: #2e65d1;
  margin-left: auto;
  align-self: flex-start;
}
.general-cta .cta-panel {
  background: linear-gradient(110deg, #12316b, #153e88);
  box-shadow: 0 24px 60px #1736651d;
}
.general-cta .cta-panel .eyebrow {
  color: #98ddef;
}
.general-cta .btn.lime {
  background: #c9f3f1;
  border-color: #c9f3f1;
  color: #0e3255;
}
.general-cta .btn.lime:hover {
  background: #d6ffff;
}
body[data-route="/"] .footer-col:nth-child(2),
body[data-route="/"] .footer-col:nth-child(3) {
  display: none;
}
body[data-route="/"] .footer-grid {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  max-width: 840px;
}
/* Keep offscreen entrance frames from creating a horizontal scrollbar. */
#main {
  overflow-x: clip;
}
/* Production presentation and responsive layout. */
body.has-motion [data-reveal] {
  opacity: 0;
  transform: translate3d(var(--reveal-x, 0px), var(--reveal-y, 30px), 0);
  transition:
    opacity 0.7s cubic-bezier(0.2, 0.65, 0.3, 1),
    transform 0.78s cubic-bezier(0.2, 0.65, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
body.has-motion [data-reveal][data-reveal-direction="left"] {
  --reveal-x: -42px;
  --reveal-y: 0px;
}
body.has-motion [data-reveal][data-reveal-direction="right"] {
  --reveal-x: 42px;
  --reveal-y: 0px;
}
body.has-motion [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}
@media (max-width: 1150px) {
  .general-hero .split {
    gap: 38px;
  }
  .general-hero h1 {
    font-size: clamp(3.35rem, 5vw, 4.6rem);
  }
  .wf-inner {
    padding: 23px 18px;
  }
  .wf-head {
    padding: 15px;
  }
  .wf-step {
    padding: 10px 6px;
    min-height: 117px;
  }
  .wf-step small {
    font-size: 0.51rem;
  }
  .general-method-card {
    padding: 23px 17px;
  }
  .general-people-grid {
    gap: 12px;
  }
  .person-compact {
    padding: 16px;
  }
}
@media (max-width: 950px) {
  .general-strip .container {
    gap: 17px;
  }
  .general-strip span {
    font-size: 0.66rem;
  }
  .general-challenge-grid {
    gap: 13px;
  }
  .challenge-card {
    padding: 21px;
  }
  .general-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .general-method-card {
    min-height: 268px;
  }
  .general-method-card:nth-child(2):after {
    display: none;
  }
  .general-people-grid {
    grid-template-columns: 1fr 1fr;
  }
  .person-compact:last-child {
    grid-column: 1/-1;
  }
  .wf-head-pill {
    font-size: 0.49rem;
  }
}
@media (max-width: 800px) {
  .general-hero {
    padding: 61px 0 77px;
  }
  .general-hero .split {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .general-hero .hero-copy {
    max-width: 680px;
  }
  .general-hero h1 {
    font-size: clamp(3.45rem, 8.7vw, 5rem);
  }
  .general-hero .lead {
    max-width: 630px;
  }
  .workflow-showcase {
    max-width: 650px;
    width: 100%;
    margin-inline: auto;
  }
  .general-strip .container {
    flex-wrap: wrap;
    gap: 14px 26px;
    justify-content: flex-start;
    padding-block: 19px;
  }
  .general-strip-label {
    flex-basis: 100%;
  }
  .general-method-grid {
    gap: 15px;
  }
  .general-beliefs-grid {
    gap: 20px;
  }
  .general-people-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .person-compact:last-child {
    grid-column: auto;
  }
  .person-compact {
    flex-wrap: wrap;
  }
  .person-forward {
    margin-left: auto;
  }
  .general-people-summary {
    max-width: 600px;
  }
  .general-people .section-header {
    margin-bottom: 28px;
  }
}
@media (max-width: 650px) {
  .general-challenge-grid {
    grid-template-columns: 1fr;
  }
  .challenge-card {
    min-height: 0;
  }
  .challenge-art {
    height: 86px;
  }
  .general-beliefs-grid {
    grid-template-columns: 1fr;
    gap: 29px;
    margin-top: 47px;
  }
  .general-belief h3 {
    margin: 12px 0 10px;
  }
  .general-people-grid {
    grid-template-columns: 1fr;
  }
  .person-compact:last-child {
    grid-column: auto;
  }
  .person-compact {
    flex-wrap: nowrap;
  }
  .general-method-bottom {
    gap: 9px 15px;
  }
  .general-method-bottom > span {
    width: 100%;
  }
  .general-method-bottom strong {
    margin-right: 0;
  }
  .general-method-bottom .text-link {
    width: 100%;
  }
}
@media (max-width: 560px) {
  .general-hero {
    padding-top: 50px;
  }
  .general-hero h1 {
    font-size: clamp(2.9rem, 12vw, 3.7rem);
  }
  .general-hero .lead {
    font-size: 0.99rem;
    line-height: 1.73;
  }
  .general-proofline {
    gap: 6px;
    font-size: 0.65rem;
  }
  .wf-head {
    padding: 13px 12px;
  }
  .wf-product-label {
    font-size: 0.56rem;
  }
  .wf-product-label small {
    display: none;
  }
  .wf-head-pill {
    font-size: 0.46rem;
    padding: 6px;
  }
  .wf-inner {
    padding: 23px 14px;
  }
  .wf-work-title h2 {
    font-size: 1.7rem;
  }
  .wf-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }
  .wf-step {
    min-height: 108px;
    padding: 8px 5px;
  }
  .wf-step strong {
    font-size: 0.6rem;
  }
  .wf-step small {
    font-size: 0.45rem;
  }
  .wf-step-ico {
    font-size: 1.2rem;
    margin: 11px 0 8px;
  }
  .wf-control-panel {
    padding: 14px;
  }
  .wf-control-list {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 11px;
  }
  .wf-control-list span {
    font-size: 0.64rem;
  }
  .wf-output {
    padding: 13px;
    gap: 9px;
  }
  .wf-output-copy strong {
    font-size: 0.71rem;
  }
  .wf-output-copy small {
    font-size: 0.52rem;
  }
  .wf-foot {
    padding: 13px;
    font-size: 0.43rem;
  }
  .general-strip span {
    font-size: 0.64rem;
  }
  .general-challenge-grid {
    gap: 12px;
  }
  .general-method-grid {
    grid-template-columns: 1fr;
  }
  .general-method-card {
    min-height: 0;
    padding: 25px;
  }
  .general-method-card:after {
    display: none !important;
  }
  .general-method-icon {
    margin: 17px 0;
  }
  .general-method-card p {
    font-size: 0.88rem;
  }
  .general-beliefs-top .body-copy {
    font-size: 0.95rem;
  }
  .general-cta .cta-panel {
    padding: 30px 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.has-motion [data-reveal],
  body.has-motion [data-reveal].is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .workflow-showcase * {
    animation: none !important;
  }
}
@media print {
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  .workflow-showcase {
    background: #122951 !important;
    color: white !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* Production presentation and responsive layout. */
.fd-overview-hero {
  padding: 68px 0 64px;
}
.fd-overview-hero .split {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
.fd-overview-hero h1 {
  font-size: clamp(3.6rem, 5.45vw, 5.1rem);
  letter-spacing: -0.06em;
  line-height: 1.08;
}
.fd-overview-hero .eyebrow {
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  margin-bottom: 25px;
}
.fd-overview-hero .lead {
  font-size: 1.055rem;
  line-height: 1.8;
  max-width: 535px;
  margin-top: 27px;
}
.fd-overview-hero .actions {
  gap: 12px;
  margin-top: 32px;
}
.fd-overview-hero .btn {
  font-size: 0.82rem;
  min-height: 50px;
  padding-inline: 20px;
}
.fd-hero-note {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.73rem;
  color: #5b7394;
  margin: 25px 0 0;
  line-height: 1.6;
  max-width: 490px;
}
.fd-hero-note > span {
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background: #2f8dc7;
  box-shadow: 0 0 0 4px #38aedd13;
  flex: none;
}
.down-arrow {
  font-size: 1.2rem;
}
.decision-example {
  background: #10264e;
  color: #fff;
  border: 1px solid #344f7c;
  border-radius: 17px;
  overflow: hidden;
  box-shadow: 0 24px 55px #14336520;
  min-width: 0;
}
.de-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 23px;
  gap: 12px;
  border-bottom: 1px solid #ffffff12;
  background: linear-gradient(100deg, #132c55, #19366a);
}
.de-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.6rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  color: #c7d9ee;
  line-height: 1.5;
}
.de-brand img {
  object-fit: contain;
  flex: none;
}
.de-example-label {
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  border: 1px solid #607ca450;
  border-radius: 20px;
  padding: 5px 9px;
  color: #c1d2eb;
  white-space: nowrap;
}
.de-heading {
  padding: 25px 25px 20px;
  background: radial-gradient(ellipse at 95% -10%, #224f932c, transparent 70%);
}
.de-eyebrow {
  font-size: 0.57rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  color: #88d5eb;
  margin-bottom: 12px;
}
.de-heading h2 {
  font-size: 2.25rem;
  line-height: 1.06;
  color: #fff;
  letter-spacing: -0.04em;
}
.de-heading h2 br {
  display: none;
}
.de-heading .serif {
  color: #9bdde8;
}
.de-heading > p:last-child {
  font-size: 0.77rem;
  color: #b6c9e5;
  margin: 12px 0 0;
  line-height: 1.6;
}
.de-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0 22px 17px;
}
.de-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #172f55;
  border: 1px solid #42618a;
  border-radius: 6px;
  color: #c7d6e9;
  padding: 11px 6px;
  min-height: 45px;
  font-size: 0.73rem;
  font-weight: 650;
  transition:
    background 0.16s,
    border-color 0.16s;
}
.de-tab-number {
  font-size: 0.59rem;
  color: #8caecb;
  font-variant-numeric: tabular-nums;
}
.de-tabs button:hover {
  background: #224674;
  border-color: #6387ba;
}
.de-tabs button[aria-selected="true"] {
  background: #dff3ff;
  border-color: #dff3ff;
  color: #133c66;
}
.de-tabs button[aria-selected="true"] .de-tab-number {
  color: #386e9d;
}
.de-tabs button:focus-visible,
.de-panel:focus-visible,
.de-quiet:focus-visible,
.de-bottom button:focus-visible {
  outline: 2px solid #9de4f1;
  outline-offset: 3px;
}
.de-panels {
  margin: 0 22px 20px;
  background: #f9fbff;
  border: 1px solid #d7e2f2;
  border-radius: 10px;
  color: #153050;
  min-height: 322px;
  display: grid;
}
.de-panel {
  grid-area: 1/1;
  padding: 20px 20px 18px;
  display: flex;
  flex-direction: column;
  min-height: 322px;
}
.de-panel-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.de-state {
  font-size: 0.53rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  color: #16645e;
  background: #e6f3f0;
  border: 1px solid #bcdcd5;
  border-radius: 4px;
  padding: 5px 7px;
  line-height: 1.4;
}
.de-state.warning {
  background: #fff3df;
  border-color: #eed6a8;
  color: #83591c;
}
.de-version {
  font-size: 0.56rem;
  color: #667a94;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.de-panel h3 {
  font-size: 1.18rem;
  line-height: 1.22;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
  font-weight: 650;
  color: #153352;
}
.de-description {
  font-size: 0.77rem;
  line-height: 1.7;
  color: #546b86;
  margin: 0 0 14px;
  max-width: none;
}
.de-review-evidence {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e4d6b7;
  background: #fffcf4;
  border-radius: 6px;
}
.de-evidence-symbol {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid #e1be79;
  background: #fff1d2;
  color: #805617;
  border-radius: 50%;
  font-size: 0.85rem;
  font-weight: 700;
  flex: none;
}
.de-review-evidence b {
  font-size: 0.76rem;
  display: block;
  font-weight: 650;
  line-height: 1.45;
  color: #3b4355;
}
.de-review-evidence div > span {
  display: block;
  font-size: 0.64rem;
  color: #766a51;
  margin-top: 3px;
  line-height: 1.6;
}
.de-review-note {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.66rem;
  color: #4c6781;
  margin: 12px 0 17px;
}
.de-note-check {
  color: #16816d;
  font-weight: 700;
}
.de-panel-actions {
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 3px;
}
.de-action {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  background: #245ce5;
  color: white;
  border: 1px solid #245ce5;
  min-height: 42px;
  border-radius: 5px;
  padding: 10px 14px;
  font-size: 0.69rem;
  font-weight: 650;
  line-height: 1.3;
  transition: background 0.15s;
}
.de-action:hover {
  background: #1948bd;
  border-color: #1948bd;
}
.de-action:focus-visible {
  outline: 3px solid #296bf0;
  outline-offset: 3px;
}
.de-quiet {
  border: 0;
  border-bottom: 1px solid #a4b6cc;
  background: transparent;
  color: #3e5f88;
  padding: 9px 0;
  font-size: 0.65rem;
  line-height: 1.4;
}
.de-quiet:focus-visible {
  outline-color: #2d6ed1;
}
.de-source-list {
  display: grid;
  gap: 0;
  margin: -2px 0 13px;
}
.de-source-list > div {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #dce6f2;
  padding: 9px 0;
}
.de-source-icon {
  width: 25px;
  height: 28px;
  display: grid;
  place-items: center;
  background: #edf2fb;
  border: 1px solid #d5e1f0;
  border-radius: 4px;
  font-size: 0.58rem;
  color: #4a6d9d;
  flex: none;
}
.de-source-list b {
  display: block;
  font-size: 0.71rem;
  font-weight: 650;
  line-height: 1.5;
}
.de-source-list small {
  display: block;
  font-size: 0.62rem;
  color: #5c7390;
  line-height: 1.55;
}
.de-source-tag {
  margin-left: auto;
  font-size: 0.61rem;
  color: #21695e;
}
.de-rule-list {
  margin: 0 0 15px;
  font-size: 0.67rem;
}
.de-rule-list > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
  padding: 7px 0;
  border-top: 1px solid #dce6f2;
  line-height: 1.5;
}
.de-rule-list dt {
  color: #576c88;
}
.de-rule-list dd {
  margin: 0;
  font-weight: 650;
  color: #334d6f;
  text-align: right;
}
.de-rule-list .de-rule-warning dd {
  color: #936218;
}
.de-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 23px;
  background: #0c2042;
  border-top: 1px solid #28446c;
  color: #b7c9df;
  font-size: 0.58rem;
  line-height: 1.6;
}
.de-bottom > span {
  display: flex;
  align-items: center;
  gap: 7px;
}
.de-bottom i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #75d0d8;
  flex: none;
}
.de-bottom button {
  background: transparent;
  border: 0;
  color: #c6d9ed;
  font-size: 0.59rem;
  padding: 5px 0;
  min-height: 32px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 7px;
}
.de-bottom button:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.fd-principle-strip {
  background: #eff4fc;
  border-block: 1px solid #dfe8f4;
}
.fd-principle-strip .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 75px;
}
.fd-principle-strip span {
  font-size: 0.76rem;
  color: #35577c;
  font-weight: 550;
  line-height: 1.5;
}
.fd-principle-strip span:not(:first-child):before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  background: #3b7ee3;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 11px;
}
.fd-principle-strip .fd-strip-label {
  font-size: 0.59rem;
  letter-spacing: 0.13em;
  color: #4a72a7;
  font-weight: 750;
}
.fd-operating {
  padding: 88px 0 68px;
}
.fd-operating .section-header {
  margin-bottom: 35px;
}
.fd-operating h2,
.fd-people h2 {
  font-size: clamp(2.3rem, 3.5vw, 3.2rem);
  line-height: 1.12;
}
.fd-operating .serif {
  color: #2b66dd;
}
.fd-operating .section-header .body-copy {
  font-size: 0.93rem;
  max-width: 344px;
  line-height: 1.8;
}
.fd-role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.fd-role-card {
  padding: 28px 26px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: linear-gradient(170deg, #fff, #f9fbff);
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.fd-role-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 31px;
}
.fd-role-top > span {
  font-size: 0.59rem;
  letter-spacing: 0.11em;
  font-weight: 750;
  color: #5476a2;
  line-height: 1.55;
}
.fd-role-top svg {
  height: 26px;
  width: 26px;
  flex: none;
  fill: none;
  stroke: #3270de;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fd-role-top svg circle {
  fill: #f7faff;
}
.fd-role-card h3 {
  font-size: 1.32rem;
  line-height: 1.24;
  letter-spacing: -0.035em;
  margin-bottom: 14px;
}
.fd-role-card > p {
  font-size: 0.88rem;
  line-height: 1.8;
  color: #5c708a;
  max-width: 330px;
  margin-bottom: 28px;
}
.fd-role-output {
  margin-top: auto;
  border-top: 1px solid #dce7f3;
  padding-top: 17px;
}
.fd-role-output span {
  display: block;
  font-size: 0.52rem;
  letter-spacing: 0.14em;
  font-weight: 750;
  color: #71849d;
  margin-bottom: 6px;
}
.fd-role-output strong {
  display: block;
  font-size: 0.76rem;
  color: #35577c;
  line-height: 1.6;
  font-weight: 650;
}
.fd-operating-note {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 27px;
}
.fd-quiet-line {
  width: 24px;
  height: 1px;
  background: #8dadd8;
  flex: none;
}
.fd-operating-note p {
  color: #60738b;
  font-size: 0.8rem;
  line-height: 1.7;
  margin: 0;
  max-width: 760px;
}
.fd-demo-return {
  background: transparent;
  cursor: pointer;
  border: 0;
  border-bottom: 1px solid transparent;
  color: #2a61ce;
  font-size: 0.78rem;
  margin-left: auto;
  flex: none;
}
.fd-validation {
  background: #0d2857;
  color: #fff;
  padding: 78px 0;
}
.fd-validation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 85px;
  align-items: start;
}
.fd-validation .eyebrow {
  color: #8fcae8;
  font-size: 0.62rem;
  margin-bottom: 24px;
}
.fd-validation .point {
  background: #85d7e9;
}
.fd-validation h2 {
  font-size: clamp(2.4rem, 3.65vw, 3.4rem);
  line-height: 1.13;
  color: #fff;
  letter-spacing: -0.04em;
  max-width: 530px;
}
.fd-validation h2 .serif {
  color: #9adce8;
}
.fd-validation-intro > p:not(.eyebrow) {
  font-size: 0.96rem;
  line-height: 1.8;
  color: #c0d0e6;
  margin: 25px 0;
  max-width: 460px;
}
.fd-validation .text-link {
  color: #a2dff1;
  font-size: 0.86rem;
}
.fd-validation-rows article {
  display: flex;
  gap: 21px;
  padding: 25px 0;
  border-top: 1px solid #4a68905c;
}
.fd-validation-rows article:first-child {
  padding-top: 2px;
  border-top: 0;
}
.fd-validation-rows article:last-child {
  padding-bottom: 0;
}
.fd-check-number {
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  color: #8baedb;
  flex: none;
  padding-top: 4px;
  font-weight: 650;
}
.fd-validation-rows h3 {
  font-size: 1.16rem;
  line-height: 1.3;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
}
.fd-validation-rows p {
  font-size: 0.85rem;
  line-height: 1.75;
  color: #bfcee3;
  margin-bottom: 13px;
}
.fd-check-output {
  font-size: 0.65rem;
  color: #93b7df;
  line-height: 1.6;
}
.fd-people {
  padding: 80px 0 62px;
}
.fd-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.fd-team-card {
  background: #fafcff;
  border: 1px solid #dce6f2;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  padding: 25px;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.fd-team-card:hover {
  background: #f0f5fe;
  border-color: #97b7e5;
}
.fd-team-kicker {
  font-size: 0.56rem;
  letter-spacing: 0.11em;
  font-weight: 750;
  color: #5a7ba6;
  line-height: 1.6;
  margin-bottom: 23px;
}
.fd-team-card h3 {
  font-size: 1.6rem;
  letter-spacing: -0.035em;
  margin-bottom: 9px;
}
.fd-team-title {
  font-size: 0.76rem;
  color: #3e608b;
  line-height: 1.5;
  margin: 0 0 18px;
  min-height: 24px;
}
.fd-team-copy {
  font-size: 0.83rem;
  line-height: 1.8;
  color: #63758c;
  margin: 0 0 24px;
  max-width: 300px;
}
.fd-team-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #dbe6f3;
  padding-top: 16px;
  margin-top: auto;
  font-size: 0.73rem;
  font-weight: 650;
  color: #2c62bd;
}
.fd-cta {
  padding: 15px 0 65px;
}
.fd-cta .cta-panel {
  padding: 39px 43px;
  box-shadow: none;
}
.fd-cta .cta-panel h2 {
  font-size: 2.3rem;
  line-height: 1.15;
}
.fd-cta .cta-panel p {
  font-size: 0.88rem;
  margin-top: 14px;
}
.mobile-product-nav {
  display: none;
}
/* Content appears once, quickly. No cascading paragraph animations. */
body.has-motion [data-reveal] {
  --reveal-y: 20px;
  opacity: 0;
  transform: translate3d(var(--reveal-x, 0px), var(--reveal-y, 20px), 0);
  transition:
    opacity 0.32s ease-out,
    transform 0.42s cubic-bezier(0.2, 0.65, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: auto;
}
body.has-motion [data-reveal][data-reveal-direction="left"] {
  --reveal-x: -20px;
  --reveal-y: 0px;
}
body.has-motion [data-reveal][data-reveal-direction="right"] {
  --reveal-x: 20px;
  --reveal-y: 0px;
}
body.has-motion [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
#main.route-enter {
  animation: none;
}
html.no-motion body.has-motion [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
@media (min-width: 1550px) {
  .fd-overview-hero {
    padding: 78px 0;
  }
  .fd-overview-hero h1 {
    font-size: 5.15rem;
  }
}
@media (max-width: 1150px) {
  .fd-overview-hero {
    padding: 53px 0;
  }
  .fd-overview-hero .split {
    gap: 35px;
  }
  .fd-overview-hero h1 {
    font-size: clamp(3.55rem, 5.45vw, 4.5rem);
  }
  .fd-overview-hero .eyebrow {
    font-size: 0.61rem;
  }
  .fd-overview-hero .lead {
    font-size: 0.97rem;
  }
  .fd-overview-hero .btn {
    font-size: 0.75rem;
    padding-inline: 16px;
  }
  .de-heading {
    padding: 23px 20px 18px;
  }
  .de-heading h2 {
    font-size: 1.95rem;
  }
  .de-tabs {
    margin-inline: 17px;
  }
  .de-panels {
    margin-inline: 17px;
  }
  .de-top {
    padding-inline: 19px;
  }
  .de-panel {
    padding: 18px 16px;
    min-height: 330px;
  }
  .de-panels {
    min-height: 330px;
  }
  .de-panel-actions {
    gap: 10px;
  }
  .de-quiet {
    font-size: 0.61rem;
  }
  .de-action {
    font-size: 0.65rem;
    padding-inline: 11px;
  }
  .fd-role-grid,
  .fd-team-grid {
    gap: 15px;
  }
  .fd-role-card {
    padding: 25px 20px;
  }
  .fd-validation-grid {
    gap: 50px;
  }
  .fd-team-card {
    padding: 23px;
  }
  .fd-team-title {
    min-height: 37px;
  }
  .fd-operating .section-header .body-copy {
    max-width: 300px;
  }
}
@media (max-width: 950px) and (min-width: 801px) {
  .fd-overview-hero .split {
    grid-template-columns: 0.95fr 1fr;
    gap: 26px;
  }
  .fd-overview-hero h1 {
    font-size: 3.52rem;
  }
  .fd-overview-hero .lead {
    font-size: 0.93rem;
  }
  .fd-overview-hero .actions {
    gap: 10px;
  }
  .fd-overview-hero .btn {
    padding-inline: 14px;
    font-size: 0.72rem;
  }
  .de-brand {
    font-size: 0.53rem;
    letter-spacing: 0.08em;
  }
  .de-example-label {
    font-size: 0.49rem;
  }
  .de-heading h2 {
    font-size: 1.9rem;
  }
  .de-panel h3 {
    font-size: 1.08rem;
  }
  .de-tabs button {
    font-size: 0.66rem;
    gap: 5px;
  }
  .de-panel-actions {
    gap: 5px 13px;
  }
  .de-quiet {
    font-size: 0.61rem;
  }
  .de-description {
    font-size: 0.74rem;
  }
  .de-panel,
  .de-panels {
    min-height: 350px;
  }
  .fd-principle-strip .container {
    gap: 16px;
  }
  .fd-principle-strip span {
    font-size: 0.65rem;
  }
  .fd-team-grid {
    gap: 12px;
  }
  .fd-team-card {
    padding: 20px;
  }
  .fd-role-card h3 {
    font-size: 1.2rem;
  }
}
@media (max-width: 800px) {
  :root {
    --header-height: 122px;
  }
  .header-inner {
    height: 74px;
  }
  .mobile-product-nav {
    display: flex;
    gap: 4px;
    align-items: center;
    border-top: 1px solid #e1e9f5;
    padding: 4px 20px;
    background: #f7faff;
    min-height: 48px;
  }
  .mobile-product-nav > span {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #667c9c;
    margin-right: auto;
  }
  .mobile-product-nav a {
    min-height: 39px;
    min-width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 650;
    color: #2f4d75;
    border-radius: 5px;
    padding: 7px 16px;
  }
  .mobile-product-nav a:hover {
    background: #eaf1fc;
  }
  .mobile-product-nav a[aria-current="page"] {
    color: #245ade;
    background: #e5edfc;
  }
  .mobile-product-nav a[data-nav="finance"][aria-current="page"] {
    background: #e3efe7;
    color: #19584b;
  }
  .mobile-menu {
    max-height: calc(100dvh - 122px);
  }
  .fd-overview-hero {
    padding: 44px 0 52px;
  }
  .fd-overview-hero .split {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .fd-overview-hero .hero-copy {
    max-width: 680px;
  }
  .fd-overview-hero h1 {
    font-size: clamp(3.45rem, 8.6vw, 5rem);
  }
  .fd-overview-hero .eyebrow {
    font-size: 0.63rem;
  }
  .fd-overview-hero .lead {
    max-width: 620px;
    font-size: 1.02rem;
  }
  .fd-overview-hero .btn {
    font-size: 0.8rem;
  }
  .decision-example {
    width: 100%;
    max-width: 620px;
    margin-inline: auto;
  }
  .de-heading h2 {
    font-size: 2.2rem;
  }
  .de-panel,
  .de-panels {
    min-height: 320px;
  }
  .de-panel-actions {
    gap: 18px;
  }
  .de-quiet {
    font-size: 0.68rem;
  }
  .de-action {
    font-size: 0.73rem;
  }
  .de-heading {
    padding: 24px;
  }
  .de-top {
    padding-inline: 23px;
  }
  .de-tabs {
    margin-inline: 23px;
  }
  .de-panels {
    margin-inline: 23px;
  }
  .de-panel {
    padding: 20px;
  }
  .de-brand {
    font-size: 0.62rem;
  }
  .de-panel h3 {
    font-size: 1.2rem;
  }
  .de-description {
    font-size: 0.82rem;
  }
  .de-tabs button {
    font-size: 0.78rem;
  }
  .de-state {
    font-size: 0.57rem;
  }
  .de-source-list b {
    font-size: 0.78rem;
  }
  .de-source-list small {
    font-size: 0.7rem;
  }
  .de-rule-list {
    font-size: 0.75rem;
  }
  .fd-principle-strip .container {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 23px;
    padding-block: 19px;
  }
  .fd-principle-strip .fd-strip-label {
    flex-basis: 100%;
  }
  .fd-principle-strip span {
    font-size: 0.7rem;
  }
  .fd-operating {
    padding: 62px 0 48px;
  }
  .fd-operating .section-header .body-copy {
    max-width: 620px;
  }
  .fd-role-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .fd-role-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 26px;
    padding: 24px;
  }
  .fd-role-top {
    grid-column: 1/-1;
    margin-bottom: 16px;
  }
  .fd-role-top > span {
    font-size: 0.64rem;
  }
  .fd-role-card h3 {
    font-size: 1.35rem;
  }
  .fd-role-card > p {
    grid-column: 1;
    grid-row: 3;
    margin-bottom: 0;
    font-size: 0.87rem;
  }
  .fd-role-output {
    grid-column: 2;
    grid-row: 2/4;
    align-self: center;
    padding: 0 0 0 22px;
    border-top: 0;
    border-left: 1px solid #dce7f3;
  }
  .fd-role-output strong {
    font-size: 0.8rem;
  }
  .fd-operating-note {
    flex-wrap: wrap;
    gap: 10px 14px;
  }
  .fd-operating-note p {
    max-width: calc(100% - 42px);
  }
  .fd-demo-return {
    margin-left: 38px;
  }
  .fd-validation {
    padding: 60px 0;
  }
  .fd-validation-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .fd-validation-intro > p:not(.eyebrow) {
    max-width: 620px;
  }
  .fd-validation-rows article {
    gap: 20px;
  }
  .fd-validation-rows p {
    font-size: 0.9rem;
    max-width: 570px;
  }
  .fd-check-output {
    font-size: 0.7rem;
  }
  .fd-validation h2 {
    font-size: 3rem;
    max-width: 600px;
  }
  .fd-people {
    padding: 60px 0 45px;
  }
  .fd-team-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .fd-team-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 22px;
    padding: 25px;
  }
  .fd-team-kicker {
    grid-column: 1/-1;
    margin-bottom: 15px;
  }
  .fd-team-card h3 {
    grid-column: 1;
  }
  .fd-team-title {
    grid-column: 1;
    min-height: 0;
    font-size: 0.76rem;
    margin-bottom: 0;
  }
  .fd-team-copy {
    grid-column: 2;
    grid-row: 2/4;
    margin-bottom: 0;
    font-size: 0.85rem;
  }
  .fd-team-bottom {
    grid-column: 1/-1;
    margin-top: 20px;
  }
  .fd-cta {
    padding: 10px 0 45px;
  }
  .fd-cta .cta-panel {
    padding: 32px;
  }
  .fd-cta .cta-panel h2 {
    font-size: 2.35rem;
  }
}
@media (max-width: 560px) {
  .fd-overview-hero {
    padding: 35px 0 44px;
  }
  .fd-overview-hero h1 {
    font-size: clamp(2.8rem, 11.7vw, 4rem);
    line-height: 1.1;
  }
  .fd-overview-hero .eyebrow {
    font-size: 0.56rem;
    letter-spacing: 0.105em;
    line-height: 1.7;
    margin-bottom: 19px;
  }
  .fd-overview-hero .lead {
    font-size: 0.96rem;
    line-height: 1.75;
    margin-top: 22px;
  }
  .fd-overview-hero .actions {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    gap: 9px;
    margin-top: 24px;
    max-width: 380px;
  }
  .fd-overview-hero .btn {
    font-size: 0.71rem;
    padding: 13px 10px;
    min-height: 47px;
    gap: 8px;
  }
  .fd-hero-note {
    font-size: 0.67rem;
    margin-top: 20px;
    align-items: flex-start;
    gap: 10px;
  }
  .fd-hero-note > span {
    margin-top: 6px;
  }
  .fd-overview-hero .split {
    gap: 29px;
  }
  .de-top {
    padding: 14px 15px;
    gap: 7px;
  }
  .de-brand {
    font-size: 0.51rem;
    letter-spacing: 0.075em;
    gap: 7px;
  }
  .de-brand img {
    width: 17px;
    height: 21px;
  }
  .de-example-label {
    font-size: 0.46rem;
    padding: 4px 7px;
    letter-spacing: 0.07em;
  }
  .de-heading {
    padding: 21px 17px 18px;
  }
  .de-heading h2 {
    font-size: 1.97rem;
    line-height: 1.15;
  }
  .de-heading h2 br {
    display: block;
  }
  .de-heading > p:last-child {
    font-size: 0.73rem;
    line-height: 1.7;
  }
  .de-eyebrow {
    font-size: 0.49rem;
    letter-spacing: 0.12em;
  }
  .de-tabs {
    gap: 5px;
    margin: 0 13px 13px;
  }
  .de-tabs button {
    flex-direction: column;
    gap: 3px;
    min-height: 54px;
    padding: 8px 4px;
    font-size: 0.68rem;
  }
  .de-tab-number {
    font-size: 0.51rem;
  }
  .de-panels {
    margin: 0 13px 14px;
    min-height: 355px;
  }
  .de-panel {
    padding: 17px 14px;
    min-height: 355px;
  }
  .de-panel h3 {
    font-size: 1.11rem;
    line-height: 1.3;
  }
  .de-panel-top {
    gap: 7px;
    margin-bottom: 14px;
  }
  .de-state {
    font-size: 0.48rem;
    letter-spacing: 0.055em;
    padding: 5px 6px;
  }
  .de-version {
    font-size: 0.5rem;
  }
  .de-description {
    font-size: 0.75rem;
    line-height: 1.75;
  }
  .de-review-evidence {
    gap: 9px;
    padding: 12px;
  }
  .de-review-evidence b {
    font-size: 0.69rem;
  }
  .de-review-evidence div > span {
    font-size: 0.6rem;
  }
  .de-review-note {
    font-size: 0.61rem;
    margin-bottom: 14px;
  }
  .de-panel-actions {
    gap: 6px 12px;
  }
  .de-action {
    font-size: 0.66rem;
    min-height: 44px;
    gap: 12px;
    padding-inline: 12px;
  }
  .de-quiet {
    font-size: 0.62rem;
    min-height: 38px;
  }
  .de-rule-list {
    font-size: 0.69rem;
  }
  .de-source-list b {
    font-size: 0.73rem;
  }
  .de-source-list small {
    font-size: 0.64rem;
  }
  .de-bottom {
    padding: 10px 15px;
    gap: 8px;
    font-size: 0.5rem;
  }
  .de-bottom button {
    font-size: 0.54rem;
  }
  .fd-principle-strip .container {
    gap: 12px 20px;
    padding-block: 19px;
  }
  .fd-principle-strip span {
    font-size: 0.66rem;
  }
  .fd-principle-strip span:not(:first-child):before {
    margin-right: 8px;
  }
  .fd-operating {
    padding: 51px 0 42px;
  }
  .fd-operating h2,
  .fd-people h2 {
    font-size: 2.25rem;
    line-height: 1.14;
  }
  .fd-operating .section-header .body-copy {
    font-size: 0.9rem;
  }
  .fd-role-card {
    display: flex;
    padding: 23px;
  }
  .fd-role-top {
    margin-bottom: 23px;
  }
  .fd-role-card h3 {
    font-size: 1.4rem;
  }
  .fd-role-card > p {
    max-width: none;
    margin-bottom: 23px;
    font-size: 0.9rem;
  }
  .fd-role-output {
    border-left: 0;
    border-top: 1px solid #dce7f3;
    padding: 16px 0 0;
    align-self: stretch;
  }
  .fd-role-output strong {
    font-size: 0.78rem;
  }
  .fd-operating-note p {
    font-size: 0.77rem;
  }
  .fd-validation {
    padding: 52px 0;
  }
  .fd-validation h2 {
    font-size: 2.4rem;
    line-height: 1.17;
  }
  .fd-validation .eyebrow {
    font-size: 0.55rem;
  }
  .fd-validation-intro > p:not(.eyebrow) {
    font-size: 0.9rem;
    margin: 20px 0;
  }
  .fd-validation-grid {
    gap: 31px;
  }
  .fd-validation-rows article {
    gap: 15px;
    padding: 23px 0;
  }
  .fd-validation-rows h3 {
    font-size: 1.16rem;
  }
  .fd-validation-rows p {
    font-size: 0.85rem;
  }
  .fd-check-output {
    font-size: 0.62rem;
  }
  .fd-people {
    padding: 52px 0 36px;
  }
  .fd-team-card {
    display: flex;
    padding: 24px;
  }
  .fd-team-kicker {
    margin-bottom: 19px;
    font-size: 0.57rem;
  }
  .fd-team-card h3 {
    font-size: 1.7rem;
  }
  .fd-team-title {
    font-size: 0.74rem;
    margin-bottom: 15px;
  }
  .fd-team-copy {
    font-size: 0.87rem;
    margin-bottom: 20px;
    max-width: none;
  }
  .fd-team-bottom {
    margin-top: auto;
    font-size: 0.76rem;
  }
  .fd-cta .cta-panel {
    padding: 28px 25px;
  }
  .fd-cta .cta-panel h2 {
    font-size: 2.05rem;
  }
  .fd-cta .cta-panel p {
    font-size: 0.86rem;
  }
  .mobile-product-nav {
    padding-inline: 20px;
  }
  .mobile-product-nav a {
    min-width: 92px;
    font-size: 0.76rem;
  }
  .mobile-product-nav > span {
    font-size: 0.58rem;
  }
  body.has-motion [data-reveal][data-reveal-direction] {
    --reveal-x: 0px;
    --reveal-y: 16px;
  }
}
@media (max-width: 370px) {
  .fd-overview-hero h1 {
    font-size: 2.77rem;
  }
  .fd-overview-hero .btn {
    font-size: 0.67rem;
    padding-inline: 11px;
    gap: 8px;
  }
  .de-panel,
  .de-panels {
    min-height: 382px;
  }
  .de-panel-top {
    align-items: flex-start;
  }
  .de-state {
    max-width: 175px;
  }
  .de-panel-actions {
    gap: 6px;
  }
  .de-review-note {
    font-size: 0.56rem;
  }
  .de-bottom {
    padding-inline: 13px;
    font-size: 0.47rem;
  }
  .de-bottom button {
    font-size: 0.48rem;
  }
  .fd-principle-strip span {
    font-size: 0.65rem;
  }
  .de-rule-list {
    font-size: 0.65rem;
  }
  .de-panel h3 {
    font-size: 1.02rem;
  }
  .de-description {
    font-size: 0.72rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.has-motion [data-reveal],
  body.has-motion [data-reveal].is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .de-tabs button,
  .fd-team-card {
    transition: none !important;
  }
}
@media print {
  .mobile-product-nav,
  .de-panel-actions,
  .de-bottom button {
    display: none !important;
  }
  .decision-example {
    break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .fd-validation {
    background: white !important;
    color: #12233f !important;
  }
  .fd-validation h2,
  .fd-validation h3,
  .fd-validation p {
    color: #12233f !important;
  }
  .fd-role-grid,
  .fd-team-grid {
    display: block;
  }
  .fd-role-card,
  .fd-team-card {
    break-inside: avoid;
    margin-bottom: 20px;
  }
}

/* Production presentation and responsive layout. */
.fd-team-card.fd-portrait-card {
  padding: 0;
  overflow: hidden;
  min-width: 0;
}
.fd-team-photo-frame {
  height: 300px;
  position: relative;
  overflow: hidden;
  background: #e7edf7;
  flex: none;
}
.fd-team-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(16, 40, 80, 0.11), transparent 52%);
}
.fd-home-portrait,
.fd-about-portrait,
.fd-profile-portrait,
.fd-finance-portrait {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fd-home-portrait {
  transition: transform 0.42s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.fd-portrait-card:hover .fd-home-portrait {
  transform: scale(1.025);
}
.fd-photo-alex {
  object-position: center 13%;
}
.fd-photo-ilya {
  object-position: center 19%;
}
.fd-photo-virgil {
  object-position: center 12%;
}
.fd-home-card-body {
  padding: 23px 24px 24px;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.fd-portrait-card .fd-team-kicker {
  margin-bottom: 14px;
}
.fd-portrait-card .fd-team-title {
  min-height: 42px;
}
.fd-portrait-card .fd-team-copy {
  min-height: 0;
}
/* Dedicated team page */
.team-card .avatar.fd-about-frame {
  height: 300px;
  padding: 0;
  position: relative;
  overflow: hidden;
  background: #eaf0f9;
  align-items: stretch;
  margin-bottom: 27px;
  border-radius: 8px;
}
.fd-about-frame .fd-about-portrait {
  height: 100%;
}
.fd-about-frame .role-number {
  position: absolute;
  z-index: 2;
  right: 13px;
  top: 13px;
  color: #2b4869;
  font-size: 0.67rem;
  line-height: 1;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.91);
  border-radius: 4px;
  padding: 7px 9px;
}
/* Founder profile and Finance card */
.fd-profile-portrait-frame {
  height: 245px;
  margin-bottom: 24px;
  border-radius: 9px;
  overflow: hidden;
  background: #e7eefa;
}
.fd-profile-portrait {
  object-position: center 12%;
}
.fd-finance-portrait {
  width: 132px;
  height: 142px;
  border-radius: 10px;
  margin-bottom: 23px;
  border: 3px solid rgba(255, 255, 255, 0.85);
  object-position: center 28%;
  box-shadow: 0 12px 28px rgba(18, 58, 42, 0.13);
}
@media (max-width: 800px) {
  .fd-team-photo-frame {
    height: 280px;
  }
  .team-card .avatar.fd-about-frame {
    height: 156px;
    margin-bottom: 0;
  }
}
@media (max-width: 560px) {
  .fd-team-photo-frame {
    height: 265px;
  }
  .team-card .avatar.fd-about-frame {
    height: 115px;
    margin-bottom: 0;
  }
  .fd-profile-portrait-frame {
    height: 230px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-home-portrait {
    transition: none !important;
  }
  .fd-portrait-card:hover .fd-home-portrait {
    transform: none !important;
  }
}

/* Production presentation and responsive layout. */
:root {
  --fd-ease: cubic-bezier(0.2, 0.65, 0.3, 1);
}
.site-header .desktop-nav {
  gap: 34px;
}
.site-header .brand-lockup {
  width: 180px;
}
.header-inner {
  height: 84px;
}
body[data-route="/"] .home-hero .split {
  grid-template-columns: 1.02fr 1fr;
  gap: 64px;
  align-items: center;
}
body[data-route="/"] .home-hero {
  padding: 74px 0 78px;
}
.fd-workspace-hero .lead {
  max-width: 510px;
  font-size: 1.06rem;
}
.fd-workspace-hero .hero-note {
  font-size: 0.73rem;
}
.fd-workspace-hero h1 {
  font-size: clamp(3.7rem, 5.75vw, 5.3rem);
}
.outcome-studio {
  border: 1px solid #ccdcf2;
  border-radius: 18px;
  padding: 27px;
  background: linear-gradient(145deg, #fdfefe, #eaf2ff);
  box-shadow: 0 22px 60px #153a7011;
  min-width: 0;
  position: relative;
}
.studio-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 23px;
}
.studio-heading .eyebrow {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
}
.studio-heading h2 {
  font-size: 1.95rem;
  letter-spacing: -0.04em;
  line-height: 1.12;
}
.studio-heading > img {
  width: 35px;
  height: 40px;
  object-fit: contain;
  margin-top: 3px;
}
.studio-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 4px;
  background: #e4ecf8;
  border: 1px solid #d3e0f2;
  border-radius: 8px;
  gap: 4px;
}
.studio-tabs button {
  border: 0;
  background: transparent;
  color: #526782;
  font-size: 0.79rem;
  font-weight: 650;
  padding: 9px 10px;
  min-height: 39px;
  border-radius: 5px;
  transition:
    background 0.2s,
    color 0.2s;
}
.studio-tabs button[aria-selected="true"] {
  color: #2059c8;
  background: #fff;
  box-shadow: 0 2px 8px #233e6012;
}
.studio-flow {
  display: grid;
  grid-template-columns: 1.25fr 36px 0.85fr;
  align-items: center;
  gap: 9px;
  padding: 23px 0;
}
.flow-inputs {
  display: grid;
  gap: 8px;
}
.input-chip {
  display: flex;
  gap: 11px;
  align-items: center;
  border: 1px solid #dbe5f2;
  background: #fff;
  border-radius: 7px;
  padding: 10px 12px;
  transition:
    border-color 0.3s,
    box-shadow 0.3s,
    transform 0.3s;
}
.flow-icon {
  height: 29px;
  width: 29px;
  background: #edf4ff;
  border-radius: 6px;
  color: #2862da;
  display: grid;
  place-items: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.input-chip strong {
  display: block;
  font-size: 0.76rem;
  color: #274268;
  font-weight: 650;
  line-height: 1.3;
}
.input-chip div > span {
  display: block;
  font-size: 0.65rem;
  line-height: 1.45;
  color: #607491;
  margin-top: 3px;
}
.flow-bridge {
  height: 132px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6188c9;
}
.flow-bridge > span {
  position: absolute;
  left: 0;
  width: 30px;
  height: 30px;
  border-right: 1px solid #adc6eb;
  border-top: 1px solid #adc6eb;
  top: 20px;
  transform: skewY(24deg);
}
.flow-bridge > span:nth-child(2) {
  top: 64px;
  height: 1px;
  transform: none;
}
.flow-bridge > span:nth-child(3) {
  top: 64px;
  height: 47px;
  border-top: 0;
  border-bottom: 1px solid #adc6eb;
  transform: skewY(-24deg);
}
.flow-bridge b {
  position: absolute;
  right: -2px;
  top: 48px;
  background: #f3f7fe;
  padding: 0 0 0 4px;
  font-weight: 400;
}
.flow-core {
  min-height: 165px;
  border-radius: 12px;
  background: #13366b;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 9px;
  padding: 17px 10px;
  box-shadow: 0 8px 22px #174c9016;
  transition:
    box-shadow 0.3s,
    transform 0.3s;
}
.flow-core > img {
  width: 26px;
  height: 31px;
  object-fit: contain;
}
.flow-core strong {
  font-size: 0.91rem;
  line-height: 1.35;
  font-weight: 600;
}
.flow-core > span {
  color: #b8cef0;
  font-size: 0.57rem;
  line-height: 1.5;
}
.outcome-panel {
  padding: 21px 22px;
  background: white;
  border: 1px solid #cfdff1;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  min-height: 212px;
  transition:
    border-color 0.3s,
    box-shadow 0.3s;
}
.outcome-top {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.64rem;
  color: #437273;
  font-weight: 650;
  line-height: 1.5;
  margin-bottom: 12px;
}
.outcome-check {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #e5f5f0;
  color: #257565;
}
.outcome-panel h3 {
  font-size: 1.38rem;
  font-weight: 550;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.outcome-lines {
  margin-top: 16px;
  display: grid;
  gap: 6px;
}
.outcome-lines span {
  font-size: 0.7rem;
  color: #5c6f86;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}
.outcome-lines span:before {
  content: "";
  width: 4px;
  height: 4px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #5c8bce;
}
.studio-footer {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: space-between;
  margin-top: 19px;
  min-height: 30px;
}
.studio-footer > span {
  font-size: 0.63rem;
  line-height: 1.5;
  color: #687f9c;
  max-width: 210px;
}
.studio-play {
  background: transparent;
  border: 0;
  font-size: 0.73rem;
  font-weight: 650;
  color: #205cce;
  display: flex;
  align-items: center;
  gap: 11px;
  white-space: nowrap;
  min-height: 40px;
  padding: 0 0 0 6px;
}
.studio-play:hover {
  color: #14386e;
}
.outcome-studio[data-flow-phase="inputs"] .input-chip {
  border-color: #82aceb;
  box-shadow: 0 0 0 3px #3f7cf712;
  transform: translateX(3px);
}
.outcome-studio[data-flow-phase="work"] .flow-core {
  box-shadow:
    0 0 0 7px #8cb9ff3f,
    0 8px 32px #3165bd2b;
  transform: scale(1.02);
}
.outcome-studio[data-flow-phase="outcome"] .outcome-panel {
  border-color: #6cbaaa;
  box-shadow: 0 0 0 4px #68ad9a15;
}
.outcome-studio[data-flow-phase="outcome"] .outcome-check {
  background: #d0ede3;
}
.fd-principles .feature-panel {
  padding: 30px;
  min-height: 210px;
}
.fd-principles .feature-panel p {
  margin-bottom: 0;
}
.principle-icon {
  width: 41px;
  height: 41px;
  background: #edf3fe;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #2563da;
  font-size: 1.3rem;
  margin-bottom: 23px;
}
.fd-principles h3 {
  font-size: 1.36rem;
}
.fd-trust {
  background: #edf3fb;
}
.trust-item {
  border-top: 1px solid #cbd9eb;
  padding: 28px 15px 0 0;
  min-width: 0;
}
.trust-item h3 {
  font-size: 1.4rem;
  margin-bottom: 16px;
}
.trust-item p {
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.75;
}
.trust-item .text-link {
  font-size: 0.8rem;
}
.leadership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}
.leader-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  min-width: 0;
}
.leader-card > .portrait {
  display: block;
  width: 100%;
  height: 285px;
  object-fit: cover;
  object-position: center 36%;
  background: #eef2f5;
}
.leader-card > .photo-virgil {
  object-position: center 27%;
}
.leader-card > .photo-alex {
  object-position: center 34%;
}
.leader-card > .photo-ilya {
  object-position: center 35%;
}
.leader-copy {
  padding: 27px;
}
.leader-copy h3 {
  font-size: 1.54rem;
}
.leader-role {
  font-size: 0.74rem;
  color: var(--pine);
  font-weight: 650;
  margin: 9px 0 18px;
  line-height: 1.5;
  min-height: 34px;
}
.leader-copy .body-copy {
  font-size: 0.86rem;
  line-height: 1.7;
}
.leader-copy .text-link {
  font-size: 0.82rem;
}
.biography p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.85;
}
.author-photo {
  display: block;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 14px;
}
.founder-hero .split {
  grid-template-columns: 1.3fr 0.7fr;
  gap: 95px;
}
.founder-hero .author-photo {
  max-height: 455px;
}
.founder-hero h1 {
  font-size: clamp(3.2rem, 4.9vw, 4.5rem);
}
.real-product-showcase {
  padding: 20px;
  background: #eaf2ff;
  border: 1px solid #cedef6;
  border-radius: 14px;
  box-shadow: 0 20px 55px #214a7910;
  min-width: 0;
}
.real-product-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
  font-size: 0.76rem;
}
.real-product-heading span {
  font-size: 0.65rem;
  color: #677fa0;
}
.real-product-showcase > .fine {
  margin: 13px 0 0;
  font-size: 0.65rem;
}
.real-product-showcase .real-shot-button {
  border: 1px solid #c7d7ee;
  border-radius: 8px;
}
.capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 23px;
}
.capability-grid .feature-panel {
  padding: 33px;
  display: flex;
  flex-direction: column;
}
.capability-grid .text-link {
  margin-top: auto;
  align-self: flex-start;
  font-size: 0.84rem;
}
.capability-dot {
  display: block;
  width: 29px;
  height: 5px;
  border-radius: 10px;
  background: linear-gradient(90deg, #285ee0, #83ddeb);
  margin-bottom: 25px;
}
.capability-grid h3 {
  font-size: 1.55rem;
  max-width: 440px;
}
.product-walkthrough .workspace-tabs {
  flex-wrap: wrap;
}
.workspace-tab {
  padding: 14px 20px;
  font-size: 0.82rem;
}
.workspace-status,
.workspace-tail {
  font-size: 0.82rem;
}
.branch-inner {
  gap: 20px;
  min-height: 55px;
}
.branch-name {
  flex-shrink: 0;
}
.branch-links {
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.branch-links a {
  font-size: 0.73rem;
  white-space: nowrap;
}
.branch-nav {
  z-index: 5;
}
.time-promise {
  margin: 25px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 0.81rem;
  color: var(--pine);
}
.time-promise strong {
  font-weight: 600;
}
.inline-info {
  position: relative;
  display: inline-block;
  z-index: 6;
}
.inline-info summary {
  width: 23px;
  height: 23px;
  line-height: 21px;
  text-align: center;
  border: 1px solid #b9d0c3;
  border-radius: 50%;
  font-size: 0.7rem;
  cursor: pointer;
  list-style: none;
}
.inline-info summary::-webkit-details-marker {
  display: none;
}
.inline-info > p {
  position: absolute;
  right: 0;
  top: 28px;
  width: 285px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 17px;
  background: white;
  box-shadow: 0 15px 40px #15393115;
  font-size: 0.75rem;
  line-height: 1.65;
  color: var(--muted);
}
.finance-proof {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 22px;
  margin-top: 24px;
  border-top: 1px solid var(--line);
  max-width: 520px;
}
.finance-proof .mini-founder {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 26%;
  flex-shrink: 0;
}
.finance-proof p {
  font-size: 0.75rem;
  line-height: 1.65;
  color: var(--muted);
  margin: 0;
}
.finance-proof .text-link {
  font-size: 0.75rem;
}
.original-video {
  background: #163f38;
  border: 1px solid #24584e;
  border-radius: 15px;
  box-shadow: 0 25px 55px #153a2a17;
  overflow: hidden;
  color: white;
}
.original-video video {
  width: 100%;
  display: block;
  aspect-ratio: 16/10;
  background: #0f302b;
  object-fit: contain;
}
.video-caption {
  padding: 25px;
  display: grid;
  gap: 10px;
}
.video-caption strong {
  font-size: 1.15rem;
  font-weight: 550;
}
.video-caption span {
  font-size: 0.7rem;
  color: #b6cfc5;
}
.video-caption a {
  font-size: 0.82rem;
  color: #d2eee0;
  justify-self: start;
}
.video-cover {
  aspect-ratio: 16/10;
  display: flex;
  gap: 23px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 75% 20%, #366b5555, transparent 60%), #143e34;
  text-align: center;
  padding: 25px;
}
.video-glyph {
  height: 66px;
  width: 66px;
  border: 1px solid #88baa0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #bce3c9;
  font-size: 1.25rem;
}
.video-cover > span:last-child {
  max-width: 260px;
  font-size: 1.7rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.readiness-band {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 50px;
  align-items: center;
  padding: 40px;
  background: #e8efe4;
  border: 1px solid #cedecb;
  border-radius: 13px;
}
.readiness-band h2 {
  font-size: 2.45rem;
}
.readiness-band p {
  font-size: 0.91rem;
  margin: 20px 0 0;
  color: var(--muted);
}
.readiness-band > div:last-child {
  justify-self: end;
}
.readiness-band > div:last-child .fine {
  font-size: 0.7rem;
  text-align: center;
  margin-top: 12px;
}
.readiness-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 0.77rem;
  margin-top: 22px;
  color: #456354;
}
.readiness-band .eyebrow {
  margin: 0 0 18px;
}
.one-cycle {
  border-top: 1px solid var(--line);
  padding-top: 30px;
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.one-cycle h3 {
  font-size: 1.4rem;
}
.one-cycle p {
  font-size: 0.9rem;
  color: var(--muted);
  max-width: 750px;
  margin: 12px 0 0;
}
.one-cycle .text-link {
  flex-shrink: 0;
}
.section-note {
  margin-top: 26px;
  max-width: 900px;
}
.book-stage-original {
  display: grid;
  place-items: center;
}
.book-stage-original > .eyebrow {
  width: 100%;
  justify-content: center;
}
.source-book {
  margin: 0;
  max-width: 350px;
  width: 100%;
  text-align: center;
}
.source-book > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 510px;
  object-fit: contain;
  filter: drop-shadow(10px 19px 15px #16372520);
}
.source-book > img[data-load-error="true"] {
  display: none;
}
.book-load-note {
  min-height: 280px;
  padding: 50px 28px;
  background: #edf2e9;
  border: 1px solid #d4dfcf;
  border-radius: 9px;
  color: #5c7064;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.book-load-note a {
  text-decoration: underline;
}
.book-subtitle {
  font-size: 1.85rem !important;
  line-height: 1.25;
  margin-top: 18px;
  max-width: 590px;
}
.book-hero h1 {
  font-size: 4rem;
}
.book-hero .lead {
  font-size: 1.03rem;
}
.early-reader {
  margin: 30px 0 20px;
  padding-top: 25px;
  border-top: 1px solid var(--line);
}
.early-reader h3 {
  font-size: 1.3rem;
}
.early-reader p {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 12px 0 19px;
}
.early-reader .fine {
  font-size: 0.68rem;
  margin: 12px 0 0;
}
.book-quote {
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.7vw, 2.35rem);
  font-style: italic;
  line-height: 1.6;
  max-width: 900px;
  margin: 10px auto;
  color: #34594d;
  text-align: center;
  letter-spacing: -0.025em;
}
.book-chapter {
  border-top: 1px solid var(--line);
  padding: 26px 20px 10px 0;
}
.book-chapter h3 {
  font-size: 1.3rem;
  margin-bottom: 16px;
}
.book-chapter p {
  font-size: 0.92rem;
  color: var(--muted);
}
.book-teaser {
  display: flex;
  align-items: center;
  gap: 65px;
}
.book-teaser .source-book {
  max-width: 145px;
}
.book-teaser .source-book > img {
  max-height: 230px;
}
.book-teaser .book-load-note {
  padding: 20px 10px;
  min-height: 180px;
  font-size: 0.67rem;
}
.book-teaser h2 {
  font-size: 2.4rem;
  margin-bottom: 15px;
}
.finance-engineer {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 25px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 26px;
  border-radius: 12px;
  align-items: start;
}
.finance-engineer > .portrait {
  width: 130px;
  height: 170px;
  object-fit: cover;
  border-radius: 8px;
  object-position: 50% 30%;
}
.finance-engineer h3 {
  font-size: 1.4rem;
  margin: 4px 0 10px;
}
.finance-engineer p {
  font-size: 0.85rem;
  line-height: 1.75;
  color: var(--muted);
}
.finance-engineer .leader-role {
  font-size: 0.73rem;
  min-height: 0;
  margin-bottom: 12px;
  color: var(--pine);
}
.advisory-callout {
  background: #eaf0e4;
  border: 1px solid #d4dfcc;
  border-radius: 9px;
  padding: 32px;
  display: flex;
  gap: 35px;
  align-items: flex-start;
  margin: 35px 0;
}
.advisory-callout > strong {
  min-width: 150px;
  font-size: 1.4rem;
  color: var(--pine);
  line-height: 1.4;
}
.advisory-callout h3 {
  font-size: 1.3rem;
}
.advisory-callout p {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 13px 0 0;
}
.inline-disclosure {
  margin-top: 19px;
  font-size: 0.78rem;
  color: var(--muted);
}
.inline-disclosure summary {
  cursor: pointer;
  text-underline-offset: 4px;
  text-decoration: underline;
  min-height: 32px;
  display: flex;
  align-items: center;
}
.inline-disclosure p {
  max-width: 850px;
  font-size: 0.8rem;
  line-height: 1.75;
}
.scope-exclusions {
  border-top: 1px solid var(--line);
  margin-top: 27px;
  padding-top: 22px;
  color: var(--muted);
}
.scope-exclusions summary {
  font-weight: 600;
  font-size: 0.93rem;
  cursor: pointer;
}
.scope-exclusions p {
  font-size: 0.86rem;
  margin-top: 18px;
}
.pricing-card h2 {
  font-size: 2.2rem;
  line-height: 1.12;
  margin: 12px 0 20px;
}
.pricing-card .fine {
  margin: 20px 0 0;
}
.pricing-card .text-link {
  margin-top: 18px;
}
.pilot-offer {
  padding: 32px;
  background: #ecf2e7;
  border: 1px solid #d3e0cd;
  border-radius: 12px;
}
.pilot-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  border-bottom: 1px solid #cedcc8;
  padding-bottom: 28px;
  margin-bottom: 25px;
}
.pilot-prices > div {
  display: grid;
  gap: 12px;
}
.pilot-prices strong {
  font-size: 2.7rem;
  line-height: 1.15;
  font-weight: 550;
  letter-spacing: -0.045em;
}
.pilot-prices strong small {
  font-size: 0.75rem;
  letter-spacing: 0;
  font-weight: 400;
}
.pilot-prices span {
  font-size: 0.78rem;
  color: var(--muted);
}
.pilot-offer > .body-copy {
  font-size: 0.9rem;
}
.pilot-offer > .fine {
  font-size: 0.78rem;
}
.faq-search {
  margin-top: 30px;
  max-width: 590px;
}
.faq-search label {
  display: block;
  font-size: 0.8rem;
  font-weight: 650;
  margin-bottom: 10px;
}
.faq-search input,
.publication-tools > input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  padding: 15px 18px;
  font-size: 0.91rem;
  min-height: 50px;
}
.faq-layout {
  display: grid;
  grid-template-columns: 225px 1fr;
  gap: 75px;
  align-items: start;
}
.faq-topics {
  display: grid;
  gap: 7px;
  position: sticky;
  top: 125px;
}
.faq-topics a {
  padding: 12px 16px;
  font-size: 0.85rem;
  border-left: 2px solid #d6e2d4;
}
.faq-topics a:hover {
  border-color: var(--pine);
  color: var(--pine);
}
.faq-group {
  margin-bottom: 55px;
}
.faq-group h2 {
  font-size: 1.85rem;
  margin-bottom: 25px;
}
.faq-group .faq summary {
  font-size: 0.94rem;
  line-height: 1.6;
}
.faq-group .faq p {
  font-size: 0.91rem;
  line-height: 1.8;
}
.faq-group a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.monthly-steps {
  counter-reset: month;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 23px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.monthly-steps li {
  counter-increment: month;
  border-top: 1px solid var(--line);
  padding: 26px 15px 0 0;
}
.monthly-steps li:before {
  content: counter(month, decimal-leading-zero);
  display: block;
  font-size: 0.7rem;
  font-weight: 650;
  color: #52796b;
  margin-bottom: 22px;
}
.monthly-steps .eyebrow {
  font-size: 0.61rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.monthly-steps h3 {
  font-size: 1.45rem;
  margin-bottom: 18px;
}
.monthly-steps li > p:last-child {
  font-size: 0.9rem;
  color: var(--muted);
}
.monthly-review {
  border: 1px solid #d4e0d3;
  border-radius: 13px;
  background: #f5f8f0;
  padding: 28px;
}
.review-choice,
.memory-choices {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 26px;
}
.review-choice button,
.memory-choices button {
  background: #fff;
  border: 1px solid #d0decc;
  border-radius: 6px;
  font-size: 0.8rem;
  padding: 11px 18px;
  color: #466856;
}
.review-choice button[aria-selected="true"],
.memory-choices button[aria-pressed="true"] {
  background: #1b5144;
  border-color: #1b5144;
  color: #fff;
}
.review-example {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
}
.review-example h3 {
  font-size: 1.55rem;
  line-height: 1.35;
  margin: 0 0 19px;
}
.review-example p {
  font-size: 0.87rem;
  color: var(--muted);
  line-height: 1.7;
}
.review-dates {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 0.76rem;
  padding: 18px 0;
}
.review-dates b {
  display: block;
  font-size: 1.15rem;
  margin-top: 8px;
  color: var(--ink);
}
.review-outputs {
  display: grid;
  gap: 14px;
}
.review-outputs > div {
  background: #fff;
  border: 1px solid #dbe5d5;
  padding: 22px;
  border-radius: 8px;
}
.review-outputs h4 {
  font-size: 0.97rem;
}
.review-outputs p {
  font-size: 0.8rem;
  margin: 10px 0 0;
}
.plain-button {
  background: transparent;
  border: 0;
  color: var(--pine);
  font-size: 0.8rem;
  padding: 10px;
}
.review-feedback {
  margin-top: 20px;
  font-size: 0.82rem;
  color: var(--pine);
}
.field-label {
  display: block;
  font-size: 0.78rem;
  margin: 17px 0 8px;
}
[data-monthly-edit] select {
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #b9d0bd;
  margin-right: 10px;
  margin-bottom: 8px;
}
.report-preview {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  padding: 36px;
  box-shadow: 0 18px 45px #153f2810;
}
.report-preview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 35px;
}
.report-preview-header h3 {
  font-size: 1.65rem;
}
.report-preview-header p:last-child {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 12px 0 0;
}
.report-preview-header .eyebrow {
  font-size: 0.62rem;
}
.report-preview-header .btn {
  flex-shrink: 0;
}
.report-preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 30px 0;
}
.report-preview-metrics > div {
  border: 1px solid #dbe5d6;
  background: #f5f8f1;
  border-radius: 7px;
  padding: 18px;
}
.report-preview-metrics span {
  display: block;
  font-size: 0.72rem;
  color: var(--muted);
  margin-bottom: 11px;
}
.report-preview-metrics strong {
  font-size: 1.8rem;
  line-height: 1.15;
  font-weight: 550;
  letter-spacing: -0.045em;
}
.report-section-links {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin: 26px 0;
}
.report-section-links a {
  border: 1px solid #d6e1d0;
  border-radius: 5px;
  padding: 10px 13px;
  font-size: 0.73rem;
  color: var(--pine);
}
.memory-demo {
  padding: 30px;
  background: #f1f6ec;
  border: 1px solid #d3e0cd;
  border-radius: 12px;
}
.memory-demo h3 {
  font-size: 1.5rem;
  margin: 20px 0 27px;
  line-height: 1.3;
}
.memory-demo > p:not(.eyebrow) {
  font-size: 0.93rem;
  line-height: 1.8;
  color: var(--muted);
}
.memory-demo > .eyebrow {
  font-size: 0.63rem;
  margin-bottom: 15px;
}
.memory-demo .text-link {
  font-size: 0.76rem;
}
.finance-lifecycle {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.finance-lifecycle > div {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}
.finance-lifecycle span {
  font-size: 0.67rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.finance-lifecycle h3 {
  font-size: 1.25rem;
  margin-top: 14px;
  line-height: 1.4;
}
.report-container {
  max-width: 1030px;
}
.report-page {
  border: 1px solid var(--line);
  padding: 45px;
  border-radius: 10px;
  margin-bottom: 35px;
  background: white;
  box-shadow: 0 12px 40px #19392708;
}
.report-letterhead {
  display: flex;
  justify-content: space-between;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 30px;
  gap: 20px;
}
.report-letterhead span:first-child {
  font-weight: 750;
}
.report-page > .eyebrow {
  font-size: 0.61rem;
  letter-spacing: 0.1em;
}
.report-page > h2 {
  font-size: 2rem;
  margin-bottom: 13px;
}
.report-period {
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 25px;
}
.report-page h3 {
  font-size: 1.1rem;
  margin: 27px 0 13px;
}
.report-page p,
.report-page li {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--muted);
}
.report-page .data-table {
  font-variant-numeric: tabular-nums;
  font-size: 0.82rem;
}
.report-page .data-table th,
.report-page .data-table td {
  padding: 14px;
  text-align: right;
  white-space: nowrap;
}
.report-page .data-table th:first-child {
  text-align: left;
  font-size: 0.79rem;
  font-weight: 550;
  white-space: normal;
  min-width: 200px;
}
.report-page .data-table tbody tr:last-child {
  font-weight: 700;
  background: #f3f7ee;
}
.report-page .data-table tbody th {
  background: transparent;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink);
}
.report-page-foot {
  display: flex;
  justify-content: space-between;
  margin-top: 35px;
  border-top: 1px solid var(--line);
  padding-top: 17px;
  font-size: 0.68rem !important;
}
.report-page ul {
  padding-left: 22px;
}
.report-page li {
  margin: 10px 0;
}
.publication-tools {
  display: flex;
  align-items: center;
  gap: 25px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.publication-tools > input {
  flex: 1;
  max-width: 520px;
  min-width: 240px;
}
.writing-filters {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.writing-filters button {
  padding: 10px 15px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 0.8rem;
}
.writing-filters button[aria-pressed="true"] {
  color: white;
  background: var(--pine);
  border-color: var(--pine);
}
.publication-card {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 40px;
  align-items: center;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 30px;
  max-width: 950px;
}
.publication-card .source-book {
  max-width: 130px;
}
.publication-card .source-book > img {
  max-height: 210px;
}
.publication-card .book-load-note {
  min-height: 170px;
  padding: 15px;
  font-size: 0.65rem;
}
.publication-card h3 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
.publication-card .body-copy {
  font-size: 0.93rem;
}
.publication-card .eyebrow {
  font-size: 0.63rem;
}
.writing-empty {
  border-top: 1px solid var(--line);
  padding-top: 25px;
  color: var(--muted);
  font-size: 0.92rem;
}
.publication-card .text-link {
  font-size: 0.85rem;
}
.contact-copy h2 {
  font-size: 2.7rem;
}
.contact-copy .lead {
  font-size: 1rem;
}
.contact-copy > .text-link {
  margin-top: 20px;
}
.footer-grid {
  grid-template-columns: 1.4fr 1fr 1.3fr 1fr;
}
.footer-actions {
  flex-wrap: wrap;
}
.footer-legal {
  display: flex;
  gap: 17px;
  font-size: 0.69rem;
  flex-wrap: wrap;
  margin: 0 0 25px;
}
.footer-legal a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.privacy-preview {
  font-size: 0.64rem;
}
body.has-motion [data-reveal] {
  transform: translate3d(0, 24px, 0);
  opacity: 0;
  transition:
    opacity 0.42s ease-out,
    transform 0.5s var(--fd-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
body.has-motion [data-reveal].is-visible {
  transform: none;
  opacity: 1;
}
body.has-motion [data-reveal][data-reveal-direction="left"] {
  transform: translate3d(-24px, 0, 0);
}
body.has-motion [data-reveal][data-reveal-direction="right"] {
  transform: translate3d(24px, 0, 0);
}
body.has-motion [data-reveal][data-reveal-direction].is-visible {
  transform: none;
}
@media (max-width: 1100px) {
  body[data-route="/"] .home-hero .split {
    gap: 32px;
  }
  .outcome-studio {
    padding: 21px;
  }
  .studio-flow {
    grid-template-columns: 1.15fr 26px 0.85fr;
    gap: 6px;
  }
  .flow-bridge > span {
    width: 21px;
  }
  .input-chip {
    padding: 10px 8px;
    gap: 8px;
  }
  .input-chip div > span {
    font-size: 0.6rem;
  }
  .flow-core > span {
    font-size: 0.53rem;
  }
  .branch-links {
    gap: 14px;
  }
  .branch-links a {
    font-size: 0.67rem;
  }
  .leader-card > .portrait {
    height: 230px;
  }
  .leader-copy {
    padding: 23px;
  }
  .finance-engineer {
    grid-template-columns: 100px 1fr;
    padding: 22px;
    gap: 19px;
  }
  .finance-engineer > .portrait {
    width: 100px;
    height: 140px;
  }
  .readiness-band {
    padding: 33px;
    gap: 30px;
  }
  .book-subtitle {
    font-size: 1.65rem !important;
  }
  .faq-layout {
    grid-template-columns: 180px 1fr;
    gap: 38px;
  }
  .monthly-steps {
    gap: 17px;
  }
  .monthly-steps p {
    font-size: 0.84rem;
  }
  .report-preview-header {
    align-items: flex-start;
  }
  .founder-hero .split {
    gap: 50px;
  }
  .pilot-prices {
    gap: 18px;
  }
  .pilot-prices strong {
    font-size: 2.2rem;
  }
}
@media (max-width: 800px) {
  body[data-route="/"] .home-hero .split {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  body[data-route="/"] .home-hero {
    padding: 45px 0 55px;
  }
  .outcome-studio {
    width: 100%;
    max-width: 590px;
    justify-self: center;
    padding: 28px;
  }
  .studio-flow {
    grid-template-columns: 1.25fr 40px 0.85fr;
  }
  .flow-bridge > span {
    width: 31px;
  }
  .input-chip {
    padding: 11px 15px;
  }
  .input-chip div > span {
    font-size: 0.7rem;
  }
  .flow-core > span {
    font-size: 0.63rem;
  }
  .outcome-panel {
    min-height: 205px;
  }
  .fd-workspace-hero .lead {
    max-width: 600px;
  }
  .leader-card > .portrait {
    height: 230px;
  }
  .leadership-grid {
    gap: 17px;
  }
  .leader-copy {
    padding: 20px;
  }
  .leader-copy h3 {
    font-size: 1.26rem;
  }
  .leader-copy .body-copy {
    font-size: 0.8rem;
  }
  .leader-role {
    font-size: 0.67rem;
  }
  .branch-inner {
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 6px;
  }
  .branch-links {
    width: 100%;
    flex-wrap: nowrap;
    overflow: auto;
    gap: 21px;
    padding-bottom: 5px;
  }
  .branch-links a {
    font-size: 0.72rem;
  }
  .readiness-band {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .readiness-band > div:last-child {
    justify-self: start;
  }
  .readiness-band > div:last-child .fine {
    text-align: left;
  }
  .one-cycle {
    display: block;
  }
  .one-cycle .text-link {
    margin-top: 20px;
  }
  .finance-live .original-video {
    max-width: 560px;
    width: 100%;
    margin: auto;
  }
  .original-video video {
    aspect-ratio: 16/9;
  }
  .book-hero .split {
    grid-template-columns: 0.7fr 1.3fr;
    gap: 32px;
  }
  .book-hero h1 {
    font-size: 3rem;
  }
  .book-subtitle {
    font-size: 1.4rem !important;
  }
  .book-hero .lead {
    font-size: 0.92rem;
  }
  .source-book > img {
    max-height: 420px;
  }
  .source-book {
    max-width: 280px;
  }
  .book-load-note {
    font-size: 0.72rem;
    min-height: 200px;
    padding: 25px;
  }
  .finance-engineer {
    grid-template-columns: 110px 1fr;
  }
  .finance-engineer > .portrait {
    width: 110px;
    height: 145px;
  }
  .advisory-callout {
    padding: 26px;
    gap: 25px;
  }
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .faq-topics {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
  }
  .faq-topics a {
    padding: 9px 14px;
    font-size: 0.76rem;
    border: 1px solid var(--line);
    border-radius: 5px;
  }
  .monthly-steps {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .review-example {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .review-outputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .review-outputs > div {
    padding: 17px;
  }
  .review-outputs h4 {
    font-size: 0.86rem;
  }
  .report-preview {
    padding: 28px;
  }
  .report-preview-header {
    display: block;
  }
  .report-preview-header .btn {
    margin-top: 22px;
  }
  .report-preview-metrics > div {
    padding: 15px;
  }
  .report-preview-metrics strong {
    font-size: 1.5rem;
  }
  .report-page {
    padding: 28px;
  }
  .founder-hero .split {
    grid-template-columns: 1fr 0.65fr;
    gap: 35px;
  }
  .founder-hero h1 {
    font-size: 3rem;
  }
  .founder-hero .author-photo {
    max-height: 380px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
  .trust-item {
    padding-bottom: 12px;
  }
  .publication-card {
    gap: 30px;
  }
  .fd-workspace-hero h1 {
    font-size: clamp(3.3rem, 9vw, 5rem);
  }
}
@media (max-width: 560px) {
  .header-inner {
    height: 72px;
  }
  .site-header .brand-lockup {
    width: 160px;
  }
  .fd-workspace-hero h1 {
    font-size: clamp(2.8rem, 12vw, 3.4rem);
  }
  .fd-workspace-hero .lead {
    font-size: 0.97rem;
  }
  .fd-workspace-hero .eyebrow {
    font-size: 0.57rem;
    letter-spacing: 0.13em;
  }
  .fd-workspace-hero .hero-note {
    font-size: 0.66rem;
  }
  .outcome-studio {
    padding: 20px 16px;
    border-radius: 14px;
  }
  .studio-heading {
    margin-bottom: 19px;
  }
  .studio-heading h2 {
    font-size: 1.78rem;
  }
  .studio-heading .eyebrow {
    font-size: 0.6rem;
  }
  .studio-heading > img {
    width: 29px;
    height: 34px;
  }
  .studio-tabs button {
    font-size: 0.73rem;
    min-height: 37px;
    padding: 8px 4px;
  }
  .studio-flow {
    grid-template-columns: 1.2fr 22px 0.8fr;
    gap: 5px;
    padding: 21px 0;
  }
  .input-chip {
    padding: 10px 8px;
    gap: 7px;
  }
  .flow-icon {
    height: 23px;
    width: 23px;
    font-size: 0.85rem;
  }
  .input-chip strong {
    font-size: 0.68rem;
  }
  .input-chip div > span {
    font-size: 0.58rem;
    line-height: 1.45;
  }
  .flow-bridge > span {
    width: 16px;
  }
  .flow-core {
    min-height: 158px;
    padding: 16px 8px;
  }
  .flow-core strong {
    font-size: 0.8rem;
  }
  .flow-core > span {
    font-size: 0.52rem;
  }
  .flow-core > img {
    width: 24px;
    height: 27px;
  }
  .outcome-panel {
    padding: 19px 17px;
    min-height: 215px;
  }
  .outcome-panel h3 {
    font-size: 1.35rem;
  }
  .outcome-lines span {
    font-size: 0.68rem;
  }
  .outcome-top {
    font-size: 0.6rem;
  }
  .studio-footer {
    gap: 10px;
    margin-top: 14px;
  }
  .studio-footer > span {
    font-size: 0.58rem;
    max-width: 170px;
  }
  .studio-play {
    font-size: 0.69rem;
  }
  .leadership-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .leader-card {
    display: grid;
    grid-template-columns: 116px 1fr;
    align-items: stretch;
  }
  .leader-card > .portrait {
    height: 100%;
    min-height: 210px;
    width: 116px;
    object-position: center 30%;
  }
  .leader-card > .photo-virgil {
    object-position: 50% 24%;
  }
  .leader-copy {
    padding: 21px 19px;
  }
  .leader-copy h3 {
    font-size: 1.27rem;
  }
  .leader-copy .body-copy {
    font-size: 0.79rem;
  }
  .leader-role {
    font-size: 0.67rem;
    min-height: 0;
    margin-bottom: 12px;
  }
  .leader-copy .text-link {
    font-size: 0.73rem;
  }
  .capability-grid {
    grid-template-columns: 1fr;
  }
  .capability-grid .feature-panel {
    padding: 28px;
  }
  .capability-grid h3 {
    font-size: 1.5rem;
  }
  .real-product-heading {
    display: block;
  }
  .real-product-heading span {
    display: block;
    margin-top: 5px;
  }
  .real-product-showcase {
    padding: 16px;
  }
  .real-product-showcase > .fine {
    font-size: 0.59rem;
  }
  .workspace-tab {
    font-size: 0.7rem;
    padding: 11px 13px;
  }
  .time-promise {
    font-size: 0.76rem;
    line-height: 1.7;
  }
  .time-promise strong {
    max-width: 280px;
  }
  .inline-info > p {
    right: -6px;
    width: 270px;
  }
  .finance-proof {
    gap: 12px;
  }
  .finance-proof p {
    font-size: 0.72rem;
  }
  .readiness-band {
    padding: 28px 24px;
    gap: 23px;
  }
  .readiness-band h2 {
    font-size: 2.18rem;
  }
  .readiness-facts {
    font-size: 0.7rem;
    gap: 14px;
  }
  .readiness-band .btn {
    font-size: 0.76rem;
  }
  .readiness-band p {
    font-size: 0.87rem;
  }
  .book-hero .split {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .book-stage-original {
    width: 100%;
  }
  .book-hero .source-book {
    max-width: 240px;
  }
  .book-hero .source-book > img {
    max-height: 330px;
  }
  .book-hero .book-load-note {
    min-height: 190px;
  }
  .book-hero h1 {
    font-size: 3.2rem;
  }
  .book-subtitle {
    font-size: 1.6rem !important;
  }
  .book-hero .lead {
    font-size: 1rem;
  }
  .book-quote {
    font-size: 1.6rem;
  }
  .book-chapter {
    padding: 22px 0 0;
  }
  .book-teaser {
    gap: 24px;
    align-items: flex-start;
  }
  .book-teaser .source-book {
    min-width: 96px;
    width: 96px;
  }
  .book-teaser h2 {
    font-size: 1.85rem;
  }
  .book-teaser p {
    font-size: 0.83rem;
  }
  .book-teaser .text-link {
    font-size: 0.78rem;
  }
  .finance-engineer {
    grid-template-columns: 95px 1fr;
    padding: 21px;
    gap: 18px;
  }
  .finance-engineer > .portrait {
    width: 95px;
    height: 130px;
  }
  .finance-engineer h3 {
    font-size: 1.3rem;
  }
  .finance-engineer p {
    font-size: 0.8rem;
  }
  .advisory-callout {
    flex-direction: column;
    gap: 16px;
    padding: 25px;
  }
  .advisory-callout > strong {
    font-size: 1.35rem;
  }
  .pricing-card h2 {
    font-size: 2rem;
  }
  .pilot-offer {
    padding: 25px;
  }
  .pilot-prices {
    gap: 15px;
  }
  .pilot-prices strong {
    font-size: 2.1rem;
  }
  .pilot-prices span {
    font-size: 0.72rem;
  }
  .pilot-prices strong small {
    font-size: 0.67rem;
  }
  .faq-group h2 {
    font-size: 1.65rem;
  }
  .faq-group .faq summary {
    font-size: 0.9rem;
  }
  .monthly-steps {
    gap: 25px 18px;
  }
  .monthly-steps h3 {
    font-size: 1.3rem;
  }
  .monthly-steps li > p:last-child {
    font-size: 0.84rem;
  }
  .monthly-steps .eyebrow {
    font-size: 0.53rem;
  }
  .monthly-review {
    padding: 23px 19px;
  }
  .review-choice {
    gap: 6px;
  }
  .review-choice button {
    font-size: 0.71rem;
    padding: 10px 11px;
    min-height: 42px;
  }
  .review-example h3 {
    font-size: 1.4rem;
  }
  .review-outputs {
    grid-template-columns: 1fr;
  }
  .review-outputs > div {
    padding: 19px;
  }
  .review-outputs h4 {
    font-size: 0.95rem;
  }
  .report-preview {
    padding: 25px 20px;
  }
  .report-preview-header h3 {
    font-size: 1.45rem;
  }
  .report-preview-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 24px 0;
  }
  .report-preview-metrics > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .report-preview-metrics span {
    margin: 0;
    max-width: 165px;
  }
  .report-preview-metrics strong {
    font-size: 1.6rem;
    white-space: nowrap;
  }
  .report-section-links a {
    font-size: 0.69rem;
    padding: 10px;
  }
  .memory-demo {
    padding: 23px;
  }
  .memory-choices {
    gap: 6px;
  }
  .memory-choices button {
    font-size: 0.72rem;
    padding: 10px 12px;
  }
  .finance-lifecycle {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .finance-lifecycle h3 {
    font-size: 1.2rem;
  }
  .report-page {
    padding: 23px 18px;
  }
  .report-letterhead {
    font-size: 0.56rem;
    gap: 15px;
  }
  .report-letterhead > span:last-child {
    text-align: right;
    max-width: 100px;
  }
  .report-page > .eyebrow {
    font-size: 0.53rem;
  }
  .report-page > h2 {
    font-size: 1.6rem;
    line-height: 1.3;
  }
  .report-page p,
  .report-page li {
    font-size: 0.85rem;
  }
  .report-page .data-table-wrap {
    margin-inline: -6px;
  }
  .report-page .data-table {
    min-width: 460px;
  }
  .founder-hero .split {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .founder-hero .author-photo {
    max-width: 300px;
    max-height: 365px;
    justify-self: center;
  }
  .founder-hero h1 {
    font-size: 3rem;
  }
  .author-photo {
    max-width: 330px;
    margin-inline: auto;
  }
  .publication-tools {
    gap: 16px;
  }
  .publication-tools > input {
    min-width: 0;
    flex-basis: 100%;
  }
  .writing-filters button {
    font-size: 0.73rem;
    padding: 9px 12px;
  }
  .publication-card {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 25px;
  }
  .publication-card .source-book {
    max-width: 140px;
    justify-self: start;
  }
  .publication-card h3 {
    font-size: 1.7rem;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .footer-brand {
    grid-column: 1/-1;
  }
  .footer-col:last-child {
    grid-column: 1/-1;
  }
  .footer-actions {
    gap: 15px;
  }
  .fd-principles .feature-panel {
    min-height: 0;
    padding: 26px;
  }
  .fd-principles h3 {
    font-size: 1.3rem;
  }
  .fd-principles .feature-panel p {
    font-size: 0.92rem;
  }
  .fd-trust .grid-3 {
    gap: 20px;
  }
}
@media (max-width: 370px) {
  .leader-card {
    grid-template-columns: 95px 1fr;
  }
  .leader-card > .portrait {
    width: 95px;
  }
  .leader-copy {
    padding: 19px 15px;
  }
  .input-chip {
    gap: 6px;
    padding: 9px 6px;
  }
  .input-chip div > span {
    font-size: 0.54rem;
  }
  .flow-icon {
    height: 20px;
    width: 20px;
  }
  .flow-core strong {
    font-size: 0.73rem;
  }
  .flow-core > span {
    font-size: 0.49rem;
  }
  .studio-flow {
    grid-template-columns: 1.2fr 18px 0.8fr;
  }
  .studio-footer > span {
    max-width: 145px;
  }
  .fd-workspace-hero .btn {
    font-size: 0.7rem;
    padding: 13px 15px;
  }
  .pilot-prices strong {
    font-size: 1.9rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .input-chip,
  .flow-core,
  .outcome-panel {
    transition: none !important;
  }
  .outcome-studio[data-flow-phase] .input-chip,
  .outcome-studio[data-flow-phase] .flow-core {
    transform: none;
  }
}
html.no-motion body [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
@media print {
  .outcome-studio,
  .original-video,
  .monthly-review,
  .memory-demo {
    break-inside: avoid;
  }
  .report-page {
    page-break-after: always;
    box-shadow: none;
  }
  .report-page .data-table-wrap {
    overflow: visible;
  }
  .report-page .data-table {
    min-width: 0;
    font-size: 8px;
  }
  .report-page .data-table th,
  .report-page .data-table td {
    padding: 4px;
  }
  .report-page .data-table th:first-child {
    min-width: 0;
  }
  .branch-nav,
  .report-page-foot {
    display: none;
  }
}

/* Final media framing: retain each supplied portrait's natural aspect ratio. */
.author-photo {
  height: auto;
  max-height: 525px;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.original-video [data-video-start] {
  display: flex;
  width: 100%;
  border: 0;
  color: inherit;
  cursor: pointer;
}
.original-video [data-video-start]:hover .video-glyph {
  background: #ffffff18;
  transform: scale(1.04);
}
.original-video [data-video-start]:focus-visible {
  outline: 3px solid #8bd6b8;
  outline-offset: -5px;
}
.video-fallback {
  font-size: 0.81rem;
  color: #d5e5dc;
  padding: 0 25px 24px;
  margin: 0;
}
@media (max-width: 560px) {
  .author-photo {
    max-height: 413px;
  }
  .founder-hero .author-photo {
    max-height: 365px;
  }
}
/* Keep the requested Insurance / Finance / Company footer on the corporate homepage. */
body[data-route="/"] .footer-col:nth-child(2),
body[data-route="/"] .footer-col:nth-child(3) {
  display: block;
}
body[data-route="/"] .footer-grid {
  grid-template-columns: 1.4fr 1fr 1.3fr 1fr;
  max-width: none;
}
@media (max-width: 800px) {
  body[data-route="/"] .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  body[data-route="/"] .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-col:last-child {
    grid-column: 1/-1;
  }
}

@media (min-width: 801px) {
  .leader-card > .portrait {
    height: 330px;
  }
  .leader-card > .photo-alex {
    object-position: center 20%;
  }
}

/* Production presentation and responsive layout. */
.fd-report-hero {
  background:
    radial-gradient(ellipse 48% 80% at 92% 0%, #e7efff 0%, transparent 80%),
    #f7f9fc;
  padding: 80px 0 80px;
}
.fd-report-hero .split {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr);
  gap: 58px;
  align-items: center;
}
.fd-report-hero .lead {
  max-width: 540px;
}
.fd-engine {
  --sky: #2b63e1;
  --navy: #112e59;
  background: linear-gradient(145deg, #f2f7ff, #eaf1fd);
  border: 1px solid #ccdaf0;
  box-shadow: 0 32px 65px #173f7a13;
  border-radius: 20px;
  overflow: hidden;
  color: #203451;
}
.fd-engine-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 19px 23px 15px;
  border-bottom: 1px solid #d9e5f5;
}
.fd-engine-identity {
  display: flex;
  align-items: center;
  gap: 11px;
}
.fd-engine-identity strong {
  display: block;
  font-size: 0.84rem;
  letter-spacing: -0.015em;
}
.fd-engine-identity span:not(.fd-brand-visual) {
  display: block;
  color: #7388a4;
  font-size: 0.65rem;
}
.fd-brand-visual {
  display: flex;
  gap: 2px;
  transform: rotate(8deg);
  align-items: flex-end;
  height: 29px;
  width: 28px;
  color: #2869ee;
}
.fd-brand-visual i {
  display: block;
  background: currentColor;
  width: 7px;
  border-radius: 2px 2px 0 0;
  transform: skew(-12deg);
}
.fd-brand-visual i:nth-child(1) {
  height: 15px;
}
.fd-brand-visual i:nth-child(2) {
  height: 24px;
}
.fd-brand-visual i:nth-child(3) {
  height: 20px;
}
.fd-demo-status {
  border: 1px solid #cfddf0;
  border-radius: 30px;
  padding: 6px 10px;
  font-size: 0.62rem;
  white-space: nowrap;
  color: #4e6992;
  background: white;
}
.fd-stepper {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 15px 20px 9px;
}
.fd-stepper span {
  font-size: 0.57rem;
  white-space: nowrap;
  color: #8092ac;
  text-align: center;
  padding: 9px 2px;
  border-bottom: 2px solid #d5e1f1;
  transition:
    color 0.2s,
    border-color 0.2s;
}
.fd-stepper span.active {
  color: #1d56c3;
  border-color: #2b6beb;
  font-weight: 750;
}
.fd-stepper span.done {
  color: #386c5b;
  border-color: #8ccfc6;
}
.fd-engine-body {
  padding: 25px 28px 22px;
  min-height: 319px;
}
.fd-pane-label {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #5278b7;
  margin-bottom: 13px;
}
.fd-engine-body h2 {
  font-size: clamp(1.7rem, 2.1vw, 2.05rem);
  font-weight: 650;
  letter-spacing: -0.05em;
  color: #182f59;
}
.fd-engine-body > p:not(.fd-pane-label) {
  font-size: 0.79rem;
  line-height: 1.7;
  color: #5c7594;
  margin: 12px 0 22px;
  min-height: 49px;
  max-width: 520px;
}
.fd-stage-canvas {
  border: 1px solid #dae5f6;
  background: #ffffffd6;
  border-radius: 11px;
  padding: 17px 15px;
  min-height: 106px;
  animation: v11PaneIn 0.32s ease-out;
}
.fd-input-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.fd-input-grid > div {
  padding: 9px;
  border-radius: 7px;
  background: #f3f7ff;
  border: 1px solid #e5edfa;
  min-width: 0;
}
.fd-input-grid span {
  display: block;
  color: #2563d9;
  font-size: 1.1rem;
  margin-bottom: 6px;
}
.fd-input-grid strong {
  font-size: 0.63rem;
  display: block;
}
.fd-input-grid small {
  display: block;
  color: #8495ab;
  font-size: 0.54rem;
  margin-top: 3px;
  line-height: 1.5;
}
.fd-scene-list {
  display: grid;
  gap: 8px;
}
.fd-scene-line {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.73rem;
  line-height: 1.45;
  color: #2b456b;
}
.fd-scene-line b {
  font-weight: 650;
}
.fd-scene-symbol {
  width: 25px;
  height: 25px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #e6efff;
  color: #1c5cd4;
  font-size: 0.76rem;
}
.fd-scene-line.warn .fd-scene-symbol {
  background: #fff1da;
  color: #ac6e0a;
}
.fd-scene-line.ok .fd-scene-symbol {
  background: #ddf5ee;
  color: #13725b;
}
.fd-approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}
.fd-approval-actions button {
  border-radius: 7px;
  border: 1px solid #bdd1f5;
  background: #edf4ff;
  color: #1546a2;
  padding: 9px 12px;
  font-size: 0.72rem;
  font-weight: 650;
}
.fd-approval-actions button.primary {
  background: #285fe5;
  color: #fff;
  border-color: #285fe5;
}
.fd-engine-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 0 28px 20px;
  min-height: 65px;
}
.fd-engine-button {
  padding: 10px 17px;
  border: 0;
  background: #235dd8;
  color: white;
  border-radius: 7px;
  white-space: nowrap;
  font-size: 0.73rem;
  font-weight: 650;
  min-height: 42px;
}
.fd-engine-button:hover {
  background: #153e98;
}
.fd-engine-hint {
  font-size: 0.6rem;
  line-height: 1.5;
  color: #6d83a1;
}
.fd-engine-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 23px;
  background: #e8f0fc;
  border-top: 1px solid #d6e3f4;
  font-size: 0.59rem;
  color: #6983a3;
}
.fd-engine-footer i {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #4b86e7;
  border-radius: 50%;
  margin-right: 5px;
}
.fd-approach-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2a60d1;
}
.fd-approach-icon svg {
  width: 28px;
  height: 28px;
}
.fd-finance-how-hero {
  padding-bottom: 49px !important;
}
.fd-finance-how-hero .lead {
  max-width: 780px;
}
.fd-compact-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.fd-compact-steps > div {
  padding: 24px 24px 23px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafcf9;
}
.fd-compact-steps h3 {
  font-size: 1.25rem;
  margin: 15px 0 10px;
}
.fd-compact-steps p {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.65;
}
.fd-small-icon {
  display: flex;
  width: 35px;
  height: 35px;
  background: #e0efe5;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  color: #246756;
  font-size: 1.1rem;
}
.fd-document-report-section {
  padding-top: 63px;
  padding-bottom: 70px;
}
.fd-document-report-section .section-header {
  align-items: flex-end;
}
.fd-document-report-section .section-header h2 {
  font-size: clamp(2.1rem, 3.5vw, 3.25rem);
}
.fd-report-frame-wrap {
  background: #fff;
  border: 1px solid #d6e3e7;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 21px 50px #1b4b4211;
}
.fd-report-iframe {
  width: 100%;
  display: block;
  background: #fff;
  border: 0;
}
.fd-report-actions {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  margin-top: 20px;
  color: #2562aa;
  font-size: 0.85rem;
}
.fd-full-report {
  margin-top: 0;
}
.fd-finance-close {
  background: #eef5ef;
}
.fd-short-closing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
}
.fd-short-closing h2 {
  font-size: clamp(2.15rem, 3.5vw, 3.25rem);
}
.fd-short-closing p {
  margin: 0;
}
.fd-pilot-video-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 65px;
  align-items: center;
}
.fd-pilot-video-grid .original-video {
  max-width: none !important;
}
.fd-pilot-video-grid .video-cover {
  background-size: cover;
  background-position: center center;
}
.fd-pilot-video-grid .video-cover > span:last-child {
  display: block;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 650;
  text-shadow: 0 2px 16px #112b47b2;
}
.fd-pilot-video-grid .video-cover .video-glyph {
  display: grid;
  place-items: center;
  margin-bottom: 19px;
}
.fd-pilot-video-grid video {
  width: 100%;
  background: #11283b;
  border-radius: 10px;
}
@keyframes v11PaneIn {
  from {
    opacity: 0.4;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 1050px) {
  .fd-report-hero .split {
    gap: 30px;
    grid-template-columns: 0.9fr 1.1fr;
  }
  .fd-engine-body {
    padding: 22px 20px;
  }
  .fd-engine-actions {
    padding-inline: 20px;
  }
}
@media (max-width: 800px) {
  .fd-report-hero .split {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .fd-report-hero {
    padding: 54px 0 68px;
  }
  .fd-engine {
    max-width: 640px;
    width: 100%;
    margin-inline: auto;
  }
  .fd-compact-steps {
    grid-template-columns: 1fr;
  }
  .fd-short-closing,
  .fd-pilot-video-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .fd-document-report-section {
    padding: 55px 0;
  }
}
@media (max-width: 560px) {
  .fd-engine-header {
    padding: 14px;
  }
  .fd-engine-identity strong {
    font-size: 0.73rem;
  }
  .fd-engine-identity span:not(.fd-brand-visual) {
    font-size: 0.55rem;
  }
  .fd-stepper {
    padding: 11px 10px 8px;
  }
  .fd-stepper span {
    font-size: 0.47rem;
  }
  .fd-engine-body {
    padding: 18px 14px 15px;
    min-height: 300px;
  }
  .fd-engine-body h2 {
    font-size: 1.75rem;
  }
  .fd-engine-body > p:not(.fd-pane-label) {
    font-size: 0.72rem;
    margin-bottom: 14px;
  }
  .fd-input-grid {
    gap: 5px;
  }
  .fd-input-grid > div {
    padding: 7px 5px;
  }
  .fd-input-grid strong {
    font-size: 0.54rem;
  }
  .fd-input-grid small {
    font-size: 0.44rem;
  }
  .fd-engine-footer {
    font-size: 0.53rem;
    padding-inline: 13px;
  }
  .fd-engine-actions {
    padding: 0 14px 17px;
  }
  .fd-engine-hint {
    font-size: 0.55rem;
  }
  .fd-engine-button {
    font-size: 0.65rem;
    padding: 9px 11px;
  }
  .fd-report-iframe {
    height: 690px !important;
  }
  .fd-short-closing h2 {
    font-size: 2.15rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-stage-canvas {
    animation: none;
  }
}

/* Production presentation and responsive layout. */
.desktop-nav > a,
.nav-more > summary {
  font-size: 0.87rem;
}
.header-button {
  font-size: 0.79rem;
}
.section-cta .cta-panel {
  box-shadow: none;
}
body[data-section="finance"] .page-hero .serif {
  color: var(--pine);
}
.branch-links a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}
.footer-col a {
  padding: 3px 0;
  font-size: 0.8rem;
}
.footer {
  padding-top: 46px;
}
.footer-grid {
  margin-bottom: 34px;
}
.footer-brand .brand-lockup {
  max-width: 180px;
}
.fd-process-hero .split {
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
}
.fd-process-hero {
  padding: 66px 0 70px;
}
.fd-process-hero .lead {
  max-width: 510px;
}
.workflow-lab {
  min-width: 0;
  background: #edf3fe;
  border: 1px solid #d0dff7;
  border-radius: 18px;
  box-shadow: 0 20px 50px #153b7510;
  overflow: hidden;
}
.lab-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid #d6e2f5;
  background: #f8fbff;
}
.lab-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  color: #173567;
  font-size: 0.83rem;
  font-weight: 650;
  letter-spacing: -0.015em;
}
.lab-heading svg {
  height: 23px;
  width: 23px;
  color: #3267e5;
}
.lab-reset {
  background: transparent;
  border: 0;
  color: #516d97;
  font-size: 0.73rem;
  padding: 8px;
  min-height: 36px;
}
.lab-reset:hover {
  color: #245bce;
  text-decoration: underline;
}
.lab-sources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 18px 20px 0;
}
.lab-source {
  min-width: 0;
  border: 1px solid #d2e0f3;
  background: #fff;
  border-radius: 8px;
  color: #304c77;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 7px;
  font-size: 0.75rem;
  min-height: 44px;
}
.lab-source svg {
  width: 18px;
  height: 18px;
  color: #396de0;
  flex: none;
}
.lab-source[aria-pressed="true"] {
  background: #e1edff;
  border-color: #9bb9f0;
  color: #204f9b;
}
.lab-source-note {
  font-size: 0.7rem;
  line-height: 1.55;
  color: #5e7495;
  padding: 9px 22px 15px;
  margin: 0;
  min-height: 46px;
}
.lab-progress-group {
  margin: 0 20px 18px;
}
.lab-stages {
  display: flex;
  list-style: none;
  margin: 0 0 9px;
  padding: 0;
  justify-content: space-between;
  gap: 4px;
}
.lab-stages li {
  color: #6880a1;
  font-size: 0.67rem;
  line-height: 1.3;
  flex: 1;
  text-align: center;
}
.lab-stages li.is-active {
  color: #205bd2;
  font-weight: 750;
}
.lab-stages li.is-done {
  color: #1d6d68;
}
.lab-rail {
  height: 3px;
  background: #d4e0f1;
  border-radius: 10px;
  overflow: hidden;
}
.lab-rail > span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #2e66e7, #65c7dd);
  transition: width 0.45s ease;
}
.lab-stage {
  padding: 0 23px 17px;
  min-height: 298px;
}
.lab-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.62rem;
  font-weight: 650;
  letter-spacing: 0.025em;
  color: #4e6c96;
  margin-bottom: 10px;
}
.lab-status:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
[data-state="review"] .lab-status,
[data-state="hold"] .lab-status {
  color: #926118;
}
[data-state="complete"] .lab-status {
  color: #14745f;
}
.lab-stage h2 {
  font-size: 1.5rem;
  letter-spacing: -0.035em;
  line-height: 1.17;
  max-width: 430px;
}
.lab-stage > p:not(.lab-status) {
  font-size: 0.77rem;
  line-height: 1.65;
  color: #5d7393;
  margin: 10px 0 15px;
  min-height: 40px;
}
.lab-document {
  padding: 15px 16px;
  border: 1px solid #d5e1f1;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 5px 10px #16427d04;
}
.lab-document-top {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 0.67rem;
  font-weight: 650;
  color: #25426e;
  border-bottom: 1px solid #e5edf7;
  padding-bottom: 10px;
}
.lab-document-top svg {
  height: 16px;
  width: 16px;
  color: #4281d9;
}
.lab-items {
  padding: 0;
  margin: 12px 0 0;
  list-style: none;
  display: grid;
  gap: 9px;
}
.lab-items li {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 0.72rem;
  line-height: 1.45;
  color: #365477;
}
.lab-check {
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  background: #e9f5f0;
  color: #19735f;
  font-size: 0.65rem;
}
.lab-check svg {
  width: 11px;
  height: 11px;
}
.lab-items .pending .lab-check {
  background: #f0f4fa;
}
.lab-check i {
  height: 4px;
  width: 4px;
  background: #92a5bf;
  border-radius: 50%;
}
.lab-items .attention .lab-check {
  background: #fff3df;
  color: #9a681a;
}
.lab-bottom {
  padding: 0 22px 20px;
  min-height: 64px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.lab-primary,
.lab-secondary {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 11px 13px;
  font-size: 0.73rem;
  font-weight: 650;
  min-height: 43px;
  line-height: 1.25;
}
.lab-primary {
  background: #245fdd;
  border: 1px solid #245fdd;
  color: #fff;
}
.lab-primary:hover {
  background: #194ab6;
}
.lab-primary svg {
  width: 13px;
  height: 13px;
  stroke-width: 1.8;
}
.lab-secondary {
  background: #fff;
  color: #365b8b;
  border: 1px solid #c6d8ef;
}
.lab-running {
  font-size: 0.67rem;
  color: #6981a2;
}
.lab-record {
  margin: 0 22px 20px;
  padding: 14px;
  background: #fff;
  border: 1px solid #cbe2dd;
  border-radius: 8px;
}
.lab-record strong {
  font-size: 0.73rem;
}
.lab-record p {
  font-size: 0.7rem;
  color: #56726d;
  margin: 6px 0 0;
  line-height: 1.7;
}
.lab-bottom-note {
  padding: 10px 22px;
  border-top: 1px solid #d6e3f4;
  font-size: 0.65rem;
  color: #607ca1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.lab-bottom-note span:last-child {
  color: #345a8c;
  font-weight: 600;
}
.fd-how-hero {
  padding: 48px 0 42px;
}
.fd-how-hero .split {
  gap: 65px;
  grid-template-columns: 1fr 0.82fr;
}
.fd-how-hero h1 {
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
}
.fd-how-hero .lead {
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 20px;
  max-width: 570px;
}
.fd-how-hero .eyebrow {
  margin-bottom: 17px;
}
.fd-how-hero .actions {
  margin-top: 22px;
}
.service-cycle {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 23px;
}
.service-cycle article {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 13px;
  padding: 21px 0;
  border-bottom: 1px solid var(--line);
}
.service-cycle article:last-child {
  border: 0;
}
.service-cycle .cycle-icon {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: #eaf3ed;
  color: #1a6352;
  display: grid;
  place-items: center;
}
.service-cycle svg {
  height: 17px;
  width: 17px;
}
.service-cycle h3 {
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.service-cycle p {
  margin: 0;
  color: var(--muted);
  font-size: 0.83rem;
  line-height: 1.65;
}
.fd-sample-report-section {
  padding: 47px 0 42px;
}
.fd-sample-report-section .section-header {
  margin-bottom: 24px;
  gap: 32px;
}
.fd-sample-report-section .section-header h2 {
  font-size: clamp(2rem, 3.2vw, 2.85rem);
}
.fd-sample-report-section .section-header .body-copy {
  max-width: 390px;
  font-size: 0.9rem;
}
.fd-report-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}
.fd-report-tools p {
  margin: 0;
  font-size: 0.74rem;
  color: var(--muted);
}
.fd-report-tools .text-link {
  font-size: 0.76rem;
  margin-left: 19px;
}
.fd-report-shell {
  border: 1px solid #d3e2dc;
  border-radius: 11px;
  background: #f0f5f2;
  overflow: hidden;
  position: relative;
  box-shadow: 0 8px 28px #123a2c07;
}
.fd-report-shell iframe {
  width: 100%;
  height: 690px;
  border: 0;
  display: block;
  background: #fff;
}
.fd-reader-layout {
  padding: 29px 0 50px;
}
.fd-reader-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.fd-reader-intro h1 {
  font-size: 2.2rem;
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.fd-reader-intro p {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 8px 0 0;
}
.fd-reader-intro .text-link {
  font-size: 0.8rem;
  white-space: nowrap;
}
.fd-full-reader .fd-report-shell iframe {
  height: max(640px, calc(100svh - 240px));
  max-height: 1200px;
}
.fd-report-note {
  font-size: 0.73rem;
  line-height: 1.7;
  color: var(--muted);
  margin: 12px 0 0;
}
.fd-how-ending {
  padding: 15px 0 65px;
}
.fd-how-ending .cta-panel {
  padding: 34px 38px;
}
.fd-how-ending .cta-panel h2 {
  font-size: 2rem;
}
.fd-how-ending .cta-panel p {
  font-size: 0.9rem;
}
.original-video .video-cover {
  position: relative;
  aspect-ratio: 16/9;
  background: #173d37;
  overflow: hidden;
  isolation: isolate;
  min-height: 240px;
  gap: 14px;
}
.video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.original-video .video-cover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #071d2530, #071d2580);
  z-index: -1;
}
.original-video .video-cover > span:last-child {
  font-size: 1.4rem;
  font-weight: 600;
  text-shadow: 0 1px 8px #061a2455;
  line-height: 1.3;
  max-width: 320px;
}
.video-glyph {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid #ffffff88;
  border-radius: 50%;
  background: #ffffff1f;
  color: #fff;
  font-size: 1rem;
  box-shadow: 0 5px 15px #071d2518;
}
.original-video .video-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 17px 19px;
}
.video-caption strong {
  font-size: 0.78rem;
  color: #e8f5ef;
}
.video-caption .text-link {
  font-size: 0.74rem;
  color: #c8eadb;
  min-height: 34px;
}
.video-transcript {
  border-top: 1px solid #ffffff25;
  padding: 0 19px 15px;
}
.video-transcript summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.72rem;
  color: #d7e9e2;
  min-height: 40px;
  list-style: none;
}
.video-transcript summary:before {
  content: "+";
  font-size: 1rem;
}
.video-transcript[open] summary:before {
  content: "-";
}
.video-transcript p {
  font-size: 0.78rem;
  color: #d9e9e3;
  line-height: 1.85;
  margin: 5px 0;
}
.video-transcript a {
  font-size: 0.74rem;
  color: #c8eadb;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.video-fallback {
  font-size: 0.78rem;
  color: #f7e8b8 !important;
  padding: 10px 19px;
  margin: 0;
}
.original-video video {
  outline-offset: -3px;
}
.source-book img {
  object-fit: contain;
}
@media (max-width: 1050px) {
  .fd-process-hero .split {
    gap: 30px;
    grid-template-columns: 0.95fr 1.05fr;
  }
  .fd-process-hero h1 {
    font-size: clamp(3rem, 5.3vw, 4.6rem);
  }
  .fd-how-hero .split {
    gap: 35px;
  }
  .lab-stage {
    padding-inline: 18px;
  }
  .lab-stage h2 {
    font-size: 1.35rem;
  }
  .lab-bottom {
    padding-inline: 18px;
  }
}
@media (max-width: 800px) {
  .fd-process-hero .split,
  .fd-how-hero .split {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .fd-process-hero {
    padding: 43px 0 53px;
  }
  .fd-process-hero h1 {
    font-size: clamp(2.9rem, 8.7vw, 4.4rem);
  }
  .workflow-lab {
    max-width: 600px;
    margin-inline: auto;
    width: 100%;
  }
  .lab-stage {
    min-height: 280px;
  }
  .fd-how-hero {
    padding: 32px 0;
  }
  .service-cycle {
    padding-inline: 20px;
  }
  .service-cycle article {
    padding-block: 16px;
  }
  .fd-sample-report-section {
    padding: 32px 0;
  }
  .fd-sample-report-section .section-header .body-copy {
    max-width: none;
    margin-top: 13px;
  }
  .fd-reader-intro {
    display: block;
  }
  .fd-reader-intro .text-link {
    margin-top: 10px;
  }
  .fd-report-tools .text-link {
    margin: 0 17px 0 0;
  }
  .fd-report-tools {
    align-items: flex-start;
    gap: 8px;
  }
  .fd-how-ending {
    padding-bottom: 43px;
  }
  .fd-how-ending .cta-panel {
    padding: 28px;
  }
  .branch-inner {
    display: block;
    padding-block: 11px;
  }
  .branch-name {
    display: inline-block;
    margin-bottom: 7px;
  }
  .branch-links {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 20px;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
    padding-bottom: 3px;
  }
  .branch-links a {
    flex: none;
    white-space: nowrap;
    min-height: 42px;
    font-size: 0.76rem;
  }
  .fd-report-shell iframe {
    height: 650px;
  }
  .fd-full-reader .fd-report-shell iframe {
    height: max(590px, calc(100svh - 190px));
  }
}
@media (max-width: 560px) {
  .fd-process-hero .lead {
    font-size: 0.96rem;
    margin-top: 21px;
  }
  .lab-top {
    padding: 13px 15px;
  }
  .lab-heading {
    font-size: 0.78rem;
  }
  .lab-sources {
    padding: 14px 14px 0;
    gap: 6px;
  }
  .lab-source {
    font-size: 0.7rem;
    gap: 5px;
    padding: 10px 6px;
  }
  .lab-source svg {
    width: 16px;
    height: 16px;
  }
  .lab-source-note {
    padding: 8px 15px 13px;
    min-height: 49px;
    font-size: 0.68rem;
  }
  .lab-progress-group {
    margin: 0 14px 16px;
  }
  .lab-stage {
    padding: 0 16px 17px;
    min-height: 290px;
  }
  .lab-stage h2 {
    font-size: 1.38rem;
  }
  .lab-stage > p:not(.lab-status) {
    font-size: 0.76rem;
  }
  .lab-items li {
    font-size: 0.73rem;
  }
  .lab-bottom {
    padding: 0 16px 17px;
    gap: 9px;
    min-height: 66px;
  }
  .lab-primary,
  .lab-secondary {
    font-size: 0.72rem;
    min-height: 44px;
  }
  .lab-bottom-note {
    font-size: 0.61rem;
    padding: 10px 15px;
    gap: 8px;
  }
  .lab-document {
    padding: 13px;
  }
  .lab-record {
    margin-inline: 15px;
  }
  .fd-how-hero h1 {
    font-size: 2.9rem;
  }
  .fd-how-hero .lead {
    font-size: 0.94rem;
  }
  .fd-sample-report-section .section-header h2 {
    font-size: 2rem;
  }
  .fd-reader-intro h1 {
    font-size: 1.85rem;
  }
  .fd-report-tools .text-link {
    font-size: 0.75rem;
  }
  .original-video .video-cover {
    min-height: 210px;
  }
  .original-video .video-cover > span:last-child {
    font-size: 1.3rem;
  }
  .footer-col a {
    min-height: 36px;
    display: flex;
    align-items: center;
  }
  .fd-how-ending .cta-panel h2 {
    font-size: 1.8rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lab-rail > span {
    transition: none !important;
  }
}
body[data-motion="off"] .lab-rail > span {
  transition: none !important;
}
@media print {
  .workflow-lab,
  .original-video {
    display: none;
  }
  .fd-report-shell {
    border: 0;
  }
}
/* Clear inherited insurance-demo spacing inside the corporate demonstration. */
.workflow-lab .lab-heading {
  margin: 0;
  gap: 10px;
}
.workflow-lab .lab-top {
  min-height: 0;
}
.original-video .video-cover:after {
  background: #071d252b;
}
.original-video .video-cover .video-glyph {
  background: #0c2c3688;
  backdrop-filter: blur(3px);
  width: 61px;
  height: 61px;
}

/* Production presentation and responsive layout. */
body[data-section="finance"] {
  --ink: #12233f;
  --muted: #5c6b80;
  --pine: #285fe5;
  --pine-dark: #0d2857;
  --accent: #81ebf3;
  --cream: #f7f9fc;
  --paper: #ffffff;
  --line: #dbe5f0;
  --navy: #122a53;
  --blue: #eaf2ff;
  color: #12233f;
  background: #f7f9fc;
}
body[data-section="finance"] .site-header,
body[data-section="finance"] .site-header.is-scrolled {
  background: rgba(249, 251, 255, 0.96);
  border-bottom-color: #dbe5f0;
}
body[data-section="finance"] .branch-nav {
  background: #fff;
  border-bottom-color: #dbe5f0;
}
body[data-section="finance"] .branch-name {
  color: #285fe5;
}
body[data-section="finance"] .branch-links a[aria-current="page"] {
  color: #285fe5;
}
body[data-section="finance"] .header-button {
  background: #2055df;
  border-color: #2055df;
}
body[data-section="finance"] .header-button:hover {
  background: #163da4;
  border-color: #163da4;
}
body[data-section="finance"] .footer {
  background: #f0f5fb;
  border-top-color: #dbe5f0;
}
body[data-section="finance"] .footer h4 {
  color: #475e7b;
}
body[data-section="finance"] .footer-col a {
  color: #4b607a;
}
body[data-section="finance"] .footer-bottom {
  color: #697c92;
  border-top-color: #d9e4f2;
}
body[data-section="finance"] .footer .concept-badge {
  background: #e3edfc;
  color: #47658b;
}
body[data-section="finance"] .business-hero {
  background:
    radial-gradient(ellipse 55% 90% at 93% 10%, #dfeaff 0%, transparent 78%),
    linear-gradient(120deg, #f7fbff, #edf3fc);
}
body[data-section="finance"] .business-hero .serif,
body[data-section="finance"] .page-hero .serif {
  color: #2960cb;
}
body[data-section="finance"] .section.soft {
  background: #edf4ff;
}
body[data-section="finance"] .section.dark {
  background: #0c244d;
}
body[data-section="finance"] .section.dark .eyebrow {
  color: #8de5f7;
}
body[data-section="finance"] .section.dark .body-copy,
body[data-section="finance"] .section.dark .lead {
  color: #c3d3e8;
}
body[data-section="finance"] .section.dark .principle p {
  color: #c3d3e8;
}
body[data-section="finance"] .eyebrow .point {
  background: #316bdf;
}
body[data-section="finance"]
  .btn:not(.lime):not(.white):not(.ghost):not(.outline):not(.navy) {
  background: #285fe5;
  border-color: #285fe5;
  color: white;
}
body[data-section="finance"]
  .btn:not(.lime):not(.white):not(.ghost):not(.outline):not(.navy):hover {
  background: #194dca;
}
body[data-section="finance"] .btn.outline {
  background: #fff;
  color: #285fe5;
  border-color: #b9cef3;
}
body[data-section="finance"] .btn.outline:hover {
  background: #eaf2ff;
}
body[data-section="finance"] .btn.lime {
  background: #81ebf3;
  border-color: #81ebf3;
  color: #102f56;
}
body[data-section="finance"]
  .label:not(.draft):not(.status-success):not(.status-warning) {
  background: #ecf3ff;
  border-color: #c9daf7;
  color: #2456b7;
}
body[data-section="finance"] .business-card.finance,
body[data-section="finance"] .pricing-card.primary {
  background: #eaf2ff;
  border-color: #cbdcf5;
}
body[data-section="finance"] .pricing-highlight {
  border-color: #cbdcf5;
}
body[data-section="finance"] .feature-panel.focus {
  background: #122e60;
  border-color: #122e60;
}
body[data-section="finance"] .feature-panel.focus p {
  color: #c3d3e8;
}
body[data-section="finance"] .feature-panel.focus .text-link {
  color: #8deef5;
}
body[data-section="finance"] .feature-list li:before,
body[data-section="finance"] .hero-facts span:before {
  color: #316bdf;
}
body[data-section="finance"] .mini-process span {
  background: #f1f6ff;
  border-color: #d5e3fa;
  color: #37567d;
}
body[data-section="finance"] .card-features span {
  border-color: #cbdaf0;
  color: #4e6280;
}
body[data-section="finance"] .service-card .ico,
body[data-section="finance"] .circle-arrow,
body[data-section="finance"] .step:before {
  color: #285fe5;
}
body[data-section="finance"] .book-topics span {
  background: #edf4ff;
  border-color: #ccdef7;
  color: #345d98;
}
body[data-section="finance"] .book-interest .text-link {
  color: #2459c1;
}
body[data-section="finance"] .founder-block {
  background: #edf4ff;
  border-color: #d2e1f8;
}
body[data-section="finance"] .founder-monogram {
  color: #83a6e4;
}
body[data-section="finance"] .founder-stats {
  border-top-color: #d0def6;
  color: #526d91;
}
body[data-section="finance"] .readiness-promo {
  background: #eaf2ff;
  border-color: #cbdcf6;
}
body[data-section="finance"] .check-grid .check {
  border-color: #dbe5f0;
  background: white;
}
body[data-section="finance"] .callout,
body[data-section="finance"] .evidence-box,
body[data-section="finance"] .intro-note {
  background: #edf4ff;
  border-color: #cbdcf6;
}
body[data-section="finance"] .intro-note {
  border-left-color: #477fe8;
  color: #405779;
}
body[data-section="finance"] .evidence-row {
  border-top-color: #c9daef;
}
body[data-section="finance"] .evidence-row b {
  color: #3766b1;
}
body[data-section="finance"] .quote-mark {
  color: #7b9fe0;
}
body[data-section="finance"] .initials {
  background: #eaf2ff;
  color: #4569a4;
}
body[data-section="finance"] .faq summary:after {
  color: #4272c7;
}
body[data-section="finance"] .app-topbar,
body[data-section="finance"] .finance-preview .app-topbar {
  color: #32476e;
}
body[data-section="finance"] .finance-preview .app-status,
body[data-section="finance"] .finance-preview .app-title small,
body[data-section="finance"] .finance-preview .kpi-label,
body[data-section="finance"] .finance-preview .app-card-heading,
body[data-section="finance"] .finance-preview .app-row,
body[data-section="finance"] .finance-preview .app-legend {
  color: #58718d;
}
body[data-section="finance"] .finance-preview .app-kpi {
  background: #f7faff;
  border-color: #dce7f8;
}
body[data-section="finance"] .finance-preview .app-kpi em,
body[data-section="finance"] .finance-preview .app-row b {
  color: #315bb0;
}
body[data-section="finance"] .finance-preview .micro-tag {
  background: #e7f0ff;
  color: #3568bc;
}
body[data-section="finance"] .finance-preview .app-card {
  border-color: #dce7f8;
}
body[data-section="finance"] .finance-preview .app-title strong {
  color: #244675;
}
body[data-section="finance"] .fd-compact-steps > div {
  background: #f8fbff;
  border-color: #dbe5f0;
}
body[data-section="finance"] .fd-small-icon {
  background: #e4efff;
  color: #285fe5;
}
body[data-section="finance"] .fd-finance-close {
  background: #edf4ff;
}
body[data-section="finance"] .fd-report-frame-wrap {
  box-shadow: 0 21px 50px #1229570f;
  border-color: #d6e3f4;
}
body[data-section="finance"] .fd-report-actions {
  color: #285fe5;
}
body[data-section="finance"] .time-promise {
  color: #435f87;
}
body[data-section="finance"] .fd-finance-portrait {
  box-shadow: 0 12px 28px #153d731c;
}
body[data-section="finance"] .form-result {
  background: #edf4ff;
  border-color: #cbdcf6;
}
body[data-section="finance"] .field input:focus,
body[data-section="finance"] .field textarea:focus,
body[data-section="finance"] .field select:focus {
  outline-color: #285fe5;
}
/* Temporary narration is explicitly identified rather than implying an approved recording. */
.fd-voice-note {
  font-size: 0.7rem;
  font-weight: 500;
  color: #526a8e;
  background: #edf4ff;
  border: 1px solid #d5e4f8;
  border-radius: 4px;
  padding: 4px 8px;
  margin-left: 8px;
  white-space: normal;
}
@media (max-width: 560px) {
  .fd-voice-note {
    display: block;
    margin: 7px 0 0;
    max-width: max-content;
  }
}

/* Complete the media/player and readiness surfaces in the corporate blue family. */
body[data-section="finance"] .original-video {
  background: #112d59;
  border-color: #24518f;
  box-shadow: 0 25px 55px #12295717;
}
body[data-section="finance"] .original-video video {
  background: #0c234a;
}
body[data-section="finance"] .video-caption strong {
  color: #eaf3ff;
}
body[data-section="finance"] .video-caption span:not(.fd-voice-note) {
  color: #b6cee9;
}
body[data-section="finance"] .video-caption .text-link,
body[data-section="finance"] .video-caption a {
  color: #c0eefa;
}
body[data-section="finance"] .video-cover {
  background:
    radial-gradient(circle at 75% 20%, #235daf55, transparent 60%), #112d59;
}
body[data-section="finance"] .video-glyph {
  color: #d0f1fe;
  border-color: #74b3f4;
}
body[data-section="finance"] .video-transcript {
  border-top-color: #ffffff30;
}
body[data-section="finance"] .video-transcript summary {
  color: #d3e3f9;
}
body[data-section="finance"] .video-transcript p {
  color: #d3e3f9;
}
body[data-section="finance"] .video-transcript a {
  color: #b8ecff;
}
body[data-section="finance"] .readiness-band {
  background: #eaf2ff;
  border-color: #cbdcf6;
}
body[data-section="finance"] .readiness-band .text-link {
  color: #285fe5;
}
body[data-section="finance"] .pricing-card.primary .price {
  color: #163e8d;
}
body[data-section="finance"] .quote-card .quote-mark {
  color: #8daee8;
}
body[data-section="finance"] .quote-person .initials {
  background: #eaf2ff;
  color: #456caa;
}
body[data-section="finance"] .card-bottom {
  border-color: #d0ddf4;
}
body[data-section="finance"] .founder-stats strong {
  color: #163e8d;
}
body[data-section="finance"] .fd-voice-note {
  background: #edf4ff;
  color: #355982;
  border-color: #aac3e9;
}

/* finance-components.css */
.lead-open {
  overflow: hidden;
}
.lead-dialog {
  border: 1px solid #cfdae2;
  border-radius: 19px;
  padding: 0;
  width: min(800px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  color: #143044;
  box-shadow: 0 25px 95px #0c263a35;
  background: white;
}
.lead-dialog::backdrop {
  background: #091b2dcc;
  backdrop-filter: blur(4px);
}
.lead-layout {
  display: grid;
  grid-template-columns: 245px 1fr;
  min-height: 550px;
}
.lead-close {
  position: absolute;
  right: 15px;
  top: 12px;
  border: 0;
  background: #eef4f7;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  color: #264b64;
  font: normal 26px Arial;
  cursor: pointer;
  z-index: 2;
}
.lead-close:hover {
  background: #dfeef6;
}
.lead-aside {
  padding: 42px 29px;
  background: #102b3f;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: white;
  min-height: 100%;
}
.lead-aside img {
  object-fit: contain;
  margin-bottom: 23px;
}
.lead-aside .eyebrow {
  color: #8dc9e7;
  font-size: 0.61rem;
  margin: 0 0 20px;
}
.lead-aside h3 {
  color: white;
  font-size: 1.6rem;
  letter-spacing: -0.035em;
  line-height: 1.25;
  margin: 0 0 20px;
}
.lead-aside p {
  color: #bdd3e2;
  line-height: 1.8;
  font-size: 0.9rem;
  margin: 0;
}
.lead-aside-footer {
  margin-top: auto;
  padding-top: 45px;
  line-height: 1.7;
  color: #78adca;
  font-size: 0.77rem;
}
.lead-content {
  padding: 44px 35px 32px;
  min-width: 0;
}
.lead-content h2 {
  font-size: 1.9rem;
  line-height: 1.12;
  letter-spacing: -0.045em;
  margin: 8px 0 12px;
}
.lead-content .eyebrow {
  font-size: 0.63rem;
}
.lead-content #lead-intro,
.lead-success > p {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #657c8c;
}
.lead-content form {
  margin-top: 23px;
}
.lead-content label {
  display: block;
  font-size: 0.8rem;
  color: #244357;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 15px;
}
.lead-content input,
.lead-content textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #c9d7e0;
  background: white;
  border-radius: 7px;
  color: #17364c;
  padding: 12px 13px;
  font: 400 0.9rem/1.5 inherit;
  margin-top: 5px;
  outline-offset: 3px;
}
.lead-content input {
  height: 47px;
  font-size: 15px;
  font-family: inherit;
}
.lead-content textarea {
  min-height: 80px;
  resize: vertical;
  font-size: 14px;
  font-family: inherit;
}
.lead-content input:focus,
.lead-content textarea:focus {
  outline: 2px solid #87c9ef;
  border-color: #187bb9;
}
.lead-content [aria-invalid="true"] {
  border-color: #b74d43;
}
.lead-content .form-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 12px;
}
.field-optional {
  color: #8194a2;
  font-size: 0.71rem;
  font-weight: 400;
}
.lead-consent {
  font-size: 0.72rem !important;
  line-height: 1.65 !important;
  color: #6d8291 !important;
}
.lead-consent a {
  color: #31657f;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lead-submit {
  width: 100%;
  justify-content: center;
  cursor: pointer;
  font-size: 0.86rem;
  margin-top: 16px;
}
.lead-submit:disabled {
  opacity: 0.6;
  cursor: wait;
}
.lead-error {
  padding: 10px 12px;
  background: #fff2ef;
  border: 1px solid #efc3b9;
  border-radius: 7px;
  color: #9c4136;
  font-size: 0.8rem !important;
  line-height: 1.6;
}
.honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.preview-notice {
  border-left: 2px solid #82b7d3;
  background: #f0f7fb;
  color: #446b83;
  padding: 8px 11px;
  font-size: 0.74rem;
  line-height: 1.6;
}
.lead-success {
  padding-top: 25px;
}
.success-check {
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  border: 1px solid #c5e3e8;
  border-radius: 50%;
  background: #eff8f9;
  color: #188193;
  font-size: 1.45rem;
  margin-bottom: 25px;
}
.lead-success .button {
  margin: 22px 0 5px;
  justify-content: center;
  width: 100%;
  font-size: 0.85rem;
}
.lead-success .text-link {
  display: block;
  margin-top: 30px;
  font-size: 0.86rem;
}
.calendar-note {
  font-size: 0.72rem !important;
  color: #7b909e !important;
}
.lead-dialog button:focus-visible {
  outline: 3px solid #69b6e4;
  outline-offset: 3px;
}
@media (max-width: 1050px) {
  .lead-layout {
    grid-template-columns: 210px 1fr;
  }
}
@media (max-width: 760px) {
  .lead-layout {
    grid-template-columns: 180px 1fr;
  }
  .lead-content {
    padding: 42px 24px 28px;
  }
  .lead-aside {
    padding: 40px 23px;
  }
  .lead-content h2 {
    font-size: 1.65rem;
  }
  .lead-content .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 560px) {
  .lead-dialog {
    max-height: calc(100dvh - 24px);
    width: calc(100vw - 24px);
    border-radius: 15px;
  }
  .lead-layout {
    display: block;
    min-height: 0;
  }
  .lead-aside {
    display: none;
  }
  .lead-content {
    padding: 40px 25px 25px;
  }
  .lead-content .eyebrow {
    font-size: 0.6rem;
  }
  .lead-content input,
  .lead-content textarea {
    font-size: 16px;
  }
  .lead-content h2 {
    font-size: 1.8rem;
  }
  .lead-content .form-grid {
    grid-template-columns: 1fr;
  }
  .lead-content form {
    margin-top: 19px;
  }
  .lead-content label {
    font-size: 0.8rem;
    margin-bottom: 12px;
  }
  .lead-submit {
    margin-top: 10px;
  }
  .lead-content #lead-intro {
    font-size: 0.88rem;
  }
  .lead-success {
    min-height: 330px;
  }
  .lead-close {
    right: 11px;
    top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lead-dialog {
    transition: none !important;
    animation: none !important;
  }
}
@media print {
  .lead-dialog {
    display: none !important;
  }
}
.lead-dialog[data-kind="reader"] .lead-aside {
  align-items: center;
  text-align: center;
  justify-content: center;
}
.lead-dialog[data-kind="reader"] #lead-aside-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.lead-dialog[data-kind="reader"] .lead-book-cover {
  width: min(172px, 100%);
  align-self: center;
  margin: 0 0 22px;
}
.lead-dialog[data-kind="reader"] .book-coming-soon {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
}
.lead-dialog[data-kind="reader"] .lead-content h2 {
  max-width: 410px;
}
.lead-aside {
  justify-content: flex-start;
}
.lead-aside .lead-aside-brand {
  margin-bottom: 28px;
}
.lead-aside .lead-aside-title {
  font-size: 1.7rem;
  line-height: 1.25;
  margin-top: 24px;
  color: white;
}
.lead-aside .lead-aside-copy {
  font-size: 0.85rem;
  line-height: 1.85;
  margin-top: 17px;
  color: #c4d5de;
}
.lead-aside .lead-book-cover {
  height: auto;
  width: 142px;
  max-width: 100%;
  border-radius: 3px;
  box-shadow: 0 14px 30px #0003;
  align-self: flex-start;
  margin-bottom: 24px;
}
.lead-aside .lead-aside-footer {
  margin-top: auto;
  padding-top: 40px;
}
.lead-dialog[data-kind="reader"] .lead-aside .eyebrow {
  color: var(--cyan);
}
.lead-consent {
  font-size: 0.78rem !important;
  line-height: 1.7 !important;
}
.lead-aside h3 {
  letter-spacing: -0.03em;
}
@media (max-width: 760px) {
  .lead-aside .lead-aside-title {
    font-size: 1.4rem;
  }
  .lead-aside .lead-book-cover {
    width: 110px;
  }
}
.overview-media-status {
  padding: 14px 20px;
  margin: 0;
  color: #e6f2f8;
  background: #102a3d;
  font-size: 0.9rem;
}
.overview-trigger {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 16/9;
  background: #102b3f;
  color: white;
  box-shadow: 0 18px 44px #153a5017;
  text-decoration: none;
}
.overview-poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.overview-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #071c2900 35%, #071c29ee 100%);
}
.overview-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -65%);
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ffffffed;
  color: #146fa0;
  border: 1px solid #ffffffa0;
  box-shadow: 0 5px 22px #071c2922;
  transition:
    background 0.2s,
    box-shadow 0.2s;
}
.overview-trigger:hover .overview-play {
  background: white;
  box-shadow: 0 8px 30px #071c2955;
}
.overview-label {
  position: absolute;
  left: 24px;
  bottom: 22px;
  display: grid;
  gap: 4px;
}
.overview-label strong {
  font-size: 1rem;
  color: white;
}
.overview-label > span {
  font-size: 0.78rem;
  color: #d8e6ee;
}
.overview-duration {
  position: absolute;
  right: 24px;
  bottom: 25px;
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
  color: #d8e6ee;
}
.overview-modal {
  padding: 0;
  border: 1px solid #56718466;
  border-radius: 15px;
  width: min(1140px, calc(100vw - 36px));
  max-width: none;
  max-height: calc(100dvh - 30px);
  background: #102b3f;
  color: #fff;
  overflow: hidden;
  box-shadow: 0 25px 90px #0005;
}
.overview-modal::backdrop {
  background: #081724df;
  backdrop-filter: blur(5px);
}
.overview-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid #ffffff20;
}
.overview-modal-head > div {
  display: flex;
  align-items: center;
  gap: 14px;
}
.overview-modal-head strong {
  font-size: 0.86rem;
  font-weight: 600;
  color: white;
}
.overview-modal-head span {
  font-size: 0.76rem;
  color: #a7c4d7;
}
.overview-close {
  font:
    400 26px/1 Arial,
    sans-serif;
  border: 1px solid #ffffff35;
  background: transparent;
  color: white;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  flex-shrink: 0;
}
.overview-close:hover {
  background: #ffffff18;
}
.overview-modal video {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  max-height: calc(100dvh - 107px);
  background: #000;
  object-fit: contain;
}
.overview-modal video::cue {
  font-family: Arial, sans-serif;
  font-size: clamp(14px, 2.05vw, 26px);
  color: #fff;
  background: #0b2135e8;
  line-height: 1.45;
}
body.video-open {
  overflow: hidden;
}
.lead-aside-footer {
  display: none !important;
}
.lead-stepper {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: #688091;
  font-size: 0.71rem;
}
.lead-stepper span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.lead-stepper b {
  display: grid;
  place-items: center;
  border: 1px solid #c8dbe7;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  font-size: 0.67rem;
}
.lead-stepper .active {
  color: #1379ad;
}
.lead-stepper .active b {
  background: #1379ad;
  color: white;
  border-color: #1379ad;
}
.lead-dialog[data-kind="reader"] .lead-stepper {
  display: none;
}
.lead-content #lead-intro {
  line-height: 1.65;
}
.lead-success {
  min-height: 330px;
}
.lead-aside .lead-aside-title {
  font-size: 1.5rem;
}
.lead-aside .lead-aside-copy {
  font-size: 0.83rem;
  line-height: 1.7;
}
.lead-aside {
  justify-content: center;
}
.lead-aside-content {
  width: 100%;
}
.lead-consent {
  font-size: 0.72rem !important;
}
.lead-content form {
  margin-top: 20px;
}
@media (max-width: 850px) {
  .overview-modal {
    width: calc(100vw - 24px);
  }
}
@media (max-width: 600px) {
  .overview-label {
    left: 18px;
    bottom: 17px;
  }
  .overview-label strong {
    font-size: 0.9rem;
  }
  .overview-label > span {
    font-size: 0.72rem;
  }
  .overview-duration {
    right: 17px;
    bottom: 19px;
  }
  .overview-play {
    width: 56px;
    height: 56px;
  }
  .overview-modal-head {
    padding: 10px 13px;
  }
  .overview-modal-head > div > span {
    display: none;
  }
  .overview-modal-head strong {
    font-size: 0.76rem;
  }
  .overview-modal {
    border-radius: 10px;
  }
  .overview-close {
    width: 33px;
    height: 33px;
  }
  .overview-modal video {
    max-height: calc(100dvh - 89px);
  }
  .lead-stepper {
    margin-top: 0;
    margin-bottom: 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .overview-play {
    transition: none !important;
  }
}
@media print {
  .overview-modal,
  .lead-dialog {
    display: none !important;
  }
}
.overview-written {
  padding: 16px 22px 20px;
  background: white;
  color: var(--ink);
  border-top: 1px solid var(--line);
}
.overview-written summary {
  font-size: 13px;
  cursor: pointer;
  font-weight: 600;
}
.overview-written p {
  font-size: 14px;
  line-height: 1.75;
  margin-top: 12px;
}
.overview-media-status {
  padding: 12px 22px;
  background: #f2f7fa;
  font-size: 13px;
  color: var(--text);
}
.overview-fallback-button {
  margin: 12px 22px 16px;
  border: 1px solid var(--blue);
  border-radius: 7px;
  color: var(--blue);
  background: white;
  padding: 10px 16px;
  font-size: 13px;
}
.lead-direct-booking .button {
  margin-top: 16px;
}
.lead-direct-booking .calendar-note {
  font-size: 12px;
  margin-top: 10px;
}
.lead-email-choice {
  margin-top: 20px;
  border: 0;
  background: none;
  padding: 0;
  text-align: left;
  font-size: 13px;
}
.lead-draft-note {
  font-size: 12px;
  line-height: 1.65;
  margin-top: 12px;
}
.lead-success .button + .button {
  margin-top: 12px;
}
.lead-readiness-review {
  margin: 18px 0;
  padding: 16px;
  background: var(--pale);
  border: 1px solid var(--line);
  border-radius: 9px;
  font-size: 13px;
}
.lead-readiness-review label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.lead-readiness-review input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  accent-color: var(--blue);
  margin: 2px 0 0;
}
.lead-readiness-review details {
  margin-top: 12px;
}
.lead-readiness-review summary {
  cursor: pointer;
  font-weight: 600;
}
.lead-readiness-review pre,
.lead-summary-copy {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.65;
  margin-top: 12px;
}
.lead-summary-copy {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 180px;
}
.lead-draft-summary {
  margin-top: 20px;
}
.lead-draft-summary p {
  font-size: 12px;
  line-height: 1.65;
}
.lead-draft-summary button {
  margin-top: 12px;
}
/* readiness.css */
/* Finance Readiness Check. Scoped to the assessment only. */
body.readiness-open {
  overflow: hidden;
}
.readiness-dialog {
  width: min(800px, calc(100% - 36px));
  max-height: 91dvh;
  padding: 0;
  border: 1px solid #d2e1e8;
  border-radius: 19px;
  background: white;
  color: var(--ink);
  box-shadow: 0 28px 90px #061a3170;
  overflow: auto;
  overscroll-behavior: contain;
}
.readiness-dialog::backdrop {
  background: #071d33b3;
  backdrop-filter: blur(4px);
}
.readiness-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 27px 32px 23px;
  border-bottom: 1px solid var(--line);
  background: var(--pale);
}
.readiness-top .eyebrow {
  margin: 0 0 8px;
  font-size: 10px;
}
.readiness-top h2 {
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.readiness-subtitle {
  font-size: 13px;
  margin-top: 8px;
}
.readiness-close {
  background: white;
  color: var(--ink);
  border: 1px solid var(--line);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
}
.readiness-body {
  padding: 25px 32px 28px;
}
.readiness-view {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 23px;
}
.readiness-view label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
}
.readiness-view select {
  border: 1px solid #b8ccd9;
  border-radius: 6px;
  background: white;
  padding: 8px 11px;
  color: var(--ink);
  font-size: 13px;
  max-width: 70%;
}
.readiness-progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
  gap: 15px;
}
.readiness-progress-label strong {
  color: var(--blue);
}
.readiness-dialog progress {
  width: 100%;
  height: 5px;
  border: 0;
  border-radius: 10px;
  background: #e4edf2;
  accent-color: var(--blue);
  display: block;
  margin: 10px 0 27px;
}
.readiness-dialog progress::-webkit-progress-bar {
  background: #e4edf2;
  border-radius: 10px;
}
.readiness-dialog progress::-webkit-progress-value {
  background: var(--blue);
  border-radius: 10px;
}
.readiness-dialog progress::-moz-progress-bar {
  background: var(--blue);
  border-radius: 10px;
}
#readiness-area-title {
  font-size: 25px;
  margin: 0 0 24px;
  outline: none;
}
.readiness-question {
  border: 0;
  padding: 0;
  margin: 0 0 25px;
  min-width: 0;
}
.readiness-question legend {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 500;
  margin-bottom: 12px;
  max-width: 100%;
}
.readiness-options {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.readiness-options label {
  cursor: pointer;
  position: relative;
  min-width: 0;
}
.readiness-options input {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  accent-color: var(--blue);
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}
.readiness-options span {
  display: flex;
  align-items: center;
  border: 1px solid #b8cdd9;
  border-radius: 8px;
  min-height: 48px;
  padding: 11px 10px 11px 38px;
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
}
.readiness-options label:hover span {
  background: var(--pale);
  border-color: var(--blue);
}
.readiness-options input:checked + span {
  background: #e6f3fa;
  color: #0a5a85;
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
  font-weight: 600;
}
.readiness-options input:focus-visible + span {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
.readiness-options input:focus-visible {
  outline: none;
}
.readiness-step-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 8px;
}
.readiness-secondary {
  background: white;
  color: var(--ink);
  border-color: var(--line);
}
.readiness-secondary:hover {
  background: var(--pale);
}
.readiness-secondary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.readiness-local-note {
  font-size: 12px;
  line-height: 1.7;
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 17px;
}
.readiness-error {
  color: #9a302b;
  font-size: 14px;
  margin-bottom: 15px;
}
.readiness-result-top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 25px;
  align-items: center;
}
.readiness-result-top .eyebrow {
  font-size: 10px;
  margin-bottom: 12px;
}
.readiness-result-top h3 {
  font-size: 26px;
  line-height: 1.3;
  margin-bottom: 14px;
  outline: none;
}
.readiness-result-top p {
  font-size: 14px;
  line-height: 1.75;
}
.readiness-score {
  padding: 21px 15px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--pale);
  min-width: 139px;
}
.readiness-score strong {
  display: block;
  font-size: 44px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -2px;
  color: var(--blue);
}
.readiness-score strong small {
  font-size: 19px;
  letter-spacing: -0.5px;
  color: var(--muted);
}
.readiness-score > span {
  font-size: 11px;
  color: var(--text);
  display: block;
  margin-top: 7px;
}
.readiness-priority-title {
  font-size: 17px;
  margin: 30px 0 17px;
}
.readiness-priorities {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: priority;
}
.readiness-priorities > li {
  padding: 21px 21px 21px 58px;
  border: 1px solid var(--line);
  border-radius: 11px;
  margin-bottom: 12px;
  counter-increment: priority;
  position: relative;
}
.readiness-priorities > li:before {
  content: counter(priority, decimal-leading-zero);
  position: absolute;
  top: 22px;
  left: 18px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 650;
}
.readiness-priority-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 7px;
}
.readiness-priority-head h4 {
  font-size: 17px;
  letter-spacing: -0.02em;
}
.readiness-priority-head > span {
  font-size: 10px;
  color: var(--muted);
  font-weight: 600;
}
.readiness-priorities p {
  font-size: 14px;
  line-height: 1.75;
  margin-top: 10px;
}
.readiness-priorities .readiness-evidence {
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
}
.readiness-next-step {
  background: var(--pale);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
  margin-top: 26px;
}
.readiness-next-step h4 {
  font-size: 18px;
  line-height: 1.4;
}
.readiness-next-step p {
  font-size: 14px;
  margin-top: 9px;
}
.readiness-share {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.65;
  margin-top: 18px;
  color: var(--ink);
}
.readiness-share input {
  width: 18px;
  height: 18px;
  accent-color: var(--blue);
  margin: 2px 0 0;
  flex-shrink: 0;
}
.readiness-next-step .actions {
  gap: 20px;
  margin-top: 19px;
}
.readiness-next-step .button {
  font-size: 13px;
  padding: 13px 17px;
}
.readiness-plain-button {
  border: 0;
  padding: 4px 0;
  background: none;
  cursor: pointer;
  font-size: 13px;
}
.readiness-detail {
  border-top: 1px solid var(--line);
  padding: 19px 0 0;
  margin-top: 20px;
}
.readiness-detail summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}
.readiness-detail > p {
  font-size: 12px;
  line-height: 1.8;
  margin-top: 13px;
}
.readiness-breakdown {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 32px;
  margin: 22px 0 0;
}
.readiness-breakdown > div > div {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  gap: 10px;
}
.readiness-breakdown progress {
  margin: 9px 0 5px;
}
.readiness-breakdown small {
  font-size: 10px;
  color: var(--muted);
}
.readiness-result-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 24px;
  padding-top: 12px;
}

.readiness-dialog button,
.readiness-dialog select {
  touch-action: manipulation;
}

@media (max-width: 760px) {
  .readiness-dialog {
    width: calc(100% - 20px);
    max-height: 94dvh;
    border-radius: 14px;
  }
  .readiness-top {
    padding: 18px 17px 16px;
    gap: 10px;
  }
  .readiness-top h2 {
    font-size: 21px;
  }
  .readiness-top .eyebrow {
    font-size: 9px;
  }
  .readiness-subtitle {
    font-size: 12px;
  }
  .readiness-close {
    width: 38px;
    height: 38px;
  }
  .readiness-body {
    padding: 18px 17px 22px;
  }
  .readiness-view {
    margin-bottom: 16px;
  }
  .readiness-view select {
    font-size: 12px;
  }
  .readiness-dialog progress {
    margin-bottom: 19px;
  }
  .readiness-options {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .readiness-question {
    margin-bottom: 18px;
  }
  .readiness-question legend {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .readiness-options span {
    font-size: 14px;
    min-height: 46px;
    padding-top: 9px;
    padding-bottom: 9px;
  }
  #readiness-area-title {
    font-size: 23px;
    margin-bottom: 16px;
  }
  .readiness-local-note {
    font-size: 11px;
    margin-top: 18px;
    padding-top: 12px;
  }
  .readiness-result-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .readiness-result-top h3 {
    font-size: 25px;
  }
  .readiness-score {
    display: flex;
    align-items: center;
    gap: 18px;
    text-align: left;
    padding: 13px 20px;
  }
  .readiness-score > span {
    margin: 0;
  }
  .readiness-priorities > li {
    padding: 19px 17px 19px 48px;
  }
  .readiness-priorities > li:before {
    left: 14px;
    top: 21px;
  }
  .readiness-priority-head {
    display: block;
  }
  .readiness-priority-head > span {
    display: block;
    margin-top: 7px;
  }
  .readiness-next-step {
    padding: 21px 18px;
  }
  .readiness-next-step .actions {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }
  .readiness-breakdown {
    grid-template-columns: 1fr;
    gap: 19px;
  }
  .readiness-breakdown progress {
    margin-bottom: 5px;
  }
  .readiness-result-footer {
    gap: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .readiness-dialog * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
/* Refined assessment only. */
.readiness-top {
  position: sticky;
  top: 0;
  z-index: 4;
}
.readiness-intro-copy {
  font-size: 14px;
  line-height: 1.75;
  margin: 14px 0 22px;
}
#readiness-intro-title {
  font-size: 24px;
  line-height: 1.35;
  outline: none;
}
.readiness-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.readiness-path {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
  text-align: left;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  color: var(--ink);
  cursor: pointer;
}
.readiness-path:hover,
.readiness-path.is-suggested {
  border-color: var(--blue);
  background: var(--pale);
}
.readiness-path-title {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 10px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
}
.readiness-path > span:not(.readiness-path-title) {
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted);
}
.readiness-path small {
  font-size: 10px;
  color: var(--blue);
  font-weight: 600;
}
.readiness-resume {
  background: var(--pale);
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  margin-bottom: 22px;
}
.readiness-resume > strong {
  font-size: 14px;
}
.readiness-resume p {
  font-size: 12px;
  margin: 8px 0 14px;
}
.readiness-resume > div {
  display: flex;
  gap: 20px;
  align-items: center;
}
.readiness-resume .button {
  font-size: 13px;
  padding: 12px 16px;
}
.readiness-uncertainty {
  font-size: 12px;
  line-height: 1.7;
  margin: 18px 0 8px;
  color: var(--text);
}
.readiness-disclaimer {
  font-size: 11px;
  line-height: 1.7;
  color: var(--muted);
}
.readiness-dialog button:focus-visible,
.readiness-dialog summary:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .readiness-paths {
    grid-template-columns: 1fr;
  }
  .readiness-path {
    padding: 19px;
    gap: 10px;
  }
  #readiness-intro-title {
    font-size: 21px;
  }
  .readiness-resume > div {
    flex-wrap: wrap;
  }
  .readiness-dialog .readiness-local-note {
    font-size: 12px;
  }
}

/* v14.css */
/* Production presentation and responsive layout. */
:root {
  --fd-accent: #285fe5;
  --fd-text: #52657d;
  --fd-workflow-line: #dbe5f0;
}
.fd-icon {
  width: 29px;
  height: 29px;
  color: #2863d5;
  flex: none;
  display: block;
}
.fd-centered-hero {
  padding: 100px 0 94px !important;
  text-align: center;
  background:
    radial-gradient(ellipse 54% 82% at 50% -18%, #e6efff, transparent 90%),
    #f7f9fc;
  border-bottom: 1px solid #dce6f2;
  overflow: hidden;
}
.fd-centered-hero > .container {
  max-width: 1050px;
}
.fd-centered-hero .eyebrow {
  justify-content: center;
  font-size: 0.71rem;
  letter-spacing: 0.15em;
  margin-bottom: 28px;
}
.fd-centered-hero h1 {
  font-size: clamp(4rem, 7.1vw, 6.4rem) !important;
  line-height: 1.03;
  letter-spacing: -0.065em;
  max-width: 100%;
  font-weight: 550;
}
.fd-centered-hero .serif {
  letter-spacing: -0.065em;
}
.fd-centered-hero .lead {
  max-width: 660px;
  margin: 29px auto 0;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
  color: #52657d;
}
.fd-centered-hero .actions {
  justify-content: center;
  gap: 29px;
  margin-top: 31px;
}
.fd-centered-hero .text-link {
  margin: 0;
}
.fd-approach .section-header,
.fd-security-summary .section-header {
  margin-bottom: 42px;
}
.fd-three-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.fd-principle {
  border-top: 1px solid var(--line);
  padding: 29px 6px 4px 0;
  min-width: 0;
}
.fd-principle .fd-icon {
  margin-bottom: 27px;
}
.fd-principle h3 {
  font-size: 1.4rem;
  line-height: 1.25;
  margin-bottom: 13px;
  letter-spacing: -0.035em;
}
.fd-principle p,
.fd-trust-card p {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #52657d;
  margin: 0;
  max-width: 38ch;
}
.fd-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.fd-security-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.fd-trust-card {
  padding: 28px 23px;
  border: 1px solid #dce5f0;
  background: white;
  border-radius: 12px;
  min-width: 0;
}
.fd-trust-card .fd-icon {
  margin-bottom: 26px;
}
.fd-trust-card h3 {
  font-size: 1.2rem;
  line-height: 1.35;
  margin-bottom: 12px;
}
.fd-trust-card p {
  font-size: 0.88rem;
  line-height: 1.8;
}
.fd-section-end {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid #d9e4f2;
  margin-top: 31px;
  padding-top: 25px;
}
.fd-section-end p {
  font-size: 0.86rem;
  color: #52657d;
  margin: 0;
}
.fd-section-end .text-link {
  flex-shrink: 0;
}
.fd-scope-note {
  font-size: 0.8rem;
  line-height: 1.85;
  color: #60728b;
  margin: 26px 0 0;
  max-width: 1050px;
}
.fd-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.fd-module-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 32px 33px;
  background: white;
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
  min-width: 0;
}
.fd-module-card:hover {
  background: #f5f9ff;
  border-color: #a2bae5;
  box-shadow: 0 12px 32px #11316a09;
}
.fd-module-card h3 {
  font-size: 1.65rem;
  line-height: 1.2;
  margin: 25px 0 15px;
}
.fd-module-card p {
  font-size: 0.96rem;
  color: #52657d;
  max-width: 440px;
  margin-bottom: 25px;
}
.fd-module-card > .text-link {
  margin-top: auto;
  justify-content: space-between;
}
.fd-hero-product {
  margin: 0;
  min-width: 0;
  padding: 14px;
  background: #eaf1fb;
  border: 1px solid #d2e0f3;
  border-radius: 14px;
}
.fd-hero-product button {
  display: block;
  position: relative;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  overflow: hidden;
  padding: 0;
  background: white;
  width: 100%;
  text-align: left;
}
.fd-hero-product img {
  display: block;
  width: 100%;
  height: auto;
}
.fd-hero-product figcaption {
  font-size: 0.72rem;
  color: #536d90;
  margin-top: 14px;
}
.fd-expand {
  position: absolute;
  right: 12px;
  bottom: 12px;
  color: #193f78;
  font-size: 0.73rem;
  padding: 9px 12px;
  background: #fffffff2;
  border: 1px solid #cfddf0;
  border-radius: 6px;
  box-shadow: 0 3px 9px #1229570b;
}
.fd-gallery-tabs {
  display: flex;
  border: 1px solid var(--line);
  background: #f9fbff;
  border-radius: 10px 10px 0 0;
  overflow: auto;
  scrollbar-width: thin;
  gap: 0;
}
.fd-gallery-tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 18px 24px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #5b718c;
  white-space: nowrap;
  flex: 1;
}
.fd-gallery-tabs button[aria-selected="true"] {
  border-color: #2863df;
  background: white;
  color: #2155ba;
}
.fd-gallery-tabs button:hover {
  background: #eef5ff;
}
.fd-gallery-panel {
  border: 1px solid var(--line);
  border-top: 0;
  background: #f1f5fc;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}
.fd-gallery-image {
  display: block;
  width: 100%;
  border: 0;
  padding: 25px;
  position: relative;
  background: #eef4fd;
  text-align: center;
}
.fd-gallery-image img {
  display: block;
  margin: auto;
  max-width: 100%;
  height: auto;
  max-height: 650px;
  object-fit: contain;
  border: 1px solid #dce6f3;
  border-radius: 6px;
  background: white;
  box-shadow: 0 12px 32px #1434650b;
}
.fd-gallery-image .fd-expand {
  right: 38px;
  bottom: 38px;
}
.fd-gallery-caption {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 42px;
  padding: 25px 30px;
  background: white;
  border-top: 1px solid var(--line);
  align-items: start;
}
.fd-gallery-caption h3 {
  font-size: 1.25rem;
  line-height: 1.4;
}
.fd-gallery-caption p {
  font-size: 0.86rem;
  line-height: 1.8;
  color: #60728b;
  margin: 0;
}
.fd-plain-process article {
  border-top: 1px solid var(--line);
  padding: 23px 0;
}
.fd-plain-process h3 {
  font-size: 1.18rem;
  margin-bottom: 10px;
}
.fd-plain-process p {
  font-size: 0.93rem;
  color: #52657d;
  margin: 0;
}
.fd-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
  align-items: stretch;
}
.fd-tier-card {
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  background: white;
  border: 1px solid #d7e3f4;
  border-radius: 12px;
  min-width: 0;
}
.fd-tier-card > .eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 23px;
  color: #245dd2;
}
.fd-tier-card h3 {
  font-size: 1.55rem;
  line-height: 1.28;
  min-height: 83px;
  letter-spacing: -0.04em;
}
.fd-tier-price {
  font-size: clamp(1.65rem, 2.3vw, 2.4rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.045em;
  white-space: nowrap;
  margin: 27px 0 21px;
  color: #18375e;
}
.fd-tier-price span {
  display: block;
  font-size: 0.77rem;
  font-weight: 400;
  color: #64748a;
  letter-spacing: 0;
  margin-top: 7px;
}
.fd-tier-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  border-top: 1px solid #dce7f5;
}
.fd-tier-card li {
  position: relative;
  padding: 13px 0 0 21px;
  font-size: 0.87rem;
  line-height: 1.7;
  color: #4f647d;
}
.fd-tier-card li:before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: #2e68c8;
}
.fd-tier-card .text-link {
  margin-top: auto;
  font-size: 0.81rem;
  justify-content: space-between;
}
.fd-tier-card:last-child {
  background: #edf4ff;
  border-color: #a9c2ed;
}
.fd-advisory-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 29px 45px;
  margin-bottom: 30px;
}
.fd-advisory-layout-grid article {
  border-top: 1px solid var(--line);
  padding-top: 23px;
}
.fd-advisory-layout-grid h3 {
  font-size: 1.25rem;
  margin-bottom: 12px;
}
.fd-advisory-layout-grid p {
  font-size: 0.92rem;
  color: #52657d;
  line-height: 1.8;
  max-width: 480px;
}
.fd-pilot-banner {
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #edf4ff;
  padding: 32px 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
}
.fd-pilot-banner h2 {
  font-size: 1.85rem;
}
.fd-pilot-banner p {
  font-size: 0.94rem;
  color: #52657d;
  margin: 13px 0 0;
}
.fd-pilot-banner .eyebrow {
  font-size: 0.65rem;
  margin: 0 0 10px;
}
.fd-pilot-banner .btn {
  flex-shrink: 0;
}
.fd-hub-feature-list {
  border: 1px solid #d4e2f3;
  border-radius: 12px;
  background: #f6f9fe;
  padding: 10px 28px;
}
.fd-hub-feature-list article {
  display: flex;
  gap: 21px;
  border-bottom: 1px solid #dce6f3;
  padding: 25px 0;
}
.fd-hub-feature-list article:last-child {
  border: 0;
}
.fd-hub-feature-list h3 {
  font-size: 1.25rem;
  margin: 0 0 10px;
}
.fd-hub-feature-list p {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #52657d;
  margin: 0;
}
.fd-hub-feature-list .fd-icon {
  margin-top: 2px;
}
.fd-hub-section .lead {
  margin-bottom: 20px;
}
.fd-video-caption {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: 0.7rem;
  color: #60728b;
  line-height: 1.7;
  margin: 12px 0 0;
}
.fd-video-caption span {
  text-align: right;
}
.fd-video-card {
  width: 100%;
  align-self: center;
}
.overview-trigger .overview-label strong {
  font-size: 0.9rem;
}
.overview-label > span {
  font-size: 0.73rem;
}
/* Original finance dialogs use their own tokens; they must not inherit the pale --blue preview token. */
.lead-dialog,
.overview-modal,
.readiness-dialog {
  --blue: #285fe5;
  --navy: #132d4b;
  --ink: #132b47;
  --text: #50677d;
  --muted: #63778a;
  --line: #d9e4f0;
  --pale: #f4f8fd;
  --cyan: #81dfed;
  font-family: var(--font);
  font-weight: 400;
}
.lead-dialog .button,
.overview-modal .button,
.readiness-dialog .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #285fe5;
  color: white;
  border: 1px solid #285fe5;
  border-radius: 7px;
  padding: 13px 18px;
  min-height: 46px;
  line-height: 1.4;
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.readiness-dialog .readiness-secondary {
  background: white;
  color: #163459;
  border-color: #c5d6e9;
}
.lead-dialog .text-link,
.readiness-dialog .text-link {
  color: #245dc5;
}
.lead-dialog p,
.readiness-dialog p {
  margin-bottom: 0;
}
.lead-dialog .small-note,
.readiness-dialog .small-note {
  font-size: 0.73rem;
  color: #63778a;
  line-height: 1.7;
  margin-top: 12px;
}
.lead-dialog {
  margin: auto;
}
.readiness-dialog {
  margin: auto;
}
.overview-modal {
  margin: auto;
}
.readiness-top {
  background: #f2f7ff;
}
.readiness-dialog h2,
.readiness-dialog h3,
.readiness-dialog h4 {
  letter-spacing: -0.025em;
}
.readiness-question legend {
  letter-spacing: 0;
}
.readiness-score {
  font-variant-numeric: tabular-nums;
}
.lead-dialog .email-fallback {
  font-size: 0.76rem;
  margin-top: 22px;
  line-height: 1.7;
  color: #63778a;
}
.lead-dialog .lead-summary-copy {
  font-size: 0.8rem;
}
.overview-modal .overview-written {
  background: white;
  color: #132b47;
}
.overview-modal .overview-written summary {
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 600;
}
.overview-modal .overview-written p {
  font-size: 0.9rem;
  line-height: 1.8;
  margin: 12px 0 0;
}
.overview-modal .overview-media-status {
  font-size: 0.85rem;
}
/* Consistent blue, not recoloring the original book, product pixels, or financial success states. */
body[data-section="finance"] {
  --ink: #12233f;
  --muted: #5c6b80;
  --pine: #285fe5;
  --pine-dark: #0d2857;
  --accent: #81ebf3;
  --cream: #f7f9fc;
  --line: #dbe5f0;
  --navy: #122a53;
  --blue: #eaf2ff;
}
body[data-section="finance"] .site-header {
  background: #f9fbfff5;
}
body[data-section="finance"] .footer {
  background: #f0f5fb;
}
/* Original privacy content, adapted only to the parent site's layout. */
body[data-route="/privacy"] .shell {
  width: min(850px, calc(100% - 48px));
  margin: auto;
}
body[data-route="/privacy"] .prose h2 {
  font-size: 1.4rem;
  margin: 27px 0 14px;
}
body[data-route="/privacy"] .prose p {
  font-size: 0.96rem;
  line-height: 1.85;
  color: #52657d;
}
/* Motion reveals large blocks once; never individual sentences or form inputs. */
body.has-motion [data-reveal] {
  transition:
    opacity 0.42s ease,
    transform 0.42s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--reveal-delay, 0ms);
  transform: translateY(18px);
}
body.has-motion [data-reveal].is-visible {
  transform: none;
}
@media (min-width: 1500px) {
  .fd-centered-hero {
    padding-top: 112px !important;
    padding-bottom: 106px !important;
  }
}
@media (max-width: 1100px) {
  .fd-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fd-security-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fd-three-grid {
    gap: 24px;
  }
  .fd-tier-card {
    padding: 26px 21px;
  }
  .fd-tier-card h3 {
    font-size: 1.37rem;
  }
  .fd-tier-price {
    font-size: 1.88rem;
  }
  .fd-hero-product {
    padding: 10px;
  }
  .fd-module-card {
    padding: 28px;
  }
  .fd-centered-hero {
    padding: 87px 0 !important;
  }
}
@media (max-width: 800px) {
  .fd-centered-hero {
    padding: 66px 0 67px !important;
  }
  .fd-centered-hero h1 {
    font-size: clamp(3.65rem, 10.5vw, 5.4rem) !important;
  }
  .fd-centered-hero .lead {
    max-width: 580px;
    font-size: 1.01rem !important;
  }
  .fd-centered-hero .eyebrow {
    font-size: 0.64rem;
  }
  .fd-tier-grid {
    grid-template-columns: 1fr;
  }
  .fd-tier-card {
    padding: 30px;
  }
  .fd-tier-card h3 {
    min-height: 0;
    max-width: 420px;
    font-size: 1.6rem;
  }
  .fd-tier-price {
    font-size: 2.3rem;
  }
  .fd-tier-card > .eyebrow {
    margin-bottom: 16px;
  }
  .fd-three-grid {
    gap: 22px;
  }
  .fd-principle h3 {
    font-size: 1.19rem;
  }
  .fd-principle p {
    font-size: 0.88rem;
  }
  .fd-pilot-banner {
    display: block;
  }
  .fd-pilot-banner .btn {
    margin-top: 23px;
  }
  .fd-gallery-tabs button {
    padding: 16px 18px;
    flex: none;
  }
  .fd-gallery-caption {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .fd-hero-product {
    max-width: 700px;
  }
  .fd-video-card {
    max-width: 650px;
  }
  .fd-section-end {
    align-items: flex-start;
  }
  .fd-hub-section .split {
    gap: 32px;
  }
  .fd-video-caption {
    font-size: 0.69rem;
  }
}
@media (max-width: 560px) {
  .fd-centered-hero {
    padding: 54px 0 58px !important;
  }
  .fd-centered-hero h1 {
    font-size: clamp(3.1rem, 11.8vw, 4.25rem) !important;
    letter-spacing: -0.06em;
  }
  .fd-centered-hero .eyebrow {
    font-size: 0.57rem;
    letter-spacing: 0.12em;
    margin-bottom: 24px;
  }
  .fd-centered-hero .lead {
    font-size: 0.97rem !important;
    line-height: 1.85 !important;
    margin-top: 24px;
  }
  .fd-centered-hero .actions {
    gap: 22px;
    margin-top: 27px;
  }
  .fd-centered-hero .text-link {
    font-size: 0.82rem;
  }
  .fd-three-grid,
  .fd-trust-grid,
  .fd-security-grid,
  .fd-module-grid,
  .fd-advisory-layout-grid {
    grid-template-columns: 1fr;
  }
  .fd-principle {
    padding-top: 24px;
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 11px 17px;
  }
  .fd-principle .fd-icon {
    grid-row: 1/3;
    margin: 0;
  }
  .fd-principle h3 {
    font-size: 1.3rem;
    margin: 0;
  }
  .fd-principle p {
    font-size: 0.94rem;
    max-width: none;
    grid-column: 2;
  }
  .fd-trust-card {
    padding: 27px;
  }
  .fd-trust-card h3 {
    font-size: 1.25rem;
  }
  .fd-trust-card p {
    font-size: 0.93rem;
    max-width: none;
  }
  .fd-section-end {
    flex-direction: column;
    gap: 15px;
  }
  .fd-section-end p {
    font-size: 0.84rem;
  }
  .fd-module-card h3 {
    font-size: 1.6rem;
  }
  .fd-gallery-image {
    padding: 9px;
  }
  .fd-gallery-image .fd-expand {
    right: 17px;
    bottom: 17px;
    font-size: 0.66rem;
  }
  .fd-gallery-caption {
    padding: 23px;
  }
  .fd-gallery-caption p {
    font-size: 0.82rem;
  }
  .fd-gallery-caption h3 {
    font-size: 1.15rem;
  }
  .fd-tier-card {
    padding: 28px;
  }
  .fd-tier-card h3 {
    font-size: 1.5rem;
  }
  .fd-tier-price {
    font-size: 2.2rem;
  }
  .fd-tier-card li {
    font-size: 0.91rem;
  }
  .fd-scope-note {
    font-size: 0.77rem;
  }
  .fd-pilot-banner {
    padding: 27px;
  }
  .fd-hub-feature-list {
    padding: 6px 24px;
  }
  .fd-hub-feature-list article {
    gap: 17px;
  }
  .fd-hub-feature-list h3 {
    font-size: 1.2rem;
  }
  .fd-hub-feature-list p {
    font-size: 0.86rem;
  }
  .fd-video-caption {
    font-size: 0.65rem;
  }
  .fd-pricing-section {
    padding-top: 36px;
  }
  .overview-modal .overview-written p {
    font-size: 0.85rem;
  }
  .fd-pilot-scope .split {
    gap: 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* v15.css */
/* Production presentation and responsive layout. */
.fd-workflow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.fd-workflow-card {
  background: #fff;
  border: 1px solid #d7e3f2;
  border-radius: 12px;
  padding: 33px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  scroll-margin-top: 110px;
}
.fd-workflow-card > .fd-icon {
  margin-bottom: 23px;
}
.fd-workflow-card > .eyebrow {
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.fd-workflow-card h3 {
  font-size: 1.65rem;
  line-height: 1.24;
  max-width: 25ch;
  margin-bottom: 18px;
  letter-spacing: -0.035em;
}
.fd-workflow-card > .body-copy {
  font-size: 0.95rem;
  line-height: 1.75;
  margin-bottom: 22px;
}
.fd-workflow-card > .text-link {
  margin-top: auto;
  padding-top: 22px;
  font-size: 0.87rem;
  justify-content: space-between;
}
.fd-workflow-detail {
  border-top: 1px solid #dce6f2;
  border-bottom: 1px solid #dce6f2;
}
.fd-workflow-detail summary {
  font-size: 0.83rem;
  font-weight: 600;
  cursor: pointer;
  padding: 15px 20px 15px 0;
  list-style: none;
  position: relative;
}
.fd-workflow-detail summary::-webkit-details-marker {
  display: none;
}
.fd-workflow-detail summary:after {
  content: "+";
  position: absolute;
  right: 0;
  color: #285fe5;
  font-size: 1.1rem;
}
.fd-workflow-detail[open] summary:after {
  content: "\2212";
}
.fd-workflow-detail dl {
  margin: 4px 0 20px;
}
.fd-workflow-detail dt {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #285bc3;
  font-weight: 700;
  margin: 14px 0 5px;
}
.fd-workflow-detail dd {
  font-size: 0.85rem;
  line-height: 1.75;
  color: #52657d;
  margin: 0;
}
.fd-gallery-note {
  font-size: 0.75rem;
  line-height: 1.7;
  color: #64768b;
  margin: 15px 0 0;
}
.fd-report-preview {
  padding: 13px 13px 0;
  margin: 0;
  background: #eaf1fb;
  border: 1px solid #cfddf0;
  border-radius: 14px;
  box-shadow: 0 15px 45px #17335e0c;
  min-width: 0;
}
.fd-report-preview > a {
  display: block;
  background: white;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.18s ease;
}
.fd-report-preview > a:hover {
  box-shadow: 0 6px 22px #15386617;
}
.fd-report-preview-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: #f8faff;
  border-bottom: 1px solid #dce5f0;
  line-height: 1.5;
}
.fd-report-preview-top > span:first-child {
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  color: #315d92;
}
.fd-report-preview-top > span:last-child {
  font-size: 0.65rem;
  color: #526b8c;
  text-align: right;
}
.fd-report-preview-image {
  height: 360px;
  overflow: hidden;
  background: #fff;
  position: relative;
}
.fd-report-preview-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: top;
}
.fd-report-preview-image:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(transparent, #fff);
  pointer-events: none;
}
.fd-report-preview .fd-report-caption {
  padding: 19px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border-top: 1px solid #dce5f0;
  background: #fff;
}
.fd-report-preview .fd-report-caption strong {
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.4;
}
.fd-report-preview .fd-report-caption > span {
  font-size: 0.74rem;
  color: #275cd1;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
  max-width: 135px;
}
.fd-demo-note {
  font-size: 0.67rem;
  color: #5c728b;
  line-height: 1.6;
  padding: 12px 4px;
  margin: 0;
  text-align: center;
}
.fd-service-hub {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 70px;
  align-items: center;
}
.fd-service-hub h2 {
  font-size: clamp(2.25rem, 3.8vw, 3.35rem);
  line-height: 1.12;
}
.fd-service-hub .body-copy {
  margin: 23px 0;
  max-width: 590px;
}
.fd-finance-hub-list {
  border-top: 1px solid #cfdef1;
}
.fd-finance-hub-list article {
  padding: 25px 0;
  border-bottom: 1px solid #cfdef1;
}
.fd-finance-hub-list h3 {
  font-size: 1.22rem;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
}
.fd-finance-hub-list p {
  font-size: 0.91rem;
  line-height: 1.7;
  margin: 0;
  color: #52657d;
}
.fd-compare {
  margin-top: 56px;
  scroll-margin-top: 120px;
}
.fd-compare-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 50px;
  margin-bottom: 23px;
}
.fd-compare-heading h2 {
  font-size: 1.75rem;
  max-width: 450px;
  line-height: 1.2;
}
.fd-compare-heading p {
  max-width: 445px;
  font-size: 0.86rem;
  color: #52657d;
  line-height: 1.75;
  margin: 0;
}
.fd-table-wrap {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d4e1f2;
  border-radius: 10px;
  scrollbar-width: thin;
}
.fd-scope-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  line-height: 1.6;
  text-align: left;
}
.fd-scope-table th,
.fd-scope-table td {
  padding: 17px 20px;
  border-bottom: 1px solid #e1e9f5;
  vertical-align: middle;
}
.fd-scope-table thead th {
  background: #edf4ff;
  color: #224980;
  font-size: 0.78rem;
  font-weight: 650;
}
.fd-scope-table tbody th {
  font-weight: 550;
  width: 40%;
  color: #233b59;
}
.fd-scope-table td {
  width: 20%;
  color: #52657d;
  font-size: 0.82rem;
}
.fd-scope-table tr:last-child > * {
  border-bottom: 0;
}
.fd-scope-table td:last-child {
  background: #f6f9ff;
}
.fd-ownership-note {
  display: grid;
  grid-template-columns: 0.9fr 1.5fr;
  gap: 35px;
  margin-top: 20px;
  padding: 23px 26px;
  background: #f5f8fd;
  border-left: 3px solid #4071d6;
  border-radius: 0 7px 7px 0;
}
.fd-ownership-note strong {
  font-size: 0.92rem;
  line-height: 1.6;
  font-weight: 600;
}
.fd-ownership-note p {
  font-size: 0.82rem;
  line-height: 1.8;
  color: #52657d;
  margin: 0;
}
@media (max-width: 1000px) {
  .fd-service-hub {
    gap: 38px;
  }
  .fd-report-preview-image {
    height: 300px;
  }
  .fd-report-preview .fd-report-caption {
    display: block;
  }
  .fd-report-preview .fd-report-caption > span {
    display: block;
    text-align: left;
    max-width: none;
    margin-top: 7px;
  }
  .fd-workflow-card {
    padding: 28px;
  }
  .fd-compare-heading {
    gap: 25px;
  }
  .fd-scope-table th,
  .fd-scope-table td {
    padding: 15px 13px;
  }
}
@media (max-width: 800px) {
  .fd-report-preview {
    max-width: 600px;
    width: 100%;
    margin: auto;
  }
  .fd-report-preview-image {
    height: 350px;
  }
  .fd-report-preview .fd-report-caption {
    display: flex;
  }
  .fd-report-preview .fd-report-caption > span {
    margin: 0;
    text-align: right;
    max-width: 150px;
  }
  .fd-service-hub {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .fd-compare-heading {
    display: block;
  }
  .fd-compare-heading p {
    margin-top: 14px;
    max-width: 600px;
  }
  .fd-ownership-note {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .fd-scope-table {
    min-width: 670px;
  }
  .fd-scope-table tbody th {
    width: 34%;
  }
  .fd-scope-table td {
    width: 22%;
  }
}
@media (max-width: 560px) {
  .fd-workflow-grid {
    grid-template-columns: 1fr;
    gap: 21px;
  }
  .fd-workflow-card {
    padding: 27px;
  }
  .fd-workflow-card h3 {
    font-size: 1.5rem;
    max-width: none;
  }
  .fd-workflow-card > .body-copy {
    font-size: 0.93rem;
  }
  .fd-report-preview {
    padding: 9px 9px 0;
  }
  .fd-report-preview-image {
    height: 285px;
  }
  .fd-report-preview-top {
    padding: 14px;
    gap: 10px;
  }
  .fd-report-preview-top > span:first-child {
    font-size: 0.62rem;
  }
  .fd-report-preview-top > span:last-child {
    font-size: 0.61rem;
    max-width: 120px;
  }
  .fd-report-preview .fd-report-caption {
    padding: 17px 14px;
  }
  .fd-report-preview .fd-report-caption strong {
    font-size: 0.81rem;
  }
  .fd-report-preview .fd-report-caption > span {
    font-size: 0.69rem;
    max-width: 113px;
  }
  .fd-demo-note {
    font-size: 0.64rem;
  }
  .fd-service-hub h2 {
    font-size: 2.25rem;
  }
  .fd-compare {
    margin-top: 36px;
  }
  .fd-compare-heading h2 {
    font-size: 1.55rem;
  }
  .fd-ownership-note {
    padding: 20px;
  }
  .fd-scope-table th,
  .fd-scope-table td {
    padding: 14px 12px;
  }
  .fd-gallery-note {
    font-size: 0.71rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-report-preview > a {
    transition: none !important;
  }
}

/* fd-security.css */
/* Production presentation and responsive layout. */
body[data-route="/security"] {
  background: #f8faff;
}
.fd-security-hero {
  background: linear-gradient(116deg, #f7faff 0%, #f0f5ff 57%, #edf4ff 100%);
  border-bottom: 1px solid #dce6f5;
  overflow: hidden;
}
.fd-security-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.89fr) minmax(0, 1.11fr);
  align-items: center;
  gap: 24px;
  min-height: 610px;
  padding-block: 60px 66px;
}
.fd-security-intro {
  min-width: 0;
  padding-right: 8px;
}
.fd-security-intro .eyebrow {
  color: #245ad1;
  margin-bottom: 22px;
}
.fd-security-intro h1 {
  font-size: clamp(3.8rem, 5.7vw, 5.6rem);
  letter-spacing: -0.064em;
  line-height: 1.045;
  color: #112a52;
  max-width: 630px;
}
.fd-security-intro .serif {
  color: #285fe5;
}
.fd-security-intro .lead {
  font-size: 1.05rem;
  line-height: 1.85;
  color: #526984;
  max-width: 545px;
  margin-top: 26px;
}
.fd-security-intro .actions {
  gap: 20px;
  margin-top: 30px;
}
.fd-security-intro .actions .text-link {
  color: #244fbb;
  font-size: 0.84rem;
  margin: 0;
}
.fd-security-intro .btn {
  background: #285fe5;
  border-color: #285fe5;
}
.fd-security-intro .btn:hover {
  background: #174bc4;
}
.fd-security-hero-note {
  margin: 24px 0 0;
  font-size: 0.73rem;
  line-height: 1.7;
  color: #6d7f9a;
  max-width: 420px;
}
.fd-security-system {
  height: 512px;
  position: relative;
  isolation: isolate;
  min-width: 0;
}
.fd-security-lines {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  overflow: visible;
  pointer-events: none;
}
.fd-system-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 235px;
  height: 235px;
  border-radius: 26px;
  background: linear-gradient(145deg, #12345f, #091d43);
  box-shadow: 0 20px 55px #18346125;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  color: #fff;
  border: 1px solid #628bd033;
  z-index: 2;
}
.fd-core-logo {
  width: 55px;
  height: 55px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.fd-system-core strong {
  font-size: 1.3rem;
  letter-spacing: -0.025em;
  line-height: 1.22;
  font-weight: 650;
}
.fd-system-core small {
  font-size: 0.72rem;
  line-height: 1.65;
  color: #bdcee8;
}
.fd-system-node {
  position: absolute;
  width: 176px;
  min-height: 77px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: #fff;
  border: 1px solid #d2e0f4;
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 12px 25px #1838610d;
  z-index: 3;
  text-align: left;
  transition:
    transform 0.26s ease,
    box-shadow 0.26s ease;
}
.fd-system-node:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 30px #18386118;
}
.fd-system-node > span {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #2860d6;
}
.fd-system-node > strong {
  font-size: 0.84rem;
  line-height: 1.35;
  color: #1e365e;
  font-weight: 650;
}
.fd-node-top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.fd-node-top:hover {
  transform: translate(-50%, -4px);
}
.fd-node-bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.fd-node-bottom:hover {
  transform: translate(-50%, -4px);
}
.fd-node-left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.fd-node-left:hover {
  transform: translateY(calc(-50% - 4px));
}
.fd-node-right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.fd-node-right:hover {
  transform: translateY(calc(-50% - 4px));
}
.fd-security-discipline {
  padding: 102px 0 105px !important;
}
.fd-discipline-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: 100px;
  align-items: start;
}
.fd-discipline-heading {
  position: sticky;
  top: 130px;
}
.fd-discipline-heading h2 {
  color: #162d53;
  font-size: clamp(2.4rem, 3.7vw, 3.6rem);
  letter-spacing: -0.05em;
  line-height: 1.13;
}
.fd-discipline-heading .serif {
  color: #2863d5;
}
.fd-discipline-heading .body-copy {
  margin: 21px 0 0;
  max-width: 415px;
  font-size: 1rem;
  line-height: 1.85;
}
.fd-discipline-heading .eyebrow {
  color: #285fe5;
}
.fd-practices {
  border-top: 1px solid #d8e4f1;
}
.fd-practice {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 23px;
  padding: 28px 0 31px;
  border-bottom: 1px solid #d8e4f1;
  align-items: start;
}
.fd-practice-mark {
  display: grid;
  place-items: center;
  background: #edf4ff;
  border: 1px solid #d4e3fa;
  color: #2860d6;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  margin-top: 2px;
}
.fd-practice-mark svg {
  width: 27px;
  height: 27px;
}
.fd-practice h3 {
  font-size: 1.32rem;
  font-weight: 600;
  color: #182d50;
  letter-spacing: -0.035em;
  margin: 1px 0 12px;
}
.fd-practice p {
  font-size: 0.91rem;
  line-height: 1.8;
  color: #536983;
  max-width: 660px;
  margin: 0;
}
.fd-practice-tag {
  grid-column: 2;
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 600;
  color: #2c63ca;
  margin-top: 16px;
}
.fd-security-frameworks {
  background: #10284f;
  color: white;
  padding: 88px 0 92px;
  border-top: 1px solid #223c64;
  border-bottom: 1px solid #223c64;
}
.fd-framework-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: 100px;
  align-items: center;
}
.fd-security-frameworks .eyebrow {
  color: #7cdef0;
}
.fd-security-frameworks h2 {
  font-size: clamp(2.45rem, 3.7vw, 3.65rem);
  letter-spacing: -0.05em;
  line-height: 1.13;
  color: #fff;
}
.fd-security-frameworks h2 .serif {
  color: #7ac9ed;
}
.fd-security-frameworks p:not(.eyebrow) {
  margin: 24px 0 0;
  font-size: 0.94rem;
  line-height: 1.85;
  color: #d4e1f1;
  max-width: 580px;
}
.fd-security-frameworks .fd-framework-qualification {
  font-size: 0.72rem !important;
  line-height: 1.85 !important;
  color: #adc1d9 !important;
  border-top: 1px solid #56709260;
  padding-top: 16px;
  margin-top: 22px !important;
}
.fd-framework-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid #54709188;
  border-left: 1px solid #54709188;
}
.fd-framework-list > div {
  padding: 31px 23px;
  border-right: 1px solid #54709188;
  border-bottom: 1px solid #54709188;
  min-height: 135px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 13px;
}
.fd-framework-list strong {
  font-size: 1.65rem;
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.18;
  color: white;
}
.fd-framework-list span {
  font-size: 0.73rem;
  line-height: 1.6;
  color: #bad1e7;
}
.fd-security-engagement {
  padding: 90px 0 92px !important;
}
.fd-engagement-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.87fr) minmax(0, 1.13fr);
  gap: 108px;
  align-items: start;
}
.fd-engagement-layout h2 {
  color: #142f55;
  font-size: clamp(2.5rem, 3.7vw, 3.5rem);
  line-height: 1.14;
}
.fd-engagement-layout h2 .serif {
  color: #285fe5;
}
.fd-engagement-layout .body-copy {
  margin-top: 20px;
  max-width: 430px;
  font-size: 0.94rem;
  line-height: 1.82;
}
.fd-engagement-layout .eyebrow {
  color: #285fe5;
}
.fd-engagement-list {
  border-top: 1px solid #dae5f3;
}
.fd-engagement-list > div {
  display: grid;
  grid-template-columns: minmax(145px, 0.63fr) minmax(0, 1fr);
  column-gap: 26px;
  padding: 22px 0;
  border-bottom: 1px solid #dae5f3;
}
.fd-engagement-list span {
  font-size: 0.86rem;
  font-weight: 650;
  color: #193558;
  line-height: 1.6;
}
.fd-engagement-list p {
  font-size: 0.86rem;
  line-height: 1.8;
  color: #597089;
  margin: 0;
}
.fd-security-close {
  padding: 52px 0;
  background: linear-gradient(115deg, #e5efff, #f1f6ff);
  border-top: 1px solid #d2e1f4;
}
.fd-security-close-layout {
  display: flex;
  gap: 45px;
  align-items: center;
  justify-content: space-between;
}
.fd-security-close .eyebrow {
  color: #265ed0;
  margin-bottom: 12px;
}
.fd-security-close h2 {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  letter-spacing: -0.05em;
  color: #153458;
}
.fd-security-close p:not(.eyebrow) {
  color: #536b85;
  font-size: 0.9rem;
  line-height: 1.8;
  margin: 12px 0 0;
  max-width: 620px;
}
.fd-security-close .btn.white {
  background: #285fe5;
  border-color: #285fe5;
  color: white;
  flex-shrink: 0;
}
.fd-security-close .btn.white:hover {
  background: #174bc4;
}
@media (max-width: 1160px) {
  .fd-security-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }
  .fd-security-intro h1 {
    font-size: clamp(3.4rem, 5.4vw, 4.8rem);
  }
  .fd-system-node {
    width: 154px;
    min-height: 69px;
    padding: 12px 13px;
  }
  .fd-system-node strong {
    font-size: 0.75rem;
  }
  .fd-system-core {
    width: 200px;
    height: 200px;
  }
  .fd-security-system {
    height: 450px;
  }
  .fd-discipline-layout {
    gap: 65px;
  }
  .fd-framework-grid,
  .fd-engagement-layout {
    gap: 55px;
  }
}
@media (max-width: 900px) {
  .fd-security-hero-grid {
    grid-template-columns: 1fr;
    padding-block: 59px 45px;
    gap: 30px;
  }
  .fd-security-intro {
    padding: 0;
  }
  .fd-security-intro h1 {
    font-size: clamp(3.55rem, 8vw, 5.25rem);
  }
  .fd-security-intro .lead {
    max-width: 680px;
  }
  .fd-security-system {
    max-width: 580px;
    width: 100%;
    height: 500px;
    justify-self: center;
  }
  .fd-system-node {
    width: 165px;
  }
  .fd-system-core {
    width: 226px;
    height: 226px;
  }
  .fd-discipline-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .fd-discipline-heading {
    position: static;
  }
  .fd-security-discipline {
    padding-block: 70px !important;
  }
  .fd-framework-grid,
  .fd-engagement-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .fd-security-frameworks {
    padding-block: 64px;
  }
  .fd-security-engagement {
    padding-block: 63px !important;
  }
}
@media (max-width: 590px) {
  .fd-security-hero-grid {
    padding-block: 44px 35px;
  }
  .fd-security-intro h1 {
    font-size: clamp(3.1rem, 11.2vw, 4.3rem);
  }
  .fd-security-intro .lead {
    font-size: 0.98rem;
    line-height: 1.78;
    margin-top: 20px;
  }
  .fd-security-intro .actions {
    align-items: flex-start;
    gap: 16px;
  }
  .fd-security-intro .actions .btn {
    font-size: 0.77rem;
    padding: 13px 16px;
  }
  .fd-security-intro .actions .text-link {
    font-size: 0.77rem;
  }
  .fd-security-hero-note {
    font-size: 0.69rem;
  }
  .fd-security-system {
    height: 340px;
    max-width: 390px;
  }
  .fd-system-core {
    width: 153px;
    height: 153px;
    border-radius: 19px;
    gap: 6px;
  }
  .fd-core-glyph {
    width: 30px;
    height: 28px;
    font-size: 1.65rem;
  }
  .fd-system-core strong {
    font-size: 0.97rem;
  }
  .fd-system-core small {
    font-size: 0.54rem;
    line-height: 1.5;
  }
  .fd-system-node {
    width: 122px;
    min-height: 50px;
    border-radius: 8px;
    padding: 8px 10px;
    gap: 3px;
  }
  .fd-system-node > span {
    font-size: 0.53rem;
  }
  .fd-system-node > strong {
    font-size: 0.62rem;
    line-height: 1.3;
  }
  .fd-security-discipline {
    padding-block: 54px !important;
  }
  .fd-discipline-heading h2,
  .fd-engagement-layout h2 {
    font-size: clamp(2.35rem, 8.3vw, 3.1rem);
  }
  .fd-discipline-heading .body-copy {
    font-size: 0.94rem;
  }
  .fd-practice {
    grid-template-columns: 37px minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
  }
  .fd-practice-mark {
    width: 37px;
    height: 37px;
    border-radius: 9px;
  }
  .fd-practice-mark svg {
    width: 23px;
    height: 23px;
  }
  .fd-practice h3 {
    font-size: 1.2rem;
  }
  .fd-practice p {
    font-size: 0.87rem;
  }
  .fd-practice-tag {
    font-size: 0.61rem;
  }
  .fd-security-frameworks {
    padding: 55px 0 61px;
  }
  .fd-security-frameworks h2 {
    font-size: clamp(2.35rem, 8.3vw, 3.05rem);
  }
  .fd-security-frameworks p:not(.eyebrow) {
    font-size: 0.87rem;
  }
  .fd-framework-list > div {
    padding: 20px 15px;
    min-height: 110px;
  }
  .fd-framework-list strong {
    font-size: 1.25rem;
  }
  .fd-framework-list span {
    font-size: 0.65rem;
  }
  .fd-security-engagement {
    padding: 56px 0 !important;
  }
  .fd-engagement-list > div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 19px 0;
  }
  .fd-engagement-list p {
    font-size: 0.83rem;
  }
  .fd-security-close-layout {
    display: block;
  }
  .fd-security-close {
    padding: 39px 0;
  }
  .fd-security-close .btn {
    margin-top: 25px;
  }
  .fd-security-close p:not(.eyebrow) {
    font-size: 0.84rem;
  }
}
@media (max-width: 385px) {
  .fd-security-system {
    height: 304px;
  }
  .fd-system-node {
    width: 109px;
    min-height: 45px;
    padding: 8px;
  }
  .fd-system-node > span {
    font-size: 0.5rem;
  }
  .fd-system-node > strong {
    font-size: 0.56rem;
  }
  .fd-system-core {
    width: 131px;
    height: 131px;
  }
  .fd-system-core strong {
    font-size: 0.84rem;
  }
  .fd-system-core small {
    font-size: 0.51rem;
  }
  .fd-core-glyph {
    font-size: 1.4rem;
    width: 25px;
    height: 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-system-node {
    transition: none !important;
  }
}

/* At mobile widths, prioritize legibility over the decorative orbit. */
@media (max-width: 590px) {
  .fd-security-system {
    height: auto;
    max-width: 520px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    background: #e8f0fd;
    border: 1px solid #d2e0f3;
    border-radius: 15px;
  }
  .fd-security-lines {
    display: none;
  }
  .fd-system-core {
    position: static;
    transform: none !important;
    grid-column: 1/-1;
    width: auto;
    height: auto;
    min-height: 105px;
    padding: 17px 18px;
    display: grid;
    grid-template-columns: 47px 1fr;
    grid-template-rows: auto auto;
    gap: 4px 14px;
    align-items: center;
    justify-items: start;
    text-align: left;
    border-radius: 12px;
    box-shadow: none;
  }
  .fd-core-logo {
    grid-row: 1/3;
    grid-column: 1;
    width: 43px;
    height: 43px;
    margin: 0;
  }
  .fd-system-core strong {
    grid-row: 1;
    grid-column: 2;
    font-size: 1.11rem;
    line-height: 1.22;
  }
  .fd-system-core small {
    grid-row: 2;
    grid-column: 2;
    font-size: 0.67rem;
    line-height: 1.4;
  }
  .fd-system-node {
    position: static;
    transform: none !important;
    width: auto;
    min-width: 0;
    min-height: 80px;
    padding: 12px 13px;
    box-shadow: none;
    border-radius: 9px;
    justify-content: center;
    gap: 7px;
  }
  .fd-system-node:hover {
    transform: none !important;
    box-shadow: none;
  }
  .fd-system-node > span {
    font-size: 0.58rem;
  }
  .fd-system-node > strong {
    font-size: 0.72rem;
    line-height: 1.4;
  }
}

/* fd-editorial-refinement.css */
/* Production presentation and responsive layout. */
.external-mark {
  margin-left: 9px;
  font-size: 0.95em;
  flex: none;
}
.fd-principle {
  padding-top: 23px;
}
.fd-principle h3 {
  font-size: 1.35rem;
  margin-bottom: 12px;
}
.fd-principle p {
  max-width: 37ch;
}
.fd-trust-grid {
  gap: 0;
  background: transparent;
  border-top: 1px solid #cedced;
  padding-top: 29px;
}
.fd-trust-card {
  border: 0;
  border-radius: 0;
  border-left: 1px solid #d5e0ef;
  background: transparent;
  padding: 0 25px;
  box-shadow: none;
}
.fd-trust-card:first-child {
  padding-left: 0;
  border-left: 0;
}
.fd-trust-card:last-child {
  padding-right: 0;
}
.fd-trust-card h3 {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 12px;
}
.fd-trust-card p {
  font-size: 0.9rem;
  line-height: 1.8;
}
.fd-section-end {
  margin-top: 29px;
  padding-top: 24px;
}
.fd-workflow-card {
  box-shadow: none !important;
}
.fd-workflow-card h3 {
  margin-top: 0;
}
.service-cycle article {
  grid-template-columns: minmax(0, 1fr) !important;
}
.service-cycle article > div {
  min-width: 0;
}
.service-cycle h3 {
  margin-top: 0;
}
/* Keep the approved security diamond. Remove raised decorative effects. */
.fd-security-system .fd-system-node {
  box-shadow: none;
  border-radius: 7px;
  transition: none;
}
.fd-security-system .fd-system-node:hover {
  transform: none;
  box-shadow: none;
}
.fd-security-system .fd-system-core {
  background: #112e58;
  border-radius: 16px;
  box-shadow: 0 12px 34px #17376812;
}
.fd-security-system .fd-core-logo {
  filter: none;
}
.fd-security-system:before,
.fd-security-system:after {
  opacity: 0.35;
}
.fd-security-hero-note {
  max-width: 440px;
}
.fd-practice {
  display: block;
  padding: 27px 0;
}
.fd-practice h3 {
  font-size: 1.31rem;
  margin: 0 0 11px;
}
.fd-practice p {
  max-width: 60ch;
  line-height: 1.8;
}
.fd-security-discipline {
  padding-top: 75px !important;
  padding-bottom: 76px !important;
}
.fd-framework-list > div {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.fd-security-close {
  background: #eef4fc;
}
/* Portrait-led team page. No floating card chrome, no badge row. */
body[data-route="/about"] .page-hero {
  padding-bottom: 45px;
}
body[data-route="/about"] .page-hero .lead {
  max-width: 740px;
}
body[data-route="/about"] .page-hero + .section {
  padding-top: 52px;
  padding-bottom: 68px;
}
.leadership-grid {
  gap: 34px;
  align-items: stretch;
}
.leader-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.leader-card > .portrait {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 7px;
  object-position: center 34%;
  image-rendering: auto;
  transform: none;
  filter: none;
}
.leader-card > .photo-alex {
  object-position: center 28%;
}
.leader-card > .photo-ilya {
  object-position: center 36%;
}
.leader-card > .photo-virgil {
  object-position: center 28%;
}
.leader-copy {
  padding: 25px 0 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.leader-copy h3 {
  font-size: 1.72rem;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.leader-role {
  font-size: 0.82rem;
  line-height: 1.65;
  min-height: 44px;
  margin: 10px 0 13px;
  font-weight: 600;
  color: #355b8f;
  max-width: 290px;
}
.leader-copy .body-copy {
  font-size: 0.93rem;
  line-height: 1.8;
  max-width: 39ch;
  margin-bottom: 19px;
}
.leader-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  border-top: 1px solid #dae3ee;
  padding-top: 17px;
  margin-top: auto;
}
.leader-links .text-link {
  font-size: 0.83rem;
  font-weight: 550;
  gap: 0;
  border: 0;
  padding: 5px 0;
}
.leader-links .text-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.fd-profile-link {
  display: inline-block;
  margin-left: 25px;
}
.fd-profile-link .text-link {
  font-size: 0.84rem;
}
img.photo-alex {
  image-rendering: auto;
  filter: none;
}
.founder-hero .author-photo {
  max-height: 455px;
  object-position: center 31%;
  border-radius: 7px;
  transform: none;
  filter: none;
  box-shadow: none;
}
.founder-hero .lead {
  max-width: 640px;
  font-size: 1.08rem;
}
body[data-route="/founder"] .biography p {
  font-size: 0.98rem;
  line-height: 1.85;
}
.fd-career-context {
  margin-top: 44px;
  padding-top: 29px;
  border-top: 1px solid #d7e1ed;
}
.fd-career-context > .eyebrow {
  margin-bottom: 23px;
  font-size: 0.65rem;
}
.fd-career-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 35px;
}
.fd-career-grid > a {
  display: block;
  padding: 0 20px 1px 0;
  border-right: 1px solid #d7e1ed;
}
.fd-career-grid > a:last-child {
  border: 0;
  padding-right: 0;
}
.fd-career-grid strong {
  display: block;
  font-size: 1.5rem;
  letter-spacing: -0.035em;
  font-weight: 550;
  color: #1e3559;
}
.fd-career-grid span {
  display: block;
  font-size: 0.84rem;
  color: #5c6e85;
  margin-top: 7px;
  line-height: 1.65;
}
.fd-career-grid small {
  display: block;
  color: #325e9b;
  font-size: 0.75rem;
  line-height: 1.6;
  margin-top: 14px;
}
.fd-career-grid small span {
  display: inline;
  color: inherit;
  font-size: inherit;
  margin: 0 0 0 6px;
}
.fd-career-grid > a:hover small {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.fd-career-note {
  font-size: 0.71rem;
  color: #6a7b90;
  line-height: 1.7;
  margin: 22px 0 0;
}
/* A real media shelf, not a simulated dashboard or a stock thumbnail carousel. */
.fd-library {
  background: #f1f5fa;
  border-top: 1px solid #dce5ef;
  border-bottom: 1px solid #dce5ef;
  padding-top: 78px;
  padding-bottom: 64px;
}
.fd-library .section-header {
  margin-bottom: 29px;
}
.fd-library .section-header .body-copy {
  max-width: 300px;
  font-size: 0.95rem;
}
.fd-library .section-header h2 {
  font-size: clamp(2.35rem, 3.65vw, 3.4rem);
}
.fd-library-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 27px;
  padding: 0 0 18px;
  border-bottom: 1px solid #d2deec;
}
.fd-library-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 23px;
}
.fd-library-filters button {
  background: none;
  color: #5b6f87;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 10px 0;
  font-size: 0.82rem;
  line-height: 1.5;
  font-weight: 500;
  min-height: 42px;
}
.fd-library-filters button[aria-pressed="true"] {
  color: #204fbc;
  border-bottom-color: #2e62cc;
  font-weight: 650;
}
.fd-library-filters button:hover {
  color: #163f91;
}
.fd-library-search {
  display: block;
  flex: 0 1 245px;
  min-width: 160px;
}
.fd-library-search input {
  width: 100%;
  border: 1px solid #cfdbeb;
  border-radius: 5px;
  background: #fff;
  padding: 12px 14px;
  color: #203c5e;
  min-height: 43px;
  font-size: 0.82rem;
}
.fd-library-search input::placeholder {
  color: #6b7e95;
  opacity: 1;
}
.fd-media-reel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  overflow: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #b1c4dd #e5edf6;
  padding: 0 1px 17px;
  min-width: 0;
}
.fd-media-card {
  display: flex;
  flex-direction: column;
  background: white;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  padding: 26px 26px 23px;
  min-width: 0;
  scroll-snap-align: start;
  box-shadow: none;
  transition: border-color 0.2s;
  min-height: 336px;
}
.fd-media-card:hover {
  border-color: #9db6dc;
}
.fd-media-meta {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: baseline;
  color: #6b7e94;
  font-size: 0.65rem;
  line-height: 1.7;
}
.fd-media-meta > span {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.59rem;
  font-weight: 650;
  color: #38649e;
}
.fd-media-meta time {
  font-size: 0.64rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.fd-publisher {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: #304c6e;
  margin: 26px 0 13px;
}
.fd-media-card h3 {
  font-size: 1.53rem;
  line-height: 1.25;
  letter-spacing: -0.035em;
  color: #172f52;
  text-wrap: pretty;
  margin: 0 0 15px;
}
.fd-media-summary {
  font-size: 0.88rem;
  line-height: 1.75;
  color: #5a6d85;
  margin: 0 0 22px;
}
.fd-media-card > .text-link {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e3eaf3;
  border-bottom: 0;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.81rem;
  line-height: 1.6;
  color: #275aaf;
}
.fd-media-card > .text-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.fd-reel-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-top: 9px;
}
.fd-library-status {
  font-size: 0.76rem;
  color: #586e89;
  line-height: 1.5;
  margin: 0;
}
.fd-reel-controls {
  display: flex;
  gap: 10px;
}
.fd-reel-controls button {
  border: 1px solid #c9d7e9;
  border-radius: 5px;
  background: white;
  color: #254d89;
  font-size: 0.74rem;
  min-height: 40px;
  padding: 10px 16px;
  line-height: 1.3;
  font-weight: 550;
}
.fd-reel-controls button:hover:not(:disabled) {
  border-color: #7499cf;
  background: #f8fbff;
}
.fd-reel-controls button:disabled {
  opacity: 0.45;
  cursor: default;
}
.fd-library-empty {
  padding: 28px 0;
}
.fd-library-empty p {
  margin-bottom: 10px;
  color: #60738a;
}
.fd-library-empty button {
  background: none;
  border: 0;
  color: #275aaf;
  padding: 6px 0;
}
#writing,
#investor-ready {
  scroll-margin-top: 112px;
}
@media (max-width: 1150px) {
  .fd-trust-card {
    padding-inline: 18px;
  }
  .leader-card > .portrait {
    height: 300px;
  }
  .leadership-grid {
    gap: 25px;
  }
  .leader-copy h3 {
    font-size: 1.55rem;
  }
  .leader-role {
    font-size: 0.77rem;
    min-height: 43px;
  }
  .fd-media-reel {
    grid-auto-columns: calc((100% - 24px) / 2.3);
  }
  .fd-media-card {
    padding: 23px;
  }
}
@media (max-width: 900px) {
  .fd-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 0;
  }
  .fd-trust-card {
    padding: 0 24px;
  }
  .fd-trust-card:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }
  .fd-trust-card:nth-child(even) {
    padding-right: 0;
  }
  .fd-trust-card:nth-child(n + 3) {
    border-top: 1px solid #d5e0ef;
    padding-top: 25px;
  }
  .leadership-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .leader-card {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    column-gap: 30px;
    padding-bottom: 34px;
    border-bottom: 1px solid #d7e1ed;
  }
  .leader-card:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .leader-card > .portrait {
    height: 264px;
  }
  .leader-copy {
    padding: 5px 0 0;
  }
  .leader-role {
    min-height: 0;
    max-width: none;
  }
  .leader-copy .body-copy {
    max-width: 46ch;
  }
  .leader-links {
    margin-top: auto;
  }
  .founder-hero .split {
    gap: 45px;
  }
  .fd-library-tools {
    display: block;
  }
  .fd-library-search {
    max-width: 380px;
    margin-top: 16px;
  }
}
@media (max-width: 600px) {
  .fd-three-grid {
    gap: 24px;
  }
  .fd-principle {
    padding-top: 21px;
  }
  .fd-trust-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
    border: 0;
  }
  .fd-trust-card,
  .fd-trust-card:first-child,
  .fd-trust-card:last-child,
  .fd-trust-card:nth-child(even),
  .fd-trust-card:nth-child(odd) {
    padding: 23px 0;
    border: 0;
    border-top: 1px solid #d5e0ef;
    background: transparent;
  }
  .fd-trust-card h3 {
    font-size: 1.25rem;
  }
  .fd-trust-card p {
    font-size: 0.93rem;
  }
  .fd-security-discipline {
    padding-block: 52px !important;
  }
  .fd-practice {
    padding: 23px 0;
  }
  .fd-practice h3 {
    font-size: 1.25rem;
  }
  .fd-practice p {
    font-size: 0.94rem;
  }
  .fd-security-system .fd-system-core {
    border-radius: 10px;
    box-shadow: none;
  }
  .fd-security-system .fd-system-node {
    border-radius: 6px;
  }
  body[data-route="/about"] .page-hero + .section {
    padding-block: 32px 48px;
  }
  .leadership-grid {
    gap: 34px;
  }
  .leader-card {
    display: flex;
    padding-bottom: 30px;
  }
  .leader-card > .portrait {
    height: auto;
    aspect-ratio: 1/1.08;
    max-height: 430px;
    object-position: center 28%;
  }
  .leader-copy {
    padding: 23px 0 0;
  }
  .leader-copy h3 {
    font-size: 1.75rem;
  }
  .leader-role {
    font-size: 0.83rem;
    line-height: 1.6;
    margin: 10px 0 14px;
    max-width: 310px;
  }
  .leader-copy .body-copy {
    font-size: 0.96rem;
    max-width: none;
    line-height: 1.8;
  }
  .leader-links {
    padding-top: 14px;
    gap: 25px;
  }
  .leader-links .text-link {
    font-size: 0.87rem;
    min-height: 42px;
    align-items: center;
  }
  .fd-profile-link {
    margin-left: 0;
    display: block;
    margin-top: 14px;
  }
  .founder-hero .author-photo {
    max-width: 360px;
    max-height: none;
    width: 100%;
    justify-self: start;
  }
  .founder-hero .lead {
    font-size: 1rem;
  }
  .fd-career-context {
    margin-top: 29px;
    padding-top: 24px;
  }
  .fd-career-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .fd-career-grid > a {
    border: 0;
    border-top: 1px solid #d7e1ed;
    padding: 23px 0;
  }
  .fd-career-grid > a:first-child {
    padding-top: 0;
    border: 0;
  }
  .fd-career-grid > a:last-child {
    padding-bottom: 0;
  }
  .fd-career-grid strong {
    font-size: 1.4rem;
  }
  .fd-career-note {
    font-size: 0.73rem;
    max-width: 36ch;
  }
  .fd-library {
    padding-block: 49px;
  }
  .fd-library .section-header h2 {
    font-size: 2.5rem;
  }
  .fd-library .section-header .body-copy {
    font-size: 0.96rem;
    max-width: 350px;
  }
  .fd-library-filters {
    gap: 3px 19px;
  }
  .fd-library-filters button {
    font-size: 0.8rem;
    min-height: 44px;
  }
  .fd-library-search {
    max-width: none;
  }
  .fd-library-search input {
    font-size: 16px;
  }
  .fd-media-reel {
    grid-auto-columns: 90%;
    gap: 15px;
  }
  .fd-media-card {
    padding: 23px;
    min-height: 345px;
  }
  .fd-media-card h3 {
    font-size: 1.5rem;
  }
  .fd-media-summary {
    font-size: 0.92rem;
  }
  .fd-media-meta time {
    font-size: 0.62rem;
  }
  .fd-reel-footer {
    gap: 10px;
  }
  .fd-reel-controls button {
    font-size: 0.76rem;
    min-height: 44px;
    padding: 11px 13px;
  }
  .fd-library-status {
    font-size: 0.74rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-media-reel {
    scroll-behavior: auto !important;
  }
  .fd-media-card {
    transition: none;
  }
}
@media print {
  .fd-library-tools,
  .fd-reel-controls {
    display: none;
  }
  .fd-media-reel {
    display: block;
    overflow: visible;
  }
  .fd-media-card {
    min-height: 0;
    break-inside: avoid;
    margin-bottom: 20px;
  }
  .fd-career-grid {
    display: block;
  }
}

/* fd-layout-finish.css */

/* Production presentation and responsive layout. */
body[data-route="/finance"] .finance-proof img.mini-founder,
body[data-route="/finance"] .mini-founder.photo-alex {
  width: 56px;
  height: 56px;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  image-rendering: auto;
  flex: 0 0 56px;
}
body[data-route="/finance"] .fd-service-hub .body-copy {
  max-width: 600px;
  font-size: 0.97rem;
  line-height: 1.79;
}
body[data-route="/finance"] .fd-finance-hub-list article {
  padding: 20px 0;
}
body[data-route="/finance"] .fd-tier-price {
  font-variant-numeric: lining-nums tabular-nums;
}
body[data-route="/finance/pricing"] .fd-ownership-note {
  grid-template-columns: 0.85fr 1.65fr;
  border-left-color: #2c64c5;
  background: #f4f8ff;
}
body[data-route="/finance/how-it-works"]
  .fd-sample-report-section
  .section-header {
  margin-bottom: 20px;
}
body[data-route="/finance/sample-report"] .fd-reader-intro {
  padding-bottom: 16px;
}
body[data-route="/insurance"] .fd-hero-product img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 806/554;
}
body[data-route="/insurance/catastrophe"] .fd-gallery-panel img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
body[data-route="/insurance/catastrophe"] .fd-gallery-note {
  color: #6a7c94;
  font-size: 0.75rem;
}
@media (max-width: 720px) {
  body[data-route="/finance"] .fd-service-hub h2 {
    font-size: clamp(2.05rem, 8.3vw, 2.65rem);
  }
  body[data-route="/finance/pricing"] .fd-ownership-note {
    display: block;
  }
  body[data-route="/finance/pricing"] .fd-ownership-note p {
    margin-top: 9px;
  }
}

/* fd-platform-gallery.css */
/* Production presentation and responsive layout. */
body[data-route="/insurance/catastrophe"] .fd-gallery-image {
  background: #f6f9fe;
  padding: clamp(8px, 1.5vw, 19px);
}
body[data-route="/insurance/catastrophe"] .fd-gallery-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1672/941;
  max-height: none;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  background: #f3f7fc;
  border: 1px solid #dce6f4;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(27, 66, 122, 0.07);
}
body[data-route="/insurance/catastrophe"] .fd-gallery-tabs {
  scroll-snap-type: x proximity;
  gap: 0;
}
body[data-route="/insurance/catastrophe"] .fd-gallery-tabs button {
  scroll-snap-align: start;
  min-width: max-content;
  transition:
    background-color 0.2s,
    color 0.2s,
    border-color 0.2s;
}
body[data-route="/insurance/catastrophe"]
  .fd-gallery-tabs
  button[aria-selected="true"] {
  background: #fff;
  box-shadow: inset 0 -1px 0 #2863df;
}
body[data-route="/insurance/catastrophe"]
  .fd-gallery-tabs
  button:focus-visible {
  outline: 2px solid #3467de;
  outline-offset: -3px;
}
@media (min-width: 1050px) {
  body[data-route="/insurance/catastrophe"] .fd-gallery-tabs button {
    flex: 1;
    min-width: 0;
  }
}
@media (max-width: 560px) {
  body[data-route="/insurance/catastrophe"] .fd-gallery-tabs button {
    min-height: 52px;
    padding: 13px 18px;
    font-size: 0.78rem;
  }
  body[data-route="/insurance/catastrophe"] .fd-gallery-image {
    padding: 7px;
  }
  body[data-route="/insurance/catastrophe"] .fd-gallery-caption {
    padding: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body[data-route="/insurance/catastrophe"] .fd-gallery-tabs button {
    transition: none;
  }
}

/* fd-images.css */
/* Production presentation and responsive layout. */
body[data-route="/insurance"] .fd-hero-product img {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  object-fit: contain;
  image-rendering: auto;
}
.fd-hub-preview img {
  aspect-ratio: 1672 / 941;
  width: 100%;
  height: auto;
  object-fit: contain;
  image-rendering: auto;
}

/* fd-theme.css */
/* Production presentation and responsive layout. */
:root {
  --ink: #11243f;
  --muted: #526276;
  --cream: #fafaf8;
  --paper: #ffffff;
  --line: #e0e5eb;
  --pine: #285fe5;
  --pine-dark: #11243f;
  --navy: #11243f;
  --accent: #b9eaf4;
  --fd-soft: #f1f4f7;
  --fd-stroke: #e0e5eb;
  --shadow: 0 20px 56px rgba(17, 36, 63, 0.08);
}
body,
body[data-section="finance"],
body[data-route="/security"] {
  background: #fafaf8;
  color: #11243f;
}
.site-header,
.site-header.is-scrolled,
body[data-section="finance"] .site-header,
body[data-section="finance"] .site-header.is-scrolled,
body[data-section="finance"] .site-header:not(.is-scrolled) {
  background: rgba(255, 255, 255, 0.97);
  border-bottom-color: #e0e5eb;
}
.branch-nav,
body[data-section="finance"] .branch-nav {
  background: #ffffff;
  border-bottom-color: #e3e7ec;
}
.mobile-product-nav,
.mobile-menu {
  background: #ffffff;
  border-color: #e0e5eb;
}
.dropdown {
  background: #ffffff;
  border-color: #e0e5eb;
  box-shadow: 0 14px 40px rgba(17, 36, 63, 0.1);
}
.desktop-nav a[aria-current="page"],
.branch-links a[aria-current="page"] {
  color: #285fe5;
}
/* Quiet hero treatments; no decorative blue light pools. */
.home-hero.fd-centered-hero,
body[data-route="/"] .home-hero.fd-centered-hero {
  background: #fafaf8 !important;
  border-bottom: 1px solid #e4e8ed;
}
.business-hero.insurance,
body[data-section="finance"] .business-hero,
body[data-route="/finance/startup-pilot"] .business-hero,
.page-hero,
.fd-security-hero {
  background: #fafaf8 !important;
  border-bottom: 1px solid #e4e8ed;
}
.fd-security-hero .fd-security-hero-grid {
  background: transparent;
}
.business-hero.insurance .serif,
body[data-section="finance"] .business-hero .serif,
.page-hero .serif,
.fd-centered-hero .serif,
.fd-security-intro .serif {
  color: #285fe5;
}
/* Predictable editorial rhythm: white -> neutral -> white. */
.section.white,
.fd-approach,
.fd-security-discipline {
  background: #ffffff;
}
.section.soft,
body:not([data-section="finance"]) .section.soft,
body[data-section="finance"] .section.soft,
.fd-security-summary,
.fd-library,
.general-method-section,
.fd-security-close {
  background: #f1f4f7 !important;
}
.fd-security-summary {
  border-top: 1px solid #e0e5eb;
  border-bottom: 1px solid #e0e5eb;
}
.fd-trust-grid {
  border-top-color: #cdd6df;
}
.fd-trust-card:not(:last-child) {
  border-right-color: #d6dee6;
}
.fd-trust-card {
  background: transparent;
}
.fd-principle h3,
.fd-trust-card h3 {
  color: #11243f;
}
.fd-principle p,
.fd-trust-card p,
.fd-section-end p {
  color: #53657a;
}
.section-header .body-copy {
  color: #53657a;
}
/* Display actual product/UI evidence on neutral photographic-style surfaces. */
.fd-hero-product,
.fd-report-preview {
  background: #ffffff;
  border: 1px solid #e0e5eb;
  box-shadow: 0 20px 50px rgba(17, 36, 63, 0.055);
}
.fd-hero-product button,
.fd-report-preview > a {
  border-color: #e0e5eb;
  background: #ffffff;
}
.fd-report-preview-top {
  background: #fafbfc;
  border-bottom-color: #e5e9ef;
}
.fd-gallery-tabs {
  background: #f1f4f7;
  border-color: #dde4eb;
}
.fd-gallery-tabs button {
  color: #596b81;
}
.fd-gallery-tabs button[aria-selected="true"] {
  background: #ffffff;
  color: #285fe5;
}
.fd-gallery-tabs button:hover {
  background: #e9eef3;
}
.fd-gallery-panel,
body[data-route="/insurance/catastrophe"] .fd-gallery-image {
  background: #f5f7f9;
  border-color: #e0e5eb;
}
body[data-route="/insurance/catastrophe"] .fd-gallery-image img {
  background: #ffffff;
  border-color: #dde4ec;
  box-shadow: 0 8px 25px rgba(17, 36, 63, 0.05);
}
.fd-gallery-caption {
  background: #ffffff;
}
/* Service levels read as equal professional offerings, not three tinted apps. */
.fd-tier-card,
.fd-tier-card:last-child {
  background: #ffffff;
  border-color: #dee5ec;
}
.fd-tier-card:hover,
.fd-module-card:hover {
  background: #fafbfc;
  box-shadow: 0 8px 24px rgba(17, 36, 63, 0.055);
}
.fd-module-card {
  background: #ffffff;
  border-color: #dee5ec;
}
.fd-pilot-banner,
.fd-ownership-note,
body[data-route="/finance/pricing"] .fd-ownership-note,
body[data-section="finance"] .readiness-band,
.readiness-band {
  background: #f1f4f7;
  border-color: #dee5ec;
}
.fd-scope-table thead th {
  background: #f1f4f7;
}
.fd-scope-table td:last-child {
  background: #f8fafb;
}
.fd-library {
  border-color: #dee5eb;
}
.fd-library-tools {
  border-bottom-color: #d9e0e7;
}
.fd-media-card {
  background: #ffffff;
  border-color: #dee5ec;
  box-shadow: none;
}
.fd-security-system .fd-system-node {
  background: #ffffff;
  border-color: #d5dee8;
}
.fd-security-system .fd-system-core {
  background: #11243f;
  box-shadow: 0 16px 40px rgba(17, 36, 63, 0.1);
}
.fd-security-system:before,
.fd-security-system:after {
  opacity: 0.2;
}
.fd-security-frameworks {
  background: #11243f;
  border-color: #31435a;
}
.fd-security-close {
  border-color: #e0e5eb;
}
/* Distinctive dark Finance service-technology section, still service-led. */
body[data-route="/finance"] .fd-hub-section {
  background: #11243f !important;
  color: #ffffff;
  padding-top: 88px;
  padding-bottom: 92px;
}
body[data-route="/finance"] .fd-hub-section .eyebrow {
  color: #9ec8ff;
}
body[data-route="/finance"] .fd-hub-section h2,
body[data-route="/finance"] .fd-hub-section .fd-finance-hub-list h3 {
  color: #ffffff;
}
body[data-route="/finance"] .fd-hub-section .body-copy,
body[data-route="/finance"] .fd-hub-section .fd-finance-hub-list p {
  color: #c7d5e5;
}
body[data-route="/finance"] .fd-hub-section .text-link {
  color: #afcbff;
}
body[data-route="/finance"] .fd-hub-section .fd-finance-hub-list,
body[data-route="/finance"] .fd-hub-section .fd-finance-hub-list article {
  border-color: rgba(211, 226, 244, 0.24);
}
body[data-route="/finance"] .fd-hub-preview {
  background: #ffffff;
  border: 1px solid #dce4ed;
  padding: 12px 12px 18px;
  border-radius: 16px;
  box-shadow: 0 25px 65px rgba(2, 11, 27, 0.23);
}
body[data-route="/finance"] .fd-hub-preview img {
  border-radius: 10px;
}
body[data-route="/finance"] .fd-hub-preview figcaption {
  padding: 0 6px;
  color: #59697b;
}
/* Navy anchor sections, restrained blue CTAs and consistent contrast. */
.section.dark,
body[data-section="insurance"] .section.dark,
body[data-section="finance"] .section.dark,
.insurance-lab-section,
.fd-security-frameworks {
  background: #11243f;
}
.section-cta {
  background: #fafaf8;
}
.section-cta .cta-panel,
.general-cta .cta-panel {
  background: #11243f;
  box-shadow: none;
}
.cta-panel h2 {
  color: #ffffff;
}
.cta-panel p {
  color: #c9d8e7;
}
.cta-panel .btn.lime,
body[data-section="finance"] .cta-panel .btn.lime {
  background: #285fe5;
  border-color: #285fe5;
  color: #ffffff;
}
.cta-panel .btn.lime:hover,
body[data-section="finance"] .cta-panel .btn.lime:hover {
  background: #174fcd;
  border-color: #174fcd;
  color: #ffffff;
}
/* Full-width dark finish, retaining the gradient brand mark with readable wordmark. */
.footer,
body[data-section="finance"] .footer,
body[data-section="insurance"] .footer {
  background: #11243f !important;
  border-top-color: #293f59;
  color: #cbd8e7;
}
.footer .fd-footer-brand {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  min-height: 42px;
}
.footer .fd-footer-brand img {
  width: 37px;
  height: 42px;
  object-fit: contain;
  display: block;
}
.footer .fd-footer-wordmark {
  font-size: 1.1rem;
  font-weight: 650;
  letter-spacing: 0.155em;
  color: #ffffff;
  line-height: 1;
}
.footer .footer-copy,
.footer .privacy-preview,
body[data-section="finance"] .footer .footer-copy {
  color: #b8c9da;
}
.footer h4,
body[data-section="finance"] .footer h4 {
  color: #eef4fc;
}
.footer .footer-col a,
body[data-section="finance"] .footer .footer-col a {
  color: #c8d5e4;
}
.footer .footer-col a:hover,
.footer .footer-legal a:hover {
  color: #ffffff;
}
.footer .footer-legal a {
  color: #9fb7cf;
}
.footer .footer-bottom,
body[data-section="finance"] .footer .footer-bottom {
  border-top-color: #344960;
  color: #a9bcd1;
}
.footer .motion-toggle {
  color: #dde8f3;
  border-color: #65809c;
}
.footer a:focus-visible,
.footer button:focus-visible {
  outline-color: #b6d4ff;
}
/* Form and FAQ areas should not look like feature-colored panels. */
.question-card,
.contact-card,
.fd-workflow-card {
  background: #ffffff;
  border-color: #e0e5eb;
}
body[data-section="finance"] .form-result,
body[data-section="finance"] .readiness-promo {
  background: #f1f4f7;
  border-color: #dee5ec;
}
/* Don't recolor actual report contents or product screenshots; these are evidence. */
@media (max-width: 720px) {
  body[data-route="/finance"] .fd-hub-section {
    padding-top: 65px;
    padding-bottom: 70px;
  }
  body[data-route="/finance"] .fd-hub-preview {
    padding: 7px 7px 12px;
  }
  body[data-route="/security"] .fd-security-system {
    background: #f1f4f7;
    border-color: #dee5ec;
  }
  .footer .fd-footer-wordmark {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fd-module-card,
  .fd-tier-card {
    transition: none;
  }
}

/* fd-ceo.css */
/* Production presentation and responsive layout. */
.fd-media-card .fd-related-links {
  margin-top: 8px;
  padding-top: 12px;
  font-size: 0.73rem;
}
.fd-media-card .fd-related-links a {
  color: #456b99;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.fd-media-card .fd-related-links a:hover {
  color: #1f54be;
}
.fd-library .section-header .body-copy {
  max-width: 410px;
}
.fd-library-filters button {
  white-space: nowrap;
}
@media (max-width: 700px) {
  .fd-library-filters {
    column-gap: 13px;
  }
  .fd-library-filters button {
    font-size: 0.75rem;
  }
}

/* fd-interaction-finish.css */
/* Production presentation and responsive layout. */
:root {
  --fd-comparison-line: #dce2e9;
  --fd-quiet: #f5f6f7;
  --fd-radius: 14px;
  --fd-header: 84px;
  --fd-branch: 54px;
}
html {
  scroll-padding-top: calc(var(--fd-header) + var(--fd-branch) + 20px);
}
body {
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}
h1,
h2,
h3 {
  text-wrap: balance;
}
p {
  text-wrap: pretty;
}
::selection {
  background: #dce8ff;
  color: #11243f;
}
:focus-visible {
  outline: 3px solid #285fe5;
  outline-offset: 5px;
}
a,
button,
input,
select,
textarea {
  touch-action: manipulation;
}
button {
  user-select: none;
}
a,
button {
  transition:
    color 0.16s ease,
    background-color 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}
button:disabled {
  opacity: 0.48;
}
.btn {
  min-height: 48px;
  border-radius: 8px;
  font-weight: 650;
  box-shadow: none;
}
.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(17, 36, 63, 0.1);
}
.btn.outline {
  border-color: #c8d2df;
  background: #fff;
  color: #1747ab;
}
.btn.outline:hover {
  background: #f4f7fd;
  border-color: #8ba7d6;
}
.text-link {
  line-height: 1.5;
  min-height: 36px;
  gap: 12px;
}
.text-link:hover {
  color: #204eba;
}
.fine,
.fd-demo-note,
.fd-career-note {
  color: #5d6b7c;
}
.eyebrow {
  letter-spacing: 0.13em;
  font-size: 0.71rem;
}
.body-copy {
  line-height: 1.78;
}
/* Consistent section rhythm, with shorter supporting sections. */
.section {
  padding-block: 88px;
}
.section.slim {
  padding-block: 58px;
}
.section-header {
  gap: 40px;
  margin-bottom: 34px;
}
.section-header .eyebrow {
  margin-bottom: 18px;
}
.section-header .body-copy {
  max-width: 380px;
}
.section-header h2 {
  font-size: clamp(2.15rem, 3.7vw, 3.4rem);
  line-height: 1.1;
}
.page-hero {
  padding-block: 70px 60px;
}
.page-hero .lead {
  max-width: 680px;
}
.section-cta {
  padding-block: 44px 64px;
}
.cta-panel {
  border-radius: var(--fd-radius);
  padding: 42px 44px;
  gap: 36px;
}
.cta-panel h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.7rem);
  letter-spacing: -0.04em;
  line-height: 1.15;
}
.cta-panel p {
  max-width: 62ch;
  margin-top: 14px;
  margin-bottom: 0;
}
.cta-panel .btn {
  flex: none;
  white-space: normal;
}
/* Navigation remains understated and readable, including the secondary product tabs. */
.desktop-nav > a,
.nav-more > summary {
  font-size: 0.875rem;
}
.desktop-nav > a:hover {
  color: #285fe5;
}
.desktop-nav a[aria-current="page"] {
  box-shadow: none;
  border-bottom: 2px solid #285fe5;
}
.nav-more > summary[data-active="true"] {
  color: #285fe5;
}
.dropdown {
  padding: 8px;
  border-radius: 10px;
  min-width: 220px;
}
.dropdown a {
  min-height: 44px;
  font-size: 0.9rem;
  border-radius: 6px;
}
.dropdown a[aria-current="page"] {
  background: #eff4ff;
  color: #1948b0;
}
.branch-nav {
  position: sticky;
  top: var(--fd-header);
  z-index: 60;
}
.branch-inner {
  min-height: 54px;
  gap: 22px;
}
.branch-links {
  gap: 22px;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
.branch-links a {
  display: flex;
  align-items: center;
  min-height: 50px;
  font-size: 0.775rem;
  line-height: 1.4;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  text-decoration: none;
}
.branch-links a:hover {
  color: #285fe5;
  text-decoration: none;
}
.branch-links a[aria-current="page"] {
  border-bottom-color: #285fe5;
}
.branch-name {
  font-size: 0.74rem;
  white-space: nowrap;
  line-height: 1.4;
}
.mobile-menu a[aria-current="page"],
.mobile-menu a.fd-active {
  color: #285fe5;
  font-weight: 650;
}
/***** Evidence and visual frames: no distortion, no image regeneration. *****/
.fd-hero-product,
.fd-report-preview {
  border-radius: var(--fd-radius);
  box-shadow: 0 14px 40px rgba(17, 36, 63, 0.055);
}
.fd-hero-product button {
  border-radius: 10px;
  overflow: hidden;
}
.fd-hero-product img,
.fd-gallery-image img {
  height: auto;
  object-fit: contain;
}
.fd-gallery-tabs {
  padding: 5px;
  border-radius: 10px;
  gap: 4px;
}
.fd-gallery-tabs button {
  min-height: 44px;
  font-size: 0.86rem;
  border-radius: 7px;
  padding: 11px 18px;
  font-weight: 550;
}
.fd-gallery-tabs button[aria-selected="true"] {
  box-shadow: 0 1px 5px rgba(17, 36, 63, 0.09);
}
.fd-gallery-panel {
  border-radius: var(--fd-radius);
  overflow: hidden;
}
.fd-gallery-caption h3 {
  letter-spacing: -0.025em;
  line-height: 1.25;
}
.fd-gallery-caption p {
  max-width: 76ch;
  line-height: 1.75;
}
.fd-gallery-caption {
  padding: 25px 30px;
}
.product-dialog {
  border-radius: 14px;
  max-height: 94dvh;
  overscroll-behavior: contain;
}
.product-dialog-head {
  gap: 20px;
}
.product-dialog-head h2 {
  font-size: 1.15rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.product-dialog-head p {
  font-size: 0.8rem;
  line-height: 1.5;
}
.product-dialog-tools {
  flex: none;
}
.product-dialog-tools button {
  min-height: 42px;
}
.product-dialog-scroll {
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
  scrollbar-width: thin;
  scrollbar-color: #99aec9 #eef2f7;
}
.product-dialog-note {
  line-height: 1.65;
  font-size: 0.76rem;
  color: #56657a;
}
/* Equal service levels, with quiet quote labels and an anchored next step. */
.fd-tier-grid {
  gap: 24px;
}
.fd-tier-card {
  padding: 30px;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  border-color: var(--fd-comparison-line);
  box-shadow: none;
}
.fd-tier-card > .eyebrow {
  margin-bottom: 16px;
  font-size: 0.74rem;
}
.fd-tier-card h3 {
  font-size: 1.45rem;
  line-height: 1.28;
  letter-spacing: -0.035em;
  max-width: 24ch;
}
.fd-quote-note {
  align-self: flex-start;
  font-size: 0.79rem;
  font-weight: 550;
  color: #526276;
  background: #f3f5f8;
  border-radius: 5px;
  padding: 6px 9px;
  margin: 21px 0 16px;
  letter-spacing: 0;
  line-height: 1.5;
}
.fd-tier-card > ul {
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 23px;
}
.fd-tier-card > .text-link {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e4e8ee;
  border-bottom: 0;
  justify-content: space-between;
  font-size: 0.86rem;
}
.fd-tier-card > .text-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.fd-scope-note {
  margin-top: 22px;
  max-width: 92ch;
  font-size: 0.82rem;
  line-height: 1.7;
}
.fd-compare {
  margin-top: 46px;
}
.fd-compare-heading h2 {
  font-size: 1.8rem;
  line-height: 1.2;
}
.fd-scope-table th,
.fd-scope-table td {
  font-size: 0.85rem;
  line-height: 1.6;
  padding: 15px 18px;
}
.fd-ownership-note {
  border-radius: 10px;
}
/* Finance Hub has one clear message, with a readable full-resolution view. */
body[data-route="/finance"] .fd-hub-section {
  padding-block: 82px;
}
.fd-service-hub {
  gap: 70px;
  align-items: start;
}
.fd-service-hub h2 {
  max-width: 16ch;
  line-height: 1.1;
}
.fd-service-hub .body-copy {
  max-width: 53ch;
  font-size: 1rem;
  line-height: 1.78;
}
.fd-finance-hub-list article {
  padding-block: 21px;
}
.fd-finance-hub-list article:first-child {
  padding-top: 0;
}
.fd-finance-hub-list h3 {
  font-size: 1.12rem;
  line-height: 1.4;
  letter-spacing: -0.015em;
  margin-bottom: 8px;
}
.fd-finance-hub-list p {
  font-size: 0.92rem;
  line-height: 1.78;
  margin: 0;
}
.fd-hub-enlarge {
  position: relative;
  display: block;
  border: 0;
  padding: 0;
  width: 100%;
  background: #fff;
  border-radius: 9px;
  cursor: zoom-in;
  overflow: hidden;
}
.fd-hub-enlarge img {
  display: block;
  width: 100%;
  height: auto;
}
.fd-enlarge-label {
  position: absolute;
  right: 14px;
  bottom: 14px;
  background: #11243f;
  color: white;
  font-size: 0.77rem;
  line-height: 1.5;
  padding: 8px 13px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  opacity: 0.96;
}
.fd-hub-enlarge:hover .fd-enlarge-label {
  background: #285fe5;
}
body[data-route="/finance"] .fd-hub-preview {
  margin: 34px 0 0;
  padding: 10px 10px 15px;
  border-radius: 14px;
}
body[data-route="/finance"] .fd-hub-preview figcaption {
  font-size: 0.76rem;
  line-height: 1.65;
  margin-top: 12px;
}
.readiness-band {
  border-radius: 12px;
  padding: 34px 38px;
  gap: 34px;
}
.readiness-band h2 {
  font-size: clamp(1.9rem, 3.1vw, 2.8rem);
  line-height: 1.15;
}
.readiness-facts {
  gap: 20px;
}
.readiness-facts span {
  font-size: 0.84rem;
}
/* Pilot quote panel uses the same neutral treatment as the other Finance offers. */
.pilot-offer {
  background: #f1f4f7 !important;
  border: 1px solid #dce2e9;
  border-radius: 14px;
  padding: 34px;
  color: #11243f;
}
.pilot-offer h3 {
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 18px;
}
.pilot-offer .body-copy {
  font-size: 0.96rem;
  line-height: 1.75;
}
.fd-pilot-facts {
  margin: 26px 0 22px;
}
.fd-pilot-facts > div {
  padding: 15px 0;
  border-top: 1px solid #dce2e9;
  display: grid;
  grid-template-columns: 135px 1fr;
  gap: 18px;
}
.fd-pilot-facts dt {
  font-size: 0.83rem;
  font-weight: 650;
}
.fd-pilot-facts dd {
  margin: 0;
  font-size: 0.86rem;
  color: #526276;
  line-height: 1.6;
}
/***** FAQ and long-form reading. *****/
.faq summary {
  font-size: 1rem;
  line-height: 1.5;
  padding-block: 21px;
}
.faq details > p {
  max-width: 76ch;
  line-height: 1.8;
  color: #526276;
}
.faq-topics a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding-block: 9px;
}
.faq-search {
  position: relative;
  max-width: 650px;
}
.faq-search input {
  min-height: 50px;
  border-radius: 8px;
  padding-right: 112px;
  font-size: 1rem;
  border-color: #c6d0dc;
}
.fd-search-clear {
  position: absolute;
  right: 10px;
  top: 38px;
  background: #f1f4f7;
  color: #234b88;
  border: 0;
  border-radius: 5px;
  padding: 7px 10px;
  min-height: 34px;
  font-size: 0.8rem;
}
.fd-search-count {
  font-size: 0.78rem;
  line-height: 1.5;
  color: #5d6b7c;
  margin: 10px 0 0;
}
.faq details[open] {
  padding-bottom: 12px;
}
/***** Team and CEO editorial page. *****/
.leader-copy .body-copy {
  line-height: 1.78;
}
.leader-role {
  min-height: 46px;
  font-size: 0.83rem;
  line-height: 1.65;
  color: #31598b;
}
.leader-links .text-link {
  min-height: 40px;
}
body[data-route="/ceo"] .biography p {
  font-size: 1rem;
  line-height: 1.85;
}
.fd-career-grid strong {
  font-size: 1.4rem;
  line-height: 1.3;
}
.fd-library {
  padding-block: 76px 66px;
}
.fd-library .section-header .body-copy {
  max-width: 400px;
}
.fd-library-filters button {
  min-height: 44px;
  font-size: 0.8rem;
}
.fd-library-search input {
  font-size: 0.9rem;
  min-height: 46px;
  border-radius: 7px;
}
.fd-media-card {
  border-radius: 9px;
  padding: 27px;
  min-height: 360px;
}
.fd-media-card h3 {
  font-size: 1.43rem;
  line-height: 1.3;
}
.fd-media-meta > span {
  font-size: 0.67rem;
  color: #3b5d89;
}
.fd-media-meta time {
  font-size: 0.72rem;
  color: #596b80;
}
.fd-media-summary {
  font-size: 0.91rem;
  line-height: 1.76;
}
.fd-publisher {
  margin-top: 22px;
  font-size: 0.96rem;
}
.fd-media-card .fd-related-links {
  font-size: 0.79rem;
}
.fd-library.is-expanded .fd-media-reel {
  grid-auto-flow: row;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-columns: auto;
  overflow: visible;
  scroll-snap-type: none;
}
.fd-library-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}
.fd-library-view {
  border: 0;
  border-bottom: 1px solid #8fa5c2;
  border-radius: 0;
  background: transparent;
  color: #28559b;
  padding: 7px 0;
  font-size: 0.83rem;
  min-height: 42px;
  font-weight: 600;
}
.fd-library-view:hover {
  color: #1649bd;
  border-color: currentColor;
}
.fd-reel-controls button {
  min-height: 42px;
  font-size: 0.8rem;
  border-radius: 6px;
}
/***** Consistent form finish, keeping the source dialogs and submission behavior. *****/
.lead-dialog,
.readiness-dialog {
  border-radius: 14px;
  max-height: 94dvh;
}
.lead-aside {
  background: #11243f !important;
  color: #fff;
}
.lead-aside .eyebrow {
  color: #adcaff !important;
}
.lead-aside-title {
  color: #fff !important;
}
.lead-aside-copy,
.lead-aside-footer {
  color: #c6d5e5 !important;
}
.lead-close,
.dialog-close,
.readiness-close {
  min-width: 44px;
  min-height: 44px;
}
.lead-dialog .button {
  background: #285fe5;
  border-color: #285fe5;
  color: #fff;
  border-radius: 8px;
  min-height: 48px;
}
.lead-dialog input,
.lead-dialog textarea,
.contact-card input,
.contact-card textarea,
.contact-card select {
  border-color: #c7d1dd;
  border-radius: 7px;
  background: white;
  min-height: 48px;
}
.lead-dialog input:focus,
.lead-dialog textarea:focus,
.contact-card input:focus,
.contact-card textarea:focus {
  outline: 2px solid #285fe5;
  outline-offset: 2px;
  border-color: #285fe5;
}
.lead-dialog .preview-notice {
  background: #f1f4f7;
  color: #526276;
  border-color: #dce2e9;
}
.lead-dialog .lead-aside-footer {
  border-top-color: #4d6079;
}
.lead-dialog .lead-content h2 {
  letter-spacing: -0.04em;
  font-size: 2rem;
  line-height: 1.15;
}
.lead-dialog #lead-intro {
  font-size: 0.95rem;
  line-height: 1.75;
}
.lead-dialog input[aria-invalid="true"] {
  border-color: #ab2e3c;
}
.contact-grid {
  gap: 64px;
}
.contact-card {
  border-radius: 14px;
}
/***** Footer is a quiet ending, not a second large content section. *****/
.footer {
  padding-top: 54px;
  padding-bottom: 25px;
}
.footer-grid {
  gap: 40px;
  margin-bottom: 34px;
}
.footer-col h4 {
  font-size: 0.76rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.footer-col a {
  font-size: 0.85rem;
  line-height: 1.65;
  padding: 5px 0;
}
.footer-copy {
  font-size: 0.86rem;
  line-height: 1.85;
  max-width: 32ch;
}
.footer-legal {
  gap: 12px 25px;
  flex-wrap: wrap;
}
.footer-legal a {
  font-size: 0.77rem;
  padding-block: 5px;
}
.footer-bottom {
  font-size: 0.78rem;
  line-height: 1.7;
  padding-top: 20px;
  margin-top: 22px;
}
.footer .privacy-preview {
  font-size: 0.71rem;
  line-height: 1.75;
  max-width: 100ch;
  margin-top: 17px;
}
.footer .motion-toggle {
  min-height: 38px;
  font-size: 0.75rem;
}
/* Preserve useful transitions, with no decorative motion on the screenshot pixels. */
.has-motion [data-reveal] {
  transition-duration: 0.4s;
}
@media (min-width: 1440px) {
  .fd-centered-hero {
    padding-block: 84px 82px;
  }
  .business-hero {
    padding-block: 72px;
  }
  .section-header {
    margin-bottom: 38px;
  }
}
@media (max-width: 1100px) {
  .branch-links {
    gap: 17px;
  }
  .branch-links a {
    font-size: 0.74rem;
  }
  .fd-service-hub {
    gap: 42px;
  }
  .fd-tier-card {
    padding: 25px;
  }
  .fd-library.is-expanded .fd-media-reel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .section {
    padding-block: 64px;
  }
  .section.slim {
    padding-block: 46px;
  }
  .section-header {
    gap: 25px;
  }
  .section-cta {
    padding-block: 34px 48px;
  }
  .cta-panel {
    padding: 32px;
  }
  .branch-inner {
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .branch-name {
    display: none;
  }
  .branch-links {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    gap: 22px;
    scrollbar-width: none;
  }
  .branch-links::-webkit-scrollbar {
    display: none;
  }
  .branch-links a {
    min-height: 49px;
    font-size: 0.8rem;
    flex: 0 0 auto;
  }
  .fd-service-hub {
    gap: 38px;
  }
  .fd-library-tools {
    margin-bottom: 22px;
  }
  .leadership-grid {
    gap: 28px;
  }
  .leader-role {
    min-height: 0;
  }
}
@media (max-width: 600px) {
  :root {
    --fd-branch: 49px;
  }
  .container {
    width: calc(100% - 40px);
  }
  .header-inner {
    gap: 14px;
    height: 66px;
  }
  .header-inner .brand-lockup {
    max-width: 166px;
    height: auto;
  }
  .mobile-product-nav {
    padding: 7px 20px;
    gap: 16px;
    min-height: 42px;
  }
  .mobile-product-nav a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    font-size: 0.83rem;
  }
  .mobile-product-nav > span {
    font-size: 0.66rem;
  }
  .mobile-menu {
    padding-inline: 20px;
    max-height: calc(100dvh - 115px);
    overflow: auto;
  }
  .mobile-menu a {
    min-height: 46px;
    font-size: 0.95rem;
  }
  .page-hero {
    padding-block: 43px 40px;
  }
  .business-hero {
    padding-block: 43px 44px;
  }
  .home-hero.fd-centered-hero {
    padding-block: 60px 58px;
  }
  .section {
    padding-block: 52px;
  }
  .section.slim {
    padding-block: 40px;
  }
  .section-header {
    margin-bottom: 27px;
    gap: 20px;
    align-items: flex-start;
  }
  .section-header h2 {
    font-size: 2rem;
  }
  .section-header .eyebrow {
    margin-bottom: 14px;
  }
  .body-copy,
  .lead {
    font-size: 1rem;
    line-height: 1.75;
  }
  .eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    margin-bottom: 18px;
  }
  .actions {
    gap: 13px;
    margin-top: 26px;
  }
  .actions .text-link {
    margin-left: 0;
    min-height: 44px;
  }
  .btn {
    min-height: 48px;
    padding: 13px 18px;
    font-size: 0.84rem;
  }
  .section-cta {
    padding-block: 28px 42px;
  }
  .cta-panel {
    padding: 28px 24px;
    gap: 24px;
  }
  .cta-panel h2 {
    font-size: 1.9rem;
  }
  .cta-panel p {
    font-size: 0.93rem;
    line-height: 1.75;
  }
  .fd-three-grid {
    gap: 22px;
  }
  .fd-principle p {
    font-size: 0.95rem;
    line-height: 1.75;
  }
  .fd-trust-card p {
    margin-bottom: 0;
  }
  .fd-section-end {
    gap: 18px;
  }
  .fd-tier-grid {
    gap: 17px;
  }
  .fd-tier-card {
    padding: 24px;
  }
  .fd-tier-card h3 {
    font-size: 1.37rem;
    max-width: none;
  }
  .fd-tier-card > .eyebrow {
    margin-bottom: 12px;
  }
  .fd-quote-note {
    margin: 17px 0 18px;
    font-size: 0.79rem;
  }
  .fd-tier-card > .text-link {
    min-height: 44px;
    padding-top: 14px;
  }
  .fd-scope-table th,
  .fd-scope-table td {
    padding: 13px 14px;
    font-size: 0.82rem;
  }
  .fd-compare-heading {
    gap: 14px;
  }
  .fd-compare-heading h2 {
    font-size: 1.65rem;
  }
  body[data-route="/finance"] .fd-hub-section {
    padding-block: 54px;
  }
  .fd-service-hub {
    gap: 22px;
  }
  .fd-service-hub h2 {
    max-width: none;
    font-size: 2.1rem;
  }
  .fd-finance-hub-list h3 {
    font-size: 1.1rem;
  }
  .fd-finance-hub-list article {
    padding-block: 19px;
  }
  body[data-route="/finance"] .fd-hub-preview {
    padding: 6px 6px 12px;
    margin-top: 25px;
    border-radius: 11px;
  }
  .fd-enlarge-label {
    bottom: 7px;
    right: 7px;
    font-size: 0.68rem;
    padding: 6px 9px;
  }
  body[data-route="/finance"] .fd-hub-preview figcaption {
    font-size: 0.73rem;
    padding-inline: 6px;
  }
  .readiness-band {
    padding: 27px 24px;
    gap: 23px;
  }
  .readiness-band h2 {
    font-size: 1.9rem;
  }
  .readiness-facts {
    gap: 18px;
  }
  .pilot-offer {
    padding: 27px 24px;
  }
  .pilot-offer h3 {
    font-size: 1.6rem;
  }
  .fd-pilot-facts > div {
    grid-template-columns: 1fr;
    gap: 5px;
    padding-block: 13px;
  }
  .fd-gallery-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
  }
  .fd-gallery-tabs button {
    white-space: normal;
    font-size: 0.8rem;
    padding: 10px 8px;
    line-height: 1.4;
  }
  .fd-gallery-caption {
    padding: 20px;
  }
  .fd-gallery-caption h3 {
    font-size: 1.25rem;
  }
  .fd-gallery-caption p {
    font-size: 0.88rem;
  }
  .product-dialog {
    width: calc(100vw - 18px);
    max-width: none;
    border-radius: 10px;
  }
  .product-dialog-head {
    padding: 14px;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }
  .product-dialog-head > div:first-child {
    flex: 1 1 180px;
  }
  .product-dialog-head h2 {
    font-size: 1rem;
    max-width: 27ch;
  }
  .product-dialog-tools {
    margin-left: auto;
    gap: 8px;
  }
  .product-dialog-tools button {
    min-height: 40px;
  }
  .product-dialog-note {
    padding: 12px 14px;
    font-size: 0.73rem;
  }
  .faq summary {
    font-size: 0.95rem;
    padding-block: 19px;
  }
  .faq details > p {
    font-size: 0.93rem;
    line-height: 1.8;
  }
  .faq-topics {
    gap: 8px 18px;
  }
  .faq-topics a {
    font-size: 0.8rem;
    padding-block: 4px;
  }
  .faq-search input {
    font-size: 1rem;
  }
  .fd-search-clear {
    font-size: 0.76rem;
  }
  .leader-copy .body-copy {
    font-size: 0.95rem;
  }
  .leader-role {
    font-size: 0.82rem;
  }
  .fd-library {
    padding-block: 54px 48px;
  }
  .fd-library .section-header h2 {
    font-size: 2rem;
  }
  .fd-library-filters {
    gap: 6px 20px;
  }
  .fd-library-filters button {
    font-size: 0.79rem;
    min-height: 40px;
  }
  .fd-media-reel {
    grid-auto-columns: 88%;
    gap: 16px;
    scroll-padding-inline: 0;
  }
  .fd-media-card {
    padding: 23px;
    min-height: 350px;
  }
  .fd-media-card h3 {
    font-size: 1.4rem;
  }
  .fd-media-meta {
    gap: 12px;
  }
  .fd-library.is-expanded .fd-media-reel {
    grid-template-columns: 1fr;
  }
  .fd-reel-footer {
    align-items: flex-start;
    gap: 15px;
    flex-wrap: wrap;
  }
  .fd-library-actions {
    width: 100%;
    justify-content: space-between;
    gap: 15px;
  }
  .fd-reel-controls {
    gap: 8px;
  }
  .fd-reel-controls button {
    font-size: 0.76rem;
    padding: 9px 12px;
  }
  .fd-career-grid {
    gap: 22px;
  }
  .fd-career-grid strong {
    font-size: 1.35rem;
  }
  .fd-career-note {
    font-size: 0.75rem;
  }
  .lead-dialog .lead-content {
    padding: 32px 23px 26px;
  }
  .lead-dialog .lead-content h2 {
    font-size: 1.8rem;
  }
  .lead-dialog input,
  .lead-dialog textarea {
    font-size: 1rem;
  }
  .lead-dialog .lead-close {
    top: 10px;
    right: 10px;
  }
  .footer {
    padding-top: 42px;
    padding-bottom: 22px;
  }
  .footer-grid {
    gap: 30px 22px;
    margin-bottom: 26px;
  }
  .footer-col h4 {
    margin-bottom: 13px;
    font-size: 0.75rem;
  }
  .footer-col a {
    font-size: 0.81rem;
    padding-block: 6px;
  }
  .footer-legal {
    gap: 5px 16px;
  }
  .footer-legal a {
    font-size: 0.72rem;
  }
  .footer .privacy-preview {
    font-size: 0.7rem;
    margin-top: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Final visual QA adjustments. */
.mobile-product-nav a[data-nav="finance"][aria-current="page"],
.mobile-product-nav a[data-nav="insurance"][aria-current="page"] {
  background: #eaf0ff;
  color: #214fb9;
}
.fd-service-hub h2 {
  max-width: none;
  font-size: clamp(2.1rem, 3.45vw, 3.1rem);
  line-height: 1.13;
}
@media (max-width: 600px) {
  .fd-service-hub h2 {
    font-size: 2.1rem;
  }
}

/* fd-ceo-seo.css */

.fd-ceo-focus {
  margin-top: 3.3rem;
  padding: 2.25rem 0 0;
  border-top: 1px solid #e2e8ef;
}
.fd-ceo-focus-heading h2 {
  font-size: clamp(1.85rem, 3.2vw, 2.85rem);
  line-height: 1.16;
  letter-spacing: -0.025em;
  margin: 0.6rem 0 1.8rem;
}
.fd-ceo-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.25rem;
}
.fd-ceo-focus-grid > div {
  border-top: 1px solid #d3dce7;
  padding: 1.1rem 0 1.5rem;
}
.fd-ceo-focus-grid h3 {
  font-size: 1rem;
  margin: 0.1rem 0 0.55rem;
  color: #152640;
}
.fd-ceo-focus-grid p {
  max-width: 33ch;
  color: #4d5d71;
  font-size: 0.97rem;
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 760px) {
  .fd-ceo-focus {
    margin-top: 2.1rem;
  }
  .fd-ceo-focus-grid {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }
  .fd-ceo-focus-grid p {
    max-width: 60ch;
  }
}

/* fd-finish.css */
/* Production presentation and responsive layout. */
:root {
  --finish-ink: #11243f;
  --finish-muted: #526276;
  --finish-line: #dce2e9;
  --finish-accent: #285fe5;
}
html {
  scrollbar-gutter: stable;
}
body {
  font-kerning: normal;
  -webkit-text-size-adjust: 100%;
}
main {
  min-height: 54vh;
}
h1,
h2,
h3 {
  overflow-wrap: normal;
}
main p {
  overflow-wrap: break-word;
}
/* Visible controls, quiet hover feedback and predictable focus. */
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--finish-accent);
  outline-offset: 4px;
}
:where(.footer, .fd-hub-section, .fd-security-frameworks) :focus-visible {
  outline-color: #b9d5ff;
}
:where(input, textarea) {
  caret-color: var(--finish-accent);
}
.site-header .nav-more summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.site-header .nav-more[open] summary {
  color: #285fe5;
}
.desktop-nav > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.branch-nav .branch-links {
  scroll-behavior: auto;
  scroll-padding-inline: 14px;
}
.branch-nav .branch-links a[aria-current="page"] {
  color: #285fe5;
  font-weight: 650;
  border-bottom-color: #285fe5;
}
.branch-nav .branch-links a:hover {
  color: #285fe5;
}
/* Let the product images carry the visual weight, not nested shadows. */
.fd-hero-product,
.fd-report-preview {
  box-shadow: 0 10px 32px rgb(17 36 63 / 5%);
}
.fd-gallery-panel {
  border-radius: 12px;
  overflow: hidden;
}
.fd-gallery-tabs {
  gap: 0;
  scroll-padding-inline: 10px;
  scrollbar-width: thin;
}
.fd-gallery-tabs button {
  min-height: 50px;
}
.fd-gallery-tabs button[aria-selected="true"] {
  box-shadow: inset 0 -2px 0 #285fe5;
}
.fd-gallery-caption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.fd-gallery-caption h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.6rem);
  line-height: 1.3;
}
.fd-gallery-caption p {
  font-size: 0.94rem;
  line-height: 1.7;
  max-width: 65ch;
}
.product-dialog-scroll {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.product-dialog-scroll:focus-visible {
  outline-offset: -5px;
}
.fd-hub-preview img {
  height: auto;
  object-fit: contain;
}
/* A readable comparison, without narrowing or rewriting the service scope. */
.fd-scope-table {
  font-variant-numeric: tabular-nums;
}
.fd-scope-table tbody tr:last-child td,
.fd-scope-table tbody tr:last-child th {
  border-bottom: 0;
}
.fd-scope-table tbody tr:hover td,
.fd-scope-table tbody tr:hover th {
  background: #f7f9fc;
}
.fd-tier-card {
  display: flex;
  flex-direction: column;
}
.fd-tier-card > .text-link {
  margin-top: auto;
  padding-top: 16px;
}
.fd-tier-card ul {
  margin-bottom: 18px;
}
/* Slightly less visual density in reading pages. */
.biography p,
.fd-ceo-seo p {
  max-width: 74ch;
}
.fd-media-card h3 {
  font-size: clamp(1.3rem, 1.6vw, 1.48rem);
  line-height: 1.32;
}
.fd-media-summary {
  line-height: 1.72;
}
.fd-library-search input[type="search"] {
  padding-right: 32px;
}
.fd-media-reel {
  scroll-padding-inline: 2px;
}
.faq summary {
  padding-right: 40px;
}
.faq details[open] summary {
  color: #194bb7;
}
.faq details:focus-within {
  scroll-margin-top: calc(var(--fd-header) + var(--fd-branch) + 20px);
}
.faq-group {
  scroll-margin-top: calc(var(--fd-header) + var(--fd-branch) + 20px);
}
.contact-card form label {
  line-height: 1.5;
}
.contact-card textarea {
  min-height: 135px;
  resize: vertical;
}
.field-optional {
  color: #57697c;
}
.fd-scroll-hint {
  margin: 10px 0 0;
  color: #526276;
  font-size: 0.8rem;
  line-height: 1.6;
}
/* A complete error state, using the same site shell. */
.fd-not-found {
  padding: clamp(64px, 12vh, 128px) 0;
  min-height: 60vh;
  background: #fafaf8;
}
.fd-not-found .container {
  max-width: 1000px;
}
.fd-not-found h1 {
  max-width: 16ch;
}
.fd-not-found .lead {
  max-width: 58ch;
}
.fd-not-found .actions {
  margin-top: 30px;
  gap: 18px;
}
.fd-not-found .fd-error-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin-top: 35px;
}
/* No invisible controls when a keyboard user skips a scroll transition. */
.has-motion [data-reveal]:focus-within {
  opacity: 1 !important;
  transform: none !important;
}
@media (min-width: 1101px) {
  .page-hero:not(.book-hero) .lead {
    max-width: 720px;
  }
  .fd-service-hub {
    column-gap: 72px;
  }
  .contact-card {
    padding: 36px;
  }
  .footer-grid {
    column-gap: 48px;
  }
}
@media (max-width: 900px) {
  .branch-inner {
    position: relative;
  }
  .branch-links {
    scroll-snap-type: x proximity;
  }
  .branch-links a {
    scroll-snap-align: start;
    min-height: 48px;
  }
  .fd-gallery-caption {
    gap: 22px;
  }
}
@media (max-width: 600px) {
  .container {
    width: calc(100% - 40px);
  }
  .page-hero {
    padding-block: 38px 36px;
  }
  .home-hero.fd-centered-hero {
    padding-block: 54px;
  }
  .business-hero {
    padding-block: 38px 40px;
  }
  .section {
    padding-block: 48px;
  }
  .section.slim {
    padding-block: 36px;
  }
  .section-header {
    gap: 18px;
  }
  .body-copy,
  .lead {
    line-height: 1.75;
  }
  .eyebrow {
    font-size: 0.67rem;
    letter-spacing: 0.11em;
  }
  .hero-note,
  .finance-proof p,
  .fine {
    font-size: max(0.75rem, 12px);
    line-height: 1.7;
  }
  .fd-report-preview-top {
    font-size: 0.65rem;
    gap: 16px;
  }
  .fd-report-caption {
    gap: 15px;
  }
  .fd-report-caption > span {
    font-size: 0.78rem;
  }
  .fd-gallery-caption {
    display: block;
    padding: 22px;
  }
  .fd-gallery-caption p {
    margin-top: 12px;
    font-size: 0.9rem;
  }
  .fd-gallery-tabs button {
    min-height: 48px;
    font-size: 0.8rem;
    padding-inline: 15px;
  }
  .fd-scope-table {
    min-width: 650px;
  }
  .fd-scroll-hint {
    display: block;
  }
  .fd-tier-card {
    padding: 25px;
  }
  .fd-tier-card > .text-link {
    min-height: 44px;
  }
  .contact-card {
    padding: 25px 20px;
  }
  .contact-card .field-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .contact-card :is(input, select, textarea),
  .lead-dialog :is(input, select, textarea),
  .readiness-dialog select {
    font-size: 16px;
  }
  .contact-card .inquiry-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .contact-card .inquiry-actions .btn {
    width: 100%;
  }
  .fd-media-card {
    min-height: 340px;
    padding: 24px;
  }
  .fd-library-filters {
    gap: 7px;
  }
  .fd-library-filters button {
    min-height: 44px;
  }
  .footer {
    padding-top: 40px;
  }
  .footer-grid {
    row-gap: 28px;
  }
  .footer-col a {
    padding-block: 6px;
    font-size: 0.85rem;
  }
  .footer .privacy-preview {
    font-size: 0.73rem;
  }
}
@media (min-width: 601px) {
  .fd-scroll-hint {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  body.has-motion [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media print {
  .site-header,
  .branch-nav,
  .footer,
  .section-cta,
  .fd-scroll-hint,
  dialog {
    display: none !important;
  }
  body,
  main,
  .section,
  .page-hero {
    background: #fff !important;
    color: #11243f !important;
  }
  main {
    min-height: 0;
  }
  .section,
  .page-hero {
    padding-block: 22px;
  }
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (max-width: 900px) {
  html {
    scrollbar-gutter: auto;
  }
  .branch-nav .branch-inner {
    padding-block: 0;
    min-height: 52px;
  }
  .branch-nav .branch-links {
    padding-bottom: 0;
  }
}

/* fd-product-gallery.css */
/* Production presentation and responsive layout. */
body[data-route="/insurance/catastrophe"] .fd-gallery-image {
  background: #f4f6f9;
  padding: clamp(8px, 1.2vw, 16px);
}
body[data-route="/insurance/catastrophe"] .fd-gallery-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1672/941;
  height: auto;
  object-fit: contain;
  border: 1px solid #d9e0e8;
  border-radius: 9px;
  box-shadow: 0 5px 18px rgba(17, 36, 63, 0.07);
}
body[data-route="/insurance/catastrophe"] .fd-gallery-image:focus-visible {
  outline: 3px solid #285fe5;
  outline-offset: 2px;
}
body[data-route="/insurance/catastrophe"] .fd-gallery-image .fd-expand {
  background: #11243f;
  color: #fff;
  font-size: 0.79rem;
  font-weight: 650;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 5px 20px rgba(17, 36, 63, 0.13);
}
body[data-route="/insurance/catastrophe"] .fd-gallery-caption {
  border-top: 1px solid #e0e5eb;
}
@media (max-width: 700px) {
  body[data-route="/insurance/catastrophe"] .fd-gallery-image .fd-expand {
    display: none;
  }
  body[data-route="/insurance/catastrophe"] .fd-gallery-image::after {
    content: "Tap image to inspect at full resolution";
    display: block;
    margin-top: 9px;
    color: #47586d;
    font-size: 0.75rem;
    line-height: 1.35;
    font-weight: 550;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  body[data-route="/insurance/catastrophe"] .fd-gallery-image img {
    transition: none;
  }
}

/* fd-presentation-refinement.css */
/* Production presentation and responsive layout. */
/* Keep the positioning transforms on hover instead of resetting them to none. */
.fd-security-system .fd-system-node,
.fd-security-system .fd-system-node:hover,
.fd-security-system .fd-system-node:focus-within {
  transition: none !important;
  animation: none !important;
  box-shadow: none !important;
}
.fd-security-system .fd-node-top,
.fd-security-system .fd-node-top:hover,
.fd-security-system .fd-node-bottom,
.fd-security-system .fd-node-bottom:hover {
  transform: translateX(-50%) !important;
}
.fd-security-system .fd-node-left,
.fd-security-system .fd-node-left:hover,
.fd-security-system .fd-node-right,
.fd-security-system .fd-node-right:hover {
  transform: translateY(-50%) !important;
}
@media (max-width: 590px) {
  .fd-security-system .fd-system-node,
  .fd-security-system .fd-system-node:hover {
    transform: none !important;
  }
}
.fd-advisory-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 38px;
}
.fd-advisory-team-grid article {
  padding: 24px 0 12px;
  border-top: 1px solid #dce2e9;
  min-width: 0;
}
.fd-advisory-team-grid h3 {
  font-size: 1.2rem;
  letter-spacing: -0.025em;
  line-height: 1.35;
  margin: 0 0 12px;
}
.fd-advisory-team-grid p {
  font-size: 0.92rem;
  line-height: 1.8;
  color: #526276;
  margin: 0;
}
.fd-scope-qualification {
  font-size: 0.78rem;
  line-height: 1.75;
  color: #5d6b7c;
  max-width: 105ch;
  margin: 28px 0 0;
}
.service-cycle article p {
  line-height: 1.78;
}
body[data-route="/finance"] .fd-hub-preview {
  padding: 10px;
  margin-bottom: 0;
}
.faq-group > .faq {
  border-top: 1px solid #dce2e9;
}
.faq-group > .faq > details {
  margin: 0;
  padding-inline: 0;
}
@media (max-width: 1000px) {
  .fd-advisory-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
  }
}
@media (max-width: 620px) {
  .fd-advisory-team-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .fd-advisory-team-grid article {
    padding: 22px 0 18px;
  }
  .fd-advisory-team-grid h3 {
    font-size: 1.16rem;
  }
  .fd-scope-qualification {
    font-size: 0.77rem;
  }
}
