/*
 * Olam Blocks - display styles.
 *
 * Everything here is scoped under .olam-block[data-olam-block] so it cannot leak into the rest
 * of the Moodle site. Per-block colours and fonts are driven by CSS custom
 * properties on each inserted block.
 */

.olam-block[data-olam-block] {
    --olam-accent: var(--course-primary, var(--olam-primary, var(--bs-primary, #a4154c)));
    --olam-accent-dark: var(--course-primary-dark, var(--olam-primary-dark, var(--bs-primary-text-emphasis, #3a0f22)));
    --olam-pink: var(--olam-secondary, var(--bs-secondary, var(--olam-accent)));
    --olam-pink-soft: var(--olam-secondary-soft, var(--bs-tertiary-bg, #fce3ec));
    --olam-gold: var(--course-accent, var(--olam-accent-alt, var(--bs-warning, #c9a227)));
    --olam-gold-soft: var(--olam-warning-soft, var(--bs-warning-bg-subtle, #f3ead0));
    --olam-paper: var(--course-card, var(--olam-card, var(--olam-surface-solid, var(--bs-body-bg, #ffffff))));
    --olam-page: var(--course-bg, var(--olam-bg-soft, var(--bs-tertiary-bg, #f4f4f4)));
    --olam-ink: var(--bs-body-color, #33232b);
    --olam-muted: var(--bs-secondary-color, #6f6268);
    --olam-text: var(--olam-primary-contrast, var(--bs-white, #ffffff));
    --olam-font: var(--olam-font-sans, inherit);
    --olam-heading-font: var(--olam-font-title, Georgia, "Times New Roman", serif);
    --olam-radius: 18px;
    --olam-shadow: 0 12px 30px -24px rgba(7, 19, 34, 0.34);
    --olam-shadow-strong: 0 18px 42px -28px rgba(7, 19, 34, 0.44);
    box-sizing: border-box;
    color: var(--olam-ink);
    font-family: var(--olam-font);
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    position: relative;
    width: calc(100% - 20px);
}

.olam-block[data-olam-block] *,
.olam-block[data-olam-block] *::before,
.olam-block[data-olam-block] *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block] .olam-icon,
.tiny-olamblocks-ui-overlay .olam-icon {
    background: currentColor;
    -webkit-mask: var(--olam-icon-mask) center / contain no-repeat;
    mask: var(--olam-icon-mask) center / contain no-repeat;
    display: inline-block;
    flex: 0 0 auto;
    overflow: hidden;
    height: 1.35rem;
    width: 1.35rem;
    font-size: 0;
    line-height: 1;
    vertical-align: -0.18em;
}

.olam-block[data-olam-block] > .olam-inline-tools {
    position: absolute;
    right: 0.65rem;
    top: 0.65rem;
    z-index: 2147483000;
    display: inline-flex;
    gap: 0.35rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
    transform: translateY(-4px);
}

.olam-block[data-olam-block] > .olam-inline-tools button,
.olam-block[data-olam-block] > .olam-inline-edit {
    min-height: 34px;
    border: 0;
    border-radius: 999px;
    padding: 0.45rem 0.75rem;
    background: var(--olam-accent-dark);
    color: #ffffff;
    cursor: pointer;
    font: 900 0.78rem/1 "Nunito", "Mulish", Arial, sans-serif;
    box-shadow: 0 12px 28px -18px rgba(58, 15, 34, 0.65);
}

.olam-block[data-olam-block] > .olam-inline-tools .olam-inline-delete {
    background: #8f1234;
}

.olam-block[data-olam-block] > .olam-inline-edit {
    position: absolute;
    right: 0.65rem;
    top: 0.65rem;
    z-index: 40;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
    transform: translateY(-4px);
}

.olam-block[data-olam-block]:hover > .olam-inline-tools,
.olam-block[data-olam-block]:focus-within > .olam-inline-tools,
.olam-block[data-olam-block] > .olam-inline-tools:focus-within,
.olam-block[data-olam-block]:hover > .olam-inline-edit,
.olam-block[data-olam-block]:focus-within > .olam-inline-edit,
.olam-block[data-olam-block] > .olam-inline-edit:focus {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* ------------------------------------------------------------------ */
/* Tabler icon masks (generated from amd/src/commands.js)             */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block] .olam-icon--sparkles,
.tiny-olamblocks-ui-overlay .olam-icon--sparkles { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2018a2%202%200%200%201%202%202a2%202%200%200%201%202%20-2a2%202%200%200%201%20-2%20-2a2%202%200%200%201%20-2%202z%22%2F%3E%3Cpath%20d%3D%22M8%206a3%203%200%200%201%203%203a3%203%200%200%201%203%20-3a3%203%200%200%201%20-3%20-3a3%203%200%200%201%20-3%203z%22%2F%3E%3Cpath%20d%3D%22M6%2018a2%202%200%200%201%202%202a2%202%200%200%201%202%20-2a2%202%200%200%201%20-2%20-2a2%202%200%200%201%20-2%202z%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--math-symbols,
.tiny-olamblocks-ui-overlay .olam-icon--math-symbols { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%204v16%22%2F%3E%3Cpath%20d%3D%22M3.5%208h5%22%2F%3E%3Cpath%20d%3D%22M3.5%2016h5%22%2F%3E%3Cpath%20d%3D%22M14%207h6%22%2F%3E%3Cpath%20d%3D%22M17%204v6%22%2F%3E%3Cpath%20d%3D%22M14%2017h6%22%2F%3E%3Cpath%20d%3D%22M15%2014l4%206%22%2F%3E%3Cpath%20d%3D%22M19%2014l-4%206%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--bulb,
.tiny-olamblocks-ui-overlay .olam-icon--bulb { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h1m8%20-9v1m8%208h1m-15.4%20-6.4l.7%20.7m12.1%20-.7l-.7%20.7%22%2F%3E%3Cpath%20d%3D%22M9%2016a5%205%200%201%201%206%200a3.5%203.5%200%200%200%20-1%203a2%202%200%200%201%20-4%200a3.5%203.5%200%200%200%20-1%20-3%22%2F%3E%3Cpath%20d%3D%22M9.7%2017h4.6%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--book,
.tiny-olamblocks-ui-overlay .olam-icon--book { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2019a9%209%200%200%201%209%200a9%209%200%200%201%209%200%22%2F%3E%3Cpath%20d%3D%22M3%206a9%209%200%200%201%209%200a9%209%200%200%201%209%200%22%2F%3E%3Cpath%20d%3D%22M3%206v13%22%2F%3E%3Cpath%20d%3D%22M12%206v13%22%2F%3E%3Cpath%20d%3D%22M21%206v13%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--school,
.tiny-olamblocks-ui-overlay .olam-icon--school { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%209l-10%20-4l-10%204l10%204l10%20-4v6%22%2F%3E%3Cpath%20d%3D%22M6%2010.6v5.4a6%203%200%200%200%2012%200v-5.4%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--target,
.tiny-olamblocks-ui-overlay .olam-icon--target { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2012m-1%200a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200%22%2F%3E%3Cpath%20d%3D%22M12%207a5%205%200%201%200%205%205%22%2F%3E%3Cpath%20d%3D%22M13%203.055a9%209%200%201%200%207.941%207.945%22%2F%3E%3Cpath%20d%3D%22M15%206v3h3l3%20-3h-3v-3z%22%2F%3E%3Cpath%20d%3D%22M15%209l-3%203%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--rocket,
.tiny-olamblocks-ui-overlay .olam-icon--rocket { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2013a8%208%200%200%201%207%207a6%206%200%200%200%203%20-5a9%209%200%200%200%206%20-8a3%203%200%200%200%20-3%20-3a9%209%200%200%200%20-8%206a6%206%200%200%200%20-5%203%22%2F%3E%3Cpath%20d%3D%22M7%2014a6%206%200%200%200%20-3%206a6%206%200%200%200%206%20-3%22%2F%3E%3Cpath%20d%3D%22M15%209m-1%200a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--puzzle,
.tiny-olamblocks-ui-overlay .olam-icon--puzzle { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h3a1%201%200%200%200%201%20-1a2%202%200%200%201%204%200a1%201%200%200%200%201%201h3v3a1%201%200%200%200%201%201a2%202%200%200%201%200%204a1%201%200%200%200%20-1%201v3h-3a1%201%200%200%201%20-1%20-1a2%202%200%200%200%20-4%200a1%201%200%200%201%20-1%201h-3v-3a1%201%200%200%201%201%20-1a2%202%200%200%200%200%20-4a1%201%200%200%201%20-1%20-1z%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--compass,
.tiny-olamblocks-ui-overlay .olam-icon--compass { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2016l2%20-6l6%20-2l-2%206l-6%202%22%2F%3E%3Cpath%20d%3D%22M12%2012m-9%200a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--flask,
.tiny-olamblocks-ui-overlay .olam-icon--flask { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203l6%200%22%2F%3E%3Cpath%20d%3D%22M10%209l4%200%22%2F%3E%3Cpath%20d%3D%22M10%203v6l-4%208a3%203%200%200%200%203%204h6a3%203%200%200%200%203%20-4l-4%20-8v-6%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--pencil,
.tiny-olamblocks-ui-overlay .olam-icon--pencil { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020h4l10.5%20-10.5a2.828%202.828%200%201%200%20-4%20-4l-10.5%2010.5v4%22%2F%3E%3Cpath%20d%3D%22M13.5%206.5l4%204%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--circle-check,
.tiny-olamblocks-ui-overlay .olam-icon--circle-check { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2012m-9%200a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--player-play,
.tiny-olamblocks-ui-overlay .olam-icon--player-play { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%204v16l13%20-8z%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--heart,
.tiny-olamblocks-ui-overlay .olam-icon--heart { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19.5%2012.572l-7.5%207.428l-7.5%20-7.428a5%205%200%201%201%207.5%20-6.566a5%205%200%201%201%207.5%206.572%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--world,
.tiny-olamblocks-ui-overlay .olam-icon--world { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%2F%3E%3Cpath%20d%3D%22M3.6%209h16.8%22%2F%3E%3Cpath%20d%3D%22M3.6%2015h16.8%22%2F%3E%3Cpath%20d%3D%22M11.5%203a17%2017%200%200%200%200%2018%22%2F%3E%3Cpath%20d%3D%22M12.5%203a17%2017%200%200%201%200%2018%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--trophy,
.tiny-olamblocks-ui-overlay .olam-icon--trophy { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2021l8%200%22%2F%3E%3Cpath%20d%3D%22M12%2017l0%204%22%2F%3E%3Cpath%20d%3D%22M7%204l10%200l0%206a5%205%200%200%201%20-10%200z%22%2F%3E%3Cpath%20d%3D%22M5%209a2%202%200%200%201%20-2%20-2v-1a2%202%200%200%201%202%20-2h2%22%2F%3E%3Cpath%20d%3D%22M19%209a2%202%200%200%200%202%20-2v-1a2%202%200%200%200%20-2%20-2h-2%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--messages,
.tiny-olamblocks-ui-overlay .olam-icon--messages { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2014l-3%20-3h-7a1%201%200%200%201%20-1%20-1v-6a1%201%200%200%201%201%20-1h9a1%201%200%200%201%201%201z%22%2F%3E%3Cpath%20d%3D%22M14%2015v2a1%201%200%200%201%20-1%201h-7l-3%203v-11a1%201%200%200%201%201%20-1h2%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--route,
.tiny-olamblocks-ui-overlay .olam-icon--route { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017l4%204l4%20-4%22%2F%3E%3Cpath%20d%3D%22M7%2021v-13a4%204%200%201%201%204%204h-4%22%2F%3E%3Cpath%20d%3D%22M17%203l4%204l-4%204%22%2F%3E%3Cpath%20d%3D%22M21%207h-6a4%204%200%200%200%20-4%204v1%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--photo,
.tiny-olamblocks-ui-overlay .olam-icon--photo { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%208h.01%22%2F%3E%3Cpath%20d%3D%22M3%206a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v12a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3z%22%2F%3E%3Cpath%20d%3D%22M3%2016l5%20-5c.928%20-.893%202.072%20-.893%203%200l5%205%22%2F%3E%3Cpath%20d%3D%22M14%2014l1%20-1c.928%20-.893%202.072%20-.893%203%200l3%203%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--file-text,
.tiny-olamblocks-ui-overlay .olam-icon--file-text { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%2F%3E%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202z%22%2F%3E%3Cpath%20d%3D%22M9%209l1%200%22%2F%3E%3Cpath%20d%3D%22M9%2013l6%200%22%2F%3E%3Cpath%20d%3D%22M9%2017l6%200%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--download,
.tiny-olamblocks-ui-overlay .olam-icon--download { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2017v2a2%202%200%200%200%202%202h12a2%202%200%200%200%202%20-2v-2%22%2F%3E%3Cpath%20d%3D%22M7%2011l5%205l5%20-5%22%2F%3E%3Cpath%20d%3D%22M12%204l0%2012%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--quote,
.tiny-olamblocks-ui-overlay .olam-icon--quote { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2011h-4a1%201%200%200%201%20-1%20-1v-3a1%201%200%200%201%201%20-1h3a1%201%200%200%201%201%201v6c0%202%20-1%204%20-3%205%22%2F%3E%3Cpath%20d%3D%22M19%2011h-4a1%201%200%200%201%20-1%20-1v-3a1%201%200%200%201%201%20-1h3a1%201%200%200%201%201%201v6c0%202%20-1%204%20-3%205%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--list-check,
.tiny-olamblocks-ui-overlay .olam-icon--list-check { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%206h9%22%2F%3E%3Cpath%20d%3D%22M11%2012h9%22%2F%3E%3Cpath%20d%3D%22M11%2018h9%22%2F%3E%3Cpath%20d%3D%22M4%206l1%201l3%20-3%22%2F%3E%3Cpath%20d%3D%22M4%2012l1%201l3%20-3%22%2F%3E%3Cpath%20d%3D%22M4%2018l1%201l3%20-3%22%2F%3E%3C%2Fsvg%3E"); }
.olam-block[data-olam-block] .olam-icon--chevron-down,
.tiny-olamblocks-ui-overlay .olam-icon--chevron-down { --olam-icon-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%2F%3E%3C%2Fsvg%3E"); }

/* ------------------------------------------------------------------ */
/* 1. Hero                                                            */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 360px;
    overflow: hidden;
    padding: 2.6rem;
    border-radius: var(--olam-radius);
    background:
        radial-gradient(circle at 88% 12%, rgba(201, 162, 39, 0.24), transparent 30%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    box-shadow: var(--olam-shadow-strong);
    color: var(--olam-text);
}

.olam-block[data-olam-block] .olam-hero__image {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.54;
}

.olam-block[data-olam-block] .olam-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(46, 14, 26, 0.92), rgba(46, 14, 26, 0.56) 55%, rgba(46, 14, 26, 0.18)),
        linear-gradient(180deg, transparent, rgba(46, 14, 26, 0.32));
}

.olam-block[data-olam-block] .olam-hero__content {
    position: relative;
    z-index: 1;
    max-width: 690px;
    animation: olam-fade-up 0.7s ease both;
}

.olam-block[data-olam-block] .olam-hero__badge {
    display: inline-block;
    padding: 0.4rem 0.95rem;
    border: 1px solid rgba(201, 162, 39, 0.6);
    border-radius: 999px;
    background: rgba(252, 227, 236, 0.14);
    color: #fff6d9;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-hero__title {
    margin: 0.9rem 0 0.6rem;
    color: var(--olam-text);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.05;
}

.olam-block[data-olam-block] .olam-hero__subtitle {
    max-width: 58ch;
    margin: 0 0 1.5rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.08rem;
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-hero__btn {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.78rem 1.55rem;
    border-radius: 999px;
    background: var(--olam-gold);
    color: var(--olam-accent-dark);
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 24px -16px rgba(0, 0, 0, 0.55);
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.olam-block[data-olam-block] .olam-hero__btn:hover,
.olam-block[data-olam-block] .olam-hero__btn:focus {
    background: #d9c27a;
    color: var(--olam-accent-dark);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 18px 30px -16px rgba(0, 0, 0, 0.65);
}

/* ------------------------------------------------------------------ */
/* 3. Flip cards                                                      */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-flip {
    position: relative;
    overflow: hidden;
    padding: 1.1rem;
    border-radius: calc(var(--olam-radius) + 8px);
    background:
        radial-gradient(circle at 8% 12%, rgba(229, 25, 125, 0.16), transparent 28%),
        radial-gradient(circle at 88% 8%, rgba(201, 162, 39, 0.2), transparent 25%),
        linear-gradient(135deg, #fff, #fbf7f9);
    box-shadow: 0 26px 64px -38px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block].olam-flip::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: inherit;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-flip__intro {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
}

.olam-block[data-olam-block] .olam-flip__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.42rem 0.75rem;
    border-radius: 999px;
    background: var(--olam-accent-dark);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 12px 30px -24px rgba(58, 15, 34, 0.65);
}

.olam-block[data-olam-block] .olam-flip__intro p {
    max-width: 58ch;
    margin: 0;
    color: var(--olam-muted);
    font-size: 0.95rem;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-flip__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.olam-block[data-olam-block] .olam-flip__card {
    position: relative;
    min-height: 286px;
    outline: none;
    perspective: 1200px;
}

.olam-block[data-olam-block] .olam-flip__card::after {
    content: attr(data-index);
    position: absolute;
    right: 0.75rem;
    top: 0.52rem;
    z-index: 2;
    color: rgba(201, 162, 39, 0.28);
    font-family: var(--olam-heading-font);
    font-size: 4.6rem;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-flip__inner {
    position: relative;
    height: 100%;
    min-height: 286px;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.4, 0.2, 0.2, 1);
    width: 100%;
}

.olam-block[data-olam-block] .olam-flip__card:hover .olam-flip__inner,
.olam-block[data-olam-block] .olam-flip__card:focus .olam-flip__inner,
.olam-block[data-olam-block] .olam-flip__card:focus-within .olam-flip__inner {
    transform: rotateY(180deg);
}

.olam-block[data-olam-block] .olam-flip__face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    overflow: hidden;
    padding: 1.25rem;
    border-radius: 22px;
    backface-visibility: hidden;
    box-shadow: 0 22px 48px -34px rgba(58, 15, 34, 0.6);
}

.olam-block[data-olam-block] .olam-flip__front {
    border: 1px solid rgba(164, 21, 76, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 252, 0.94)),
        radial-gradient(circle at 100% 0, rgba(252, 227, 236, 0.9), transparent 46%);
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-flip__front::before {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -42px;
    height: 138px;
    width: 138px;
    border: 1px solid rgba(201, 162, 39, 0.32);
    border-radius: 50%;
}

.olam-block[data-olam-block] .olam-flip__orb {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 62px;
    width: 62px;
    border-radius: 20px;
    background:
        linear-gradient(135deg, var(--olam-pink-soft), #ffffff);
    color: var(--olam-pink);
    box-shadow: inset 0 0 0 1px rgba(229, 25, 125, 0.1), 0 18px 32px -26px rgba(229, 25, 125, 0.65);
}

.olam-block[data-olam-block] .olam-flip__orb .olam-icon {
    height: 2rem;
    width: 2rem;
}

.olam-block[data-olam-block] .olam-flip__eyebrow,
.olam-block[data-olam-block] .olam-flip__hint,
.olam-block[data-olam-block] .olam-flip__backtag {
    position: relative;
    z-index: 3;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-flip__eyebrow {
    margin-top: auto;
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-flip__front strong {
    position: relative;
    z-index: 3;
    max-width: 100%;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.08;
}

.olam-block[data-olam-block] .olam-flip__hint {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0.22rem 0.58rem;
    border-radius: 999px;
    background: #f3ead0;
    color: #7b6419;
}

.olam-block[data-olam-block] .olam-flip__back {
    background:
        radial-gradient(circle at 85% 12%, rgba(201, 162, 39, 0.22), transparent 32%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    transform: rotateY(180deg);
}

.olam-block[data-olam-block] .olam-flip__backtag {
    color: #f4db91;
}

.olam-block[data-olam-block] .olam-flip__back p {
    margin: auto 0;
    color: rgba(255, 255, 255, 0.93);
    font-size: 1.02rem;
    line-height: 1.6;
}

.olam-block[data-olam-block] .olam-flip__backline {
    display: block;
    height: 4px;
    width: 72px;
    border-radius: 999px;
    background: var(--olam-gold);
}

/* ------------------------------------------------------------------ */
/* 4. Accordion (native <details>, no JS required)                    */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-accordion {
    position: relative;
    overflow: hidden;
    padding: 1.25rem;
    border-radius: calc(var(--olam-radius) + 8px);
    background:
        linear-gradient(135deg, rgba(58, 15, 34, 0.97), rgba(164, 21, 76, 0.92)),
        radial-gradient(circle at 88% 0, rgba(201, 162, 39, 0.18), transparent 28%);
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-accordion::after {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-accordion__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
}

.olam-block[data-olam-block] .olam-accordion__header h3 {
    max-width: 420px;
    margin: 0;
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.08;
}

.olam-block[data-olam-block] .olam-accordion__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.42rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5df9b;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-accordion__track {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.82rem;
}

.olam-block[data-olam-block] .olam-accordion__item {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px -32px rgba(0, 0, 0, 0.7);
}

.olam-block[data-olam-block] .olam-accordion__head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 78px;
    padding: 0.85rem 1rem;
    color: var(--olam-accent-dark);
    cursor: pointer;
    list-style: none;
}

.olam-block[data-olam-block] .olam-accordion__head::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block] .olam-accordion__node {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    width: 48px;
    border-radius: 16px;
    background:
        linear-gradient(135deg, var(--olam-gold), #f3d983);
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.05rem;
    font-weight: 800;
    box-shadow: 0 12px 24px -18px rgba(201, 162, 39, 0.8);
}

.olam-block[data-olam-block] .olam-accordion__titlewrap {
    display: grid;
    gap: 0.24rem;
    min-width: 0;
}

.olam-block[data-olam-block] .olam-accordion__micro {
    display: inline-flex;
    align-items: center;
    gap: 0.34rem;
    color: var(--olam-pink);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-accordion__micro .olam-icon {
    height: 1rem;
    width: 1rem;
}

.olam-block[data-olam-block] .olam-accordion__titlewrap strong {
    overflow-wrap: anywhere;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.13rem;
    line-height: 1.18;
}

.olam-block[data-olam-block] .olam-accordion__chev {
    margin-left: auto;
    height: 1.15rem;
    width: 1.15rem;
    color: var(--olam-accent);
    transition: transform 0.25s ease;
}

.olam-block[data-olam-block] .olam-accordion__item[open] .olam-accordion__chev {
    transform: rotate(180deg);
}

.olam-block[data-olam-block] .olam-accordion__body {
    padding: 0 1rem 1rem 4.9rem;
    color: var(--olam-muted);
    animation: olam-fade-up 0.32s ease both;
}

.olam-block[data-olam-block] .olam-accordion__bodycard {
    position: relative;
    padding: 1rem 1rem 1rem 1.15rem;
    border-left: 3px solid var(--olam-gold);
    border-radius: 14px;
    background:
        linear-gradient(90deg, rgba(252, 227, 236, 0.62), rgba(255, 255, 255, 0.92));
}

.olam-block[data-olam-block] .olam-accordion__bodylabel {
    display: inline-block;
    margin: 0 0 0.45rem;
    color: var(--olam-accent);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-accordion__body p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.65;
}

/* ------------------------------------------------------------------ */
/* 7. Quiz (CSS-only, instant feedback)                               */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-quiz {
    position: relative;
    display: grid;
    grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
    gap: 1rem;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 8px);
    background:
        radial-gradient(circle at 0 0, rgba(252, 227, 236, 0.9), transparent 35%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 28px 70px -42px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block].olam-quiz::before {
    content: "";
    position: absolute;
    inset: 0;
    border-top: 6px solid var(--olam-accent);
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-quiz__side {
    position: relative;
    display: flex;
    min-height: 260px;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 1.1rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at 80% 15%, rgba(201, 162, 39, 0.24), transparent 32%),
        linear-gradient(145deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-quiz__side::after {
    content: "?";
    position: absolute;
    right: -0.3rem;
    top: -1.2rem;
    color: rgba(255, 255, 255, 0.1);
    font-family: var(--olam-heading-font);
    font-size: 8rem;
    font-weight: 700;
    line-height: 1;
}

.olam-block[data-olam-block] .olam-quiz__seal {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    width: 56px;
    margin-bottom: auto;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5df9b;
}

.olam-block[data-olam-block] .olam-quiz__seal .olam-icon {
    height: 1.9rem;
    width: 1.9rem;
}

.olam-block[data-olam-block] .olam-quiz__kicker {
    position: relative;
    z-index: 1;
    color: #f5df9b;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-quiz__side strong {
    position: relative;
    z-index: 1;
    max-width: 8ch;
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: 1.9rem;
    line-height: 1.02;
}

.olam-block[data-olam-block] .olam-quiz__rule {
    position: relative;
    z-index: 1;
    display: block;
    height: 4px;
    width: 72px;
    margin-top: 1rem;
    border-radius: 999px;
    background: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-quiz__main {
    padding: 1.1rem 1rem 1rem 0.25rem;
}

.olam-block[data-olam-block] .olam-quiz__q {
    margin: 0 0 1rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.18;
}

.olam-block[data-olam-block] .olam-quiz__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-quiz__opts {
    display: grid;
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-quiz__opt {
    position: relative;
    display: grid;
    min-height: 58px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 0.78rem;
    margin: 0;
    padding: 0.58rem 0.8rem;
    border: 2px solid #eadfe4;
    border-radius: 18px;
    background:
        linear-gradient(90deg, #ffffff, #fff9fb);
    color: var(--olam-ink);
    cursor: pointer;
    font-weight: 800;
    line-height: 1.35;
    box-shadow: 0 14px 30px -28px rgba(58, 15, 34, 0.45);
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.14s ease, box-shadow 0.18s ease;
}

.olam-block[data-olam-block] .olam-quiz__opt:hover,
.olam-block[data-olam-block] .olam-quiz__radio:focus + .olam-quiz__opt {
    border-color: var(--olam-pink);
    background: var(--olam-pink-soft);
    box-shadow: 0 18px 34px -26px rgba(164, 21, 76, 0.55);
    transform: translateX(4px);
}

.olam-block[data-olam-block] .olam-quiz__letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    width: 38px;
    border-radius: 14px;
    background: #fce3ec;
    color: var(--olam-pink);
    font-family: var(--olam-heading-font);
    font-size: 1.05rem;
    font-weight: 800;
}

.olam-block[data-olam-block] .olam-quiz__text {
    min-width: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block] .olam-quiz__radio.is-correct:checked + .olam-quiz__opt {
    border-color: #1f9d57;
    background: #e7f8ee;
    color: #137a40;
}

.olam-block[data-olam-block] .olam-quiz__radio.is-wrong:checked + .olam-quiz__opt {
    border-color: #d9534f;
    background: #fdecec;
    color: #b02a26;
}

.olam-block[data-olam-block] .olam-quiz__radio.is-correct:checked + .olam-quiz__opt .olam-quiz__letter {
    background: #1f9d57;
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-quiz__radio.is-wrong:checked + .olam-quiz__opt .olam-quiz__letter {
    background: #d9534f;
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-quiz__progress {
    grid-column: 1 / -1;
    height: 5px;
    margin: 1rem 0 0;
    overflow: hidden;
    border-radius: 999px;
    background: #eadfe4;
}

.olam-block[data-olam-block] .olam-quiz__progress span {
    display: block;
    height: 100%;
    width: 36%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-accent), var(--olam-gold));
}

.olam-block[data-olam-block] .olam-quiz__feedback {
    grid-column: 1 / -1;
    display: none;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 18px;
    font-weight: 800;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-quiz__feedback .olam-icon {
    margin-top: 0.06rem;
}

.olam-block[data-olam-block] .olam-quiz__feedback--ok {
    background: #e7f8ee;
    color: #137a40;
}

.olam-block[data-olam-block] .olam-quiz__feedback--no {
    background: #fdecec;
    color: #b02a26;
}

.olam-block[data-olam-block] .olam-quiz__radio.is-correct:checked ~ .olam-quiz__feedback--ok,
.olam-block[data-olam-block] .olam-quiz__radio.is-wrong:checked ~ .olam-quiz__feedback--no {
    display: flex;
    animation: olam-fade-up 0.3s ease both;
}

/* ------------------------------------------------------------------ */
/* 2. Learning timeline                                               */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-timeline {
    position: relative;
    overflow: hidden;
    padding: 1.35rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 88% 8%, rgba(201, 162, 39, 0.22), transparent 28%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block] .olam-timeline__head {
    position: relative;
    z-index: 1;
    display: grid;
    max-width: 720px;
    gap: 0.55rem;
    margin-bottom: 1.15rem;
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-timeline__badge,
.olam-block[data-olam-block] .olam-hotspots__head span,
.olam-block[data-olam-block] .olam-gallery__head span,
.olam-block[data-olam-block] .olam-download__head span,
.olam-block[data-olam-block] .olam-stepper__head span,
.olam-block[data-olam-block] .olam-tabs__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    min-height: 32px;
    padding: 0.36rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.13);
    color: #f5df9b;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-timeline__head h3,
.olam-block[data-olam-block] .olam-hotspots__head h3,
.olam-block[data-olam-block] .olam-gallery__head h3,
.olam-block[data-olam-block] .olam-download__head h3,
.olam-block[data-olam-block] .olam-stepper__head h3,
.olam-block[data-olam-block] .olam-tabs__aside h3 {
    margin: 0;
    color: inherit;
    font-family: var(--olam-heading-font);
    font-size: clamp(1.6rem, 3.5vw, 2.45rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.04;
}

.olam-block[data-olam-block] .olam-timeline__head p {
    max-width: 62ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-timeline__rail {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block] .olam-timeline__rail::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 35px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--olam-gold), transparent);
}

.olam-block[data-olam-block] .olam-timeline__step {
    position: relative;
    display: grid;
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-timeline__step::after {
    content: attr(data-index);
    position: absolute;
    right: 1rem;
    top: 4.1rem;
    color: rgba(201, 162, 39, 0.18);
    font-family: var(--olam-heading-font);
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}

.olam-block[data-olam-block] .olam-timeline__node {
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    width: 70px;
    border: 8px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    background: #ffffff;
    color: var(--olam-accent);
    box-shadow: 0 20px 38px -26px rgba(0, 0, 0, 0.8);
}

.olam-block[data-olam-block] .olam-timeline__node .olam-icon {
    height: 1.8rem;
    width: 1.8rem;
}

.olam-block[data-olam-block] .olam-timeline__card {
    position: relative;
    min-height: 210px;
    padding: 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 20px 45px -34px rgba(0, 0, 0, 0.75);
}

.olam-block[data-olam-block] .olam-timeline__kicker {
    color: var(--olam-gold);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-timeline__card h4 {
    margin: 0.35rem 0 0.5rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.28rem;
    line-height: 1.12;
}

.olam-block[data-olam-block] .olam-timeline__card p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.55;
}

/* ------------------------------------------------------------------ */
/* 5. Multimedia tabs                                                 */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-tabs {
    display: grid;
    grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
    gap: 1rem;
    overflow: hidden;
    padding: 1rem;
    border-radius: calc(var(--olam-radius) + 8px);
    background:
        radial-gradient(circle at 0 0, rgba(252, 227, 236, 0.96), transparent 34%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 26px 64px -40px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block] .olam-tabs__aside {
    display: flex;
    min-height: 310px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.1rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at 90% 10%, rgba(201, 162, 39, 0.22), transparent 32%),
        linear-gradient(145deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-tabs__aside p {
    margin: 0.75rem 0 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-tabs__workspace {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.olam-block[data-olam-block] .olam-tabs__radio,
.olam-block[data-olam-block] .olam-stepper__radio,
.olam-block[data-olam-block] .olam-hotspots__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-tabs__nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-tabs__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0.55rem;
    border: 1px solid #eadfe4;
    border-radius: 14px;
    background: #ffffff;
    color: var(--olam-accent-dark);
    cursor: pointer;
    font-weight: 900;
    text-align: center;
}

.olam-block[data-olam-block] .olam-tabs__panels {
    position: relative;
    min-height: 260px;
}

.olam-block[data-olam-block] .olam-tabs__panel {
    display: none;
    min-height: 260px;
    padding: 1.4rem;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 42px -34px rgba(58, 15, 34, 0.55);
}

.olam-block[data-olam-block] .olam-tabs__panelkicker {
    color: var(--olam-gold);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-tabs__panel h4 {
    margin: 0.35rem 0 0.65rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.65rem;
}

.olam-block[data-olam-block] .olam-tabs__panel p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.65;
}

.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(1):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(1),
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(2):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(2),
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(3):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(3),
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(4):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(4),
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(5):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(5),
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(6):checked ~ .olam-tabs__nav .olam-tabs__tab:nth-child(6) {
    border-color: var(--olam-accent);
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(1):checked ~ .olam-tabs__panels .olam-tabs__panel--1,
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(2):checked ~ .olam-tabs__panels .olam-tabs__panel--2,
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(3):checked ~ .olam-tabs__panels .olam-tabs__panel--3,
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(4):checked ~ .olam-tabs__panels .olam-tabs__panel--4,
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(5):checked ~ .olam-tabs__panels .olam-tabs__panel--5,
.olam-block[data-olam-block] .olam-tabs__radio:nth-of-type(6):checked ~ .olam-tabs__panels .olam-tabs__panel--6 {
    display: block;
    animation: olam-fade-up 0.28s ease both;
}

/* ------------------------------------------------------------------ */
/* 6. Image hotspots                                                  */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-hotspots {
    overflow: hidden;
    padding: 1rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background: linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 28px 70px -42px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block] .olam-hotspots__head,
.olam-block[data-olam-block] .olam-gallery__head,
.olam-block[data-olam-block] .olam-download__head,
.olam-block[data-olam-block] .olam-stepper__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-hotspots__head span,
.olam-block[data-olam-block] .olam-gallery__head span,
.olam-block[data-olam-block] .olam-download__head span,
.olam-block[data-olam-block] .olam-stepper__head span {
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-hotspots__stage {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 15%, rgba(201, 162, 39, 0.22), transparent 32%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
}

.olam-block[data-olam-block] .olam-hotspots__image {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.72;
}

.olam-block[data-olam-block] .olam-hotspots__placeholder {
    display: flex;
    height: 420px;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-hotspots__pin {
    position: absolute;
    left: var(--x);
    top: var(--y);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px;
    border: 6px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: var(--olam-gold);
    color: var(--olam-accent-dark);
    cursor: pointer;
    font-weight: 900;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.55);
    animation: olam-pulse 1.8s ease infinite;
}

.olam-block[data-olam-block] .olam-hotspots__radio:checked + .olam-hotspots__pin {
    background: #ffffff;
    color: var(--olam-accent);
    animation: none;
}

.olam-block[data-olam-block] .olam-hotspots__cards {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    width: min(360px, calc(100% - 2rem));
}

.olam-block[data-olam-block] .olam-hotspots__card {
    display: none;
    padding: 1.15rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 22px 52px -30px rgba(0, 0, 0, 0.7);
}

.olam-block[data-olam-block] .olam-hotspots__cardicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    width: 44px;
    margin-bottom: 0.7rem;
    border-radius: 14px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-hotspots__kicker {
    color: var(--olam-gold);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-hotspots__card h4 {
    margin: 0.25rem 0 0.5rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.35rem;
}

.olam-block[data-olam-block] .olam-hotspots__card p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(1):checked ~ .olam-hotspots__cards .olam-hotspots__card--1,
.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(2):checked ~ .olam-hotspots__cards .olam-hotspots__card--2,
.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(3):checked ~ .olam-hotspots__cards .olam-hotspots__card--3,
.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(4):checked ~ .olam-hotspots__cards .olam-hotspots__card--4,
.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(5):checked ~ .olam-hotspots__cards .olam-hotspots__card--5,
.olam-block[data-olam-block] .olam-hotspots__radio:nth-of-type(6):checked ~ .olam-hotspots__cards .olam-hotspots__card--6 {
    display: block;
    animation: olam-fade-up 0.28s ease both;
}

/* ------------------------------------------------------------------ */
/* 8. Stepper wizard                                                  */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-stepper {
    overflow: hidden;
    padding: 1.15rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 26px 64px -40px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block] .olam-stepper__shell {
    display: grid;
    gap: 1rem;
}

.olam-block[data-olam-block] .olam-stepper__nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 0.65rem;
}

.olam-block[data-olam-block] .olam-stepper__dot {
    display: grid;
    gap: 0.45rem;
    min-height: 92px;
    padding: 0.8rem;
    border: 1px solid #eadfe4;
    border-radius: 18px;
    background: #ffffff;
    color: var(--olam-accent-dark);
    cursor: pointer;
    box-shadow: 0 14px 30px -28px rgba(58, 15, 34, 0.45);
}

.olam-block[data-olam-block] .olam-stepper__dot span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    border-radius: 12px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-stepper__dot strong {
    font-family: var(--olam-heading-font);
    font-size: 1.05rem;
}

.olam-block[data-olam-block] .olam-stepper__panels {
    min-height: 260px;
}

.olam-block[data-olam-block] .olam-stepper__panel {
    display: none;
    min-height: 260px;
    padding: 1.45rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 8%, rgba(201, 162, 39, 0.24), transparent 30%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-stepper__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    width: 58px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5df9b;
}

.olam-block[data-olam-block] .olam-stepper__kicker {
    display: block;
    margin-top: 1rem;
    color: #f5df9b;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-stepper__panel h4 {
    margin: 0.35rem 0 0.55rem;
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: 2rem;
}

.olam-block[data-olam-block] .olam-stepper__panel p {
    max-width: 70ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.65;
}

.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(1):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(1),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(2):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(2),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(3):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(3),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(4):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(4),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(5):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(5),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(6):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(6),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(7):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(7),
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(8):checked ~ .olam-stepper__nav .olam-stepper__dot:nth-child(8) {
    border-color: var(--olam-accent);
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(1):checked ~ .olam-stepper__panels .olam-stepper__panel--1,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(2):checked ~ .olam-stepper__panels .olam-stepper__panel--2,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(3):checked ~ .olam-stepper__panels .olam-stepper__panel--3,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(4):checked ~ .olam-stepper__panels .olam-stepper__panel--4,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(5):checked ~ .olam-stepper__panels .olam-stepper__panel--5,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(6):checked ~ .olam-stepper__panels .olam-stepper__panel--6,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(7):checked ~ .olam-stepper__panels .olam-stepper__panel--7,
.olam-block[data-olam-block] .olam-stepper__radio:nth-of-type(8):checked ~ .olam-stepper__panels .olam-stepper__panel--8 {
    display: block;
    animation: olam-fade-up 0.28s ease both;
}

/* ------------------------------------------------------------------ */
/* 9. Gallery                                                         */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-gallery {
    position: relative;
    padding: 1.15rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background: #ffffff;
    box-shadow: 0 26px 64px -42px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block] .olam-gallery__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
    grid-auto-rows: 190px;
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 18px 42px -34px rgba(58, 15, 34, 0.55);
}

.olam-block[data-olam-block] .olam-gallery__item:first-child {
    grid-row: span 2;
}

.olam-block[data-olam-block] .olam-gallery__item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.78;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.olam-block[data-olam-block] .olam-gallery__item:hover img {
    opacity: 0.9;
    transform: scale(1.04);
}

.olam-block[data-olam-block] .olam-gallery__caption {
    position: absolute;
    inset: auto 0 0;
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    background: linear-gradient(180deg, transparent, rgba(46, 14, 26, 0.92));
}

.olam-block[data-olam-block] .olam-gallery__caption strong {
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: 1.2rem;
}

.olam-block[data-olam-block] .olam-gallery__caption em {
    color: rgba(255, 255, 255, 0.78);
    font-style: normal;
}

.olam-block[data-olam-block] .olam-gallery__empty {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.olam-block[data-olam-block] .olam-gallery__lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(25, 15, 20, 0.84);
}

.olam-block[data-olam-block] .olam-gallery__lightbox:target {
    display: flex;
}

.olam-block[data-olam-block] .olam-gallery__lightbox figure {
    max-width: min(980px, 96vw);
    max-height: 92vh;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
}

.olam-block[data-olam-block] .olam-gallery__lightbox img {
    display: block;
    max-height: 70vh;
    width: 100%;
    object-fit: contain;
    background: #160810;
}

.olam-block[data-olam-block] .olam-gallery__lightbox figcaption {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.2rem;
}

.olam-block[data-olam-block] .olam-gallery__lightbox figcaption strong {
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.35rem;
}

.olam-block[data-olam-block] .olam-gallery__lightbox figcaption span {
    color: var(--olam-muted);
}

.olam-block[data-olam-block] .olam-gallery__close {
    position: absolute;
    right: 24px;
    top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    width: 38px;
    border-radius: 50%;
    background: #ffffff;
    color: var(--olam-accent);
    font-weight: 900;
    text-decoration: none;
}

/* ------------------------------------------------------------------ */
/* 10. Downloads                                                      */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-download {
    overflow: hidden;
    padding: 1.15rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 100% 0, rgba(201, 162, 39, 0.18), transparent 28%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 26px 64px -42px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block] .olam-download__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block] .olam-download__card {
    position: relative;
    display: grid;
    min-height: 250px;
    align-content: start;
    gap: 0.55rem;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 42px -34px rgba(58, 15, 34, 0.55);
}

.olam-block[data-olam-block] .olam-download__num {
    position: absolute;
    right: 0.9rem;
    top: 0.65rem;
    color: rgba(201, 162, 39, 0.22);
    font-family: var(--olam-heading-font);
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}

.olam-block[data-olam-block] .olam-download__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    width: 54px;
    border-radius: 18px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-download__card h4 {
    margin: 0.35rem 0 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.35rem;
}

.olam-block[data-olam-block] .olam-download__card p {
    margin: 0;
    color: var(--olam-muted);
}

.olam-block[data-olam-block] .olam-download__card a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    margin-top: auto;
    padding: 0.62rem 0.9rem;
    border-radius: 999px;
    background: var(--olam-accent);
    color: #ffffff;
    font-weight: 900;
    text-decoration: none;
}

.olam-block[data-olam-block] .olam-download__done {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    color: var(--olam-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

/* ------------------------------------------------------------------ */
/* 11. Mind map                                                       */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-mindmap {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    padding: 1.25rem;
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 50% 50%, rgba(252, 227, 236, 0.95), transparent 26%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: 0 28px 70px -42px rgba(58, 15, 34, 0.58);
}

.olam-block[data-olam-block].olam-mindmap::before,
.olam-block[data-olam-block].olam-mindmap::after {
    content: "";
    position: absolute;
    inset: 15%;
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 50%;
}

.olam-block[data-olam-block].olam-mindmap::after {
    inset: 28%;
    border-color: rgba(164, 21, 76, 0.16);
}

.olam-block[data-olam-block] .olam-mindmap__center {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: grid;
    height: 178px;
    width: 178px;
    place-items: center;
    padding: 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    text-align: center;
    transform: translate(-50%, -50%);
    box-shadow: 0 24px 54px -30px rgba(58, 15, 34, 0.75);
}

.olam-block[data-olam-block] .olam-mindmap__center > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.13);
    color: #f5df9b;
}

.olam-block[data-olam-block] .olam-mindmap__center strong {
    font-family: var(--olam-heading-font);
    font-size: 1.35rem;
    line-height: 1.05;
}

.olam-block[data-olam-block] .olam-mindmap__nodes {
    position: relative;
    z-index: 1;
    min-height: 480px;
}

.olam-block[data-olam-block] .olam-mindmap__node {
    position: absolute;
    display: grid;
    width: min(260px, 42%);
    gap: 0.45rem;
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 18px 42px -34px rgba(58, 15, 34, 0.55);
}

.olam-block[data-olam-block] .olam-mindmap__node::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 76px;
    background: rgba(201, 162, 39, 0.6);
}

.olam-block[data-olam-block] .olam-mindmap__node--1 {
    left: 4%;
    top: 5%;
}

.olam-block[data-olam-block] .olam-mindmap__node--1::before {
    right: -76px;
    top: 64%;
    transform: rotate(22deg);
}

.olam-block[data-olam-block] .olam-mindmap__node--2 {
    right: 4%;
    top: 8%;
}

.olam-block[data-olam-block] .olam-mindmap__node--2::before {
    left: -76px;
    top: 62%;
    transform: rotate(-22deg);
}

.olam-block[data-olam-block] .olam-mindmap__node--3 {
    left: 5%;
    bottom: 7%;
}

.olam-block[data-olam-block] .olam-mindmap__node--3::before {
    right: -76px;
    top: 26%;
    transform: rotate(-22deg);
}

.olam-block[data-olam-block] .olam-mindmap__node--4 {
    right: 5%;
    bottom: 8%;
}

.olam-block[data-olam-block] .olam-mindmap__node--4::before {
    left: -76px;
    top: 26%;
    transform: rotate(22deg);
}

.olam-block[data-olam-block] .olam-mindmap__node--5 {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

.olam-block[data-olam-block] .olam-mindmap__node--5::before {
    left: calc(50% - 1px);
    top: 100%;
    height: 76px;
    width: 2px;
}

.olam-block[data-olam-block] .olam-mindmap__node--6 {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.olam-block[data-olam-block] .olam-mindmap__node--6::before {
    left: calc(50% - 1px);
    bottom: 100%;
    height: 76px;
    width: 2px;
}

.olam-block[data-olam-block] .olam-mindmap__node > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    width: 44px;
    border-radius: 14px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-mindmap__node h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.2rem;
}

.olam-block[data-olam-block] .olam-mindmap__node p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.48;
}

/* ------------------------------------------------------------------ */
/* 12. Lesson mental map                                              */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-lessonmap {
    position: relative;
    display: grid;
    grid-template-columns: minmax(240px, 0.85fr) minmax(360px, 1.25fr) minmax(240px, 0.78fr);
    gap: 1rem;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 12px);
    background:
        linear-gradient(115deg, rgba(58, 15, 34, 0.98), rgba(164, 21, 76, 0.88)),
        radial-gradient(circle at 80% 10%, rgba(201, 162, 39, 0.22), transparent 30%);
    box-shadow: var(--olam-shadow-strong);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-lessonmap::before {
    content: "";
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 28px;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-lessonmap__intro,
.olam-block[data-olam-block] .olam-lessonmap__side {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
}

.olam-block[data-olam-block] .olam-lessonmap__badge,
.olam-block[data-olam-block] .olam-lessonmap__chips span,
.olam-block[data-olam-block] .olam-smartdownload__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-lessonmap__badge {
    padding: 0.42rem 0.8rem;
    background: rgba(252, 227, 236, 0.12);
    color: #f6d9e5;
}

.olam-block[data-olam-block] .olam-lessonmap__intro h3,
.olam-block[data-olam-block] .olam-layers__intro h3,
.olam-block[data-olam-block] .olam-smartdownload__cover h3,
.olam-block[data-olam-block].olam-errorclue header h3,
.olam-block[data-olam-block].olam-memory header h3,
.olam-block[data-olam-block].olam-visualcompare header h3 {
    margin: 0;
    font-family: var(--olam-heading-font);
    letter-spacing: 0;
}

.olam-block[data-olam-block] .olam-lessonmap__intro h3 {
    font-size: clamp(2rem, 4vw, 3.8rem);
    line-height: 0.96;
}

.olam-block[data-olam-block] .olam-lessonmap__intro p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-lessonmap__question {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.olam-block[data-olam-block] .olam-lessonmap__question > span,
.olam-block[data-olam-block] .olam-lessonmap__center > span,
.olam-block[data-olam-block] .olam-smartdownload__file > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
}

.olam-block[data-olam-block] .olam-lessonmap__question > span {
    height: 42px;
    width: 42px;
    background: var(--olam-gold);
    color: #3a0f22;
}

.olam-block[data-olam-block] .olam-lessonmap__question strong {
    align-self: center;
    font-family: var(--olam-heading-font);
    font-size: 1.05rem;
    line-height: 1.25;
}

.olam-block[data-olam-block] .olam-lessonmap__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.olam-block[data-olam-block] .olam-lessonmap__chips span {
    padding: 0.42rem 0.72rem;
    background: rgba(255, 255, 255, 0.92);
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-lessonmap__canvas {
    position: relative;
    z-index: 1;
    min-height: 580px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 50%, rgba(252, 227, 236, 0.95), transparent 24%),
        rgba(255, 255, 255, 0.94);
    color: var(--olam-ink);
    box-shadow: 0 24px 60px -34px rgba(0, 0, 0, 0.55);
}

.olam-block[data-olam-block] .olam-lessonmap__canvas::before,
.olam-block[data-olam-block] .olam-lessonmap__canvas::after {
    content: "";
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(201, 162, 39, 0.34);
    border-radius: 50%;
}

.olam-block[data-olam-block] .olam-lessonmap__canvas::after {
    inset: 26%;
    border-color: rgba(164, 21, 76, 0.16);
}

.olam-block[data-olam-block] .olam-lessonmap__center {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: grid;
    height: 156px;
    width: 156px;
    place-items: center;
    padding: 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    text-align: center;
    transform: translate(-50%, -50%);
}

.olam-block[data-olam-block] .olam-lessonmap__center > span {
    height: 38px;
    width: 38px;
    background: rgba(255, 255, 255, 0.13);
    color: #f5df9b;
}

.olam-block[data-olam-block] .olam-lessonmap__center strong {
    font-family: var(--olam-heading-font);
    line-height: 1.04;
}

.olam-block[data-olam-block] .olam-lessonmap__node {
    position: absolute;
    z-index: 2;
    display: grid;
    width: min(230px, 42%);
    gap: 0.4rem;
    padding: 0.9rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 40px -32px rgba(58, 15, 34, 0.62);
}

.olam-block[data-olam-block] .olam-lessonmap__node::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 58px;
    background: rgba(201, 162, 39, 0.66);
}

.olam-block[data-olam-block] .olam-lessonmap__node--1 { left: 5%; top: 6%; }
.olam-block[data-olam-block] .olam-lessonmap__node--1::before { right: -58px; top: 64%; transform: rotate(22deg); }
.olam-block[data-olam-block] .olam-lessonmap__node--2 { right: 5%; top: 8%; }
.olam-block[data-olam-block] .olam-lessonmap__node--2::before { left: -58px; top: 62%; transform: rotate(-22deg); }
.olam-block[data-olam-block] .olam-lessonmap__node--3 { left: 4%; bottom: 8%; }
.olam-block[data-olam-block] .olam-lessonmap__node--3::before { right: -58px; top: 28%; transform: rotate(-22deg); }
.olam-block[data-olam-block] .olam-lessonmap__node--4 { right: 4%; bottom: 8%; }
.olam-block[data-olam-block] .olam-lessonmap__node--4::before { left: -58px; top: 28%; transform: rotate(22deg); }
.olam-block[data-olam-block] .olam-lessonmap__node--5 { left: 50%; top: 3%; transform: translateX(-50%); }
.olam-block[data-olam-block] .olam-lessonmap__node--5::before { left: calc(50% - 1px); top: 100%; height: 58px; width: 2px; }
.olam-block[data-olam-block] .olam-lessonmap__node--6 { left: 50%; bottom: 3%; transform: translateX(-50%); }
.olam-block[data-olam-block] .olam-lessonmap__node--6::before { left: calc(50% - 1px); bottom: 100%; height: 58px; width: 2px; }

.olam-block[data-olam-block] .olam-lessonmap__node > span,
.olam-block[data-olam-block] .olam-errorclue__types article > span,
.olam-block[data-olam-block] .olam-visualcompare__points article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px;
    border-radius: 15px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-lessonmap__node h4,
.olam-block[data-olam-block] .olam-smartdownload__use h4,
.olam-block[data-olam-block].olam-errorclue h4,
.olam-block[data-olam-block].olam-visualcompare h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    letter-spacing: 0;
}

.olam-block[data-olam-block] .olam-lessonmap__node p {
    margin: 0;
    color: var(--olam-muted);
    font-size: 0.9rem;
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-lessonmap__side > div {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--olam-ink);
}

.olam-block[data-olam-block] .olam-lessonmap__side > div > span {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 0.8;
}

.olam-block[data-olam-block] .olam-lessonmap__side p,
.olam-block[data-olam-block] .olam-lessonmap__side ul {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.48;
}

.olam-block[data-olam-block] .olam-lessonmap__side ul {
    display: grid;
    gap: 0.4rem;
    padding-left: 1.1rem;
}

.olam-block[data-olam-block] .olam-lessonmap__cta {
    margin: 0;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    font-weight: 800;
}

/* Document-faithful structure for Mapa mental da aula. */
.olam-block[data-olam-block].olam-lessonmap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.05rem;
    overflow: hidden;
    padding: clamp(1.4rem, 4vw, 2.4rem);
    border: 1px solid rgba(201, 162, 39, 0.24);
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 84% 8%, rgba(201, 162, 39, 0.18), transparent 23%),
        linear-gradient(135deg, #fffdf8, #fbf3ec);
    box-shadow: 0 28px 72px -48px rgba(58, 15, 34, 0.48);
    color: var(--olam-ink);
}

.olam-block[data-olam-block].olam-lessonmap::before {
    content: "1";
    position: absolute;
    right: 8%;
    top: 2rem;
    color: rgba(201, 162, 39, 0.12);
    font-family: var(--olam-heading-font);
    font-size: clamp(7rem, 18vw, 14rem);
    font-weight: 900;
    line-height: 0.7;
    pointer-events: none;
    transform: rotate(8deg);
}

.olam-block[data-olam-block] .olam-lessonmap__hero {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-lessonmap__badge {
    padding: 0.52rem 0.95rem;
    border: 1px solid rgba(164, 21, 76, 0.22);
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-lessonmap__hero h3 {
    max-width: 760px;
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(2.6rem, 7vw, 5rem);
    font-weight: 900;
    line-height: 0.92;
}

.olam-block[data-olam-block] .olam-lessonmap__hero p {
    max-width: 760px;
    margin: 0;
    color: var(--olam-muted);
    font-size: 1.08rem;
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-lessonmap__question {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-lessonmap__question > span {
    height: 48px;
    width: 48px;
    border-radius: 50%;
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-lessonmap__question p {
    margin: 0;
    color: var(--olam-ink);
    font-size: 1.02rem;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-lessonmap__question strong {
    color: var(--olam-accent);
    font-family: inherit;
    font-size: inherit;
}

.olam-block[data-olam-block] .olam-lessonmap__main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(230px, 0.75fr) minmax(360px, 1.5fr) minmax(230px, 0.75fr);
    gap: 1.35rem;
    align-items: stretch;
}

.olam-block[data-olam-block] .olam-lessonmap__objective,
.olam-block[data-olam-block] .olam-lessonmap__success {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    min-height: 360px;
    padding: 1.25rem;
    border: 1px solid rgba(164, 21, 76, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 22px 54px -42px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-lessonmap__objective > span,
.olam-block[data-olam-block] .olam-lessonmap__success > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 50px;
    border-radius: 16px;
    background: var(--olam-gold-soft);
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-lessonmap__objective h4,
.olam-block[data-olam-block] .olam-lessonmap__success h4 {
    margin: 0;
    color: var(--olam-accent);
    font-family: var(--olam-heading-font);
    font-size: 1.35rem;
    line-height: 1.05;
}

.olam-block[data-olam-block] .olam-lessonmap__objective p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.62;
}

.olam-block[data-olam-block] .olam-lessonmap__objective em {
    display: block;
    margin-top: 0.4rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(164, 21, 76, 0.14);
    color: var(--olam-muted);
    font-style: normal;
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-lessonmap__objective em .olam-icon {
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-lessonmap__success ul {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.olam-block[data-olam-block] .olam-lessonmap__success li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 0.65rem;
    align-items: start;
    color: var(--olam-muted);
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-lessonmap__success li .olam-icon {
    display: inline-flex;
    height: 34px;
    width: 34px;
    padding: 0.45rem;
    border-radius: 50%;
    background: rgba(119, 129, 61, 0.18);
    color: #77813d;
}

.olam-block[data-olam-block] .olam-lessonmap__canvas {
    position: relative;
    display: block;
    min-height: 420px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.olam-block[data-olam-block] .olam-lessonmap__canvas::before,
.olam-block[data-olam-block] .olam-lessonmap__canvas::after {
    inset: 20% 8%;
    border-color: rgba(201, 162, 39, 0.24);
    animation: olam-map-orbit 8s ease-in-out infinite alternate;
}

.olam-block[data-olam-block] .olam-lessonmap__canvas::after {
    inset: 28% 22%;
    border-color: rgba(164, 21, 76, 0.16);
    animation-duration: 6s;
}

.olam-block[data-olam-block] .olam-lessonmap__center {
    height: 150px;
    width: 150px;
    background: var(--olam-accent);
    box-shadow: 0 22px 48px -30px rgba(58, 15, 34, 0.68);
}

.olam-block[data-olam-block] .olam-lessonmap__center > span {
    height: auto;
    width: auto;
    background: transparent;
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-lessonmap__center strong {
    font-size: 1.05rem;
}

.olam-block[data-olam-block] .olam-lessonmap__lines i {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    height: 2px;
    width: 160px;
    background: repeating-linear-gradient(90deg, var(--olam-accent), var(--olam-accent) 8px, transparent 8px, transparent 14px);
    opacity: 0.78;
    transform-origin: left center;
    animation: olam-map-line 2.8s ease-in-out infinite;
}

.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(1) { transform: rotate(-138deg); }
.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(2) { transform: rotate(-42deg); }
.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(3) { transform: rotate(150deg); }
.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(4) { transform: rotate(28deg); }
.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(5) { transform: rotate(90deg); }
.olam-block[data-olam-block] .olam-lessonmap__lines i:nth-child(6) { transform: rotate(-90deg); }

.olam-block[data-olam-block] .olam-lessonmap__node {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    width: min(210px, 34%);
    min-height: 68px;
    padding: 0.65rem 0.8rem;
    border-color: rgba(164, 21, 76, 0.16);
    border-radius: 999px;
}

.olam-block[data-olam-block] .olam-lessonmap__node::before,
.olam-block[data-olam-block] .olam-lessonmap__node p {
    display: none;
}

.olam-block[data-olam-block] .olam-lessonmap__node > span {
    height: 38px;
    width: 38px;
    border-radius: 14px;
    background: #f8ecd8;
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-lessonmap__node strong {
    color: var(--olam-accent-dark);
    font-weight: 900;
    line-height: 1.05;
}

.olam-block[data-olam-block] .olam-lessonmap__node--1 { left: 8%; top: 6%; }
.olam-block[data-olam-block] .olam-lessonmap__node--2 { right: 8%; top: 6%; }
.olam-block[data-olam-block] .olam-lessonmap__node--3 { right: 5%; bottom: 18%; }
.olam-block[data-olam-block] .olam-lessonmap__node--4 { left: 5%; bottom: 20%; }
.olam-block[data-olam-block] .olam-lessonmap__node--5 { left: 50%; bottom: 1%; transform: translateX(-50%); }
.olam-block[data-olam-block] .olam-lessonmap__node--6 { left: 50%; top: 0; transform: translateX(-50%); }

.olam-block[data-olam-block] .olam-lessonmap__explain {
    position: absolute;
    left: 50%;
    bottom: -0.3rem;
    z-index: 3;
    width: min(530px, 92%);
    padding: 0.95rem 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--olam-ink);
    line-height: 1.45;
    transform: translateX(-50%);
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-lessonmap__explain strong {
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-lessonmap__chips {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.olam-block[data-olam-block] .olam-lessonmap__chips article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 0.15rem 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(164, 21, 76, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-lessonmap__chips article > .olam-icon {
    grid-row: span 2;
    align-self: center;
    height: 44px;
    width: 44px;
    padding: 0.65rem;
    border-radius: 15px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-lessonmap__chips strong {
    color: var(--olam-accent-dark);
    line-height: 1.15;
}

.olam-block[data-olam-block] .olam-lessonmap__chips span {
    padding: 0;
    background: transparent;
    color: var(--olam-muted);
    font-size: 0.86rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
}

.olam-block[data-olam-block] .olam-lessonmap__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    min-height: 70px;
    margin: 0;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(90deg, var(--olam-accent-dark), #c2185b);
    color: #ffffff;
    font-size: clamp(1.15rem, 3vw, 1.65rem);
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 22px 48px -30px rgba(164, 21, 76, 0.9);
}

.olam-block[data-olam-block] .olam-lessonmap__cta span {
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-lessonmap__footer {
    margin: 0;
    color: #a87563;
    text-align: center;
    line-height: 1.45;
}

@keyframes olam-map-line {
    0%, 100% { opacity: 0.42; background-position: 0 0; }
    50% { opacity: 0.9; background-position: 24px 0; }
}

@keyframes olam-map-orbit {
    from { transform: scale(0.985); }
    to { transform: scale(1.02); }
}

/* Mapa mental da aula: estrutura fiel ao documento de referencia. */
.olam-block[data-olam-block].olam-aulamap,
.olam-block[data-olam-block].olam-aulamap * {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-aulamap {
    position: relative;
    container-type: inline-size;
    display: grid;
    gap: 1.35rem;
    overflow: hidden;
    padding: 2.25rem;
    border: 1px solid rgba(201, 162, 39, 0.34);
    border-radius: 26px;
    background:
        radial-gradient(circle at 86% 10%, rgba(201, 162, 39, 0.18), transparent 24rem),
        linear-gradient(135deg, #fffdf8 0%, #fbf1e9 100%);
    color: var(--olam-ink);
    font-size: 1.05rem;
    box-shadow: 0 30px 80px -54px rgba(58, 15, 34, 0.48);
}

.olam-block[data-olam-block].olam-aulamap::before {
    content: "1";
    position: absolute;
    right: 9%;
    top: 1.9rem;
    z-index: 0;
    color: rgba(201, 162, 39, 0.14);
    font-family: var(--olam-heading-font);
    font-size: 10.5rem;
    font-weight: 900;
    line-height: 0.7;
    pointer-events: none;
    transform: rotate(8deg);
}

.olam-block[data-olam-block] .olam-aulamap__hero,
.olam-block[data-olam-block] .olam-aulamap__question,
.olam-block[data-olam-block] .olam-aulamap__main,
.olam-block[data-olam-block] .olam-aulamap__chips,
.olam-block[data-olam-block] .olam-aulamap__cta,
.olam-block[data-olam-block] .olam-aulamap__footer {
    position: relative;
    z-index: 1;
}

.olam-block[data-olam-block] .olam-aulamap__hero {
    display: grid;
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-aulamap__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: max-content;
    max-width: 100%;
    padding: 0.52rem 0.92rem;
    border: 1px solid rgba(164, 21, 76, 0.22);
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-aulamap__badge .olam-icon {
    height: 1rem;
    width: 1rem;
}

.olam-block[data-olam-block] .olam-aulamap__hero h3 {
    max-width: 790px;
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 4.65rem;
    font-weight: 900;
    line-height: 0.92;
}

.olam-block[data-olam-block] .olam-aulamap__hero p {
    max-width: 820px;
    margin: 0;
    color: var(--olam-muted);
    font-size: 1.15rem;
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-aulamap__question {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 78px;
    padding: 0.95rem 1.15rem;
    border: 1px solid rgba(164, 21, 76, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 20px 44px -38px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-aulamap__question > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    width: 46px;
    border-radius: 50%;
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-aulamap__question > span .olam-icon {
    height: 1.2rem;
    width: 1.2rem;
}

.olam-block[data-olam-block] .olam-aulamap__question p {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: var(--olam-ink);
    font-size: 1.1rem;
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-aulamap__question strong {
    color: var(--olam-accent);
    font-family: inherit;
    font-size: inherit;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-aulamap__main {
    display: grid;
    grid-template-columns: minmax(220px, 0.74fr) minmax(430px, 1.55fr) minmax(220px, 0.74fr);
    gap: 1.4rem;
    align-items: stretch;
}

.olam-block[data-olam-block] .olam-aulamap__objective,
.olam-block[data-olam-block] .olam-aulamap__success {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    min-width: 0;
    min-height: 360px;
    padding: 1.35rem;
    border: 1px solid rgba(164, 21, 76, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 22px 54px -42px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-aulamap__objective > span,
.olam-block[data-olam-block] .olam-aulamap__success > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 50px;
    border-radius: 16px;
    background: var(--olam-gold-soft);
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-aulamap__objective > span .olam-icon,
.olam-block[data-olam-block] .olam-aulamap__success > span .olam-icon {
    height: 1.35rem;
    width: 1.35rem;
}

.olam-block[data-olam-block] .olam-aulamap__objective h4,
.olam-block[data-olam-block] .olam-aulamap__success h4 {
    margin: 0;
    color: var(--olam-accent);
    font-family: var(--olam-heading-font);
    font-size: 1.48rem;
    font-weight: 800;
    line-height: 1.08;
}

.olam-block[data-olam-block] .olam-aulamap__objective p {
    margin: 0;
    color: var(--olam-muted);
    font-size: 1.05rem;
    line-height: 1.58;
}

.olam-block[data-olam-block] .olam-aulamap__objective em {
    display: block;
    margin-top: 0.3rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(164, 21, 76, 0.14);
    color: var(--olam-muted);
    font-size: 1.02rem;
    font-style: normal;
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-aulamap__objective em .olam-icon {
    height: 1rem;
    width: 1rem;
    color: var(--olam-gold);
    vertical-align: -0.16em;
}

.olam-block[data-olam-block] .olam-aulamap__canvas {
    position: relative;
    min-width: 0;
    min-height: 490px;
}

.olam-block[data-olam-block] .olam-aulamap__rings,
.olam-block[data-olam-block] .olam-aulamap__rings::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 48%;
    z-index: 0;
    border: 1px solid rgba(201, 162, 39, 0.26);
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: olam-aulamap-ring 7s ease-in-out infinite alternate;
}

.olam-block[data-olam-block] .olam-aulamap__rings {
    height: 245px;
    width: min(92%, 540px);
}

.olam-block[data-olam-block] .olam-aulamap__rings::before {
    height: 142px;
    width: 64%;
    border-color: rgba(164, 21, 76, 0.16);
    animation-duration: 5s;
}

.olam-block[data-olam-block] .olam-aulamap__center {
    position: absolute;
    left: 50%;
    top: 47%;
    z-index: 3;
    display: grid;
    place-items: center;
    gap: 0.45rem;
    height: 154px;
    width: 154px;
    padding: 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    text-align: center;
    transform: translate(-50%, -50%);
    box-shadow: 0 24px 54px -32px rgba(58, 15, 34, 0.72);
}

.olam-block[data-olam-block] .olam-aulamap__center > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.13);
    color: #f5df9b;
}

.olam-block[data-olam-block] .olam-aulamap__center strong {
    display: block;
    max-width: 110px;
    color: #ffffff;
    font-size: 1.13rem;
    font-weight: 900;
    line-height: 1.08;
}

.olam-block[data-olam-block] .olam-aulamap__lines > *,
.olam-block[data-olam-block] .olam-aulamap__lines i {
    position: absolute;
    left: 50%;
    top: 47%;
    z-index: 1;
    height: 2px;
    width: 168px;
    background: repeating-linear-gradient(90deg, var(--olam-accent), var(--olam-accent) 8px, transparent 8px, transparent 15px);
    opacity: 0.72;
    pointer-events: none;
    transform-origin: left center;
    animation: olam-aulamap-line 2.9s linear infinite;
    color: transparent;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(1) { transform: rotate(-138deg); }
.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(2) { transform: rotate(-42deg); }
.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(3) { transform: rotate(28deg); }
.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(4) { transform: rotate(150deg); }
.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(5) { transform: rotate(90deg); }
.olam-block[data-olam-block] .olam-aulamap__lines > *:nth-child(6) { transform: rotate(-90deg); }

.olam-block[data-olam-block] .olam-aulamap__node {
    appearance: none;
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 204px;
    min-height: 72px;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(164, 21, 76, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--olam-ink);
    cursor: pointer;
    font: inherit;
    text-align: left;
    box-shadow: 0 18px 42px -34px rgba(58, 15, 34, 0.62);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block] .olam-aulamap__node:hover,
.olam-block[data-olam-block] .olam-aulamap__node:focus-visible,
.olam-block[data-olam-block] .olam-aulamap__node.is-active {
    border-color: rgba(164, 21, 76, 0.34);
    background: #ffffff;
    box-shadow: 0 22px 46px -32px rgba(58, 15, 34, 0.7);
    transform: translateY(-3px);
}

.olam-block[data-olam-block] .olam-aulamap__node-icon,
.olam-block[data-olam-block] .olam-aulamap__node > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    width: 38px;
    border-radius: 14px;
    background: #f8ecd8;
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-aulamap__node-icon .olam-icon,
.olam-block[data-olam-block] .olam-aulamap__node > span .olam-icon {
    height: 1.08rem;
    width: 1.08rem;
}

.olam-block[data-olam-block] .olam-aulamap__node strong {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    color: var(--olam-accent-dark);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.08;
}

.olam-block[data-olam-block] .olam-aulamap__node p {
    display: none;
}

.olam-block[data-olam-block] .olam-aulamap__canvas > p,
.olam-block[data-olam-block] .olam-aulamap__legacy-text {
    display: none !important;
}

.olam-block[data-olam-block] .olam-aulamap__node--1 { left: 2%; top: 13%; }
.olam-block[data-olam-block] .olam-aulamap__node--2 { right: 2%; top: 13%; }
.olam-block[data-olam-block] .olam-aulamap__node--3 { right: 1%; bottom: 31%; }
.olam-block[data-olam-block] .olam-aulamap__node--4 { left: 1%; bottom: 31%; }
.olam-block[data-olam-block] .olam-aulamap__node--5 { left: 50%; bottom: 16%; transform: translateX(-50%); }
.olam-block[data-olam-block] .olam-aulamap__node--6 { left: 50%; top: 2%; transform: translateX(-50%); }

.olam-block[data-olam-block] .olam-aulamap__node--5:hover,
.olam-block[data-olam-block] .olam-aulamap__node--5:focus-visible,
.olam-block[data-olam-block] .olam-aulamap__node--5.is-active,
.olam-block[data-olam-block] .olam-aulamap__node--6:hover,
.olam-block[data-olam-block] .olam-aulamap__node--6:focus-visible,
.olam-block[data-olam-block] .olam-aulamap__node--6.is-active {
    transform: translateX(-50%) translateY(-3px);
}

.olam-block[data-olam-block] .olam-aulamap__explain {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 4;
    width: min(530px, 94%);
    padding: 0.95rem 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.15);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--olam-ink);
    font-size: 1.04rem;
    line-height: 1.42;
    transform: translateX(-50%);
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-aulamap__explain strong {
    color: var(--olam-accent);
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-aulamap__explain strong::after {
    content: ": ";
}

.olam-block[data-olam-block] .olam-aulamap__explain span {
    display: inline;
}

.olam-block[data-olam-block] .olam-aulamap__success ul {
    display: grid;
    gap: 0.86rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.olam-block[data-olam-block] .olam-aulamap__success li {
    display: flex;
    gap: 0.62rem;
    align-items: start;
    min-width: 0;
    color: var(--olam-muted);
    font-size: 1.04rem;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-aulamap__success li .olam-icon {
    display: inline-flex;
    height: 34px;
    width: 34px;
    padding: 0.45rem;
    border-radius: 50%;
    background: rgba(119, 129, 61, 0.18);
    color: #77813d;
}

.olam-block[data-olam-block] .olam-aulamap__success li span {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.olam-block[data-olam-block] .olam-aulamap__success li .olam-icon {
    flex: 0 0 34px;
}

.olam-block[data-olam-block] .olam-aulamap__chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.olam-block[data-olam-block] .olam-aulamap__chipset {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}

.olam-block[data-olam-block] .olam-aulamap__chip,
.olam-block[data-olam-block] .olam-aulamap__chips article {
    appearance: none;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(164, 21, 76, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--olam-ink);
    cursor: pointer;
    font: inherit;
    text-align: left;
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-aulamap__chip:hover,
.olam-block[data-olam-block] .olam-aulamap__chip:focus-visible {
    border-color: rgba(164, 21, 76, 0.32);
    background: #ffffff;
}

.olam-block[data-olam-block] .olam-aulamap__chips article > .olam-icon,
.olam-block[data-olam-block] .olam-aulamap__chip > .olam-icon {
    flex: 0 0 42px;
    height: 42px;
    width: 42px;
    padding: 0.62rem;
    border-radius: 15px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-aulamap__chips article > div,
.olam-block[data-olam-block] .olam-aulamap__chip-body,
.olam-block[data-olam-block] .olam-aulamap__chip > div {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.olam-block[data-olam-block] .olam-aulamap__chips strong {
    color: var(--olam-accent-dark);
    display: block;
    font-size: 1.03rem;
    font-weight: 900;
    line-height: 1.12;
}

.olam-block[data-olam-block] .olam-aulamap__chip-body > span,
.olam-block[data-olam-block] .olam-aulamap__chips article > div > span,
.olam-block[data-olam-block] .olam-aulamap__chip > div > span {
    color: var(--olam-muted);
    display: block;
    font-size: 0.94rem;
    line-height: 1.28;
}

.olam-block[data-olam-block] .olam-aulamap__chip-toggle,
.olam-block[data-olam-block] .olam-aulamap__chip b {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    border-radius: 50%;
    background: rgba(201, 162, 39, 0.16);
    color: var(--olam-accent);
    font-size: 0.95rem;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.olam-block[data-olam-block] .olam-aulamap__chip-toggle .olam-icon {
    height: 1rem;
    width: 1rem;
}

.olam-block[data-olam-block] .olam-aulamap__chip:hover .olam-aulamap__chip-toggle,
.olam-block[data-olam-block] .olam-aulamap__chip:focus-visible .olam-aulamap__chip-toggle {
    background: rgba(164, 21, 76, 0.12);
}

.olam-block[data-olam-block] .olam-aulamap__chip[aria-expanded="true"] .olam-aulamap__chip-toggle,
.olam-block[data-olam-block] .olam-aulamap__chip[aria-expanded="true"] b {
    transform: rotate(180deg);
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-aulamap__chip-panel {
    padding: 0.85rem 1rem;
    border: 1px solid rgba(164, 21, 76, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-muted);
    font-size: 1.02rem;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-aulamap__chip-panel[hidden] {
    display: none;
}

.olam-block[data-olam-block] .olam-aulamap__chip-panel p {
    margin: 0;
}

.olam-block[data-olam-block] .olam-aulamap__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    min-height: 70px;
    padding: 0.9rem 1.2rem;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(90deg, var(--olam-accent-dark), #c2185b);
    color: #ffffff;
    font-size: 1.58rem;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 22px 48px -30px rgba(164, 21, 76, 0.9);
}

.olam-block[data-olam-block] .olam-aulamap__cta:hover,
.olam-block[data-olam-block] .olam-aulamap__cta:focus {
    color: #ffffff;
    text-decoration: none;
}

.olam-block[data-olam-block] .olam-aulamap__cta span {
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-aulamap__footer {
    margin: -0.15rem 0 0;
    color: #a87563;
    font-size: 0.98rem;
    line-height: 1.45;
    text-align: center;
}

@keyframes olam-aulamap-line {
    from { background-position: 0 0; opacity: 0.48; }
    50% { opacity: 0.9; }
    to { background-position: 30px 0; opacity: 0.48; }
}

@keyframes olam-aulamap-ring {
    from { transform: translate(-50%, -50%) scale(0.985); }
    to { transform: translate(-50%, -50%) scale(1.02); }
}

@container (max-width: 900px) {
    .olam-block[data-olam-block] .olam-aulamap__main {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-aulamap__objective,
    .olam-block[data-olam-block] .olam-aulamap__success {
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-aulamap__canvas {
        min-height: 450px;
    }
}

@container (max-width: 760px) {
    .olam-block[data-olam-block] .olam-aulamap__hero h3 {
        font-size: 2.65rem;
    }

    .olam-block[data-olam-block] .olam-aulamap__question {
        padding: 0.85rem;
    }

    .olam-block[data-olam-block] .olam-aulamap__question > span {
        height: 40px;
        width: 40px;
    }

    .olam-block[data-olam-block] .olam-aulamap__canvas {
        display: grid;
        gap: 0.75rem;
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-aulamap__rings,
    .olam-block[data-olam-block] .olam-aulamap__lines {
        display: none;
    }

    .olam-block[data-olam-block] .olam-aulamap__center,
    .olam-block[data-olam-block] .olam-aulamap__node,
    .olam-block[data-olam-block] .olam-aulamap__explain {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        transform: none;
    }

    .olam-block[data-olam-block] .olam-aulamap__center {
        height: auto;
        min-height: 142px;
        border-radius: 24px;
    }

    .olam-block[data-olam-block] .olam-aulamap__node {
        border-radius: 18px;
    }

    .olam-block[data-olam-block] .olam-aulamap__chips {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-aulamap__cta {
        min-height: 60px;
        font-size: 1.1rem;
    }
}

/* ------------------------------------------------------------------ */
/* 13. Content layers                                                 */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-layers {
    display: grid;
    grid-template-columns: minmax(230px, 0.62fr) minmax(0, 1.38fr);
    overflow: hidden;
    border-radius: calc(var(--olam-radius) + 10px);
    background: #ffffff;
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block] .olam-layers__intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 430px;
    padding: 1.5rem;
    background:
        radial-gradient(circle at 18% 12%, rgba(201, 162, 39, 0.34), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-layers__intro > span,
.olam-block[data-olam-block].olam-errorclue header > span,
.olam-block[data-olam-block].olam-memory header > span,
.olam-block[data-olam-block].olam-visualcompare header > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-layers__intro h3 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 0.98;
}

.olam-block[data-olam-block] .olam-layers__intro p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.58;
}

.olam-block[data-olam-block] .olam-layers__workspace {
    position: relative;
    padding: 1rem;
    background: linear-gradient(135deg, #fff, #fbf7f9);
}

.olam-block[data-olam-block] .olam-layers__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-layers__tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block] .olam-layers__tab {
    display: grid;
    min-height: 116px;
    gap: 0.4rem;
    padding: 0.85rem;
    border: 1px solid rgba(164, 21, 76, 0.12);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px -30px rgba(58, 15, 34, 0.52);
    cursor: pointer;
}

.olam-block[data-olam-block] .olam-layers__tab > span {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 0.9;
}

.olam-block[data-olam-block] .olam-layers__tab .olam-icon {
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-layers__tab strong {
    color: var(--olam-accent-dark);
    line-height: 1.15;
}

.olam-block[data-olam-block] .olam-layers__panels {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(252, 227, 236, 0.8), rgba(255, 255, 255, 0.95)),
        #ffffff;
}

.olam-block[data-olam-block] .olam-layers__panel {
    display: none;
    min-height: 250px;
    padding: clamp(1.2rem, 4vw, 2rem);
    animation: olam-fade-up 0.35s ease both;
}

.olam-block[data-olam-block] .olam-layers__depth {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.7rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: #ffffff;
    color: var(--olam-accent);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-layers__panel h4 {
    margin: 0 0 0.65rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.olam-block[data-olam-block] .olam-layers__panel p {
    max-width: 780px;
    margin: 0;
    color: var(--olam-muted);
    font-size: 1.02rem;
    line-height: 1.65;
}

.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(1):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(1),
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(2):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(2),
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(3):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(3),
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(4):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(4),
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(5):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(5),
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(6):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(6) {
    border-color: rgba(164, 21, 76, 0.32);
    background: var(--olam-accent);
    color: #ffffff;
    transform: translateY(-2px);
}

.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(1):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(1) *,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(2):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(2) *,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(3):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(3) *,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(4):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(4) *,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(5):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(5) *,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(6):checked ~ .olam-layers__tabs .olam-layers__tab:nth-child(6) * {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(1):checked ~ .olam-layers__panels .olam-layers__panel--1,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(2):checked ~ .olam-layers__panels .olam-layers__panel--2,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(3):checked ~ .olam-layers__panels .olam-layers__panel--3,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(4):checked ~ .olam-layers__panels .olam-layers__panel--4,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(5):checked ~ .olam-layers__panels .olam-layers__panel--5,
.olam-block[data-olam-block] .olam-layers__radio:nth-of-type(6):checked ~ .olam-layers__panels .olam-layers__panel--6 {
    display: block;
}

/* Documented layered content block. */
.olam-block[data-olam-block].olam-layers {
    --olam-layer-wine-950: #320919;
    --olam-layer-wine-900: #3f0d23;
    --olam-layer-wine-800: #5b0f2d;
    --olam-layer-ruby: var(--olam-accent, #a0174b);
    --olam-layer-gold: #d99a2b;
    --olam-layer-olive: #77813d;
    --olam-layer-cream: #fff8f1;
    --olam-layer-rose: #f8e4e7;
    --olam-layer-text: #2b1c24;
    --olam-layer-muted: #6b5260;
    --olam-layer-border: rgba(160, 23, 75, 0.18);
    --olam-layer-shadow-soft: 0 16px 42px rgba(63, 13, 35, 0.10);
    --olam-layer-shadow-strong: 0 24px 62px rgba(63, 13, 35, 0.18);
    display: block;
    position: relative;
    isolation: isolate;
    max-width: 1360px;
    margin: 1.2rem auto;
    padding: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-layer-text);
    font-family: var(--olam-font, inherit);
}

.olam-block[data-olam-block].olam-layers button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-layers .olam-shell {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-layer-cream) 54%, #fbefe6 100%);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: var(--olam-layer-shadow-strong);
    padding: clamp(1.15rem, 3vw, 2.45rem);
}

.olam-block[data-olam-block].olam-layers .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-layer-ruby), var(--olam-layer-wine-950));
    z-index: 0;
}

.olam-block[data-olam-block].olam-layers .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-layers .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-layers.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-layers .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-layers .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-layers .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-layer-rose);
    color: var(--olam-layer-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-layers .olam-kicker-icon,
.olam-block[data-olam-block].olam-layers .olam-layer-icon,
.olam-block[data-olam-block].olam-layers .olam-guide-icon,
.olam-block[data-olam-block].olam-layers .olam-pill-icon,
.olam-block[data-olam-block].olam-layers .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-layers .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-layer-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-layers .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-layers h2 {
    max-width: 860px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-layer-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    line-height: 0.95;
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-layers .olam-subtitle {
    max-width: 870px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-layers .olam-top-actions,
.olam-block[data-olam-block].olam-layers .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-layers .olam-help-btn,
.olam-block[data-olam-block].olam-layers .olam-btn {
    border: 0;
    border-radius: 999px;
    font-weight: 850;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-layers .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-layer-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-layers .olam-help-btn:hover,
.olam-block[data-olam-block].olam-layers .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-layers .olam-btn:hover,
.olam-block[data-olam-block].olam-layers .olam-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-layers .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-layers .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-layers .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-layers .olam-help-panel.is-open {
    display: block;
    animation: olam-layer-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-layers .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-layers .olam-help-card {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.95rem;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-layers .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-layer-wine-900);
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-layers .olam-help-card strong .olam-icon {
    color: #b87b14;
}

.olam-block[data-olam-block].olam-layers .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-layers .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-layers .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-layer-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-layers .olam-flow-chip .olam-icon {
    color: var(--olam-layer-ruby);
}

.olam-block[data-olam-block].olam-layers .olam-layers__layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(1rem, 2.3vw, 1.5rem);
    align-items: stretch;
    margin-top: 1.55rem;
}

.olam-block[data-olam-block].olam-layers .olam-card {
    border: 1px solid var(--olam-layer-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: var(--olam-layer-shadow-soft);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-layers .olam-visual-card {
    overflow: hidden;
    height: 100%;
}

.olam-block[data-olam-block].olam-layers .olam-card-head,
.olam-block[data-olam-block].olam-layers .olam-layer-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-layers .olam-card-head {
    padding: 1.15rem 1.15rem 0.9rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-layers .olam-card-head h3,
.olam-block[data-olam-block].olam-layers .olam-layer-intro h3 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-layer-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-layers .olam-card-head h3 .olam-icon,
.olam-block[data-olam-block].olam-layers .olam-layer-intro h3 .olam-icon {
    color: var(--olam-layer-ruby);
}

.olam-block[data-olam-block].olam-layers .olam-card-head p,
.olam-block[data-olam-block].olam-layers .olam-layer-intro p {
    margin: 0.35rem 0 0;
    color: var(--olam-layer-muted);
    font-size: 0.92rem;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-layers .olam-badge-soft {
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.48rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.olam-block[data-olam-block].olam-layers .olam-image-frame {
    position: relative;
    overflow: hidden;
    margin: 1.15rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.22), transparent 26%),
        radial-gradient(circle at 18% 84%, rgba(160, 23, 75, 0.12), transparent 28%),
        linear-gradient(135deg, #fff7ef, #fffdf9);
    border: 1px solid rgba(160, 23, 75, 0.13);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 18px 38px rgba(63, 13, 35, 0.08);
    min-height: 300px;
}

.olam-block[data-olam-block].olam-layers .olam-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-layers .olam-image-overlay {
    position: absolute;
    inset: auto 16px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    box-shadow: 0 16px 34px rgba(63, 13, 35, 0.13);
    backdrop-filter: blur(8px);
}

.olam-block[data-olam-block].olam-layers .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
    color: var(--olam-layer-ruby);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-layers .olam-image-overlay p {
    margin: 0;
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-layers .olam-guide {
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-layers .olam-guide-box {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1rem;
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-layers .olam-guide-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(217, 154, 43, 0.16);
    color: #b87b14;
}

.olam-block[data-olam-block].olam-layers .olam-guide-box strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-layer-wine-900);
    font-size: 0.98rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-layers .olam-guide-box p {
    margin: 0;
    color: #58434f;
    font-size: 0.93rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-layers .olam-layer-card {
    height: 100%;
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-layers .olam-layer-intro {
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-layers .olam-depth-meter {
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 20%, rgba(217, 154, 43, 0.15), transparent 26%),
        rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    margin-bottom: 1rem;
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-layers .olam-depth-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.55rem;
    color: var(--olam-layer-muted);
    font-size: 0.85rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-layers .olam-depth-bar {
    height: 12px;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.09);
    overflow: hidden;
}

.olam-block[data-olam-block].olam-layers .olam-depth-fill {
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-layer-ruby), var(--olam-layer-gold));
    transition: width 0.32s ease;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--olam-layer-text);
    padding: 0.85rem 0.75rem;
    text-align: left;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.06);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab:hover,
.olam-block[data-olam-block].olam-layers .olam-layer-tab:focus-visible,
.olam-block[data-olam-block].olam-layers .olam-layer-tab.is-active {
    transform: translateY(-2px);
    border-color: rgba(160, 23, 75, 0.38);
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.12);
    outline: none;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab.is-active {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
}

.olam-block[data-olam-block].olam-layers .olam-pill-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-layer-ruby);
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab:nth-child(3n) .olam-pill-icon {
    background: rgba(217, 154, 43, 0.16);
    color: #b87b14;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab:nth-child(4n) .olam-pill-icon {
    background: rgba(119, 129, 61, 0.15);
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab strong {
    display: block;
    color: var(--olam-layer-wine-900);
    font-size: 0.92rem;
    line-height: 1.18;
}

.olam-block[data-olam-block].olam-layers .olam-layer-tab small {
    display: block;
    margin-top: 0.2rem;
    color: var(--olam-layer-muted);
    font-size: 0.76rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-layers .olam-layer-panel {
    display: none;
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 16%, rgba(217, 154, 43, 0.14), transparent 25%),
        rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(160, 23, 75, 0.13);
    padding: clamp(1rem, 2vw, 1.25rem);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
    animation: olam-layer-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-layers .olam-layer-panel.is-active {
    display: block;
}

.olam-block[data-olam-block].olam-layers .olam-layer-head {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    margin-bottom: 0.9rem;
}

.olam-block[data-olam-block].olam-layers .olam-layer-icon {
    width: 56px;
    height: 56px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--olam-layer-wine-900), var(--olam-layer-ruby));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-layers .olam-layer-panel h4 {
    margin: 0;
    color: var(--olam-layer-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.25rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-layers .olam-layer-panel .olam-lead {
    margin: 0.35rem 0 0;
    color: var(--olam-layer-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-layers .olam-text-block {
    display: grid;
    gap: 0.75rem;
    color: #4b3641;
    font-size: 0.96rem;
    line-height: 1.58;
}

.olam-block[data-olam-block].olam-layers .olam-text-block p {
    margin: 0;
}

.olam-block[data-olam-block].olam-layers .olam-callout {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1rem;
    border-radius: 18px;
    background: rgba(248, 228, 231, 0.58);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    color: #5b3f4d;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-layers .olam-callout .olam-icon {
    margin-top: 0.06rem;
    color: var(--olam-layer-ruby);
}

.olam-block[data-olam-block].olam-layers .olam-example-box {
    border-radius: 20px;
    background: rgba(255, 248, 241, 0.80);
    border: 1px solid rgba(217, 154, 43, 0.20);
    padding: 1rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.olam-block[data-olam-block].olam-layers .olam-example-box strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    color: #b87b14;
}

.olam-block[data-olam-block].olam-layers .olam-ref-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.2rem;
}

.olam-block[data-olam-block].olam-layers .olam-ref-item {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(119, 129, 61, 0.16);
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-layers .olam-ref-item .olam-icon {
    margin-top: 0.1rem;
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-layers .olam-ref-item span {
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-layers .olam-btn {
    min-height: 42px;
    padding: 0.82rem 1rem;
    white-space: normal;
    line-height: 1.15;
}

.olam-block[data-olam-block].olam-layers .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-layer-wine-900), var(--olam-layer-ruby));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-layers .olam-btn-secondary {
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-layer-ruby);
    border: 1px solid rgba(160, 23, 75, 0.14);
}

.olam-block[data-olam-block].olam-layers .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-layers .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-layer-gold);
}

.olam-block[data-olam-block].olam-layers .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-layer-ruby);
    font-size: 0.92rem;
    font-weight: 750;
}

.olam-block[data-olam-block].olam-layers .olam-content,
.olam-block[data-olam-block].olam-layers .olam-layers__layout,
.olam-block[data-olam-block].olam-layers .olam-card,
.olam-block[data-olam-block].olam-layers .olam-layer-card,
.olam-block[data-olam-block].olam-layers .olam-visual-card,
.olam-block[data-olam-block].olam-layers .olam-layer-tabs,
.olam-block[data-olam-block].olam-layers .olam-layer-tab,
.olam-block[data-olam-block].olam-layers .olam-layer-panel,
.olam-block[data-olam-block].olam-layers .olam-text-block,
.olam-block[data-olam-block].olam-layers .olam-callout,
.olam-block[data-olam-block].olam-layers .olam-ref-item,
.olam-block[data-olam-block].olam-layers .olam-help-card,
.olam-block[data-olam-block].olam-layers .olam-guide-box {
    min-width: 0;
}

.olam-block[data-olam-block].olam-layers h2,
.olam-block[data-olam-block].olam-layers h3,
.olam-block[data-olam-block].olam-layers h4,
.olam-block[data-olam-block].olam-layers p,
.olam-block[data-olam-block].olam-layers span,
.olam-block[data-olam-block].olam-layers small,
.olam-block[data-olam-block].olam-layers strong,
.olam-block[data-olam-block].olam-layers button,
.olam-block[data-olam-block].olam-layers .olam-layer-tab,
.olam-block[data-olam-block].olam-layers .olam-flow-chip,
.olam-block[data-olam-block].olam-layers .olam-badge-soft,
.olam-block[data-olam-block].olam-layers .olam-btn,
.olam-block[data-olam-block].olam-layers .olam-ref-item {
    overflow-wrap: anywhere;
    word-break: normal;
}

@keyframes olam-layer-fade-up {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1000px) {
    .olam-block[data-olam-block].olam-layers .olam-layers__layout {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-layers .olam-help-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-layers .olam-image-frame {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-layers .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-layers .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-layers h2 {
        font-size: 2.45rem;
    }

    .olam-block[data-olam-block].olam-layers .olam-card-head,
    .olam-block[data-olam-block].olam-layers .olam-layer-intro {
        display: block;
    }

    .olam-block[data-olam-block].olam-layers .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-layers .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-layers .olam-layer-tabs {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-layers .olam-actions,
    .olam-block[data-olam-block].olam-layers .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 14. Smart download                                                 */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-smartdownload {
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    overflow: hidden;
    border-radius: calc(var(--olam-radius) + 10px);
    background: #ffffff;
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block] .olam-smartdownload__cover {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 430px;
    padding: clamp(1.35rem, 4vw, 2rem);
    background:
        radial-gradient(circle at 82% 10%, rgba(201, 162, 39, 0.28), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-smartdownload__cover::after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -50px;
    height: 170px;
    width: 170px;
    border: 1px solid rgba(201, 162, 39, 0.48);
    border-radius: 50%;
}

.olam-block[data-olam-block] .olam-smartdownload__cover h3 {
    font-size: clamp(2.1rem, 5vw, 4rem);
    line-height: 0.95;
}

.olam-block[data-olam-block] .olam-smartdownload__cover p {
    margin: 0;
    max-width: 560px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-smartdownload__file {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.25rem 0.85rem;
    margin-top: auto;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.olam-block[data-olam-block] .olam-smartdownload__file > span {
    grid-row: span 2;
    height: 58px;
    width: 58px;
    background: var(--olam-gold);
    color: #3a0f22;
}

.olam-block[data-olam-block] .olam-smartdownload__file strong {
    align-self: end;
    line-height: 1.2;
}

.olam-block[data-olam-block] .olam-smartdownload__file em {
    color: rgba(255, 255, 255, 0.72);
    font-style: normal;
}

.olam-block[data-olam-block] .olam-smartdownload__actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.olam-block[data-olam-block] .olam-smartdownload__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
}

.olam-block[data-olam-block] .olam-smartdownload__primary {
    background: #ffffff;
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-smartdownload__ghost {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-smartdownload__use {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: clamp(1.15rem, 4vw, 2rem);
    background: linear-gradient(135deg, #ffffff, #fbf7f9);
}

.olam-block[data-olam-block] .olam-smartdownload__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.olam-block[data-olam-block] .olam-smartdownload__meta span {
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.78rem;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-smartdownload__use ol {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.olam-block[data-olam-block] .olam-smartdownload__use li {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 0.25rem 0.8rem;
    padding: 0.9rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-smartdownload__use li > span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    width: 46px;
    border-radius: 16px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-smartdownload__use strong {
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-smartdownload__use em {
    color: var(--olam-muted);
    font-style: normal;
    line-height: 1.45;
}

/* Document download: documented editorial version. */
.olam-block[data-olam-block].olam-document-download.olam-smartdownload {
    --olam-document-wine-950: #320919;
    --olam-document-wine-900: #3f0d23;
    --olam-document-wine-800: #5b0f2d;
    --olam-document-ruby: #a0174b;
    --olam-document-gold: #d99a2b;
    --olam-document-gold-dark: #b87b14;
    --olam-document-cream: #fff8f1;
    --olam-document-rose: #f8e4e7;
    --olam-document-text: #2b1c24;
    --olam-document-muted: #6b5260;
    --olam-document-border: rgba(160, 23, 75, 0.18);
    --olam-document-shadow-soft: 0 16px 42px rgba(63, 13, 35, 0.10);
    --olam-document-shadow-strong: 0 24px 62px rgba(63, 13, 35, 0.18);
    display: block;
    position: relative;
    isolation: isolate;
    max-width: 1360px;
    margin: 1.2rem auto;
    padding: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-document-text);
    font-family: var(--olam-font, inherit);
}

.olam-block[data-olam-block].olam-document-download a {
    text-decoration: none;
}

.olam-block[data-olam-block].olam-document-download button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-document-download .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-document-cream) 54%, #fbefe6 100%);
    box-shadow: var(--olam-document-shadow-strong);
    padding: clamp(1.15rem, 3vw, 2.65rem);
}

.olam-block[data-olam-block].olam-document-download .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-document-ruby), var(--olam-document-wine-950));
    z-index: 0;
}

.olam-block[data-olam-block].olam-document-download .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-document-download .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-document-download.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-document-download .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-document-download .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-document-download .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-document-rose);
    color: var(--olam-document-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-document-download .olam-kicker-icon,
.olam-block[data-olam-block].olam-document-download .olam-file-icon,
.olam-block[data-olam-block].olam-document-download .olam-meta-icon,
.olam-block[data-olam-block].olam-document-download .olam-use-icon,
.olam-block[data-olam-block].olam-document-download .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-document-download .olam-kicker-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--olam-document-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-document-download .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-document-download h2 {
    max-width: 900px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-document-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    line-height: 0.95;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-document-download .olam-subtitle {
    max-width: 940px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-document-download .olam-top-actions,
.olam-block[data-olam-block].olam-document-download .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-document-download .olam-help-btn,
.olam-block[data-olam-block].olam-document-download .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 850;
    line-height: 1.1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-document-download .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-document-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-document-download .olam-help-btn:hover,
.olam-block[data-olam-block].olam-document-download .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-document-download .olam-btn:hover,
.olam-block[data-olam-block].olam-document-download .olam-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-document-download .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-document-download .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-document-download .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-document-download .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-document-download .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-document-download .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-document-download .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-document-wine-900);
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-document-download .olam-help-card strong .olam-icon {
    color: var(--olam-document-gold-dark);
}

.olam-block[data-olam-block].olam-document-download .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-document-download .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-document-download .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-document-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-document-download .olam-flow-chip .olam-icon {
    color: var(--olam-document-ruby);
}

.olam-block[data-olam-block].olam-document-download .olam-document-card {
    margin-top: 1.55rem;
    overflow: hidden;
    border: 1px solid var(--olam-document-border);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--olam-document-shadow-soft);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-document-download .olam-document-hero {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(1rem, 2.4vw, 1.35rem);
    align-items: stretch;
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover {
    position: relative;
    display: flex;
    min-height: 430px;
    overflow: hidden;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 24px;
    background:
        radial-gradient(circle at 82% 10%, rgba(217, 154, 43, 0.32), transparent 26%),
        linear-gradient(150deg, var(--olam-document-wine-950), var(--olam-document-ruby));
    color: #ffffff;
    padding: clamp(1.15rem, 3vw, 1.6rem);
    box-shadow: 0 24px 54px rgba(63, 13, 35, 0.18);
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover::before {
    content: "";
    position: absolute;
    inset: 18px 18px auto auto;
    width: 92px;
    height: 120px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0 18px, transparent 18px 31px, rgba(255, 255, 255, 0.12) 31px 38px, transparent 38px);
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -54px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(217, 154, 43, 0.5);
    border-radius: 50%;
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover.is-downloaded,
.olam-block[data-olam-block].olam-document-download.is-document-opened .olam-file-cover {
    box-shadow: 0 24px 54px rgba(63, 13, 35, 0.18), inset 0 0 0 2px rgba(217, 154, 43, 0.52);
}

.olam-block[data-olam-block].olam-document-download .olam-file-type {
    position: relative;
    z-index: 1;
    width: fit-content;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff3c8;
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    padding: 0.42rem 0.72rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-document-download .olam-file-icon {
    position: relative;
    z-index: 1;
    width: 86px;
    height: 86px;
    border-radius: 26px;
    background: linear-gradient(135deg, #f5c75e, var(--olam-document-gold));
    color: var(--olam-document-wine-900);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
}

.olam-block[data-olam-block].olam-document-download .olam-file-icon .olam-icon {
    width: 42px;
    height: 42px;
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover-title {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.5rem;
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover-title strong {
    max-width: 420px;
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-document-download .olam-file-cover-title span {
    max-width: 420px;
    color: rgba(255, 255, 255, 0.76);
    font-weight: 750;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-document-download .olam-document-info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 251, 246, 0.78));
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.olam-block[data-olam-block].olam-document-download .olam-document-title h3,
.olam-block[data-olam-block].olam-document-download .olam-use-panel h3,
.olam-block[data-olam-block].olam-document-download .olam-preview-head strong {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-document-wine-900);
    font-family: var(--olam-heading-font);
    letter-spacing: 0;
    line-height: 1.12;
}

.olam-block[data-olam-block].olam-document-download .olam-document-title h3 {
    font-size: clamp(1.55rem, 2.7vw, 2.35rem);
}

.olam-block[data-olam-block].olam-document-download .olam-document-title h3 .olam-icon,
.olam-block[data-olam-block].olam-document-download .olam-use-panel h3 .olam-icon,
.olam-block[data-olam-block].olam-document-download .olam-preview-head strong .olam-icon {
    color: var(--olam-document-ruby);
}

.olam-block[data-olam-block].olam-document-download .olam-document-title p {
    margin: 0.7rem 0 0;
    color: #4b3a43;
    line-height: 1.56;
}

.olam-block[data-olam-block].olam-document-download .olam-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.72rem;
}

.olam-block[data-olam-block].olam-document-download .olam-meta {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 0.62rem;
    min-width: 0;
    align-items: center;
    border: 1px solid rgba(160, 23, 75, 0.10);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.055);
    padding: 0.75rem;
}

.olam-block[data-olam-block].olam-document-download .olam-meta-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: var(--olam-document-rose);
    color: var(--olam-document-ruby);
}

.olam-block[data-olam-block].olam-document-download .olam-meta strong,
.olam-block[data-olam-block].olam-document-download .olam-meta span {
    display: block;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-document-download .olam-meta strong {
    color: var(--olam-document-wine-900);
    font-size: 0.88rem;
    line-height: 1.18;
}

.olam-block[data-olam-block].olam-document-download .olam-meta span {
    margin-top: 0.18rem;
    color: var(--olam-document-muted);
    font-size: 0.82rem;
    line-height: 1.28;
}

.olam-block[data-olam-block].olam-document-download .olam-btn {
    min-height: 46px;
    padding: 0.76rem 1rem;
}

.olam-block[data-olam-block].olam-document-download .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-document-ruby), var(--olam-document-wine-800));
    color: #ffffff;
    box-shadow: 0 16px 30px rgba(160, 23, 75, 0.22);
}

.olam-block[data-olam-block].olam-document-download .olam-btn-secondary {
    background: #ffffff;
    color: var(--olam-document-wine-800);
    box-shadow: inset 0 0 0 1px rgba(160, 23, 75, 0.18), 0 12px 24px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-document-download .olam-document-progress {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.10);
}

.olam-block[data-olam-block].olam-document-download .olam-document-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-document-gold), var(--olam-document-ruby));
    transition: width 0.55s ease;
}

.olam-block[data-olam-block].olam-document-download.is-downloading .olam-document-progress span {
    width: 62%;
}

.olam-block[data-olam-block].olam-document-download.is-document-opened .olam-document-progress span {
    width: 100%;
}

.olam-block[data-olam-block].olam-document-download .olam-use-panel,
.olam-block[data-olam-block].olam-document-download .olam-preview-panel,
.olam-block[data-olam-block].olam-document-download .olam-note {
    margin: 0 clamp(1rem, 2.4vw, 1.35rem) clamp(1rem, 2.4vw, 1.35rem);
    border: 1px solid rgba(160, 23, 75, 0.10);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.055);
    padding: clamp(1rem, 2.4vw, 1.25rem);
}

.olam-block[data-olam-block].olam-document-download .olam-use-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-document-download .olam-use-step {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.25rem 0.8rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.09);
    border-radius: 18px;
    background: #ffffff;
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-document-download .olam-use-icon {
    grid-row: span 2;
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: var(--olam-document-rose);
    color: var(--olam-document-ruby);
}

.olam-block[data-olam-block].olam-document-download .olam-use-step strong {
    align-self: end;
    color: var(--olam-document-wine-900);
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-document-download .olam-use-step p {
    margin: 0;
    color: var(--olam-document-muted);
    line-height: 1.44;
}

.olam-block[data-olam-block].olam-document-download .olam-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.olam-block[data-olam-block].olam-document-download .olam-badge-soft {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    background: var(--olam-document-rose);
    color: var(--olam-document-ruby);
    font-size: 0.78rem;
    font-weight: 900;
    padding: 0.38rem 0.68rem;
}

.olam-block[data-olam-block].olam-document-download .olam-preview-frame,
.olam-block[data-olam-block].olam-document-download .olam-preview-empty {
    width: 100%;
    min-height: var(--olam-preview-height, 420px);
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: #fffdf8;
}

.olam-block[data-olam-block].olam-document-download .olam-preview-frame {
    display: block;
}

.olam-block[data-olam-block].olam-document-download .olam-preview-empty {
    display: grid;
    place-items: center;
    gap: 0.8rem;
    padding: 1rem;
    text-align: center;
    color: var(--olam-document-muted);
}

.olam-block[data-olam-block].olam-document-download .olam-preview-empty .olam-icon {
    width: 44px;
    height: 44px;
    color: var(--olam-document-ruby);
}

.olam-block[data-olam-block].olam-document-download .olam-preview-empty p {
    max-width: 520px;
    margin: 0;
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-document-download .olam-note {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: start;
    gap: 0.8rem;
    background: linear-gradient(135deg, rgba(63, 13, 35, 0.96), rgba(91, 15, 45, 0.92));
    color: rgba(255, 255, 255, 0.82);
}

.olam-block[data-olam-block].olam-document-download .olam-note-icon {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: rgba(217, 154, 43, 0.18);
    color: #f5d37f;
}

.olam-block[data-olam-block].olam-document-download .olam-status {
    min-height: 1.5rem;
    margin: 0 clamp(1rem, 2.4vw, 1.35rem) clamp(1rem, 2.4vw, 1.35rem);
    color: var(--olam-document-muted);
    font-weight: 850;
}

.olam-block[data-olam-block].olam-document-download .olam-status[data-state="success"] {
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-document-download .olam-status[data-state="warn"] {
    color: #9b5b00;
}

.olam-block[data-olam-block].olam-document-download .olam-status[data-state="error"] {
    color: #8f1234;
}

@media (max-width: 980px) {
    .olam-block[data-olam-block].olam-document-download .olam-document-hero,
    .olam-block[data-olam-block].olam-document-download .olam-meta-grid,
    .olam-block[data-olam-block].olam-document-download .olam-use-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-document-download .olam-file-cover {
        min-height: 340px;
    }

    .olam-block[data-olam-block].olam-document-download .olam-help-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .olam-block[data-olam-block].olam-document-download .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-document-download .olam-content {
        padding-left: 0.55rem;
    }

    .olam-block[data-olam-block].olam-document-download h2 {
        font-size: 2.15rem;
    }

    .olam-block[data-olam-block].olam-document-download .olam-file-cover {
        min-height: 300px;
    }

    .olam-block[data-olam-block].olam-document-download .olam-actions,
    .olam-block[data-olam-block].olam-document-download .olam-btn {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-document-download .olam-preview-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-document-download .olam-use-step,
    .olam-block[data-olam-block].olam-document-download .olam-note {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------------------------------ */
/* 15. Error as clue                                                  */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-errorclue,
.olam-block[data-olam-block].olam-memory,
.olam-block[data-olam-block].olam-visualcompare {
    overflow: hidden;
    padding: clamp(1rem, 3vw, 1.45rem);
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 92% 8%, rgba(201, 162, 39, 0.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-errorclue header,
.olam-block[data-olam-block].olam-memory header,
.olam-block[data-olam-block].olam-visualcompare header {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-errorclue header h3,
.olam-block[data-olam-block].olam-memory header h3,
.olam-block[data-olam-block].olam-visualcompare header h3 {
    color: var(--olam-accent-dark);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1;
}

.olam-block[data-olam-block].olam-errorclue header p,
.olam-block[data-olam-block].olam-memory header p,
.olam-block[data-olam-block].olam-visualcompare header p {
    max-width: 840px;
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-errorclue__case {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.olam-block[data-olam-block] .olam-errorclue__case div {
    padding: 1rem;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 15px 36px -32px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-errorclue__case strong {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--olam-accent);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-errorclue__case p,
.olam-block[data-olam-block] .olam-errorclue__types p,
.olam-block[data-olam-block] .olam-errorclue__plan p,
.olam-block[data-olam-block] .olam-visualcompare__points p,
.olam-block[data-olam-block] .olam-visualcompare__panels p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.48;
}

.olam-block[data-olam-block] .olam-errorclue__types {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-errorclue__types article,
.olam-block[data-olam-block] .olam-visualcompare__points article {
    display: grid;
    gap: 0.5rem;
    padding: 1rem;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-errorclue__plan {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.olam-block[data-olam-block] .olam-errorclue__plan div {
    position: relative;
    padding: 1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-errorclue__plan span {
    display: block;
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 0.8;
}

.olam-block[data-olam-block] .olam-errorclue__plan h4 {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-errorclue__plan p {
    color: rgba(255, 255, 255, 0.8);
}

/* Error clue: documented diagnostic version. */
.olam-block[data-olam-block].olam-error-diagnostic.olam-errorclue {
    --olam-error-wine-950: #320919;
    --olam-error-wine-900: #3f0d23;
    --olam-error-wine-800: #5b0f2d;
    --olam-error-ruby: #a0174b;
    --olam-error-gold: #d99a2b;
    --olam-error-gold-dark: #b87b14;
    --olam-error-cream: #fff8f1;
    --olam-error-rose: #f8e4e7;
    --olam-error-text: #2b1c24;
    --olam-error-muted: #6b5260;
    --olam-error-border: rgba(160, 23, 75, 0.18);
    --olam-error-shadow-soft: 0 16px 42px rgba(63, 13, 35, 0.10);
    --olam-error-shadow-strong: 0 24px 62px rgba(63, 13, 35, 0.18);
    display: block;
    position: relative;
    isolation: isolate;
    max-width: 1360px;
    margin: 1.2rem auto;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-error-text);
    font-family: var(--olam-font, inherit);
}

.olam-block[data-olam-block].olam-error-diagnostic button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-error-cream) 54%, #fbefe6 100%);
    box-shadow: var(--olam-error-shadow-strong);
    padding: clamp(1.15rem, 3vw, 2.65rem);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-error-ruby), var(--olam-error-wine-950));
    z-index: 0;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-error-diagnostic.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-error-diagnostic .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-error-diagnostic .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-error-rose);
    color: var(--olam-error-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-kicker-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-guide-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-error-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-note-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-step-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-kicker-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--olam-error-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-error-diagnostic h2 {
    max-width: 900px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-error-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    line-height: 0.95;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-subtitle {
    max-width: 940px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-top-actions,
.olam-block[data-olam-block].olam-error-diagnostic .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn,
.olam-block[data-olam-block].olam-error-diagnostic .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 850;
    line-height: 1.1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-error-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn:hover,
.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-error-diagnostic .olam-btn:hover,
.olam-block[data-olam-block].olam-error-diagnostic .olam-btn:focus-visible,
.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type:hover,
.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-grid,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-card,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output {
    min-width: 0;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-card strong,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-error-wine-900);
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-card strong .olam-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output strong .olam-icon {
    color: var(--olam-error-gold-dark);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-help-card p,
.olam-block[data-olam-block].olam-error-diagnostic .olam-output p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-error-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-flow-chip .olam-icon {
    color: var(--olam-error-ruby);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(1rem, 2.4vw, 1.35rem);
    align-items: stretch;
    margin-top: 1.55rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card {
    border: 1px solid var(--olam-error-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: var(--olam-error-shadow-soft);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-sample-card,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1rem;
    padding: clamp(1rem, 2.4vw, 1.25rem);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card-head h3,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-intro h3,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-head h4,
.olam-block[data-olam-block].olam-error-diagnostic .olam-intervention h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-error-wine-900);
    font-family: var(--olam-heading-font);
    letter-spacing: 0;
    line-height: 1.15;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card-head h3,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-intro h3 {
    font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card-head p,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-intro p,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-head p,
.olam-block[data-olam-block].olam-error-diagnostic .olam-teacher-note,
.olam-block[data-olam-block].olam-error-diagnostic .olam-step,
.olam-block[data-olam-block].olam-error-diagnostic .olam-note,
.olam-block[data-olam-block].olam-error-diagnostic .olam-status {
    color: var(--olam-error-muted);
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-card-head p,
.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-intro p {
    margin: 0.45rem 0 0;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-badge-soft {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    background: var(--olam-error-rose);
    color: var(--olam-error-ruby);
    font-size: 0.78rem;
    font-weight: 900;
    padding: 0.38rem 0.68rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-student-paper {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(160, 23, 75, 0.06) 1px, transparent 1px) 0 0 / 22px 22px,
        linear-gradient(180deg, #ffffff, #fffbf6);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.64);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-paper-label {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.15);
    color: var(--olam-error-wine-800);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    padding: 0.38rem 0.65rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-question-box,
.olam-block[data-olam-block].olam-error-diagnostic .olam-answer-box {
    margin-top: 0.85rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-question-box strong,
.olam-block[data-olam-block].olam-error-diagnostic .olam-answer-box strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--olam-error-ruby);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-question-box p {
    margin: 0.5rem 0 0;
    color: #3f3038;
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-answer-line {
    margin-top: 0.5rem;
    border-left: 4px solid var(--olam-error-gold);
    border-radius: 12px;
    background: #fff8ef;
    color: var(--olam-error-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.25rem;
    line-height: 1.25;
    padding: 0.8rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-teacher-note {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.8rem;
    border: 1px solid rgba(217, 154, 43, 0.22);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.95), rgba(255, 244, 223, 0.88));
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-guide-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-note-icon,
.olam-block[data-olam-block].olam-error-diagnostic .olam-step-icon {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: var(--olam-error-rose);
    color: var(--olam-error-ruby);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-card {
    background: rgba(255, 255, 255, 0.82);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 0.72rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 19px;
    background: #ffffff;
    color: var(--olam-error-text);
    padding: 0.85rem;
    text-align: left;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type.is-selected {
    border-color: rgba(217, 154, 43, 0.68);
    background: linear-gradient(135deg, #ffffff, #fff8ef);
    box-shadow: 0 18px 38px rgba(63, 13, 35, 0.10), inset 0 0 0 1px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: var(--olam-error-rose);
    color: var(--olam-error-ruby);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type.is-selected .olam-error-icon {
    background: linear-gradient(135deg, #f4c75e, var(--olam-error-gold));
    color: var(--olam-error-wine-900);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type strong,
.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type span span {
    display: block;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type strong {
    color: var(--olam-error-wine-900);
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-error-type span span {
    margin-top: 0.22rem;
    color: var(--olam-error-muted);
    font-size: 0.88rem;
    line-height: 1.32;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-panel {
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 248, 241, 0.86));
    padding: clamp(1rem, 2.2vw, 1.15rem);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-head {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 0.85rem;
    align-items: start;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-icon {
    width: 62px;
    height: 62px;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--olam-error-ruby), var(--olam-error-wine-800));
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(160, 23, 75, 0.18);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-icon .olam-icon {
    width: 30px;
    height: 30px;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-output-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-output-icon {
    width: 34px;
    height: 34px;
    border-radius: 13px;
    background: var(--olam-error-rose);
    color: var(--olam-error-ruby);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-btn {
    min-height: 46px;
    padding: 0.76rem 1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-error-ruby), var(--olam-error-wine-800));
    color: #ffffff;
    box-shadow: 0 16px 30px rgba(160, 23, 75, 0.22);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-btn-secondary {
    background: #ffffff;
    color: var(--olam-error-wine-800);
    box-shadow: inset 0 0 0 1px rgba(160, 23, 75, 0.18), 0 12px 24px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-intervention {
    display: none;
    border: 1px solid rgba(217, 154, 43, 0.26);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.96), rgba(255, 244, 223, 0.9));
    padding: 1rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-intervention.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-step-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.9rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-step {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.8rem;
    align-items: start;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-step strong {
    color: var(--olam-error-wine-900);
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-note {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.8rem;
    align-items: start;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(63, 13, 35, 0.96), rgba(91, 15, 45, 0.92));
    color: rgba(255, 255, 255, 0.82);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-note-icon {
    background: rgba(217, 154, 43, 0.18);
    color: #f5d37f;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-status {
    min-height: 1.5rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-status[data-state="success"] {
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-status[data-state="warn"] {
    color: #9b5b00;
}

.olam-block[data-olam-block].olam-error-diagnostic .olam-status[data-state="error"] {
    color: #8f1234;
}

@media (max-width: 1040px) {
    .olam-block[data-olam-block].olam-error-diagnostic .olam-error-layout,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-help-grid,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-output-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-error-diagnostic .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-error-diagnostic .olam-content {
        padding-left: 0.55rem;
    }

    .olam-block[data-olam-block].olam-error-diagnostic h2 {
        font-size: 2.15rem;
    }

    .olam-block[data-olam-block].olam-error-diagnostic .olam-card-head,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-error-diagnostic .olam-error-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-error-diagnostic .olam-error-type,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-diagnosis-head,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-teacher-note,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-step,
    .olam-block[data-olam-block].olam-error-diagnostic .olam-note {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-error-diagnostic .olam-actions .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 16. Memory anchors                                                 */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block] .olam-memory__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.8rem;
}

.olam-block[data-olam-block] .olam-memory__card {
    overflow: hidden;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-memory__card summary {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.25rem 0.75rem;
    min-height: 120px;
    padding: 1rem;
    cursor: pointer;
    list-style: none;
}

.olam-block[data-olam-block] .olam-memory__card summary::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block] .olam-memory__card summary > span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    width: 48px;
    border-radius: 17px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-memory__card summary em {
    align-self: end;
    color: var(--olam-gold);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-memory__card summary strong {
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.2rem;
    line-height: 1.1;
}

.olam-block[data-olam-block] .olam-memory__card[open] summary {
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
}

.olam-block[data-olam-block] .olam-memory__card[open] summary strong,
.olam-block[data-olam-block] .olam-memory__card[open] summary em {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-memory__card p {
    margin: 0;
    padding: 1rem;
    color: var(--olam-muted);
    line-height: 1.5;
}

/* Memory anchors: documented active-recall version. */
.olam-block[data-olam-block].olam-memory-anchors.olam-memory {
    --olam-memory-wine: #4a1028;
    --olam-memory-ruby: #a0174b;
    --olam-memory-gold: #d99a2b;
    --olam-memory-olive: #6f7d37;
    --olam-memory-cream: #fff8ef;
    --olam-memory-rose: #f8e4e7;
    --olam-memory-text: #2b1c24;
    --olam-memory-muted: #67535e;
    --olam-memory-border: rgba(160, 23, 75, 0.16);
    --olam-memory-shadow: 0 22px 58px rgba(63, 13, 35, 0.16);
    display: block;
    max-width: 1360px;
    margin: 1.2rem auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-memory-text);
    font-family: var(--olam-font, inherit);
    padding: 0;
}

.olam-block[data-olam-block].olam-memory-anchors,
.olam-block[data-olam-block].olam-memory-anchors * {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-memory-anchors button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(160, 23, 75, 0.045) 1px, transparent 1px) 0 0 / 34px 34px,
        linear-gradient(135deg, #fffdf8 0%, var(--olam-memory-cream) 58%, #eef2df 100%);
    box-shadow: var(--olam-memory-shadow);
    padding: clamp(1.15rem, 2.8vw, 2.3rem);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 10px;
    background: linear-gradient(90deg, var(--olam-memory-ruby), var(--olam-memory-gold), var(--olam-memory-olive));
}

.olam-block[data-olam-block].olam-memory-anchors .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.olam-block[data-olam-block].olam-memory-anchors.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-memory-anchors .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-memory-anchors .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-kicker,
.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-flow-chip,
.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-badge-soft {
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-memory-rose);
    color: var(--olam-memory-ruby);
    font-size: 0.82rem;
    font-weight: 900;
    padding: 0.55rem 0.9rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-kicker-icon,
.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-icon,
.olam-block[data-olam-block].olam-memory-anchors .olam-recall-icon,
.olam-block[data-olam-block].olam-memory-anchors .olam-progress-icon,
.olam-block[data-olam-block].olam-memory-anchors .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-kicker-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--olam-memory-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-icon {
    width: 1.08rem;
    height: 1.08rem;
}

.olam-block[data-olam-block].olam-memory-anchors h2 {
    max-width: 920px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-memory-wine);
    font-family: var(--olam-heading-font);
    font-size: 3.35rem;
    font-weight: 850;
    line-height: 0.98;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-subtitle {
    max-width: 960px;
    margin: 0;
    color: #3d2d35;
    font-size: 1.08rem;
    line-height: 1.58;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-top-actions,
.olam-block[data-olam-block].olam-memory-anchors .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1.15rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn,
.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 0;
    cursor: pointer;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn {
    border-radius: 999px;
    background: linear-gradient(135deg, #f2be56, var(--olam-memory-gold));
    color: #432600;
    min-height: 44px;
    padding: 0.76rem 1rem;
    box-shadow: 0 14px 28px rgba(217, 154, 43, 0.24);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn:hover,
.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-memory-anchors .olam-btn:hover,
.olam-block[data-olam-block].olam-memory-anchors .olam-btn:focus-visible,
.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn:hover,
.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn:focus-visible,
.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn:hover,
.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 36px rgba(63, 13, 35, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.055);
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-card strong {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.4rem;
    color: var(--olam-memory-wine);
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-help-card p {
    margin: 0;
    color: var(--olam-memory-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid rgba(111, 125, 55, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #405016;
    font-size: 0.92rem;
    font-weight: 800;
    padding: 0.55rem 0.76rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-card,
.olam-block[data-olam-block].olam-memory-anchors .olam-recall-panel,
.olam-block[data-olam-block].olam-memory-anchors .olam-note {
    border: 1px solid var(--olam-memory-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 16px 38px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-dashboard {
    display: grid;
    gap: 1rem;
    margin-top: 1.35rem;
    padding: 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-dashboard-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-dashboard-head h3,
.olam-block[data-olam-block].olam-memory-anchors .olam-recall-left h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--olam-memory-wine);
    font-family: var(--olam-heading-font);
    font-size: 1.6rem;
    line-height: 1.15;
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-dashboard-head p,
.olam-block[data-olam-block].olam-memory-anchors .olam-recall-left p {
    margin: 0.4rem 0 0;
    color: var(--olam-memory-muted);
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-badge-soft {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    background: #edf2d9;
    color: #47571d;
    font-size: 0.82rem;
    font-weight: 900;
    padding: 0.38rem 0.65rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-mode-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(74, 16, 40, 0.94), rgba(91, 15, 45, 0.9));
    padding: 0.72rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-mode-label {
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.9rem;
    font-weight: 800;
    margin-right: 0.2rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn {
    min-height: 40px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.86);
    padding: 0.62rem 0.82rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn.is-active {
    background: #ffffff;
    color: var(--olam-memory-wine);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor {
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
    min-height: 278px;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.07);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor:hover {
    border-color: rgba(217, 154, 43, 0.48);
    box-shadow: 0 18px 38px rgba(63, 13, 35, 0.11);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-top {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0.78rem;
    align-items: center;
    min-width: 0;
    padding: 1rem 1rem 0.8rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-icon {
    width: 60px;
    height: 60px;
    border-radius: 19px;
    background: var(--olam-memory-rose);
    color: var(--olam-memory-ruby);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor:nth-child(2n) .olam-anchor-icon {
    background: #fff0d8;
    color: #9a6400;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor:nth-child(3n) .olam-anchor-icon {
    background: #edf2d9;
    color: #52641f;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-icon .olam-icon {
    width: 1.7rem;
    height: 1.7rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-top h4 {
    margin: 0;
    color: var(--olam-memory-wine);
    font-family: var(--olam-heading-font);
    font-size: 1.28rem;
    line-height: 1.12;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-top span:not(.olam-anchor-icon) {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-memory-gold);
    font-size: 0.88rem;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-body {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    padding: 0 1rem 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-memory-phrase {
    border-left: 4px solid var(--olam-memory-gold);
    border-radius: 14px;
    background: var(--olam-memory-cream);
    color: #46343d;
    line-height: 1.45;
    padding: 0.75rem 0.85rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-memory-phrase strong {
    color: var(--olam-memory-ruby);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-hidden-answer {
    display: none;
    border-radius: 14px;
    background: linear-gradient(135deg, #f8e4e7, #fff8ef);
    color: var(--olam-memory-wine);
    font-weight: 700;
    line-height: 1.45;
    padding: 0.82rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor.is-revealed .olam-hidden-answer {
    display: block;
    animation: olam-fade-up 0.2s ease both;
}

.olam-block[data-olam-block].olam-memory-anchors.is-practice .olam-memory-phrase,
.olam-block[data-olam-block].olam-memory-anchors.is-practice .olam-hidden-answer {
    display: none;
}

.olam-block[data-olam-block].olam-memory-anchors.is-practice .olam-anchor.is-revealed .olam-hidden-answer {
    display: block;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-anchor-actions {
    margin-top: auto;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn {
    width: 100%;
    min-height: 42px;
    border-radius: 14px;
    background: #f6eef1;
    color: var(--olam-memory-ruby);
    padding: 0.64rem 0.76rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-small-btn[aria-expanded="true"] {
    background: linear-gradient(135deg, var(--olam-memory-ruby), var(--olam-memory-wine));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-recall-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-recall-left {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.8rem;
    align-items: center;
    min-width: 0;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-recall-icon,
.olam-block[data-olam-block].olam-memory-anchors .olam-note-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #edf2d9;
    color: #52641f;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-progress-mini {
    display: grid;
    grid-template-columns: 42px minmax(90px, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    min-width: 0;
    border-radius: 16px;
    background: #fff8ef;
    padding: 0.72rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-progress-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #ffffff;
    color: var(--olam-memory-ruby);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-progress-track {
    display: block;
    overflow: hidden;
    height: 12px;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-progress-fill {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-memory-ruby), var(--olam-memory-gold));
    transition: width 0.25s ease;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-progress-mini strong {
    color: var(--olam-memory-wine);
    font-size: 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-btn {
    min-height: 44px;
    border-radius: 999px;
    padding: 0.75rem 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-memory-ruby), var(--olam-memory-wine));
    color: #ffffff;
    box-shadow: 0 14px 26px rgba(160, 23, 75, 0.22);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-btn-secondary {
    background: #ffffff;
    color: var(--olam-memory-wine);
    box-shadow: inset 0 0 0 1px rgba(160, 23, 75, 0.18), 0 10px 22px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-memory-anchors .olam-note {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1rem;
    background: linear-gradient(135deg, rgba(74, 16, 40, 0.96), rgba(91, 15, 45, 0.92));
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.5;
    padding: 1rem;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-note-icon {
    background: rgba(217, 154, 43, 0.18);
    color: #f4cf78;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-status {
    min-height: 1.45rem;
    margin-top: 0.75rem;
    color: var(--olam-memory-muted);
    font-weight: 850;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-status[data-state="success"] {
    color: #52641f;
}

.olam-block[data-olam-block].olam-memory-anchors .olam-status[data-state="warn"] {
    color: #995d00;
}

@media (max-width: 1040px) {
    .olam-block[data-olam-block].olam-memory-anchors .olam-help-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-anchor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-recall-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .olam-block[data-olam-block].olam-memory-anchors .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-memory-anchors h2 {
        font-size: 2.2rem;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-dashboard-head,
    .olam-block[data-olam-block].olam-memory-anchors .olam-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-anchor-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-anchor {
        min-height: 0;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-anchor-top,
    .olam-block[data-olam-block].olam-memory-anchors .olam-recall-left,
    .olam-block[data-olam-block].olam-memory-anchors .olam-note {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-mode-bar,
    .olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn,
    .olam-block[data-olam-block].olam-memory-anchors .olam-actions .olam-btn {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-progress-mini {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .olam-block[data-olam-block].olam-memory-anchors .olam-progress-mini strong {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .olam-block[data-olam-block].olam-memory-anchors .olam-reveal,
    .olam-block[data-olam-block].olam-memory-anchors .olam-progress-fill,
    .olam-block[data-olam-block].olam-memory-anchors .olam-anchor,
    .olam-block[data-olam-block].olam-memory-anchors .olam-help-btn,
    .olam-block[data-olam-block].olam-memory-anchors .olam-btn,
    .olam-block[data-olam-block].olam-memory-anchors .olam-small-btn,
    .olam-block[data-olam-block].olam-memory-anchors .olam-mode-btn {
        transition: none;
    }
}

/* ------------------------------------------------------------------ */
/* 17. Guided visual comparison                                       */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block] .olam-visualcompare__panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
    margin-bottom: 0.9rem;
}

.olam-block[data-olam-block] .olam-visualcompare__panels > article {
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-visualcompare__visual {
    display: grid;
    min-height: 250px;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 30%, rgba(252, 227, 236, 0.95), transparent 28%),
        linear-gradient(135deg, #f4f4f4, #ffffff);
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-visualcompare__visual img {
    height: 100%;
    min-height: 250px;
    width: 100%;
    object-fit: cover;
}

.olam-block[data-olam-block] .olam-visualcompare__visual > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 82px;
    width: 82px;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: var(--olam-shadow);
}

.olam-block[data-olam-block] .olam-visualcompare__panels h4,
.olam-block[data-olam-block] .olam-visualcompare__panels p {
    padding: 0 1rem;
}

.olam-block[data-olam-block] .olam-visualcompare__panels h4 {
    margin-top: 1rem;
}

.olam-block[data-olam-block] .olam-visualcompare__panels p {
    padding-bottom: 1rem;
}

.olam-block[data-olam-block] .olam-visualcompare__points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-visualcompare__summary {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0.9rem 0 0;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: var(--olam-accent-dark);
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: 1.1rem;
    line-height: 1.35;
}

/* Guided visual comparison: documented interactive version. */
.olam-block[data-olam-block].olam-visual-compare.olam-visualcompare {
    --olam-compare-wine: #3f0d23;
    --olam-compare-ruby: #a0174b;
    --olam-compare-gold: #d99a2b;
    --olam-compare-olive: #77813d;
    --olam-compare-cream: #fff8f1;
    --olam-compare-rose: #f8e4e7;
    --olam-compare-text: #2b1c24;
    --olam-compare-muted: #67535e;
    --olam-compare-border: rgba(160, 23, 75, 0.16);
    display: block;
    max-width: 1360px;
    margin: 1.2rem auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-compare-text);
    font-family: var(--olam-font, inherit);
    padding: 0;
}

.olam-block[data-olam-block].olam-visual-compare,
.olam-block[data-olam-block].olam-visual-compare * {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-visual-compare button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-visual-compare .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(160, 23, 75, 0.045) 1px, transparent 1px) 0 0 / 32px 32px,
        linear-gradient(135deg, #fffdf8 0%, var(--olam-compare-cream) 58%, #edf1dd 100%);
    box-shadow: 0 24px 62px rgba(63, 13, 35, 0.17);
    padding: 2rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 10px;
    background: linear-gradient(90deg, var(--olam-compare-ruby), var(--olam-compare-gold), var(--olam-compare-olive));
}

.olam-block[data-olam-block].olam-visual-compare .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.olam-block[data-olam-block].olam-visual-compare .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.olam-block[data-olam-block].olam-visual-compare.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-visual-compare .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-visual-compare .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-visual-compare .olam-kicker,
.olam-block[data-olam-block].olam-visual-compare .olam-help-btn,
.olam-block[data-olam-block].olam-visual-compare .olam-flow-chip,
.olam-block[data-olam-block].olam-visual-compare .olam-badge-soft,
.olam-block[data-olam-block].olam-visual-compare .olam-btn,
.olam-block[data-olam-block].olam-visual-compare .olam-hotspot {
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-visual-compare .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-compare-rose);
    color: var(--olam-compare-ruby);
    font-size: 0.82rem;
    font-weight: 900;
    padding: 0.55rem 0.9rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-visual-compare .olam-kicker-icon,
.olam-block[data-olam-block].olam-visual-compare .olam-panel-icon,
.olam-block[data-olam-block].olam-visual-compare .olam-summary-icon,
.olam-block[data-olam-block].olam-visual-compare .olam-note-icon,
.olam-block[data-olam-block].olam-visual-compare .olam-diff-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-visual-compare .olam-kicker-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--olam-compare-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-visual-compare .olam-icon {
    width: 1.08rem;
    height: 1.08rem;
}

.olam-block[data-olam-block].olam-visual-compare h2 {
    max-width: 920px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-compare-wine);
    font-family: var(--olam-heading-font);
    font-size: 3.35rem;
    font-weight: 850;
    line-height: 0.98;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-visual-compare .olam-subtitle {
    max-width: 960px;
    margin: 0;
    color: #3d2d35;
    font-size: 1.08rem;
    line-height: 1.58;
}

.olam-block[data-olam-block].olam-visual-compare .olam-top-actions,
.olam-block[data-olam-block].olam-visual-compare .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1.15rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-btn,
.olam-block[data-olam-block].olam-visual-compare .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-btn {
    background: linear-gradient(135deg, #f2be56, var(--olam-compare-gold));
    color: #432600;
    padding: 0.76rem 1rem;
    box-shadow: 0 14px 28px rgba(217, 154, 43, 0.24);
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-btn:hover,
.olam-block[data-olam-block].olam-visual-compare .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-visual-compare .olam-btn:hover,
.olam-block[data-olam-block].olam-visual-compare .olam-btn:focus-visible,
.olam-block[data-olam-block].olam-visual-compare .olam-hotspot:hover,
.olam-block[data-olam-block].olam-visual-compare .olam-hotspot:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 16px 36px rgba(63, 13, 35, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.055);
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-card strong {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.4rem;
    color: var(--olam-compare-wine);
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-visual-compare .olam-help-card p {
    margin: 0;
    color: var(--olam-compare-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-visual-compare .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid rgba(111, 125, 55, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #405016;
    font-size: 0.92rem;
    font-weight: 800;
    padding: 0.55rem 0.76rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-main {
    margin-top: 1.35rem;
    border: 1px solid var(--olam-compare-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 18px 44px rgba(63, 13, 35, 0.10);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-main-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-main-head h3,
.olam-block[data-olam-block].olam-visual-compare .olam-panel-head h4,
.olam-block[data-olam-block].olam-visual-compare .olam-summary h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--olam-compare-wine);
    font-family: var(--olam-heading-font);
    letter-spacing: 0;
    line-height: 1.16;
}

.olam-block[data-olam-block].olam-visual-compare .olam-main-head h3 {
    font-size: 1.6rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-main-head p,
.olam-block[data-olam-block].olam-visual-compare .olam-panel-head p,
.olam-block[data-olam-block].olam-visual-compare .olam-summary p {
    margin: 0.4rem 0 0;
    color: var(--olam-compare-muted);
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-visual-compare .olam-badge-soft {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    background: #edf2d9;
    color: #47571d;
    font-size: 0.82rem;
    font-weight: 900;
    padding: 0.38rem 0.65rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(63, 13, 35, 0.075);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel.is-negative {
    border-color: rgba(160, 23, 75, 0.20);
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel.is-positive {
    border-color: rgba(119, 129, 61, 0.24);
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel-head {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.75rem;
    align-items: start;
    min-width: 0;
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: var(--olam-compare-rose);
    color: var(--olam-compare-ruby);
}

.olam-block[data-olam-block].olam-visual-compare .is-positive .olam-panel-icon {
    background: #edf2d9;
    color: #52641f;
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel-icon .olam-icon {
    width: 1.55rem;
    height: 1.55rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-panel-head h4 {
    font-size: 1.32rem;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-visual-compare .olam-visual-scene {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.10);
    border-radius: 18px;
    background: #fff8f1;
}

.olam-block[data-olam-block].olam-visual-compare .olam-visual-scene svg,
.olam-block[data-olam-block].olam-visual-compare .olam-visual-scene img {
    display: block;
    width: 100%;
    min-height: 360px;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-visual-compare .olam-hotspot {
    position: absolute;
    top: var(--y, 50%);
    left: var(--x, 50%);
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 3px solid #ffffff;
    border-radius: 999px;
    background: var(--olam-compare-ruby);
    color: #ffffff;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.18);
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    z-index: 3;
}

.olam-block[data-olam-block].olam-visual-compare .is-positive .olam-hotspot {
    background: var(--olam-compare-olive);
}

.olam-block[data-olam-block].olam-visual-compare .olam-hotspot:hover,
.olam-block[data-olam-block].olam-visual-compare .olam-hotspot:focus-visible,
.olam-block[data-olam-block].olam-visual-compare .olam-hotspot.is-active {
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.24), 0 0 0 8px rgba(217, 154, 43, 0.18);
    transform: translate(-50%, -50%) scale(1.08);
}

.olam-block[data-olam-block].olam-visual-compare .olam-speech {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    border-radius: 16px;
    background: rgba(63, 13, 35, 0.90);
    color: rgba(255, 255, 255, 0.9);
    font-weight: 750;
    line-height: 1.42;
    padding: 0.85rem 1rem;
    z-index: 2;
}

.olam-block[data-olam-block].olam-visual-compare .is-positive .olam-speech {
    background: rgba(64, 80, 22, 0.9);
}

.olam-block[data-olam-block].olam-visual-compare .olam-tooltip {
    position: absolute;
    left: 76px;
    top: 76px;
    display: none;
    max-width: 310px;
    min-width: 240px;
    border: 1px solid rgba(217, 154, 43, 0.32);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 32px rgba(63, 13, 35, 0.16);
    padding: 0.85rem;
    z-index: 4;
}

.olam-block[data-olam-block].olam-visual-compare .olam-tooltip.is-open {
    display: block;
    animation: olam-fade-up 0.18s ease both;
}

.olam-block[data-olam-block].olam-visual-compare .olam-tooltip strong {
    display: block;
    color: var(--olam-compare-wine);
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-visual-compare .olam-tooltip p {
    margin: 0.35rem 0 0;
    color: var(--olam-compare-muted);
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-visual-compare .olam-analysis-list {
    display: grid;
    gap: 0.62rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-analysis-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 0.65rem;
    align-items: start;
    min-width: 0;
    border-radius: 15px;
    background: #fff8f1;
    color: var(--olam-compare-muted);
    line-height: 1.45;
    padding: 0.7rem;
}

.olam-block[data-olam-block].olam-visual-compare .is-positive .olam-analysis-item {
    background: #f3f6e7;
}

.olam-block[data-olam-block].olam-visual-compare .olam-diff-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--olam-compare-rose);
    color: var(--olam-compare-ruby);
}

.olam-block[data-olam-block].olam-visual-compare .is-positive .olam-diff-icon {
    background: #edf2d9;
    color: #52641f;
}

.olam-block[data-olam-block].olam-visual-compare .olam-analysis-item strong {
    display: block;
    color: var(--olam-compare-wine);
}

.olam-block[data-olam-block].olam-visual-compare .olam-summary {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 0.85rem;
    align-items: start;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.98), rgba(255, 244, 223, 0.9));
    padding: 1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-summary-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--olam-compare-ruby), var(--olam-compare-wine));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-visual-compare .olam-summary-icon .olam-icon {
    width: 1.75rem;
    height: 1.75rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-summary h4 {
    font-size: 1.45rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-btn {
    padding: 0.75rem 1rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-compare-ruby), var(--olam-compare-wine));
    color: #ffffff;
    box-shadow: 0 14px 26px rgba(160, 23, 75, 0.22);
}

.olam-block[data-olam-block].olam-visual-compare .olam-btn-secondary {
    background: #ffffff;
    color: var(--olam-compare-wine);
    box-shadow: inset 0 0 0 1px rgba(160, 23, 75, 0.18), 0 10px 22px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-visual-compare .olam-note {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(63, 13, 35, 0.96), rgba(91, 15, 45, 0.92));
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.5;
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-visual-compare .olam-note-icon {
    width: 54px;
    height: 54px;
    border-radius: 17px;
    background: rgba(217, 154, 43, 0.18);
    color: #f4cf78;
}

.olam-block[data-olam-block].olam-visual-compare .olam-status {
    min-height: 1.45rem;
    margin-top: 0.75rem;
    color: var(--olam-compare-muted);
    font-weight: 850;
}

.olam-block[data-olam-block].olam-visual-compare .olam-status[data-state="success"] {
    color: #52641f;
}

@media (max-width: 1040px) {
    .olam-block[data-olam-block].olam-visual-compare .olam-help-grid,
    .olam-block[data-olam-block].olam-visual-compare .olam-compare-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .olam-block[data-olam-block].olam-visual-compare .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-visual-compare h2 {
        font-size: 2.2rem;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-main-head,
    .olam-block[data-olam-block].olam-visual-compare .olam-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-badge-soft {
        white-space: normal;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-panel-head,
    .olam-block[data-olam-block].olam-visual-compare .olam-summary,
    .olam-block[data-olam-block].olam-visual-compare .olam-note {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-visual-scene {
        min-height: 0;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-visual-scene svg,
    .olam-block[data-olam-block].olam-visual-compare .olam-visual-scene img {
        min-height: 260px;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-speech {
        position: static;
        margin: 0 0.75rem 0.75rem;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-tooltip {
        position: static;
        max-width: none;
        min-width: 0;
        margin: 0 0.75rem 0.75rem;
    }

    .olam-block[data-olam-block].olam-visual-compare .olam-actions .olam-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .olam-block[data-olam-block].olam-visual-compare .olam-reveal,
    .olam-block[data-olam-block].olam-visual-compare .olam-help-btn,
    .olam-block[data-olam-block].olam-visual-compare .olam-btn,
    .olam-block[data-olam-block].olam-visual-compare .olam-hotspot {
        transition: none;
    }
}

/* ------------------------------------------------------------------ */
/* 18. Observe, think, answer                                         */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-observe,
.olam-block[data-olam-block].olam-reflection,
.olam-block[data-olam-block].olam-trylab,
.olam-block[data-olam-block].olam-indicator {
    overflow: hidden;
    padding: clamp(1rem, 3vw, 1.45rem);
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 92% 8%, rgba(201, 162, 39, 0.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-observe header,
.olam-block[data-olam-block].olam-reflection header,
.olam-block[data-olam-block].olam-trylab header,
.olam-block[data-olam-block].olam-indicator header {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-observe header > span,
.olam-block[data-olam-block].olam-reflection header > span,
.olam-block[data-olam-block].olam-trylab header > span,
.olam-block[data-olam-block].olam-indicator header > span,
.olam-block[data-olam-block].olam-story aside > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-observe header h3,
.olam-block[data-olam-block].olam-reflection header h3,
.olam-block[data-olam-block].olam-trylab header h3,
.olam-block[data-olam-block].olam-indicator header h3,
.olam-block[data-olam-block].olam-story aside h3 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: 0;
    line-height: 1;
}

.olam-block[data-olam-block].olam-observe header p,
.olam-block[data-olam-block].olam-reflection header p,
.olam-block[data-olam-block].olam-trylab header p,
.olam-block[data-olam-block].olam-indicator header p,
.olam-block[data-olam-block].olam-story aside p {
    max-width: 840px;
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-observe__grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) minmax(220px, 0.85fr);
    gap: 0.9rem;
}

.olam-block[data-olam-block] .olam-observe__scene {
    position: relative;
    display: grid;
    min-height: 360px;
    overflow: hidden;
    border-radius: 26px;
    background:
        radial-gradient(circle at 30% 20%, rgba(252, 227, 236, 0.9), transparent 28%),
        linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-observe__scene img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.55;
}

.olam-block[data-olam-block] .olam-observe__scene > span {
    align-self: center;
    justify-self: center;
    color: rgba(255, 255, 255, 0.8);
    transform: scale(2.8);
}

.olam-block[data-olam-block] .olam-observe__problem {
    position: relative;
    z-index: 1;
    align-self: end;
    margin: 1rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(58, 15, 34, 0.78);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.olam-block[data-olam-block] .olam-observe__problem strong {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--olam-gold);
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-observe__problem p,
.olam-block[data-olam-block] .olam-observe__clues p,
.olam-block[data-olam-block] .olam-observe__step p {
    margin: 0;
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-observe__clues {
    display: grid;
    gap: 0.7rem;
}

.olam-block[data-olam-block] .olam-observe__clues article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.25rem 0.75rem;
    padding: 0.9rem;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-observe__clues article span {
    grid-row: span 2;
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 2rem;
    font-weight: 900;
    line-height: 0.9;
}

.olam-block[data-olam-block] .olam-observe__clues article strong {
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-observe__clues article p {
    color: var(--olam-muted);
}

.olam-block[data-olam-block] .olam-observe__workspace {
    position: relative;
    margin-top: 0.9rem;
    padding: 1rem;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 42px -36px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-observe__radio,
.olam-block[data-olam-block] .olam-story__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-observe__nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.65rem;
    margin-bottom: 0.8rem;
}

.olam-block[data-olam-block] .olam-observe__nav label {
    display: grid;
    grid-template-columns: 36px 28px 1fr;
    align-items: center;
    gap: 0.45rem;
    min-height: 70px;
    padding: 0.7rem;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 18px;
    cursor: pointer;
}

.olam-block[data-olam-block] .olam-observe__nav label span {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 1.45rem;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-observe__nav label strong {
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-observe__step {
    display: none;
    gap: 0.65rem;
    padding: 1rem;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(252, 227, 236, 0.82), rgba(255, 255, 255, 0.94));
}

.olam-block[data-olam-block] .olam-observe__step h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.65rem;
}

.olam-block[data-olam-block].olam-observe textarea,
.olam-block[data-olam-block].olam-trylab textarea,
.olam-block[data-olam-block].olam-indicator textarea {
    display: block;
    min-height: 116px;
    width: 100%;
    resize: vertical;
    border: 1px solid rgba(164, 21, 76, 0.18);
    border-radius: 16px;
    padding: 0.85rem;
    background: #ffffff;
    color: var(--olam-ink);
    font: inherit;
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(1):checked ~ .olam-observe__nav label:nth-child(1),
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(2):checked ~ .olam-observe__nav label:nth-child(2),
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(3):checked ~ .olam-observe__nav label:nth-child(3) {
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(1):checked ~ .olam-observe__nav label:nth-child(1) *,
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(2):checked ~ .olam-observe__nav label:nth-child(2) *,
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(3):checked ~ .olam-observe__nav label:nth-child(3) * {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(1):checked ~ .olam-observe__steps .olam-observe__step--1,
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(2):checked ~ .olam-observe__steps .olam-observe__step--2,
.olam-block[data-olam-block] .olam-observe__radio:nth-of-type(3):checked ~ .olam-observe__steps .olam-observe__step--3 {
    display: grid;
}

.olam-block[data-olam-block] .olam-observe__mediation {
    display: flex;
    gap: 0.6rem;
    margin: 0.8rem 0 0;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: var(--olam-accent-dark);
    color: #ffffff;
    line-height: 1.45;
}

/* 12. Observe, pense, responda: documented investigation layout. */
.olam-block[data-olam-block].olam-observe {
    --olam-observe-vinho: var(--olam-accent-dark);
    --olam-observe-rubi: var(--olam-accent);
    --olam-observe-gold: var(--olam-gold);
    --olam-observe-cream: #fff8f1;
    --olam-observe-border: rgba(160, 23, 75, 0.18);
    isolation: isolate;
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #2b1c24;
}

.olam-block[data-olam-block].olam-observe .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 12%, rgba(212, 175, 55, 0.18), transparent 26%),
        radial-gradient(circle at 10% 88%, rgba(160, 23, 75, 0.10), transparent 30%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-observe-cream) 54%, #fbefe6 100%);
    box-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);
    padding: clamp(1.15rem, 3vw, 2.45rem);
}

.olam-block[data-olam-block].olam-observe .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-observe-rubi), #320919);
}

.olam-block[data-olam-block].olam-observe .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-observe header {
    display: block;
    margin: 0 0 1.5rem;
}

.olam-block[data-olam-block].olam-observe .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: max-content;
    max-width: 100%;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-observe-rubi);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-observe .olam-kicker-icon,
.olam-block[data-olam-block].olam-observe .olam-chip-icon,
.olam-block[data-olam-block].olam-observe .olam-step-number,
.olam-block[data-olam-block].olam-observe .olam-note-icon,
.olam-block[data-olam-block].olam-observe .olam-hotspot {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-observe .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-observe-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-observe .olam-kicker-icon .olam-icon {
    height: 1rem;
    width: 1rem;
}

.olam-block[data-olam-block].olam-observe h2 {
    max-width: 760px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-observe-vinho);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 900;
    line-height: 0.95;
}

.olam-block[data-olam-block].olam-observe .olam-subtitle {
    max-width: 760px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-observe .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.35rem;
}

.olam-block[data-olam-block].olam-observe .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.78rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #5b0f2d;
    font-size: 0.9rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-observe .olam-flow-chip span {
    color: var(--olam-observe-rubi);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-observe .olam-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(330px, 0.9fr);
    gap: 1.4rem;
    align-items: stretch;
}

.olam-block[data-olam-block].olam-observe .olam-card {
    border: 1px solid var(--olam-observe-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-observe .olam-stimulus {
    position: relative;
    overflow: hidden;
    min-height: 520px;
}

.olam-block[data-olam-block].olam-observe .olam-stimulus-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.15rem 0.8rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-observe .olam-stimulus-head h3,
.olam-block[data-olam-block].olam-observe .olam-step h3 {
    margin: 0;
    color: var(--olam-observe-vinho);
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-observe .olam-stimulus-head p {
    margin: 0.25rem 0 0;
    color: var(--olam-muted);
    font-size: 0.95rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-observe .olam-badge-soft {
    white-space: nowrap;
    padding: 0.48rem 0.75rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
}

.olam-block[data-olam-block].olam-observe .olam-visual-wrap {
    padding: 1.15rem 1.15rem 0;
}

.olam-block[data-olam-block].olam-observe .olam-visual-card {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background: linear-gradient(135deg, #fff8f0, #fffdf9);
    box-shadow: 0 18px 38px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-observe .olam-visual-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-observe .olam-visual-overlay {
    position: absolute;
    inset: auto 16px 16px 16px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-observe .olam-visual-caption {
    max-width: 78%;
    padding: 0.8rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 28px rgba(63, 13, 35, 0.12);
    backdrop-filter: blur(8px);
}

.olam-block[data-olam-block].olam-observe .olam-visual-caption strong {
    display: block;
    margin-bottom: 0.18rem;
    color: var(--olam-observe-rubi);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-observe .olam-visual-caption span {
    display: block;
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.38;
}

.olam-block[data-olam-block].olam-observe .olam-visual-tag {
    align-self: flex-start;
    white-space: nowrap;
    padding: 0.52rem 0.78rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--olam-observe-vinho), var(--olam-observe-rubi));
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-observe .olam-scene {
    position: relative;
    min-height: 350px;
    overflow: hidden;
    margin: 1.15rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(63, 13, 35, 0.10), rgba(63, 13, 35, 0.02)),
        linear-gradient(135deg, #fcf2e8, #fffbf6);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.olam-block[data-olam-block].olam-observe .olam-scene::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 18%, rgba(160, 23, 75, 0.16) 0 2px, transparent 3px) 0 0 / 28px 28px,
        radial-gradient(circle at 80% 24%, rgba(217, 154, 43, 0.28), transparent 18%),
        radial-gradient(circle at 22% 88%, rgba(119, 129, 61, 0.16), transparent 20%);
    opacity: 0.72;
}

.olam-block[data-olam-block].olam-observe .olam-problem-card {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    width: min(78%, 560px);
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 56px rgba(63, 13, 35, 0.15);
    transform: translate(-50%, -50%);
}

.olam-block[data-olam-block].olam-observe .olam-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    color: var(--olam-observe-rubi);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-observe .olam-problem-card p {
    margin: 0;
    color: #34252d;
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    line-height: 1.62;
}

.olam-block[data-olam-block].olam-observe .olam-mark {
    padding: 0.12rem 0.32rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 0.45rem;
    background: rgba(217, 154, 43, 0.18);
    color: #6b430c;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-observe .olam-mark.is-muted {
    border-color: rgba(160, 23, 75, 0.12);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-observe-rubi);
}

.olam-block[data-olam-block].olam-observe .olam-hotspot {
    position: absolute;
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--olam-observe-rubi), var(--olam-observe-vinho));
    color: #ffffff;
    cursor: pointer;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(143, 0, 61, 0.28);
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-observe .olam-hotspot::after {
    content: "";
    position: absolute;
    inset: -9px;
    border: 2px solid rgba(160, 23, 75, 0.20);
    border-radius: inherit;
    animation: olam-observe-pulse 1.8s ease-out infinite;
}

.olam-block[data-olam-block].olam-observe .olam-hotspot:hover,
.olam-block[data-olam-block].olam-observe .olam-hotspot:focus-visible,
.olam-block[data-olam-block].olam-observe .olam-hotspot.is-active {
    outline: none;
    background: linear-gradient(135deg, #bd1d54, var(--olam-observe-rubi));
    transform: translate(-50%, -50%) translateY(-3px);
}

.olam-block[data-olam-block].olam-observe .olam-tooltip-card {
    display: none;
    position: absolute;
    z-index: 4;
    max-width: 270px;
    padding: 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.95);
    color: #3d2d35;
    box-shadow: 0 18px 42px rgba(63, 13, 35, 0.16);
    animation: olam-observe-scale-in 0.2s ease both;
}

.olam-block[data-olam-block].olam-observe .olam-tooltip-card.is-open {
    display: block;
    left: 24%;
    top: 16%;
}

.olam-block[data-olam-block].olam-observe .olam-tooltip-card strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-observe-rubi);
}

.olam-block[data-olam-block].olam-observe .olam-tooltip-card p {
    margin: 0;
    color: #5c4450;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-observe .olam-stimulus-footer {
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-observe .olam-media-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-observe .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-observe-gold);
}

.olam-block[data-olam-block].olam-observe .olam-note-icon .olam-icon {
    height: 1rem;
    width: 1rem;
}

.olam-block[data-olam-block].olam-observe .olam-panel {
    height: 100%;
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-observe .olam-progress-wrap {
    margin-bottom: 1.05rem;
}

.olam-block[data-olam-block].olam-observe .olam-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.45rem;
    color: var(--olam-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-observe .olam-progress {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.10);
}

.olam-block[data-olam-block].olam-observe .olam-progress-bar {
    width: 33.333%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-observe-rubi), var(--olam-observe-gold));
    transition: width 0.35s ease;
}

.olam-block[data-olam-block].olam-observe .olam-step {
    display: none;
    animation: olam-observe-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-observe .olam-step.is-active {
    display: block;
}

.olam-block[data-olam-block].olam-observe .olam-step-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 0.95rem;
}

.olam-block[data-olam-block].olam-observe .olam-step-number {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: linear-gradient(135deg, #5b0f2d, var(--olam-observe-rubi));
    color: #ffffff;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-observe .olam-helper {
    margin: 0.35rem 0 0;
    color: var(--olam-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-observe .olam-textarea {
    width: 100%;
    min-height: 150px;
    padding: 1rem;
    resize: vertical;
    border: 1px solid rgba(160, 23, 75, 0.20);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    color: #2b1c24;
    font: inherit;
    line-height: 1.5;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-observe .olam-textarea:focus {
    outline: none;
    border-color: rgba(160, 23, 75, 0.48);
    background: #ffffff;
    box-shadow: 0 0 0 0.25rem rgba(160, 23, 75, 0.11);
}

.olam-block[data-olam-block].olam-observe .olam-microcopy {
    margin: 0.65rem 0 0;
    color: #8b6a58;
    font-size: 0.86rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-observe .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-observe .olam-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    border-radius: 999px;
    padding: 0.78rem 1rem;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-observe .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-observe-vinho), var(--olam-observe-rubi));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-observe .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-observe-rubi);
}

.olam-block[data-olam-block].olam-observe .olam-btn:hover,
.olam-block[data-olam-block].olam-observe .olam-btn:focus-visible {
    outline: none;
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-observe .olam-btn-primary:hover,
.olam-block[data-olam-block].olam-observe .olam-btn-primary:focus-visible {
    box-shadow: 0 18px 30px rgba(143, 0, 61, 0.28);
}

.olam-block[data-olam-block].olam-observe .olam-btn[disabled] {
    cursor: not-allowed;
    opacity: 0.45;
    transform: none;
    box-shadow: none;
}

.olam-block[data-olam-block].olam-observe .olam-mediation,
.olam-block[data-olam-block].olam-observe .olam-summary {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 20px;
    line-height: 1.55;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-observe .olam-mediation {
    border: 1px solid rgba(160, 23, 75, 0.15);
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.08), rgba(217, 154, 43, 0.10));
    color: #4d3541;
}

.olam-block[data-olam-block].olam-observe .olam-summary {
    border: 1px solid rgba(119, 129, 61, 0.18);
    background: rgba(255, 255, 255, 0.76);
}

.olam-block[data-olam-block].olam-observe .olam-mediation.is-open,
.olam-block[data-olam-block].olam-observe .olam-summary.is-open {
    display: block;
    animation: olam-observe-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-observe .olam-mediation strong,
.olam-block[data-olam-block].olam-observe .olam-summary-item strong {
    color: var(--olam-observe-rubi);
}

.olam-block[data-olam-block].olam-observe .olam-summary h4 {
    margin: 0 0 0.55rem;
    color: var(--olam-observe-vinho);
    font-size: 1rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-observe .olam-summary-item {
    margin: 0.45rem 0;
    color: #4b3641;
    font-size: 0.94rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-observe .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-observe-rubi);
    font-size: 0.92rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-observe .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-observe.is-visible .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-observe.is-visible .olam-reveal:nth-child(2) {
    transition-delay: 0.05s;
}

.olam-block[data-olam-block].olam-observe.is-visible .olam-reveal:nth-child(3) {
    transition-delay: 0.10s;
}

@keyframes olam-observe-pulse {
    0% { transform: scale(0.78); opacity: 0.85; }
    100% { transform: scale(1.45); opacity: 0; }
}

@keyframes olam-observe-scale-in {
    from { opacity: 0; transform: scale(0.96) translateY(4px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes olam-observe-fade-up {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

@container (max-width: 900px) {
    .olam-block[data-olam-block].olam-observe .olam-layout {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-observe .olam-stimulus {
        min-height: auto;
    }

    .olam-block[data-olam-block].olam-observe .olam-scene {
        min-height: 360px;
    }

    .olam-block[data-olam-block].olam-observe .olam-tooltip-card {
        position: static;
        max-width: none;
        margin: 0.75rem 1.15rem 0;
    }

    .olam-block[data-olam-block].olam-observe .olam-visual-caption {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-observe .olam-layout {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-observe .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-observe .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-observe .olam-stimulus-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-observe .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-observe .olam-problem-card {
        width: 88%;
    }

    .olam-block[data-olam-block].olam-observe .olam-hotspot {
        width: 38px;
        height: 38px;
    }

    .olam-block[data-olam-block].olam-observe .olam-visual-overlay {
        position: static;
        display: block;
        padding: 0.9rem;
    }

    .olam-block[data-olam-block].olam-observe .olam-visual-caption {
        max-width: 100%;
    }

    .olam-block[data-olam-block].olam-observe .olam-visual-tag {
        display: inline-block;
        margin-top: 0.7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .olam-block[data-olam-block].olam-observe *,
    .olam-block[data-olam-block].olam-observe *::before,
    .olam-block[data-olam-block].olam-observe *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .olam-block[data-olam-block].olam-observe .olam-reveal {
        opacity: 1;
        transform: none;
    }
}

/* ------------------------------------------------------------------ */
/* 19. Visual reflection map                                          */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block] .olam-reflection__moods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.olam-block[data-olam-block] .olam-reflection__mood {
    overflow: hidden;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-reflection__mood summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.9rem;
    cursor: pointer;
    list-style: none;
}

.olam-block[data-olam-block] .olam-reflection__mood summary::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block] .olam-reflection__mood summary .olam-icon {
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-reflection__mood p {
    margin: 0;
    padding: 0 0.9rem 0.9rem;
    color: var(--olam-muted);
    line-height: 1.45;
}

.olam-block[data-olam-block] .olam-reflection__topics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.8rem;
}

.olam-block[data-olam-block] .olam-reflection__topic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0.9rem;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-reflection__topic div {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 0.25rem 0.7rem;
}

.olam-block[data-olam-block] .olam-reflection__topic div > .olam-icon {
    grid-row: span 2;
    align-self: start;
    height: 44px;
    width: 44px;
    padding: 0.65rem;
    border-radius: 16px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-reflection__topic h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
}

.olam-block[data-olam-block] .olam-reflection__topic p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-reflection__topic input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.olam-block[data-olam-block] .olam-reflection__topic label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.35rem 0.45rem;
    border-radius: 999px;
    background: #f4f4f4;
    color: var(--olam-muted);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-reflection__topic input:checked + label {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-reflection__topic input:checked + .is-clear {
    background: #77813d;
}

.olam-block[data-olam-block] .olam-reflection__topic input:checked + .is-building {
    background: var(--olam-gold);
    color: #3a0f22;
}

.olam-block[data-olam-block] .olam-reflection__topic input:checked + .is-review {
    background: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-reflection__next {
    display: flex;
    gap: 0.6rem;
    margin: 0.9rem 0 0;
    padding: 1rem;
    border-radius: 18px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent-dark);
    font-weight: 800;
}

/* Documented visual reflection map. */
.olam-block[data-olam-block].olam-reflection {
    --olam-reflection-wine-950: #320919;
    --olam-reflection-wine-900: #3f0d23;
    --olam-reflection-wine-800: #5b0f2d;
    --olam-reflection-ruby: var(--olam-accent, #a0174b);
    --olam-reflection-gold: #d99a2b;
    --olam-reflection-olive: #77813d;
    --olam-reflection-cream: #fff8f1;
    --olam-reflection-rose: #f8e4e7;
    --olam-reflection-text: #2b1c24;
    --olam-reflection-muted: #6b5260;
    --olam-reflection-border: rgba(160, 23, 75, 0.18);
    --olam-reflection-shadow-soft: 0 16px 42px rgba(63, 13, 35, 0.10);
    --olam-reflection-shadow-strong: 0 24px 62px rgba(63, 13, 35, 0.18);
    position: relative;
    isolation: isolate;
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-reflection-text);
    font-family: var(--olam-font, inherit);
}

.olam-block[data-olam-block].olam-reflection *,
.olam-block[data-olam-block].olam-reflection *::before,
.olam-block[data-olam-block].olam-reflection *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-reflection button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-reflection .olam-shell {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-reflection-cream) 54%, #fbefe6 100%);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: var(--olam-reflection-shadow-strong);
    padding: clamp(1.15rem, 3vw, 2.45rem);
}

.olam-block[data-olam-block].olam-reflection .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-reflection-ruby), var(--olam-reflection-wine-950));
    z-index: 0;
}

.olam-block[data-olam-block].olam-reflection .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-reflection header,
.olam-block[data-olam-block].olam-reflection .olam-reveal {
    display: block;
}

.olam-block[data-olam-block].olam-reflection .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-reflection.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-reflection .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-reflection .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-reflection .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-reflection-rose);
    color: var(--olam-reflection-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-reflection .olam-kicker-icon,
.olam-block[data-olam-block].olam-reflection .olam-topic-icon,
.olam-block[data-olam-block].olam-reflection .olam-mood-icon,
.olam-block[data-olam-block].olam-reflection .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-reflection .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-reflection-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-reflection .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-reflection h2 {
    max-width: 840px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-reflection-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2.15rem, 4.7vw, 4.15rem);
    font-weight: 850;
    line-height: 0.95;
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-reflection .olam-subtitle {
    max-width: 850px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-reflection .olam-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-reflection .olam-help-btn,
.olam-block[data-olam-block].olam-reflection .olam-btn {
    border: 0;
    border-radius: 999px;
    font-weight: 850;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-reflection .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-reflection-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-reflection .olam-help-btn:hover,
.olam-block[data-olam-block].olam-reflection .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-reflection .olam-btn:hover,
.olam-block[data-olam-block].olam-reflection .olam-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-reflection .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-reflection .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-reflection .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-help-panel.is-open {
    display: block;
    animation: olam-reflection-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-reflection .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-reflection .olam-help-card {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.95rem;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-reflection .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-reflection-wine-900);
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-reflection .olam-help-card strong .olam-icon {
    color: #b87b14;
}

.olam-block[data-olam-block].olam-reflection .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-reflection .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-reflection-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-reflection .olam-reflection__layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(1rem, 2.3vw, 1.5rem);
    align-items: stretch;
    margin-top: 1.55rem;
}

.olam-block[data-olam-block].olam-reflection .olam-card {
    border: 1px solid var(--olam-reflection-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: var(--olam-reflection-shadow-soft);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-reflection .olam-visual-card {
    overflow: hidden;
    height: 100%;
}

.olam-block[data-olam-block].olam-reflection .olam-card-head,
.olam-block[data-olam-block].olam-reflection .olam-map-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-card-head {
    padding: 1.15rem 1.15rem 0.9rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-reflection .olam-card-head h3,
.olam-block[data-olam-block].olam-reflection .olam-map-intro h3 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-reflection-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-reflection .olam-card-head h3 .olam-icon,
.olam-block[data-olam-block].olam-reflection .olam-map-intro h3 .olam-icon {
    color: var(--olam-reflection-ruby);
}

.olam-block[data-olam-block].olam-reflection .olam-card-head p,
.olam-block[data-olam-block].olam-reflection .olam-map-intro p {
    margin: 0.35rem 0 0;
    color: var(--olam-reflection-muted);
    font-size: 0.92rem;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-reflection .olam-badge-soft {
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.48rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.olam-block[data-olam-block].olam-reflection .olam-image-frame {
    position: relative;
    overflow: hidden;
    margin: 1.15rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.22), transparent 26%),
        radial-gradient(circle at 18% 84%, rgba(160, 23, 75, 0.12), transparent 28%),
        linear-gradient(135deg, #fff7ef, #fffdf9);
    border: 1px solid rgba(160, 23, 75, 0.13);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 18px 38px rgba(63, 13, 35, 0.08);
    min-height: 300px;
}

.olam-block[data-olam-block].olam-reflection .olam-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-reflection .olam-image-overlay {
    position: absolute;
    inset: auto 16px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    box-shadow: 0 16px 34px rgba(63, 13, 35, 0.13);
    backdrop-filter: blur(8px);
}

.olam-block[data-olam-block].olam-reflection .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
    color: var(--olam-reflection-ruby);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-reflection .olam-image-overlay p {
    margin: 0;
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-reflection .olam-mood-area {
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-reflection .olam-mood-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    color: var(--olam-reflection-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.08rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-reflection .olam-mood-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block].olam-reflection .olam-mood {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    width: 100%;
    min-height: 78px;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.80);
    color: var(--olam-reflection-text);
    padding: 0.85rem;
    text-align: left;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-reflection .olam-mood:hover,
.olam-block[data-olam-block].olam-reflection .olam-mood:focus-visible,
.olam-block[data-olam-block].olam-reflection .olam-mood.is-selected {
    outline: none;
    transform: translateY(-2px);
    border-color: rgba(160, 23, 75, 0.42);
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.11);
}

.olam-block[data-olam-block].olam-reflection .olam-mood.is-selected {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
}

.olam-block[data-olam-block].olam-reflection .olam-mood-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-reflection-ruby);
}

.olam-block[data-olam-block].olam-reflection .olam-mood strong {
    display: block;
    color: #2f2028;
    font-size: 0.96rem;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-reflection .olam-mood small {
    display: block;
    margin-top: 0.16rem;
    color: var(--olam-reflection-muted);
    font-size: 0.8rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-reflection .olam-map-card {
    height: 100%;
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-reflection .olam-map-intro {
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-reflection .olam-topic {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
    padding: 1rem;
    text-align: left;
    cursor: pointer;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.olam-block[data-olam-block].olam-reflection .olam-topic::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 86% 18%, rgba(160, 23, 75, 0.10), transparent 22%);
    opacity: 0.8;
    pointer-events: none;
}

.olam-block[data-olam-block].olam-reflection .olam-topic:hover,
.olam-block[data-olam-block].olam-reflection .olam-topic:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(160, 23, 75, 0.32);
    box-shadow: 0 18px 32px rgba(63, 13, 35, 0.12);
    outline: none;
}

.olam-block[data-olam-block].olam-reflection .olam-topic[data-state="claro"] {
    background: linear-gradient(135deg, rgba(237, 241, 221, 0.95), rgba(255, 255, 255, 0.82));
    border-color: rgba(119, 129, 61, 0.34);
}

.olam-block[data-olam-block].olam-reflection .olam-topic[data-state="medio"] {
    background: linear-gradient(135deg, rgba(255, 244, 223, 0.96), rgba(255, 255, 255, 0.84));
    border-color: rgba(217, 154, 43, 0.38);
}

.olam-block[data-olam-block].olam-reflection .olam-topic[data-state="retomar"] {
    background: linear-gradient(135deg, rgba(248, 228, 231, 0.96), rgba(255, 255, 255, 0.84));
    border-color: rgba(160, 23, 75, 0.34);
}

.olam-block[data-olam-block].olam-reflection .olam-topic-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.olam-block[data-olam-block].olam-reflection .olam-topic-icon {
    width: 46px;
    height: 46px;
    border-radius: 17px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-reflection-ruby);
}

.olam-block[data-olam-block].olam-reflection .olam-topic[data-state="claro"] .olam-topic-icon {
    background: rgba(119, 129, 61, 0.15);
    color: var(--olam-reflection-olive);
}

.olam-block[data-olam-block].olam-reflection .olam-topic[data-state="medio"] .olam-topic-icon {
    background: rgba(217, 154, 43, 0.16);
    color: #b87b14;
}

.olam-block[data-olam-block].olam-reflection .olam-topic strong {
    display: block;
    color: var(--olam-reflection-wine-900);
    font-size: 0.99rem;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-reflection .olam-topic small {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-reflection-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-reflection .olam-topic-state {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-top: 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(160, 23, 75, 0.10);
    padding: 0.45rem 0.55rem 0.45rem 0.75rem;
}

.olam-block[data-olam-block].olam-reflection .olam-state-label {
    color: #5d4652;
    font-size: 0.82rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-reflection .olam-state-next {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--olam-reflection-wine-900), var(--olam-reflection-ruby));
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(143, 0, 61, 0.20);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.olam-block[data-olam-block].olam-reflection .olam-state-next:hover,
.olam-block[data-olam-block].olam-reflection .olam-state-next:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(143, 0, 61, 0.28);
    outline: none;
}

.olam-block[data-olam-block].olam-reflection .olam-orbit {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 16% 50%, rgba(217, 154, 43, 0.12), transparent 28%),
        rgba(255, 255, 255, 0.60);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1rem;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-visual {
    position: relative;
    display: grid;
    place-items: center;
    width: 164px;
    height: 164px;
    border-radius: 999px;
    background:
        conic-gradient(
            from -90deg,
            rgba(119, 129, 61, 0.78) 0 var(--clarity-angle, 0deg),
            rgba(217, 154, 43, 0.72) var(--clarity-angle, 0deg) var(--attention-angle, 0deg),
            rgba(160, 23, 75, 0.72) var(--attention-angle, 0deg) 360deg
        );
    box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.42), 0 16px 30px rgba(63, 13, 35, 0.14);
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-visual::after {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(160, 23, 75, 0.10);
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-center {
    position: relative;
    z-index: 1;
    text-align: center;
    color: var(--olam-reflection-wine-900);
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-center strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-center span {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-reflection-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-text h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.45rem;
    color: var(--olam-reflection-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.08rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-reflection .olam-orbit-text p {
    margin: 0;
    color: #4d3844;
    font-size: 0.94rem;
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-reflection .olam-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.8rem;
}

.olam-block[data-olam-block].olam-reflection .olam-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.08);
    color: var(--olam-reflection-ruby);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.42rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-reflection .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-btn {
    min-height: 42px;
    padding: 0.8rem 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-reflection-wine-900), var(--olam-reflection-ruby));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-reflection .olam-btn-secondary {
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-reflection-ruby);
    border: 1px solid rgba(160, 23, 75, 0.14);
}

.olam-block[data-olam-block].olam-reflection .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-reflection .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-reflection-gold);
}

.olam-block[data-olam-block].olam-reflection .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-reflection-ruby);
    font-size: 0.92rem;
    font-weight: 750;
}

.olam-block[data-olam-block].olam-reflection .olam-status[data-state="warn"] {
    color: #9c6811;
}

.olam-block[data-olam-block].olam-reflection .olam-status[data-state="success"] {
    color: var(--olam-reflection-olive);
}

@keyframes olam-reflection-fade-up {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .olam-block[data-olam-block].olam-reflection *,
    .olam-block[data-olam-block].olam-reflection *::before,
    .olam-block[data-olam-block].olam-reflection *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .olam-block[data-olam-block].olam-reflection .olam-reveal {
        opacity: 1;
        transform: none;
    }
}

/* ------------------------------------------------------------------ */
/* 20. Attempt laboratory                                             */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block] .olam-trylab__body {
    display: grid;
    grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.2fr);
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-trylab aside,
.olam-block[data-olam-block].olam-trylab main {
    padding: 1rem;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block].olam-trylab aside {
    display: grid;
    gap: 0.6rem;
    align-content: start;
    background:
        radial-gradient(circle at 85% 10%, rgba(201, 162, 39, 0.2), transparent 26%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-trylab aside strong {
    color: var(--olam-gold);
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-trylab aside p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.48;
}

.olam-block[data-olam-block] .olam-trylab__strategies {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.olam-block[data-olam-block] .olam-trylab__strategies span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.13);
    font-size: 0.82rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-trylab main {
    display: grid;
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-trylab main label > span,
.olam-block[data-olam-block] .olam-indicator__response label > span {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--olam-accent);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-trylab__hints {
    display: grid;
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-trylab__hints details,
.olam-block[data-olam-block] .olam-indicator__board aside details {
    overflow: hidden;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 17px;
    background: #fbf7f9;
}

.olam-block[data-olam-block] .olam-trylab__hints summary,
.olam-block[data-olam-block] .olam-indicator__board aside summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem;
    cursor: pointer;
    color: var(--olam-accent-dark);
    font-weight: 900;
    list-style: none;
}

.olam-block[data-olam-block] .olam-trylab__hints summary::-webkit-details-marker,
.olam-block[data-olam-block] .olam-indicator__board aside summary::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block] .olam-trylab__hints p,
.olam-block[data-olam-block] .olam-indicator__board aside p {
    margin: 0;
    padding: 0 0.8rem 0.8rem;
    color: var(--olam-muted);
    line-height: 1.48;
}

/* Documented attempt laboratory. */
.olam-block[data-olam-block].olam-trylab {
    --olam-try-wine-950: #320919;
    --olam-try-wine-900: #3f0d23;
    --olam-try-wine-800: #5b0f2d;
    --olam-try-ruby: var(--olam-accent, #a0174b);
    --olam-try-gold: #d99a2b;
    --olam-try-olive: #77813d;
    --olam-try-cream: #fff8f1;
    --olam-try-rose: #f8e4e7;
    --olam-try-text: #2b1c24;
    --olam-try-muted: #6b5260;
    --olam-try-border: rgba(160, 23, 75, 0.18);
    --olam-try-shadow-soft: 0 16px 42px rgba(63, 13, 35, 0.10);
    --olam-try-shadow-strong: 0 24px 62px rgba(63, 13, 35, 0.18);
    position: relative;
    isolation: isolate;
    display: block;
    max-width: 1360px;
    margin: 1.2rem auto;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-try-text);
    font-family: var(--olam-font, inherit);
}

.olam-block[data-olam-block].olam-trylab button,
.olam-block[data-olam-block].olam-trylab textarea {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-trylab .olam-shell {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-try-cream) 54%, #fbefe6 100%);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: var(--olam-try-shadow-strong);
    padding: clamp(1.15rem, 3vw, 3rem);
}

.olam-block[data-olam-block].olam-trylab .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-try-ruby), var(--olam-try-wine-950));
    z-index: 0;
}

.olam-block[data-olam-block].olam-trylab .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
    min-width: 0;
}

.olam-block[data-olam-block].olam-trylab header {
    display: block;
    margin: 0;
}

.olam-block[data-olam-block].olam-trylab .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-trylab.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-trylab .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-trylab .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-trylab .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-try-rose);
    color: var(--olam-try-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-trylab .olam-kicker-icon,
.olam-block[data-olam-block].olam-trylab .olam-guide-icon,
.olam-block[data-olam-block].olam-trylab .olam-criterion-icon,
.olam-block[data-olam-block].olam-trylab .olam-note-icon,
.olam-block[data-olam-block].olam-trylab .olam-signal-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-trylab .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-try-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-trylab .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-trylab h2 {
    max-width: 900px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-try-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    line-height: 0.95;
    letter-spacing: 0;
}

.olam-block[data-olam-block].olam-trylab .olam-subtitle {
    max-width: 900px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-trylab .olam-top-actions,
.olam-block[data-olam-block].olam-trylab .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-trylab .olam-help-btn,
.olam-block[data-olam-block].olam-trylab .olam-btn {
    border: 0;
    border-radius: 999px;
    font-weight: 850;
    line-height: 1.15;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    cursor: pointer;
    white-space: normal;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-trylab .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-try-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-trylab .olam-help-btn:hover,
.olam-block[data-olam-block].olam-trylab .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-trylab .olam-btn:hover,
.olam-block[data-olam-block].olam-trylab .olam-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
    filter: saturate(1.04);
}

.olam-block[data-olam-block].olam-trylab .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-trylab .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-trylab .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-help-panel.is-open {
    display: block;
    animation: olam-trylab-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-trylab .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-trylab .olam-help-card {
    min-width: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.95rem;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-trylab .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-try-wine-900);
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-trylab .olam-help-card strong .olam-icon {
    color: #b87b14;
}

.olam-block[data-olam-block].olam-trylab .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-trylab .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-try-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-trylab .olam-flow-chip .olam-icon {
    color: var(--olam-try-ruby);
}

.olam-block[data-olam-block].olam-trylab .olam-trylab__layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(1rem, 2.3vw, 1.5rem);
    align-items: stretch;
    margin-top: 1.55rem;
}

.olam-block[data-olam-block].olam-trylab .olam-card,
.olam-block[data-olam-block].olam-trylab aside,
.olam-block[data-olam-block].olam-trylab main {
    min-width: 0;
    border: 1px solid var(--olam-try-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: var(--olam-try-shadow-soft);
    backdrop-filter: blur(10px);
    color: var(--olam-try-text);
}

.olam-block[data-olam-block].olam-trylab .olam-visual-card {
    height: 100%;
    overflow: hidden;
}

.olam-block[data-olam-block].olam-trylab .olam-card-head,
.olam-block[data-olam-block].olam-trylab .olam-attempt-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-card-head {
    padding: 1.15rem 1.15rem 0.9rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-trylab .olam-card-head h3,
.olam-block[data-olam-block].olam-trylab .olam-lab-intro h3,
.olam-block[data-olam-block].olam-trylab .olam-attempt-head h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-try-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-trylab .olam-card-head h3 .olam-icon,
.olam-block[data-olam-block].olam-trylab .olam-lab-intro h3 .olam-icon,
.olam-block[data-olam-block].olam-trylab .olam-attempt-head h4 .olam-icon {
    color: var(--olam-try-ruby);
}

.olam-block[data-olam-block].olam-trylab .olam-card-head p,
.olam-block[data-olam-block].olam-trylab .olam-lab-intro p {
    margin: 0.35rem 0 0;
    color: var(--olam-try-muted);
    font-size: 0.92rem;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-trylab .olam-badge-soft {
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.48rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.olam-block[data-olam-block].olam-trylab .olam-image-frame {
    position: relative;
    overflow: hidden;
    margin: 1.15rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.22), transparent 26%),
        radial-gradient(circle at 18% 84%, rgba(160, 23, 75, 0.12), transparent 28%),
        linear-gradient(135deg, #fff7ef, #fffdf9);
    border: 1px solid rgba(160, 23, 75, 0.13);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 18px 38px rgba(63, 13, 35, 0.08);
    min-height: 300px;
}

.olam-block[data-olam-block].olam-trylab .olam-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-trylab .olam-image-overlay {
    position: absolute;
    inset: auto 16px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    box-shadow: 0 16px 34px rgba(63, 13, 35, 0.13);
    backdrop-filter: blur(8px);
}

.olam-block[data-olam-block].olam-trylab .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
    color: var(--olam-try-ruby);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-trylab .olam-image-overlay p {
    margin: 0;
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-trylab .olam-brief {
    display: grid;
    gap: 0.85rem;
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-trylab .olam-brief-card {
    min-width: 0;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1rem;
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-trylab .olam-brief-card h4 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.45rem;
    color: var(--olam-try-wine-900);
    font-size: 1rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-trylab .olam-brief-card p,
.olam-block[data-olam-block].olam-trylab .olam-panel p {
    margin: 0;
    color: #58434f;
    font-size: 0.93rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-trylab .olam-lab-card {
    height: 100%;
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-trylab .olam-lab-intro {
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 20%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-trylab .olam-criteria,
.olam-block[data-olam-block].olam-trylab .olam-signal {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-criterion {
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    padding: 0.9rem;
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-trylab .olam-criterion-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-try-ruby);
    margin-bottom: 0.55rem;
}

.olam-block[data-olam-block].olam-trylab .olam-criterion strong {
    display: block;
    color: var(--olam-try-wine-900);
    font-size: 0.92rem;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-trylab .olam-criterion span {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-try-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-trylab .olam-strategy-area {
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-strategy-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    color: var(--olam-try-wine-900);
    font-size: 0.98rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-trylab .olam-strategies {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.olam-block[data-olam-block].olam-trylab .olam-strategy {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--olam-try-text);
    padding: 0.62rem 0.78rem;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.15;
    box-shadow: 0 8px 18px rgba(63, 13, 35, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-trylab .olam-strategy:hover,
.olam-block[data-olam-block].olam-trylab .olam-strategy:focus-visible,
.olam-block[data-olam-block].olam-trylab .olam-strategy.is-selected {
    transform: translateY(-2px);
    border-color: rgba(160, 23, 75, 0.38);
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.10);
    outline: none;
}

.olam-block[data-olam-block].olam-trylab .olam-strategy.is-selected {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
    color: var(--olam-try-ruby);
}

.olam-block[data-olam-block].olam-trylab .olam-attempt-box {
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(160, 23, 75, 0.13);
    padding: 1rem;
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-trylab .olam-attempt-head {
    margin-bottom: 0.8rem;
}

.olam-block[data-olam-block].olam-trylab .olam-attempt-head span {
    color: var(--olam-try-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-trylab .olam-textarea {
    width: 100%;
    min-height: 160px;
    resize: vertical;
    border-radius: 18px;
    border: 1px solid rgba(160, 23, 75, 0.20);
    background: rgba(255, 255, 255, 0.78);
    color: var(--olam-try-text);
    padding: 1rem;
    line-height: 1.5;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-trylab .olam-textarea:focus {
    outline: none;
    border-color: rgba(160, 23, 75, 0.48);
    box-shadow: 0 0 0 0.25rem rgba(160, 23, 75, 0.11);
    background: #ffffff;
}

.olam-block[data-olam-block].olam-trylab .olam-signal {
    gap: 0.65rem;
    margin-top: 0.85rem;
    margin-bottom: 0;
}

.olam-block[data-olam-block].olam-trylab .olam-signal-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    border-radius: 16px;
    background: rgba(255, 248, 241, 0.82);
    border: 1px solid rgba(160, 23, 75, 0.10);
    padding: 0.7rem;
    color: #654d59;
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.28;
}

.olam-block[data-olam-block].olam-trylab .olam-signal-item.is-on {
    background: rgba(237, 241, 221, 0.92);
    border-color: rgba(119, 129, 61, 0.28);
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-trylab .olam-signal-icon {
    width: 28px;
    height: 28px;
    border-radius: 11px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-try-ruby);
}

.olam-block[data-olam-block].olam-trylab .olam-signal-item.is-on .olam-signal-icon {
    background: rgba(119, 129, 61, 0.15);
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-trylab .olam-btn {
    min-height: 42px;
    padding: 0.82rem 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-try-wine-900), var(--olam-try-ruby));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-trylab .olam-btn-secondary {
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-try-ruby);
    border: 1px solid rgba(160, 23, 75, 0.14);
}

.olam-block[data-olam-block].olam-trylab .olam-panel {
    display: none;
    margin-top: 1rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 18%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(160, 23, 75, 0.13);
    padding: 1rem;
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
    animation: olam-trylab-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-trylab .olam-panel.is-open {
    display: block;
}

.olam-block[data-olam-block].olam-trylab .olam-panel h4 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.55rem;
    color: var(--olam-try-wine-900);
    font-family: var(--olam-heading-font);
    font-size: 1.08rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-trylab .olam-model {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.olam-block[data-olam-block].olam-trylab .olam-model-line {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    border: 1px solid rgba(217, 154, 43, 0.18);
    padding: 0.85rem;
    color: #4f3944;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-trylab .olam-model-line .olam-icon {
    margin-top: 0.08rem;
    color: #b87b14;
}

.olam-block[data-olam-block].olam-trylab .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    border: 1px solid rgba(160, 23, 75, 0.12);
    padding: 0.9rem;
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-trylab .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-try-gold);
}

.olam-block[data-olam-block].olam-trylab .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-try-ruby);
    font-size: 0.92rem;
    font-weight: 750;
}

.olam-block[data-olam-block].olam-trylab .olam-status[data-state="warn"] {
    color: #9c6811;
}

.olam-block[data-olam-block].olam-trylab .olam-status[data-state="success"] {
    color: var(--olam-try-olive);
}

.olam-block[data-olam-block].olam-trylab h2,
.olam-block[data-olam-block].olam-trylab h3,
.olam-block[data-olam-block].olam-trylab h4,
.olam-block[data-olam-block].olam-trylab p,
.olam-block[data-olam-block].olam-trylab span,
.olam-block[data-olam-block].olam-trylab small,
.olam-block[data-olam-block].olam-trylab strong,
.olam-block[data-olam-block].olam-trylab button {
    overflow-wrap: anywhere;
    word-break: normal;
}

@keyframes olam-trylab-fade-up {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1000px) {
    .olam-block[data-olam-block].olam-trylab .olam-trylab__layout,
    .olam-block[data-olam-block].olam-trylab .olam-help-grid,
    .olam-block[data-olam-block].olam-trylab .olam-criteria,
    .olam-block[data-olam-block].olam-trylab .olam-signal {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-trylab .olam-image-frame {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-trylab .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-trylab .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-trylab h2 {
        font-size: 2.45rem;
    }

    .olam-block[data-olam-block].olam-trylab .olam-card-head,
    .olam-block[data-olam-block].olam-trylab .olam-attempt-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-trylab .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-trylab .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-trylab .olam-actions,
    .olam-block[data-olam-block].olam-trylab .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 21. Guided indicator reading                                       */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-indicator {
    --olam-data-vinho: #3f0d23;
    --olam-data-rubi: var(--olam-accent, #a4154c);
    --olam-data-gold: var(--olam-gold, #c9a227);
    --olam-data-cream: #fff8f1;
    --olam-data-soft: #f8e4e7;
    --olam-data-muted: #6b5260;
    --olam-data-border: rgba(160, 23, 75, 0.18);
    --olam-data-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);

    max-width: 1360px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #2b1c24;
    isolation: isolate;
}

.olam-block[data-olam-block].olam-indicator *,
.olam-block[data-olam-block].olam-indicator *::before,
.olam-block[data-olam-block].olam-indicator *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-indicator button,
.olam-block[data-olam-block].olam-indicator textarea {
    font: inherit;
}

.olam-block[data-olam-block].olam-indicator .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-data-cream) 54%, #fbefe6 100%);
    box-shadow: var(--olam-data-shadow);
    padding: clamp(1.15rem, 3vw, 3rem);
}

.olam-block[data-olam-block].olam-indicator .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-data-rubi), #320919);
}

.olam-block[data-olam-block].olam-indicator .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-indicator header {
    display: block;
    margin: 0 0 1.5rem;
}

.olam-block[data-olam-block].olam-indicator .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-indicator.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-indicator .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-indicator .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-indicator .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-data-soft);
    color: var(--olam-data-rubi);
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-indicator .olam-kicker-icon,
.olam-block[data-olam-block].olam-indicator .olam-guide-icon,
.olam-block[data-olam-block].olam-indicator .olam-metric-icon,
.olam-block[data-olam-block].olam-indicator .olam-lens-icon,
.olam-block[data-olam-block].olam-indicator .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-indicator .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-data-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-indicator h2 {
    max-width: 920px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-data-vinho);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-indicator .olam-subtitle {
    max-width: 920px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-indicator .olam-top-actions,
.olam-block[data-olam-block].olam-indicator .olam-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-indicator .olam-help-btn,
.olam-block[data-olam-block].olam-indicator .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    padding: 0.82rem 1rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    white-space: normal;
}

.olam-block[data-olam-block].olam-indicator .olam-help-btn {
    background: linear-gradient(135deg, #f1b84a, #d99a2b);
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-indicator .olam-help-btn:hover,
.olam-block[data-olam-block].olam-indicator .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-indicator .olam-btn:hover,
.olam-block[data-olam-block].olam-indicator .olam-btn:focus-visible {
    outline: none;
    filter: saturate(1.04);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-indicator .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-indicator .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-indicator .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-help-panel.is-open {
    display: block;
    animation: olam-indicator-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-indicator .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-indicator .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-indicator .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-data-vinho);
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-indicator .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-indicator .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
    color: #5b0f2d;
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
}

.olam-block[data-olam-block].olam-indicator .olam-datareading__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.24fr) minmax(320px, 0.76fr);
    gap: 1.5rem;
    align-items: stretch;
}

.olam-block[data-olam-block].olam-indicator .olam-card {
    min-width: 0;
    border: 1px solid var(--olam-data-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-indicator .olam-dashboard-card,
.olam-block[data-olam-block].olam-indicator .olam-reading-card {
    height: 100%;
}

.olam-block[data-olam-block].olam-indicator .olam-dashboard-card {
    overflow: hidden;
}

.olam-block[data-olam-block].olam-indicator .olam-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1.15rem 1.15rem 0.9rem;
}

.olam-block[data-olam-block].olam-indicator .olam-card-head h3,
.olam-block[data-olam-block].olam-indicator .olam-reading-intro h3,
.olam-block[data-olam-block].olam-indicator .olam-response h4,
.olam-block[data-olam-block].olam-indicator .olam-panel h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-data-vinho);
    font-family: var(--olam-heading-font);
    font-size: 1.14rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-indicator .olam-card-head p,
.olam-block[data-olam-block].olam-indicator .olam-reading-intro p {
    margin: 0.35rem 0 0;
    color: var(--olam-data-muted);
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-indicator .olam-badge-soft {
    flex: 0 0 auto;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    padding: 0.48rem 0.75rem;
    text-align: center;
}

.olam-block[data-olam-block].olam-indicator .olam-dashboard {
    min-width: 0;
    margin: 1.15rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 12%, rgba(217, 154, 43, 0.16), transparent 24%),
        rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.60), 0 18px 38px rgba(63, 13, 35, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-metric {
    display: block;
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.06);
    color: inherit;
    cursor: pointer;
    padding: 0.9rem;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.olam-block[data-olam-block].olam-indicator .olam-metric:hover,
.olam-block[data-olam-block].olam-indicator .olam-metric:focus-visible,
.olam-block[data-olam-block].olam-indicator .olam-metric.is-active {
    outline: none;
    border-color: rgba(160, 23, 75, 0.38);
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.12);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-indicator .olam-metric-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.45rem;
}

.olam-block[data-olam-block].olam-indicator .olam-metric-icon {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-data-rubi);
}

.olam-block[data-olam-block].olam-indicator .olam-metric strong {
    display: block;
    color: var(--olam-data-vinho);
    font-family: var(--olam-heading-font);
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
}

.olam-block[data-olam-block].olam-indicator .olam-metric > span {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-data-muted);
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-indicator .olam-trend {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.32rem 0.5rem;
}

.olam-block[data-olam-block].olam-indicator .olam-trend.is-good {
    background: rgba(119, 129, 61, 0.14);
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-indicator .olam-trend.is-alert {
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-data-rubi);
}

.olam-block[data-olam-block].olam-indicator .olam-chart-area {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 24px;
    background: rgba(255, 248, 241, 0.76);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-head h4 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--olam-data-vinho);
    font-family: var(--olam-heading-font);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-head p {
    margin: 0.25rem 0 0;
    color: var(--olam-data-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-svg {
    display: block;
    width: 100%;
    min-height: 270px;
    border: 1px solid rgba(160, 23, 75, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.34));
}

.olam-block[data-olam-block].olam-indicator .olam-chart-line,
.olam-block[data-olam-block].olam-indicator .olam-chart-line-secondary {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-line {
    filter: drop-shadow(0 10px 10px rgba(143, 0, 61, 0.12));
    stroke: var(--olam-data-rubi);
    stroke-width: 6;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-line-secondary {
    opacity: 0.82;
    stroke: #d99a2b;
    stroke-width: 5;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-dot {
    fill: #ffffff;
    stroke: var(--olam-data-rubi);
    stroke-width: 5;
    cursor: pointer;
    transition: r 0.2s ease, fill 0.2s ease;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-dot:hover,
.olam-block[data-olam-block].olam-indicator .olam-chart-dot:focus-visible,
.olam-block[data-olam-block].olam-indicator .olam-chart-dot.is-active {
    fill: var(--olam-data-rubi);
    outline: none;
    r: 10;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-label {
    fill: #6b5260;
    font: 700 16px system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-annotation {
    position: absolute;
    top: 136px;
    left: 92px;
    display: none;
    max-width: 260px;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 34px rgba(63, 13, 35, 0.14);
    padding: 0.9rem;
    animation: olam-indicator-fade-up 0.2s ease both;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-annotation.is-open {
    display: block;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-annotation strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-data-rubi);
    font-size: 0.92rem;
}

.olam-block[data-olam-block].olam-indicator .olam-chart-annotation p {
    margin: 0;
    color: #57404b;
    font-size: 0.86rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-indicator .olam-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.75rem;
}

.olam-block[data-olam-block].olam-indicator .olam-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid rgba(160, 23, 75, 0.10);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.70);
    color: #5c4551;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.42rem 0.65rem;
}

.olam-block[data-olam-block].olam-indicator .olam-legend i {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: var(--olam-data-rubi);
}

.olam-block[data-olam-block].olam-indicator .olam-legend span:nth-child(2) i {
    background: #d99a2b;
}

.olam-block[data-olam-block].olam-indicator .olam-guide {
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-indicator .olam-guide-box {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-guide-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(217, 154, 43, 0.16);
    color: #b87b14;
}

.olam-block[data-olam-block].olam-indicator .olam-guide-box strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-data-vinho);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-indicator .olam-guide-box p {
    margin: 0;
    color: #58434f;
    font-size: 0.93rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-indicator .olam-reading-card {
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-indicator .olam-reading-intro,
.olam-block[data-olam-block].olam-indicator .olam-response,
.olam-block[data-olam-block].olam-indicator .olam-panel,
.olam-block[data-olam-block].olam-indicator .olam-note {
    border: 1px solid rgba(160, 23, 75, 0.13);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-reading-intro {
    margin-bottom: 1rem;
    background:
        radial-gradient(circle at 92% 20%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.66);
}

.olam-block[data-olam-block].olam-indicator .olam-lens-list {
    display: grid;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-indicator .olam-lens {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(160, 23, 75, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.06);
    color: inherit;
    cursor: pointer;
    padding: 0.9rem;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-indicator .olam-lens:hover,
.olam-block[data-olam-block].olam-indicator .olam-lens:focus-visible,
.olam-block[data-olam-block].olam-indicator .olam-lens.is-active {
    outline: none;
    border-color: rgba(160, 23, 75, 0.34);
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.12);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-indicator .olam-lens.is-active {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
}

.olam-block[data-olam-block].olam-indicator .olam-lens-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-data-rubi);
}

.olam-block[data-olam-block].olam-indicator .olam-lens strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-data-vinho);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-indicator .olam-lens span span {
    display: block;
    color: var(--olam-data-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-indicator .olam-response h4 {
    margin-bottom: 0.65rem;
}

.olam-block[data-olam-block].olam-indicator .olam-textarea {
    width: 100%;
    min-height: 138px;
    resize: vertical;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.70);
    color: #2b1c24;
    font-size: 0.95rem;
    line-height: 1.5;
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-indicator .olam-textarea:focus {
    outline: 3px solid rgba(160, 23, 75, 0.18);
    outline-offset: 2px;
    border-color: rgba(160, 23, 75, 0.34);
}

.olam-block[data-olam-block].olam-indicator .olam-btn-primary {
    background: linear-gradient(135deg, #5b0f2d, #c9185f);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-indicator .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-data-rubi);
}

.olam-block[data-olam-block].olam-indicator .olam-panel {
    display: none;
    margin-top: 1rem;
    background:
        radial-gradient(circle at 92% 18%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.76);
    animation: olam-indicator-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-indicator .olam-panel.is-open {
    display: block;
}

.olam-block[data-olam-block].olam-indicator .olam-panel h4 {
    margin-bottom: 0.55rem;
}

.olam-block[data-olam-block].olam-indicator .olam-panel p {
    margin: 0;
    color: #4b3641;
    font-size: 0.94rem;
    line-height: 1.52;
}

.olam-block[data-olam-block].olam-indicator .olam-insight-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.olam-block[data-olam-block].olam-indicator .olam-insight {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #4f3944;
    font-size: 0.92rem;
    line-height: 1.45;
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-indicator .olam-insight .olam-icon {
    flex: 0 0 auto;
    margin-top: 0.08rem;
    color: #b87b14;
}

.olam-block[data-olam-block].olam-indicator .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1rem;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-indicator .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: #d99a2b;
}

.olam-block[data-olam-block].olam-indicator .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-data-rubi);
    font-size: 0.92rem;
    font-weight: 700;
}

.olam-block[data-olam-block].olam-indicator h2,
.olam-block[data-olam-block].olam-indicator h3,
.olam-block[data-olam-block].olam-indicator h4,
.olam-block[data-olam-block].olam-indicator p,
.olam-block[data-olam-block].olam-indicator span,
.olam-block[data-olam-block].olam-indicator small,
.olam-block[data-olam-block].olam-indicator strong,
.olam-block[data-olam-block].olam-indicator button {
    overflow-wrap: anywhere;
    word-break: normal;
}

@keyframes olam-indicator-fade-up {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .olam-block[data-olam-block].olam-indicator .olam-datareading__grid,
    .olam-block[data-olam-block].olam-indicator .olam-help-grid,
    .olam-block[data-olam-block].olam-indicator .olam-metrics {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-indicator .olam-chart-annotation {
        position: static;
        max-width: none;
        margin-top: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .olam-block[data-olam-block].olam-indicator .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-indicator .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-indicator .olam-card-head,
    .olam-block[data-olam-block].olam-indicator .olam-chart-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-indicator .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-indicator .olam-actions,
    .olam-block[data-olam-block].olam-indicator .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 22. Story case                                                     */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-story {
    display: grid;
    grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
    overflow: hidden;
    border-radius: calc(var(--olam-radius) + 10px);
    background: #ffffff;
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-story aside {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 480px;
    padding: clamp(1.25rem, 4vw, 2rem);
    background:
        radial-gradient(circle at 78% 12%, rgba(201, 162, 39, 0.25), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-story aside > span {
    background: rgba(252, 227, 236, 0.14);
    color: #f6d9e5;
}

.olam-block[data-olam-block].olam-story aside h3 {
    color: #ffffff;
    font-size: clamp(2.1rem, 5vw, 4rem);
}

.olam-block[data-olam-block].olam-story aside p {
    color: rgba(255, 255, 255, 0.78);
}

.olam-block[data-olam-block] .olam-story__decision {
    margin-top: auto;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
}

.olam-block[data-olam-block] .olam-story__decision strong {
    color: var(--olam-gold);
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-story main {
    position: relative;
    display: grid;
    gap: 0.9rem;
    padding: clamp(1rem, 3vw, 1.4rem);
    background: linear-gradient(135deg, #ffffff, #fbf7f9);
}

.olam-block[data-olam-block] .olam-story__nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-story__nav label {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    padding: 0.7rem 0.5rem;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 17px;
    background: #ffffff;
    cursor: pointer;
    color: var(--olam-accent);
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-story__nav label span {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 1.5rem;
    line-height: 1;
}

.olam-block[data-olam-block] .olam-story__chapters {
    position: relative;
    min-height: 300px;
    overflow: hidden;
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 10%, rgba(201, 162, 39, 0.18), transparent 25%),
        #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-story__chapter {
    display: none;
    min-height: 300px;
    padding: clamp(1.2rem, 4vw, 2rem);
    animation: olam-fade-up 0.35s ease both;
}

.olam-block[data-olam-block] .olam-story__chapter > span {
    display: inline-flex;
    margin-bottom: 0.8rem;
    padding: 0.4rem 0.72rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-story__chapter h4 {
    margin: 0 0 0.7rem;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.7rem, 4vw, 2.7rem);
}

.olam-block[data-olam-block] .olam-story__chapter p {
    max-width: 760px;
    margin: 0;
    color: var(--olam-muted);
    font-size: 1.05rem;
    line-height: 1.62;
}

.olam-block[data-olam-block] .olam-story__radio:nth-of-type(1):checked ~ .olam-story__nav label:nth-child(1),
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(2):checked ~ .olam-story__nav label:nth-child(2),
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(3):checked ~ .olam-story__nav label:nth-child(3),
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(4):checked ~ .olam-story__nav label:nth-child(4),
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(5):checked ~ .olam-story__nav label:nth-child(5),
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(6):checked ~ .olam-story__nav label:nth-child(6) {
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-story__radio:nth-of-type(1):checked ~ .olam-story__nav label:nth-child(1) *,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(2):checked ~ .olam-story__nav label:nth-child(2) *,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(3):checked ~ .olam-story__nav label:nth-child(3) *,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(4):checked ~ .olam-story__nav label:nth-child(4) *,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(5):checked ~ .olam-story__nav label:nth-child(5) *,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(6):checked ~ .olam-story__nav label:nth-child(6) * {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-story__radio:nth-of-type(1):checked ~ .olam-story__chapters .olam-story__chapter--1,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(2):checked ~ .olam-story__chapters .olam-story__chapter--2,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(3):checked ~ .olam-story__chapters .olam-story__chapter--3,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(4):checked ~ .olam-story__chapters .olam-story__chapter--4,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(5):checked ~ .olam-story__chapters .olam-story__chapter--5,
.olam-block[data-olam-block] .olam-story__radio:nth-of-type(6):checked ~ .olam-story__chapters .olam-story__chapter--6 {
    display: block;
}

.olam-block[data-olam-block] .olam-story__concept {
    display: flex;
    gap: 0.6rem;
    margin: 0;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.08rem;
    line-height: 1.38;
}

/* Story learning: documented narrative version. */
.olam-block[data-olam-block].olam-story-learning.olam-story {
    --olam-story-wine-950: #320919;
    --olam-story-wine-900: #3f0d23;
    --olam-story-wine-800: #5b0f2d;
    --olam-story-ruby: #a0174b;
    --olam-story-gold: #d99a2b;
    --olam-story-gold-dark: #b87b14;
    --olam-story-green: #5d6f2f;
    --olam-story-cream: #fff8f1;
    --olam-story-rose: #f8e4e7;
    --olam-story-border: rgba(160, 23, 75, 0.16);
    --olam-story-muted: #6b5260;
    display: block;
    max-width: 1360px;
    margin: 1.5rem auto;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-ink);
}

.olam-block[data-olam-block].olam-story-learning button {
    font-family: inherit;
}

.olam-block[data-olam-block].olam-story-learning .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        linear-gradient(90deg, rgba(160, 23, 75, 0.06), transparent 18%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-story-cream) 56%, #fbefe6 100%);
    box-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);
    padding: clamp(1.15rem, 3vw, 3rem);
}

.olam-block[data-olam-block].olam-story-learning .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(18px, 3vw, 38px);
    background:
        repeating-linear-gradient(180deg, rgba(212, 175, 55, 0.5) 0 3px, transparent 3px 12px),
        linear-gradient(180deg, var(--olam-story-ruby), var(--olam-story-wine-950));
}

.olam-block[data-olam-block].olam-story-learning .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-story-learning .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-story-learning.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-story-learning .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-story-learning .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-story-learning .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    border: 1px solid var(--olam-story-border);
    border-radius: 999px;
    background: var(--olam-story-rose);
    color: var(--olam-story-ruby);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-story-learning .olam-kicker-icon,
.olam-block[data-olam-block].olam-story-learning .olam-choice-icon,
.olam-block[data-olam-block].olam-story-learning .olam-concept-icon,
.olam-block[data-olam-block].olam-story-learning .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-story-learning .olam-kicker-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--olam-story-ruby);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-story-learning .olam-kicker-icon .olam-icon {
    width: 16px;
    height: 16px;
}

.olam-block[data-olam-block].olam-story-learning h2 {
    max-width: 920px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-story-wine-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-story-learning .olam-subtitle {
    max-width: 940px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-story-learning .olam-top-actions,
.olam-block[data-olam-block].olam-story-learning .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-btn,
.olam-block[data-olam-block].olam-story-learning .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 0;
    border: 0;
    border-radius: 999px;
    font-weight: 850;
    line-height: 1.15;
    white-space: normal;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-btn {
    padding: 0.82rem 1rem;
    background: linear-gradient(135deg, #f1b84a, var(--olam-story-gold));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-story-learning .olam-help-btn:hover,
.olam-block[data-olam-block].olam-story-learning .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-story-learning .olam-btn:hover,
.olam-block[data-olam-block].olam-story-learning .olam-btn:focus-visible,
.olam-block[data-olam-block].olam-story-learning .olam-choice:hover,
.olam-block[data-olam-block].olam-story-learning .olam-choice:focus-visible {
    transform: translateY(-2px);
    outline: none;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-story-learning .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-story-wine-900);
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-story-learning .olam-help-card strong .olam-icon {
    color: var(--olam-story-gold-dark);
}

.olam-block[data-olam-block].olam-story-learning .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-story-learning .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-story-wine-800);
    font-size: 0.9rem;
    font-weight: 750;
    overflow-wrap: anywhere;
    padding: 0.55rem 0.78rem;
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
}

.olam-block[data-olam-block].olam-story-learning .olam-flow-chip .olam-icon {
    color: var(--olam-story-ruby);
}

.olam-block[data-olam-block].olam-story-learning .olam-story-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: 1rem;
    align-items: stretch;
    margin-top: 1.5rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-card {
    min-width: 0;
    border: 1px solid var(--olam-story-border);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
}

.olam-block[data-olam-block].olam-story-learning .olam-story-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.72);
}

.olam-block[data-olam-block].olam-story-learning .olam-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-card-head h3,
.olam-block[data-olam-block].olam-story-learning .olam-chapter-head h3,
.olam-block[data-olam-block].olam-story-learning .olam-decision h4,
.olam-block[data-olam-block].olam-story-learning .olam-consequence h4,
.olam-block[data-olam-block].olam-story-learning .olam-concept-head h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--olam-story-wine-900);
    font-family: var(--olam-heading-font);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
}

.olam-block[data-olam-block].olam-story-learning .olam-card-head h3 {
    font-size: clamp(1.3rem, 2.3vw, 1.9rem);
}

.olam-block[data-olam-block].olam-story-learning .olam-chapter-head h3 {
    display: block;
    margin-top: 0.75rem;
    font-size: clamp(1.55rem, 3vw, 2.45rem);
}

.olam-block[data-olam-block].olam-story-learning .olam-card-head p,
.olam-block[data-olam-block].olam-story-learning .olam-chapter-head p,
.olam-block[data-olam-block].olam-story-learning .olam-story-text p,
.olam-block[data-olam-block].olam-story-learning .olam-decision p,
.olam-block[data-olam-block].olam-story-learning .olam-consequence p,
.olam-block[data-olam-block].olam-story-learning .olam-concept-head p,
.olam-block[data-olam-block].olam-story-learning .olam-note,
.olam-block[data-olam-block].olam-story-learning .olam-status {
    color: var(--olam-story-muted);
    line-height: 1.5;
}

.olam-block[data-olam-block].olam-story-learning .olam-card-head p,
.olam-block[data-olam-block].olam-story-learning .olam-chapter-head p,
.olam-block[data-olam-block].olam-story-learning .olam-concept-head p {
    margin: 0.45rem 0 0;
}

.olam-block[data-olam-block].olam-story-learning .olam-badge-soft {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.08);
    color: var(--olam-story-ruby);
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.42rem 0.7rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-scene {
    position: relative;
    min-height: 350px;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #f8efe7;
    box-shadow: 0 16px 34px rgba(63, 13, 35, 0.09);
}

.olam-block[data-olam-block].olam-story-learning .olam-scene img {
    display: block;
    width: 100%;
    min-height: 350px;
    height: 100%;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-story-learning .olam-scene-caption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 20px;
    background: rgba(63, 13, 35, 0.78);
    color: #ffffff;
    padding: 0.95rem;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.16);
}

.olam-block[data-olam-block].olam-story-learning .olam-scene-caption strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #ffe7b5;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-story-learning .olam-scene-caption p {
    margin: 0.45rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-story-learning .olam-story-progress {
    margin-top: auto;
}

.olam-block[data-olam-block].olam-story-learning .olam-progress-box {
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
    color: var(--olam-story-wine-800);
    font-size: 0.86rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-story-learning .olam-progress {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.10);
}

.olam-block[data-olam-block].olam-story-learning .olam-progress-bar {
    height: 100%;
    width: 25%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-story-ruby), var(--olam-story-gold));
    transition: width 0.28s ease;
}

.olam-block[data-olam-block].olam-story-learning .olam-story-panel {
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.olam-block[data-olam-block].olam-story-learning .olam-chapter {
    display: none;
    min-height: 260px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 248, 241, 0.82));
    padding: clamp(1rem, 2.4vw, 1.35rem);
    box-shadow: inset 0 0 0 1px rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-story-learning .olam-chapter.is-active {
    display: block;
    animation: olam-fade-up 0.28s ease both;
}

.olam-block[data-olam-block].olam-story-learning .olam-chapter-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    border-radius: 999px;
    background: var(--olam-story-rose);
    color: var(--olam-story-ruby);
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.42rem 0.72rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-story-text {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-story-text p {
    margin: 0;
    font-size: 1.02rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-decision,
.olam-block[data-olam-block].olam-story-learning .olam-consequence,
.olam-block[data-olam-block].olam-story-learning .olam-concept-bridge {
    display: none;
    margin-top: 1rem;
    border-radius: 24px;
    padding: 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-decision.is-open,
.olam-block[data-olam-block].olam-story-learning .olam-consequence.is-open,
.olam-block[data-olam-block].olam-story-learning .olam-concept-bridge.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-story-learning .olam-decision {
    border: 1px solid rgba(217, 154, 43, 0.26);
    background: linear-gradient(135deg, #fffaf0, #fff4df);
}

.olam-block[data-olam-block].olam-story-learning .olam-choices {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.9rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-choice {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.8rem;
    width: 100%;
    border: 1px solid rgba(160, 23, 75, 0.13);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--olam-story-wine-800);
    cursor: pointer;
    padding: 0.85rem;
    text-align: left;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-story-learning .olam-choice.is-selected {
    border-color: rgba(217, 154, 43, 0.72);
    background: #fffdf8;
    box-shadow: 0 12px 26px rgba(217, 154, 43, 0.16);
}

.olam-block[data-olam-block].olam-story-learning .olam-choice-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-story-ruby);
}

.olam-block[data-olam-block].olam-story-learning .olam-choice.is-selected .olam-choice-icon {
    background: linear-gradient(135deg, #f4c75e, var(--olam-story-gold));
    color: var(--olam-story-wine-900);
}

.olam-block[data-olam-block].olam-story-learning .olam-choice strong,
.olam-block[data-olam-block].olam-story-learning .olam-choice span span {
    display: block;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-story-learning .olam-choice strong {
    color: var(--olam-story-wine-900);
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-story-learning .olam-choice span span {
    margin-top: 0.22rem;
    color: var(--olam-story-muted);
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-story-learning .olam-consequence {
    border: 1px solid rgba(160, 23, 75, 0.13);
    background: rgba(255, 248, 241, 0.76);
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-bridge {
    border: 1px solid rgba(119, 129, 61, 0.18);
    background: rgba(237, 241, 221, 0.72);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-head {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-icon {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--olam-story-green), #77813d);
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(93, 111, 47, 0.18);
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-icon .olam-icon {
    width: 28px;
    height: 28px;
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-list {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    border: 1px solid rgba(119, 129, 61, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    color: #4f3944;
    font-size: 0.9rem;
    line-height: 1.42;
    padding: 0.75rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-concept-item .olam-icon {
    color: var(--olam-story-green);
    margin-top: 0.08rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-btn {
    min-height: 46px;
    padding: 0.76rem 1rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-story-wine-900), var(--olam-story-ruby));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-story-learning .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: #ffffff;
    color: var(--olam-story-wine-800);
}

.olam-block[data-olam-block].olam-story-learning .olam-note {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.7rem;
    margin-top: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    font-size: 0.92rem;
    padding: 0.9rem;
}

.olam-block[data-olam-block].olam-story-learning .olam-note-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-story-gold-dark);
}

.olam-block[data-olam-block].olam-story-learning .olam-status {
    min-height: 1.5rem;
    margin-top: 0.75rem;
    color: var(--olam-story-ruby);
    font-size: 0.92rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-story-learning .olam-status[data-state="success"] {
    color: var(--olam-story-green);
}

.olam-block[data-olam-block].olam-story-learning .olam-status[data-state="warn"] {
    color: #9b5b00;
}

.olam-block[data-olam-block].olam-story-learning .olam-status[data-state="error"] {
    color: #8f1234;
}

.olam-block[data-olam-block].olam-story-learning h3,
.olam-block[data-olam-block].olam-story-learning h4,
.olam-block[data-olam-block].olam-story-learning p,
.olam-block[data-olam-block].olam-story-learning span,
.olam-block[data-olam-block].olam-story-learning strong,
.olam-block[data-olam-block].olam-story-learning button {
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 1040px) {
    .olam-block[data-olam-block].olam-story-learning .olam-story-layout,
    .olam-block[data-olam-block].olam-story-learning .olam-help-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-story-learning .olam-scene,
    .olam-block[data-olam-block].olam-story-learning .olam-scene img {
        min-height: 320px;
    }
}

@media (max-width: 680px) {
    .olam-block[data-olam-block].olam-story-learning .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-story-learning .olam-content {
        padding-left: 0.7rem;
    }

    .olam-block[data-olam-block].olam-story-learning h2 {
        font-size: 2.2rem;
    }

    .olam-block[data-olam-block].olam-story-learning .olam-card-head,
    .olam-block[data-olam-block].olam-story-learning .olam-progress-top,
    .olam-block[data-olam-block].olam-story-learning .olam-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-story-learning .olam-choice,
    .olam-block[data-olam-block].olam-story-learning .olam-concept-head,
    .olam-block[data-olam-block].olam-story-learning .olam-note {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-story-learning .olam-actions .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 23-26. Runtime-powered interactive blocks                          */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-puzzle,
.olam-block[data-olam-block].olam-dialogue {
    overflow: hidden;
    padding: clamp(1rem, 3vw, 1.45rem);
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 92% 8%, rgba(201, 162, 39, 0.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-puzzle > header,
.olam-block[data-olam-block].olam-dialogue > header {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-puzzle > header > span,
.olam-block[data-olam-block].olam-dialogue > header > span,
.olam-block[data-olam-block].olam-path aside > span,
.olam-block[data-olam-block] .olam-pause__panel > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-puzzle > header h3,
.olam-block[data-olam-block].olam-dialogue > header h3,
.olam-block[data-olam-block].olam-path aside h3,
.olam-block[data-olam-block] .olam-pause__scene h3 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: 0;
    line-height: 1;
}

.olam-block[data-olam-block].olam-puzzle > header p,
.olam-block[data-olam-block].olam-dialogue > header p,
.olam-block[data-olam-block].olam-path aside p,
.olam-block[data-olam-block] .olam-pause__scene p {
    max-width: 840px;
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.55;
}

.olam-block[data-olam-block] .olam-runtime-status {
    margin: 0.8rem 0 0;
    padding: 0.9rem 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: #ffffff;
    color: var(--olam-accent-dark);
    font-weight: 800;
    box-shadow: 0 14px 32px -30px rgba(58, 15, 34, 0.48);
}

.olam-block[data-olam-block] .olam-runtime-status[data-state="success"] {
    border-left-color: #77813d;
    background: rgba(119, 129, 61, 0.12);
}

.olam-block[data-olam-block] .olam-runtime-status[data-state="error"] {
    border-left-color: #d64045;
    background: rgba(214, 64, 69, 0.1);
}

.olam-block[data-olam-block] .olam-runtime-status[data-state="warn"] {
    background: var(--olam-gold-soft);
}

/* 23. Concept puzzle */
.olam-block[data-olam-block] .olam-puzzle__body {
    display: grid;
    grid-template-columns: minmax(250px, 0.85fr) minmax(0, 1.15fr);
    gap: 0.9rem;
}

.olam-block[data-olam-block] .olam-puzzle__body > aside,
.olam-block[data-olam-block] .olam-puzzle__body > main {
    padding: 1rem;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
}

.olam-block[data-olam-block] .olam-puzzle__body > aside {
    background:
        radial-gradient(circle at 82% 10%, rgba(201, 162, 39, 0.24), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-puzzle__body > aside > strong {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--olam-gold);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-puzzle__bank {
    display: grid;
    gap: 0.6rem;
}

.olam-block[data-olam-block] .olam-piece {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 0.18rem 0.65rem;
    width: 100%;
    padding: 0.78rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    cursor: grab;
    font: inherit;
    text-align: left;
}

.olam-block[data-olam-block] .olam-piece:active {
    cursor: grabbing;
}

.olam-block[data-olam-block] .olam-piece > .olam-icon {
    grid-row: span 2;
    align-self: start;
    color: var(--olam-gold);
}

.olam-block[data-olam-block] .olam-piece span {
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-piece strong {
    font-size: 0.9rem;
    line-height: 1.32;
}

.olam-block[data-olam-block] .olam-piece.is-selected {
    outline: 3px solid rgba(201, 162, 39, 0.45);
}

.olam-block[data-olam-block] .olam-piece.is-placed {
    background: #ffffff;
    color: var(--olam-accent-dark);
    box-shadow: 0 12px 26px -22px rgba(58, 15, 34, 0.5);
}

.olam-block[data-olam-block] .olam-puzzle__body > main {
    display: grid;
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-puzzle__lane {
    display: grid;
    gap: 0.65rem;
    padding: 0.85rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(252, 227, 236, 0.65), rgba(255, 255, 255, 0.94));
}

.olam-block[data-olam-block] .olam-puzzle__lane header {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 0.65rem;
}

.olam-block[data-olam-block] .olam-puzzle__lane header > .olam-icon {
    height: 42px;
    width: 42px;
    padding: 0.65rem;
    border-radius: 15px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-puzzle__lane h4,
.olam-block[data-olam-block] .olam-path__panel h4,
.olam-block[data-olam-block].olam-dialogue aside h4,
.olam-block[data-olam-block] .olam-dialogue__feedback h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
}

.olam-block[data-olam-block] .olam-puzzle__lane p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.42;
}

.olam-block[data-olam-block] .olam-puzzle__slots {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.olam-block[data-olam-block] .olam-slot {
    display: grid;
    min-height: 104px;
    align-items: center;
    padding: 0.65rem;
    border: 2px dashed rgba(164, 21, 76, 0.2);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-muted);
}

.olam-block[data-olam-block] .olam-slot > span {
    justify-self: center;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-slot.is-correct {
    border-color: #77813d;
    background: rgba(119, 129, 61, 0.12);
}

.olam-block[data-olam-block] .olam-slot.is-wrong {
    border-color: #d64045;
    background: rgba(214, 64, 69, 0.1);
}

.olam-block[data-olam-block] .olam-puzzle__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.85rem;
}

.olam-block[data-olam-block] .olam-puzzle__actions button,
.olam-block[data-olam-block] .olam-pause__actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.65rem 0.95rem;
    border: 0;
    border-radius: 999px;
    background: var(--olam-accent);
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-puzzle__actions button:nth-child(n+2),
.olam-block[data-olam-block] .olam-pause__actions button:nth-child(n+2) {
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-pause__actions button.is-active {
    background: var(--olam-gold);
    color: var(--olam-accent-dark);
}

/* 23. Concept puzzle - documented Olam structure */
.olam-block[data-olam-block].olam-puzzle {
    --olam-puzzle-vinho-950: #320919;
    --olam-puzzle-vinho-900: #3f0d23;
    --olam-puzzle-vinho-800: #5b0f2d;
    --olam-puzzle-rubi: var(--olam-accent, #a0174b);
    --olam-puzzle-ambar: #d99a2b;
    --olam-puzzle-ambar-dark: #b87b14;
    --olam-puzzle-creme: #fff8f1;
    --olam-puzzle-rosa: #f8e4e7;
    --olam-puzzle-verde: #77813d;
    --olam-puzzle-text: #2b1c24;
    --olam-puzzle-muted: #6b5260;
    --olam-puzzle-border: rgba(160, 23, 75, 0.18);
    --olam-puzzle-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);
    position: relative;
    overflow: visible;
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-puzzle-text);
    font-family: var(--olam-font, inherit);
    isolation: isolate;
}

.olam-block[data-olam-block].olam-puzzle *,
.olam-block[data-olam-block].olam-puzzle *::before,
.olam-block[data-olam-block].olam-puzzle *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-puzzle .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 10% 88%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-puzzle-creme) 54%, #fbefe6 100%);
    box-shadow: var(--olam-puzzle-shadow);
    padding: clamp(1.15rem, 3vw, 2.45rem);
}

.olam-block[data-olam-block].olam-puzzle .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-puzzle-rubi), var(--olam-puzzle-vinho-950));
}

.olam-block[data-olam-block].olam-puzzle .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-puzzle .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-puzzle.is-visible .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-puzzle .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-puzzle .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-puzzle-rosa);
    color: var(--olam-puzzle-rubi);
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-puzzle .olam-kicker-icon,
.olam-block[data-olam-block].olam-puzzle .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-puzzle .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-puzzle-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-puzzle .olam-kicker-icon .olam-icon {
    width: 17px;
    height: 17px;
}

.olam-block[data-olam-block].olam-puzzle h3 {
    max-width: 820px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-puzzle-vinho-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.95;
}

.olam-block[data-olam-block].olam-puzzle .olam-subtitle {
    max-width: 800px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-puzzle .olam-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.82rem 1rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #f1b84a, var(--olam-puzzle-ambar));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-btn:hover,
.olam-block[data-olam-block].olam-puzzle .olam-help-btn:focus-visible {
    outline: none;
    transform: translateY(-2px);
    filter: saturate(1.04);
    box-shadow: 0 18px 32px rgba(217, 154, 43, 0.34);
}

.olam-block[data-olam-block].olam-puzzle .olam-help-btn .olam-help-chevron {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-btn[aria-expanded="true"] .olam-help-chevron {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-puzzle .olam-help-panel {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
}

.olam-block[data-olam-block].olam-puzzle .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-card {
    padding: 0.95rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-puzzle .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.45rem;
    color: var(--olam-puzzle-vinho-900);
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-puzzle .olam-help-card strong .olam-icon {
    color: var(--olam-puzzle-ambar-dark);
}

.olam-block[data-olam-block].olam-puzzle .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-puzzle .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.78rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-puzzle-vinho-800);
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
    font-size: 0.9rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-puzzle .olam-flow-chip .olam-icon {
    color: var(--olam-puzzle-rubi);
}

.olam-block[data-olam-block].olam-puzzle .olam-puzzle__layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: 1.2rem;
    align-items: stretch;
    margin-top: 1.35rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-card {
    height: 100%;
    padding: 1.15rem;
    border: 1px solid var(--olam-puzzle-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-puzzle .olam-card-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-card-title h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-puzzle-vinho-900);
    font-family: inherit;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-puzzle .olam-card-title h4 .olam-icon {
    color: var(--olam-puzzle-rubi);
}

.olam-block[data-olam-block].olam-puzzle .olam-card-title p {
    margin: 0.35rem 0 0;
    color: var(--olam-puzzle-muted);
    font-size: 0.92rem;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-puzzle .olam-badge-soft {
    flex: 0 0 auto;
    padding: 0.48rem 0.75rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece-list {
    display: grid;
    gap: 0.78rem;
    min-height: 250px;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    padding: 0.85rem;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--olam-puzzle-text);
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.07);
    cursor: grab;
    font: inherit;
    text-align: left;
    user-select: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece:active {
    cursor: grabbing;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece:hover,
.olam-block[data-olam-block].olam-puzzle .olam-piece:focus-visible,
.olam-block[data-olam-block].olam-puzzle .olam-piece.is-selected {
    outline: none;
    transform: translateY(-3px);
    border-color: rgba(160, 23, 75, 0.42);
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
    box-shadow: 0 18px 32px rgba(63, 13, 35, 0.13);
}

.olam-block[data-olam-block].olam-puzzle .olam-piece.is-dragging {
    opacity: 0.58;
    transform: scale(0.98);
}

.olam-block[data-olam-block].olam-puzzle .olam-piece-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-puzzle-rubi);
}

.olam-block[data-olam-block].olam-puzzle .olam-piece-icon .olam-icon {
    width: 24px;
    height: 24px;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece[data-type="aplicacao"] .olam-piece-icon {
    background: rgba(119, 129, 61, 0.14);
    color: var(--olam-puzzle-verde);
}

.olam-block[data-olam-block].olam-puzzle .olam-piece-body {
    flex: 1 1 auto;
    min-width: 0;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece span {
    letter-spacing: 0;
    text-transform: none;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece .olam-piece-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.3rem;
    color: var(--olam-puzzle-rubi);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece[data-type="aplicacao"] .olam-piece-label {
    color: var(--olam-puzzle-verde);
}

.olam-block[data-olam-block].olam-puzzle .olam-piece strong {
    display: block;
    color: #2f2028;
    font-size: 0.96rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-puzzle .olam-piece small {
    display: block;
    margin-top: 0.25rem;
    color: var(--olam-puzzle-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-puzzle .olam-lanes {
    display: grid;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-lane {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.14);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 248, 241, 0.72));
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-puzzle .olam-lane::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--olam-puzzle-rubi), var(--olam-puzzle-ambar));
    opacity: 0.8;
}

.olam-block[data-olam-block].olam-puzzle .olam-concept {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
    padding-left: 0.35rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-concept-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--olam-puzzle-vinho-900), var(--olam-puzzle-rubi));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-puzzle .olam-concept-icon .olam-icon {
    width: 27px;
    height: 27px;
}

.olam-block[data-olam-block].olam-puzzle .olam-concept h4 {
    margin: 0;
    color: var(--olam-puzzle-vinho-900);
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-puzzle .olam-concept p {
    margin: 0.3rem 0 0;
    color: var(--olam-puzzle-muted);
    font-size: 0.9rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-puzzle .olam-slots {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot {
    display: grid;
    align-content: start;
    gap: 0.5rem;
    min-height: 112px;
    padding: 0.7rem;
    border: 1.5px dashed rgba(160, 23, 75, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.55);
    color: var(--olam-puzzle-muted);
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot.is-over,
.olam-block[data-olam-block].olam-puzzle .olam-slot:focus-visible {
    outline: none;
    border-color: rgba(217, 154, 43, 0.70);
    background: rgba(217, 154, 43, 0.12);
    box-shadow: inset 0 0 0 1px rgba(217, 154, 43, 0.28);
}

.olam-block[data-olam-block].olam-puzzle .olam-slot.is-correct {
    border-style: solid;
    border-color: rgba(119, 129, 61, 0.55);
    background: rgba(119, 129, 61, 0.09);
}

.olam-block[data-olam-block].olam-puzzle .olam-slot.is-wrong {
    border-style: solid;
    border-color: rgba(160, 23, 75, 0.55);
    background: rgba(160, 23, 75, 0.08);
}

.olam-block[data-olam-block].olam-puzzle .olam-slot.is-empty {
    border-color: rgba(217, 154, 43, 0.60);
    background: rgba(217, 154, 43, 0.08);
}

.olam-block[data-olam-block].olam-puzzle .olam-slot > span {
    justify-self: stretch;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--olam-puzzle-muted);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot-placeholder {
    margin-top: 0.2rem;
    color: #8c7480;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot-placeholder[hidden] {
    display: none;
}

.olam-block[data-olam-block].olam-puzzle .olam-slot .olam-piece {
    margin: 0;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-puzzle .olam-slot .olam-piece small {
    display: none;
}

.olam-block[data-olam-block].olam-puzzle .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-puzzle .olam-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-puzzle .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-puzzle-vinho-900), var(--olam-puzzle-rubi));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-puzzle .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-puzzle-rubi);
}

.olam-block[data-olam-block].olam-puzzle .olam-btn:hover,
.olam-block[data-olam-block].olam-puzzle .olam-btn:focus-visible {
    outline: none;
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-puzzle .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-puzzle .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-puzzle-ambar);
}

.olam-block[data-olam-block].olam-puzzle .olam-feedback {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.08), rgba(217, 154, 43, 0.10));
    color: #4d3541;
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.06);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-puzzle .olam-feedback.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-puzzle .olam-feedback strong {
    color: var(--olam-puzzle-rubi);
}

.olam-block[data-olam-block].olam-puzzle .olam-feedback[data-state="success"] {
    border-color: rgba(119, 129, 61, 0.25);
    background: rgba(119, 129, 61, 0.10);
}

.olam-block[data-olam-block].olam-puzzle .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-puzzle-rubi);
    font-size: 0.92rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-puzzle .olam-status[data-state="success"] {
    color: var(--olam-puzzle-verde);
}

.olam-block[data-olam-block].olam-puzzle .olam-status[data-state="error"] {
    color: #b3263a;
}

.olam-block[data-olam-block].olam-puzzle .olam-status[data-state="warn"] {
    color: var(--olam-puzzle-ambar-dark);
}

/* 24. Path chooser */
.olam-block[data-olam-block].olam-path,
.olam-block[data-olam-block].olam-pause {
    display: grid;
    grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
    overflow: hidden;
    border-radius: calc(var(--olam-radius) + 10px);
    background: #ffffff;
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-path aside,
.olam-block[data-olam-block] .olam-pause__scene {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 460px;
    padding: clamp(1.25rem, 4vw, 2rem);
    background:
        radial-gradient(circle at 78% 12%, rgba(201, 162, 39, 0.25), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-path aside > span {
    background: rgba(252, 227, 236, 0.14);
    color: #f6d9e5;
}

.olam-block[data-olam-block].olam-path aside h3,
.olam-block[data-olam-block] .olam-pause__scene h3 {
    color: #ffffff;
    font-size: clamp(2.1rem, 5vw, 4rem);
}

.olam-block[data-olam-block].olam-path aside p,
.olam-block[data-olam-block] .olam-pause__scene p {
    color: rgba(255, 255, 255, 0.78);
}

.olam-block[data-olam-block].olam-path aside div {
    margin-top: auto;
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-path main {
    display: grid;
    gap: 0.85rem;
    padding: clamp(1rem, 3vw, 1.4rem);
    background: linear-gradient(135deg, #ffffff, #fbf7f9);
}

.olam-block[data-olam-block] .olam-path__choices {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-path__choice,
.olam-block[data-olam-block] .olam-dialogue__choices button {
    display: grid;
    gap: 0.42rem;
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 20px;
    background: #ffffff;
    color: var(--olam-ink);
    cursor: pointer;
    font: inherit;
    text-align: left;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-path__choice .olam-icon {
    color: var(--olam-pink);
}

.olam-block[data-olam-block] .olam-path__choice strong,
.olam-block[data-olam-block] .olam-dialogue__choices strong {
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.15rem;
}

.olam-block[data-olam-block] .olam-path__choice span,
.olam-block[data-olam-block] .olam-dialogue__choices span {
    color: var(--olam-muted);
    line-height: 1.4;
}

.olam-block[data-olam-block] .olam-path__choice.is-active,
.olam-block[data-olam-block] .olam-dialogue__choices button.is-active {
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-path__choice.is-active *,
.olam-block[data-olam-block] .olam-dialogue__choices button.is-active * {
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-path__panel,
.olam-block[data-olam-block] .olam-dialogue__feedback article {
    padding: clamp(1rem, 3vw, 1.5rem);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 8%, rgba(201, 162, 39, 0.18), transparent 22%),
        #ffffff;
    box-shadow: 0 16px 38px -34px rgba(58, 15, 34, 0.56);
    animation: olam-fade-up 0.3s ease both;
}

.olam-block[data-olam-block] .olam-path__panel > span,
.olam-block[data-olam-block] .olam-dialogue__feedback article > span {
    display: inline-flex;
    margin-bottom: 0.65rem;
    padding: 0.36rem 0.68rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-path__panel p,
.olam-block[data-olam-block] .olam-dialogue__feedback p {
    color: var(--olam-muted);
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-path__panel ol {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding-left: 1.25rem;
    color: var(--olam-muted);
}

/* 24. Path chooser - documented Olam structure */
.olam-block[data-olam-block].olam-path {
    --olam-path-vinho-950: #320919;
    --olam-path-vinho-900: #3f0d23;
    --olam-path-vinho-800: #5b0f2d;
    --olam-path-rubi: var(--olam-accent, #a0174b);
    --olam-path-ambar: #d99a2b;
    --olam-path-ambar-dark: #b87b14;
    --olam-path-creme: #fff8f1;
    --olam-path-rosa: #f8e4e7;
    --olam-path-verde: #77813d;
    --olam-path-text: #2b1c24;
    --olam-path-muted: #6b5260;
    --olam-path-border: rgba(160, 23, 75, 0.18);
    position: relative;
    display: block;
    overflow: visible;
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--olam-path-text);
    font-family: var(--olam-font, inherit);
    isolation: isolate;
}

.olam-block[data-olam-block].olam-path *,
.olam-block[data-olam-block].olam-path *::before,
.olam-block[data-olam-block].olam-path *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-path .olam-shell {
    position: relative;
    overflow: hidden;
    padding: clamp(1.15rem, 3vw, 2.45rem);
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-path-creme) 54%, #fbefe6 100%);
    box-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);
}

.olam-block[data-olam-block].olam-path .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-path-rubi), var(--olam-path-vinho-950));
}

.olam-block[data-olam-block].olam-path .olam-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-path .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-path.is-visible .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-path .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-path .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-path-rosa);
    color: var(--olam-path-rubi);
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-path .olam-kicker-icon,
.olam-block[data-olam-block].olam-path .olam-choice-icon,
.olam-block[data-olam-block].olam-path .olam-route-icon,
.olam-block[data-olam-block].olam-path .olam-step-icon,
.olam-block[data-olam-block].olam-path .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-path .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-path-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-path .olam-kicker-icon .olam-icon {
    width: 17px;
    height: 17px;
}

.olam-block[data-olam-block].olam-path h3 {
    max-width: 840px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-path-vinho-900);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.95;
}

.olam-block[data-olam-block].olam-path .olam-subtitle {
    max-width: 850px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-path .olam-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-path .olam-help-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.82rem 1rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #f1b84a, var(--olam-path-ambar));
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.olam-block[data-olam-block].olam-path .olam-help-btn:hover,
.olam-block[data-olam-block].olam-path .olam-help-btn:focus-visible {
    outline: none;
    transform: translateY(-2px);
    filter: saturate(1.04);
    box-shadow: 0 18px 32px rgba(217, 154, 43, 0.34);
}

.olam-block[data-olam-block].olam-path .olam-help-btn .olam-help-chevron {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-path .olam-help-btn[aria-expanded="true"] .olam-help-chevron {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-path .olam-help-panel {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
}

.olam-block[data-olam-block].olam-path .olam-help-panel.is-open {
    display: block;
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-path .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-path .olam-help-card {
    padding: 0.95rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-path .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.45rem;
    color: var(--olam-path-vinho-900);
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-path .olam-help-card strong .olam-icon {
    color: var(--olam-path-ambar-dark);
}

.olam-block[data-olam-block].olam-path .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-path .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-path .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.78rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--olam-path-vinho-800);
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
    font-size: 0.9rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-path .olam-flow-chip .olam-icon {
    color: var(--olam-path-rubi);
}

.olam-block[data-olam-block].olam-path .olam-path__layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.74fr) minmax(0, 1fr);
    gap: 1.2rem;
    align-items: stretch;
    margin-top: 1.35rem;
}

.olam-block[data-olam-block].olam-path .olam-card {
    border: 1px solid var(--olam-path-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-path .olam-visual-card {
    display: block;
    min-height: auto;
    height: 100%;
    overflow: hidden;
    padding: 0;
    background: rgba(255, 255, 255, 0.74);
    color: var(--olam-path-text);
}

.olam-block[data-olam-block].olam-path .olam-visual-card div {
    margin-top: 0;
    padding: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
    line-height: inherit;
}

.olam-block[data-olam-block].olam-path .olam-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.15rem 0.9rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
}

.olam-block[data-olam-block].olam-path .olam-card-head h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-path-vinho-900);
    font-family: inherit;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-path .olam-card-head h4 .olam-icon {
    color: var(--olam-path-rubi);
}

.olam-block[data-olam-block].olam-path .olam-card-head p {
    margin: 0.35rem 0 0;
    color: var(--olam-path-muted);
    font-size: 0.92rem;
    line-height: 1.4;
}

.olam-block[data-olam-block].olam-path .olam-badge-soft {
    flex: 0 0 auto;
    padding: 0.48rem 0.75rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.olam-block[data-olam-block].olam-path .olam-image-frame {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    margin: 1.15rem;
    border: 1px solid rgba(160, 23, 75, 0.13);
    border-radius: 24px;
    background:
        radial-gradient(circle at 78% 18%, rgba(212, 175, 55, 0.22), transparent 26%),
        radial-gradient(circle at 18% 84%, rgba(160, 23, 75, 0.12), transparent 28%),
        linear-gradient(135deg, #fff7ef, #fffdf9);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 18px 38px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-path .olam-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-path .olam-image-overlay {
    position: absolute;
    inset: auto 16px 16px;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 34px rgba(63, 13, 35, 0.13);
    backdrop-filter: blur(8px);
}

.olam-block[data-olam-block].olam-path .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
    color: var(--olam-path-rubi);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-path .olam-image-overlay p {
    margin: 0;
    color: #4b3641;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-path .olam-context {
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-path .olam-context-card {
    padding: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-path .olam-context-card h4 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.55rem;
    color: var(--olam-path-vinho-900);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-path .olam-context-card p {
    margin: 0;
    color: #58434f;
    font-size: 0.93rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-path main.olam-choice-card {
    display: block;
    height: 100%;
    padding: 1.15rem;
    background: rgba(255, 255, 255, 0.74);
}

.olam-block[data-olam-block].olam-path .olam-question {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 20%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.66);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
}

.olam-block[data-olam-block].olam-path .olam-question h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-path-vinho-900);
    font-family: inherit;
    font-size: 1.22rem;
    font-weight: 900;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-path .olam-question h4 .olam-icon {
    color: var(--olam-path-rubi);
}

.olam-block[data-olam-block].olam-path .olam-question p {
    margin: 0.45rem 0 0;
    color: var(--olam-path-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-path .olam-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-path .olam-choice {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    padding: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.15);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--olam-path-text);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.07);
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.olam-block[data-olam-block].olam-path .olam-choice::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 14%, rgba(160, 23, 75, 0.10), transparent 24%);
    opacity: 0.9;
    pointer-events: none;
}

.olam-block[data-olam-block].olam-path .olam-choice:hover,
.olam-block[data-olam-block].olam-path .olam-choice:focus-visible,
.olam-block[data-olam-block].olam-path .olam-choice.is-selected {
    outline: none;
    transform: translateY(-3px);
    border-color: rgba(160, 23, 75, 0.38);
    box-shadow: 0 18px 34px rgba(63, 13, 35, 0.13);
}

.olam-block[data-olam-block].olam-path .olam-choice.is-selected {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
}

.olam-block[data-olam-block].olam-path .olam-choice-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

.olam-block[data-olam-block].olam-path .olam-choice-icon {
    width: 50px;
    height: 50px;
    border-radius: 18px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-path-rubi);
}

.olam-block[data-olam-block].olam-path .olam-choice-icon .olam-icon {
    width: 26px;
    height: 26px;
}

.olam-block[data-olam-block].olam-path .olam-choice[data-route="advance"] .olam-choice-icon {
    background: rgba(119, 129, 61, 0.15);
    color: var(--olam-path-verde);
}

.olam-block[data-olam-block].olam-path .olam-choice[data-route="practice"] .olam-choice-icon {
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-path-ambar-dark);
}

.olam-block[data-olam-block].olam-path .olam-choice strong {
    display: block;
    color: var(--olam-path-vinho-900);
    font-size: 1rem;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-path .olam-choice small {
    display: block;
    margin-top: 0.3rem;
    color: var(--olam-path-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-path .olam-route {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.13);
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 22%, rgba(217, 154, 43, 0.14), transparent 25%),
        rgba(255, 255, 255, 0.70);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
    animation: olam-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-path .olam-route.is-open {
    display: block;
}

.olam-block[data-olam-block].olam-path .olam-route-header {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-path .olam-route-icon {
    width: 56px;
    height: 56px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--olam-path-vinho-900), var(--olam-path-rubi));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-path .olam-route-icon .olam-icon {
    width: 29px;
    height: 29px;
}

.olam-block[data-olam-block].olam-path .olam-route h4 {
    margin: 0;
    color: var(--olam-path-vinho-900);
    font-family: inherit;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-path .olam-route p {
    margin: 0.35rem 0 0;
    color: #4b3641;
    font-size: 0.94rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-path .olam-route-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.olam-block[data-olam-block].olam-path .olam-step {
    padding: 0.88rem;
    border: 1px solid rgba(160, 23, 75, 0.10);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
}

.olam-block[data-olam-block].olam-path .olam-step-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 0.6rem;
    border-radius: 14px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-path-ambar-dark);
}

.olam-block[data-olam-block].olam-path .olam-step-icon .olam-icon {
    width: 20px;
    height: 20px;
}

.olam-block[data-olam-block].olam-path .olam-step strong {
    display: block;
    color: var(--olam-path-vinho-900);
    font-size: 0.92rem;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-path .olam-step span {
    display: block;
    margin-top: 0.3rem;
    color: var(--olam-path-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-path .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-path .olam-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.82rem 1rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-path .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-path-vinho-900), var(--olam-path-rubi));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-path .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-path-rubi);
}

.olam-block[data-olam-block].olam-path .olam-btn:hover,
.olam-block[data-olam-block].olam-path .olam-btn:focus-visible {
    outline: none;
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-path .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-path .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-path-ambar);
}

.olam-block[data-olam-block].olam-path .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-path-rubi);
    font-size: 0.92rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-path .olam-status[data-state="success"] {
    color: var(--olam-path-verde);
}

.olam-block[data-olam-block].olam-path .olam-status[data-state="warn"] {
    color: var(--olam-path-ambar-dark);
}

/* 25. Mediated dialogue */
.olam-block[data-olam-block].olam-dialogue {
    --olam-dialogue-vinho: #3f0d23;
    --olam-dialogue-rubi: var(--olam-accent, #a4154c);
    --olam-dialogue-gold: var(--olam-gold, #c9a227);
    --olam-dialogue-cream: #fff8f1;
    --olam-dialogue-soft: #f8e4e7;
    --olam-dialogue-muted: #6b5260;
    --olam-dialogue-border: rgba(160, 23, 75, 0.18);

    max-width: 1360px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #2b1c24;
    isolation: isolate;
}

.olam-block[data-olam-block].olam-dialogue *,
.olam-block[data-olam-block].olam-dialogue *::before,
.olam-block[data-olam-block].olam-dialogue *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-dialogue button {
    font: inherit;
}

.olam-block[data-olam-block].olam-dialogue .olam-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-dialogue-cream) 54%, #fbefe6 100%);
    box-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);
    padding: clamp(1.15rem, 3vw, 3rem);
}

.olam-block[data-olam-block].olam-dialogue .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-dialogue-rubi), #320919);
}

.olam-block[data-olam-block].olam-dialogue .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-dialogue header {
    display: block;
    margin: 0 0 1.5rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-dialogue.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-dialogue .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-dialogue .olam-reveal {
    opacity: 1;
    transform: translateY(0);
}

.olam-block[data-olam-block].olam-dialogue .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-dialogue-soft);
    color: var(--olam-dialogue-rubi);
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-dialogue .olam-kicker-icon,
.olam-block[data-olam-block].olam-dialogue .olam-avatar,
.olam-block[data-olam-block].olam-dialogue .olam-choice-icon,
.olam-block[data-olam-block].olam-dialogue .olam-note-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
}

.olam-block[data-olam-block].olam-dialogue .olam-kicker-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--olam-dialogue-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-dialogue h2 {
    max-width: 920px;
    margin: 1rem 0 0.45rem;
    color: var(--olam-dialogue-vinho);
    font-family: var(--olam-heading-font);
    font-size: clamp(2rem, 4.7vw, 4.15rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.olam-block[data-olam-block].olam-dialogue .olam-subtitle {
    max-width: 920px;
    margin: 0;
    color: #3d2d35;
    font-size: clamp(1rem, 1.6vw, 1.17rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-dialogue .olam-top-actions,
.olam-block[data-olam-block].olam-dialogue .olam-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-btn,
.olam-block[data-olam-block].olam-dialogue .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    padding: 0.82rem 1rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    white-space: normal;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-btn {
    background: linear-gradient(135deg, #f1b84a, #d99a2b);
    color: #4b2b00;
    box-shadow: 0 14px 26px rgba(217, 154, 43, 0.26);
}

.olam-block[data-olam-block].olam-dialogue .olam-help-btn:hover,
.olam-block[data-olam-block].olam-dialogue .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-dialogue .olam-btn:hover,
.olam-block[data-olam-block].olam-dialogue .olam-btn:focus-visible {
    outline: none;
    filter: saturate(1.04);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-dialogue .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-dialogue .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(217, 154, 43, 0.28);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 250, 239, 0.94), rgba(255, 244, 223, 0.92));
    box-shadow: 0 16px 36px rgba(143, 0, 61, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-panel.is-open {
    display: block;
    animation: olam-dialogue-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-card {
    min-width: 0;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.05);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    color: var(--olam-dialogue-vinho);
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-dialogue .olam-help-card p {
    margin: 0;
    color: #5f4a41;
    font-size: 0.9rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-dialogue .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 24px rgba(63, 13, 35, 0.055);
    color: #5b0f2d;
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.55rem 0.78rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-dialogue__layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
    gap: 1.5rem;
    align-items: stretch;
}

.olam-block[data-olam-block].olam-dialogue .olam-card {
    min-width: 0;
    height: 100%;
    border: 1px solid var(--olam-dialogue-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
    backdrop-filter: blur(10px);
}

.olam-block[data-olam-block].olam-dialogue .olam-context-card {
    overflow: hidden;
}

.olam-block[data-olam-block].olam-dialogue .olam-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    border-bottom: 1px solid rgba(160, 23, 75, 0.12);
    padding: 1.15rem 1.15rem 0.9rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-card-head h3,
.olam-block[data-olam-block].olam-dialogue .olam-dialogue-intro h3,
.olam-block[data-olam-block].olam-dialogue .olam-choice-panel h4,
.olam-block[data-olam-block].olam-dialogue .olam-response-panel h4,
.olam-block[data-olam-block].olam-dialogue .olam-summary h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--olam-dialogue-vinho);
    font-family: var(--olam-heading-font);
    font-size: 1.14rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-dialogue .olam-card-head p,
.olam-block[data-olam-block].olam-dialogue .olam-dialogue-intro p {
    margin: 0.35rem 0 0;
    color: var(--olam-dialogue-muted);
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-dialogue .olam-badge-soft {
    flex: 0 0 auto;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.13);
    color: #8a5a12;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    padding: 0.48rem 0.75rem;
    text-align: center;
}

.olam-block[data-olam-block].olam-dialogue .olam-image-frame {
    position: relative;
    min-height: 310px;
    margin: 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 24px;
    background: rgba(255, 248, 241, 0.76);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.60), 0 18px 38px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-dialogue .olam-image-frame img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 310px;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-dialogue .olam-image-overlay {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 20px;
    background: rgba(63, 13, 35, 0.82);
    color: #ffffff;
    padding: 0.95rem;
    backdrop-filter: blur(9px);
}

.olam-block[data-olam-block].olam-dialogue .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.3rem;
    color: #ffffff;
}

.olam-block[data-olam-block].olam-dialogue .olam-image-overlay p {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.9rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-dialogue .olam-case {
    display: grid;
    gap: 0.8rem;
    padding: 0 1.15rem 1.15rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-case-card {
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 26px rgba(63, 13, 35, 0.06);
    padding: 0.95rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-case-card h4 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.35rem;
    color: var(--olam-dialogue-vinho);
    font-family: var(--olam-heading-font);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-dialogue .olam-case-card p {
    margin: 0;
    color: #58434f;
    font-size: 0.92rem;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-dialogue .olam-dialogue-card {
    padding: 1.15rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-dialogue-intro,
.olam-block[data-olam-block].olam-dialogue .olam-choice-panel,
.olam-block[data-olam-block].olam-dialogue .olam-response-panel,
.olam-block[data-olam-block].olam-dialogue .olam-summary,
.olam-block[data-olam-block].olam-dialogue .olam-note {
    border: 1px solid rgba(160, 23, 75, 0.13);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 14px 30px rgba(63, 13, 35, 0.08);
    padding: 1rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-dialogue-intro {
    margin-bottom: 1rem;
    background:
        radial-gradient(circle at 92% 20%, rgba(217, 154, 43, 0.14), transparent 26%),
        rgba(255, 255, 255, 0.66);
}

.olam-block[data-olam-block].olam-dialogue .olam-progress-wrap {
    margin-bottom: 1rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.55rem;
    color: var(--olam-dialogue-muted);
    font-size: 0.84rem;
    font-weight: 850;
}

.olam-block[data-olam-block].olam-dialogue .olam-progress {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(160, 23, 75, 0.10);
}

.olam-block[data-olam-block].olam-dialogue .olam-progress-bar {
    width: 20%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--olam-dialogue-rubi), #d99a2b);
    transition: width 0.3s ease;
}

.olam-block[data-olam-block].olam-dialogue .olam-chat {
    display: grid;
    gap: 0.8rem;
    min-height: 350px;
    margin-bottom: 1rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-message {
    display: none;
    align-items: flex-start;
    gap: 0.7rem;
    max-width: 88%;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-visible {
    display: flex;
    animation: olam-dialogue-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-user {
    justify-self: end;
    flex-direction: row-reverse;
}

.olam-block[data-olam-block].olam-dialogue .olam-avatar {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-dialogue-rubi);
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-user .olam-avatar {
    background: var(--olam-dialogue-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-system .olam-avatar {
    background: rgba(217, 154, 43, 0.18);
    color: #b87b14;
}

.olam-block[data-olam-block].olam-dialogue .olam-bubble {
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 20px 20px 20px 6px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.07);
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-user .olam-bubble {
    border-radius: 20px 20px 6px 20px;
    background: linear-gradient(135deg, #5b0f2d, var(--olam-dialogue-rubi));
    color: #ffffff;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-system .olam-bubble {
    background: linear-gradient(135deg, rgba(255, 248, 241, 0.95), rgba(255, 242, 220, 0.90));
}

.olam-block[data-olam-block].olam-dialogue .olam-speaker {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
    color: var(--olam-dialogue-rubi);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-dialogue .olam-message.is-user .olam-speaker,
.olam-block[data-olam-block].olam-dialogue .olam-message.is-user .olam-bubble p {
    color: #ffffff;
}

.olam-block[data-olam-block].olam-dialogue .olam-bubble p {
    margin: 0;
    color: #4b3641;
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice-panel,
.olam-block[data-olam-block].olam-dialogue .olam-response-panel,
.olam-block[data-olam-block].olam-dialogue .olam-summary {
    display: none;
    margin-top: 1rem;
    animation: olam-dialogue-fade-up 0.25s ease both;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice-panel.is-open,
.olam-block[data-olam-block].olam-dialogue .olam-response-panel.is-open,
.olam-block[data-olam-block].olam-dialogue .olam-summary.is-open {
    display: block;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice-instruction,
.olam-block[data-olam-block].olam-dialogue .olam-response-panel p {
    margin: 0.45rem 0 0;
    color: #4b3641;
    line-height: 1.52;
}

.olam-block[data-olam-block].olam-dialogue .olam-choices {
    display: grid;
    gap: 0.8rem;
    margin-top: 0.85rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(160, 23, 75, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 22px rgba(63, 13, 35, 0.06);
    color: inherit;
    cursor: pointer;
    padding: 0.9rem;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice:hover,
.olam-block[data-olam-block].olam-dialogue .olam-choice:focus-visible,
.olam-block[data-olam-block].olam-dialogue .olam-choice.is-selected {
    outline: none;
    border-color: rgba(160, 23, 75, 0.34);
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.12);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-dialogue .olam-choice.is-selected {
    background: linear-gradient(135deg, rgba(160, 23, 75, 0.10), rgba(217, 154, 43, 0.10));
}

.olam-block[data-olam-block].olam-dialogue .olam-choice-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(160, 23, 75, 0.10);
    color: var(--olam-dialogue-rubi);
}

.olam-block[data-olam-block].olam-dialogue .olam-choice strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--olam-dialogue-vinho);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-dialogue .olam-choice span span {
    display: block;
    color: var(--olam-dialogue-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.olam-block[data-olam-block].olam-dialogue .olam-btn-primary {
    background: linear-gradient(135deg, #5b0f2d, #c9185f);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-dialogue .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-dialogue-rubi);
}

.olam-block[data-olam-block].olam-dialogue .olam-summary-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-summary-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #4f3944;
    font-size: 0.92rem;
    line-height: 1.45;
    padding: 0.85rem;
}

.olam-block[data-olam-block].olam-dialogue .olam-summary-item .olam-icon {
    flex: 0 0 auto;
    margin-top: 0.08rem;
    color: #b87b14;
}

.olam-block[data-olam-block].olam-dialogue .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1rem;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-dialogue .olam-note-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    background: rgba(217, 154, 43, 0.16);
    color: #d99a2b;
}

.olam-block[data-olam-block].olam-dialogue .olam-status {
    min-height: 1.35rem;
    margin-top: 0.75rem;
    color: var(--olam-dialogue-rubi);
    font-size: 0.92rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-dialogue .olam-status[data-state="success"] {
    color: #5d6f2f;
}

.olam-block[data-olam-block].olam-dialogue h2,
.olam-block[data-olam-block].olam-dialogue h3,
.olam-block[data-olam-block].olam-dialogue h4,
.olam-block[data-olam-block].olam-dialogue p,
.olam-block[data-olam-block].olam-dialogue span,
.olam-block[data-olam-block].olam-dialogue small,
.olam-block[data-olam-block].olam-dialogue strong,
.olam-block[data-olam-block].olam-dialogue button {
    overflow-wrap: anywhere;
    word-break: normal;
}

@keyframes olam-dialogue-fade-up {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .olam-block[data-olam-block].olam-dialogue .olam-dialogue__layout,
    .olam-block[data-olam-block].olam-dialogue .olam-help-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .olam-block[data-olam-block].olam-dialogue .olam-shell {
        border-radius: 22px;
        padding: 1rem;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-card-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-message {
        max-width: 100%;
    }

    .olam-block[data-olam-block].olam-dialogue .olam-actions,
    .olam-block[data-olam-block].olam-dialogue .olam-actions .olam-btn {
        width: 100%;
    }
}

/* 26. Cognitive pause */
.olam-block[data-olam-block].olam-pause {
    --olam-pause-vinho: #3f0d23;
    --olam-pause-rubi: var(--olam-accent, #a4154c);
    --olam-pause-gold: var(--olam-gold, #c9a227);
    --olam-pause-green: #77813d;
    --olam-pause-cream: #fff8f1;
    --olam-pause-soft: #f8e4e7;
    --olam-pause-muted: #6b5260;
    --olam-pause-border: rgba(160, 23, 75, 0.18);
    --olam-pause-shadow: 0 24px 62px rgba(63, 13, 35, 0.18);

    position: relative;
    max-width: 1360px;
    margin: 0 auto;
    color: var(--olam-text-dark);
    font-family: var(--olam-font, inherit);
    isolation: isolate;
}

.olam-block[data-olam-block].olam-pause *,
.olam-block[data-olam-block].olam-pause *::before,
.olam-block[data-olam-block].olam-pause *::after {
    box-sizing: border-box;
}

.olam-block[data-olam-block].olam-pause button {
    font: inherit;
}

.olam-block[data-olam-block].olam-pause .olam-shell {
    position: relative;
    overflow: hidden;
    padding: clamp(1.15rem, 3vw, 3rem);
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 10%, rgba(212, 175, 55, 0.18), transparent 25%),
        radial-gradient(circle at 12% 90%, rgba(160, 23, 75, 0.10), transparent 31%),
        linear-gradient(135deg, #fffdf8 0%, var(--olam-pause-cream) 54%, #fbefe6 100%);
    box-shadow: var(--olam-pause-shadow);
}

.olam-block[data-olam-block].olam-pause .olam-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: clamp(18px, 3vw, 38px);
    background:
        radial-gradient(circle at 50% 74%, rgba(212, 175, 55, 0.38) 0 2px, transparent 3px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--olam-pause-rubi), #320919);
}

.olam-block[data-olam-block].olam-pause .olam-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: clamp(8px, 2.2vw, 22px);
}

.olam-block[data-olam-block].olam-pause header {
    margin-bottom: clamp(1.3rem, 3vw, 2rem);
}

.olam-block[data-olam-block].olam-pause .olam-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.olam-block[data-olam-block].olam-pause.is-visible .olam-reveal,
.olam-block[data-olam-block] .tox-edit-area .olam-pause .olam-reveal,
.mce-content-body .olam-block[data-olam-block].olam-pause .olam-reveal {
    opacity: 1;
    transform: none;
}

.olam-block[data-olam-block].olam-pause .olam-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.18);
    border-radius: 999px;
    background: var(--olam-pause-soft);
    color: var(--olam-pause-rubi);
    box-shadow: 0 8px 22px rgba(160, 23, 75, 0.08);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-pause .olam-kicker-icon,
.olam-block[data-olam-block].olam-pause .olam-guide-icon,
.olam-block[data-olam-block].olam-pause .olam-scene-icon,
.olam-block[data-olam-block].olam-pause .olam-note-icon,
.olam-block[data-olam-block].olam-pause .olam-breath-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.olam-block[data-olam-block].olam-pause .olam-kicker-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--olam-pause-rubi);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-pause h2 {
    max-width: 880px;
    margin: 1.1rem 0 0;
    color: var(--olam-pause-vinho);
    font-family: var(--olam-heading-font);
    font-size: clamp(3rem, 7vw, 5.9rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.92;
}

.olam-block[data-olam-block].olam-pause .olam-subtitle {
    max-width: 860px;
    margin: 0.75rem 0 0;
    color: #5c4652;
    font-size: clamp(1.03rem, 1.6vw, 1.18rem);
    line-height: 1.55;
}

.olam-block[data-olam-block].olam-pause .olam-top-actions,
.olam-block[data-olam-block].olam-pause .olam-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.olam-block[data-olam-block].olam-pause .olam-help-btn,
.olam-block[data-olam-block].olam-pause .olam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 0;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.olam-block[data-olam-block].olam-pause .olam-help-btn {
    padding: 0.78rem 1rem;
    border: 1px solid rgba(160, 23, 75, 0.16);
    background: rgba(255, 255, 255, 0.82);
    color: var(--olam-pause-rubi);
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-pause .olam-help-btn:hover,
.olam-block[data-olam-block].olam-pause .olam-help-btn:focus-visible,
.olam-block[data-olam-block].olam-pause .olam-btn:hover,
.olam-block[data-olam-block].olam-pause .olam-btn:focus-visible {
    outline: none;
    box-shadow: 0 16px 30px rgba(63, 13, 35, 0.13);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-pause .olam-help-btn .olam-icon--chevron-down {
    transition: transform 0.2s ease;
}

.olam-block[data-olam-block].olam-pause .olam-help-btn[aria-expanded="true"] .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block].olam-pause .olam-help-panel {
    display: grid;
    grid-template-rows: 0fr;
    margin-top: 0.9rem;
    overflow: hidden;
    transition: grid-template-rows 0.25s ease;
}

.olam-block[data-olam-block].olam-pause .olam-help-panel.is-open {
    grid-template-rows: 1fr;
}

.olam-block[data-olam-block].olam-pause .olam-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    min-height: 0;
}

.olam-block[data-olam-block].olam-pause .olam-help-card {
    padding: 1rem;
    border: 1px solid var(--olam-pause-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 28px rgba(63, 13, 35, 0.08);
}

.olam-block[data-olam-block].olam-pause .olam-help-card strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--olam-pause-vinho);
    font-size: 0.98rem;
    line-height: 1.25;
}

.olam-block[data-olam-block].olam-pause .olam-help-card p {
    margin: 0.5rem 0 0;
    color: var(--olam-pause-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-pause .olam-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.olam-block[data-olam-block].olam-pause .olam-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.48rem 0.78rem;
    border: 1px solid rgba(217, 154, 43, 0.22);
    border-radius: 999px;
    background: rgba(255, 248, 241, 0.84);
    color: #6b3c4f;
    font-size: 0.84rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-pause__layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.25fr);
    gap: clamp(1rem, 2.4vw, 1.5rem);
    align-items: stretch;
}

.olam-block[data-olam-block].olam-pause .olam-card {
    min-width: 0;
    border: 1px solid var(--olam-pause-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 42px rgba(63, 13, 35, 0.10);
}

.olam-block[data-olam-block].olam-pause .olam-context-card,
.olam-block[data-olam-block].olam-pause .olam-pause-card {
    padding: clamp(1rem, 2.2vw, 1.45rem);
}

.olam-block[data-olam-block].olam-pause .olam-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.olam-block[data-olam-block].olam-pause .olam-card-head h3,
.olam-block[data-olam-block].olam-pause .olam-pause-intro h3,
.olam-block[data-olam-block].olam-pause .olam-audio-head h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--olam-pause-vinho);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.55rem, 3vw, 2rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.02;
}

.olam-block[data-olam-block].olam-pause .olam-card-head p,
.olam-block[data-olam-block].olam-pause .olam-pause-intro p,
.olam-block[data-olam-block].olam-pause .olam-audio-head p {
    margin: 0.45rem 0 0;
    color: var(--olam-pause-muted);
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-pause .olam-badge-soft {
    flex: 0 0 auto;
    padding: 0.42rem 0.65rem;
    border: 1px solid rgba(217, 154, 43, 0.22);
    border-radius: 999px;
    background: rgba(217, 154, 43, 0.12);
    color: #8a6219;
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-pause .olam-image-frame {
    position: relative;
    min-height: 315px;
    margin: 1rem 0 0;
    overflow: hidden;
    border-radius: 22px;
    background: #fff8f1;
}

.olam-block[data-olam-block].olam-pause .olam-image-frame img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 315px;
    object-fit: cover;
}

.olam-block[data-olam-block].olam-pause .olam-image-overlay {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    padding: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 36px rgba(63, 13, 35, 0.12);
}

.olam-block[data-olam-block].olam-pause .olam-image-overlay strong {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--olam-pause-rubi);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-image-overlay p {
    margin: 0.38rem 0 0;
    color: var(--olam-pause-muted);
    font-size: 0.92rem;
    line-height: 1.42;
}

.olam-block[data-olam-block].olam-pause .olam-context {
    display: grid;
    gap: 0.8rem;
    margin-top: 0.95rem;
}

.olam-block[data-olam-block].olam-pause .olam-context-box {
    display: flex;
    gap: 0.75rem;
    padding: 0.95rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
}

.olam-block[data-olam-block].olam-pause .olam-guide-icon,
.olam-block[data-olam-block].olam-pause .olam-scene-icon,
.olam-block[data-olam-block].olam-pause .olam-note-icon {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    background: rgba(217, 154, 43, 0.16);
    color: var(--olam-pause-gold);
}

.olam-block[data-olam-block].olam-pause .olam-context-box strong {
    color: var(--olam-pause-vinho);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-context-box p {
    margin: 0.35rem 0 0;
    color: var(--olam-pause-muted);
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-pause .olam-pause-card {
    display: grid;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-pause .olam-pause-intro {
    padding: 1rem;
    border-radius: 20px;
    background: rgba(248, 228, 231, 0.48);
}

.olam-block[data-olam-block].olam-pause .olam-breath-stage {
    position: relative;
    display: grid;
    min-height: 430px;
    overflow: hidden;
    place-items: center;
    padding: clamp(1rem, 2.6vw, 1.45rem);
    border: 1px solid rgba(217, 154, 43, 0.20);
    border-radius: 26px;
    background:
        radial-gradient(circle at 50% 48%, rgba(160, 23, 75, 0.10), transparent 36%),
        radial-gradient(circle at 50% 48%, rgba(217, 154, 43, 0.12), transparent 58%),
        linear-gradient(135deg, rgba(255, 248, 241, 0.88), rgba(255, 255, 255, 0.70));
}

.olam-block[data-olam-block].olam-pause .olam-breath-stage::before {
    content: "";
    position: absolute;
    inset: 18% 8%;
    border: 1px solid rgba(217, 154, 43, 0.22);
    border-radius: 50%;
    opacity: 0.75;
}

.olam-block[data-olam-block].olam-pause .olam-breath-circle {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(270px, 70vw);
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #5b0f2d, var(--olam-pause-rubi));
    box-shadow: 0 24px 42px rgba(63, 13, 35, 0.26);
}

.olam-block[data-olam-block].olam-pause.is-running .olam-breath-circle {
    animation: olam-breathe 4.6s ease-in-out infinite;
}

.olam-block[data-olam-block].olam-pause .olam-breath-circle::before,
.olam-block[data-olam-block].olam-pause .olam-breath-circle::after {
    content: "";
    position: absolute;
    inset: -18px;
    border: 1px solid rgba(160, 23, 75, 0.16);
    border-radius: 50%;
}

.olam-block[data-olam-block].olam-pause .olam-breath-circle::after {
    inset: -44px;
    border-color: rgba(217, 154, 43, 0.18);
}

.olam-block[data-olam-block].olam-pause .olam-breath-inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.35rem;
    max-width: 78%;
    color: #ffffff;
    text-align: center;
}

.olam-block[data-olam-block].olam-pause .olam-breath-icon {
    justify-self: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(217, 154, 43, 0.20);
}

.olam-block[data-olam-block].olam-pause .olam-breath-word {
    font-family: var(--olam-heading-font);
    font-size: clamp(1.85rem, 4vw, 2.7rem);
    font-weight: 900;
    line-height: 0.96;
}

.olam-block[data-olam-block].olam-pause .olam-breath-count {
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1.28;
}

.olam-block[data-olam-block].olam-pause .olam-timer {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.54rem 0.72rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--olam-pause-rubi);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-step-text {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 2;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    color: #5c4652;
    line-height: 1.45;
    text-align: center;
}

.olam-block[data-olam-block].olam-pause .olam-controls {
    display: grid;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-pause .olam-duration {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.olam-block[data-olam-block].olam-pause .olam-duration-label {
    color: var(--olam-pause-vinho);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-duration-btn,
.olam-block[data-olam-block].olam-pause .olam-scene {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    min-width: 0;
    border: 1px solid var(--olam-pause-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--olam-pause-vinho);
    cursor: pointer;
    font-weight: 900;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.olam-block[data-olam-block].olam-pause .olam-duration-btn {
    padding: 0.58rem 0.78rem;
}

.olam-block[data-olam-block].olam-pause .olam-duration-btn:hover,
.olam-block[data-olam-block].olam-pause .olam-duration-btn:focus-visible,
.olam-block[data-olam-block].olam-pause .olam-duration-btn.is-selected,
.olam-block[data-olam-block].olam-pause .olam-scene:hover,
.olam-block[data-olam-block].olam-pause .olam-scene:focus-visible,
.olam-block[data-olam-block].olam-pause .olam-scene.is-selected {
    outline: none;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(63, 13, 35, 0.10);
    transform: translateY(-2px);
}

.olam-block[data-olam-block].olam-pause .olam-duration-btn.is-selected,
.olam-block[data-olam-block].olam-pause .olam-scene.is-selected {
    border-color: rgba(160, 23, 75, 0.32);
    color: var(--olam-pause-rubi);
}

.olam-block[data-olam-block].olam-pause .olam-scenes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block].olam-pause .olam-scene {
    justify-content: flex-start;
    padding: 0.75rem;
    border-radius: 18px;
    text-align: left;
}

.olam-block[data-olam-block].olam-pause .olam-scene strong,
.olam-block[data-olam-block].olam-pause .olam-scene small {
    display: block;
}

.olam-block[data-olam-block].olam-pause .olam-scene small {
    margin-top: 0.1rem;
    color: var(--olam-pause-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.olam-block[data-olam-block].olam-pause .olam-audio-panel {
    padding: 1rem;
    border: 1px solid rgba(119, 129, 61, 0.18);
    border-radius: 20px;
    background: rgba(237, 241, 221, 0.48);
}

.olam-block[data-olam-block].olam-pause .olam-audio-head {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
}

.olam-block[data-olam-block].olam-pause .olam-audio-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
    padding: 0.46rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--olam-pause-green);
    font-size: 0.78rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-audio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.olam-block[data-olam-block].olam-pause .olam-volume {
    display: flex;
    flex: 1 1 240px;
    align-items: center;
    gap: 0.55rem;
    min-width: min(260px, 100%);
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(217, 154, 43, 0.18);
    border-radius: 999px;
    background: rgba(255, 248, 241, 0.78);
    color: #674f5b;
    font-size: 0.86rem;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-pause .olam-volume input[type="range"] {
    width: 100%;
    accent-color: var(--olam-pause-rubi);
}

.olam-block[data-olam-block].olam-pause .olam-actions {
    margin-top: 0.15rem;
}

.olam-block[data-olam-block].olam-pause .olam-btn {
    padding: 0.82rem 1rem;
}

.olam-block[data-olam-block].olam-pause .olam-btn-primary {
    background: linear-gradient(135deg, var(--olam-pause-vinho), var(--olam-pause-rubi));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(143, 0, 61, 0.22);
}

.olam-block[data-olam-block].olam-pause .olam-btn-secondary {
    border: 1px solid rgba(160, 23, 75, 0.14);
    background: rgba(160, 23, 75, 0.09);
    color: var(--olam-pause-rubi);
}

.olam-block[data-olam-block].olam-pause .olam-btn-return {
    border: 1px solid rgba(119, 129, 61, 0.20);
    background: rgba(119, 129, 61, 0.12);
    color: var(--olam-pause-green);
}

.olam-block[data-olam-block].olam-pause .olam-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 0.2rem;
    padding: 0.9rem;
    border: 1px solid rgba(160, 23, 75, 0.12);
    border-radius: 18px;
    background: rgba(255, 248, 241, 0.72);
    color: #674f5b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-pause .olam-status {
    min-height: 1.35rem;
    color: var(--olam-pause-rubi);
    font-size: 0.92rem;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-pause .olam-status[data-state="success"] {
    color: var(--olam-pause-green);
}

.olam-block[data-olam-block].olam-pause h2,
.olam-block[data-olam-block].olam-pause h3,
.olam-block[data-olam-block].olam-pause h4,
.olam-block[data-olam-block].olam-pause p,
.olam-block[data-olam-block].olam-pause span,
.olam-block[data-olam-block].olam-pause small,
.olam-block[data-olam-block].olam-pause strong,
.olam-block[data-olam-block].olam-pause button {
    overflow-wrap: anywhere;
    word-break: normal;
}

@keyframes olam-breathe {
    0% {
        transform: scale(0.88);
    }
    28% {
        transform: scale(1.08);
    }
    56% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(0.88);
    }
}

@media (max-width: 991.98px) {
    .olam-block[data-olam-block].olam-pause .olam-pause__layout,
    .olam-block[data-olam-block].olam-pause .olam-help-grid,
    .olam-block[data-olam-block].olam-pause .olam-scenes {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .olam-block[data-olam-block].olam-pause .olam-shell {
        padding: 1rem;
        border-radius: 22px;
    }

    .olam-block[data-olam-block].olam-pause .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-pause .olam-card-head,
    .olam-block[data-olam-block].olam-pause .olam-audio-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-pause .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
    }

    .olam-block[data-olam-block].olam-pause .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-pause .olam-breath-stage {
        min-height: 405px;
    }

    .olam-block[data-olam-block].olam-pause .olam-actions .olam-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* 27-39. Final catalog blocks                                        */
/* ------------------------------------------------------------------ */
.olam-block[data-olam-block].olam-sectiontitle,
.olam-block[data-olam-block].olam-contenttimeline,
.olam-block[data-olam-block].olam-catalogflip,
.olam-block[data-olam-block].olam-glossary,
.olam-block[data-olam-block].olam-videonotes,
.olam-block[data-olam-block].olam-intentboxes,
.olam-block[data-olam-block].olam-progresscheck,
.olam-block[data-olam-block].olam-simplecompare,
.olam-block[data-olam-block].olam-selfcheck,
.olam-block[data-olam-block].olam-simplefaq,
.olam-block[data-olam-block].olam-finalsynthesis,
.olam-block[data-olam-block].olam-references {
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: calc(var(--olam-radius) + 8px);
    background: linear-gradient(135deg, #ffffff, #fbf7f9);
    box-shadow: var(--olam-shadow);
}

.olam-block[data-olam-block].olam-sectiontitle {
    display: grid;
    grid-template-columns: minmax(92px, 0.22fr) 1fr;
    gap: 1rem;
    align-items: center;
    padding: clamp(1rem, 3vw, 1.6rem);
    overflow: hidden;
}

.olam-block[data-olam-block].olam-sectiontitle > span,
.olam-block[data-olam-block].olam-sectiontitle > .olam-sectiontitle__number,
.olam-block[data-olam-block].olam-sectiontitle > strong:first-child {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: clamp(3rem, 9vw, 6rem);
    font-weight: 900;
    line-height: 0.8;
}

.olam-block[data-olam-block].olam-sectiontitle em,
.olam-block[data-olam-block].olam-contenttimeline article em,
.olam-block[data-olam-block] .olam-timeline-step em,
.olam-block[data-olam-block].olam-finalsynthesis article em {
    color: var(--olam-accent);
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-sectiontitle h3,
.olam-block[data-olam-block].olam-contenttimeline h3,
.olam-block[data-olam-block].olam-catalogflip h3,
.olam-block[data-olam-block].olam-glossary h3,
.olam-block[data-olam-block].olam-videonotes h3,
.olam-block[data-olam-block].olam-progresscheck h3,
.olam-block[data-olam-block].olam-simplecompare h3,
.olam-block[data-olam-block].olam-selfcheck h3,
.olam-block[data-olam-block].olam-simplefaq h3,
.olam-block[data-olam-block].olam-finalsynthesis h3,
.olam-block[data-olam-block].olam-references h3 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.7rem, 4vw, 2.7rem);
    letter-spacing: 0;
    line-height: 1;
}

.olam-block[data-olam-block].olam-sectiontitle p,
.olam-block[data-olam-block].olam-contenttimeline header p,
.olam-block[data-olam-block].olam-glossary header p,
.olam-block[data-olam-block].olam-videonotes p,
.olam-block[data-olam-block].olam-intentboxes p,
.olam-block[data-olam-block].olam-simplecompare p,
.olam-block[data-olam-block].olam-finalsynthesis p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.52;
}

.olam-block[data-olam-block].olam-contenttimeline,
.olam-block[data-olam-block].olam-catalogflip,
.olam-block[data-olam-block].olam-glossary,
.olam-block[data-olam-block].olam-progresscheck,
.olam-block[data-olam-block].olam-simplecompare,
.olam-block[data-olam-block].olam-selfcheck,
.olam-block[data-olam-block].olam-simplefaq,
.olam-block[data-olam-block].olam-finalsynthesis,
.olam-block[data-olam-block].olam-references {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.olam-block[data-olam-block].olam-contenttimeline > div {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
    padding-left: 54px;
}

.olam-block[data-olam-block].olam-contenttimeline > div::before {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 23px;
    top: 8px;
    width: 3px;
    border-radius: 3px;
    background: linear-gradient(180deg, var(--olam-accent), rgba(201, 162, 39, 0.65));
}

.olam-block[data-olam-block].olam-contenttimeline article,
.olam-block[data-olam-block] .olam-timeline-step,
.olam-block[data-olam-block].olam-intentboxes article,
.olam-block[data-olam-block].olam-finalsynthesis article {
    display: grid;
    gap: 0.48rem;
    padding: 1rem;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block].olam-contenttimeline article > span,
.olam-block[data-olam-block] .olam-timeline-step summary > span {
    color: var(--olam-gold);
    font-family: var(--olam-heading-font);
    font-size: 2rem;
    font-weight: 900;
    line-height: 0.9;
}

.olam-block[data-olam-block].olam-contenttimeline h4,
.olam-block[data-olam-block] .olam-timeline-step summary strong,
.olam-block[data-olam-block].olam-intentboxes h4,
.olam-block[data-olam-block].olam-simplecompare h4,
.olam-block[data-olam-block].olam-finalsynthesis h4 {
    margin: 0;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
}

.olam-block[data-olam-block].olam-contenttimeline p,
.olam-block[data-olam-block].olam-simplefaq p,
.olam-block[data-olam-block].olam-references p {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.48;
}

.olam-block[data-olam-block].olam-glossary > div,
.olam-block[data-olam-block].olam-intentboxes,
.olam-block[data-olam-block].olam-finalsynthesis > div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.75rem;
}

.olam-block[data-olam-block] .olam-sr-only,
.tiny-olamblocks-ui-overlay .olam-sr-only {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.olam-block[data-olam-block] .olam-final-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.48rem 0.9rem;
    border-radius: 999px;
    background: var(--olam-accent-dark);
    color: #fff8f1;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-final-kicker .olam-icon {
    color: var(--olam-gold);
}

.olam-block[data-olam-block].olam-contenttimeline header,
.olam-block[data-olam-block].olam-simplecompare header,
.olam-block[data-olam-block].olam-finalsynthesis header,
.olam-block[data-olam-block].olam-references header {
    display: grid;
    gap: 0.65rem;
}

.olam-block[data-olam-block] .olam-timeline-step {
    position: relative;
    overflow: visible;
    border: 1px solid rgba(164, 21, 76, 0.1);
}

.olam-block[data-olam-block] .olam-timeline-step summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.35rem 0.75rem;
    align-items: center;
    min-height: 82px;
    cursor: pointer;
    list-style: none;
}

.olam-block[data-olam-block] .olam-timeline-step summary::-webkit-details-marker,
.olam-block[data-olam-block] .olam-glossary__term summary::-webkit-details-marker,
.olam-block[data-olam-block] .olam-transcript summary::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block] .olam-timeline-step summary > span {
    position: absolute;
    left: -54px;
    top: 18px;
    display: grid;
    height: 46px;
    width: 46px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #d99a2b, var(--olam-gold));
    box-shadow: 0 10px 22px rgba(143, 0, 61, 0.18);
}

.olam-block[data-olam-block] .olam-timeline-step summary em {
    grid-column: 1;
}

.olam-block[data-olam-block] .olam-timeline-step summary strong {
    grid-column: 1;
}

.olam-block[data-olam-block] .olam-timeline-step summary > .olam-icon {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.olam-block[data-olam-block] .olam-timeline-step summary .olam-icon,
.olam-block[data-olam-block] .olam-glossary__term summary .olam-icon,
.olam-block[data-olam-block] .olam-transcript summary .olam-icon--chevron-down {
    transition: transform 0.25s ease;
}

.olam-block[data-olam-block] .olam-timeline-step[open] summary .olam-icon,
.olam-block[data-olam-block] .olam-glossary__term[open] summary .olam-icon,
.olam-block[data-olam-block] .olam-transcript[open] summary .olam-icon--chevron-down {
    transform: rotate(180deg);
}

.olam-block[data-olam-block] .olam-timeline-step > p {
    padding-top: 0.55rem;
    border-top: 1px solid rgba(164, 21, 76, 0.09);
}

.olam-block[data-olam-block].olam-simplefaq details {
    overflow: hidden;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block].olam-simplefaq summary {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 76px;
    padding: 1rem;
    cursor: pointer;
    color: var(--olam-accent-dark);
    font-weight: 900;
    list-style: none;
}

.olam-block[data-olam-block].olam-simplefaq summary::-webkit-details-marker {
    display: none;
}

.olam-block[data-olam-block].olam-simplefaq details[open] summary {
    background: var(--olam-accent);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-simplefaq details p {
    padding: 1rem;
}

.olam-block[data-olam-block].olam-conceptlab {
    display: grid;
    gap: 1.4rem;
    padding: clamp(1.25rem, 4vw, 2.1rem);
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: calc(var(--olam-radius) + 10px);
    background:
        radial-gradient(circle at 95% 18%, rgba(201, 162, 39, 0.18), transparent 24%),
        linear-gradient(135deg, #fffaf4, #fffdf9 52%, #fbf2eb);
    box-shadow: 0 28px 68px -46px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block].olam-conceptlab header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-conceptlab header > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.52rem 1rem;
    border-radius: 999px;
    background: var(--olam-accent-dark);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-conceptlab header > span .olam-icon {
    color: var(--olam-gold);
}

.olam-block[data-olam-block].olam-conceptlab header p {
    max-width: 430px;
    margin: 0;
    color: var(--olam-muted);
    text-align: right;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-conceptlab > div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.olam-block[data-olam-block] .olam-conceptlab__card {
    min-height: 270px;
    border: 0;
    border-radius: 20px;
    background: transparent;
    cursor: pointer;
    font: inherit;
    perspective: 1200px;
    text-align: left;
}

.olam-block[data-olam-block] .olam-conceptlab__inner {
    position: relative;
    display: block;
    height: 100%;
    min-height: 270px;
    transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
    transform-style: preserve-3d;
}

.olam-block[data-olam-block] .olam-conceptlab__card[aria-pressed="true"] .olam-conceptlab__inner {
    transform: rotateY(180deg);
}

.olam-block[data-olam-block] .olam-conceptlab__face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 1.45rem;
    border: 1px solid rgba(164, 21, 76, 0.12);
    border-radius: 20px;
    backface-visibility: hidden;
    box-shadow: 0 20px 42px -34px rgba(58, 15, 34, 0.62);
}

.olam-block[data-olam-block] .olam-conceptlab__front {
    background: rgba(255, 255, 255, 0.74);
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-conceptlab__back {
    background:
        radial-gradient(circle at 85% 15%, rgba(201, 162, 39, 0.18), transparent 24%),
        linear-gradient(150deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    transform: rotateY(180deg);
}

.olam-block[data-olam-block] .olam-conceptlab__num {
    position: absolute;
    right: 1rem;
    top: 0.75rem;
    color: rgba(201, 162, 39, 0.36);
    font-family: var(--olam-heading-font);
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
}

.olam-block[data-olam-block] .olam-conceptlab__label,
.olam-block[data-olam-block] .olam-conceptlab__backlabel {
    color: var(--olam-gold);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-conceptlab__front strong {
    margin-top: auto;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: clamp(1.65rem, 4vw, 2.2rem);
    line-height: 1;
}

.olam-block[data-olam-block] .olam-conceptlab__front em,
.olam-block[data-olam-block] .olam-conceptlab__back em {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    margin-top: 1rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid rgba(201, 162, 39, 0.32);
    border-radius: 999px;
    background: rgba(201, 162, 39, 0.13);
    color: #8b6b12;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-conceptlab__back strong {
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-size: 1.45rem;
}

.olam-block[data-olam-block] .olam-conceptlab__back > span:not(.olam-conceptlab__backlabel) {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.5;
}

.olam-block[data-olam-block] .olam-conceptlab__back em {
    color: #fff8f1;
}

.olam-block[data-olam-block].olam-glossary header {
    display: grid;
    gap: 0.65rem;
}

.olam-block[data-olam-block].olam-glossary label {
    display: block;
    width: min(420px, 100%);
}

.olam-block[data-olam-block].olam-glossary input {
    min-height: 46px;
    width: 100%;
    border: 1px solid rgba(164, 21, 76, 0.18);
    border-radius: 14px;
    padding: 0.75rem 1rem;
    color: var(--olam-ink);
    font: inherit;
    background: #ffffff;
}

.olam-block[data-olam-block] .olam-glossary__term {
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.1);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-glossary__term summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    list-style: none;
}

.olam-block[data-olam-block] .olam-glossary__letter {
    display: grid;
    flex: 0 0 auto;
    height: 42px;
    width: 42px;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--olam-accent), var(--olam-accent-dark));
    color: #ffffff;
    font-family: var(--olam-heading-font);
    font-weight: 900;
}

.olam-block[data-olam-block] .olam-glossary__term summary strong {
    flex: 1 1 auto;
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
    font-size: 1.25rem;
}

.olam-block[data-olam-block] .olam-glossary__term summary .olam-icon {
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-glossary__term p,
.olam-block[data-olam-block].olam-videonotes li {
    margin: 0;
    color: var(--olam-muted);
    line-height: 1.48;
}

.olam-block[data-olam-block] .olam-glossary__term p {
    padding: 0.8rem 0 0 3.6rem;
}

.olam-block[data-olam-block].olam-videonotes {
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) minmax(240px, 0.85fr);
    overflow: hidden;
}

.olam-block[data-olam-block] .olam-videonotes__media {
    display: grid;
    min-height: 320px;
    place-items: center;
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
}

.olam-block[data-olam-block] .olam-videonotes__media iframe {
    height: 100%;
    min-height: 320px;
    width: 100%;
    border: 0;
}

.olam-block[data-olam-block] .olam-videonotes__media > .olam-icon {
    height: 72px;
    width: 72px;
    color: var(--olam-gold);
}

.olam-block[data-olam-block].olam-videonotes aside {
    display: grid;
    gap: 0.75rem;
    align-content: center;
    padding: clamp(1rem, 3vw, 1.5rem);
}

.olam-block[data-olam-block].olam-videonotes aside header {
    display: grid;
    gap: 0.55rem;
}

.olam-block[data-olam-block] .olam-videonotes__prompt {
    padding: 0.85rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 16px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent-dark);
    font-weight: 800;
}

.olam-block[data-olam-block] .olam-videonotes__caption {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    font-size: 0.9rem;
}

.olam-block[data-olam-block] .olam-videonotes__caption .olam-icon {
    flex: 0 0 auto;
    color: var(--olam-accent);
}

.olam-block[data-olam-block].olam-videonotes ul,
.olam-block[data-olam-block].olam-simplecompare ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding-left: 1.2rem;
}

.olam-block[data-olam-block] .olam-transcript {
    overflow: hidden;
    border: 1px solid rgba(164, 21, 76, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
}

.olam-block[data-olam-block] .olam-transcript-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.9rem 1rem;
    cursor: pointer;
    color: var(--olam-accent-dark);
    font-weight: 900;
    list-style: none;
}

.olam-block[data-olam-block] .olam-transcript-btn span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.olam-block[data-olam-block] .olam-transcript-btn .olam-icon {
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-transcript-inner {
    display: grid;
    gap: 0.7rem;
    padding: 0 1rem 1rem;
    color: var(--olam-muted);
    line-height: 1.6;
}

.olam-block[data-olam-block] .olam-transcript-inner p {
    margin: 0;
}

.olam-block[data-olam-block].olam-intentboxes article > .olam-icon,
.olam-block[data-olam-block].olam-finalsynthesis article > .olam-icon,
.olam-block[data-olam-block] .olam-finalsynthesis__icon .olam-icon {
    height: 42px;
    width: 42px;
    padding: 0.65rem;
    border-radius: 15px;
    background: var(--olam-pink-soft);
    color: var(--olam-pink);
}

.olam-block[data-olam-block].olam-progresscheck header,
.olam-block[data-olam-block].olam-selfcheck header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.olam-block[data-olam-block].olam-progresscheck header strong,
.olam-block[data-olam-block].olam-selfcheck header strong {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
    font-weight: 900;
}

.olam-block[data-olam-block].olam-progresscheck > div,
.olam-block[data-olam-block].olam-selfcheck > div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.55rem;
}

.olam-block[data-olam-block].olam-progresscheck label,
.olam-block[data-olam-block].olam-selfcheck label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem;
    border-radius: 16px;
    background: #ffffff;
    color: var(--olam-muted);
    font-weight: 800;
}

.olam-block[data-olam-block].olam-progresscheck label:has(input:checked),
.olam-block[data-olam-block].olam-selfcheck label:has(input:checked) {
    background: var(--olam-pink-soft);
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block].olam-progresscheck meter {
    width: 100%;
    height: 14px;
}

.olam-block[data-olam-block].olam-simplecompare > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
}

.olam-block[data-olam-block].olam-simplecompare article {
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block].olam-simplecompare h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.olam-block[data-olam-block].olam-simplecompare h4 .olam-icon {
    color: var(--olam-accent);
}

.olam-block[data-olam-block].olam-simplecompare ul {
    padding-left: 0;
    list-style: none;
}

.olam-block[data-olam-block].olam-simplecompare li {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(164, 21, 76, 0.08);
    color: var(--olam-muted);
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-simplecompare li:last-child {
    border-bottom: 0;
}

.olam-block[data-olam-block].olam-simplecompare li .olam-icon {
    flex: 0 0 auto;
    margin-top: 0.12rem;
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-simplecompare__right li .olam-icon {
    color: #5f6b2f;
}

.olam-block[data-olam-block].olam-simplecompare > p {
    padding: 1rem;
    border-left: 4px solid var(--olam-gold);
    border-radius: 18px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent-dark);
    font-family: var(--olam-heading-font);
}

.olam-block[data-olam-block].olam-pullquote {
    display: grid;
    gap: 0.7rem;
    padding: clamp(1.2rem, 4vw, 2rem);
    border: 0;
    border-left: 6px solid var(--olam-gold);
    border-radius: calc(var(--olam-radius) + 8px);
    background: linear-gradient(135deg, var(--olam-accent-dark), var(--olam-accent));
    color: #ffffff;
    box-shadow: var(--olam-shadow-strong);
}

.olam-block[data-olam-block].olam-pullquote > .olam-icon {
    color: var(--olam-gold);
}

.olam-block[data-olam-block].olam-pullquote p {
    margin: 0;
    font-family: var(--olam-heading-font);
    font-size: clamp(1.5rem, 4vw, 2.6rem);
    line-height: 1.12;
}

.olam-block[data-olam-block].olam-pullquote cite {
    color: rgba(255, 255, 255, 0.74);
    font-style: normal;
    font-weight: 900;
}

.olam-block[data-olam-block].olam-selfcheck > p {
    margin: 0;
    color: var(--olam-muted);
}

.olam-block[data-olam-block].olam-finalsynthesis {
    overflow: hidden;
    border-color: rgba(201, 162, 39, 0.22);
    background:
        radial-gradient(circle at 88% 0%, rgba(201, 162, 39, 0.25), transparent 30%),
        radial-gradient(circle at 0% 100%, rgba(164, 21, 76, 0.32), transparent 38%),
        linear-gradient(135deg, var(--olam-accent-dark), #5b0f2d);
    color: #ffffff;
}

.olam-block[data-olam-block].olam-finalsynthesis h3,
.olam-block[data-olam-block].olam-finalsynthesis header p,
.olam-block[data-olam-block].olam-finalsynthesis h4,
.olam-block[data-olam-block].olam-finalsynthesis article p {
    color: #ffffff;
}

.olam-block[data-olam-block].olam-finalsynthesis .olam-final-kicker {
    background: rgba(255, 255, 255, 0.1);
}

.olam-block[data-olam-block].olam-finalsynthesis article {
    border: 1px solid rgba(201, 162, 39, 0.24);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.olam-block[data-olam-block].olam-finalsynthesis article em {
    color: rgba(201, 162, 39, 0.78);
}

.olam-block[data-olam-block] .olam-finalsynthesis__icon {
    display: inline-flex;
    width: fit-content;
}

.olam-block[data-olam-block] .olam-finalsynthesis__icon .olam-icon {
    background: linear-gradient(135deg, var(--olam-gold), #d99a2b);
    color: #3f2606;
}

.olam-block[data-olam-block].olam-references > div {
    display: grid;
    gap: 0.8rem;
}

.olam-block[data-olam-block] .olam-reference {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid rgba(164, 21, 76, 0.12);
    border-left: 5px solid var(--olam-accent);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 14px 34px -32px rgba(58, 15, 34, 0.52);
}

.olam-block[data-olam-block] .olam-reference__icon {
    display: grid;
    flex: 0 0 auto;
    height: 44px;
    width: 44px;
    place-items: center;
    border-radius: 13px;
    background: var(--olam-pink-soft);
    color: var(--olam-accent);
}

.olam-block[data-olam-block] .olam-reference__body {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
}

.olam-block[data-olam-block] .olam-reference__type {
    width: fit-content;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: rgba(164, 21, 76, 0.08);
    color: var(--olam-accent);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-reference p strong {
    color: var(--olam-accent-dark);
}

.olam-block[data-olam-block] .olam-reference p em {
    color: var(--olam-ink);
}

.olam-block[data-olam-block].olam-references a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    color: var(--olam-accent);
    font-weight: 800;
}

/* ------------------------------------------------------------------ */
/* Editor UI: catalog and live editor                                 */
/* ------------------------------------------------------------------ */
.tiny-olamblocks-ui-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(25, 15, 20, 0.42);
    backdrop-filter: blur(3px);
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal {
    display: flex;
    flex-direction: column;
    width: min(1100px, 96vw);
    max-height: min(820px, 92vh);
    overflow: hidden;
    border-radius: 18px;
    background: #fbfaf8;
    box-shadow: 0 28px 80px -28px rgba(0, 0, 0, 0.55);
    color: #33232b;
    font-family: "Nunito", "Mulish", Arial, sans-serif;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal--catalog {
    width: min(980px, 96vw);
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal__head,
.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    border-bottom: 1px solid #eadfe4;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal__foot {
    justify-content: flex-end;
    border-top: 1px solid #eadfe4;
    border-bottom: 0;
    background: #ffffff;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal__head h3 {
    margin: 0;
    color: #3a0f22;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-kicker {
    display: block;
    margin-bottom: 0.18rem;
    color: #a4154c;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-modal__body {
    overflow: auto;
    padding: 20px 22px;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-iconbtn,
.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-btn {
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 800;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-iconbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    background: #fce3ec;
    color: #a4154c;
    font-size: 1rem;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-btn {
    min-height: 40px;
    padding: 0.66rem 1.1rem;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-btn--ghost {
    background: #f4eef1;
    color: #3a0f22;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-btn--primary {
    background: #a4154c;
    color: #ffffff;
    box-shadow: 0 12px 24px -18px rgba(164, 21, 76, 0.75);
}

.tiny-olamblocks-ui-overlay .olam-catalog-search {
    align-items: center;
    background: #ffffff;
    border: 1px solid #ead5d8;
    border-radius: 999px;
    box-shadow: 0 12px 26px -24px rgba(58, 15, 34, 0.5);
    color: #a4154c;
    display: flex;
    gap: 0.6rem;
    margin: 0 0 16px;
    max-width: 520px;
    padding: 0.6rem 0.95rem;
}

.tiny-olamblocks-ui-overlay .olam-catalog-search input {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #33232b;
    flex: 1 1 auto;
    font: inherit;
    min-width: 0;
    outline: 0;
    padding: 0;
}

.tiny-olamblocks-ui-overlay .olam-catalog-search input::placeholder {
    color: #8a7a82;
}

.tiny-olamblocks-ui-overlay .olam-catalog-empty {
    background: #fff6f9;
    border: 1px solid #f0dce4;
    border-radius: 14px;
    color: #6f6268;
    margin: 0 0 16px;
    padding: 0.85rem 1rem;
}

.tiny-olamblocks-ui-overlay .olam-catalog {
    display: grid;
    gap: 22px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-section {
    display: grid;
    gap: 12px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-section__head {
    display: grid;
    gap: .25rem;
}

.tiny-olamblocks-ui-overlay .olam-catalog-section__head h4 {
    color: var(--olam-primary-dark, #3a0f22);
    font-family: var(--olam-font-title, Georgia, "Times New Roman", serif);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.tiny-olamblocks-ui-overlay .olam-catalog-section__head p {
    color: var(--olam-muted, #6f6268);
    font-size: .92rem;
    line-height: 1.4;
    margin: 0;
}

.tiny-olamblocks-ui-overlay .olam-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card {
    position: relative;
    display: flex;
    min-height: 210px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.62rem;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid rgba(164, 21, 76, 0.08);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 16px 34px -28px rgba(58, 15, 34, 0.48);
    color: #33232b;
    text-align: left;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card:hover,
.tiny-olamblocks-ui-overlay .olam-catalog-card:focus {
    border-color: rgba(164, 21, 76, 0.3);
    box-shadow: 0 22px 40px -26px rgba(58, 15, 34, 0.58);
    transform: translateY(-2px);
}

.tiny-olamblocks-ui-overlay .olam-catalog-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    width: 46px;
    border-radius: 14px;
    background: #fce3ec;
    color: #e5197d;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card__meta {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0.24rem 0.55rem;
    border-radius: 999px;
    background: #f3ead0;
    color: #7c6518;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card strong {
    color: #3a0f22;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    line-height: 1.2;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card span:not(.olam-catalog-card__icon):not(.olam-catalog-card__meta):not(.olam-catalog-card__mini) {
    color: #6f6268;
    font-size: 0.92rem;
    line-height: 1.35;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card__mini {
    display: grid;
    width: 100%;
    margin-top: auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card__mini i {
    display: block;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, #fce3ec, #ffffff);
    border: 1px solid #f0dce4;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--hero .olam-catalog-card__mini {
    display: block;
    height: 54px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3a0f22, #a4154c);
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--accordion .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--quiz .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--timeline .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--stepper .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--tabs .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--download .olam-catalog-card__mini {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--accordion .olam-catalog-card__mini i,
.tiny-olamblocks-ui-overlay .olam-catalog-card--quiz .olam-catalog-card__mini i,
.tiny-olamblocks-ui-overlay .olam-catalog-card--timeline .olam-catalog-card__mini i,
.tiny-olamblocks-ui-overlay .olam-catalog-card--stepper .olam-catalog-card__mini i,
.tiny-olamblocks-ui-overlay .olam-catalog-card--tabs .olam-catalog-card__mini i,
.tiny-olamblocks-ui-overlay .olam-catalog-card--download .olam-catalog-card__mini i {
    width: 100%;
    height: 14px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--hotspots .olam-catalog-card__mini,
.tiny-olamblocks-ui-overlay .olam-catalog-card--gallery .olam-catalog-card__mini {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr;
    grid-template-rows: repeat(2, 28px);
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--hotspots .olam-catalog-card__mini i:first-child,
.tiny-olamblocks-ui-overlay .olam-catalog-card--gallery .olam-catalog-card__mini i:first-child {
    grid-row: span 2;
    height: auto;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--mindmap .olam-catalog-card__mini {
    position: relative;
    display: block;
    height: 62px;
    border-radius: 14px;
    background: radial-gradient(circle at center, #a4154c 0 18%, #fce3ec 19% 28%, transparent 29%);
    border: 1px solid #f0dce4;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--mindmap .olam-catalog-card__mini i {
    position: absolute;
    height: 18px;
    width: 48px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--mindmap .olam-catalog-card__mini i:nth-child(1) {
    left: 8px;
    top: 8px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--mindmap .olam-catalog-card__mini i:nth-child(2) {
    right: 8px;
    top: 8px;
}

.tiny-olamblocks-ui-overlay .olam-catalog-card--mindmap .olam-catalog-card__mini i:nth-child(3) {
    left: calc(50% - 24px);
    bottom: 8px;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-editor {
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-form {
    display: grid;
    gap: 0.82rem;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-field {
    display: grid;
    gap: 0.3rem;
    margin: 0;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-label {
    color: #6f6268;
    font-size: 0.78rem;
    font-weight: 800;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-input {
    width: 100%;
    min-height: 40px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #e6dbe0;
    border-radius: 10px;
    background: #ffffff;
    color: #33232b;
    font: inherit;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-input:focus {
    outline: 2px solid rgba(164, 21, 76, 0.22);
    border-color: #a4154c;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-textarea {
    min-height: 92px;
    resize: vertical;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-color {
    min-height: 42px;
    padding: 0.2rem;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-icon-field {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-icon-preview {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid var(--olam-border, #e6dbe0);
    border-radius: 14px;
    background: color-mix(in srgb, var(--olam-accent, #a4154c) 10%, #fff);
    color: var(--olam-accent, #a4154c);
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-preview {
    position: sticky;
    top: 0;
    min-height: 420px;
    overflow: auto;
    border: 1px solid #eadfe4;
    border-radius: 16px;
    background: #f4f4f4;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-preview__head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #eadfe4;
    background: rgba(255, 255, 255, 0.9);
    color: #a4154c;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-preview__stage {
    padding: 1rem;
}

/* ------------------------------------------------------------------ */
/* Shared animation and responsive rules                              */
/* ------------------------------------------------------------------ */
@keyframes olam-fade-up {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes olam-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.55);
    }
    70% {
        box-shadow: 0 0 0 14px rgba(201, 162, 39, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(201, 162, 39, 0);
    }
}

@media (max-width: 640px) {
    .olam-block[data-olam-block].olam-hero {
        min-height: 320px;
        padding: 1.5rem;
    }

    .olam-block[data-olam-block] .olam-hero__overlay {
        background: rgba(46, 14, 26, 0.78);
    }

    .olam-block[data-olam-block] .olam-hero__title {
        font-size: 2rem;
    }

    .olam-block[data-olam-block] .olam-flip__grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-flip__intro,
    .olam-block[data-olam-block] .olam-accordion__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-accordion {
        padding: 1rem;
    }

    .olam-block[data-olam-block] .olam-accordion__head {
        align-items: flex-start;
    }

    .olam-block[data-olam-block] .olam-accordion__body {
        padding-left: 1rem;
    }

    .olam-block[data-olam-block].olam-quiz {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-quiz__side {
        min-height: 180px;
    }

    .olam-block[data-olam-block] .olam-quiz__main {
        padding: 0.3rem;
    }

    .olam-block[data-olam-block] .olam-timeline__rail,
    .olam-block[data-olam-block].olam-tabs,
    .olam-block[data-olam-block] .olam-download__grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-timeline__rail::before {
        display: none;
    }

    .olam-block[data-olam-block] .olam-tabs__aside {
        min-height: 220px;
    }

    .olam-block[data-olam-block] .olam-tabs__nav,
    .olam-block[data-olam-block] .olam-stepper__nav {
        grid-template-columns: 1fr 1fr;
    }

    .olam-block[data-olam-block] .olam-hotspots__stage {
        min-height: 520px;
    }

    .olam-block[data-olam-block] .olam-hotspots__cards {
        left: 1rem;
        right: 1rem;
        width: auto;
    }

    .olam-block[data-olam-block] .olam-stepper__panel {
        min-height: 240px;
    }

    .olam-block[data-olam-block] .olam-gallery__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 220px;
    }

    .olam-block[data-olam-block] .olam-gallery__item:first-child {
        grid-row: auto;
    }

    .olam-block[data-olam-block].olam-mindmap {
        min-height: auto;
    }

    .olam-block[data-olam-block].olam-mindmap::before,
    .olam-block[data-olam-block].olam-mindmap::after,
    .olam-block[data-olam-block] .olam-mindmap__node::before {
        display: none;
    }

    .olam-block[data-olam-block] .olam-mindmap__center,
    .olam-block[data-olam-block] .olam-mindmap__node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        transform: none;
    }

    .olam-block[data-olam-block] .olam-mindmap__center {
        height: auto;
        min-height: 150px;
        border-radius: 24px;
        margin-bottom: 1rem;
    }

    .olam-block[data-olam-block] .olam-mindmap__nodes {
        display: grid;
        min-height: auto;
        gap: 0.75rem;
    }

    .olam-block[data-olam-block].olam-lessonmap,
    .olam-block[data-olam-block] .olam-lessonmap__main,
    .olam-block[data-olam-block] .olam-lessonmap__chips,
    .olam-block[data-olam-block].olam-layers,
    .olam-block[data-olam-block].olam-smartdownload,
    .olam-block[data-olam-block] .olam-errorclue__case,
    .olam-block[data-olam-block] .olam-errorclue__plan,
    .olam-block[data-olam-block] .olam-visualcompare__panels,
    .olam-block[data-olam-block] .olam-observe__grid,
    .olam-block[data-olam-block] .olam-trylab__body,
    .olam-block[data-olam-block] .olam-indicator__board,
    .olam-block[data-olam-block] .olam-indicator__response,
    .olam-block[data-olam-block].olam-story,
    .olam-block[data-olam-block] .olam-puzzle__body,
    .olam-block[data-olam-block].olam-path,
    .olam-block[data-olam-block] .olam-dialogue__body,
    .olam-block[data-olam-block].olam-pause,
    .olam-block[data-olam-block].olam-sectiontitle,
    .olam-block[data-olam-block].olam-videonotes,
    .olam-block[data-olam-block].olam-simplecompare > div {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-lessonmap {
        padding: 0.85rem;
    }

    .olam-block[data-olam-block].olam-lessonmap::before,
    .olam-block[data-olam-block] .olam-lessonmap__canvas::before,
    .olam-block[data-olam-block] .olam-lessonmap__canvas::after,
    .olam-block[data-olam-block] .olam-lessonmap__node::before {
        display: none;
    }

    .olam-block[data-olam-block] .olam-lessonmap__canvas {
        display: grid;
        min-height: auto;
        gap: 0.75rem;
        padding: 1rem;
    }

    .olam-block[data-olam-block] .olam-lessonmap__lines {
        display: none;
    }

    .olam-block[data-olam-block] .olam-lessonmap__center,
    .olam-block[data-olam-block] .olam-lessonmap__node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        transform: none;
    }

    .olam-block[data-olam-block] .olam-lessonmap__center {
        height: auto;
        min-height: 150px;
        border-radius: 24px;
    }

    .olam-block[data-olam-block] .olam-lessonmap__explain {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        transform: none;
    }

    .olam-block[data-olam-block] .olam-layers__intro,
    .olam-block[data-olam-block] .olam-smartdownload__cover {
        min-height: 300px;
    }

    .olam-block[data-olam-block] .olam-layers__tabs {
        grid-template-columns: 1fr 1fr;
    }

    .olam-block[data-olam-block] .olam-layers__tab {
        min-height: 100px;
    }

    .olam-block[data-olam-block] .olam-smartdownload__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .olam-block[data-olam-block] .olam-smartdownload__actions a {
        width: 100%;
    }

    .olam-block[data-olam-block] .olam-memory__grid,
    .olam-block[data-olam-block] .olam-errorclue__types,
    .olam-block[data-olam-block] .olam-visualcompare__points,
    .olam-block[data-olam-block] .olam-reflection__topics,
    .olam-block[data-olam-block] .olam-reflection__moods,
    .olam-block[data-olam-block] .olam-indicator__metrics {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-puzzle__slots,
    .olam-block[data-olam-block] .olam-path__choices {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-dialogue__msg {
        max-width: 100%;
    }

    .olam-block[data-olam-block] .olam-pause__scene,
    .olam-block[data-olam-block].olam-path aside {
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-pause__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .olam-block[data-olam-block] .olam-pause__actions button {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-sectiontitle > span,
.olam-block[data-olam-block].olam-sectiontitle > .olam-sectiontitle__number,
.olam-block[data-olam-block].olam-sectiontitle > strong:first-child {
        font-size: 3.8rem;
    }

    .olam-block[data-olam-block].olam-contenttimeline > div {
        padding-left: 42px;
    }

    .olam-block[data-olam-block].olam-contenttimeline > div::before {
        left: 17px;
    }

    .olam-block[data-olam-block] .olam-timeline-step summary > span {
        left: -42px;
        top: 23px;
        height: 34px;
        width: 34px;
        font-size: 1.2rem;
    }

    .olam-block[data-olam-block] .olam-glossary__term p {
        padding-left: 0;
    }

    .olam-block[data-olam-block] .olam-reference {
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-progresscheck header,
    .olam-block[data-olam-block].olam-selfcheck header {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block] .olam-videonotes__media,
    .olam-block[data-olam-block] .olam-videonotes__media iframe {
        min-height: 240px;
    }

    .olam-block[data-olam-block].olam-conceptlab header {
        align-items: flex-start;
        flex-direction: column;
    }

    .olam-block[data-olam-block].olam-conceptlab header p {
        max-width: none;
        text-align: left;
    }

    .olam-block[data-olam-block] .olam-observe__nav {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-observe__scene {
        min-height: 300px;
    }

    .olam-block[data-olam-block] .olam-reflection__topic {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-trylab aside,
    .olam-block[data-olam-block].olam-story aside {
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-indicator__chart {
        min-height: 250px;
        overflow-x: auto;
    }

    .olam-block[data-olam-block] .olam-indicator__chart div {
        min-width: 76px;
        height: 210px;
    }

    .olam-block[data-olam-block] .olam-story__nav {
        grid-template-columns: repeat(3, 1fr);
    }

    .tiny-olamblocks-ui-overlay {
        align-items: stretch;
        padding: 10px;
    }

    .tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-editor {
        grid-template-columns: 1fr;
    }

    .tiny-olamblocks-ui-overlay .tiny-olamblocks-ui-preview {
        position: static;
        min-height: 280px;
    }
}

@media (max-width: 900px) {
    .olam-block[data-olam-block] .olam-aulamap__main {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-aulamap__objective,
    .olam-block[data-olam-block] .olam-aulamap__success {
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-aulamap__canvas {
        min-height: 450px;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-aulamap {
        gap: 1rem;
        padding: 1rem;
        border-radius: 20px;
    }

    .olam-block[data-olam-block].olam-aulamap::before {
        right: 1rem;
        top: 1.2rem;
        font-size: 6rem;
    }

    .olam-block[data-olam-block] .olam-aulamap__hero h3 {
        font-size: 2.65rem;
    }

    .olam-block[data-olam-block] .olam-aulamap__question {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 0.85rem;
    }

    .olam-block[data-olam-block] .olam-aulamap__question > span {
        height: 40px;
        width: 40px;
    }

    .olam-block[data-olam-block] .olam-aulamap__canvas {
        display: grid;
        gap: 0.75rem;
        min-height: auto;
    }

    .olam-block[data-olam-block] .olam-aulamap__rings,
    .olam-block[data-olam-block] .olam-aulamap__lines {
        display: none;
    }

    .olam-block[data-olam-block] .olam-aulamap__center,
    .olam-block[data-olam-block] .olam-aulamap__node,
    .olam-block[data-olam-block] .olam-aulamap__explain {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        transform: none;
    }

    .olam-block[data-olam-block] .olam-aulamap__center {
        height: auto;
        min-height: 142px;
        border-radius: 24px;
    }

    .olam-block[data-olam-block] .olam-aulamap__node {
        border-radius: 18px;
    }

    .olam-block[data-olam-block] .olam-aulamap__chips {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block] .olam-aulamap__cta {
        min-height: 60px;
        font-size: 1.1rem;
    }
}

@media (max-width: 1000px) {
    .olam-block[data-olam-block].olam-puzzle .olam-puzzle__layout,
    .mce-content-body .olam-block[data-olam-block].olam-puzzle .olam-puzzle__layout,
    .olam-block[data-olam-block].olam-path .olam-path__layout,
    .mce-content-body .olam-block[data-olam-block].olam-path .olam-path__layout,
    .olam-block[data-olam-block].olam-reflection .olam-reflection__layout,
    .mce-content-body .olam-block[data-olam-block].olam-reflection .olam-reflection__layout {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-help-grid,
    .olam-block[data-olam-block].olam-path .olam-help-grid,
    .olam-block[data-olam-block].olam-path .olam-route-steps,
    .olam-block[data-olam-block].olam-reflection .olam-help-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-reflection .olam-orbit {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-reflection .olam-orbit-visual {
        margin: 0 auto;
    }
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-puzzle .olam-shell {
        padding: 1rem;
        border-radius: 22px;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-puzzle h3 {
        font-size: 2.45rem;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-card-title {
        display: block;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
        white-space: normal;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-slots {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-actions,
    .olam-block[data-olam-block].olam-puzzle .olam-btn {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-puzzle .olam-btn {
        justify-content: center;
    }

    .olam-block[data-olam-block].olam-path .olam-shell {
        padding: 1rem;
        border-radius: 22px;
    }

    .olam-block[data-olam-block].olam-path .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-path h3 {
        font-size: 2.45rem;
    }

    .olam-block[data-olam-block].olam-path .olam-card-head {
        display: block;
    }

    .olam-block[data-olam-block].olam-path .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
        white-space: normal;
    }

    .olam-block[data-olam-block].olam-path .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-path .olam-choice-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-path .olam-actions,
    .olam-block[data-olam-block].olam-path .olam-btn {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-path .olam-btn {
        justify-content: center;
    }

    .olam-block[data-olam-block].olam-reflection .olam-shell {
        padding: 1rem;
        border-radius: 22px;
    }

    .olam-block[data-olam-block].olam-reflection .olam-content {
        padding-left: 16px;
    }

    .olam-block[data-olam-block].olam-reflection h2 {
        font-size: 2.45rem;
    }

    .olam-block[data-olam-block].olam-reflection .olam-card-head,
    .olam-block[data-olam-block].olam-reflection .olam-map-intro {
        display: block;
    }

    .olam-block[data-olam-block].olam-reflection .olam-badge-soft {
        display: inline-block;
        margin-top: 0.7rem;
        white-space: normal;
    }

    .olam-block[data-olam-block].olam-reflection .olam-image-frame {
        min-height: auto;
    }

    .olam-block[data-olam-block].olam-reflection .olam-image-overlay {
        position: static;
        margin: 0.85rem;
    }

    .olam-block[data-olam-block].olam-reflection .olam-topic-grid,
    .olam-block[data-olam-block].olam-reflection .olam-mood-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-reflection .olam-actions,
    .olam-block[data-olam-block].olam-reflection .olam-btn {
        width: 100%;
    }

    .olam-block[data-olam-block].olam-reflection .olam-btn {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .olam-block[data-olam-block] *,
    .olam-block[data-olam-block] *::before,
    .olam-block[data-olam-block] *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* Catalog faithful layer: blocks 27-39 use theme tokens by default. */
.olam-block[data-olam-block].olam-hb-heading,
.olam-block[data-olam-block].olam-hb-timeline,
.olam-block[data-olam-block].olam-hb-flipcards,
.olam-block[data-olam-block].olam-hb-glossary,
.olam-block[data-olam-block].olam-hb-video,
.olam-block[data-olam-block].olam-hb-callout,
.olam-block[data-olam-block].olam-hb-steps,
.olam-block[data-olam-block].olam-hb-compare,
.olam-block[data-olam-block].olam-hb-quote,
.olam-block[data-olam-block].olam-hb-checklist,
.olam-block[data-olam-block].olam-hb-faq,
.olam-block[data-olam-block].olam-hb-synthesis,
.olam-block[data-olam-block].olam-hb-refs {
    --hb-primary: var(--course-primary, #8f003d);
    --hb-primary-dark: var(--course-primary-dark, #3f0d23);
    --hb-primary-hover: var(--olam-primary-hover, var(--course-primary-dark, #5b0f2d));
    --hb-accent: var(--course-accent, #d99a2b);
    --hb-success: var(--course-complete, var(--olam-success, #5f6b2f));
    --hb-bg: var(--course-bg, #f8efe7);
    --hb-card: var(--course-card, #ffffff);
    --hb-ink: currentColor;
    --hb-muted: color-mix(in srgb, currentColor 68%, transparent);
    --hb-border: color-mix(in srgb, var(--hb-primary) 18%, transparent);
    --hb-border-strong: color-mix(in srgb, var(--hb-primary) 28%, transparent);
    --hb-surface: color-mix(in srgb, var(--hb-card) 86%, transparent);
    --hb-surface-alt: color-mix(in srgb, var(--hb-bg) 66%, var(--hb-card));
    --hb-shadow-soft: 0 8px 22px rgba(7, 19, 34, .055);
    --hb-shadow: 0 12px 30px rgba(7, 19, 34, .075);
    --hb-shadow-strong: 0 18px 44px rgba(7, 19, 34, .10);
    --hb-radius-md: var(--olam-radius-md, 16px);
    --hb-radius-lg: var(--olam-radius-lg, 22px);
    --hb-radius-xl: var(--olam-radius-xl, 30px);
    --hb-title-font: var(--olam-font-title, Georgia, "Times New Roman", serif);
    --hb-body-font: var(--olam-font-sans, inherit);
    color: inherit;
    font-family: var(--hb-body-font);
    margin: 1.5rem auto;
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    position: relative;
}

.olam-block[data-olam-block].olam-hb-heading h1,
.olam-block[data-olam-block].olam-hb-heading h2,
.olam-block[data-olam-block].olam-hb-heading h3,
.olam-block[data-olam-block].olam-hb-timeline h2,
.olam-block[data-olam-block].olam-hb-timeline h3,
.olam-block[data-olam-block].olam-hb-flipcards .olam-term,
.olam-block[data-olam-block].olam-hb-glossary h2,
.olam-block[data-olam-block].olam-hb-video h2,
.olam-block[data-olam-block].olam-hb-callout h3,
.olam-block[data-olam-block].olam-hb-steps h2,
.olam-block[data-olam-block].olam-hb-steps h3,
.olam-block[data-olam-block].olam-hb-compare h2,
.olam-block[data-olam-block].olam-hb-compare h3,
.olam-block[data-olam-block].olam-hb-quote blockquote,
.olam-block[data-olam-block].olam-hb-checklist h2,
.olam-block[data-olam-block].olam-hb-faq h2,
.olam-block[data-olam-block].olam-hb-synthesis h2,
.olam-block[data-olam-block].olam-hb-synthesis h3,
.olam-block[data-olam-block].olam-hb-refs h2 {
    font-family: var(--hb-title-font);
    letter-spacing: 0;
}

.olam-block[data-olam-block] .olam-hb-grid {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.olam-block[data-olam-block] .olam-hb-col {
    min-width: 0;
}

.olam-block[data-olam-block] .olam-kicker {
    align-items: center;
    background: var(--hb-primary-dark);
    border-radius: 999px;
    color: var(--olam-primary-contrast, #fff8f1);
    display: inline-flex;
    font-size: .72rem;
    font-weight: 800;
    gap: .5rem;
    letter-spacing: .1em;
    padding: .5rem .95rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block] .olam-kicker .olam-icon {
    color: var(--hb-accent);
}

.olam-block[data-olam-block] .olam-shell {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    max-width: 100%;
    min-height: 0 !important;
    padding: clamp(1.25rem, 3vw, 2.4rem);
    width: 100%;
}

.olam-block[data-olam-block] .olam-shell > * {
    max-width: 100%;
}

.olam-block[data-olam-block] .olam-content,
.olam-block[data-olam-block] .olam-grid {
    max-width: 100%;
}

.olam-block[data-olam-block] .olam-sub {
    color: var(--hb-muted);
    font-size: 1.125rem;
    line-height: 1.68;
    margin: 0 0 1.4rem;
    max-width: 680px;
}

.olam-block[data-olam-block].olam-hb-heading {
    --hb-bar-primary: var(--hb-primary);
    --hb-bar-accent: var(--hb-accent);
    --hb-bar-ink: color-mix(in srgb, currentColor 88%, transparent);
    background: transparent;
    box-shadow: none;
    padding: clamp(1rem, 3vw, 2.35rem) 0;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h {
    align-items: center;
    display: flex;
    gap: clamp(1.15rem, 3vw, 1.7rem);
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    flex: 1 1 auto;
    min-height: 0 !important;
    min-width: 0;
    padding: 0 !important;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-ic {
    align-items: center;
    background: linear-gradient(135deg, var(--hb-primary), var(--hb-primary-dark));
    border-radius: clamp(22px, 3vw, 30px);
    box-shadow: var(--hb-shadow-soft);
    color: var(--olam-primary-contrast, #fff);
    display: inline-flex;
    flex: 0 0 clamp(72px, 10vw, 94px);
    height: clamp(72px, 10vw, 94px);
    justify-content: center;
    width: clamp(72px, 10vw, 94px);
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-ic .olam-icon {
    height: 58%;
    width: 58%;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-kicker {
    color: var(--hb-primary);
    font-size: clamp(.86rem, 1.7vw, 1.08rem);
    font-weight: 900;
    line-height: 1;
    margin: 0 0 .35rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-heading h2 {
    color: var(--hb-primary-dark);
    font-size: clamp(2.5rem, 6.4vw, 4rem);
    font-weight: 900;
    line-height: .95;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-bars,
.olam-block[data-olam-block].olam-hb-heading .olam-bars {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: .75rem;
    height: auto !important;
    justify-content: flex-start !important;
    margin: .75rem 0 0 !important;
    max-width: none !important;
    min-height: 10px !important;
    padding: 0 !important;
    width: auto !important;
}

.olam-block[data-olam-block].olam-hb-heading[data-bars="0"] .olam-h-bars,
.olam-block[data-olam-block].olam-hb-heading[data-bars="0"] .olam-bars {
    display: none !important;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-bars span,
.olam-block[data-olam-block].olam-hb-heading .olam-bars span {
    border-radius: 999px;
    border: 0 !important;
    display: block !important;
    flex: 0 0 auto;
    font-size: 0;
    height: 9px;
    line-height: 0;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-bars .b1,
.olam-block[data-olam-block].olam-hb-heading .olam-bars .b1 {
    background: var(--hb-bar-primary);
    width: 96px;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-bars .b2,
.olam-block[data-olam-block].olam-hb-heading .olam-bars .b2 {
    background: var(--hb-bar-accent);
    width: 42px;
}

.olam-block[data-olam-block].olam-hb-heading .olam-h-bars .b3,
.olam-block[data-olam-block].olam-hb-heading .olam-bars .b3 {
    background: var(--hb-bar-ink);
    width: 22px;
}

.olam-block[data-olam-block].olam-hb-heading.is-sub .olam-h-ic {
    flex-basis: 70px;
    height: 70px;
    width: 70px;
}

.olam-block[data-olam-block].olam-hb-heading.is-sub h2 {
    font-size: clamp(2rem, 4.6vw, 3rem);
}

.olam-block[data-olam-block].olam-hb-timeline .olam-track {
    padding-left: clamp(84px, 8vw, 104px);
    position: relative;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-track::before,
.olam-block[data-olam-block].olam-hb-timeline .olam-progress {
    border-radius: 3px;
    left: clamp(35px, 4vw, 43px);
    position: absolute;
    top: 12px;
    width: 4px;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-track::before {
    background: linear-gradient(180deg, var(--hb-primary), color-mix(in srgb, var(--hb-accent) 55%, transparent));
    bottom: 8px;
    content: "";
}

.olam-block[data-olam-block].olam-hb-timeline .olam-progress {
    background: linear-gradient(180deg, var(--hb-accent), color-mix(in srgb, var(--hb-accent) 78%, #fff));
    height: 0;
    transition: height .9s cubic-bezier(.2, .8, .25, 1);
}

.olam-block[data-olam-block].olam-hb-timeline.is-visible .olam-progress {
    height: calc(100% - 16px);
}

.olam-block[data-olam-block].olam-hb-timeline .olam-step {
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    margin-bottom: 1.1rem;
    position: relative;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-dot {
    background: linear-gradient(135deg, var(--timeline-dot-bg, var(--hb-accent)), color-mix(in srgb, var(--timeline-dot-bg, var(--hb-accent)) 72%, #fff));
    border: 1px solid color-mix(in srgb, var(--timeline-dot-bg, var(--hb-accent)) 78%, #fff);
    border-radius: 20px;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--timeline-dot-bg, var(--hb-accent)) 30%, transparent);
    color: var(--timeline-dot-ink, #ffffff);
    display: grid;
    font-family: var(--hb-title-font);
    font-size: 1.35rem;
    font-weight: 800;
    height: 76px;
    left: calc(-1 * clamp(84px, 8vw, 104px));
    place-items: center;
    position: absolute;
    top: 14px;
    width: 76px;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-dot .olam-icon {
    height: 2.25rem;
    width: 2.25rem;
}

.olam-block[data-olam-block] .olam-step-btn,
.olam-block[data-olam-block] .olam-term-btn,
.olam-block[data-olam-block] .olam-q-btn,
.olam-block[data-olam-block] .olam-transcript-btn {
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-step-btn {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    padding: 1.45rem 1.65rem;
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-step-eyebrow {
    color: var(--hb-primary);
    display: block;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-timeline .olam-step-title {
    color: var(--hb-primary-dark);
    display: block;
    font-family: var(--hb-title-font);
    font-size: clamp(1.45rem, 2.5vw, 2.05rem);
    font-weight: 700;
    line-height: 1.15;
    margin-top: .15rem;
}

.olam-block[data-olam-block] .olam-chevron,
.olam-block[data-olam-block] .olam-term-chev,
.olam-block[data-olam-block] .olam-q-chev,
.olam-block[data-olam-block] .olam-chev {
    color: var(--hb-primary);
    transition: transform .3s ease;
}

.olam-block[data-olam-block] [aria-expanded="true"] .olam-chevron,
.olam-block[data-olam-block] [aria-expanded="true"] .olam-term-chev,
.olam-block[data-olam-block] [aria-expanded="true"] .olam-q-chev,
.olam-block[data-olam-block] [aria-expanded="true"] .olam-chev {
    transform: rotate(180deg);
}

.olam-block[data-olam-block] .olam-panel,
.olam-block[data-olam-block] .olam-term-panel,
.olam-block[data-olam-block] .olam-transcript-panel,
.olam-block[data-olam-block] .olam-q-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

.olam-block[data-olam-block] .olam-panel-inner,
.olam-block[data-olam-block] .olam-term-def,
.olam-block[data-olam-block] .olam-transcript-inner,
.olam-block[data-olam-block] .olam-q-ans {
    color: var(--hb-muted);
    font-size: 1.125rem;
    line-height: 1.72;
    padding: 0 1.65rem 1.55rem;
}

@media (max-width: 640px) {
    .olam-block[data-olam-block].olam-hb-timeline .olam-track {
        padding-left: 72px;
    }

    .olam-block[data-olam-block].olam-hb-timeline .olam-track::before,
    .olam-block[data-olam-block].olam-hb-timeline .olam-progress {
        left: 31px;
    }

    .olam-block[data-olam-block].olam-hb-timeline .olam-dot {
        border-radius: 18px;
        height: 62px;
        left: -72px;
        width: 62px;
    }

    .olam-block[data-olam-block].olam-hb-timeline .olam-dot .olam-icon {
        height: 1.9rem;
        width: 1.9rem;
    }
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-head,
.olam-block[data-olam-block].olam-hb-glossary .olam-head {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.6rem;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-head-note {
    color: var(--hb-muted);
    font-size: 1.125rem;
    line-height: 1.65;
    max-width: 460px;
    text-align: right;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-card {
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    min-height: 270px;
    padding: 0;
    perspective: 1400px;
    text-align: left;
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-card-inner {
    display: block;
    min-height: 270px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform .7s cubic-bezier(.2, .8, .25, 1);
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-card[aria-pressed="true"] .olam-card-inner {
    transform: rotateY(180deg);
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-face {
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    display: flex;
    flex-direction: column;
    inset: 0;
    min-height: 270px;
    overflow: hidden;
    padding: 1.5rem;
    position: absolute;
    width: 100%;
    backface-visibility: hidden;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-face-front {
    background: linear-gradient(160deg, var(--hb-card), color-mix(in srgb, var(--hb-bg) 56%, var(--hb-card)));
    border: 1px solid var(--hb-border);
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-face-back {
    background: linear-gradient(150deg, var(--hb-primary-dark), var(--hb-primary));
    border: 1px solid color-mix(in srgb, var(--hb-accent) 32%, transparent);
    color: var(--olam-primary-contrast, #fff8f1);
    transform: rotateY(180deg);
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-num {
    color: color-mix(in srgb, var(--hb-accent) 34%, transparent);
    font-family: var(--hb-title-font);
    font-size: 4.4rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    right: 1.1rem;
    top: .5rem;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-eyebrow,
.olam-block[data-olam-block].olam-hb-flipcards .olam-back-label {
    color: var(--hb-accent);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-eyebrow {
    margin-bottom: auto;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-term {
    color: var(--hb-primary-dark);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.1;
    margin: .2rem 0 0;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-fliphint,
.olam-block[data-olam-block].olam-hb-flipcards .olam-back-foot {
    align-items: center;
    display: inline-flex;
    font-size: .74rem;
    font-weight: 800;
    gap: .4rem;
    letter-spacing: .06em;
    margin-top: 1rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-fliphint {
    align-self: flex-start;
    background: color-mix(in srgb, var(--hb-accent) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--hb-accent) 30%, transparent);
    border-radius: 999px;
    color: var(--hb-primary);
    padding: .4rem .8rem;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-def {
    font-size: 1.18rem;
    line-height: 1.72;
    margin: .85rem 0 0;
}

.olam-block[data-olam-block].olam-hb-flipcards .olam-back-foot {
    color: color-mix(in srgb, var(--olam-primary-contrast, #fff8f1) 78%, transparent);
    margin-top: auto;
}

.olam-block[data-olam-block].olam-hb-glossary h2,
.olam-block[data-olam-block].olam-hb-video h2,
.olam-block[data-olam-block].olam-hb-steps h2,
.olam-block[data-olam-block].olam-hb-compare h2,
.olam-block[data-olam-block].olam-hb-checklist h2,
.olam-block[data-olam-block].olam-hb-faq h2,
.olam-block[data-olam-block].olam-hb-refs h2 {
    color: var(--hb-primary-dark);
    font-size: clamp(1.7rem, 3.4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 1rem 0 .35rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-search {
    align-items: center;
    background: var(--hb-card);
    border: 1px solid var(--hb-border);
    border-radius: 999px;
    box-shadow: var(--hb-shadow-soft);
    display: flex;
    gap: .55rem;
    min-width: min(100%, 320px);
    padding: .55rem .85rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-search input {
    background: transparent;
    border: 0;
    color: inherit;
    flex: 1;
    min-width: 0;
    outline: 0;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-terms {
    display: grid;
    gap: 1.1rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term,
.olam-block[data-olam-block].olam-hb-faq .olam-q {
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-md);
    box-shadow: var(--hb-shadow-soft);
    margin-bottom: .8rem;
    overflow: hidden;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-group {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: 0 0 0 1.35rem;
    overflow: visible;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-btn,
.olam-block[data-olam-block].olam-hb-faq .olam-q-btn {
    align-items: center;
    display: flex;
    gap: .9rem;
    padding: 1.05rem 1.25rem;
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-group .olam-term-btn {
    background: linear-gradient(135deg, var(--hb-surface), color-mix(in srgb, var(--hb-card) 86%, var(--hb-bg)));
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    min-height: 94px;
    overflow: visible;
    padding: 1.25rem 1.5rem 1.25rem 5.15rem;
    position: relative;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-letter,
.olam-block[data-olam-block].olam-hb-faq .olam-q-ic {
    background: color-mix(in srgb, var(--hb-primary) 10%, transparent);
    border-radius: 12px;
    color: var(--hb-primary);
    display: grid;
    flex: 0 0 40px;
    font-family: var(--hb-title-font);
    font-weight: 800;
    height: 40px;
    place-items: center;
    width: 40px;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-letter {
    background: linear-gradient(135deg, color-mix(in srgb, var(--hb-primary) 18%, #fff), var(--hb-card));
    border: 1px solid color-mix(in srgb, var(--hb-primary) 18%, transparent);
    border-radius: 24px;
    box-shadow: 0 18px 36px color-mix(in srgb, var(--hb-primary) 18%, transparent);
    color: var(--hb-primary);
    flex: none;
    font-size: 2.35rem;
    height: 76px;
    left: -1.35rem;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 76px;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-summary {
    display: grid;
    gap: .22rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-name,
.olam-block[data-olam-block].olam-hb-faq .olam-q-text {
    color: var(--hb-primary-dark);
    flex: 1 1 auto;
    font-weight: 800;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-name {
    font-family: var(--hb-title-font);
    font-size: clamp(1.55rem, 2.4vw, 2.1rem);
    line-height: 1.08;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-count {
    color: var(--hb-muted);
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-list {
    display: grid;
    gap: .9rem;
    padding: 1rem 0 .25rem 4rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-entry {
    background: var(--hb-card);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-md);
    box-shadow: var(--hb-shadow-soft);
    padding: 1.25rem 1.35rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-entry h3 {
    color: var(--hb-primary-dark);
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 .45rem;
}

.olam-block[data-olam-block].olam-hb-glossary .olam-term-entry .olam-term-def {
    color: var(--hb-muted);
    font-size: 1.125rem;
    line-height: 1.72;
    padding: 0;
}

@media (max-width: 640px) {
    .olam-block[data-olam-block].olam-hb-glossary .olam-term-group {
        margin-left: .75rem;
    }

    .olam-block[data-olam-block].olam-hb-glossary .olam-term-group .olam-term-btn {
        min-height: 84px;
        padding-left: 4.3rem;
    }

    .olam-block[data-olam-block].olam-hb-glossary .olam-letter {
        border-radius: 20px;
        font-size: 1.9rem;
        height: 64px;
        left: -.75rem;
        width: 64px;
    }

    .olam-block[data-olam-block].olam-hb-glossary .olam-term-list {
        padding-left: 0;
    }
}

.olam-block[data-olam-block].olam-hb-video .olam-video-grid {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr);
}

.olam-block[data-olam-block].olam-hb-video .olam-media {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--hb-primary-dark), var(--hb-primary));
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.olam-block[data-olam-block].olam-hb-video iframe {
    border: 0;
    height: 100%;
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-video .olam-media-empty .olam-icon {
    color: var(--olam-primary-contrast, #fff);
    height: 4rem;
    width: 4rem;
}

.olam-block[data-olam-block].olam-hb-video aside {
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow-soft);
    padding: 1.25rem;
}

.olam-block[data-olam-block].olam-hb-video .olam-prompt {
    color: var(--hb-primary-dark);
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.62;
}

.olam-block[data-olam-block].olam-hb-video .olam-notes {
    list-style: none;
    margin: .8rem 0;
    padding: 0;
}

.olam-block[data-olam-block].olam-hb-video .olam-notes li {
    border-bottom: 1px solid var(--hb-border);
    padding: .45rem 0;
}

.olam-block[data-olam-block].olam-hb-video .olam-caption,
.olam-block[data-olam-block].olam-hb-video .olam-transcript-btn {
    align-items: center;
    color: var(--hb-muted);
    display: flex;
    gap: .45rem;
}

.olam-block[data-olam-block].olam-hb-video .olam-caption {
    font-size: 1.125rem;
    line-height: 1.62;
}

.olam-block[data-olam-block].olam-hb-video .olam-transcript-btn {
    background: color-mix(in srgb, var(--hb-primary) 8%, transparent);
    border-radius: 999px;
    color: var(--hb-primary);
    font-weight: 800;
    justify-content: space-between;
    padding: .7rem 1rem;
    width: 100%;
}

.olam-block[data-olam-block].olam-hb-callout .olam-box {
    align-items: flex-start;
    background: var(--hb-card);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    display: flex;
    gap: 1.1rem;
    margin-bottom: 1rem;
    overflow: hidden;
    padding: 1.3rem 1.4rem;
    position: relative;
}

.olam-block[data-olam-block].olam-hb-callout .olam-box::before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 6px;
}

.olam-block[data-olam-block].olam-hb-callout .olam-ic,
.olam-block[data-olam-block].olam-hb-quote .olam-cite-ic,
.olam-block[data-olam-block].olam-hb-refs .olam-ref-ic {
    align-items: center;
    background: color-mix(in srgb, var(--hb-primary) 10%, transparent);
    border-radius: 14px;
    color: var(--hb-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.olam-block[data-olam-block].olam-hb-callout .is-key::before {
    background: linear-gradient(180deg, var(--hb-primary), var(--hb-accent));
}

.olam-block[data-olam-block].olam-hb-callout .is-tip::before {
    background: var(--hb-accent);
}

.olam-block[data-olam-block].olam-hb-callout .is-note::before {
    background: var(--hb-success);
}

.olam-block[data-olam-block].olam-hb-callout .is-warn::before {
    background: var(--hb-primary-dark);
}

.olam-block[data-olam-block].olam-hb-callout .olam-box-label {
    color: var(--hb-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    margin: 0 0 .25rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-callout .olam-box-title {
    color: var(--hb-primary-dark);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 .35rem;
}

.olam-block[data-olam-block].olam-hb-callout .olam-box-text {
    color: var(--hb-muted);
    font-size: 1.125rem;
    line-height: 1.68;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-steps .olam-meter {
    background: color-mix(in srgb, var(--hb-primary) 10%, transparent);
    border-radius: 8px;
    height: 8px;
    margin: 0 0 1.8rem;
    max-width: 520px;
    overflow: hidden;
}

.olam-block[data-olam-block].olam-hb-steps .olam-meter span {
    background: linear-gradient(90deg, var(--hb-accent), color-mix(in srgb, var(--hb-accent) 75%, #fff));
    border-radius: 8px;
    display: block;
    height: 100%;
    transition: width .35s ease;
    width: 0;
}

.olam-block[data-olam-block].olam-hb-steps .olam-step {
    align-items: flex-start;
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow);
    display: flex;
    gap: 1.1rem;
    margin-bottom: 1rem;
    padding: 1.2rem 1.3rem;
}

.olam-block[data-olam-block].olam-hb-steps .olam-step.is-done,
.olam-block[data-olam-block].olam-hb-checklist .olam-item.is-checked {
    background: color-mix(in srgb, var(--hb-success) 8%, transparent);
    border-color: color-mix(in srgb, var(--hb-success) 40%, transparent);
}

.olam-block[data-olam-block].olam-hb-steps .olam-step-num {
    background: linear-gradient(135deg, var(--hb-primary), var(--hb-primary-dark));
    border-radius: 14px;
    color: var(--olam-primary-contrast, #fff);
    display: grid;
    flex: 0 0 46px;
    font-family: var(--hb-title-font);
    font-size: 1.2rem;
    font-weight: 800;
    height: 46px;
    place-items: center;
    width: 46px;
}

.olam-block[data-olam-block].olam-hb-steps .is-done .olam-step-num,
.olam-block[data-olam-block].olam-hb-steps .is-done .olam-check,
.olam-block[data-olam-block].olam-hb-checklist .is-checked .olam-box {
    background: var(--hb-success);
    color: var(--olam-primary-contrast, #fff);
}

.olam-block[data-olam-block].olam-hb-steps .olam-step-body {
    flex: 1 1 auto;
}

.olam-block[data-olam-block].olam-hb-steps .olam-step-body h3 {
    color: var(--hb-primary-dark);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 .35rem;
}

.olam-block[data-olam-block].olam-hb-steps .olam-step-body p {
    color: var(--hb-muted);
    line-height: 1.55;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-steps .olam-check {
    align-items: center;
    align-self: center;
    background: color-mix(in srgb, var(--hb-primary) 8%, transparent);
    border: 0;
    border-radius: 999px;
    color: var(--hb-primary);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 800;
    gap: .4rem;
    letter-spacing: .04em;
    padding: .5rem .9rem;
}

.olam-block[data-olam-block].olam-hb-compare .olam-col {
    border-radius: var(--hb-radius-lg);
    box-shadow: var(--hb-shadow-soft);
    height: 100%;
    overflow: hidden;
}

.olam-block[data-olam-block].olam-hb-compare .olam-col-head {
    align-items: center;
    color: var(--olam-primary-contrast, #fff);
    display: flex;
    gap: .7rem;
    padding: 1.1rem 1.3rem;
}

.olam-block[data-olam-block].olam-hb-compare .olam-col-a .olam-col-head {
    background: linear-gradient(135deg, var(--hb-primary), var(--hb-primary-dark));
}

.olam-block[data-olam-block].olam-hb-compare .olam-col-b .olam-col-head {
    background: linear-gradient(135deg, var(--hb-success), color-mix(in srgb, var(--hb-success) 82%, #000));
}

.olam-block[data-olam-block].olam-hb-compare .olam-col-head h3 {
    color: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-compare .olam-col-body {
    background: var(--hb-card);
    padding: 1.2rem 1.3rem;
}

.olam-block[data-olam-block].olam-hb-compare ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.olam-block[data-olam-block].olam-hb-compare li {
    align-items: flex-start;
    border-bottom: 1px solid var(--hb-border);
    display: flex;
    gap: .6rem;
    line-height: 1.5;
    padding: .55rem 0;
}

.olam-block[data-olam-block].olam-hb-compare li:last-child {
    border-bottom: 0;
}

.olam-block[data-olam-block].olam-hb-quote .olam-shell {
    overflow: hidden;
    padding: clamp(1.8rem, 4vw, 3.2rem) clamp(1.5rem, 4vw, 3.5rem);
    position: relative;
}

.olam-block[data-olam-block].olam-hb-quote .olam-mark {
    color: color-mix(in srgb, var(--hb-primary) 10%, transparent);
    font-family: var(--hb-title-font);
    font-size: clamp(7rem, 14vw, 11rem);
    font-weight: 900;
    left: 1.2rem;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    top: -.4rem;
}

.olam-block[data-olam-block].olam-hb-quote .olam-bar {
    background: linear-gradient(90deg, var(--hb-primary), var(--hb-accent));
    border-radius: 5px;
    height: 5px;
    margin-bottom: 1.4rem;
    width: 64px;
}

.olam-block[data-olam-block].olam-hb-quote blockquote {
    color: var(--hb-primary-dark);
    font-size: clamp(1.4rem, 2.8vw, 2.1rem);
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
    max-width: 880px;
    position: relative;
    z-index: 1;
}

.olam-block[data-olam-block].olam-hb-quote .olam-cite {
    align-items: center;
    display: flex;
    gap: .9rem;
    margin-top: 1.6rem;
}

.olam-block[data-olam-block].olam-hb-quote .olam-cite-name {
    color: var(--hb-primary);
    font-weight: 800;
    line-height: 1.2;
}

.olam-block[data-olam-block].olam-hb-quote .olam-cite-src {
    color: var(--hb-muted);
    font-size: .9rem;
    line-height: 1.3;
}

.olam-block[data-olam-block].olam-hb-checklist .olam-status {
    color: var(--hb-primary);
    font-weight: 800;
    margin: 0 0 1.4rem;
}

.olam-block[data-olam-block].olam-hb-checklist .olam-item {
    align-items: center;
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-radius: var(--hb-radius-md);
    cursor: pointer;
    display: flex;
    gap: 1rem;
    margin-bottom: .8rem;
    padding: 1rem 1.2rem;
}

.olam-block[data-olam-block].olam-hb-checklist .olam-box {
    align-items: center;
    border: 2px solid color-mix(in srgb, var(--hb-primary) 30%, transparent);
    border-radius: 10px;
    color: transparent;
    display: inline-flex;
    flex: 0 0 32px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.olam-block[data-olam-block].olam-hb-checklist .olam-item-text {
    flex: 1 1 auto;
    font-weight: 600;
    line-height: 1.45;
}

.olam-block[data-olam-block].olam-hb-checklist .is-checked .olam-item-text {
    color: var(--hb-muted);
    text-decoration: line-through;
}

.olam-block[data-olam-block].olam-hb-faq .olam-q-ans {
    padding-left: 4rem;
}

.olam-block[data-olam-block].olam-hb-synthesis {
    color: var(--olam-primary-contrast, #fff);
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-shell {
    background:
        radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--hb-accent) 30%, transparent), transparent 32%),
        radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--hb-primary) 40%, transparent), transparent 38%),
        linear-gradient(135deg, var(--hb-primary-dark), var(--hb-primary-hover));
    overflow: hidden;
    position: relative;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-shell::before {
    background: linear-gradient(90deg, var(--hb-primary), var(--hb-accent));
    content: "";
    height: 5px;
    inset: 0 0 auto;
    position: absolute;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-kicker {
    background: rgba(255, 255, 255, .10);
}

.olam-block[data-olam-block].olam-hb-synthesis h2 {
    color: inherit;
    font-size: clamp(1.8rem, 3.8vw, 3rem);
    font-weight: 800;
    line-height: 1.04;
    margin: 1rem 0 .4rem;
    max-width: 680px;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-sub {
    color: color-mix(in srgb, var(--olam-primary-contrast, #fff8f1) 78%, transparent);
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-take {
    background: rgba(255, 255, 255, .07);
    border: 1px solid color-mix(in srgb, var(--hb-accent) 26%, transparent);
    border-radius: var(--hb-radius-lg);
    height: 100%;
    padding: 1.4rem;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-take-ic {
    align-items: center;
    background: linear-gradient(135deg, var(--hb-accent), color-mix(in srgb, var(--hb-accent) 75%, #fff));
    border-radius: 16px;
    color: var(--olam-secondary-contrast, #3f2606);
    display: inline-flex;
    height: 54px;
    justify-content: center;
    margin-bottom: 1rem;
    width: 54px;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-take-n {
    color: color-mix(in srgb, var(--hb-accent) 55%, transparent);
    font-family: var(--hb-title-font);
    font-weight: 800;
    margin: 0 0 .3rem;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-take h3 {
    color: inherit;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 .5rem;
}

.olam-block[data-olam-block].olam-hb-synthesis .olam-take p:last-child {
    color: color-mix(in srgb, var(--olam-primary-contrast, #fff8f1) 82%, transparent);
    line-height: 1.55;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref {
    align-items: flex-start;
    background: var(--hb-surface);
    border: 1px solid var(--hb-border);
    border-left: 5px solid var(--hb-primary);
    border-radius: 0 var(--hb-radius-md) var(--hb-radius-md) 0;
    box-shadow: var(--hb-shadow-soft);
    display: flex;
    gap: 1rem;
    margin-bottom: .9rem;
    padding: 1.1rem 1.3rem;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref-body {
    flex: 1 1 auto;
    min-width: 0;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref-type {
    background: color-mix(in srgb, var(--hb-primary) 8%, transparent);
    border-radius: 999px;
    color: var(--hb-primary);
    display: inline-block;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: .5rem;
    padding: .2rem .6rem;
    text-transform: uppercase;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref-text {
    line-height: 1.6;
    margin: 0;
}

.olam-block[data-olam-block].olam-hb-refs .olam-au {
    color: var(--hb-primary-dark);
    font-weight: 800;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ti {
    font-style: italic;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref-link {
    align-items: center;
    color: var(--hb-primary);
    display: inline-flex;
    font-size: .88rem;
    font-weight: 700;
    gap: .35rem;
    margin-top: .55rem;
    text-decoration: none;
}

.olam-block[data-olam-block].olam-hb-refs .olam-ref-link:hover {
    text-decoration: underline;
}

@media (max-width: 760px) {
    .olam-block[data-olam-block].olam-hb-heading .olam-h {
        align-items: flex-start;
        gap: .95rem;
    }

    .olam-block[data-olam-block].olam-hb-heading .olam-h-ic {
        border-radius: 20px;
        flex-basis: 64px;
        height: 64px;
        width: 64px;
    }

    .olam-block[data-olam-block].olam-hb-heading h2 {
        font-size: clamp(2rem, 11vw, 2.85rem);
    }

    .olam-block[data-olam-block].olam-hb-heading .olam-h-bars span,
    .olam-block[data-olam-block].olam-hb-heading .olam-bars span {
        height: 7px;
    }

    .olam-block[data-olam-block].olam-hb-heading .olam-h-bars .b1,
    .olam-block[data-olam-block].olam-hb-heading .olam-bars .b1 {
        width: 72px;
    }

    .olam-block[data-olam-block].olam-hb-video .olam-video-grid {
        grid-template-columns: 1fr;
    }

    .olam-block[data-olam-block].olam-hb-steps .olam-step {
        display: block;
    }

    .olam-block[data-olam-block].olam-hb-steps .olam-step-num,
    .olam-block[data-olam-block].olam-hb-steps .olam-check {
        margin-bottom: .75rem;
    }
}

.olam-block[data-olam-block] > .olam-inline-tools {
    pointer-events: auto !important;
    user-select: none;
    z-index: 1000;
}

.olam-block[data-olam-block] > .olam-inline-tools button {
    pointer-events: auto !important;
}
