/* Site typography. Loaded last on every intentional EN/FI page. */
/* site-base.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
:root {
  --type-display: clamp(48px, 6.2vw, 72px);
  --type-page-title: clamp(40px, 4.8vw, 56px);
  --type-section-title: clamp(34px, 4vw, 48px);
  --type-feature-title: clamp(30px, 2.7vw, 36px);
  --type-component-title: clamp(20px, 2vw, 26px);
  --type-lead: 18px;
  --type-body: 16px;
  --type-small: 15px;
  --type-meta: 12px;
  --line-display: 0.98;
  --line-section-title: 1.04;
  --line-feature-title: 1.1;
  --line-lead: 1.65;
  --line-body: 1.65;
  --font-sans: "Albert Sans", "Segoe UI", Arial, sans-serif;
  --font-serif: "Young Serif", Georgia, serif;
}
body {
  font-family: var(--font-sans);
}
a {
  text-decoration: none;
}
.button {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
}
@media (max-width: 720px) {
  :root {
    --type-display: clamp(40px, 11vw, 56px);
    --type-page-title: clamp(36px, 9vw, 48px);
    --type-section-title: clamp(32px, 8vw, 42px);
    --type-feature-title: clamp(26px, 7.2vw, 30px);
    --type-component-title: clamp(19px, 5.5vw, 24px);
    --type-lead: 17px;
  }
}
/* index.css (home, customers, planning, reporting, workflow, ai-analysis) */
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .navLink {
  font-size: 17px;
  font-family: var(--font-sans);
  font-weight: 600;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .sectionKicker {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.03em;
  font-size: var(--type-display);
  line-height: var(--line-display);
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .heroTitleLine {
  white-space: normal;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .sectionTitle {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.026em;
  font-size: var(--type-section-title);
  line-height: var(--line-section-title);
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .lead,
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .sectionText,
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .ctaText {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: var(--type-lead);
  line-height: var(--line-lead);
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .sectionNote {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .imageModalClose {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .faqItem summary {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.023em;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .faqItem p {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.75;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .ctaSection .sectionTitle {
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"]))
  .analysisFinalCta
  .sectionTitle,
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .customerCtaSection h2,
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .bookDemoSection h2,
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) [data-demo-section] h2 {
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
}
:where(html:not([data-site-page="about"], [data-site-page="privacy"])) .footer {
  font-family: var(--font-sans);
}
@media (max-width: 720px) {
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) h1 {
    font-size: clamp(40px, 14vw, 58px);
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .heroTitleLine {
    white-space: normal;
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .lead,
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .sectionText,
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .ctaText {
    font-size: 17px;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) h1 {
    line-height: 1;
  }
}
@media (max-width: 932px) and (orientation: landscape) {
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) h1 {
    font-size: clamp(20px, 2.5vw, 26px);
    line-height: 0.98;
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .hero .lead {
    font-size: 11px;
    line-height: 1.34;
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .heroActions .button {
    font-size: 14px;
  }
}
@media (orientation: landscape) and (max-height: 500px) and (max-width: 1200px) {
  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) h1 {
    font-size: clamp(35px, 4.7vw, 48px);
    line-height: 0.98;
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .hero .lead {
    font-size: 16px;
    line-height: 1.5;
  }

  :where(html:not([data-site-page="about"], [data-site-page="privacy"])) .heroActions .button {
    font-size: 16px;
  }
}
/* about.css (about) */
:where(html[data-site-page="about"]) .navLink {
  font-size: 17px;
  font-weight: 600;
}
:where(html[data-site-page="about"]) .button {
  font-size: 15px;
  font-weight: 600;
}
:where(html[data-site-page="about"]) .sectionIntro {
  text-align: center;
}
:where(html[data-site-page="about"]) .sectionKicker {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
:where(html[data-site-page="about"]) h1,
:where(html[data-site-page="about"]) .sectionTitle {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.026em;
}
:where(html[data-site-page="about"]) h1 {
  font-size: clamp(34px, 4.8vw, 52px);
  line-height: 1.04;
}
:where(html[data-site-page="about"]) .sectionTitle {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.04;
}
:where(html[data-site-page="about"]) .aboutLead h1 {
  text-align: left;
}
:where(html[data-site-page="about"]) .aboutLead .sectionTitle {
  text-align: left;
}
:where(html[data-site-page="about"]) .aboutText p,
:where(html[data-site-page="about"]) .teamRole,
:where(html[data-site-page="about"]) .teamContact {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.85;
}
:where(html[data-site-page="about"]) .teamBody {
  text-align: center;
}
:where(html[data-site-page="about"]) .teamCard h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.023em;
}
:where(html[data-site-page="about"]) .teamRole {
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}
:where(html[data-site-page="about"]) .teamContact {
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
}
@media (max-width: 980px) {
  :where(html[data-site-page="about"]) .aboutLead h1,
  :where(html[data-site-page="about"]) .aboutLead .sectionTitle {
    text-align: center;
  }
}
@media (max-width: 1024px) and (max-height: 600px) and (orientation: landscape) {
  :where(html[data-site-page="about"]) .aboutLead h1,
  :where(html[data-site-page="about"]) .aboutLead .sectionTitle {
    text-align: left;
  }
}
/* privacy-policy.css (privacy) */
:where(html[data-site-page="privacy"]) h1 {
  font-family: var(--font-serif);
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.026em;
}
:where(html[data-site-page="privacy"]) .lastUpdated {
  font-size: 15px;
  font-weight: 500;
}
:where(html[data-site-page="privacy"]) .policySection h2 {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.023em;
}
:where(html[data-site-page="privacy"]) .policySection p,
:where(html[data-site-page="privacy"]) .policySection li {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
}
:where(html[data-site-page="privacy"]) .policyAddress p {
  line-height: 1.65;
}
/* financial-planning-page.css (planning) */
:where(html[data-site-page="planning"]) .planningHeroCopy {
  text-align: center;
}
:where(html[data-site-page="planning"]) .planningContextIntro {
  text-align: center;
}
:where(html[data-site-page="planning"]) .planningContextList article {
  text-align: center;
}
:where(html[data-site-page="planning"]) .main > #budgeting .productPageGrid > div,
:where(html[data-site-page="planning"]) .main > #cash-flow .productPageGrid > div {
  text-align: center;
}
:where(html[data-site-page="planning"]) .ctaSection .ctaCopy {
  text-align: center;
}
:where(html[data-site-page="planning"]) .planningContextList h3 {
  font-size: clamp(18px, 1.8vw, 23px);
  line-height: 1.25;
}
:where(html[data-site-page="planning"]) .planningContextList p {
  line-height: 1.62;
}
/* reporting-page.css (reporting) */
:where(html[data-site-page="reporting"]) #reporting-views .reportingViewsIntro {
  text-align: center;
}
:where(html[data-site-page="reporting"]) #reporting-views .sectionTitle {
  font-size: clamp(34px, 3.2vw, 46px);
}
:where(html[data-site-page="reporting"]) #reporting-views .sectionText {
  font-size: 16px;
  line-height: 1.7;
}
:where(html[data-site-page="reporting"]) #reporting-views .contextStack article > span {
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}
:where(html[data-site-page="reporting"]) #reporting-views .contextStack h3 {
  font-size: 18px;
}
:where(html[data-site-page="reporting"]) #reporting-views .contextStack p {
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 981px) {
  html:where([data-site-page="reporting"])[data-page="reporting"]
    .productAreaHeroCompact
    .productAreaHeroCopy {
    text-align: center;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    .productAreaHeroCompact
    .productAreaHeroCopy
    h1 {
    text-wrap: balance;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    .productAreaHeroCompact
    .productAreaHeroCopy
    .lead {
    text-wrap: pretty;
  }
  html:where([data-site-page="reporting"])[data-page="reporting"]
    #reporting-foundation
    .sectionIntro {
    text-align: center;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    #reporting-foundation
    .sectionTitle {
    text-wrap: balance;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    #reporting-foundation
    .sectionText {
    text-wrap: pretty;
  }
}
html:where([data-site-page="reporting"])[data-page="reporting"]
  #reporting-foundation
  .capabilityCard {
  text-align: left;
}
html:where([data-site-page="reporting"])[data-page="reporting"]
  #reporting-foundation
  .capabilityCard
  h3 {
  line-height: 1.3;
  text-align: left;
  text-wrap: balance;
}
html:where([data-site-page="reporting"])[data-page="reporting"]
  #reporting-foundation
  .capabilityCard
  p {
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
  text-wrap: pretty;
}
/* reporting-product-area.css (reporting) */
:where(html[data-site-page="reporting"]) .capabilityNumber {
  font-size: 12px;
  font-weight: 700;
}
:where(html[data-site-page="reporting"]) .capabilityCard h3 {
  font-size: clamp(20px, 2vw, 27px);
}
:where(html[data-site-page="reporting"]) .capabilityCard p {
  line-height: 1.65;
}
:where(html[data-site-page="reporting"]) .contextStack span {
  font-size: 12px;
  font-weight: 700;
}
:where(html[data-site-page="reporting"]) .contextStack h3 {
  font-size: 20px;
}
:where(html[data-site-page="reporting"]) .contextStack p {
  line-height: 1.6;
}
/* reporting-hero.css (reporting) */
@media (min-width: 981px) {
  html:where([data-site-page="reporting"])[data-page="reporting"]
    .reportingHero
    .productAreaHeroCopy {
    text-align: left;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    .reportingHero
    .productAreaHeroCopy
    h1 {
    font-size: clamp(48px, 3.65vw, 58px);
    line-height: 0.99;
    text-wrap: balance;
  }

  html:where([data-site-page="reporting"])[data-page="reporting"]
    .reportingHero
    .productAreaHeroCopy
    .lead {
    text-wrap: pretty;
  }
}
@media (max-width: 980px) {
  html:where([data-site-page="reporting"])[data-page="reporting"]
    .reportingHero
    .productAreaHeroCopy {
    text-align: center;
  }
}
/* workflow-page.css (workflow) */
:where(html[data-site-page="workflow"]) .workflowHeroCopy {
  text-align: center;
}
:where(html[data-site-page="workflow"]) .workflowHeroCopy .lead {
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.65;
}
:where(html[data-site-page="workflow"]) .workflowControlIntro .sectionTitle {
  font-size: clamp(39px, 4.83vw, 60px);
}
:where(html[data-site-page="workflow"]) .workflowControlItem h3 {
  font-size: clamp(19px, 1.8vw, 23px);
  line-height: 1.25;
}
:where(html[data-site-page="workflow"]) .workflowControlItem p {
  line-height: 1.62;
}
:where(html[data-site-page="workflow"]) .workflowPage .ctaSection .ctaCopy {
  text-align: center;
}
:where(html[data-site-page="workflow"]) .workflowPage .ctaSection .sectionTitle {
  font-size: clamp(40px, 4.8vw, 60px);
}
/* fill-request-animation.css (workflow) */
:where(html[data-site-page="workflow"]) .fill-flow {
  font-family: var(--font-sans);
}
:where(html[data-site-page="workflow"]) .fill-flow__scene-label {
  font-size: clamp(11px, 1.05vw, 14px);
  font-weight: 700;
  white-space: nowrap;
}
:where(html[data-site-page="workflow"]) .fill-flow__scene-label::before {
  font-size: 10px;
}
:where(html[data-site-page="workflow"]) .fill-flow__value-update text {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  text-anchor: end;
  dominant-baseline: middle;
}
:where(html[data-site-page="workflow"]) .fill-flow__micro-card {
  font-size: clamp(11px, 1.05vw, 14px);
  font-weight: 700;
  white-space: nowrap;
}
:where(html[data-site-page="workflow"]) .fill-flow__micro-card::before {
  font-size: 10px;
}
:where(html[data-site-page="workflow"]) .fill-flow__success {
  font-size: clamp(13px, 1.35vw, 18px);
  font-weight: 700;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-report {
  font-family: var(--font-sans);
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-summary p {
  font-size: 13px;
  line-height: 1.5;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-summary span {
  font-size: 12px;
  font-weight: 700;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-report table {
  font-size: 12px;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-report th,
:where(html[data-site-page="workflow"]) .fill-flow__validation-report td {
  text-align: left;
  white-space: nowrap;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-report th {
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
:where(html[data-site-page="workflow"]) .fill-flow__validation-report td.is-pass,
:where(html[data-site-page="workflow"]) .fill-flow__validation-report td.is-fail {
  font-weight: 700;
}
@container (max-width: 960px) {
  :where(html[data-site-page="workflow"]) .fill-flow__scene-label,
  :where(html[data-site-page="workflow"]) .fill-flow__micro-card {
    font-size: 11px;
    text-overflow: ellipsis;
  }

  :where(html[data-site-page="workflow"]) .fill-flow__scene-label::before,
  :where(html[data-site-page="workflow"]) .fill-flow__micro-card::before {
    font-size: 9px;
  }
}
/* ai-analysis-page.css (ai-analysis) */
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisHero h1 {
  font-size: clamp(48px, 7vw, 78px);
  line-height: 0.96;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisHeroNote {
  font-size: 15px;
  line-height: 1.6;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingExampleEyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingExampleHeader h3 {
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 400;
  line-height: 1.15;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingMetric dt {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingMetric dd {
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 650;
  line-height: 1.2;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingMetricAdverseMeta {
  font-size: 13px;
  font-weight: 600;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingAnalysisBlock h4,
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingOpenQuestion h4 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingAnalysisBlock p,
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .findingOpenQuestion p {
  line-height: 1.65;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .recurringStep {
  font-weight: 700;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .recurringStageLabel {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .recurringStageTitle {
  font-size: 21px;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .recurringStageDescription {
  line-height: 1.6;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowCardCopy h3 {
  font-size: 15px;
  line-height: 1.3;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowCardCopy p {
  font-size: 13.5px;
  line-height: 1.48;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowHub {
  text-align: center;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowHubLabel {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .trustCard h3 {
  font-size: 18px;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .trustCard p {
  line-height: 1.55;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .faqItem summary {
  font-size: 18px;
  font-weight: 650;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .faqItem p {
  line-height: 1.65;
}
@media (max-width: 900px) {
  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowMobileLabel {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisFlowMobileHub {
    text-align: center;
  }
}
@media (max-width: 620px) {
  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"] .analysisHero h1 {
    font-size: clamp(43px, 13vw, 60px);
  }
}
/* ai-analysis-memory.css (ai-analysis) */
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
  .analysisMemoryPage
  .analysisHero
  h1 {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(48px, 6.3vw, 84px);
  font-weight: 400;
  line-height: 0.98;
}
html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
  .analysisMemoryPage
  .analysisHero
  .lead {
  font-size: clamp(17px, 1.55vw, 20px);
  line-height: 1.66;
}
:where(html[data-site-page="ai-analysis"]) .analysisMemoryPage .analysisHeroNote {
  font-size: 14px;
  line-height: 1.55;
}
:where(html[data-site-page="ai-analysis"]) .analysisMemoryPage .analysisHeroSecondary {
  font-weight: 700;
  text-decoration: none;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopNodeHeader b {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(24px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.03em;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopNode h3 {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(23px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 1.08;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopNode p {
  font-size: 13.5px;
  line-height: 1.55;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopCore {
  text-align: center;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopCore strong {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(23px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 1.02;
}
html:where([data-site-page="ai-analysis"])[lang="fi"] .analysisLoopCore strong {
  font-size: clamp(18px, 1.35vw, 20px);
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
:where(html[data-site-page="ai-analysis"]) .analysisTrustNote {
  font-size: 12.5px;
  line-height: 1.6;
}
:where(html[data-site-page="ai-analysis"]) .analysisCtaChecklist li {
  font-weight: 650;
  line-height: 1.45;
}
:where(html[data-site-page="ai-analysis"]) .analysisCtaChecklistNote {
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 980px) {
  html:where([data-site-page="ai-analysis"])[lang="en"] .analysisLoopCore strong {
    font-size: 20px;
    line-height: 0.98;
  }
}
@media (max-width: 620px) {
  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
    .analysisMemoryPage
    .analysisHero
    h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  html:where([data-site-page="ai-analysis"])[lang="en"] .analysisLoopCore strong {
    font-size: 19px;
    line-height: 0.98;
  }

  html:where([data-site-page="ai-analysis"])[lang="fi"] .analysisLoopCore strong {
    font-size: 18px;
  }
}
/* ai-analysis-overview.css (ai-analysis) */
:where(html[data-site-page="ai-analysis"]) .analysisOverviewBlock h3 {
  font-family: var(--font-sans);
  font-weight: 600;
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewList li {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewOperator {
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewOperator--arrow {
  font-size: 23px;
}
@media (min-width: 981px) {
  :where(html[data-site-page="ai-analysis"]) .analysisLoopNode h3 {
    text-wrap: balance;
  }

  :where(html[data-site-page="ai-analysis"]) .analysisLoopCore strong {
    font-size: clamp(28px, 2.4vw, 34px);
  }

  html:where([data-site-page="ai-analysis"])[lang="fi"] .analysisLoopCore strong {
    font-size: clamp(27px, 2.15vw, 30px);
  }
}
@media (max-width: 620px) {
  :where(html[data-site-page="ai-analysis"]) .analysisOverviewOperator {
    font-size: 21px;
  }
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewIntro,
:where(html[data-site-page="ai-analysis"]) .analysisLoopIntro {
  text-align: center;
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewIntro .sectionTitle,
:where(html[data-site-page="ai-analysis"]) .analysisLoopIntro .sectionTitle {
  text-wrap: balance;
}
:where(html[data-site-page="ai-analysis"]) .analysisOverviewIntro .sectionText {
  text-wrap: pretty;
}
:where(html[data-site-page="ai-analysis"]) .analysisLoopIntro .sectionText {
  text-wrap: pretty;
}
@media (min-width: 981px) {
  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
    .analysisMemoryPage
    .analysisHeroCopy {
    text-align: center;
  }

  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
    .analysisMemoryPage
    .analysisHero
    h1 {
    text-wrap: balance;
  }

  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
    .analysisMemoryPage
    .analysisHero
    .lead {
    text-wrap: pretty;
  }

  html:where([data-site-page="ai-analysis"])[data-page="ai-analysis"]
    .analysisMemoryPage
    .analysisHeroNote {
    text-align: center;
  }

  :where(html[data-site-page="ai-analysis"]) .analysisFinalCtaCopy {
    text-align: center;
  }
}
/* customers-page.css (customers) */
:where(html[data-site-page="customers"]) .customersHeroCopy h1 {
  font-family: var(--font-serif);
  font-size: clamp(48px, 6.4vw, 82px);
  font-weight: 400;
  line-height: 0.98;
}
:where(html[data-site-page="customers"]) .architectureSource span,
:where(html[data-site-page="customers"]) .architectureOutputs span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
:where(html[data-site-page="customers"]) .architectureSource strong,
:where(html[data-site-page="customers"]) .architectureOutputs strong {
  font-size: 15px;
}
:where(html[data-site-page="customers"]) .architectureCore {
  text-align: center;
}
:where(html[data-site-page="customers"]) .architectureCore span {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
:where(html[data-site-page="customers"]) .customerEditorialCopy p,
:where(html[data-site-page="customers"]) .customerFirstStatement > p {
  font-size: 18px;
  line-height: 1.75;
}
:where(html[data-site-page="customers"]) .customerPrinciples span,
:where(html[data-site-page="customers"]) .cooperationSteps span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
:where(html[data-site-page="customers"]) .customerPrinciples h3,
:where(html[data-site-page="customers"]) .cooperationSteps h3 {
  font-size: 20px;
}
:where(html[data-site-page="customers"]) .customerPrinciples p,
:where(html[data-site-page="customers"]) .cooperationSteps p {
  line-height: 1.6;
}
:where(html[data-site-page="customers"]) .industryOptions button {
  font: inherit;
  font-weight: 650;
  text-align: left;
}
:where(html[data-site-page="customers"]) .industryPanel h3 {
  font-family: var(--font-serif);
  font-size: clamp(32px, 3.7vw, 48px);
  font-weight: 400;
  line-height: 1.04;
}
:where(html[data-site-page="customers"]) .industryPanel > p {
  font-size: 18px;
  line-height: 1.65;
}
:where(html[data-site-page="customers"]) .industryPanel li {
  font-weight: 650;
  line-height: 1.42;
}
:where(html[data-site-page="customers"]) .customerCaseHeading > p {
  font-size: 18px;
  line-height: 1.7;
}
:where(html[data-site-page="customers"]) .customerCaseMetrics span,
:where(html[data-site-page="customers"]) .customerCaseNarrative article > span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
:where(html[data-site-page="customers"]) .customerCaseMetrics strong {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 400;
  line-height: 1.04;
}
:where(html[data-site-page="customers"]) .customerCaseMetrics p {
  line-height: 1.55;
}
:where(html[data-site-page="customers"]) .customerCaseNarrative h3 {
  font-size: 20px;
}
:where(html[data-site-page="customers"]) .customerCaseNarrative p {
  line-height: 1.65;
}
:where(html[data-site-page="customers"]) .customerCaseImageButton {
  font: inherit;
  font-weight: 700;
  text-align: left;
}
:where(html[data-site-page="customers"]) .serviceOrbitCore {
  text-align: center;
}
:where(html[data-site-page="customers"]) .serviceOrbitMarker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
:where(html[data-site-page="customers"]) .serviceOrbitItem > div > span,
:where(html[data-site-page="customers"]) .servicePromises span {
  font-size: 14px;
  line-height: 1.5;
}
:where(html[data-site-page="customers"]) .customerCtaBand h2 {
  font-family: var(--font-serif);
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 400;
  line-height: 1.02;
}
:where(html[data-site-page="customers"]) .customerCtaBand p {
  line-height: 1.7;
}
:where(html[data-site-page="customers"]) .customersHeroCompact .customersHeroCopy {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customersHeroCompact .customersHeroCopy h1 {
  text-wrap: balance;
}
:where(html[data-site-page="customers"]) .industriesSection .sectionIntro,
:where(html[data-site-page="customers"]) .cooperationSection .sectionIntro {
  text-align: center;
}
:where(html[data-site-page="customers"]) .industriesSection .sectionIntro .sectionTitle,
:where(html[data-site-page="customers"]) .cooperationSection .sectionIntro .sectionTitle {
  text-wrap: balance;
}
:where(html[data-site-page="customers"]) .customerCaseHeading {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customerCaseHeading .sectionTitle {
  text-wrap: balance;
}
:where(html[data-site-page="customers"]) .customerCtaBand {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customerCtaBand h2 {
  text-wrap: balance;
}
@media (min-width: 981px) {
  :where(html[data-site-page="customers"]) .customerFirstStatement .sectionTitle {
    text-wrap: balance;
  }
}
/* site-header.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.navLink {
  font-size: 17px;
  font-weight: 600;
}
.languageSwitch {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .mobileHeaderCta {
    font-size: 13px;
  }
}
@media (max-width: 620px) {
  .navLink {
    font-size: 14px;
  }
}
/* site-footer.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.footer {
  font-weight: 400;
  font-size: 14px;
}
.footerMeta strong {
  font-weight: 400;
}
.footerTagline {
  font-size: clamp(18px, 1.8vw, 23px);
  line-height: 1.55;
}
.footerCompanyDetails strong {
  font-size: 16px;
}
.footerCompanyDetails span {
  line-height: 1.55;
}
.footerNavTitle {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.footerNavColumn a {
  font-size: 15px;
  line-height: 1.4;
}
.footerNavColumn a[href*="linkedin.com"] {
  font-size: 0;
  line-height: 0;
}
.footerBottom {
  font-size: 13px;
}
/* consent.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.capilyst-consent-title {
  font-size: clamp(1.28rem, 3.2vw, 1.62rem);
  line-height: 1.15;
}
.capilyst-consent-body {
  font-size: 1rem;
  line-height: 1.6;
}
.capilyst-consent-button {
  font: inherit;
  font-weight: 600;
  line-height: 1.2;
}
.capilyst-consent-close {
  font-size: 24px;
  line-height: 1;
}
.capilyst-cookie-settings-button {
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
}
/* redesign-product-menu.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.productMenuToggle {
  font: 600 17px/1 var(--font-sans);
}
.productMenuLink strong {
  font-size: 15px;
}
.productMenuLink span {
  font-size: 13px;
  line-height: 1.35;
}
@media (max-width: 620px) {
  .productMenuToggle {
    font-size: 14px;
  }
}
/* product-menu.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.productMenuLink .productMenuCopy::after {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.productMenuCopy strong {
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
}
.productMenuCopy > span {
  font-size: 13px;
  line-height: 1.4;
}
/* brand-theme.css (about, privacy, customers, planning, reporting, workflow, ai-analysis) */
.main:not(.homeMain) h1 {
  font-size: var(--type-display) !important;
  line-height: var(--line-display) !important;
}
.main:not(.homeMain) .sectionTitle {
  font-size: var(--type-section-title) !important;
  line-height: var(--line-section-title) !important;
}
.main:not(.homeMain) h3 {
  font-size: var(--type-component-title);
  line-height: 1.25;
}
.main:not(.homeMain) .lead {
  font-size: var(--type-lead) !important;
  line-height: var(--line-lead) !important;
}
.main:not(.homeMain) .sectionText,
.main:not(.homeMain) .ctaText {
  font-size: var(--type-body);
  line-height: var(--line-body);
}
.main:not(.homeMain) .sectionKicker {
  font-size: var(--type-meta);
}
.aboutMain h1 {
  font-size: var(--type-page-title) !important;
  line-height: 1.02 !important;
}
/* customers-industries-polish.css (customers) */
:where(html[data-site-page="customers"]) .customersPage .customerCaseMetrics article {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customersPage .customerCaseMetrics span {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customersPage .customerCaseMetrics strong {
  font-size: clamp(28px, 2.7vw, 40px);
  text-align: center;
  text-wrap: balance;
}
:where(html[data-site-page="customers"]) .customersPage .customerCaseMetrics p {
  text-align: center;
}
:where(html[data-site-page="customers"]) .customersPage .customerCaseNarrative h3 {
  font-size: 19px;
  line-height: 1.35;
}
:where(html[data-site-page="customers"]) .customersPage .customerCaseNarrative p {
  font-size: 15px;
  line-height: 1.62;
}
:where(html[data-site-page="customers"]) .customersPage .cooperationSteps span {
  font-size: 11px;
  letter-spacing: 0.08em;
}
:where(html[data-site-page="customers"]) .customersPage .cooperationSteps h3 {
  font-size: 20px;
}
:where(html[data-site-page="customers"]) .customersPage .cooperationSteps p {
  font-size: 15px;
  line-height: 1.62;
}
@media (min-width: 981px) {
  :where(html[data-site-page="customers"]) .customersPage .industryPanel > p {
    font-size: 17px;
    line-height: 1.55;
  }
}
/* home-case-teaser.css (home) */
:where(html[data-site-page="home"]) .homeMain .homeCaseTeaser {
  text-decoration: none;
}
:where(html[data-site-page="home"]) .homeMain .homeCaseTeaserCopy {
  text-align: left;
}
:where(html[data-site-page="home"]) .homeMain .homeCaseTeaserCopy > h2 {
  font-family: var(--font-serif);
  font-size: var(--type-section-title);
  font-weight: 400;
  line-height: var(--line-section-title);
  letter-spacing: -0.026em;
  text-wrap: balance;
}
:where(html[data-site-page="home"]) .homeMain .homeCaseTeaserSummary {
  font-size: var(--type-lead);
  font-weight: 500;
  line-height: var(--line-body);
  text-wrap: pretty;
}
:where(html[data-site-page="home"]) .homeMain .homeCaseTeaserCopy .homeCaseTeaserLink {
  font-size: var(--type-body);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: normal;
}
@media (max-width: 980px) {
  :where(html[data-site-page="home"]) .homeMain .homeCaseTeaserCopy {
    text-align: center;
  }
}
@media (max-width: 720px) {
  :where(html[data-site-page="home"]) .homeMain .homeCaseTeaserCopy > h2 {
    overflow-wrap: break-word;
  }

  :where(html[data-site-page="home"]) .homeMain .homeCaseTeaserSummary {
    font-size: 16px;
  }
}
@media (max-width: 720px) and (orientation: portrait) {
  :where(html[data-site-page="home"]) .homeMain .hero h1 {
    font-size: clamp(38px, 10vw, 44px);
    line-height: 1.02;
    letter-spacing: -0.035em;
  }

  html:where([data-site-page="home"])[lang="fi"] .homeMain .hero h1 {
    font-size: clamp(38px, 9.6vw, 42px);
  }
}
/* ai-analysis-variance.css (ai-analysis) */
:where(html[data-site-page="ai-analysis"]) .varianceExample h3 {
  font-family: var(--font-serif);
  font-size: clamp(25px, 2.8vw, 36px);
  font-weight: 400;
}
:where(html[data-site-page="ai-analysis"]) .varianceAmount {
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 700;
}
:where(html[data-site-page="ai-analysis"]) .varianceAmount span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
:where(html[data-site-page="ai-analysis"]) .drillPath li {
  font-weight: 600;
}
:where(html[data-site-page="ai-analysis"]) .drillPath li::before {
  font-size: 11px;
  font-weight: 700;
}
/* ai-analysis-mobile-portrait.css (ai-analysis) */
@media (max-width: 720px) and (orientation: portrait) {
  html:where([data-site-page="ai-analysis"])[lang="fi"] .analysisLoopCore {
    text-align: center;
  }

  html:where([data-site-page="ai-analysis"])[lang="fi"] .analysisLoopCore strong {
    text-align: center;
  }
}
/* mobile-navigation.css (home, about, privacy, customers, planning, reporting, workflow, ai-analysis) */
@media (max-width: 720px) and (orientation: portrait) {
  .mobileNavLanguage {
    white-space: nowrap;
  }

  .mobileNavLanguage .languageSwitchLink {
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
  }

  .mobileNavDemo {
    font-size: 13px;
    white-space: nowrap;
  }

  .mobileNavLabel {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .mobileProductLinks .productMenuCopy strong,
  .mobileCompanyCopy strong {
    font-size: 14px;
    line-height: 1.25;
  }

  .mobileProductLinks .productMenuCopy > span,
  .mobileCompanyCopy > span {
    font-size: 12px;
    line-height: 1.4;
  }

  .mobileNavActions .button {
    font-size: 14px;
  }

  .customersPage .customerFirstStatement > p {
    line-height: 1.6;
  }

  .customersPage .cooperationSteps h3 {
    font-size: 19px;
  }

  .customersPage .cooperationSteps p {
    line-height: 1.5;
  }
}
@media (max-width: 380px) and (orientation: portrait) {
  .mobileNavLanguage .languageSwitchLink {
    font-size: 9px;
  }

  .mobileNavDemo {
    font-size: 11px;
  }
}
/* home-case-image-modal.css (home) */
:where(html[data-site-page="home"]) .homeCaseImageButton {
  text-align: inherit;
}

/* Homepage hero. */
:where(html[data-site-page="home"]) .homeMain .hero h1 {
  text-shadow: 0 2px 20px color-mix(in srgb, var(--green-700) 32%, transparent);
}

:where(html[data-site-page="home"]) .visualPlaceholder {
  font-size: var(--type-small);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

:where(html[data-site-page="home"]) .homeFeatureCopy .sectionText {
  font-size: var(--type-lead);
  font-weight: 500;
  line-height: var(--line-lead);
}

:where(html[data-site-page="home"]) .homeFeatureLink {
  font-size: var(--type-body);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 4px;
}

:where(html[data-site-page="home"]) .homeAnalysisLayout > .sectionTitle {
  text-align: center;
  text-wrap: balance;
}

:where(html[data-site-page="home"]) .homeAnalysisSteps {
  list-style: none;
}

:where(html[data-site-page="home"]) .homeAnalysisStep h3 {
  font-size: clamp(18px, 1.5vw, 21px);
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-align: center;
}

:where(html[data-site-page="home"]) .homeAnalysisStep p {
  font-size: var(--type-small);
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

:where(html[data-site-page="home"]) .homeAnalysisCta {
  font-size: var(--type-body);
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width: 900px) {
  :where(html[data-site-page="home"]) .homeAnalysisStep h3,
  :where(html[data-site-page="home"]) .homeAnalysisStep p {
    text-align: left;
  }
}

:where(html[data-site-page="home"]) .homeCycleIntro {
  text-align: center;
}

:where(html[data-site-page="home"]) .homeCycleIcon .material-symbols-outlined {
  display: inline-block;
  font-family: "Material Symbols Outlined";
  font-size: 38px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  text-transform: none;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

:where(html[data-site-page="home"]) .homeCycleNumber {
  font-size: var(--type-component-title);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}

:where(html[data-site-page="home"]) .homeCycleStep h3 {
  font-size: var(--type-component-title);
  font-weight: 600;
  line-height: 1.2;
}

:where(html[data-site-page="home"]) .homeCycleStep p {
  font-size: var(--type-body);
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 840px) {
  :where(html[data-site-page="home"]) .homeCycleIcon .material-symbols-outlined {
    font-size: 30px;
  }
}

@media (max-width: 440px) {
  :where(html[data-site-page="home"]) .homeCycleIcon .material-symbols-outlined {
    font-size: 28px;
  }
}

/* Dedicated contact page. */
:where(html[data-site-page="contact"]) .contactIntro {
  text-align: left;
}

:where(html[data-site-page="contact"]) .contactIntro > p {
  font-size: var(--type-lead);
  font-weight: 500;
  line-height: var(--line-lead);
}

:where(html[data-site-page="contact"]) .contactPersonDetails h2 {
  font-size: clamp(20px, 1.7vw, 22px);
  font-weight: 700;
  line-height: 1.35;
}

:where(html[data-site-page="contact"]) .contactPersonDetails p,
:where(html[data-site-page="contact"]) .contactPersonDetails a {
  font-size: clamp(17px, 1.25vw, 18px);
  line-height: 1.5;
}

:where(html[data-site-page="contact"]) .contactPersonDetails a {
  text-decoration: none;
  text-underline-offset: 3px;
}

:where(html[data-site-page="contact"]) .contactPersonDetails a:hover {
  text-decoration: underline;
}

:where(html[data-site-page="contact"]) .contactFormTitle {
  font-family: var(--font-serif);
  font-size: clamp(24px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

:where(html[data-site-page="contact"]) .contactField label,
:where(html[data-site-page="contact"]) .contactField > span {
  font-size: var(--type-small);
  font-weight: 600;
  line-height: 1.35;
}

:where(html[data-site-page="contact"]) .contactField input,
:where(html[data-site-page="contact"]) .contactField textarea,
:where(html[data-site-page="contact"]) .contactSubmit {
  font: inherit;
  font-size: var(--type-body);
}

:where(html[data-site-page="contact"]) .contactSubmit {
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 720px) {
  :where(html[data-site-page="home"]) .homeFeatureCopy .sectionText,
  :where(html[data-site-page="contact"]) .contactIntro > p {
    font-size: 17px;
  }
}
