/* style: variables.css */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;900&display=swap");

.fc-cow-page {
  --fc-cow-primary-blue: #00467e;
  --fc-cow-deep-navy: #061a2e;
  --fc-cow-dark-blue: #081d33;
  --fc-cow-accent-yellow: #ffd24a;
  --fc-cow-bg-light: #f4f7fb;
  --fc-cow-card-bg: #ffffff;
  --fc-cow-border: #dce6f2;
  --fc-cow-text-primary: #0b1220;
  --fc-cow-text-secondary: #475569;
  --fc-cow-text-muted: #64748b;
  --fc-cow-white: #ffffff;
  --fc-cow-blue-50: #eef6ff;
  --fc-cow-blue-100: #d9ebff;
  --fc-cow-blue-300: #7fb5f2;
  --fc-cow-blue-600: #1268b3;
  --fc-cow-yellow-100: #fff2b8;
  --fc-cow-success: #16a34a;
  --fc-cow-shadow-soft: 0 14px 40px rgba(8, 29, 51, 0.08);
  --fc-cow-shadow-panel: 0 22px 70px rgba(6, 26, 46, 0.22);
  --fc-cow-border-soft: 1px solid rgba(0, 70, 126, 0.12);
  --fc-cow-border-strong: 1px solid rgba(255, 255, 255, 0.22);
  --fc-cow-radius-sm: 12px;
  --fc-cow-radius-md: 18px;
  --fc-cow-radius-lg: 24px;
  --fc-cow-radius-xl: 34px;
  --fc-cow-radius-section: 40px;
  --fc-cow-container-max: 1440px;
  --fc-cow-container-padding: clamp(20px, 4vw, 64px);
  --fc-cow-section-y: clamp(48px, 7vw, 104px);
  --fc-cow-gap-xs: 8px;
  --fc-cow-gap-sm: 12px;
  --fc-cow-gap-md: 18px;
  --fc-cow-gap-lg: 28px;
  --fc-cow-gap-xl: 40px;
  --fc-cow-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fc-cow-font-serif: Georgia, "Times New Roman", serif;
  --fc-cow-title-size: clamp(32px, 5vw, 76px);
  --fc-cow-section-title-size: clamp(28px, 3.6vw, 52px);
  --fc-cow-body-size: clamp(16px, 1.4vw, 20px);
  --fc-cow-label-size: 12px;
  --fc-cow-transition: 180ms ease;
}


/* style: typography.css */
.fc-cow-page,
.fc-cow-page * {
  box-sizing: border-box;
}

.fc-cow-page {
  width: 100%;
  margin: 0;
  color: var(--fc-cow-text-primary);
  background: var(--fc-cow-bg-light);
  font-family: var(--fc-cow-font-family);
  font-size: var(--fc-cow-body-size);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.fc-cow-page img,
.fc-cow-page svg {
  display: block;
  max-width: 100%;
}

.fc-cow-page a {
  color: inherit;
  text-decoration: none;
}

.fc-cow-page button,
.fc-cow-page input,
.fc-cow-page textarea,
.fc-cow-page select {
  font: inherit;
}

.fc-cow-page :focus-visible {
  outline: 3px solid rgba(255, 210, 74, 0.75);
  outline-offset: 3px;
}

.fc-cow-page .fc-cow-kicker {
  margin: 0 0 14px;
  color: var(--fc-cow-primary-blue);
  font-size: var(--fc-cow-label-size);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-title,
.fc-cow-page .fc-cow-section-title,
.fc-cow-page .fc-cow-card-title {
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-weight: 800;
  line-height: 1.08;
}

.fc-cow-page .fc-cow-title {
  font-size: var(--fc-cow-title-size);
}

.fc-cow-page .fc-cow-section-title {
  font-size: var(--fc-cow-section-title-size);
}

.fc-cow-page .fc-cow-card-title {
  font-size: clamp(18px, 1.6vw, 24px);
}

.fc-cow-page .fc-cow-text {
  margin: 0;
  color: var(--fc-cow-text-secondary);
}

.fc-cow-page .fc-cow-text--large {
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.65;
}

.fc-cow-page .fc-cow-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* style: spacing.css */
/* Central spacing aliases.
   Core values are defined in variables.css to preserve the approved design. */


/* style: layout.css */
.fc-cow-page .fc-cow-section {
  position: relative;
  padding: var(--fc-cow-section-y) 0;
}

.fc-cow-page .fc-cow-section--light {
  background: var(--fc-cow-bg-light);
}

.fc-cow-page .fc-cow-section--white {
  background: var(--fc-cow-white);
}

.fc-cow-page .fc-cow-section--dark {
  color: var(--fc-cow-white);
  background: var(--fc-cow-deep-navy);
}

.fc-cow-page .fc-cow-container {
  width: min(100%, var(--fc-cow-container-max));
  margin-inline: auto;
  padding-inline: var(--fc-cow-container-padding);
}

.fc-cow-page .fc-cow-container--narrow {
  max-width: 1120px;
}

.fc-cow-page .fc-cow-section-header {
  display: grid;
  gap: 14px;
  max-width: 860px;
  margin-bottom: clamp(28px, 4vw, 48px);
}

.fc-cow-page .fc-cow-section-header--split {
  max-width: none;
  grid-template-columns: minmax(0, 0.85fr) minmax(280px, 0.45fr);
  align-items: end;
  gap: var(--fc-cow-gap-xl);
}

.fc-cow-page .fc-cow-grid {
  display: grid;
  gap: var(--fc-cow-gap-lg);
}

.fc-cow-page .fc-cow-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-cow-page .fc-cow-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-cow-page .fc-cow-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-cow-page .fc-cow-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.fc-cow-page .fc-cow-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fc-cow-gap-sm);
}

.fc-cow-page .fc-cow-stack {
  display: grid;
  gap: var(--fc-cow-gap-md);
}


/* style: header.css */
.fc-cow-platform .fc-cow-site-header {
  --fc-cow-primary-blue: #00467e;
  --fc-cow-deep-navy: #061a2e;
  --fc-cow-blue-50: #eef6ff;
  --fc-cow-border: #d8dee8;
  --fc-cow-container-max: 1440px;
  --fc-cow-transition: 180ms ease;
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 92px;
  border-bottom: 1px solid #e7edf5;
  background: #ffffff;
  font-family: "Montserrat", sans-serif;
}

.fc-cow-platform .fc-cow-site-header__container {
  display: grid;
  grid-template-columns: minmax(330px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(22px, 3vw, 46px);
  width: min(100%, var(--fc-cow-container-max));
  min-height: 92px;
  margin-inline: auto;
  padding-inline: 48px;
}

.fc-cow-platform .fc-cow-site-header__brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 20px;
}

.fc-cow-platform .fc-cow-site-header__logo-link {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}

.fc-cow-platform .fc-cow-site-header__logo {
  display: block;
  width: auto;
  height: 30px;
  max-height: 30px;
  max-width: 168px;
  object-fit: contain;
}

.fc-cow-platform .fc-cow-site-header__divider {
  display: block;
  width: 1px;
  height: 42px;
  flex: 0 0 1px;
  background: #d8dee8;
}

.fc-cow-platform .fc-cow-site-header__project {
  display: inline-flex;
  align-items: center;
  color: var(--fc-cow-deep-navy);
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 200ms ease;
}

.fc-cow-platform .fc-cow-site-header__project:hover {
  color: var(--fc-cow-deep-navy);
  opacity: 0.92;
}

@media (min-width: 1440px) {
  .fc-cow-platform .fc-cow-site-header__container {
    padding-inline: 64px;
  }

  .fc-cow-platform .fc-cow-site-header__project {
    font-size: 20px;
  }
}

.fc-cow-platform .fc-cow-site-header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.25vw, 34px);
  min-width: 0;
}

.fc-cow-platform .fc-cow-site-header__nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: #0f2340;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color var(--fc-cow-transition);
}

.fc-cow-platform .fc-cow-site-header__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 2px;
  background: var(--fc-cow-primary-blue);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--fc-cow-transition);
}

.fc-cow-platform .fc-cow-site-header__nav-link:hover {
  color: var(--fc-cow-primary-blue);
}

.fc-cow-platform .fc-cow-site-header__nav-link:hover::after {
  transform: scaleX(1);
}

.fc-cow-platform .fc-cow-site-header__language,
.fc-cow-platform .fc-cow-site-header__mobile-language {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fc-cow-platform .fc-cow-site-header__language-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 24px;
  border-radius: 6px;
  color: #0f2340;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: background var(--fc-cow-transition), color var(--fc-cow-transition);
}

.fc-cow-platform .fc-cow-site-header__language-link:hover {
  background: transparent;
  color: var(--fc-cow-primary-blue);
}

.fc-cow-platform .fc-cow-site-header__language-link--active {
  color: var(--fc-cow-primary-blue);
  font-weight: 400;
}

.fc-cow-platform .fc-cow-site-header__language-separator {
  width: 1px;
  height: 15px;
  background: rgba(15, 35, 64, .3);
}

.fc-cow-platform .fc-cow-site-header__toggle {
  display: none;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(15, 35, 64, .16);
  border-radius: 8px;
  background: #ffffff;
  color: #0f2340;
  cursor: pointer;
  transition: background var(--fc-cow-transition), border-color var(--fc-cow-transition);
}

.fc-cow-platform .fc-cow-site-header__toggle:hover {
  border-color: rgba(0, 70, 126, .32);
  background: var(--fc-cow-blue-50);
}

.fc-cow-platform .fc-cow-site-header__toggle-line {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.fc-cow-platform .fc-cow-site-header__toggle-line + .fc-cow-site-header__toggle-line {
  margin-top: 4px;
}

.fc-cow-platform .fc-cow-site-header__mobile {
  display: none;
  overflow: hidden;
  max-height: 0;
  border-top: 1px solid #e7edf5;
  background: #ffffff;
  transition: max-height 220ms ease;
}

.fc-cow-platform .fc-cow-site-header__mobile-nav {
  display: grid;
  gap: 2px;
  width: min(100%, var(--fc-cow-container-max));
  margin-inline: auto;
  padding: 14px 40px 8px;
}

.fc-cow-platform .fc-cow-site-header__mobile-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 1px solid #e7edf5;
  color: #0f2340;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  text-transform: uppercase;
}

.fc-cow-platform .fc-cow-site-header__mobile-link:hover {
  color: var(--fc-cow-primary-blue);
}

.fc-cow-platform .fc-cow-site-header__mobile-language {
  width: max-content;
  margin: 8px 40px 18px;
}

.fc-cow-platform .fc-cow-site-header--open .fc-cow-site-header__mobile {
  max-height: 420px;
}

@media (max-width: 1199px) {
  .fc-cow-platform .fc-cow-site-header__container {
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto;
    gap: 22px;
    padding-inline: 48px;
  }

  .fc-cow-platform .fc-cow-site-header__brand {
    gap: 16px;
  }

  .fc-cow-platform .fc-cow-site-header__project {
    font-size: 20px;
  }

  .fc-cow-platform .fc-cow-site-header__logo {
    height: 28px;
    max-height: 28px;
    max-width: 154px;
  }

  .fc-cow-platform .fc-cow-site-header__nav {
    gap: 18px;
  }

  .fc-cow-platform .fc-cow-site-header__nav-link {
    font-size: 14px;
  }
}

@media (max-width: 980px) and (min-width: 768px) {
  .fc-cow-platform .fc-cow-site-header__container {
    grid-template-columns: 1fr auto;
  }

  .fc-cow-platform .fc-cow-site-header__nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-bottom: 12px;
  }

  .fc-cow-platform .fc-cow-site-header__container {
    min-height: 112px;
    align-content: center;
  }
}

@media (max-width: 767px) {
  .fc-cow-platform .fc-cow-site-header {
    min-height: 78px;
  }

  .fc-cow-platform .fc-cow-site-header__container {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 78px;
    padding-inline: 20px;
  }

  .fc-cow-platform .fc-cow-site-header__nav,
  .fc-cow-platform .fc-cow-site-header__language {
    display: none;
  }

  .fc-cow-platform .fc-cow-site-header__toggle,
  .fc-cow-platform .fc-cow-site-header__mobile {
    display: grid;
  }

  .fc-cow-platform .fc-cow-site-header__mobile-nav {
    padding-inline: 20px;
  }

  .fc-cow-platform .fc-cow-site-header__mobile-language {
    margin-inline: 20px;
  }
}

