    html {
      scroll-behavior: smooth;
    }
    html, body {
      background: transparent !important;
      background-attachment: scroll !important;
    }
    body, .wrapper {
      background: transparent !important;
    }
    .fp-page {
      position: relative;
      background: #fff;
      overflow-x: clip;
    }
    .fp-top {
      --fp-hero-bg: linear-gradient(160deg, #ffffff 0%, #f2f3f7 100%);
      position: relative;
      background: var(--fp-hero-bg);
      overflow: hidden;
    }
    .fp-page .tariffs__container {
      max-width: 1200px;
      padding-left: 20px;
      padding-right: 20px;
      padding-bottom: 0;
      overflow: visible;
    }
    .fp-header .header__container {
      max-width: none;
      padding: 0 80px;
    }

    .header.fp-header {
      position: relative;
      width: auto;
      z-index: 80;
      background: transparent;
      border-bottom: 0;
      box-shadow: none;
      padding: 12px 0 22px;
    }
    .header.fp-header._header-scroll {
      top: auto;
      background: transparent;
      box-shadow: none;
      border-radius: 0;
      padding: 12px 0 22px;
    }
    .fp-header__row {
      display: flex;
      align-items: center;
      gap: 14px;
      justify-content: space-between;
    }
    .fp-header__left {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
    }
    .fp-header__center {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      flex: 1;
      min-width: 0;
    }
    .fp-header__logo {
      display: inline-flex;
      width: 42px;
      height: 50px;
      flex: 0 0 42px;
      align-items: center;
      justify-content: center;
      color: #0027F3;
    }
    .fp-header__logo svg {
      width: 42px;
      height: 50px;
      display: block;
    }
    .fp-header__nav {
      display: flex;
      align-items: center;
      gap: 26px;
      flex-wrap: wrap;
    }
    .fp-header__link {
      display: inline-flex;
      align-items: center;
      color: #2152f1;
      text-decoration: none;
      font-size: 1rem;
      line-height: 1;
      font-weight: 600;
      padding: 4px 4px;
    }
    .fp-header__right {
      display: flex;
      align-items: center;
      gap: 20px;
      flex: 0 0 auto;
    }
    .fp-header__lang {
      margin-right: 6px;
      position: relative;
      display: inline-flex;
      align-items: center;
      cursor: pointer;
    }
    .fp-header__lang-btn {
      font-weight: 800;
      color: #05004E;
      border: 1px solid rgba(5,0,78,.2);
      border-radius: 14px;
      padding: 6px 28px 6px 12px;
      line-height: 1;
      background: transparent;
      cursor: pointer;
      letter-spacing: .02em;
      position: relative;
      font-size: 14px;
    }
    .fp-header__lang-btn::after {
      content: "";
      position: absolute;
      right: 10px;
      top: 50%;
      width: 7px;
      height: 7px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateY(-60%) rotate(45deg);
      transition: transform .2s ease;
      opacity: .9;
    }
    .fp-header__lang.is-open .fp-header__lang-btn::after {
      transform: translateY(-40%) rotate(-135deg);
    }
    .fp-header__lang::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 10px;
    }
    .fp-header__lang-menu {
      position: absolute;
      right: 0;
      top: calc(100% + 2px);
      display: none;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 12px 26px rgba(0,0,0,.20);
      overflow: hidden;
      z-index: 20;
      min-width: 80px;
    }
    .fp-header__lang.is-open .fp-header__lang-menu { display: block; }
    .fp-header__lang-menu a {
      display: block;
      padding: 10px 20px;
      color: #05004E;
      text-decoration: none;
      font-size: .9rem;
      font-weight: 600;
      text-align: right;
    }
    .fp-header__lang-menu a:hover { background: #EEF0FF; }
    .fp-header__login {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.23;
      color: #05004E;
      text-decoration: none;
      transition: color 0.3s ease;
    }
    .fp-header__login svg {
      width: 12px;
      height: 12px;
    }
    .fp-header__login:hover { color: #0027F3; }
    .fp-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      border-radius: 999px;
      height: 42px;
      padding: 0 18px;
      font-size: 16px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: -.02em;
      transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
      white-space: nowrap;
    }
    .fp-pill:hover { transform: translateY(-1px); }
    .fp-pill--yellow {
      background: #ffd100;
      color: #111;
      box-shadow: 0 4px 10px rgba(255, 193, 7, .32);
    }
    .fp-pill--outline {
      border: 2px solid #2152f1;
      color: #2152f1;
      background: #fff;
    }
    .fp-pill__icon {
      display: inline-flex;
      margin-right: 7px;
    }
    .fp-pill__icon svg { width: 16px; height: 16px; }

    .fp-main { padding: 0 0 70px; }
    .fp-block { margin-top: 34px; }
    .fp-title {
      margin: 0 0 14px;
      text-align: center;
      color: #121212;
      font-weight: 800;
      font-size: 28px;
      line-height: 1.08;
      letter-spacing: -.02em;
    }
    .fp-subtitle {
      margin: 0 0 14px;
      text-align: center;
      color: #121212;
      font-weight: 700;
      font-size: 30px;
      line-height: 1.02;
      letter-spacing: -.03em;
      text-transform: uppercase;
    }

    .fp-card {
      border-radius: 14px;
      background: #fff;
      border: 1px solid #e9e9e9;
      overflow: hidden;
      box-shadow: 0 6px 16px rgba(0,0,0,.06);
    }
    .fp-card img { display: block; width: 100%; height: auto; }

    .fp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .fp-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .fp-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 10px; }

    /* === Shared Utilities === */
    .fp-section { margin-top: 120px; }
    .fp-rows { display: grid; gap: 18px; }
    .fp-row  { display: grid; gap: 18px; }
    .fp-row--40-60 { grid-template-columns: .40fr .60fr; }
    .fp-row--41-59 { grid-template-columns: .41fr .59fr; }
    .fp-row--42-58 { grid-template-columns: .42fr .58fr; }
    .fp-row--58-42 { grid-template-columns: .58fr .42fr; }
    .fp-row--45-55 { grid-template-columns: .53fr .47fr; }
    .fp-row--60-40 { grid-template-columns: .60fr .40fr; }
    .fp-row--50    { grid-template-columns: 1fr 1fr; }
    .fp-visual {
      position: absolute;
      left: 0; right: 0; bottom: 0;
      min-height: 215px;
      background: linear-gradient(180deg, rgba(229,238,253,0) 0%, #bfd5fb 100%);
      pointer-events: none;
    }
    .fp-visual img {
      display: block; width: 96%; margin: 22px auto 0;
      border-radius: 20px 20px 0 0; height: auto;
    }
    .fp-scard { position: relative; overflow: hidden; }
    .fp-crm-card.fp-copy-card {
      background: transparent; border-radius: 0;
      min-height: auto; padding: 0;
      box-shadow: none; border: 0;
      overflow: visible;
    }

    .fp-hero {
      background: transparent;
      margin-top: 0;
      padding-top: 8px;
      padding-bottom: 60px;
      position: relative;
      overflow: hidden; /* keep hero visuals inside the block */
    }
    .fp-hero::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100px;
      background: linear-gradient(180deg, rgba(242,243,247,0) 0%, rgba(242,243,247,.48) 50%, #f2f3f7 100%);
      pointer-events: none;
      z-index: 2;
    }
    .fp-hero-wrap {
      position: relative;
      z-index: 1;
      background: transparent;
      border-radius: 0;
      border: 0;
      box-shadow: none;
      overflow: visible;
    }
    .fp-hero-top {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 18px;
      align-items: flex-start;
    }
    .fp-breadcrumbs {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 70px;
      color: #94a0c7;
      font-size: 12px;
      font-weight: 600;
    }
    .fp-breadcrumbs a { color: inherit; text-decoration: none; }
    .fp-breadcrumbs .active {
      color: #2d59f5;
      border: 1px solid #2d59f5;
      border-radius: 999px;
      padding: 6px 12px;
      font-size: 11px;
    }
    .fp-hero-title {
      margin: 0 0 14px;
      color: #1b2b67;
      font-weight: 700;
      font-size: 54px;
      line-height: 1;
      letter-spacing: -.02em;
      text-transform: none;
      white-space: nowrap;
    }
    .fp-hero-text {
      margin: 0 0 14px;
      color: #2d3252;
      font-size: 18px;
      line-height: 1.5;
      max-width: 620px;
    }
    .fp-hero-text b { font-weight: 800; }
    .fp-hero-visual {
      position: relative;
      height: 520px;
      min-height: 520px;
      overflow: visible;
    }
    .fp-fan {
      position: absolute;
      right: calc(20px - (50vw - 550px));
      bottom: 0;
      width: 850px;
      max-width: none;
      z-index: 2;
      pointer-events: none;
    }
    .fp-fan img {
      display: block;
      width: 100%;
      height: auto;
    }

    .fp-chip-cloud {
      position: absolute;
      top: 350px;
      left: -350px;
      z-index: 1; /* chips slide under the hero cards */
      width: min(100vw, calc(50vw + 600px));
      padding: 14px 0 8px;
      background: transparent;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .fp-chip {
      display: inline-flex;
      align-items: center;
      height: 40px;
      border-radius: 999px;
      padding: 0 16px;
      font-size: 19px;
      font-weight: 700;
      color: #fff;
      white-space: nowrap;
    }
    .c1{background:#5A60EA}.c2{background:#6AB1F2}.c3{background:#4DD1C2}.c4{background:#83D95D}.c5{background:#48D4BE}
    .c6{background:#F5CE63}.c7{background:#E9B8A6}.c8{background:#8F9DEB}.c9{background:#A7B6F6}.c10{background:#D5DCE8;color:#4c5a7f}
    .c11{background:#D6F0BE;color:#5f7e3d}.c12{background:#CCD4F0;color:#4f5d92}.c13{background:#E3DDE4;color:#756473}.c14{background:#E7EFEA;color:#5f7d6a}

    .fp-select {
      margin-top: 28px;
    }
    .fp-select__wrap{
      background:#fff;
      border:0;
      margin-top:100px;
      border-radius:0;
      padding:0;
      box-shadow:none;
    }
    .fp-select__grid {
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 14px;
      align-items: stretch;
    }
    .fp-select__left {
      background: #f5f6fa;
      border: 0;
      border-radius: 14px;
      padding: 40px 30px 40px 50px;
    }
    .fp-select__title {
      margin: 0 0 25px;
      color: #171d2c;
      font-size: 60px;
      line-height: .93;
      font-weight: 700;
      text-transform: none;
    }
    .fp-select__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 36px;
    }
    .fp-select__chip {
      display: inline-flex;
      align-items: center;
      border-radius: 10px;
      padding: 10px 14px;
      background: #fff;
      border: 1px solid #edf0f8;
      color: #272d3f;
      font-size: 13px;
      line-height: 1;
      font-weight: 600;
      white-space: nowrap;
      text-decoration: none;
      cursor: pointer;
      transition: background .2s, color .2s, border-color .2s;
    }
    a.fp-select__chip:hover {
      background: #edf0f8;
    }
    .fp-select__chip.is-active {
      background: #3c58f3;
      color: #fff;
      border-color: #3c58f3;
    }
    .fp-select__chip.is-add {
      background: #85d428;
      color: #fff;
      border-color: #85d428;
    }
    .fp-select__note {
      margin: 0;
      color: #7b8192;
      font-size: 13px;
      line-height: 1.5;
    }
    .fp-select__right {
      display: grid;
      gap: 10px;
      align-content: start;
    }
    .fp-select__item {
      display: grid;
      grid-template-columns: 30px 1fr;
      gap: 10px;
      align-items: center;
      background: #fff;
      border: 1px solid #b8cef8;
      border-radius: 15px;
      min-height: 62px;
      padding: 8px 14px 8px 10px;
      box-shadow: 0 4px 10px rgba(51,86,186,.05);
      color: #1f2637;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.2;
    }
    .fp-select__icon {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 13px;
      font-weight: 900;
    }
    .fp-select__icon svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: #fff;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .ic1{background:#35d5a5}.ic2{background:#f7c844}.ic3{background:#6270f5}.ic4{background:#fb8a5c}.ic5{background:#8ed43e}.ic6{background:#4c95e9}
    .fp-select__final {
      background: #fff;
      border: 1px solid #b8cef8;
      border-radius: 15px;
      padding: 12px 14px;
      display: flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0 4px 10px rgba(51,86,186,.05);
    }
    .fp-select__final strong {
      display: block;
      color: #171d2c;
      font-size: 16px;
      line-height: 1;
      font-weight: 700;
      text-transform: uppercase;
    }
    .fp-select__final span {
      display: block;
      color: #2d59f5;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
    }
    .fp-select__final-icons {
      display: flex;
    }
    .fp-select__final-icons .fp-select__icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .fp-select__final-icons .fp-select__icon svg {
      width: 20px;
      height: 20px;
      display: block;
    }
    .fp-select__final-icons .fp-select__icon + .fp-select__icon {
      margin-left: -8px;
    }

    /* fp-crm: uses .fp-section */
    .fp-crm {
      background: transparent;
      padding: 8px 0 0;
      border-radius: 0;
    }
    .fp-crm__title {
      margin: 0;
      text-align: center;
      color: #171d2c;
      font-size: 60px;
      line-height: .93;
      font-weight: 700;
      text-transform: none;
    }
    .fp-crm__subtitle {
      margin: 24px auto 58px;
      max-width: 650px;
      text-align: center;
      color: #6f7480;
      font-size: 18px;
      line-height: 1.45;
      font-weight: 500;
    }
    /* fp-crm rows: uses .fp-rows, .fp-row, .fp-row--41-59/--60-40 */
    .fp-crm .fp-row--bottom { position: relative; z-index: 3; }
    .fp-crm-card {
      background: #f5f6fa;
      border-radius: 14px;
      /* min-height: 370px; */
      padding: 38px 34px 0;
      position: relative;
      overflow: hidden;
    }
    .fp-crm-card h3 {
      margin: 0 0 16px;
      color: #20242d;
      font-size: 24px;
      line-height: 1.24;
      font-weight: 700;
      letter-spacing: -.02em;
    }
    .fp-crm-card p {
      margin: 0 0 22px;
      color: #5b6170;
      font-size: 16px;
      line-height: 24px;
      font-weight: 500;
    }
    .fp-crm-card--students {
      padding-bottom: 34px;
    }
    .fp-crm-card__link {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      color: #2457f3;
      text-decoration: none;
      font-size: 16px;
      line-height: 1.1;
      font-weight: 700;
    }
    .fp-crm-card__link svg {
      width: 26px;
      height: 26px;
      flex: 0 0 26px;
    }
    .fp-crm-card__visual {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(180deg, rgba(229,238,253,0) 0%, #bfd5fb 100%);
      min-height: 172px;
      pointer-events: none;
    }
    .fp-crm-card__visual img {
      display: block;
      width: 100%;
      border-radius: 20px 20px 0 0;
      height: auto;
    }
    .fp-crm-card--groups {
      display: flex;
      flex-direction: column;
      padding-bottom: 0;
      background: linear-gradient(180deg, #f5f6fa 50%, #bfd5fb 100%);
    }
    .fp-crm-card--groups p { max-width: 95%; }
    .fp-crm-card--groups .fp-crm-card__visual {
      position: static;
      margin-top: auto;
      background: none;
      min-height: 0;
    }
    .fp-crm-card--deploy {
      min-height: 380px;
      padding-left: 50%;
      padding-right: 30px;
      padding-bottom: 34px;
      overflow: visible;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
    }
    .fp-crm-card--deploy .fp-crm-card__side {
      position: absolute;
      left: -30px;
      bottom: 0;
      max-width: 340px;
      height: auto;
      z-index: 4;
    }
    .fp-crm-card--deploy p {
      margin-top: 0;
      margin-bottom: 16px;
      font-size: 16px;
      line-height: 24px;
    }
    .fp-crm-card--history {
      min-height: 500px;
      padding-bottom: 0;
    }

    /* fp-fin: uses .fp-section, .fp-rows, .fp-row, .fp-row--40-60/--60-40, .fp-scard */
    .fp-fin-card--payments,
    .fp-fin-card--analytics,
    .fp-fin-card--report {
      /* min-height: 430px; */
      padding-bottom: 24px;
    }
    .fp-fin-card--snapshot,
    .fp-fin-card--debt {
      /* min-height: 380px; */
      padding-bottom: 24px;
      
    }
    .fp-fin .fp-visual { min-height: 210px; }
    .fp-fin-card--snapshot .fp-visual { min-height: 260px; }
    .fp-fin-card--analytics .fp-visual,
    .fp-fin-card--report-chart .fp-visual { min-height: 255px; }
    .fp-fin-card--debt p:last-of-type,
    .fp-fin-card--report p:last-of-type { margin-bottom: 18px; }

    /* fp-schedule: uses .fp-section, .fp-rows, .fp-row, .fp-row--42-58/--60-40, .fp-scard */
    .fp-schedule-card--calendar,
    .fp-schedule-card--board { padding-bottom: 24px; }
    .fp-schedule-card--moves,
    .fp-schedule-card--visits { min-height:500px; padding-bottom: 24px; }
    .fp-schedule .fp-visual { min-height: auto; }
    .fp-schedule-card--board .fp-visual { min-height: 235px; }
    .fp-schedule-card--board .fp-visual img { width: 96%; }
    .fp-schedule-card--moves {
      overflow: visible;
      padding-left: 44%;
      padding-right: 26px;
    }
    .fp-schedule-card--moves .fp-schedule-card__side {
      position: absolute;
      left: -14px;
      bottom: 0;
      max-width: 300px;
      height: auto;
      z-index: 4;
    }
    
    
    .fp-schedule-card--moves p {
      max-width: 360px;
      margin-left: auto;
      margin-bottom: 16px;
    }
    
    

    /* fp-comms: uses .fp-section */
    .fp-comms__top {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      margin-top: 18px;
    }
    .fp-comms-card {
      position: relative;
      min-height: 300px;
      border-radius: 14px;
      overflow: hidden;
      background: #f5f6fa;
    }
    .fp-comms-card .fp-visual {
      position: absolute;
      top: 0; left: 0; right: 0; bottom: auto;
    }
    /* fp-comms uses .fp-visual */
    .fp-comms__copy {
      margin-top: 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    /* fp-comms__copy cards: use .fp-copy-card */
    .fp-comms__top--second { margin-top: 50px; }
    .fp-comms__copy--second { margin-top: 24px; }

    /* fp-lessons: uses .fp-section, .fp-rows, .fp-row, .fp-row--50, .fp-scard */
    .fp-lessons-card--changes,
    .fp-lessons-card--swap { min-height: 350px; padding-bottom: 24px; }
    .fp-lessons-card--homework { min-height: 550px; padding-bottom: 24px; }
    .fp-lessons .fp-visual { border-radius: 14px; }
    .fp-lessons-card--changes {
      padding-right: 44%;
      overflow: visible;
    }
    .fp-lessons-card--changes h3,
    .fp-lessons-card--changes p,
    .fp-lessons-card--changes .fp-crm-card__link {
      position: relative;
      z-index: 5;
    }
    .fp-lessons-card--changes .fp-lessons-card__person {
      position: absolute;
      right: 14px;
      bottom: 0;
      max-width: 43%;
      height: auto;
      z-index: 4;
    }
    .fp-lessons-card--changes .fp-visual img { width: 35%; margin-right: 14px; }
    .fp-lessons-card--swap {
      padding-right: 43%;
      overflow: visible;
    }
    .fp-lessons-card--swap .fp-lessons-card__person {
      position: absolute;
      right: -100px;
      bottom: 0;
      max-width: 80%;
      height: auto;
      z-index: 4;
    }
    .fp-lessons-card--swap .fp-visual img { width: 75%; margin-left: 14px; }
    .fp-lessons-card--homework {
      padding-left: 43%;
      overflow: visible;
    }
    .fp-lessons-card--homework .fp-lessons-card__person {
      position: absolute;
      left: -6px;
      bottom: 0;
      max-width: 39%;
      height: auto;
      z-index: 4;
    }
    .fp-lessons-card--homework .fp-visual { min-height: 230px; }
    .fp-lessons-card--homework .fp-visual img { width: 82%; }

    /* fp-auto: uses .fp-section */
    .fp-auto__top {
      margin-top: 18px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .fp-auto-card {
      position: relative;
      min-height: 350px;
      border-radius: 14px;
      background: #f5f6fa;
      overflow: hidden;
    }
    /* fp-auto uses .fp-visual */
    .fp-auto-card--person .fp-visual {
      min-height: 250px;
    }
    .fp-auto-card--person .fp-visual img {
      width: 75%;
      margin: 0 0 0 auto;
    }
    .fp-auto-card__analyze {
      display: block;
      width: 100%;
      border-radius: 0 0 14px 14px;
    }
    .fp-auto__copy {
      margin-top: 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    /* fp-auto__copy cards: use .fp-copy-card */

    /* fp-network: uses .fp-section, .fp-rows, .fp-row, .fp-row--40-60/--60-40, .fp-scard */
    .fp-network-card--control,
    .fp-network-card--kanban { min-height: 390px; padding-bottom: 24px; }
    .fp-network-card--reports { min-height: 285px; padding-bottom: 24px; }
    .fp-network-card--summary { min-height: 285px; padding-bottom: 24px; }
    /* fp-network uses .fp-visual */
    .fp-network-card--kanban .fp-visual { min-height: 250px; }
    .fp-network-card--reports {
      overflow: hidden;
      padding-left: 46%;
      padding-right: 26px;
      position: relative;
    }
    .fp-network-card--reports .fp-network-card__side {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 44%;
      height: 100%;
      object-fit: cover;
      object-position: left center;
      z-index: 1;
    }
    .fp-network-card--reports::after {
      content: '';
      position: absolute;
      left: 18%;
      top: 0;
      bottom: 0;
      width: 28%;
      background: linear-gradient(to right, transparent, #f5f6fa);
      z-index: 2;
      pointer-events: none;
    }
    .fp-network-card--reports h3,
    .fp-network-card--reports p,
    .fp-network-card--reports .fp-crm-card__link {
      position: relative;
      z-index: 3;
    }
    .fp-network-card--reports p {
      max-width: 380px;
      margin-left: auto;
      margin-bottom: 16px;
    }

    /* fp-process: uses .fp-section, .fp-rows, .fp-row, .fp-row--40-60/--60-40, .fp-scard */
    .fp-process-card--tasks,
    .fp-process-card--kanban { min-height: 370px; padding-bottom: 24px; }
    .fp-process-card--quality,
    .fp-process-card--roles { min-height: 265px; padding-bottom: 24px; }
    /* fp-process uses .fp-visual */
    .fp-process-card--kanban .fp-visual { min-height: 250px; top: auto; bottom: 0; z-index: 2; }
    .fp-process-card--kanban__img {
      position: absolute;
      top: 0; left: 0; right: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      z-index: 1;
    }
    .fp-process-card--quality {
      overflow: hidden;
      padding-left: 46%;
    }
    .fp-process-card--quality .fp-process-card__side {
      position: absolute;
      left: -20px;
      bottom: 0;
      max-width: 55%;
      height: auto;
      z-index: 1;
    }
    .fp-process-card--quality::after {
      content: '';
      position: absolute;
      left: 0; right: 0; top: 0; bottom: 0;
      background: linear-gradient(180deg, rgba(229,238,253,0.15) 0%, #bfd5fb 85%);
      z-index: 2;
      pointer-events: none;
    }
    .fp-process-card--quality h3,
    .fp-process-card--quality p,
    .fp-process-card--quality .fp-crm-card__link {
      position: relative;
      z-index: 3;
    }
    .fp-process-card--quality p {
      max-width: 100%;
      margin-bottom: 16px;
    }

    /* fp-roles: uses .fp-section, .fp-rows, .fp-row--50 */
    .fp-roles .fp-rows { margin-top: 18px; }
    .fp-roles-visual {
      position: relative;
      min-height: 410px;
      border-radius: 14px;
      overflow: hidden;
      background: #f5f6fa;
    }
    /* fp-roles uses .fp-visual */
    .fp-roles-visual--photo .fp-visual img {
      width: 76%;
      margin: 0 auto;
      border-radius: 0;
    }
    /* fp-roles-copy: use .fp-copy-card */

    /* fp-salary: uses .fp-section */
    .fp-salary__subtitle {
      max-width: 980px;
    }
    /* fp-salary-card: uses .fp-scard */
    .fp-salary-card--visual {
      min-height: 370px;
      padding-bottom: 24px;
      overflow: visible;
    }
    .fp-salary-card--visual .fp-salary-card__side {
      position: absolute;
      left: -30px;
      bottom: 0;
      max-width: 40%;
      height: auto;
      z-index: 4;
    }
    .fp-salary-card__vedomost {
      position: absolute;
      left: 16px; right: 16px; top: 10px;
      width: calc(100% - 32px);
      height: auto;
      object-fit: contain;
      object-position: top center;
      z-index: 1;
    }
    .fp-salary-card--visual .fp-visual { z-index: 2; }
    /* fp-salary uses .fp-visual */
    .fp-salary-card--copy {
      min-height: 370px;
    }

    /* fp-analytics: uses .fp-section */
    .fp-analytics__subtitle {
      max-width: 900px;
    }
    .fp-analytics__grid {
      margin-top: 18px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px 18px;
    }
    .fp-analytics-item {
      display: grid;
      gap: 18px;
      align-content: start;
    }
    .fp-analytics-item__visual {
      position: relative;
      min-height: 335px;
      border-radius: 14px;
      overflow: hidden;
      background: #f5f6fa;
    }
    .fp-analytics-item__visual::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      top: 24px;
      background: linear-gradient(180deg, rgba(191,213,251,0) 0%, #bfd5fb 100%);
      border-radius: 14px 0 0 14px;
      pointer-events: none;
    }
    .fp-analytics-item__frame {
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 0px;
      bottom: 0;
      pointer-events: none;
    }
    .fp-analytics-item__frame img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 14px 14px 0 0;
      margin-top: 10px;
    }
    .fp-analytics-item__copy {
      background: transparent;
      border-radius: 0;
      min-height: auto;
      padding: 0;
      box-shadow: none;
      border: 0;
    }
    .fp-analytics-list {
      margin: 0 0 16px;
      padding: 0;
      list-style: none;
    }
    .fp-analytics-list li {
      margin-bottom: 2px;
      font-size: 16px;
      line-height: 1.45;
      color: #6a6f7d;
    }
    .fp-analytics-list li::before {
      content: "· ";
      color: #6a6f7d;
      font-weight: 700;
    }

    .fp-training {
      margin-top: 100px;
    }
    .fp-training .tariffs__container {
      max-width: none;
      padding-left: 0;
      padding-right: 0;
    }
    .fp-training__inner {
      position: relative;
      min-height: 450px;
      background: linear-gradient(to bottom, #0689F7, #0020FF);
      padding: 76px 56px 76px calc(min(45vw, 780px));
      display: flex;
      align-items: center;
    }
    .fp-training__photo {
      position: absolute;
      left: 40px;
      bottom: 0;
      width: min(46%, 640px);
      pointer-events: none;
      z-index: 1;
    }
    .fp-training__photo img {
      display: block;
      width: 100%;
      height: auto;
    }
    .fp-training__content {
      position: relative;
      z-index: 2;
      max-width: 760px;
      color: #fff;
    }
    .fp-training__title {
      margin: 0 0 36px;
      font-weight: 700;
      font-size: 64px;
      line-height: .98;
      color: #fff;
    }
    .fp-training__text {
      margin: 0 0 40px;
      font-size: 20px;
      line-height: 1.18;
      color: rgba(255,255,255,.95);
      max-width: 720px;
    }
    .fp-training__form {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 12px;
      max-width: 560px;
    }
    .fp-training__field {
      position: relative;
    }
    .fp-training__field input {
      width: 100%;
      height: 42px;
      border: 0;
      border-radius: 120px;
      padding: 0 58px 0 18px;
      font-size: 20px;
      line-height: 1;
      color: #1d2029;
      background: #f4f5f9;
    }
    .fp-training__field svg {
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 30px;
      color: #8f97a8;
      pointer-events: none;
    }
    .fp-training__submit {
      align-self: flex-start;
      height: 42px;
      padding: 0 20px;
      border: 0;
      border-radius: 999px;
      background: #ffd106;
      color: #1d2029;
      font-size: 18px;
      line-height: 1;
      font-weight: 600;
      cursor: pointer;
      transition: transform .16s ease, box-shadow .16s ease;
    }
    .fp-training__submit:hover {
      box-shadow: 0 10px 20px rgba(0,0,0,.18);
    }

    .fp-pilot {
      margin-top: 70px;
    }
    .fp-pilot .tariffs__container {
      max-width: none;
      padding-left: 0;
      padding-right: 0;
    }
    .fp-pilot__inner {
      position: relative;
      overflow: visible;
      background: linear-gradient(to bottom, #0689F7, #0020FF);
      border-radius: 0;
      min-height: 560px;
      padding: 86px 56px;
      display: block;
    }
    .fp-pilot__content {
      position: relative;
      z-index: 2;
      max-width: 1200px;
      margin: 0 auto;
    }
    .fp-pilot__title {
      margin: 0 0 26px;
      color: #fff;
      font-weight: 700;
      font-size: 55px;
      line-height: 1;
      letter-spacing: 0;
    }
    .fp-pilot__text {
      margin: 0 0 42px;
      max-width: 730px;
      color: #fff;
      font-size: 27px;
      font-weight: 400;
      line-height: 1.20;
    }
    .fp-pilot__actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }
    .fp-pilot__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 42px;
      padding: 0 20px;
      border-radius: 999px;
      text-decoration: none;
      font-size: 18px;
      line-height: 1;
      font-weight: 600;
      border: 2px solid transparent;
      transition: box-shadow .16s ease;
      white-space: nowrap;
    }
    .fp-pilot__btn:hover {
      box-shadow: 0 10px 20px rgba(0,0,0,.15);
    }
    .fp-pilot__btn--main {
      background: #ffd106;
      color: #191b21;
    }
    .fp-pilot__btn--ghost {
      background: #fff;
      color: #191b21;
      border-color: #fff;
    }
    .fp-pilot__image {
      position: absolute;
      right: -6px;
      top: -36px;
      width: min(54%, 775px);
      pointer-events: none;
      clip-path: inset(0 0 18px 0);
    }
    .fp-pilot__image img {
      display: block;
      width: 100%;
      height: auto;
    }

    .fp-combo { position: relative; }
    .fp-person {
      position: absolute;
      z-index: 2;
      width: 122px;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 10px 24px rgba(0,0,0,.2);
      border: 3px solid #fff;
    }
    .fp-person img { width: 100%; display: block; }
    .fp-person--crm { left: -12px; bottom: -14px; }
    .fp-person--schedule { left: -10px; bottom: -12px; width: 112px; }
    .fp-person--support { left: -2px; bottom: -12px; width: 112px; }
    .fp-person--network { left: -2px; bottom: -14px; width: 106px; }
    .fp-person--process { left: -2px; bottom: -10px; width: 112px; }
    .fp-person--roles { right: -4px; bottom: -10px; width: 112px; }
    .fp-person--salary { left: 0; top: -8px; width: 92px; }

    .fp-blue {
      margin-top: 30px;
      border-radius: 18px;
      overflow: hidden;
      position: relative;
      background: #0027F3;
    }
    .fp-blue::before {
      content: "";
      position: absolute;
      inset: 0;
      background: url('/img/try-free/Topographic 2 (1).svg') center/cover no-repeat;
      opacity: .2;
    }
    .fp-blue__row {
      position: relative;
      z-index: 1;
      padding: 18px 16px;
      display: grid;
      grid-template-columns: 1fr 210px;
      gap: 8px;
      align-items: end;
    }
    .fp-blue h3 {
      margin: 0 0 6px;
      color: #fff;
      font-weight: 900;
      font-size: 28px;
      line-height: 1;
      letter-spacing: -.03em;
      text-transform: uppercase;
    }
    .fp-blue p {
      margin: 0 0 10px;
      color: rgba(255,255,255,.92);
      line-height: 1.4;
      font-size: 13px;
      max-width: 360px;
    }
    .fp-blue__actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .fp-blue__actions .button-purple { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.9); }
    .fp-blue__photo img { width: 100%; display: block; }

    .fp-compare {
      margin-top: 100px;
    }
    .fp-compare__subtitle {
      max-width: 860px;
    }
    .fp-compare--full .fp-compare__nav {
      display: flex;
      justify-content: center;
      gap: 12px;
      margin-top: 24px;
    }
    .fp-compare-track {
      display: flex;
      gap: 18px;
      overflow-x: hidden;
      scroll-snap-type: x proximity;
      padding: 10px 24px 20px;
      margin-top: 16px;
      width: 100%;
    }
    .fp-compare-cards {
      display: contents;
    }
    .fp-compare-card {
      flex: 0 0 280px;
      scroll-snap-align: start;
      background: #f5f6fa;
      border: 0;
      border-radius: 16px;
      padding: 34px 28px 26px;
      display: flex;
      flex-direction: column;
    }
    .fp-compare-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 40px;
      padding: 0 20px;
      border-radius: 999px;
      font-size: 18px;
      line-height: 1;
      font-weight: 700;
      margin-bottom: 28px;
      width: fit-content;
    }
    .fp-compare-badge--alfa {
      background: #ffc800;
      color: #fff;
    }
    .fp-compare-badge--bitrix {
      background: #dceaf8;
      color: #17a8ea;
    }
    .fp-compare-badge--amo {
      background: #2aba66;
      color: #fff;
    }
    .fp-compare-badge--paraplan {
      background: #e8e0f5;
      color: #6b4fa0;
    }
    .fp-compare-badge--altegio {
      background: #1a1a2e;
      color: #fff;
    }
    .fp-compare-badge--excel {
      background: #dff0d8;
      color: #217346;
    }
    .fp-compare-card h3 {
      margin: 0 0 16px;
      color: #1d2029;
      font-size: 24px;
      line-height: .98;
      letter-spacing: -.02em;
      font-weight: 700;
    }
    .fp-compare-card p {
      margin: 0;
      color: #6a6f7d;
      font-size: 14px;
      line-height: 1.25;
    }
    .fp-compare-card .fp-crm-card__link {
      margin-top: auto;
      padding-top: 28px;
    }
    .fp-compare__actions {
      margin-top: 38px;
      display: flex;
      justify-content: center;
    }
    .fp-compare__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;

      padding: 20px 50px;
      border-radius: 999px;
      background: #ffd106;
      color: #1d2029;
      text-decoration: none;
      font-size: 18px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: -.01em;
    }

    /* FAQ styles moved to css/style.css */

    /* === Mobile menu === */
    .fp-burger {
      display: none;
      position: relative;
      width: 44px;
      height: 44px;
      z-index: 65;
      cursor: pointer;
      background: none;
      border: 0;
      flex-shrink: 0;
    }
    .fp-burger span,
    .fp-burger::before,
    .fp-burger::after {
      content: "";
      transition: all 0.3s ease 0s;
      left: 50%;
      transform: translateX(-50%);
      position: absolute;
      width: 60%;
      height: 0.125rem;
      background-color: #05004E;
    }
    .fp-burger::before { top: 13px; }
    .fp-burger::after  { bottom: 13px; }
    .fp-burger span    { top: calc(50% - 0.0625rem); }
    ._header-scroll .fp-burger span,
    ._header-scroll .fp-burger::before,
    ._header-scroll .fp-burger::after { background-color: #05004E; }
    .menu-open .fp-header__logo { visibility: hidden; }
    .menu-open .fp-header__lang-mobile { visibility: hidden; }
    .menu-open .fp-burger span { width: 0; }
    .menu-open .fp-burger::before {
      top: calc(50% - 0.0625rem);
      transform: translateX(-50%) rotate(-45deg);
    }
    .menu-open .fp-burger::after {
      bottom: calc(50% - 0.0625rem);
      transform: translateX(-50%) rotate(45deg);
    }

    .fp-mobile-menu__logo {
      position: absolute;
      top: 24px;
      left: 30px;
      z-index: 5;
      color: #0027F3;
    }
    .fp-mobile-menu__logo svg {
      width: 90px;
      height: 89px;
      display: block;
    }
    .fp-mobile-menu {
      position: fixed;
      left: -100%;
      top: 0;
      width: 100%;
      max-width: 90%;
      height: 100%;
      background: #fff;
      padding: 120px 30px 40px;
      overflow-y: auto;
      opacity: 0;
      transition: left 0.3s ease 0s, opacity 0.3s ease 0s;
      z-index: 60;
      display: none;
      flex-direction: column;
    }
    .fp-mobile-menu::before {
      content: "";
      background: #fff;
      height: 100px;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 4;
    }
    .menu-open .fp-mobile-menu {
      left: 0;
      opacity: 1;
    }
    .fp-mobile-menu__nav {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 0;
    }
    .fp-mobile-menu__link {
      display: inline-block;
      padding: 12px 0;
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.23;
      color: #05004E;
      text-decoration: underline;
      transition: color 0.3s ease;
    }
    .fp-mobile-menu__actions {
      margin-top: auto;
      padding-top: 20px;
      display: flex;
      flex-direction: column;
      gap: 15px;
    }
    .fp-mobile-menu__login {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-weight: 700;
      font-size: 1.25rem;
      line-height: 1.23;
      color: #05004E;
      text-decoration: underline;
      transition: color 0.3s ease;
    }
    .fp-mobile-menu__login svg {
      width: 15px;
      height: 15px;
      flex-shrink: 0;
    }
    .fp-mobile-menu__actions .fp-pill {
      justify-content: center;
      transform: none !important;
    }
    .fp-header__lang-mobile {
      display: none;
      align-items: center;
      gap: 0;
      margin-left: auto;
      margin-right: 12px;
    }
    .fp-header__lang-mobile a {
      font-size: 14px;
      font-weight: 600;
      color: #05004E;
      text-decoration: none;
      cursor: pointer;
    }
    .fp-header__lang-mobile a.active {
      text-decoration: underline;
      font-weight: 700;
    }
    .fp-header__lang-mobile a:not(:first-child)::before {
      content: "|";
      opacity: 0.6;
      margin: 0 6px;
      color: currentColor;
    }

    .fp-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.25);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease 0s;
      z-index: 55;
      display: none;
    }
    .menu-open .fp-backdrop {
      opacity: 1;
      pointer-events: auto;
    }

    @media (max-width: 980px) {
      .header.fp-header,
      .header.fp-header._header-scroll { padding: 10px 0 16px; }
      .fp-header .header__container { padding: 0 20px; }
      .fp-hero { margin-top: 0; }
      .fp-header__row { flex-wrap: nowrap; align-items: center; }
      .fp-header__left { gap: 10px; }
      .fp-header__center { display: none; }
      .fp-header__right { display: none; }
      .fp-header__lang-mobile { display: flex; }
      .fp-burger { display: block; }
      .fp-mobile-menu { display: flex; }
      .fp-backdrop { display: block; }
      .fp-pill { height: 38px; padding: 0 14px; font-size: 14px; border-width: 2px; }
      .fp-title { font-size: 22px; }
      .fp-subtitle, .fp-blue h3 { font-size: 24px; }
      .fp-hero-top { grid-template-columns: 1fr; }
      .fp-hero-title { font-size: 34px; white-space: normal; }
      .fp-hero-visual { height: 210px; min-height: 210px; }
      .fp-fan { right: -18px; width: 420px; top: -10px; }
      .fp-chip-cloud { width: 100vw; padding-left: 12px; padding-right: 12px; }
      .fp-select__grid { grid-template-columns: 1fr; }
      .fp-select__title { font-size: 44px; }
      .fp-select__item { font-size: 15px; }
      .fp-select__final strong { font-size: 16px; }
      .fp-select__final span { font-size: 14px; }
      /* Shared responsive: section spacing + row columns */
      .fp-section { margin-top: 72px; }
      .fp-crm { padding: 0; border-radius: 0; }
      .fp-row--40-60, .fp-row--41-59, .fp-row--42-58,
      .fp-row--58-42, .fp-row--60-40, .fp-row--50 { grid-template-columns: 1fr; }
      .fp-comms__top, .fp-comms__copy,
      .fp-auto__top, .fp-auto__copy,
      .fp-analytics__grid { grid-template-columns: 1fr; }

      .fp-crm__title { font-size: 44px; }
      .fp-crm__subtitle { margin: 16px auto 30px; font-size: 17px; max-width: 520px; }
      .fp-crm-card { min-height: 320px; padding: 24px 22px 0; }
      .fp-crm-card h3 { font-size: 22px; }
      .fp-crm-card p { font-size: 16px; line-height: 24px; }
      .fp-crm-card__link { font-size: 16px; }
      .fp-crm-card--history { min-height: 390px; }
      .fp-fin-card--payments, .fp-fin-card--analytics, .fp-fin-card--report,
      .fp-fin-card--snapshot, .fp-fin-card--debt,
      .fp-fin-card--report-chart { min-height: 320px; }
      .fp-fin-card--snapshot .fp-visual { min-height: 220px; }
      .fp-schedule-card--calendar, .fp-schedule-card--board,
      .fp-schedule-card--moves, .fp-schedule-card--visits { min-height: 320px; }
      .fp-schedule-card--moves { padding-left: 36%; }
      .fp-schedule-card--moves .fp-schedule-card__side { max-width: 280px; left: -6px; }
      .fp-comms-card { min-height: 320px; }
      .fp-lessons-card--changes, .fp-lessons-card--swap { min-height: 380px; }
      .fp-lessons-card--homework { min-height: 420px; }
      .fp-lessons-card--changes { padding-right: 36%; }
      .fp-lessons-card--swap { padding-right: 38%; }
      .fp-lessons-card--homework { padding-left: 36%; }
      .fp-lessons-card--changes .fp-lessons-card__person { max-width: 35%; }
      .fp-lessons-card--swap .fp-lessons-card__person { max-width: 42%; right: -8px; }
      .fp-lessons-card--homework .fp-lessons-card__person { max-width: 34%; left: -2px; }
      .fp-auto-card { min-height: 320px; }
      .fp-network-card--control, .fp-network-card--kanban,
      .fp-network-card--reports, .fp-network-card--summary { min-height: 320px; }
      .fp-network-card--reports { padding-left: 38%; }
      .fp-network-card--reports .fp-network-card__side { max-width: 34%; left: -6px; }
      .fp-process-card--tasks, .fp-process-card--kanban,
      .fp-process-card--quality, .fp-process-card--roles { min-height: 320px; }
      .fp-process-card--quality { padding-left: 38%; }
      .fp-process-card--quality .fp-process-card__side { max-width: 34%; left: -6px; }
      .fp-roles-visual { min-height: 320px; }
      .fp-salary-card--visual, .fp-salary-card--copy { min-height: 320px; }
      .fp-salary-card--visual { padding-left: 38%; }
      .fp-salary-card--visual .fp-salary-card__side { max-width: 34%; left: -6px; }
      .fp-salary-card--copy { padding: 32px 28px 0; }
      .fp-analytics-item__visual { min-height: 320px; }
      .fp-training { margin-top: 24px; }
      .fp-training__inner {
        min-height: 420px;
        padding: 48px 30px 48px 360px;
      }
      .fp-training__photo {
        width: min(44%, 410px);
      }
      .fp-training__title { font-size: 62px; }
      .fp-training__text {
        font-size: 30px;
        max-width: 620px;
      }
      .fp-training__field input {
        height: 54px;
        font-size: 26px;
      }
      .fp-training__submit {
        height: 62px;
        font-size: 30px;
      }
      .fp-pilot { margin-top: 24px; }
      .fp-pilot__inner {
        min-height: 420px;
        padding: 48px 30px;
      }
      .fp-pilot__title { font-size: 56px; max-width: 720px; }
      .fp-pilot__text {
        font-size: 34px;
        line-height: 1.12;
        max-width: 760px;
      }
      .fp-pilot__btn {
        height: 60px;
        padding: 0 30px;
        font-size: 30px;
      }
      .fp-pilot__image {
        width: min(50%, 420px);
      }
      .fp-grid-3 { grid-template-columns: 1fr; }
      .fp-compare { margin-top: 72px; }
      .fp-compare-track { gap: 14px; padding: 10px 16px 16px; }
      .fp-compare-card {
        flex: 0 0 260px;
        min-height: auto;
        padding: 24px 24px 20px;
      }
      .fp-compare-badge {
        height: 40px;
        font-size: 24px;
        padding: 0 16px;
        margin-bottom: 16px;
      }
      .fp-compare-card h3 { font-size: 34px; margin-bottom: 10px; }
      .fp-compare-card p { font-size: 24px; }
      .fp-compare__btn {
        height: 60px;
        font-size: 30px;
        padding: 0 34px;
      }
      .fp-blue__row { grid-template-columns: 1fr; }
      .fp-blue__photo { width: 170px; }
    }
    @media (max-width: 720px) {
      .header.fp-header,
      .header.fp-header._header-scroll { padding: 8px 0 12px; }
      .fp-header .header__container { padding: 0 16px; }
      .fp-mobile-menu { padding: 90px 24px 32px; }
      .fp-select__left { padding: 24px 16px; }
      .fp-select__title { font-size: 34px; }
      .fp-mobile-menu__link { font-size: 1.25rem; }
      .fp-hero { margin-top: 0; }
      .fp-grid-2 { grid-template-columns: 1fr; }
      .fp-stack { grid-template-rows: auto; }
      .fp-main { padding-top: 10px; }
      .fp-crm { margin-top: 48px; padding: 0; }
      .fp-crm__title { font-size: 44px; }
      .fp-crm__subtitle { margin: 14px auto 20px; font-size: 18px; line-height: 1.35; }
      /* Shared responsive: smaller spacing */
      .fp-section { margin-top: 48px; }
      .fp-rows, .fp-row { gap: 10px; }
      .fp-visual { min-height: 160px; }
      .fp-comms__top, .fp-comms__copy,
      .fp-auto__top, .fp-auto__copy { gap: 10px; }

      .fp-crm-card { min-height: 260px; padding: 20px 16px 0; }
      .fp-crm-card h3 { margin-bottom: 10px; font-size: 20px; }
      .fp-crm-card p { margin-bottom: 14px; font-size: 16px; line-height: 24px; }
      .fp-crm-card__link { font-size: 16px; gap: 6px; }
      .fp-crm-card__link svg { width: 18px; height: 18px; }
      .fp-crm-card__visual { min-height: 122px; }
      .fp-crm-card__visual img { width: 96%; margin-top: 22px; }
      .fp-crm-card--deploy {
        min-height: 320px;
        padding-left: 16px;
        padding-right: 16px;
      }
      .fp-crm-card--deploy p { margin-left: 0; max-width: 100%; font-size: 16px; line-height: 24px; }
      .fp-crm-card--deploy .fp-crm-card__side { display: none; }
      .fp-fin-card--payments, .fp-fin-card--analytics, .fp-fin-card--report,
      .fp-fin-card--snapshot, .fp-fin-card--debt,
      .fp-fin-card--report-chart { min-height: 260px; }
      .fp-fin-card--snapshot .fp-visual { min-height: 170px; }
      .fp-schedule-card--calendar, .fp-schedule-card--board,
      .fp-schedule-card--moves, .fp-schedule-card--visits { min-height: 260px; }
      .fp-schedule-card--moves { padding-left: 16px; padding-right: 16px; }
      .fp-schedule-card--moves .fp-schedule-card__side { display: none; }
      .fp-schedule-card--moves p { margin-left: 0; max-width: 100%; }
      .fp-comms-card { min-height: 260px; }
      .fp-lessons-card--changes, .fp-lessons-card--swap,
      .fp-lessons-card--homework { min-height: 280px; padding-left: 16px; padding-right: 16px; }
      .fp-lessons-card--changes .fp-lessons-card__person,
      .fp-lessons-card--swap .fp-lessons-card__person,
      .fp-lessons-card--homework .fp-lessons-card__person { display: none; }
      .fp-auto-card { min-height: 260px; }
      .fp-auto-card--person .fp-visual img { width: 82%; }
      .fp-network-card--control, .fp-network-card--kanban,
      .fp-network-card--reports, .fp-network-card--summary { min-height: 260px; padding-left: 16px; padding-right: 16px; }
      .fp-network-card--reports .fp-network-card__side { display: none; }
      .fp-network-card--reports p { margin-left: 0; max-width: 100%; }
      .fp-process-card--tasks, .fp-process-card--kanban,
      .fp-process-card--quality, .fp-process-card--roles { min-height: 260px; padding-left: 16px; padding-right: 16px; }
      .fp-process-card--quality .fp-process-card__side { display: none; }
      .fp-process-card--quality p { margin-left: 0; max-width: 100%; }
      .fp-roles-visual { min-height: 260px; }
      .fp-roles-visual--photo .fp-visual img { width: 82%; }
      .fp-salary .fp-row { margin-top: 10px; }
      .fp-salary-card--visual, .fp-salary-card--copy { min-height: 260px; padding-left: 16px; padding-right: 16px; }
      .fp-salary-card--visual .fp-salary-card__side { display: none; }
      .fp-salary-card--copy { padding-top: 20px; }
      .fp-analytics__grid { margin-top: 10px; gap: 10px; }
      .fp-analytics-item { gap: 12px; }
      .fp-analytics-item__visual { min-height: 260px; }
      .fp-analytics-item__visual::before { width: 14px; top: 10px; }
      .fp-analytics-item__frame { left: 10px; right: 10px; top: 10px; }
      .fp-training { margin-top: 14px; }
      .fp-training__inner {
        min-height: 0;
        padding: 20px 16px 22px;
        border-radius: 12px;
      }
      .fp-training__photo {
        position: static;
        width: min(86%, 360px);
        margin: 0 auto 10px;
      }
      .fp-training__content { max-width: 100%; }
      .fp-training__title {
        margin-bottom: 10px;
        font-size: 42px;
      }
      .fp-training__text {
        margin-bottom: 14px;
        font-size: 22px;
        line-height: 1.18;
      }
      .fp-training__form {
        gap: 10px;
        max-width: 100%;
      }
      .fp-training__field input {
        height: 44px;
        font-size: 20px;
        padding-left: 12px;
        padding-right: 42px;
      }
      .fp-training__field svg {
        width: 22px;
        height: 22px;
      }
      .fp-training__submit {
        width: 100%;
        height: 46px;
        font-size: 22px;
      }
      .fp-compare { margin-top: 48px; }
      .fp-compare-track { gap: 10px; padding: 10px 12px 14px; }
      .fp-compare-card {
        flex: 0 0 220px;
        min-height: auto;
        padding: 20px 16px 18px;
      }
      .fp-compare-badge {
        height: 30px;
        font-size: 18px;
        margin-bottom: 12px;
      }
      .fp-compare-card h3 {
        font-size: 20px;
        line-height: 1.12;
        letter-spacing: 0;
        margin-bottom: 10px;
      }
      .fp-compare-card p {
        font-size: 16px;
        line-height: 1.45;
      }
      .fp-compare-card .fp-crm-card__link { padding-top: 14px; }
      .fp-compare__actions { margin-top: 16px; }
      .fp-compare__btn {
        width: 100%;
        height: 52px;
        font-size: 22px;
      }
      .fp-pilot { margin-top: 14px; }
      .fp-pilot__inner {
        min-height: 0;
        padding: 28px 16px 22px;
        border-radius: 12px;
      }
      .fp-pilot__title {
        font-size: 38px;
        margin-bottom: 14px;
        max-width: 100%;
      }
      .fp-pilot__text {
        font-size: 22px;
        line-height: 1.15;
        margin-bottom: 18px;
        max-width: 100%;
      }
      .fp-pilot__actions { gap: 8px; }
      .fp-pilot__btn {
        height: 44px;
        padding: 0 18px;
        font-size: 20px;
        border-width: 1px;
      }
      .fp-pilot__image {
        display: none;
      }
      .fp-crm-card--students .fp-crm-card__copy { padding: 6px 8px 0; }
    }

    /* ── Sticky sidebar nav ── */
    .fp-sidenav {
      position: fixed;
      left: 24px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 200;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }
    .fp-sidenav.is-visible {
      opacity: 1;
      pointer-events: auto;
    }
    .fp-sidenav ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .fp-sidenav__link {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: #6b7280;
      font-size: 13px;
      font-weight: 500;
      padding: 3px 0;
      transition: color 0.2s;
    }
    .fp-sidenav__dot {
      flex-shrink: 0;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #d1d5db;
      transition: background 0.25s, transform 0.25s;
    }
    .fp-sidenav__label {
      opacity: 0.45;
      transform: translateX(-6px);
      transition: opacity 0.2s, transform 0.2s;
      white-space: nowrap;
      color: #9ca3af;
    }
    .fp-sidenav__link:hover .fp-sidenav__label,
    .fp-sidenav__link.is-active .fp-sidenav__label {
      opacity: 1;
      transform: translateX(0);
    }
    .fp-sidenav__link:hover .fp-sidenav__dot {
      background: #9ca3af;
    }
    .fp-sidenav__link.is-active .fp-sidenav__dot {
      background: #4338ca;
      transform: scale(1.4);
    }
    .fp-sidenav__link.is-active {
      color: #4338ca;
      font-weight: 700;
    }
    .fp-sidenav__link.is-active .fp-sidenav__label {
      color: #4338ca;
    }
    @media (max-width: 1200px) {
      .fp-sidenav { display: none; }
    }
