body { font-family: var(--font-sans); background: var(--paper-10); color: var(--ink-900); }

    
    .cs-hero { max-width: var(--site-max); margin: 0 auto; padding: 140px 0 80px; padding-left: 48px; padding-right: 48px; }
    @media (max-width: 880px) { .cs-hero { padding-left: 24px; padding-right: 24px; padding-top: 96px; padding-bottom: 56px; } }
    .cs-hero__head { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; margin-bottom: 64px; }
    @media (max-width: 980px) { .cs-hero__head { grid-template-columns: 1fr; gap: 32px; align-items: start; } }
    .cs-hero__crumb {
      display: flex; flex-direction: column; gap: 8px;
      font-family: var(--font-mono); font-size: 11px;
      letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 600;
    }
    .cs-hero__crumb strong { color: var(--ink-900); font-weight: 700; }
    .cs-hero__crumb .sub {
      text-transform: none; letter-spacing: 0; font-size: 14px;
      color: var(--ink-500); font-family: var(--font-sans); font-weight: 400;
    }
    .cs-hero__h {
      font-family: var(--font-sans);
      font-size: clamp(40px, 4.6vw, 60px); font-weight: 600;
      letter-spacing: -0.022em; line-height: 1.06; color: var(--ink-900);
      margin: 0; max-width: 20ch;
    }
    .cs-hero__h em { font-family: var(--font-sans); font-weight: 300; font-style: normal; letter-spacing: -0.06em; font-weight: 400; color: var(--accent-500); }
    .cs-hero__cta-wrap { margin-top: 32px; }
    .cs-hero__cta {
      display: inline-flex; align-items: center; gap: 12px;
      padding: 14px 8px 14px 24px; border: 1px solid var(--ink-300);
      border-radius: 9999px; font-family: var(--font-sans); font-weight: 500;
      font-size: 15px; color: var(--ink-900); text-decoration: none;
      transition: background .2s var(--motion-ease-out), color .2s var(--motion-ease-out), border-color .2s var(--motion-ease-out), transform .2s var(--motion-ease-out);
    }
    .cs-hero__cta:hover { background: var(--ink-900); color: var(--paper-10); border-color: var(--ink-900); transform: translateY(-1px); }
    .cs-hero__cta .arr {
      display: inline-flex; align-items: center; justify-content: center;
      width: 32px; height: 32px; border-radius: 50%;
      background: var(--accent-500); color: var(--ink-900);
      transition: background .2s var(--motion-ease-out);
    }
    .cs-hero__cta:hover .arr { background: var(--paper-10); }
    .cs-hero__photo {
      position: relative; aspect-ratio: 16/9; border-radius: 6px; overflow: hidden;
      background: var(--paper-30); transition: opacity 0.3s var(--motion-ease-out);
    }
    .cs-hero__photo video, .cs-hero__photo img {
      position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    }
    .cs-hero__photo-cap {
      position: absolute; left: 24px; bottom: 20px; z-index: 2;
      font-family: var(--font-mono); font-size: 10.5px;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: rgba(255,255,255,.85); font-weight: 600;
    }
    .cs-hero__stats { margin-top: 64px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--ink-200); }
    @media (max-width: 880px) { .cs-hero__stats { grid-template-columns: 1fr 1fr; gap: 32px; } }
    .cs-hero__stat-lbl {
      font-family: var(--font-mono); font-size: 11px;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--ink-500); font-weight: 600; padding-top: 8px;
    }
    .cs-hero__stat .num {
      font-family: var(--font-sans); font-weight: 800; font-style: normal; letter-spacing: -0.06em; 
      font-size: clamp(32px, 4vw, 56px); line-height: 1; color: var(--ink-900); letter-spacing: -0.02em;
    }
    .cs-hero__stat .num em { color: var(--ink-900); font-style: normal; font-weight: 800; letter-spacing: -0.02em; }
    .cs-hero__stat .lbl { margin-top: 16px; font-size: 14px; line-height: 1.5; color: var(--ink-700); max-width: 24ch; }

    
    .fp-section { padding: 96px 0; }
    @media (max-width: 880px) { .fp-section { padding: 64px 0; } }
    .fp-container { max-width: var(--site-max); margin: 0 auto; padding: 0 48px; }
    @media (max-width: 880px) { .fp-container { padding: 0 24px; } }

    
    .fp-head-3 { display: grid; grid-template-columns: 180px 1fr; gap: 48px; align-items: start; padding-top: 24px; border-top: 1px solid var(--ink-200); margin-bottom: 56px; }
    @media (max-width: 880px) { .fp-head-3 { grid-template-columns: 1fr; gap: 16px; } }
    .fp-marker {
      font-family: var(--font-mono); font-size: 11px;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--ink-500); font-weight: 600; padding-top: 8px;
    }
    .fp-h2 {
      font-family: var(--font-sans); font-size: clamp(28px, 3vw, 36px); font-weight: 600;
      letter-spacing: -0.018em; line-height: 1.15;
      margin: 0 0 24px 0; color: var(--ink-900); max-width: 22ch;
    }
    .fp-h2 em { font-family: var(--font-sans); font-weight: 300; font-style: normal; letter-spacing: -0.06em; font-weight: 400; color: var(--accent-500); }
    .fp-body { max-width: 60ch; }
    .fp-body p {
      font-family: var(--font-sans); font-size: 15px; line-height: 1.6;
      color: var(--ink-700); margin: 0 0 16px 0;
    }
    .fp-body p:last-child { margin-bottom: 0; }

    
    .fp-stairs { display: flex; flex-direction: column; gap: 96px; max-width: var(--site-max); margin: 0 auto; }
    @media (max-width: 980px) { .fp-stairs { gap: 56px; } }
    .fp-stair {
      display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: center;
    }
    @media (max-width: 980px) { .fp-stair { grid-template-columns: 1fr; gap: 32px; } }
    .fp-stair:nth-child(even) { direction: rtl; }
    .fp-stair:nth-child(even) > * { direction: ltr; }
    .fp-stair__num {
      font-family: var(--font-mono); font-size: 11px;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--ink-500); font-weight: 600;
    }
    .fp-stair__h {
      font-family: var(--font-sans); font-size: clamp(22px, 2.4vw, 28px); font-weight: 600;
      letter-spacing: -0.015em; line-height: 1.15; color: var(--ink-900); margin: 14px 0 0; max-width: 22ch;
    }
    .fp-stair__h em { font-family: var(--font-sans); font-weight: 300; font-style: normal; letter-spacing: -0.06em; font-weight: 400; color: var(--accent-500); }
    .fp-stair__p { margin: 14px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-700); max-width: 42ch; }
    .fp-stair__visual {
      background: var(--paper-20); border-radius: 24px;
      min-height: 380px; padding: 40px;
      display: flex; align-items: center; justify-content: center; overflow: hidden;
    }
    .fp-stair-mockup {
      background: var(--paper-00); border-radius: 14px;
      box-shadow: 0 24px 56px -16px rgba(10,10,11,0.16), 0 8px 20px rgba(10,10,11,0.06);
      padding: 22px 24px; width: 86%; max-width: 340px;
    }

    
    .fp-quote { max-width: var(--site-max); margin: 0 auto; padding: 48px 0; border-top: 1px solid var(--ink-200); border-bottom: 1px solid var(--ink-200); }
    .fp-quote blockquote {
      font-family: var(--font-sans); font-weight: 300; font-style: normal; letter-spacing: -0.06em;
      font-size: clamp(24px, 2.6vw, 32px); line-height: 1.3; letter-spacing: -0.01em;
      color: var(--ink-900); margin: 0; max-width: 30ch;
    }
    .fp-quote cite {
      display: block; margin-top: 24px; font-style: normal; font-family: var(--font-sans);
      font-size: 14px; color: var(--ink-700); font-weight: 500;
    }
    .fp-quote cite span { color: var(--ink-500); display: block; font-weight: 400; }

    
    .fp-faq { }
    .fp-faq details { border-top: 1px solid var(--ink-200); padding: 24px 0; }
    .fp-faq details:last-child { border-bottom: 1px solid var(--ink-200); }
    .fp-faq summary {
      font-family: var(--font-sans); font-size: 17px; font-weight: 600;
      color: var(--ink-900); cursor: pointer; list-style: none;
      display: flex; justify-content: space-between; align-items: start; gap: 24px;
    }
    .fp-faq summary::-webkit-details-marker { display: none; }
    .fp-faq summary::after {
      content: '+'; font-size: 24px; color: var(--ink-500); flex-shrink: 0;
      transition: transform 0.2s var(--motion-ease-out);
    }
    .fp-faq details[open] summary::after { content: '−'; }
    .fp-faq .details-body { margin-top: 16px; max-width: 60ch; }
    .fp-faq .details-body p {
      font-family: var(--font-sans); font-size: 15px; line-height: 1.6;
      color: var(--ink-700); margin: 0;
    }
    details.group { interpolate-size: allow-keywords; }
    details.group::details-content {
      opacity: 0; block-size: 0; overflow: clip;
      transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1),
                  block-size 0.3s cubic-bezier(0.23, 1, 0.32, 1),
                  content-visibility 0.3s allow-discrete;
      transition-behavior: allow-discrete;
    }
    details.group[open]::details-content { opacity: 1; block-size: auto; }

    
    .fp-legora-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
    @media (max-width: 880px) { .fp-legora-grid { grid-template-columns: 1fr; } }
    .fp-legora-card {
      display: flex; flex-direction: column; text-decoration: none;
      transition: transform .25s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .fp-legora-card:hover { transform: translateY(-2px); }
    .fp-legora-card__visual {
      aspect-ratio: 1/1; background: var(--paper-20); border-radius: 18px;
      overflow: hidden; position: relative; margin-bottom: 24px;
      transition: box-shadow .25s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .fp-legora-card__visual video, .fp-legora-card__visual img {
      position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
    }
    .fp-legora-card:hover .fp-legora-card__visual { box-shadow: 0 16px 40px -12px rgba(10,10,11,0.18); }
    .fp-legora-card__title {
      font-family: var(--font-sans); font-size: 18px; font-weight: 600;
      line-height: 1.3; color: var(--ink-900); margin: 0 0 12px 0;
    }
    .fp-legora-card__body {
      font-family: var(--font-sans); font-size: 14px; line-height: 1.55;
      color: var(--ink-500); margin: 0;
    }

    
    .fade-in-up {
      opacity: 0; transform: translateY(12px); filter: blur(4px);
      transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1),
                  transform 0.4s cubic-bezier(0.23, 1, 0.32, 1),
                  filter 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .fade-in-up.visible { opacity: 1; transform: translateY(0); filter: blur(0); }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
      .fade-in-up { opacity: 1; transform: none; filter: none; }
      video[autoplay] { display: none !important; }
    }
