.cert-cases-body {
    margin: 0;
    font: 16px/1.6 "Golos Text", sans-serif;
    background: #f5f8fc;
}

.cert-cases {
    --ink: #0f1830;
    --blue: #12408a;
    --sky: #dceafc;
    --muted: #52627a;
    --line: #d2dfef;
    color: var(--ink);
}

.cert-cases * { box-sizing: border-box; }
.cert-cases [hidden] { display: none !important; }
.cert-cases :focus-visible { outline: 3px solid #4e92eb; outline-offset: 4px; }
.cc-wrap { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }

.cc-hero {
    padding: 24px 0 clamp(42px, 7vw, 96px);
    color: white;
    background-color: #0e2f63;
    background-image: linear-gradient(110deg, #0f1830, transparent 100%),
        repeating-linear-gradient(90deg, transparent 0 59px, #bbd6f91c 59px 60px),
        repeating-linear-gradient(0deg, transparent 0 59px, #bbd6f91c 59px 60px);
}

.cc-crumbs { display: flex; flex-wrap: wrap; gap: 10px; color: var(--sky); font-size: .85rem; }
.cc-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cc-hero-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); align-items: end; gap: clamp(24px, 6vw, 76px); margin-top: clamp(30px, 5vw, 64px); }

.cert-cases h1, .cert-cases h2, .cert-cases h3 {
    font-family: "Manrope", "Golos Text", sans-serif;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.035em;
    margin: 0;
}

.cert-cases h1 { font-size: clamp(2rem, 5vw, 4.25rem); overflow-wrap: anywhere; }
.cert-cases h2 { font-size: clamp(1.45rem, 3vw, 2.35rem); }
.cert-cases h3 { font-size: clamp(1.25rem, 2.4vw, 1.65rem); }
.cc-label { font: 500 .76rem/1.45 "JetBrains Mono", monospace; letter-spacing: .085em; text-transform: uppercase; color: var(--blue); margin: 0 0 12px; }
.cc-hero .cc-label, .cc-intro { color: var(--sky); }
.cc-intro { max-width: 58ch; font-size: clamp(1rem, 1.5vw, 1.15rem); margin: 18px 0 28px; }

.cc-index {
    border: 1px solid #bbd6f966;
    border-top: 3px solid #81b9ff;
    background: #0e244a;
    padding: clamp(18px, 3vw, 30px);
}

.cc-index ol { margin: 0; padding: 0; list-style: none; counter-reset: cc-index; }
.cc-index li { counter-increment: cc-index; display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid #bbd6f933; }
.cc-index li::before { content: counter(cc-index, decimal-leading-zero); color: #a6ccff; font: 500 .8rem/2 "JetBrains Mono", monospace; }
.cc-index dl { margin: 0; }
.cc-index dt { font-size: .8rem; color: var(--sky); }
.cc-index dd { margin: 2px 0 12px; font-weight: 600; }

.cc-button {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 5px;
    color: white;
    background: var(--blue);
    font-weight: 700;
    text-decoration: none;
}
.cc-button:hover { background: #0e2f63; color: white; }
.cc-button-light { background: white; color: var(--blue); }
.cc-button-light:hover { background: var(--sky); color: var(--blue); }

.cc-catalog, .cc-detail { padding-block: clamp(36px, 6vw, 74px); }
.cc-catalog, .cc-stage { scroll-margin-top: 16px; }
.cc-catalog-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.cc-notice { background: #eaf3ff; border-inline-start: 3px solid #4e92eb; padding: 14px 18px; color: #254164; margin: 0 0 22px; }
.cc-filters { display: flex; flex-wrap: wrap; gap: 12px; }
.cc-filters label { display: grid; gap: 4px; font-size: .85rem; font-weight: 600; }
.cc-filters input, .cc-filters select { font: inherit; min-height: 44px; min-width: 0; border: 1px solid #a9bdd7; border-radius: 5px; padding: 8px; background: white; color: var(--ink); }
.cc-filter-status { color: var(--muted); font-size: .9rem; }

.cc-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: 16px; }
.cc-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: white;
    border: 1px solid var(--line);
    border-radius: 6px;
}
.cc-card:not([data-category]) { max-width: 660px; }
.cc-card h3 a { color: inherit; text-decoration: none; }
.cc-card h3 a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.cc-text-link { color: var(--blue); font-weight: 700; text-underline-offset: 4px; }

.cc-detail { display: grid; grid-template-columns: minmax(180px, 270px) minmax(0, 780px); gap: clamp(22px, 6vw, 78px); align-items: start; }
.cc-aside { background: white; border: 1px solid var(--line); padding: 18px; border-radius: 6px; }
.cc-aside a { display: block; color: var(--blue); padding: 7px 0; text-underline-offset: 4px; }
.cc-stage { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; padding-block: 24px; border-top: 1px solid var(--line); }
.cc-stage > .cc-label { color: var(--blue); margin-top: 6px; }
.cc-stage p { margin: 12px 0 0; max-width: 72ch; }
.cc-contact { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px; padding: clamp(20px, 4vw, 42px); margin-block: 30px 56px; background: var(--sky); border-radius: 6px; }
.cc-contact p { margin: 8px 0 0; color: #254164; }

@media (max-width: 740px) {
    .cc-wrap { width: calc(100% - 32px); }
    .cc-hero-grid, .cc-detail { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 440px) {
    .cc-filters, .cc-filters label { width: 100%; }
}

.cc-index .cc-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cc-stats div { display: flex; flex-direction: column-reverse; border-top: 1px solid #bbd6f966; padding-top: 10px; }
.cc-stats dd { font: 800 clamp(2.2rem, 5vw, 3.8rem)/1 "Manrope", sans-serif; margin: 0 0 6px; }
.cc-catalog-heading { align-items: start; flex-direction: column; }
.cc-filters { width: 100%; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: end; background: white; border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.cc-filters input, .cc-filters select { width: 100%; font-size: 1rem; }
.cc-topics a, .cc-pagination a, .cc-pagination [aria-current] { font: inherit; min-height: 44px; padding: 8px 12px; color: var(--blue); background: white; border: 1px solid var(--line); border-radius: 5px; text-decoration: none; }
.cc-topics { display: flex; flex-wrap: wrap; gap: 8px; }
.cc-topics a { font-size: .82rem; text-align: left; }
.cc-topics a span { margin-inline-start: 4px; font-weight: 700; }
.cc-topics a:hover, .cc-pagination a:hover { background: #eaf3ff; }
.cc-topics [aria-current], .cc-pagination [aria-current] { background: var(--blue); color: white; border-color: var(--blue); }
.cc-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-card { position: relative; overflow-wrap: anywhere; }
.cc-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 6px; }
.cc-card h3 a:focus-visible { outline: none; }
.cc-card h3 a:focus-visible::after { outline: 3px solid #4e92eb; outline-offset: 3px; }
.cc-card:focus-within, .cc-card:hover { border-color: #6595d3; }
.cc-card h3 a { scroll-margin: 18px; }
.cc-submit { border: 0; font: inherit; font-weight: 700; cursor: pointer; }
.cc-results-bar, .cc-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.cc-pagination { margin-top: 24px; }
.cc-pagination a, .cc-pagination [aria-current] { min-width: 44px; text-align: center; }
@media (max-width: 960px) {
    .cc-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .cc-card-grid, .cc-filters { grid-template-columns: minmax(0, 1fr); }
    .cc-submit { justify-self: start; }
}

.cc-case-page .cc-hero-grid { align-items: start; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.cc-case-page h1 { font-size: clamp(2rem, 4.3vw, 3.75rem); }
.cc-case-page .cc-index dl > div { border-top: 1px solid #bbd6f933; padding: 9px 0; }
.cc-case-page .cc-index dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.cc-index .cc-fact-result { border-inline-start: 3px solid #83baff; padding-inline-start: 12px !important; background: #18365e; }
.cc-case-page .cc-index { border-radius: 6px; }
.cc-aside a { display: grid; grid-template-columns: 2ch minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 9px 0; }
.cc-aside a span { color: var(--muted); font-size: .78rem; }
.cc-stage, .cc-experts { scroll-margin-top: 28px; }
.cc-stage-result { background: #eaf3ff; border-color: #8ab7ef; padding-inline: clamp(12px, 3vw, 24px); border-radius: 0 0 6px 6px; }
.cc-stage h2 { font-size: clamp(1.3rem, 2.7vw, 1.9rem); }
.cc-stage p { overflow-wrap: anywhere; }
.cc-service { padding-top: 22px; }
.cc-service .cc-label { margin-bottom: 5px; }
.cc-experts { padding-bottom: 26px; }
.cc-expert-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 12px; margin: 18px 0; }
.cc-expert { display: flex; align-items: start; gap: 14px; padding: 16px; background: white; border: 1px solid var(--line); border-radius: 7px; }
.cc-expert img { width: 68px; height: 82px; object-fit: cover; border-radius: 5px; }
.cc-expert h3 { font-size: 1.1rem; letter-spacing: -.015em; overflow-wrap: anywhere; }
.cc-expert h3 a { color: var(--blue); text-underline-offset: 3px; }
.cc-expert p { color: var(--muted); margin: 6px 0 0; font-size: .9rem; }
@media (max-width: 800px) {
    .cc-case-page .cc-hero-grid { grid-template-columns: minmax(0, 1fr); }
}

.cc-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.cc-back { color: var(--sky); text-underline-offset: 4px; padding-block: 10px; }
.cc-related { padding-block: 20px 28px; }
.cc-related ul { list-style: none; padding: 0; margin: 18px 0 0; }
.cc-related li { border-top: 1px solid var(--line); }
.cc-related a { display: block; padding: 12px 0; color: var(--blue); text-underline-offset: 4px; }
.cc-crumbs [aria-current] { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 680px) {
    .cc-hero { padding-top: 16px; padding-bottom: 30px; }
    .cc-hero-grid { margin-top: 22px; gap: 18px; }
    .cc-intro { margin-block: 12px 16px; }
    .cc-index .cc-label { margin-bottom: 8px; }
    .cc-case-page .cc-crumbs [aria-current] { max-width: 46%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cc-case-page h1 { font-size: clamp(1.8rem, 7.7vw, 2.5rem); }
    .cc-stage { gap: 10px; }
    .cc-expert img { flex: 0 0 68px; }
}

.cc-results-bar { margin-bottom: 12px; }
.cc-card-visual {
    min-height: 102px;
    padding: 14px 16px 14px clamp(16px, 2vw, 24px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px;
    align-items: center;
    gap: 12px;
    border-radius: 5px 5px 0 0;
    border-bottom: 1px solid var(--line);
    color: #12408a;
    background: repeating-linear-gradient(90deg, transparent 0 21px, #12408a13 21px 22px) #e7f0ff;
}
.cc-card-visual .cc-label { color: inherit; margin: 0; }
.cc-card-visual svg { width: 74px; height: 74px; padding: 5px; background: #ffffffa8; border: 1px solid currentColor; border-radius: 9px; }
.cc-tone-green { background-color: #e3f3ed; color: #1a624c; }
.cc-tone-violet { background-color: #eeeafd; color: #493888; }
.cc-tone-amber { background-color: #fcf0e3; color: #894217; }
.cc-card-body { flex: 1; display: flex; flex-direction: column; padding: clamp(16px, 2vw, 24px); }
.cc-card-body h3 { font-size: clamp(1.13rem, 1.7vw, 1.45rem); line-height: 1.2; }
.cc-card-body > p { color: var(--muted); margin: 10px 0 14px; }
.cc-card-facts { display: grid; gap: 8px; margin: 0 0 16px; padding: 10px 12px; border-radius: 5px; background: #f1f6fd; }
.cc-card-facts dt { font-size: .76rem; color: var(--muted); }
.cc-card-facts dd { margin: 1px 0 0; font-size: .88rem; font-weight: 600; line-height: 1.45; }
.cc-card-footer { margin-top: auto; display: grid; gap: 10px; }
.cc-card-team { display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--line); padding-top: 8px; }
.cc-card-person { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--blue); font-size: .8rem; font-weight: 700; line-height: 1.35; text-underline-offset: 3px; }
.cc-card-person small { display: block; color: var(--muted); font-weight: 400; margin-bottom: 2px; }
.cc-card-person img { flex: 0 0 36px; object-fit: cover; border-radius: 5px; }
.cc-card-team-count { flex: none; justify-content: center; min-width: 44px; background: #edf4ff; border-radius: 5px; text-decoration: none; }

@media (max-width: 680px) {
    .cc-card-visual { min-height: 74px; grid-template-columns: minmax(0, 1fr) 56px; padding-block: 9px; }
    .cc-card-visual svg { width: 56px; height: 56px; }
}