@media (max-width: 560px) {
  .fc-cow-platform .fc-cow-site-header__brand {
    gap: 12px;
  }

  .fc-cow-platform .fc-cow-site-header__logo {
    height: 25px;
    max-height: 25px;
    max-width: 120px;
  }

  .fc-cow-platform .fc-cow-site-header__divider {
    height: 34px;
  }

  .fc-cow-platform .fc-cow-site-header__project {
    font-size: 20px;
  }
}

@media (max-width: 440px) {
  .fc-cow-platform .fc-cow-site-header__logo {
    height: 25px;
    max-height: 25px;
  }

  .fc-cow-platform .fc-cow-site-header__project {
    font-size: 18px;
  }

  .fc-cow-platform .fc-cow-site-header__brand {
    gap: 10px;
  }
}


/* style: buttons.css */
/* Shared button primitives live in components.css under the fc-cow namespace. */


/* style: cards.css */
/* Shared card primitives live in components.css under the fc-cow namespace. */


/* style: components.css */
.fc-cow-page .fc-cow-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 20px;
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-md);
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  transition: transform var(--fc-cow-transition), box-shadow var(--fc-cow-transition), background var(--fc-cow-transition), border-color var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-button:hover {
  transform: translateY(-1px);
}

.fc-cow-page .fc-cow-button--primary {
  border-color: rgba(255, 210, 74, 0.85);
  color: var(--fc-cow-deep-navy);
  background: var(--fc-cow-accent-yellow);
  box-shadow: 0 14px 28px rgba(255, 210, 74, 0.22);
}

.fc-cow-page .fc-cow-button--secondary {
  color: var(--fc-cow-white);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.28);
}

.fc-cow-page .fc-cow-button--tertiary {
  color: var(--fc-cow-white);
  background: rgba(8, 29, 51, 0.35);
  border-color: rgba(255, 255, 255, 0.24);
}

.fc-cow-page .fc-cow-button__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.fc-cow-page .fc-cow-card {
  position: relative;
  min-width: 0;
  padding: clamp(22px, 2.4vw, 34px);
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-lg);
  background: var(--fc-cow-card-bg);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-card--flat {
  box-shadow: none;
}

.fc-cow-page .fc-cow-card__icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 18px;
  color: var(--fc-cow-primary-blue);
  border-radius: 14px;
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-card__meta {
  margin-top: 8px;
  color: var(--fc-cow-text-muted);
  font-size: 14px;
  line-height: 1.45;
}

.fc-cow-page .fc-cow-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-sm);
  color: var(--fc-cow-text-primary);
  background: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 750;
}

.fc-cow-page .fc-cow-pill__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: var(--fc-cow-primary-blue);
}

.fc-cow-page-start {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}


/* style: sections.css */
.fc-cow-page .fc-cow-surface {
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-section);
  background: var(--fc-cow-card-bg);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-surface--blue {
  color: var(--fc-cow-white);
  border-color: rgba(255, 255, 255, 0.16);
  background: linear-gradient(135deg, var(--fc-cow-deep-navy), var(--fc-cow-dark-blue));
  box-shadow: var(--fc-cow-shadow-panel);
}

.fc-cow-page .fc-cow-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--fc-cow-gap-md);
}

.fc-cow-page .fc-cow-preview-frame {
  overflow: hidden;
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-lg);
  background: linear-gradient(180deg, #ffffff, #edf5ff);
}

.fc-cow-page .fc-cow-stat {
  display: grid;
  gap: 4px;
}

.fc-cow-page .fc-cow-stat__value {
  color: var(--fc-cow-primary-blue);
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-stat__label {
  color: var(--fc-cow-text-primary);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-stat__text {
  color: var(--fc-cow-text-muted);
  font-size: 14px;
  line-height: 1.45;
}


/* style: animations.css */
/* Shared transitions are tokenized in variables.css. Add reusable keyframes here. */


/* style: utilities.css */
/* Utility layer intentionally small to avoid WordPress/Elementor collisions. */


/* style: responsive.css */
@media (max-width: 1023px) {
  .fc-cow-page {
    --fc-cow-container-padding: clamp(18px, 5vw, 42px);
    --fc-cow-section-y: clamp(44px, 8vw, 72px);
  }

  .fc-cow-page .fc-cow-section-header--split,
  .fc-cow-page .fc-cow-grid--4,
  .fc-cow-page .fc-cow-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page {
    --fc-cow-container-padding: 18px;
    --fc-cow-section-y: 44px;
  }

  .fc-cow-page .fc-cow-section-header--split,
  .fc-cow-page .fc-cow-grid--4,
  .fc-cow-page .fc-cow-grid--3,
  .fc-cow-page .fc-cow-grid--2 {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-button {
    width: 100%;
  }

  .fc-cow-page .fc-cow-card {
    border-radius: var(--fc-cow-radius-md);
  }
}

@media (min-width: 1280px) {
  .fc-cow-page .fc-cow-container {
    padding-inline: 64px;
  }
}


/* component: dashboards/dashboard-hero */
.fc-cow-page .fc-cow-dashboard-layer-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(92px, 10vw, 150px) clamp(64px, 8vw, 108px);
  background:
    radial-gradient(circle at 18% 18%, rgba(40, 118, 230, 0.2), transparent 32%),
    radial-gradient(circle at 76% 12%, rgba(255, 202, 64, 0.1), transparent 24%),
    linear-gradient(135deg, #031226 0%, #061b31 44%, #082843 100%);
}

.fc-cow-page .fc-cow-dashboard-layer-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.24));
}

