/* Page 4897: styles extracted from inline <style>. Typography follows the
   site scale from content.css (TildaSans, 17px body, 13px labels, the
   clamp() heading ladder). Brand accent: #FBD74A (ЗНМИ yellow). */

  .znm-case,
  .znm-case * {
    box-sizing: border-box;
  }

  .znm-case {
    --znm-accent: #fbd74a;
    --znm-accent-dark: #c9a516;
    --znm-accent-soft: rgba(251, 215, 74, 0.14);
    --znm-bg: #141310;
    --znm-surface: rgba(255, 255, 255, 0.085);
    --znm-surface-strong: rgba(255, 255, 255, 0.12);
    --znm-border: rgba(255, 255, 255, 0.2);
    --znm-text: #ffffff;
    --znm-muted: rgba(255, 255, 255, 0.92);
    --znm-faint: rgba(255, 255, 255, 0.76);
    --znm-radius: 6px;
    --znm-radius-sm: 6px;

    width: 100%;
    color: var(--znm-text);
    font-family: var(--uicore-primary-font-family, "TildaSans-"), sans-serif;
    line-height: 1.6;
  }

  .znm-case a {
    color: inherit;
  }

  .znm-shell {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 72px);
    border-radius: 6px;
    background:
      radial-gradient(circle at 92% 4%, rgba(251, 215, 74, 0.2), transparent 34%),
      linear-gradient(135deg, #131210 0%, #0d0c09 58%, #181604 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
  }

  .znm-shell::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
      linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(135deg, rgba(0, 0, 0, 0.82), transparent 70%);
  }

  .znm-content {
    position: relative;
    z-index: 1;
  }

  .znm-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 8px 12px;
    border: 1px solid rgba(251, 215, 74, 0.5);
    border-radius: 6px;
    color: #1a1604;
    background: var(--znm-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .znm-kicker::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 6px;
    background: #1a1604;
    box-shadow: 0 0 0 6px rgba(251, 215, 74, 0.32);
    flex: 0 0 auto;
  }

  .znm-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: end;
    margin-bottom: clamp(36px, 6vw, 72px);
  }

  .znm-lead {
    max-width: 760px;
    margin: 0;
    color: var(--znm-muted);
    font-size: 17px;
    line-height: 1.75;
  }

  .znm-side-card {
    padding: 24px;
    border-radius: var(--znm-radius);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.075));
    border: 1px solid var(--znm-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
  }

  .znm-side-label {
    margin: 0 0 12px;
    color: var(--znm-faint);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .znm-side-text {
    margin: 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.6;
  }

  .znm-side-link {
    display: inline-flex;
    margin-top: 18px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  .znm-side-link span {
    color: var(--znm-accent);
    margin-left: 8px;
  }

  .znm-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 clamp(42px, 6vw, 76px);
  }

  .znm-stat {
    min-height: 132px;
    padding: 22px;
    border-radius: var(--znm-radius-sm);
    background: rgba(255, 255, 255, 0.095);
    border: 1px solid rgba(255, 255, 255, 0.18);
  }

  .znm-stat strong {
    display: block;
    margin-bottom: 10px;
    color: var(--znm-accent);
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.1;
  }

  .znm-stat span {
    display: block;
    color: var(--znm-faint);
    font-size: 13px;
    line-height: 1.45;
  }

  .znm-section {
    margin-top: clamp(40px, 6vw, 76px);
  }

  .znm-section-head {
    display: grid;
    grid-template-columns: minmax(190px, 0.32fr) minmax(0, 0.68fr);
    gap: clamp(20px, 4vw, 48px);
    align-items: start;
    margin-bottom: 26px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  }

  .znm-section-label {
    margin: 0;
    color: var(--znm-accent);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .znm-section-title {
    margin: 0;
    color: #fff;
    font-size: clamp(23px, 2.8vw, 30px);
    font-weight: 700;
    line-height: 1.2;
  }

  .znm-section-copy {
    margin: 14px 0 0;
    max-width: 780px;
    color: var(--znm-muted);
    font-size: 17px;
    line-height: 1.75;
  }

  .znm-problem-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 18px;
  }

  .znm-problem-card {
    padding: clamp(22px, 3vw, 34px);
    border-radius: var(--znm-radius);
    background: var(--znm-surface);
    border: 1px solid var(--znm-border);
  }

  .znm-problem-card.is-accent {
    background: linear-gradient(135deg, rgba(251, 215, 74, 0.22), rgba(255, 255, 255, 0.085));
    border-color: rgba(251, 215, 74, 0.5);
  }

  .znm-problem-card h3,
  .znm-work-card h3,
  .znm-flow-card h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
  }

  .znm-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
  }

  .znm-list li {
    position: relative;
    padding-left: 22px;
    color: var(--znm-muted);
    font-size: 17px;
    line-height: 1.6;
  }

  .znm-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 7px;
    height: 7px;
    border-radius: 6px;
    background: var(--znm-accent);
  }

  .znm-work-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 18px;
  }

  .znm-work-card {
    min-height: 220px;
    padding: clamp(22px, 3vw, 32px);
    border-radius: var(--znm-radius);
    background: var(--znm-surface);
    border: 1px solid var(--znm-border);
  }

  .znm-work-card.is-wide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
    gap: 28px;
    align-items: start;
    background: linear-gradient(135deg, rgba(251, 215, 74, 0.2), rgba(255, 255, 255, 0.085));
    border-color: rgba(251, 215, 74, 0.46);
  }

  .znm-work-num {
    display: block;
    margin-bottom: 18px;
    color: var(--znm-accent);
    font-size: clamp(26px, 3.4vw, 38px);
    font-weight: 700;
    line-height: 1.1;
  }

  .znm-work-card p,
  .znm-flow-card p {
    margin: 0;
    color: var(--znm-muted);
    font-size: 17px;
    line-height: 1.6;
  }

  .znm-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .znm-flow-card {
    position: relative;
    padding: 26px 24px;
    border-radius: var(--znm-radius);
    background: rgba(255, 255, 255, 0.085);
    border: 1px solid rgba(255, 255, 255, 0.18);
  }

  .znm-flow-tag {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 6px 10px;
    border-radius: 6px;
    color: #1a1604;
    background: var(--znm-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .znm-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.45fr);
    gap: 18px;
    align-items: stretch;
  }

  .znm-result-main {
    padding: clamp(26px, 4vw, 44px);
    border-radius: 6px;
    background: #f6f6f4;
    color: #161616;
  }

  .znm-result-main h3 {
    margin: 0 0 14px;
    color: #161616;
    font-size: clamp(26px, 3.4vw, 38px);
    font-weight: 700;
    line-height: 1.2;
  }

  .znm-result-main p {
    margin: 0;
    max-width: 760px;
    color: rgba(22, 22, 22, 0.9);
    font-size: 17px;
    line-height: 1.75;
  }

  /* Brand-yellow result side: yellow background needs dark text, not white. */
  .znm-result-side {
    padding: 28px;
    border-radius: 6px;
    background: var(--znm-accent);
    color: #1a1604;
  }

  .znm-result-side strong {
    display: block;
    margin-bottom: 14px;
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.1;
  }

  .znm-result-side span {
    display: block;
    color: rgba(26, 22, 4, 0.86);
    font-size: 17px;
    line-height: 1.6;
  }

  .znm-note {
    margin: 22px 0 0;
    color: var(--znm-faint);
    font-size: 13px;
    line-height: 1.6;
  }

  /* Final screenshot of the launched site — sits inside the result section as a
     framed "browser window" with a caption tying it back to the story. */
  .znm-shot {
    margin: clamp(32px, 5vw, 56px) 0 0;
  }

  .znm-shot-frame {
    position: relative;
    padding: 14px 14px 0;
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05));
    border: 1px solid var(--znm-border);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
    overflow: hidden;
  }

  /* Three "traffic-light" dots read as a browser chrome without extra markup. */
  .znm-shot-frame::before {
    content: '';
    display: block;
    height: 14px;
    margin-bottom: 14px;
    background-image:
      radial-gradient(circle at 9px 7px, rgba(255, 95, 86, 0.85) 4px, transparent 4.5px),
      radial-gradient(circle at 27px 7px, rgba(255, 189, 46, 0.85) 4px, transparent 4.5px),
      radial-gradient(circle at 45px 7px, rgba(39, 201, 63, 0.85) 4px, transparent 4.5px);
  }

  .znm-shot-frame img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px 4px 0 0;
  }

  .znm-shot figcaption {
    margin: 16px 0 0;
    color: var(--znm-muted);
    font-size: 14px;
    line-height: 1.6;
  }

  @media (max-width: 560px) {
    .znm-shot-frame {
      padding: 10px 10px 0;
    }

    .znm-shot-frame::before {
      height: 10px;
      margin-bottom: 10px;
      background-size: auto;
    }
  }

  @media (max-width: 980px) {
    .znm-hero,
    .znm-section-head,
    .znm-problem-grid,
    .znm-work-grid,
    .znm-work-card.is-wide,
    .znm-flow,
    .znm-result {
      grid-template-columns: 1fr;
    }

    .znm-stats {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 560px) {
    .znm-shell {
      padding: 24px 18px;
      border-radius: 6px;
    }

    .znm-stats {
      grid-template-columns: 1fr;
    }

    .znm-stat {
      min-height: auto;
    }
  }
