.single-formats,
.format-block,
.format-icons-credit {
    --format-orange: var(--sdn-orange, #ff8200);
    --format-blue: var(--sdn-navy, #383387);
    --format-ink: var(--sdn-ink, #000029);
    --format-muted: var(--sdn-muted, #6f7080);
    --format-line: var(--sdn-line, #dedee8);
    --format-lilac: #f1eff8;
    --format-aqua: #edfafa;
    --format-peach: #fff3ed;
    --format-cream: #fff9e9;
}

.single-formats .container { max-width: 1224px; }
.format-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 44px;
    min-height: 320px;
    margin-bottom: 76px;
    overflow: hidden;
    border-radius: 0 0 var(--sdn-radius-lg, 24px) var(--sdn-radius-lg, 24px);
    background: var(--format-accent, #057eff);
    color: var(--rubric-on, #fff);
    padding: clamp(48px, 6vw, 76px);
}
.format-hero__copy { min-width: 0; }
.format-hero__eyebrow, .format-kicker { color: #5f6977; font-size: 12px; font-weight: 700; letter-spacing: .25em; line-height: 1.35; text-transform: uppercase; }
.format-hero__eyebrow { color: inherit; margin-bottom: 24px; }
.format-hero__title {
	font-size: clamp(42px, 4.5vw, 66px);
	font-weight: 800;
	line-height: 1;
	margin: 0 0 22px;
	overflow-wrap: anywhere;
}
.format-hero__subtitle { font-size: clamp(27px, 3vw, 41px); line-height: 1.12; margin: 0; max-width: 900px; }
.format-hero__tags { align-self: center; display: flex; flex-direction: column; font-size: 18px; font-style: italic; line-height: 1.25; }
.format-hero__tags a { color: inherit; text-decoration: none; }

.format-intro { align-items: start; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 58px; margin-bottom: 80px; }
:is(.single, .tag, .archive) .format-intro__lead { font-size: 20px !important; line-height: 1.5 !important; padding-top: 20px; }
:is(.single, .tag, .archive) .format-intro__lead p { font-size: inherit !important; line-height: inherit !important; margin: 0; }
:is(.single, .tag, .archive) .format-intro__lead a {
    color: var(--format-blue) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.format-intro__visual { margin: 0; min-width: 0; }
.format-intro__visual img { display: block; height: auto; max-width: 100%; object-fit: contain; width: 100%; }
.format-intro__caption { color: var(--format-muted); font-size: 13px; line-height: 1.45; margin-top: 12px; text-align: right; }
.format-intro__caption p {
  margin: 0;
  line-height: inherit;
}
.format-intro__caption a { color: var(--format-blue); }

.format-content > :not(.format-block) { max-width: 760px; }
.format-content > p, .format-content > ul:not([class]), .format-content > ol:not([class]), .format-content > blockquote { font-size: 19px; line-height: 1.62; margin-left: auto; margin-right: auto; }
.format-content > p { margin-bottom: 1.45em; }
.single.single-formats:not(.single-cards) .format-content > .format-block { margin-left: 0 !important; padding-left: 0; width: 100% !important; }
.format-content > .format-block { margin-bottom: 124px; margin-top: 124px; }
.format-content > .format-block:first-child { margin-top: 112px; }
.format-content > .format-skills:last-child { margin-bottom: 0; }

.custom-content .format-block, .entry-content .format-block { clear: both; margin-block: clamp(56px, 7vw, 96px); }
.format-block h2 { font-weight: 700; color: var(--format-ink); font-size: clamp(27px, 2.6vw, 38px); line-height: 1.08; margin: 5px 0 0; text-transform: none; }
.format-block h3 { color: var(--format-ink); margin: 0; }
.format-block__lead { color: var(--format-muted); font-size: 17px; line-height: 1.45; margin: 14px 0 0; }
:is(.single, .tag, .archive) .format-content .format-icon,
:is(.single, .tag, .archive) .format-icon {
    display: block !important;
    flex: 0 0 auto !important;
    max-height: 60px !important;
    max-width: 60px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    height: 38px !important;
    width: 38px !important;
}
.format-section-heading { align-items: flex-start; display: flex; gap: 24px; margin-bottom: 34px; }
:is(.single, .tag, .archive) .format-content .format-section-heading__icon,
:is(.single, .tag, .archive) .format-section-heading__icon { height: 50px !important; width: 50px !important; }
.format-more-link { color: var(--format-blue) !important; display: inline-block; font-weight: 700; text-decoration: none !important; }
.format-more-link:hover { text-decoration: underline !important; }

.format-when { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr); gap: 18px; }
.format-when__conditions, .format-quote { margin: 0; padding: 42px 40px; }
.format-when__conditions { background: linear-gradient(135deg, #f2f9ff, #ecfafa); }
.format-quote { background: linear-gradient(135deg, #fff8f3, #fffdf9); position: relative; }
:is(.single, .tag, .archive) .format-quote__icon { height: 44px !important; margin-bottom: 18px; max-height: 44px !important; max-width: 44px !important; width: 44px !important; }
.format-checklist { list-style: disc !important; margin: 0 0 0 76px !important; padding: 0 !important; }
.format-checklist li { font-size: 17px; line-height: 1.45; padding-left: 5px; }
.format-checklist li + li { margin-top: 10px; }
.format-quote blockquote { font-size: 22px; font-style: normal; line-height: 1.4; margin: 0 0 30px; padding: 0; }
.format-quote blockquote p { margin: 0; }
.format-quote figcaption { align-items: center; display: flex; gap: 16px; }
.format-quote__avatar { border-radius: 50%; height: 68px; object-fit: cover; width: 68px; }
.format-quote figcaption span { display: flex; flex-direction: column; gap: 3px; }
.format-quote figcaption small { color: var(--format-muted); line-height: 1.35; }
.format-quote figcaption small p { margin: 0; }
.format-quote figcaption a { color: var(--format-blue); }

.format-alternatives { background: linear-gradient(120deg, #f6f4ff, #f1f4ff); padding: 38px 42px 36px !important; }
.format-alternatives .format-section-heading { margin-bottom: 32px; }
.format-alternatives__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.format-alternatives__row { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 0 36px; }
.format-alternatives__row:first-child { padding-left: 0; }
.format-alternatives__row + .format-alternatives__row { border-left: 1px solid #d3d8ea; }
.format-alternatives__row:last-child { padding-right: 0; }
.format-alternatives__condition { color: var(--format-muted); font-size: 16px; line-height: 1.35; }
.format-alternatives__row a { color: var(--format-blue) !important; font-size: 17px; font-weight: 700; text-decoration: none !important; }

.format-cards { display: grid; gap: 34px; }
.format-cards--examples { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.format-card { min-width: 0; }
.format-card__link { color: inherit !important; display: block; height: 100%; text-decoration: none !important; }
.format-card__image { aspect-ratio: 16 / 9; background: #f1f2f3; overflow: hidden; }
.format-card__image img { height: 100%; object-fit: contain; width: 100%; }
.format-card__body { padding: 18px 0 0; }
.format-card__title { font-size: 20px; line-height: 1.22; }
.format-card__excerpt { color: var(--format-muted); font-size: 15px; line-height: 1.45; margin: 11px 0 15px !important; }
.format-card__cta { color: var(--format-blue); display: inline-block; font-size: 15px; font-weight: 700; }
.format-examples__more { margin-top: 34px; }

.format-practice { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.format-practice__column { display: flex; flex-direction: column; min-height: 430px; padding: 40px 34px 34px; }
.format-practice__column:nth-child(1) { background: linear-gradient(135deg, var(--format-lilac), #f7f6ff); }
.format-practice__column:nth-child(2) { background: linear-gradient(135deg, var(--format-aqua), #f3fbfa); }
.format-practice__column:nth-child(3) { background: #fff; }
.format-practice__column .format-section-heading { margin-bottom: 30px; }
.format-practice__column .format-section-heading__icon { height: 46px; width: 46px; }
.format-practice__column h2 { font-size: clamp(24px, 2vw, 31px); }
.format-practice__column > .format-more-link { margin-top: auto; padding-top: 26px; }
.format-numbered-list { counter-reset: item; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.format-numbered-list li { align-items: center; counter-increment: item; display: flex; font-size: 16px; gap: 17px; line-height: 1.35; min-height: 50px; }
.format-numbered-list li::before { align-items: center; border: 1px solid #81909c; border-radius: 50%; content: counter(item); display: flex; flex: 0 0 35px; font-size: 17px; font-weight: 700; height: 35px; justify-content: center; }
.format-tools { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.format-tools li { align-items: center; display: flex; gap: 15px; min-height: 62px; }
.format-tools li + li { margin-top: 8px; }
:is(.single, .tag, .archive) .format-tools__icon { border-radius: 6px; flex: 0 0 40px; height: 40px !important; max-height: 40px !important; max-width: 40px !important; object-fit: contain; width: 40px !important; }
.format-tools__body { display: flex; flex-direction: column; min-width: 0; }
.format-tools a, .format-tools strong { color: var(--format-ink) !important; font-size: 17px; font-weight: 700; line-height: 1.2; text-decoration: none !important; }
.format-tools small { color: var(--format-muted); font-size: 14px; line-height: 1.35; margin-top: 3px; }

.format-next { background: linear-gradient(135deg, var(--format-cream), #fffdf8); padding: 42px 38px 36px !important; }
.format-next__list { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.format-next__item { background: #fff; display: flex; flex-direction: column; min-height: 230px; padding: 27px 24px 24px; }
:is(.single, .tag, .archive) .format-next__icon,
:is(.single, .tag, .archive) .format-next__icon-image { flex: 0 0 38px; height: 38px !important; margin-bottom: 22px; max-height: 38px !important; max-width: 38px !important; object-fit: contain; width: 38px !important; }
.format-next__item h3 { font-size: 18px; line-height: 1.2; }
.format-next__item p { color: var(--format-muted); font-size: 15px; line-height: 1.4; margin: 10px 0 24px; }
.format-next__item .format-more-link { margin-top: auto; }

.format-skills { background: linear-gradient(110deg, #f0f7ff, #eaf2ff); padding: 36px 40px !important; }
.format-skills__heading { align-items: center; display: grid; gap: 30px; grid-template-columns: auto minmax(0, 1fr) auto; }
:is(.single, .tag, .archive) .format-content .format-skills__icon,
:is(.single, .tag, .archive) .format-skills__icon { height: 60px !important; max-height: 60px !important; max-width: 60px !important; width: 60px !important; }
.format-skills h2 { margin-top: 4px; }
.format-skills .format-block__lead { max-width: 690px; }
.format-button { align-items: center; background: var(--format-blue); color: #fff !important; display: inline-flex; font-weight: 700; justify-content: center; min-width: 190px; padding: 15px 22px; text-decoration: none !important; }

@media (max-width: 991.98px) {
    .format-hero { grid-template-columns: minmax(0, 1fr) 160px; padding: 48px 40px; }
    .format-intro { gap: 34px; }
    .format-content > .format-block { margin-bottom: 96px; margin-top: 96px; }
    .format-practice { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .format-practice__column:last-child { grid-column: 1 / -1; min-height: 0; }
    .format-next__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .format-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; margin-bottom: 54px; padding: 36px 24px; }
    .format-hero__tags { display: block; }
    .format-hero__tags a { margin-right: 8px; }
    .format-intro { grid-template-columns: minmax(0, 1fr); margin-bottom: 60px; }
    .format-intro__lead { padding-top: 0; }
    .format-content > .format-block { margin-bottom: 76px; margin-top: 76px; }
    .format-when, .format-practice { grid-template-columns: minmax(0, 1fr); }
    .format-when__conditions, .format-quote { padding: 32px 24px; }
    .format-checklist { margin-left: 52px !important; }
    .format-alternatives { padding: 32px 24px !important; }
    .format-alternatives__list { grid-template-columns: minmax(0, 1fr); }
    .format-alternatives__row { padding: 20px 0; }
    .format-alternatives__row + .format-alternatives__row { border-left: 0; border-top: 1px solid #d3d8ea; }
    .format-cards--examples { grid-template-columns: minmax(0, 1fr); }
    .format-practice__column, .format-practice__column:last-child { grid-column: auto; min-height: 0; }
    .format-next { padding: 32px 24px !important; }
    .format-skills { padding: 30px 24px !important; }
    .format-skills__heading { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .format-skills .format-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 479.98px) {
    .format-section-heading { gap: 16px; }
    .single .format-content .format-section-heading__icon,
    .single .format-section-heading__icon { height: 42px !important; width: 42px !important; }
    .format-next__list { grid-template-columns: minmax(0, 1fr); }
}
/* Крупные фирменные кавычки в карточке цитаты */
:is(.single, .tag, .archive) .format-content .format-quote .format-quote__icon {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
}

:is(.single, .tag, .archive) .format-quote::before {
	content: "”";
	display: block;
	height: 82px;
	margin: -12px 0 20px;
	color: var(--format-orange);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 138px;
	font-weight: 900;
	line-height: 1;
}
.format-icons-credit {
    margin: 80px 0 32px;
    color: var(--format-muted);
    font-size: 13px;
    line-height: 1.45;
}

.format-icons-credit a {
    color: var(--format-blue);
}
/* Заголовки трёх практических модулей:
   иконка + kicker сверху, заголовок на всю ширину ниже */

.format-practice__column .format-section-heading {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 16px;
    min-width: 0;
}

.format-practice__column .format-section-heading > div {
    display: contents;
}

.format-practice__column .format-section-heading__icon {
    grid-column: 1;
    grid-row: 1;
}

.format-practice__column .format-kicker {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}

.format-practice__column .format-section-heading h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Новые самостоятельные практические блоки. Они заменяют одну тяжёлую
   трёхколоночную конструкцию, но старый format-practice остаётся совместимым. */
.format-column-block {
    padding: clamp(30px, 4vw, 48px) !important;
    border: 1px solid var(--format-line);
    background: #fff;
}

.format-column-block.format-prepare {
    background: linear-gradient(135deg, var(--format-lilac), #faf9ff);
}

.format-column-block.format-how {
    background: linear-gradient(135deg, var(--format-aqua), #f7fdfc);
}

.format-column-block > .format-numbered-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 36px;
    max-width: 920px;
}

.format-column-block > .format-more-link {
    margin-top: 30px;
}

.format-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.format-tool-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--format-line);
    background: #fff;
}

.format-tool-card__icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 20px;
    border-radius: 8px;
    object-fit: contain;
}

.format-tool-card h3 {
    font-size: 19px;
    line-height: 1.25;
}

.format-tool-card h3 a {
    color: var(--format-ink) !important;
    text-decoration-color: var(--format-blue) !important;
    text-underline-offset: 4px;
}

.format-tool-card p {
    margin: 10px 0 0 !important;
    color: var(--format-muted);
    font-size: 15px;
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .format-column-block > .format-numbered-list,
    .format-tools-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