.fc-cow-page .fc-cow-dashboard-layer-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(520px, 0.45fr) minmax(620px, 0.55fr);
  gap: clamp(34px, 4vw, 68px);
  align-items: center;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__content {
  display: grid;
  gap: clamp(18px, 2vw, 28px);
  align-content: center;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__eyebrow {
  color: rgba(255,255,255,.9);
  letter-spacing: .1em;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__title {
  max-width: 900px;
  color: var(--fc-cow-white);
  font-size: clamp(46px, 5vw, 70px);
  line-height: 1.05;
  letter-spacing: 0;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__subtitle {
  max-width: 760px;
  color: rgba(241, 247, 255, .78);
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.56;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 780px;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__badges span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 7px 11px;
  border: 1px solid rgba(132, 176, 229, .32);
  border-radius: 999px;
  color: rgba(239, 246, 255, .82);
  background: rgba(255,255,255,.045);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: .01em;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__badges span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #5fa7ff;
  box-shadow: 0 0 0 3px rgba(95, 167, 255, .13);
}

.fc-cow-page .fc-cow-dashboard-layer-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: clamp(8px, 1vw, 14px);
}

.fc-cow-page .fc-cow-dashboard-layer-hero__actions .fc-cow-button {
  min-height: 56px;
  padding-inline: 22px;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__panel.fc-cow-dashboard-flagship {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: clamp(14px, 1.55vw, 20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 22px;
  color: var(--fc-cow-white);
  background:
    linear-gradient(135deg, rgba(5, 18, 34, 0.98), rgba(8, 29, 51, 0.94)),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, 40px 40px, 40px 40px;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255,255,255,.07);
}

.fc-cow-page .fc-cow-dashboard-layer-hero__panel.fc-cow-dashboard-flagship::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 24% 18%, rgba(127, 181, 242, 0.16), transparent 30%),
    radial-gradient(circle at 86% 46%, rgba(255, 210, 74, 0.08), transparent 28%);
}

.fc-cow-page .fc-cow-dashboard-layer-hero__visual {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(420px, 1fr) auto;
  gap: 14px;
  min-height: clamp(560px, 43vw, 660px);
}

.fc-cow-page .fc-cow-dashboard-layer-hero__kpi-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__stat,
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-legend {
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__stat {
  display: grid;
  min-height: 112px;
  gap: 8px;
  padding: 17px;
  align-content: center;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__stat > span,
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__legend-title {
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__stat strong {
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: var(--fc-cow-white);
  font-size: clamp(36px, 3.9vw, 56px);
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__stat small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.42em;
  font-weight: 400;
  line-height: 1;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__currency {
  color: rgba(255, 255, 255, 0.68);
  font-family: inherit;
  font-size: 1em;
  font-weight: 400;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(3, 14, 27, 0.78), rgba(5, 18, 34, 0.68)),
    linear-gradient(rgba(147, 197, 253, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 197, 253, 0.045) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__surface {
  position: relative;
  display: grid;
  min-height: clamp(420px, 33vw, 520px);
  height: 100%;
  place-items: center;
  padding: clamp(10px, 1.55vw, 20px);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__surface::after {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 18px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(210, 230, 255, 0.22), transparent);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base,
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__points {
  grid-area: 1 / 1;
  display: block;
  width: min(100%, 940px);
  height: auto;
  max-height: 500px;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base {
  position: relative;
  z-index: 0;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  opacity: 0.76;
  filter: saturate(0.92) contrast(1.06);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__points {
  position: relative;
  z-index: 1;
  overflow: visible;
  pointer-events: none;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__points .fc-cow-dashboard-map__point {
  pointer-events: auto;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region {
  stroke: rgba(215, 232, 251, 0.62);
  stroke-width: 0.46;
  vector-effect: non-scaling-stroke;
  transition: fill 160ms ease, opacity 160ms ease, stroke 160ms ease, stroke-width 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-1 { fill: #eaf3ff; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-2 { fill: #cfe2ff; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-3 { fill: #9bc2f5; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-4 { fill: #5a91e6; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-5 { fill: #1f63c8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--scale-6 { fill: #084a9c; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--no-data { fill: transparent; opacity: 1; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__base .fc-cow-map__region--active { stroke: rgba(255, 210, 74, 0.94); stroke-width: 1.25; opacity: 1; }

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point {
  cursor: pointer;
  opacity: 0.82;
  stroke: rgba(5, 18, 34, 0.9);
  stroke-width: 0.9;
  vector-effect: non-scaling-stroke;
  transition: opacity 160ms ease, stroke 160ms ease, stroke-width 160ms ease, filter 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point:hover,
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point:focus {
  opacity: 1;
  outline: none;
  stroke: rgba(255, 255, 255, 0.88);
  stroke-width: 2;
  filter: drop-shadow(0 0 6px rgba(127, 181, 242, 0.42));
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--infrastructure { fill: #4ea3b8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--education { fill: #f2c94c; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--healthcare { fill: #55c6a8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--housing { fill: #8bb8ff; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--energy { fill: #e8a15f; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--transport { fill: #f28e5c; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--administration { fill: #b48ae8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--public { fill: #a8c7e8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--other { fill: #d7dee8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__point--filtered { opacity: 0; pointer-events: none; }

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 5px;
  width: min(280px, calc(100% - 36px));
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.66);
  background: rgba(5, 18, 34, 0.86);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip--active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip--rayon .fc-cow-dashboard-map__tooltip-type-row { display: none; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip-label { color: rgba(255, 210, 74, 0.82); font-size: 10px; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip strong { color: var(--fc-cow-white); font-size: 14px; line-height: 1.25; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__tooltip b { color: rgba(255, 255, 255, 0.9); font-weight: 850; }

.fc-cow-page .fc-cow-dashboard-layer-hero__range.fc-cow-dashboard-flagship__range-legend {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 15px;
  overflow: hidden;
}

.fc-cow-page .fc-cow-dashboard-layer-hero__range .fc-cow-dashboard-flagship__legend-title {
  flex: 0 0 auto;
  margin: 0 8px 0 0;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
  font-weight: 720;
  line-height: 1.15;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch {
  width: 22px;
  height: 8px;
  flex: 0 0 22px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(221, 231, 241, 0.74);
}

.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-1 { background: #eef5fc; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-2 { background: #d7e8f8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-3 { background: #b9d5f2; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-4 { background: #5a91e6; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-5 { background: #1f63c8; }
.fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-swatch--scale-6 { background: #084a9c; }

@media (max-width: 1280px) {
  .fc-cow-page .fc-cow-dashboard-layer-hero__grid {
    grid-template-columns: minmax(430px, 0.45fr) minmax(560px, 0.55fr);
    gap: 30px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__range.fc-cow-dashboard-flagship__range-legend {
    gap: 8px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-flagship__range-item {
    font-size: 9px;
  }
}

@media (max-width: 1023px) {
  .fc-cow-page .fc-cow-dashboard-layer-hero__grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__content {
    max-width: 980px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__range.fc-cow-dashboard-flagship__range-legend {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .fc-cow-page .fc-cow-dashboard-layer-hero {
    padding-block: 72px 54px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__actions .fc-cow-button {
    width: 100%;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__panel.fc-cow-dashboard-flagship {
    padding: 12px;
    border-radius: 18px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__visual {
    grid-template-rows: auto auto auto;
    min-height: 0;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__kpi-row {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero .fc-cow-dashboard-map__surface {
    min-height: 360px;
  }

  .fc-cow-page .fc-cow-dashboard-layer-hero__range .fc-cow-dashboard-flagship__legend-title {
    flex-basis: 100%;
    margin: 0 0 2px;
  }
}

/* component: dashboards/dashboard-metrics */
.fc-cow-page .fc-cow-dashboard-layer-metrics {
  padding: 0;
  background: #ffffff;
  border-block: 1px solid rgba(0, 70, 126, .1);
}

.fc-cow-page .fc-cow-dashboard-layer-metrics__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding-block: 22px;
}

.fc-cow-page .fc-cow-dashboard-layer-metrics article {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 9px;
  row-gap: 7px;
  min-height: 132px;
  padding: 18px 14px;
  align-content: start;
  border: 1px solid rgba(0, 70, 126, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 30px rgba(9, 33, 59, .055);
}

.fc-cow-page .fc-cow-dashboard-layer-metrics article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 12px 0 0 12px;
  background: linear-gradient(180deg, #1f63c8, #f2c846);
  opacity: .78;
}

.fc-cow-page .fc-cow-dashboard-layer-metrics__icon {
  grid-row: 1 / span 2;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(31, 99, 200, .28);
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(31, 99, 200, .12), rgba(242, 200, 70, .08)), #fff;
}

.fc-cow-page .fc-cow-dashboard-layer-metrics strong {
  min-width: 0;
  color: var(--fc-cow-deep-navy);
  font-size: clamp(24px, 1.65vw, 32px);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.fc-cow-page .fc-cow-dashboard-layer-metrics article > span:not(.fc-cow-dashboard-layer-metrics__icon) {
  grid-column: 2;
  color: #174987;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.25;
}

@media (max-width: 1320px) {
  .fc-cow-page .fc-cow-dashboard-layer-metrics__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .fc-cow-page .fc-cow-dashboard-layer-metrics__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .fc-cow-page .fc-cow-dashboard-layer-metrics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-block: 18px;
  }
}

@media (max-width: 460px) {
  .fc-cow-page .fc-cow-dashboard-layer-metrics__grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-layer-metrics article {
    min-height: 108px;
  }
}


/* component: dashboards/dashboard-ecosystem */
.fc-cow-page .fc-cow-dashboard-catalog__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.fc-cow-page .fc-cow-dashboard-catalog__status {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--fc-cow-text-secondary);
}

.fc-cow-page .fc-cow-dashboard-catalog-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr);
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(0, 70, 126, .14);
  border-radius: var(--fc-cow-radius-sm);
  background: var(--fc-cow-white);
  box-shadow: 0 18px 48px rgba(8, 29, 51, .08);
}

.fc-cow-page .fc-cow-dashboard-catalog-card--pending,
.fc-cow-page .fc-cow-dashboard-catalog-card--external {
  border-style: dashed;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__map {
  position: relative;
  display: grid;
  min-height: 430px;
  padding: 22px;
  background: #f5f8fb;
  border-right: 1px solid rgba(0, 70, 126, .1);
}

.fc-cow-page .fc-cow-dashboard-catalog-card__map svg {
  width: 100%;
  height: 100%;
  min-height: 340px;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region {
  fill: #edf2f7;
  stroke: rgba(8, 29, 51, .23);
  stroke-width: .45;
  transition: fill .18s ease, opacity .18s ease;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--no-data {
  fill: #eef2f5;
  opacity: .48;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-1 { fill: #eaf3ff; }
.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-2 { fill: #cfe2ff; }
.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-3 { fill: #9bc2f5; }
.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-4 { fill: #5a91e6; }
.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-5 { fill: #1f63c8; }
.fc-cow-page .fc-cow-dashboard-catalog-card__map .fc-cow-map__region--scale-6 { fill: #084a9c; }

.fc-cow-page .fc-cow-dashboard-catalog-card__map-label {
  position: absolute;
  left: 18px;
  top: 16px;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(0, 70, 126, .14);
  border-radius: 4px;
  background: rgba(255, 255, 255, .88);
  color: var(--fc-cow-text-secondary);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__placeholder {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 24px;
  border: 1px solid rgba(0, 70, 126, .12);
  background: repeating-linear-gradient(135deg, #f5f8fb 0, #f5f8fb 10px, #edf3f8 10px, #edf3f8 20px);
  color: var(--fc-cow-deep-navy);
  text-align: center;
  font-weight: 850;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__body {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 24px;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__eyebrow {
  color: var(--fc-cow-primary-blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__body h3 {
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.12;
  letter-spacing: 0;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__subtitle {
  margin-top: -8px;
  color: var(--fc-cow-deep-navy);
  font-size: 14px;
  font-weight: 800;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__body p {
  margin: 0;
  color: var(--fc-cow-text-secondary);
  line-height: 1.55;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 0;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__metric {
  min-height: 74px;
  padding: 12px;
  border: 1px solid rgba(0, 70, 126, .1);
  border-radius: 6px;
  background: #f7fafc;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__metric dt {
  color: var(--fc-cow-text-muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__metric dd {
  margin: 5px 0 0;
  color: var(--fc-cow-deep-navy);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.15;
}


.fc-cow-page .fc-cow-dashboard-catalog-card__metric--wide {
  grid-column: 1 / -1;
  display: grid;
  min-height: 48px;
  padding: 8px 12px;
  place-items: center;
  text-align: center;
  border-color: rgba(0, 70, 126, .08);
  background: rgba(247, 250, 252, .72);
}

.fc-cow-page .fc-cow-dashboard-catalog-card__metric--wide dd {
  margin: 0;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .02em;
  line-height: 1.15;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__meta span {
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(0, 70, 126, .08);
  color: var(--fc-cow-text-secondary);
  font-size: 11px;
  font-weight: 750;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__cta {
  align-self: end;
  justify-self: start;
  margin-top: 4px;
}

.fc-cow-page .fc-cow-dashboard-catalog-card__cta--disabled {
  cursor: default;
  pointer-events: none;
  border-color: rgba(0, 70, 126, .24);
  background: linear-gradient(180deg, rgba(0, 70, 126, .92), rgba(0, 52, 94, .92));
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 52, 94, .14);
}


@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-dashboard-catalog__list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .fc-cow-page .fc-cow-dashboard-catalog-card { grid-template-columns: 1fr; }
  .fc-cow-page .fc-cow-dashboard-catalog-card__map { min-height: 320px; border-right: 0; border-bottom: 1px solid rgba(0, 70, 126, .1); }
  .fc-cow-page .fc-cow-dashboard-catalog-card__metrics { grid-template-columns: 1fr; }
}


/* component: dashboards/dashboard-usage */
.fc-cow-page .fc-cow-dashboard-usage { background: #ffffff; }
.fc-cow-page .fc-cow-dashboard-usage .fc-cow-section-header--split { align-items: start; }
.fc-cow-page .fc-cow-dashboard-usage__steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.fc-cow-page .fc-cow-dashboard-usage__steps li { display: grid; gap: 8px; padding: 24px; border: var(--fc-cow-border-soft); border-radius: var(--fc-cow-radius-md); background: #fff; }
.fc-cow-page .fc-cow-dashboard-usage__steps strong { color: var(--fc-cow-deep-navy); font-size: 21px; }
.fc-cow-page .fc-cow-dashboard-usage__steps span { color: var(--fc-cow-text-secondary); }
@media (max-width: 767px){ .fc-cow-page .fc-cow-dashboard-usage__steps{ grid-template-columns: 1fr; } }


/* component: dashboards/platform-architecture */
.fc-cow-page .fc-cow-platform-architecture {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(40, 118, 230, 0.2), transparent 32%),
    radial-gradient(circle at 76% 12%, rgba(255, 202, 64, 0.1), transparent 24%),
    linear-gradient(135deg, #031226 0%, #061b31 44%, #082843 100%);
}

.fc-cow-page .fc-cow-platform-architecture::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.24));
}

.fc-cow-page .fc-cow-platform-architecture .fc-cow-container {
  position: relative;
  z-index: 1;
}

.fc-cow-page .fc-cow-platform-architecture .fc-cow-section-title {
  color: var(--fc-cow-white);
}

.fc-cow-page .fc-cow-platform-architecture .fc-cow-text {
  color: rgba(241, 247, 255, .78);
}

.fc-cow-page .fc-cow-platform-architecture__matrix { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1px; overflow: hidden; border: var(--fc-cow-border-soft); border-radius: var(--fc-cow-radius-lg); background: var(--fc-cow-border); }
.fc-cow-page .fc-cow-platform-architecture__matrix { border-color: rgba(132, 176, 229, .2); background: rgba(132, 176, 229, .16); box-shadow: 0 24px 54px rgba(0, 0, 0, .18); }
.fc-cow-page .fc-cow-platform-architecture__matrix span { display: grid; min-height: 120px; place-items: center; padding: 18px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.92); font-weight: 850; text-align: center; }
@media (max-width: 1023px){ .fc-cow-page .fc-cow-platform-architecture__matrix{ grid-template-columns: repeat(3,minmax(0,1fr)); } } @media (max-width: 560px){ .fc-cow-page .fc-cow-platform-architecture__matrix{ grid-template-columns: 1fr; } }


/* component: hero */
.fc-cow-page .fc-cow-hero {
  overflow: hidden;
  min-height: 680px;
  padding: clamp(70px, 7vw, 104px) 0 clamp(56px, 6vw, 86px);
  background:
    linear-gradient(90deg, rgba(6, 26, 46, 0.99) 0%, rgba(8, 29, 51, 0.94) 54%, rgba(8, 29, 51, 0.82) 100%),
    radial-gradient(circle at 83% 18%, rgba(0, 70, 126, 0.28), transparent 34%),
    linear-gradient(135deg, #061a2e, #0b2b4a);
}

.fc-cow-page .fc-cow-hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 88%, transparent 100%);
}

.fc-cow-page .fc-cow-hero__container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 0.78fr);
  align-items: center;
  gap: clamp(42px, 6vw, 86px);
}

.fc-cow-page .fc-cow-hero__content {
  max-width: 720px;
}

.fc-cow-page .fc-cow-hero__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 210, 74, 0.42);
  border-radius: 999px;
  color: var(--fc-cow-accent-yellow);
  background: rgba(255, 210, 74, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
}

.fc-cow-page .fc-cow-hero__title {
  max-width: 660px;
  color: var(--fc-cow-white);
  font-size: clamp(31px, 3.45vw, 48px);
  letter-spacing: 0;
  line-height: 1.15;
}

.fc-cow-page .fc-cow-hero__subtitle {
  max-width: 700px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-hero__badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 30px;
}

.fc-cow-page .fc-cow-hero__badge {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--fc-cow-radius-sm);
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.045);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-hero__badge-icon {
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid rgba(255, 210, 74, 0.7);
  border-radius: 50%;
}

.fc-cow-page .fc-cow-hero__badge-icon::after {
  position: absolute;
  top: 6px;
  left: 8px;
  width: 6px;
  height: 10px;
  content: "";
  border-right: 2px solid var(--fc-cow-accent-yellow);
  border-bottom: 2px solid var(--fc-cow-accent-yellow);
  transform: rotate(42deg);
}

.fc-cow-page .fc-cow-hero__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin-top: 30px;
}

.fc-cow-page .fc-cow-hero__actions .fc-cow-button {
  flex: 1 1 0;
  min-height: 50px;
  justify-content: center;
  padding: 14px 16px;
  border: var(--fc-cow-border-soft);
  border-color: rgba(255, 210, 74, 0.85);
  border-radius: var(--fc-cow-radius-md);
  color: var(--fc-cow-deep-navy);
  background: var(--fc-cow-accent-yellow);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  white-space: nowrap;
  box-shadow: 0 14px 28px rgba(255, 210, 74, 0.22);
}

.fc-cow-page .fc-cow-hero__actions .fc-cow-button:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 210, 74, 0.85);
  color: var(--fc-cow-deep-navy);
  background: var(--fc-cow-accent-yellow);
  box-shadow: 0 18px 34px rgba(255, 210, 74, 0.26);
}

.fc-cow-page .fc-cow-hero__panel {
  display: grid;
  gap: 15px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(5, 18, 34, 0.82), rgba(5, 18, 34, 0.68)),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.fc-cow-page .fc-cow-hero__panel-top,
.fc-cow-page .fc-cow-hero__panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.fc-cow-page .fc-cow-hero__metric-card,
.fc-cow-page .fc-cow-hero__mini-card,
.fc-cow-page .fc-cow-hero__map-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-hero__panel-label,
.fc-cow-page .fc-cow-hero__map-scale {
  display: block;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}

.fc-cow-page .fc-cow-hero__panel-value {
  display: block;
  margin-top: 10px;
  color: var(--fc-cow-white);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-hero__panel-unit {
  font-family: inherit;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.52em;
  font-weight: 400;
}

.fc-cow-page .fc-cow-hero__panel-currency {
  font-family: inherit;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1em;
  font-weight: 400;
}

.fc-cow-page .fc-cow-hero__source-card {
  grid-column: 1 / -1;
}

.fc-cow-page .fc-cow-hero__source-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}

.fc-cow-page .fc-cow-hero__source-card .fc-cow-hero__source-list:first-child {
  margin-top: 0;
}

.fc-cow-page .fc-cow-hero__source-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-hero__source-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.fc-cow-page .fc-cow-hero__source-item strong {
  color: var(--fc-cow-white);
  font-size: 17px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-hero__source-item strong span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.72em;
  font-weight: 750;
}

.fc-cow-page .fc-cow-hero__source-bars {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.fc-cow-page .fc-cow-hero__source-bar {
  display: block;
  height: 6px;
  width: 18%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
}

.fc-cow-page .fc-cow-hero__source-bar--state {
  background: linear-gradient(90deg, rgba(147, 197, 253, 0.9), rgba(0, 70, 126, 0.82));
}

.fc-cow-page .fc-cow-hero__source-bar--local {
  background: rgba(255, 210, 74, 0.72);
}

.fc-cow-page .fc-cow-hero__source-bar--partners {
  background: rgba(191, 219, 254, 0.78);
}

.fc-cow-page .fc-cow-hero__source-bar--scale-1 {
  width: 20%;
}

.fc-cow-page .fc-cow-hero__source-bar--scale-2 {
  width: 40%;
}

.fc-cow-page .fc-cow-hero__source-bar--scale-3 {
  width: 60%;
}

.fc-cow-page .fc-cow-hero__source-bar--scale-4 {
  width: 80%;
}

.fc-cow-page .fc-cow-hero__source-bar--scale-5 {
  width: 100%;
}

.fc-cow-page .fc-cow-hero__map-card {
  position: relative;
  min-height: 276px;
}

.fc-cow-page .fc-cow-hero__map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.fc-cow-page .fc-cow-hero__map-frame {
  position: relative;
  width: min(100%, 440px);
  min-height: 202px;
  margin: 22px 0 0 auto;
  display: grid;
  place-items: center;
  padding-left: 34px;
}

.fc-cow-page .fc-cow-hero__map-frame::after {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 2px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(210, 230, 255, 0.24), transparent);
}

.fc-cow-page .fc-cow-hero__map-canvas {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 202px;
  display: grid;
  place-items: center;
}

.fc-cow-page .fc-cow-hero__map-canvas svg {
  display: block;
  width: min(100%, 430px);
  height: auto;
  max-height: 212px;
  opacity: 0.96;
}

.fc-cow-page .fc-cow-hero__map-status {
  position: absolute;
  z-index: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 750;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region {
  stroke: rgba(215, 232, 251, 0.72);
  stroke-width: 0.55;
  vector-effect: non-scaling-stroke;
  transition: fill 180ms ease, opacity 180ms ease, stroke 180ms ease;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-1 {
  fill: #eaf3ff;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-2 {
  fill: #cfe2ff;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-3 {
  fill: #9bc2f5;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-4 {
  fill: #5a91e6;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-5 {
  fill: #1f63c8;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--scale-6 {
  fill: #084a9c;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--no-data {
  fill: transparent;
  opacity: 1;
}

.fc-cow-page .fc-cow-hero__map-frame .fc-cow-map__region--active {
  stroke: rgba(255, 210, 74, 0.96);
  stroke-width: 1.35;
  opacity: 1;
}

.fc-cow-page .fc-cow-hero__map-info {
  position: absolute;
  left: 17px;
  bottom: 15px;
  z-index: 2;
  display: grid;
  gap: 4px;
  max-width: min(260px, calc(100% - 34px));
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.68);
  background: rgba(5, 18, 34, 0.78);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.28;
  opacity: 0;
  pointer-events: none;
  transform: translateY(3px);
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.fc-cow-page .fc-cow-hero__map-info--active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.fc-cow-page .fc-cow-hero__map-info strong {
  color: var(--fc-cow-white);
  font-weight: 850;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-hero__container {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-hero__content {
    max-width: 880px;
  }

  .fc-cow-page .fc-cow-hero__badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fc-cow-page .fc-cow-hero__actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-hero {
    min-height: 0;
  }

  .fc-cow-page .fc-cow-hero__badges,
  .fc-cow-page .fc-cow-hero__panel-top,
  .fc-cow-page .fc-cow-hero__panel-grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-hero__panel {
    padding: 12px;
    border-radius: 20px;
  }

  .fc-cow-page .fc-cow-hero__actions {
    flex-direction: column;
  }

  .fc-cow-page .fc-cow-hero__actions .fc-cow-button {
    width: 100%;
    flex: 0 0 auto;
    white-space: normal;
  }

  .fc-cow-page .fc-cow-hero__map-frame {
    min-height: 160px;
    width: 100%;
    padding-left: 0;
    margin-right: auto;
  }

  .fc-cow-page .fc-cow-hero__map-canvas,
  .fc-cow-page .fc-cow-hero__map-canvas svg {
    max-height: 160px;
    min-height: 160px;
  }

  .fc-cow-page .fc-cow-hero__map-info {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin-top: 12px;
  }
}


/* component: metrics */
.fc-cow-page .fc-cow-metrics-strip {
  padding: 26px 0 30px;
  background: var(--fc-cow-white);
  box-shadow: 0 -1px 0 rgba(220, 230, 242, 0.82), 0 1px 0 rgba(220, 230, 242, 0.82);
}

.fc-cow-page .fc-cow-metrics-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.fc-cow-page .fc-cow-metric-card {
  display: grid;
  min-height: 166px;
  align-content: start;
  padding: 22px 20px;
  border-color: rgba(0, 70, 126, 0.14);
  border-radius: 16px;
  box-shadow: none;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-metric-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-metric-card__icon {
  position: relative;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  color: var(--fc-cow-primary-blue);
  border: 1px solid rgba(0, 70, 126, 0.18);
  border-radius: 12px;
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-metric-card__icon::before,
.fc-cow-page .fc-cow-metric-card__icon::after {
  position: absolute;
  content: "";
}

.fc-cow-page .fc-cow-metric-card__icon::before {
  left: 8px;
  top: 8px;
  width: 16px;
  height: 5px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.fc-cow-page .fc-cow-metric-card__icon::after {
  left: 8px;
  top: 13px;
  width: 16px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-radius: 0 0 50% 50%;
}

.fc-cow-page .fc-cow-metric-card__icon--chart::before {
  left: 8px;
  top: 18px;
  width: 4px;
  height: 8px;
  border: 0;
  border-radius: 2px;
  background: currentColor;
  box-shadow: 7px -6px 0 currentColor, 14px -12px 0 currentColor;
}

.fc-cow-page .fc-cow-metric-card__icon--chart::after {
  left: 7px;
  top: 8px;
  width: 18px;
  height: 16px;
  border: 0;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-radius: 0;
}

.fc-cow-page .fc-cow-metric-card__icon--calendar::before {
  left: 8px;
  top: 9px;
  width: 16px;
  height: 15px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.fc-cow-page .fc-cow-metric-card__icon--calendar::after {
  left: 11px;
  top: 14px;
  width: 10px;
  height: 2px;
  border: 0;
  border-radius: 0;
  background: currentColor;
}

.fc-cow-page .fc-cow-metric-card__icon--shield::before {
  left: 9px;
  top: 7px;
  width: 16px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 9px 9px 12px 12px;
  clip-path: polygon(50% 0, 100% 20%, 90% 78%, 50% 100%, 10% 78%, 0 20%);
}

.fc-cow-page .fc-cow-metric-card__icon--shield::after {
  left: 14px;
  top: 13px;
  width: 5px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(42deg);
}

.fc-cow-page .fc-cow-metric-card__icon--briefcase::before {
  left: 7px;
  top: 12px;
  width: 20px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.fc-cow-page .fc-cow-metric-card__icon--briefcase::after {
  left: 13px;
  top: 8px;
  width: 8px;
  height: 6px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.fc-cow-page .fc-cow-metric-card__value {
  display: block;
  color: var(--fc-cow-primary-blue);
  font-size: clamp(28px, 2.2vw, 36px);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.05;
}

.fc-cow-page .fc-cow-metric-card__value--currency {
  white-space: nowrap;
}

.fc-cow-page .fc-cow-metric-card__currency,
.fc-cow-page .fc-cow-metric-card__unit {
  font-family: inherit;
  font-size: 1em;
  font-weight: 850;
  line-height: inherit;
}

.fc-cow-page .fc-cow-metric-card__number {
  font-family: inherit;
  font-size: 1em;
  font-weight: 850;
  line-height: inherit;
}

.fc-cow-page .fc-cow-metric-card__unit {
  font-size: 1em;
}

.fc-cow-page .fc-cow-metric-card__label {
  display: block;
  margin-top: 10px;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

.fc-cow-page .fc-cow-metric-card__text {
  margin: 7px 0 0;
  color: var(--fc-cow-text-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.42;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-metrics-strip__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-metrics-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fc-cow-page .fc-cow-metric-card {
    min-height: 160px;
    padding: 18px;
  }
}

@media (max-width: 480px) {
  .fc-cow-page .fc-cow-metrics-strip__grid {
    grid-template-columns: 1fr;
  }
}


/* component: methodology */
.fc-cow-page .fc-cow-methodology {
  background:
    linear-gradient(180deg, #edf4fb 0%, #f7fafd 46%, #e9f1f8 100%);
}

.fc-cow-page .fc-cow-methodology__layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

.fc-cow-page .fc-cow-methodology__content {
  position: sticky;
  top: 32px;
  display: grid;
  gap: 18px;
  max-width: 540px;
}

.fc-cow-page .fc-cow-methodology__text {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.72;
}

.fc-cow-page .fc-cow-methodology__pipeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.fc-cow-page .fc-cow-methodology__step {
  position: relative;
  min-width: 0;
  padding: 22px;
  border: var(--fc-cow-border-soft);
  border-radius: var(--fc-cow-radius-lg);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-methodology__step:nth-child(2n)::after,
.fc-cow-page .fc-cow-methodology__step:last-child::after {
  display: none;
}

.fc-cow-page .fc-cow-methodology__step-icon {
  position: relative;
  display: inline-grid;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  place-items: center;
  border: 1px solid rgba(0, 70, 126, 0.16);
  border-radius: 14px;
  color: var(--fc-cow-primary-blue);
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-methodology__step-title {
  max-width: min(100%, 280px);
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-size: 17px;
  font-weight: 850;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-methodology__step-text {
  margin: 10px 0 0;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 1023px) {
  .fc-cow-page .fc-cow-methodology__layout {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-methodology__content {
    position: static;
    max-width: 820px;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-methodology__pipeline {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-methodology__pipeline::before,
  .fc-cow-page .fc-cow-methodology__step::after {
    display: none;
  }

  .fc-cow-page .fc-cow-methodology__step {
    padding: 20px;
  }
}


/* component: what-we-track */
.fc-cow-page .fc-cow-track {
  background:#ffffff;
}

.fc-cow-page .fc-cow-track__header {
  align-items: start;
}

.fc-cow-page .fc-cow-track__intro {
  max-width: 560px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-track__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.fc-cow-page .fc-cow-track-card {
  position: relative;
  min-width: 0;
  min-height: 190px;
  padding: 22px;
  overflow: hidden;
  border: var(--fc-cow-border-soft);
  border-radius: 18px;
  background: var(--fc-cow-card-bg);
  box-shadow: none;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-track-card:nth-child(2n) {
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.fc-cow-page .fc-cow-track-card--placeholder {
  border-style: dashed;
  border-color: rgba(0, 70, 126, 0.18);
  background: linear-gradient(180deg, #fbfdff, #f4f8fd);
}

.fc-cow-page .fc-cow-track-card--placeholder::after {
  background: rgba(0, 70, 126, 0.035);
}

.fc-cow-page .fc-cow-track-card::after {
  position: absolute;
  right: -34px;
  bottom: -42px;
  width: 112px;
  height: 112px;
  content: "";
  border-radius: 50%;
  background: rgba(0, 70, 126, 0.06);
}

.fc-cow-page .fc-cow-track-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-track-card--placeholder:hover {
  border-color: rgba(0, 70, 126, 0.24);
  box-shadow: none;
}

.fc-cow-page .fc-cow-track-card__icon {
  position: relative;
  display: inline-grid;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  place-items: center;
  border: 1px solid rgba(0, 70, 126, 0.16);
  border-radius: 14px;
  color: var(--fc-cow-primary-blue);
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-track-card__icon::before,
.fc-cow-page .fc-cow-track-card__icon::after {
  position: absolute;
  content: "";
}

.fc-cow-page .fc-cow-track-card__icon::before {
  left: 11px;
  top: 11px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 5px;
}

.fc-cow-page .fc-cow-track-card__icon::after {
  left: 16px;
  top: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--recovery::before {
  top: 18px;
  height: 10px;
  border-radius: 10px 10px 4px 4px;
}

.fc-cow-page .fc-cow-track-card__icon--state::before,
.fc-cow-page .fc-cow-track-card__icon--local::before,
.fc-cow-page .fc-cow-track-card__icon--ifo::before {
  top: 18px;
  height: 12px;
  border-radius: 0;
  border-top: 0;
}

.fc-cow-page .fc-cow-track-card__icon--state::after,
.fc-cow-page .fc-cow-track-card__icon--local::after,
.fc-cow-page .fc-cow-track-card__icon--ifo::after {
  left: 9px;
  top: 11px;
  width: 22px;
  height: 8px;
  border: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--aid::before {
  border-radius: 50%;
}

.fc-cow-page .fc-cow-track-card__icon--aid::after {
  left: 10px;
  top: 20px;
  width: 20px;
  height: 2px;
  border: 0;
  background: currentColor;
  box-shadow: 0 -7px 0 rgba(0, 70, 126, 0.28), 0 7px 0 rgba(0, 70, 126, 0.28);
}

.fc-cow-page .fc-cow-track-card__icon--facility::before {
  left: 10px;
  top: 10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.fc-cow-page .fc-cow-track-card__icon--facility::after {
  left: 19px;
  top: 8px;
  width: 2px;
  height: 24px;
  border: 0;
  background: currentColor;
  box-shadow: -8px 9px 0 -1px currentColor, 8px 9px 0 -1px currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--sectors::before {
  left: 10px;
  top: 10px;
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 3px;
  background: currentColor;
  box-shadow: 12px 0 0 currentColor, 0 12px 0 currentColor, 12px 12px 0 currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--sectors::after {
  left: 17px;
  top: 17px;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(0, 70, 126, 0.34);
  border-radius: 50%;
}

.fc-cow-page .fc-cow-track-card__icon--placeholder {
  color: rgba(0, 70, 126, 0.5);
  background: rgba(234, 243, 255, 0.62);
}

.fc-cow-page .fc-cow-track-card__icon--placeholder::before {
  left: 12px;
  top: 12px;
  width: 16px;
  height: 16px;
  border: 1px dashed currentColor;
  border-radius: 50%;
}

.fc-cow-page .fc-cow-track-card__icon--placeholder::after {
  left: 19px;
  top: 15px;
  width: 2px;
  height: 10px;
  border: 0;
  background: currentColor;
  box-shadow: -4px 4px 0 -1px currentColor, 4px 4px 0 -1px currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--data-quality::before {
  left: 10px;
  top: 11px;
  width: 20px;
  height: 18px;
  border-radius: 4px;
}

.fc-cow-page .fc-cow-track-card__icon--data-quality::after {
  left: 14px;
  top: 16px;
  width: 12px;
  height: 7px;
  border: 0;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
}

.fc-cow-page .fc-cow-track-card__icon--procurement::before {
  top: 16px;
  width: 19px;
  height: 12px;
  border-radius: 3px;
}

.fc-cow-page .fc-cow-track-card__icon--procurement::after {
  left: 12px;
  top: 11px;
  width: 16px;
  height: 8px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.fc-cow-page .fc-cow-track-card__icon--infrastructure::before {
  left: 9px;
  top: 20px;
  width: 24px;
  height: 2px;
  border: 0;
  background: currentColor;
  box-shadow: 4px -8px 0 -1px currentColor, 14px -8px 0 -1px currentColor, 8px 8px 0 -1px currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--education::before {
  left: 9px;
  top: 13px;
  width: 24px;
  height: 12px;
  border: 0;
  clip-path: polygon(50% 0, 100% 36%, 50% 72%, 0 36%);
  background: currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--education::after {
  left: 18px;
  top: 23px;
  width: 6px;
  height: 8px;
  border: 0;
  border-radius: 0 0 6px 6px;
  background: currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--housing::before {
  top: 17px;
  height: 13px;
  border-radius: 3px;
}

.fc-cow-page .fc-cow-track-card__icon--housing::after {
  left: 10px;
  top: 10px;
  width: 21px;
  height: 14px;
  border: 0;
  clip-path: polygon(50% 0, 100% 48%, 100% 58%, 50% 16%, 0 58%, 0 48%);
  background: currentColor;
}

.fc-cow-page .fc-cow-track-card__icon--investment::before {
  border-radius: 50%;
}

.fc-cow-page .fc-cow-track-card__icon--investment::after {
  left: 18px;
  top: 9px;
  width: 2px;
  height: 22px;
  border: 0;
  background: currentColor;
  box-shadow: -7px 7px 0 currentColor, 7px -7px 0 currentColor;
  transform: rotate(45deg);
}

.fc-cow-page .fc-cow-track-card__title {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-size: 17px;
  font-weight: 850;
  line-height: 1.28;
}

.fc-cow-page .fc-cow-track-card__text {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.fc-cow-page .fc-cow-track-card--placeholder .fc-cow-track-card__title {
  color: rgba(17, 34, 54, 0.72);
}

.fc-cow-page .fc-cow-track-card--placeholder .fc-cow-track-card__text {
  color: rgba(61, 75, 92, 0.74);
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-track__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-track__grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-track-card {
    min-height: 0;
  }
}


/* component: dashboards */
.fc-cow-page .fc-cow-dashboard-showcase {
  background:
    linear-gradient(180deg, #edf4fb 0%, #f7fafd 46%, #e9f1f8 100%);
}

.fc-cow-page .fc-cow-dashboard-showcase__header {
  align-items: start;
  row-gap: 20px;
}

.fc-cow-page .fc-cow-dashboard-showcase__intro-block {
  display: grid;
  max-width: 620px;
  gap: 16px;
  justify-items: start;
}

.fc-cow-page .fc-cow-dashboard-showcase__intro {
  max-width: none;
  margin: 0;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-dashboard-showcase__system {
  display: grid;
  gap: 20px;
}

.fc-cow-page .fc-cow-dashboard-flagship {
  position: relative;
  overflow: hidden;
  padding: clamp(18px, 2.6vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  color: var(--fc-cow-white);
  background:
    linear-gradient(135deg, rgba(5, 18, 34, 0.98), rgba(8, 29, 51, 0.94)),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, 40px 40px, 40px 40px;
  box-shadow: 0 28px 80px rgba(8, 29, 51, 0.24);
}

.fc-cow-page .fc-cow-dashboard-flagship::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(circle at 24% 18%, rgba(127, 181, 242, 0.16), transparent 30%),
    radial-gradient(circle at 86% 46%, rgba(255, 210, 74, 0.08), transparent 28%);
}

.fc-cow-page .fc-cow-dashboard-flagship__header,
.fc-cow-page .fc-cow-dashboard-flagship__workspace {
  position: relative;
  z-index: 1;
}

.fc-cow-page .fc-cow-dashboard-flagship__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.28fr);
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}

.fc-cow-page .fc-cow-dashboard-card__category {
  color: rgba(255, 210, 74, 0.86);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-flagship__title {
  max-width: 680px;
  min-width: 0;
  margin: 0;
  color: var(--fc-cow-white);
  font-size: clamp(30px, 3.3vw, 48px);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.04;
}

.fc-cow-page .fc-cow-dashboard-flagship__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.28fr);
  gap: 18px;
  align-items: stretch;
}

.fc-cow-page .fc-cow-dashboard-map {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(3, 14, 27, 0.78), rgba(5, 18, 34, 0.68)),
    linear-gradient(rgba(147, 197, 253, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 197, 253, 0.045) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-dashboard-map__surface {
  position: relative;
  display: grid;
  min-height: clamp(360px, 45vw, 560px);
  place-items: center;
  padding: clamp(18px, 3vw, 34px);
}

.fc-cow-page .fc-cow-dashboard-map__surface::after {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 22px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(210, 230, 255, 0.22), transparent);
}

.fc-cow-page .fc-cow-dashboard-map__base,
.fc-cow-page .fc-cow-dashboard-map__points {
  grid-area: 1 / 1;
  display: block;
  width: min(100%, 850px);
  height: auto;
  max-height: 500px;
}

.fc-cow-page .fc-cow-dashboard-map__base {
  position: relative;
  z-index: 0;
}

.fc-cow-page .fc-cow-dashboard-map__base svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  opacity: 0.72;
  filter: saturate(0.9) contrast(1.06);
}

.fc-cow-page .fc-cow-dashboard-map__points {
  position: relative;
  z-index: 1;
  overflow: visible;
  pointer-events: none;
}

.fc-cow-page .fc-cow-dashboard-map__points .fc-cow-dashboard-map__point {
  pointer-events: auto;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region {
  stroke: rgba(215, 232, 251, 0.62);
  stroke-width: 0.46;
  vector-effect: non-scaling-stroke;
  transition: fill 160ms ease, opacity 160ms ease, stroke 160ms ease, stroke-width 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-1 {
  fill: #eaf3ff;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-2 {
  fill: #cfe2ff;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-3 {
  fill: #9bc2f5;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-4 {
  fill: #5a91e6;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-5 {
  fill: #1f63c8;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--scale-6 {
  fill: #084a9c;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--no-data {
  fill: transparent;
  opacity: 1;
}

.fc-cow-page .fc-cow-dashboard-map__base .fc-cow-map__region--active {
  stroke: rgba(255, 210, 74, 0.94);
  stroke-width: 1.25;
  opacity: 1;
}

.fc-cow-page .fc-cow-dashboard-map__point {
  cursor: pointer;
  opacity: 0.82;
  stroke: rgba(5, 18, 34, 0.9);
  stroke-width: 0.9;
  vector-effect: non-scaling-stroke;
  transition: opacity 160ms ease, stroke 160ms ease, stroke-width 160ms ease, filter 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-map__point:hover,
.fc-cow-page .fc-cow-dashboard-map__point:focus {
  opacity: 1;
  outline: none;
  stroke: rgba(255, 255, 255, 0.88);
  stroke-width: 2;
  filter: drop-shadow(0 0 6px rgba(127, 181, 242, 0.42));
}

.fc-cow-page .fc-cow-dashboard-map__point--infrastructure {
  fill: #4ea3b8;
}

.fc-cow-page .fc-cow-dashboard-map__point--education {
  fill: #f2c94c;
}

.fc-cow-page .fc-cow-dashboard-map__point--healthcare {
  fill: #55c6a8;
}

.fc-cow-page .fc-cow-dashboard-map__point--housing {
  fill: #8bb8ff;
}

.fc-cow-page .fc-cow-dashboard-map__point--energy {
  fill: #e8a15f;
}

.fc-cow-page .fc-cow-dashboard-map__point--transport {
  fill: #f28e5c;
}

.fc-cow-page .fc-cow-dashboard-map__point--administration {
  fill: #b48ae8;
}

.fc-cow-page .fc-cow-dashboard-map__point--public {
  fill: #a8c7e8;
}

.fc-cow-page .fc-cow-dashboard-map__point--other {
  fill: #d7dee8;
}

.fc-cow-page .fc-cow-dashboard-map__point--filtered {
  opacity: 0;
  pointer-events: none;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 5px;
  width: min(280px, calc(100% - 36px));
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.66);
  background: rgba(5, 18, 34, 0.86);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip--active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip--rayon .fc-cow-dashboard-map__tooltip-type-row {
  display: none;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip-label {
  color: rgba(255, 210, 74, 0.82);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip strong {
  color: var(--fc-cow-white);
  font-size: 14px;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-dashboard-map__tooltip b {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 850;
}

.fc-cow-page .fc-cow-dashboard-flagship__side {
  display: grid;
  align-content: start;
  gap: 12px;
}

.fc-cow-page .fc-cow-dashboard-flagship__stat,
.fc-cow-page .fc-cow-dashboard-flagship__legend,
.fc-cow-page .fc-cow-dashboard-flagship__link {
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-dashboard-flagship__stat {
  display: grid;
  gap: 8px;
  padding: 17px;
}

.fc-cow-page .fc-cow-dashboard-flagship__stat > span {
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-flagship__stat strong {
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: var(--fc-cow-white);
  font-size: clamp(34px, 3.7vw, 52px);
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-dashboard-flagship__stat small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.42em;
  font-weight: 400;
  line-height: 1;
}

.fc-cow-page .fc-cow-dashboard-flagship__currency {
  color: rgba(255, 255, 255, 0.68);
  font-family: inherit;
  font-size: 1em;
  font-weight: 400;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend {
  display: grid;
  gap: 10px;
  padding: 17px;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-title {
  margin: 0 0 2px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, 0.72);
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
  text-align: left;
  transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-item:hover,
.fc-cow-page .fc-cow-dashboard-flagship__legend-item:focus-visible,
.fc-cow-page .fc-cow-dashboard-flagship__legend-item--active {
  color: var(--fc-cow-white);
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-item:focus-visible {
  outline: 2px solid rgba(255, 210, 74, 0.68);
  outline-offset: 4px;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-item--active .fc-cow-dashboard-flagship__legend-dot {
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.075), 0 0 0 1px rgba(255, 255, 255, 0.46);
}

.fc-cow-page .fc-cow-dashboard-flagship__range-legend {
  display: grid;
  gap: 8px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.fc-cow-page .fc-cow-dashboard-flagship__range-item {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch {
  width: 24px;
  height: 9px;
  flex: 0 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(221, 231, 241, 0.74);
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-1 {
  background: #eef5fc;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-2 {
  background: #d7e8f8;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-3 {
  background: #b9d5f2;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-4 {
  background: #5a91e6;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-5 {
  background: #1f63c8;
}

.fc-cow-page .fc-cow-dashboard-flagship__range-swatch--scale-6 {
  background: #084a9c;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.045);
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--all {
  background: linear-gradient(135deg, #8bb8ff 0 18%, #f2c94c 18% 36%, #55c6a8 36% 54%, #b48ae8 54% 72%, #4ea3b8 72% 86%, #f28e5c 86%);
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--infrastructure {
  background: #4ea3b8;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--education {
  background: #f2c94c;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--healthcare {
  background: #55c6a8;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--housing {
  background: #8bb8ff;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--energy {
  background: #e8a15f;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--transport {
  background: #f28e5c;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--administration {
  background: #b48ae8;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--public {
  background: #a8c7e8;
}

.fc-cow-page .fc-cow-dashboard-flagship__legend-dot--other {
  background: rgba(229, 231, 235, 0.88);
}

.fc-cow-page .fc-cow-dashboard-flagship__link,
.fc-cow-page .fc-cow-dashboard-card__link {
  display: inline-flex;
  min-height: 0;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  border-color: transparent;
  color: var(--fc-cow-white);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.1;
  text-decoration: none;
  transition: color var(--fc-cow-transition), transform var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dashboard-flagship__header .fc-cow-dashboard-flagship__link {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  justify-content: center;
  padding: 13px 20px;
  border: var(--fc-cow-border-soft);
  border-color: rgba(255, 210, 74, 0.85);
  border-radius: var(--fc-cow-radius-md);
  color: var(--fc-cow-deep-navy);
  background: var(--fc-cow-accent-yellow);
  box-shadow: 0 14px 28px rgba(255, 210, 74, 0.22);
  font-size: 15px;
  font-weight: 800;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), background var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dashboard-card:hover .fc-cow-dashboard-card__link,
.fc-cow-page .fc-cow-dashboard-card:focus-within .fc-cow-dashboard-card__link {
  transform: translateX(3px);
  color: rgba(255, 210, 74, 0.96);
}

.fc-cow-page .fc-cow-dashboard-flagship__link:hover {
  transform: translateY(-1px);
}

.fc-cow-page .fc-cow-dashboard-flagship__header .fc-cow-dashboard-flagship__link:hover {
  border-color: rgba(255, 210, 74, 0.85);
  background: var(--fc-cow-accent-yellow);
  box-shadow: 0 18px 34px rgba(255, 210, 74, 0.26);
}

.fc-cow-page .fc-cow-dashboard-showcase__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.fc-cow-page .fc-cow-dashboard-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(8, 29, 51, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(6, 26, 46, 0.98), rgba(8, 29, 51, 0.92)),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px;
  box-shadow: 0 20px 54px rgba(8, 29, 51, 0.14);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.fc-cow-page .fc-cow-dashboard-card:hover,
.fc-cow-page .fc-cow-dashboard-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(255, 210, 74, 0.42);
  box-shadow: 0 34px 86px rgba(8, 29, 51, 0.28), 0 0 0 1px rgba(127, 181, 242, 0.16);
}

.fc-cow-page .fc-cow-dashboard-card__surface {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.fc-cow-page .fc-cow-dashboard-card__surface:focus-visible {
  outline: 2px solid rgba(255, 210, 74, 0.86);
  outline-offset: -5px;
}

.fc-cow-page .fc-cow-dashboard-card__preview {
  position: relative;
  display: grid;
  gap: 13px;
  min-height: 0;
  padding: 18px 18px 16px;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025)),
    radial-gradient(circle at 18% 8%, rgba(127, 181, 242, 0.13), transparent 32%);
}

.fc-cow-page .fc-cow-dashboard-card__body {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 11px;
  align-content: stretch;
  padding: 18px 20px 20px;
}

.fc-cow-page .fc-cow-dashboard-card__title {
  margin: 0;
  color: var(--fc-cow-white);
  font-size: clamp(20px, 1.7vw, 22px);
  font-weight: 850;
  line-height: 1.16;
}

.fc-cow-page .fc-cow-dashboard-card__text {
  min-height: 0;
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
  line-height: 1.55;
}

.fc-cow-page .fc-cow-dashboard-card__metric-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fc-cow-page .fc-cow-dashboard-card__metric-row--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-cow-page .fc-cow-dashboard-card__metric {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
}

.fc-cow-page .fc-cow-dashboard-card__metric strong {
  color: var(--fc-cow-white);
  font-size: clamp(20px, 1.45vw, 25px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: 0;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-card__metric small,
.fc-cow-page .fc-cow-dashboard-card__funding-row small,
.fc-cow-page .fc-cow-dashboard-card__sector-row small,
.fc-cow-page .fc-cow-dashboard-card__ownership small {
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.25;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-card__funding {
  display: grid;
  gap: 10px;
}

.fc-cow-page .fc-cow-dashboard-card__funding-row {
  display: grid;
  grid-template-columns: 74px 72px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.fc-cow-page .fc-cow-dashboard-card__funding-row b {
  color: var(--fc-cow-white);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-card__bar {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

.fc-cow-page .fc-cow-dashboard-card__bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(90, 145, 230, 0.9), rgba(255, 210, 74, 0.66));
  box-shadow: 0 0 14px rgba(90, 145, 230, 0.28);
}

.fc-cow-page .fc-cow-dashboard-card__bar-fill--facility-2026 {
  width: 34%;
}

.fc-cow-page .fc-cow-dashboard-card__bar-fill--facility-2027 {
  width: 100%;
}

.fc-cow-page .fc-cow-dashboard-card__sector-structure,
.fc-cow-page .fc-cow-dashboard-card__ownership {
  display: grid;
  gap: 9px;
}

.fc-cow-page .fc-cow-dashboard-card__sector-row {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fc-cow-page .fc-cow-dashboard-card__sector-row b {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-card__stack {
  display: flex;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.fc-cow-page .fc-cow-dashboard-card__stack--2026 {
  width: 100%;
}

.fc-cow-page .fc-cow-dashboard-card__stack--2027 {
  width: 72.1%;
}

.fc-cow-page .fc-cow-dashboard-card__stack--2028 {
  width: 46.6%;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-energy {
  flex: 0 0 30.4%;
  background: #ffd24a;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-transport {
  flex: 0 0 23.4%;
  background: #5a91e6;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-health {
  flex: 0 0 16.2%;
  background: #8dd6c4;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-education {
  flex: 0 0 13.6%;
  background: #cfe2ff;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-municipal {
  flex: 0 0 8.2%;
  background: #9bc2f5;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-social {
  flex: 0 0 4.8%;
  background: #b48ae8;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2026-other {
  flex: 1 1 auto;
  background: rgba(255, 255, 255, 0.42);
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-energy {
  flex: 0 0 3%;
  background: #ffd24a;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-transport {
  flex: 0 0 30%;
  background: #5a91e6;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-health {
  flex: 0 0 11.6%;
  background: #8dd6c4;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-education {
  flex: 0 0 32.3%;
  background: #cfe2ff;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-municipal {
  flex: 0 0 7.6%;
  background: #9bc2f5;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-housing {
  flex: 0 0 9.1%;
  background: #f28e5c;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2027-other {
  flex: 1 1 auto;
  background: rgba(255, 255, 255, 0.42);
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2028-transport {
  flex: 0 0 35.2%;
  background: #5a91e6;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2028-health {
  flex: 0 0 9.2%;
  background: #8dd6c4;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2028-education {
  flex: 0 0 48.9%;
  background: #cfe2ff;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2028-municipal {
  flex: 0 0 2.5%;
  background: #9bc2f5;
}

.fc-cow-page .fc-cow-dashboard-card__stack-segment--2028-other {
  flex: 1 1 auto;
  background: rgba(255, 255, 255, 0.42);
}

.fc-cow-page .fc-cow-dashboard-card__ownership span {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding-top: 7px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.fc-cow-page .fc-cow-dashboard-card__ownership .fc-cow-dashboard-card__status {
  min-height: 70px;
  place-items: center;
  grid-template-columns: 1fr;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.045);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dashboard-card__ownership b {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-cow-page .fc-cow-dashboard-card__body .fc-cow-dashboard-card__link {
  align-self: end;
  margin-top: 4px;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-dashboard-flagship__workspace {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__header {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__header .fc-cow-dashboard-flagship__link {
    justify-self: start;
    width: min(100%, 320px);
  }

  .fc-cow-page .fc-cow-dashboard-flagship__side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fc-cow-page .fc-cow-dashboard-flagship__legend,
  .fc-cow-page .fc-cow-dashboard-flagship__range-legend {
    grid-column: 1 / -1;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fc-cow-page .fc-cow-dashboard-showcase__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-dashboard-flagship {
    padding: 14px;
    border-radius: 18px;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__header {
    gap: 14px;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__header .fc-cow-dashboard-flagship__link {
    width: 100%;
  }

  .fc-cow-page .fc-cow-dashboard-map__surface {
    min-height: 320px;
    padding: 12px;
  }

  .fc-cow-page .fc-cow-dashboard-map__base,
  .fc-cow-page .fc-cow-dashboard-map__points {
    width: 100%;
    max-height: 300px;
  }

  .fc-cow-page .fc-cow-dashboard-map__tooltip {
    position: relative;
    left: auto;
    bottom: auto;
    grid-area: auto;
    width: 100%;
    margin-top: 12px;
  }

  .fc-cow-page .fc-cow-dashboard-flagship__side,
  .fc-cow-page .fc-cow-dashboard-flagship__legend,
  .fc-cow-page .fc-cow-dashboard-showcase__cards {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-card__preview {
    padding: 15px;
  }

  .fc-cow-page .fc-cow-dashboard-card__text {
    min-height: 0;
  }

  .fc-cow-page .fc-cow-dashboard-card__metric-row,
  .fc-cow-page .fc-cow-dashboard-card__metric-row--three {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dashboard-card__funding-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .fc-cow-page .fc-cow-dashboard-card__sector-row b,
  .fc-cow-page .fc-cow-dashboard-card__ownership b {
    white-space: normal;
  }

  .fc-cow-page .fc-cow-dashboard-card__ownership span {
    grid-template-columns: 1fr;
  }
}


/* component: database-hub */
.fc-cow-page .fc-cow-database-hub {
  background: #ffffff;
}

.fc-cow-page .fc-cow-database-hub__header {
  align-items: start;
}

.fc-cow-page .fc-cow-database-hub__intro {
  max-width: 600px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-database-hub__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.fc-cow-page .fc-cow-dataset-card {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 14px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(0, 70, 126, 0.14);
  border-radius: 18px;
  background: var(--fc-cow-card-bg);
  box-shadow: none;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dataset-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, var(--fc-cow-primary-blue), var(--fc-cow-blue-300), var(--fc-cow-accent-yellow));
  opacity: 0.82;
}

.fc-cow-page .fc-cow-dataset-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-dataset-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fc-cow-page .fc-cow-dataset-card__icon {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(0, 70, 126, 0.16);
  border-radius: 14px;
  color: var(--fc-cow-primary-blue);
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-dataset-card__icon::before,
.fc-cow-page .fc-cow-dataset-card__icon::after {
  position: absolute;
  content: "";
}

.fc-cow-page .fc-cow-dataset-card__icon::before {
  left: 11px;
  top: 10px;
  width: 18px;
  height: 6px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.fc-cow-page .fc-cow-dataset-card__icon::after {
  left: 11px;
  top: 16px;
  width: 18px;
  height: 12px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-radius: 0 0 50% 50%;
}

.fc-cow-page .fc-cow-dataset-card__icon--budget::before {
  top: 17px;
  height: 12px;
  border-radius: 0;
  border-top: 0;
}

.fc-cow-page .fc-cow-dataset-card__icon--budget::after {
  left: 9px;
  top: 10px;
  width: 22px;
  height: 9px;
  border: 0;
  border-radius: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: currentColor;
}

.fc-cow-page .fc-cow-dataset-card__icon--facility::before {
  border-radius: 5px;
  height: 18px;
}

.fc-cow-page .fc-cow-dataset-card__icon--facility::after {
  left: 16px;
  top: 14px;
  width: 8px;
  height: 14px;
  border: 0;
  background: currentColor;
}

.fc-cow-page .fc-cow-dataset-card__icon--partners::before {
  border-radius: 50%;
}

.fc-cow-page .fc-cow-dataset-card__icon--partners::after {
  left: 10px;
  top: 20px;
  width: 20px;
  height: 2px;
  border: 0;
  background: currentColor;
  box-shadow: 0 -7px 0 rgba(0, 70, 126, 0.28), 0 7px 0 rgba(0, 70, 126, 0.28);
}

.fc-cow-page .fc-cow-dataset-card__icon--procurement::before {
  top: 16px;
  height: 12px;
  border-radius: 3px;
}

.fc-cow-page .fc-cow-dataset-card__icon--procurement::after {
  left: 13px;
  top: 10px;
  width: 14px;
  height: 8px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.fc-cow-page .fc-cow-dataset-card__badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 6px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dataset-card__badge--expense {
  border-color: rgba(0, 70, 126, 0.16);
  background: var(--fc-cow-primary-blue);
}

.fc-cow-page .fc-cow-dataset-card__badge--procurement {
  border-color: rgba(255, 205, 65, 0.42);
  color: var(--fc-cow-ink-900);
  background: var(--fc-cow-accent-yellow);
}

.fc-cow-page .fc-cow-dataset-card__category {
  color: var(--fc-cow-primary-blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dataset-card__title {
  min-height: 54px;
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.22;
}

.fc-cow-page .fc-cow-dataset-card__records {
  display: grid;
  gap: 2px;
  padding: 14px 0;
  border-top: 1px solid rgba(0, 70, 126, 0.1);
  border-bottom: 1px solid rgba(0, 70, 126, 0.1);
}

.fc-cow-page .fc-cow-dataset-card__records strong {
  color: var(--fc-cow-primary-blue);
  font-size: 28px;
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-dataset-card__records span,
.fc-cow-page .fc-cow-dataset-card__meta span {
  color: var(--fc-cow-text-muted);
  font-size: 13px;
  line-height: 1.35;
}

.fc-cow-page .fc-cow-dataset-card__meta {
  display: grid;
  gap: 6px;
}

.fc-cow-page .fc-cow-dataset-card__link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  color: var(--fc-cow-primary-blue);
  font-size: 15px;
  font-weight: 850;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-database-hub__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-database-hub__grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-dataset-card__title {
    min-height: 0;
  }
}


/* component: audiences */
.fc-cow-page .fc-cow-audience {
  background:
    linear-gradient(180deg, #f4f8fc 0%, #edf4fb 100%);
}

.fc-cow-page .fc-cow-audience__header {
  align-items: start;
}

.fc-cow-page .fc-cow-audience__intro {
  max-width: 580px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-audience__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.fc-cow-page .fc-cow-audience-card {
  position: relative;
  min-width: 0;
  min-height: 210px;
  padding: 24px;
  overflow: hidden;
  border: var(--fc-cow-border-soft);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: none;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-audience-card::after {
  position: absolute;
  right: -42px;
  bottom: -50px;
  width: 128px;
  height: 128px;
  content: "";
  border-radius: 50%;
  background: rgba(0, 70, 126, 0.05);
}

.fc-cow-page .fc-cow-audience-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-audience-card__icon {
  position: relative;
  display: inline-grid;
  width: 44px;
  height: 44px;
  margin-bottom: 20px;
  place-items: center;
  border: 1px solid rgba(0, 70, 126, 0.16);
  border-radius: 15px;
  color: var(--fc-cow-primary-blue);
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-audience-card__icon::before,
.fc-cow-page .fc-cow-audience-card__icon::after {
  position: absolute;
  content: "";
}

.fc-cow-page .fc-cow-audience-card__icon::before {
  left: 12px;
  top: 11px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.fc-cow-page .fc-cow-audience-card__icon::after {
  left: 10px;
  top: 27px;
  width: 22px;
  height: 8px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 12px 12px;
}

.fc-cow-page .fc-cow-audience-card__icon--state::before,
.fc-cow-page .fc-cow-audience-card__icon--local::before {
  top: 19px;
  height: 12px;
  border-radius: 0;
  border-top: 0;
}

.fc-cow-page .fc-cow-audience-card__icon--state::after,
.fc-cow-page .fc-cow-audience-card__icon--local::after {
  left: 9px;
  top: 11px;
  width: 24px;
  height: 10px;
  border: 0;
  border-radius: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: currentColor;
}

.fc-cow-page .fc-cow-audience-card__icon--media::before {
  left: 11px;
  top: 14px;
  width: 22px;
  height: 16px;
  border-radius: 4px;
}

.fc-cow-page .fc-cow-audience-card__icon--media::after {
  left: 15px;
  top: 19px;
  width: 14px;
  height: 2px;
  border: 0;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
}

.fc-cow-page .fc-cow-audience-card__icon--research::before {
  left: 11px;
  top: 11px;
  width: 15px;
  height: 15px;
}

.fc-cow-page .fc-cow-audience-card__icon--research::after {
  left: 25px;
  top: 25px;
  width: 10px;
  height: 2px;
  border: 0;
  background: currentColor;
  transform: rotate(45deg);
}

.fc-cow-page .fc-cow-audience-card__icon--experts::before,
.fc-cow-page .fc-cow-audience-card__icon--partners::before {
  border-radius: 50%;
  box-shadow: -9px 8px 0 -5px var(--fc-cow-blue-50), -9px 8px 0 -3px currentColor, 9px 8px 0 -5px var(--fc-cow-blue-50), 9px 8px 0 -3px currentColor;
}

.fc-cow-page .fc-cow-audience-card__icon--civil::before,
.fc-cow-page .fc-cow-audience-card__icon--citizens::before {
  border-radius: 8px;
}

.fc-cow-page .fc-cow-audience-card__title {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--fc-cow-text-primary);
  font-size: 18px;
  font-weight: 850;
  line-height: 1.25;
}

.fc-cow-page .fc-cow-audience-card__text {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-audience__grid {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-audience-card {
    min-height: 0;
  }
}


/* component: impact */
.fc-cow-page .fc-cow-impact {
  background: #ffffff;
}

.fc-cow-page .fc-cow-impact__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(420px, 0.58fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
}

.fc-cow-page .fc-cow-impact__content {
  display: grid;
  gap: 20px;
  max-width: 620px;
}

.fc-cow-page .fc-cow-impact__intro {
  max-width: 620px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-impact__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 8px;
}

.fc-cow-page .fc-cow-impact-stat {
  padding: 18px;
  border: var(--fc-cow-border-soft);
  border-radius: 16px;
  background: var(--fc-cow-card-bg);
}

.fc-cow-page .fc-cow-impact-stat strong {
  display: block;
  color: var(--fc-cow-primary-blue);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 850;
  line-height: 1;
}

.fc-cow-page .fc-cow-impact-stat span {
  display: block;
  margin-top: 7px;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  line-height: 1.35;
}

.fc-cow-page .fc-cow-impact__visuals {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(8, minmax(28px, auto));
  min-height: 430px;
  align-items: center;
}

.fc-cow-page .fc-cow-impact-publication {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 70, 126, 0.14);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(5, 15, 35, 0.02), rgba(5, 15, 35, 0.08)),
    var(--fc-cow-card-bg);
  box-shadow: 0 16px 42px rgba(8, 29, 51, 0.11);
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition), filter var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-impact-publication a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.fc-cow-page .fc-cow-impact-publication::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 15, 35, 0), rgba(5, 15, 35, 0.12));
}

.fc-cow-page .fc-cow-impact-publication:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 70, 126, 0.26);
  box-shadow: 0 22px 58px rgba(8, 29, 51, 0.15);
  filter: brightness(1.02);
}

.fc-cow-page .fc-cow-impact-publication__image {
  width: 100%;
  aspect-ratio: 3 / 4.24;
  object-fit: contain;
  background: #ffffff;
  image-rendering: auto;
}

.fc-cow-page .fc-cow-impact-publication--primary {
  z-index: 3;
  grid-column: 1 / span 5;
  grid-row: 2 / span 6;
}

.fc-cow-page .fc-cow-impact-publication--secondary {
  z-index: 2;
  grid-column: 5 / span 4;
  grid-row: 1 / span 5;
}

.fc-cow-page .fc-cow-impact-publication--tertiary {
  z-index: 1;
  grid-column: 8 / span 4;
  grid-row: 4 / span 5;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-impact__layout {
    grid-template-columns: minmax(0, 0.46fr) minmax(360px, 0.54fr);
    gap: clamp(28px, 4vw, 48px);
  }

  .fc-cow-page .fc-cow-impact__visuals {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-impact__layout {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-impact__stats,
  .fc-cow-page .fc-cow-impact__visuals {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-impact__visuals {
    display: grid;
    min-height: 0;
    gap: 16px;
  }

  .fc-cow-page .fc-cow-impact-publication--primary,
  .fc-cow-page .fc-cow-impact-publication--secondary,
  .fc-cow-page .fc-cow-impact-publication--tertiary {
    grid-column: auto;
    grid-row: auto;
    max-width: 360px;
    margin: 0 auto;
  }
}


/* component: international-dialogue */
.fc-cow-page .fc-cow-dialogue {
  background: linear-gradient(180deg, #f3f8fd 0%, #eaf2fa 100%);
}

.fc-cow-page .fc-cow-dialogue__header {
  align-items: start;
}

.fc-cow-page .fc-cow-dialogue__intro {
  max-width: 600px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-dialogue__logos {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.fc-cow-page .fc-cow-dialogue-logo {
  display: inline-flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  padding: 18px;
  border: var(--fc-cow-border-soft);
  border-radius: 18px;
  color: var(--fc-cow-text-primary);
  background: rgba(255, 255, 255, 0.82);
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dialogue-logo:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-dialogue__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.fc-cow-page .fc-cow-dialogue-card {
  position: relative;
  min-width: 0;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(0, 70, 126, 0.14);
  border-radius: var(--fc-cow-radius-lg);
  background: var(--fc-cow-card-bg);
  box-shadow: var(--fc-cow-shadow-soft);
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dialogue-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: 0 24px 60px rgba(8, 29, 51, 0.12);
}

.fc-cow-page .fc-cow-dialogue-card::after {
  position: absolute;
  right: -36px;
  top: -36px;
  width: 116px;
  height: 116px;
  content: "";
  border: 1px solid rgba(0, 70, 126, 0.12);
  border-radius: 50%;
}

.fc-cow-page .fc-cow-dialogue-card__label {
  color: var(--fc-cow-primary-blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cow-page .fc-cow-dialogue-card__title {
  margin: 14px 0 0;
  color: var(--fc-cow-text-primary);
  font-size: 22px;
  font-weight: 850;
  line-height: 1.18;
}

.fc-cow-page .fc-cow-dialogue-card__text {
  margin: 12px 0 0;
  color: var(--fc-cow-text-secondary);
  font-size: 15px;
  line-height: 1.58;
}

.fc-cow-page .fc-cow-dialogue__use-cases {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.fc-cow-page .fc-cow-dialogue-use {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid rgba(0, 70, 126, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  transition: transform var(--fc-cow-transition), border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-dialogue-use:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 70, 126, 0.22);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-dialogue-use__marker {
  position: relative;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: 1px;
  border: 1px solid rgba(0, 70, 126, 0.18);
  border-radius: 50%;
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-dialogue-use__marker::after {
  position: absolute;
  left: 6px;
  top: 4px;
  width: 5px;
  height: 8px;
  content: "";
  border-right: 2px solid var(--fc-cow-primary-blue);
  border-bottom: 2px solid var(--fc-cow-primary-blue);
  transform: rotate(42deg);
}

.fc-cow-page .fc-cow-dialogue-use p {
  margin: 0;
  color: var(--fc-cow-text-secondary);
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .fc-cow-page .fc-cow-dialogue__logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fc-cow-page .fc-cow-dialogue__use-cases {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .fc-cow-page .fc-cow-dialogue__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-dialogue__logos,
  .fc-cow-page .fc-cow-dialogue__use-cases {
    grid-template-columns: 1fr;
  }
}


/* component: faq */
.fc-cow-page .fc-cow-faq {
  background: #ffffff;
}

.fc-cow-page .fc-cow-faq__header {
  align-items: start;
}

.fc-cow-page .fc-cow-faq__intro {
  max-width: 600px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
}

.fc-cow-page .fc-cow-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.fc-cow-page .fc-cow-faq-item {
  min-width: 0;
  overflow: hidden;
  border: var(--fc-cow-border-soft);
  border-radius: 18px;
  background: var(--fc-cow-card-bg);
  box-shadow: none;
  transition: border-color var(--fc-cow-transition), box-shadow var(--fc-cow-transition), transform var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-faq-item:hover,
.fc-cow-page .fc-cow-faq-item.fc-cow-is-active {
  border-color: rgba(0, 70, 126, 0.28);
  box-shadow: var(--fc-cow-shadow-soft);
}

.fc-cow-page .fc-cow-faq-item:hover {
  transform: translateY(-1px);
}

.fc-cow-page .fc-cow-faq-item__heading {
  margin: 0;
}

.fc-cow-page .fc-cow-faq-item__button {
  display: flex;
  width: 100%;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border: 0;
  color: var(--fc-cow-text-primary);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
}

.fc-cow-page .fc-cow-faq-item__icon {
  position: relative;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid rgba(0, 70, 126, 0.16);
  border-radius: 50%;
  background: var(--fc-cow-blue-50);
}

.fc-cow-page .fc-cow-faq-item__icon::before,
.fc-cow-page .fc-cow-faq-item__icon::after {
  position: absolute;
  left: 8px;
  top: 13px;
  width: 10px;
  height: 2px;
  content: "";
  background: var(--fc-cow-primary-blue);
  transition: transform var(--fc-cow-transition);
}

.fc-cow-page .fc-cow-faq-item__icon::after {
  transform: rotate(90deg);
}

.fc-cow-page .fc-cow-faq-item.fc-cow-is-active .fc-cow-faq-item__icon::after {
  transform: rotate(0deg);
}

.fc-cow-page .fc-cow-faq-item__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 220ms ease;
}

.fc-cow-page .fc-cow-faq-item__panel p {
  margin: 0;
  padding: 0 22px 22px;
  color: var(--fc-cow-text-secondary);
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .fc-cow-page .fc-cow-faq__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-faq-item__button {
    min-height: 64px;
    padding: 18px;
  }

  .fc-cow-page .fc-cow-faq-item__panel p {
    padding: 0 18px 18px;
  }
}


/* component: final-cta */
.fc-cow-page .fc-cow-final-cta {
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(6, 26, 46, 0.98), rgba(8, 29, 51, 0.95)),
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: auto, 56px 56px, 56px 56px;
}

.fc-cow-page .fc-cow-final-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(320px, 0.38fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: center;
  padding: clamp(32px, 5vw, 58px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--fc-cow-radius-section);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: var(--fc-cow-shadow-panel);
}

.fc-cow-page .fc-cow-final-cta__panel::after {
  position: absolute;
  right: -80px;
  bottom: -110px;
  width: 360px;
  height: 360px;
  content: "";
  border: 1px solid rgba(255, 210, 74, 0.18);
  border-radius: 50%;
}

.fc-cow-page .fc-cow-final-cta__content,
.fc-cow-page .fc-cow-final-cta__actions {
  position: relative;
  z-index: 1;
}

.fc-cow-page .fc-cow-final-cta__kicker {
  color: var(--fc-cow-accent-yellow);
}

.fc-cow-page .fc-cow-final-cta__title {
  max-width: 820px;
  color: var(--fc-cow-white);
}

.fc-cow-page .fc-cow-final-cta__text {
  max-width: 780px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.65;
}

.fc-cow-page .fc-cow-final-cta__actions {
  display: grid;
  gap: 12px;
  justify-items: stretch;
}

@media (max-width: 1023px) {
  .fc-cow-page .fc-cow-final-cta__panel {
    grid-template-columns: 1fr;
  }

  .fc-cow-page .fc-cow-final-cta__actions {
    max-width: 420px;
  }
}

@media (max-width: 767px) {
  .fc-cow-page .fc-cow-final-cta__panel {
    padding: 26px;
    border-radius: 24px;
  }

  .fc-cow-page .fc-cow-final-cta__actions {
    max-width: none;
  }
}


/* style: icons.css */
.fc-cow-page :is(
  .fc-cow-metric-card__icon,
  .fc-cow-methodology__step-icon,
  .fc-cow-track-card__icon,
  .fc-cow-dataset-card__icon,
  .fc-cow-audience-card__icon
) {
  --fc-cow-icon-mask: var(--fc-cow-icon-database);
  position: relative;
  display: inline-grid;
  place-items: center;
  color: var(--fc-cow-primary-blue);
  border: 1px solid rgba(0, 70, 126, 0.16);
  background: var(--fc-cow-blue-50);
}

.fc-cow-page :is(
  .fc-cow-metric-card__icon,
  .fc-cow-methodology__step-icon,
  .fc-cow-track-card__icon,
  .fc-cow-dataset-card__icon,
  .fc-cow-audience-card__icon
)::before {
  position: static;
  display: block;
  width: 21px;
  height: 21px;
  content: "";
  border: 0;
  border-radius: 0;
  background: currentColor;
  box-shadow: none;
  clip-path: none;
  transform: none;
  -webkit-mask: var(--fc-cow-icon-mask) center / contain no-repeat;
  mask: var(--fc-cow-icon-mask) center / contain no-repeat;
}

.fc-cow-page .fc-cow-methodology__step-icon {
  position: relative;
  top: auto;
  right: auto;
}

.fc-cow-page .fc-cow-methodology__step-title {
  padding-top: 0;
}

.fc-cow-page :is(
  .fc-cow-metric-card__icon,
  .fc-cow-methodology__step-icon,
  .fc-cow-track-card__icon,
  .fc-cow-dataset-card__icon,
  .fc-cow-audience-card__icon
)::after {
  display: none;
}

.fc-cow-page {
  --fc-cow-icon-database: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14c0 1.7 4 3 9 3s9-1.3 9-3V5'/%3E%3Cpath d='M3 12c0 1.7 4 3 9 3s9-1.3 9-3'/%3E%3C/svg%3E");
  --fc-cow-icon-shield-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 8.9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.6a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --fc-cow-icon-chart-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
  --fc-cow-icon-layout-dashboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
  --fc-cow-icon-file-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
  --fc-cow-icon-search-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m8.5 11 1.8 1.8 3.7-4'/%3E%3C/svg%3E");
  --fc-cow-icon-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2'/%3E%3Cpath d='M9 22v-4h6v4'/%3E%3Cpath d='M8 6h.01'/%3E%3Cpath d='M16 6h.01'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3C/svg%3E");
  --fc-cow-icon-folder-kanban: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7l-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2Z'/%3E%3Cpath d='M8 10v6'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M16 10v2'/%3E%3C/svg%3E");
  --fc-cow-icon-wallet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7V5a2 2 0 0 0-2-2H5a3 3 0 0 0 0 6h14a2 2 0 0 1 2 2v2h-5a2 2 0 0 0 0 4h5v2a2 2 0 0 1-2 2H5a3 3 0 0 1-3-3V6'/%3E%3Cpath d='M16 13h.01'/%3E%3C/svg%3E");
  --fc-cow-icon-graduation-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3Cpath d='M22 10v6'/%3E%3C/svg%3E");
  --fc-cow-icon-landmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M6 18v-7'/%3E%3Cpath d='M10 18v-7'/%3E%3Cpath d='M14 18v-7'/%3E%3Cpath d='M18 18v-7'/%3E%3Cpath d='m12 2 9 5H3z'/%3E%3C/svg%3E");
  --fc-cow-icon-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 0 20'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 0 0 20'/%3E%3C/svg%3E");
  --fc-cow-icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --fc-cow-icon-newspaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4H6a2 2 0 0 0-2 2v16Z'/%3E%3Cpath d='M4 22a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M10 6h8v4h-8z'/%3E%3C/svg%3E");
  --fc-cow-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --fc-cow-icon-clipboard-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");
}

.fc-cow-page .fc-cow-metric-card__icon--chart,
.fc-cow-page .fc-cow-track-card__icon--sectors {
  --fc-cow-icon-mask: var(--fc-cow-icon-chart-line);
}

.fc-cow-page .fc-cow-metric-card__icon--calendar {
  --fc-cow-icon-mask: var(--fc-cow-icon-calendar);
}

.fc-cow-page .fc-cow-metric-card__icon--shield,
.fc-cow-page .fc-cow-track-card__icon--data-quality,
.fc-cow-page .fc-cow-audience-card__icon--civil,
.fc-cow-page .fc-cow-audience-card__icon--citizens {
  --fc-cow-icon-mask: var(--fc-cow-icon-shield-check);
}

.fc-cow-page .fc-cow-metric-card__icon--briefcase,
.fc-cow-page .fc-cow-track-card__icon--aid,
.fc-cow-page .fc-cow-dataset-card__icon--partners {
  --fc-cow-icon-mask: var(--fc-cow-icon-globe);
}

.fc-cow-page .fc-cow-methodology__step-icon--source,
.fc-cow-page .fc-cow-methodology__step-icon--requests {
  --fc-cow-icon-mask: var(--fc-cow-icon-file-text);
}

.fc-cow-page .fc-cow-methodology__step-icon--payments,
.fc-cow-page .fc-cow-dataset-card__icon--budget {
  --fc-cow-icon-mask: var(--fc-cow-icon-wallet);
}

.fc-cow-page .fc-cow-methodology__step-icon--resolve,
.fc-cow-page .fc-cow-track-card__icon--placeholder {
  --fc-cow-icon-mask: var(--fc-cow-icon-search-check);
}

.fc-cow-page .fc-cow-methodology__step-icon--datasets {
  --fc-cow-icon-mask: var(--fc-cow-icon-database);
}

.fc-cow-page .fc-cow-track-card__icon--recovery,
.fc-cow-page .fc-cow-track-card__icon--local,
.fc-cow-page .fc-cow-track-card__icon--housing,
.fc-cow-page .fc-cow-track-card__icon--infrastructure {
  --fc-cow-icon-mask: var(--fc-cow-icon-building);
}

.fc-cow-page .fc-cow-track-card__icon--state,
.fc-cow-page .fc-cow-track-card__icon--ifo,
.fc-cow-page .fc-cow-audience-card__icon--state,
.fc-cow-page .fc-cow-audience-card__icon--local {
  --fc-cow-icon-mask: var(--fc-cow-icon-landmark);
}

.fc-cow-page .fc-cow-track-card__icon--procurement,
.fc-cow-page .fc-cow-track-card__icon--investment,
.fc-cow-page .fc-cow-dataset-card__icon--procurement {
  --fc-cow-icon-mask: var(--fc-cow-icon-folder-kanban);
}

.fc-cow-page .fc-cow-track-card__icon--facility,
.fc-cow-page .fc-cow-dataset-card__icon--facility {
  --fc-cow-icon-mask: var(--fc-cow-icon-layout-dashboard);
}

.fc-cow-page .fc-cow-track-card__icon--education,
.fc-cow-page .fc-cow-audience-card__icon--research {
  --fc-cow-icon-mask: var(--fc-cow-icon-graduation-cap);
}

.fc-cow-page .fc-cow-audience-card__icon--media {
  --fc-cow-icon-mask: var(--fc-cow-icon-newspaper);
}

.fc-cow-page .fc-cow-audience-card__icon--experts,
.fc-cow-page .fc-cow-audience-card__icon--partners {
  --fc-cow-icon-mask: var(--fc-cow-icon-users);
}
