.custom-block-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; min-width: 0; align-items: start; }
.page-shell > .custom-block-grid,
.page-shell > .custom-block-grid + .content-section { margin-top: 18px; }
.custom-block-grid > .custom-home-block { grid-column: 1 / -1; margin: 0; width: 100%; }
.custom-block-grid > .custom-home-block.is-half-width { grid-column: auto; }
.custom-home-block {
    box-sizing: border-box;
    min-width: 0;
    padding: clamp(18px, 2.5vw, 36px);
    border: 1px solid rgba(139, 180, 224, .2);
    border-radius: 28px;
    background: radial-gradient(ellipse at top right, rgba(46, 139, 155, .14), transparent 60%), #101d30;
    box-shadow: 0 18px 45px rgba(5, 15, 30, .12);
}
.custom-home-block > .section-heading { margin-bottom: 22px; }
.custom-home-block > .section-heading h2 {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    letter-spacing: -.035em;
}
body.theme-light .custom-home-block,
.custom-block-preview .custom-home-block {
    background: radial-gradient(ellipse at top right, rgba(120, 202, 205, .16), transparent 65%), #f4f8fc;
    border-color: rgba(95, 128, 167, .2);
    box-shadow: 0 18px 45px rgba(36, 61, 86, .09);
}
.custom-block-body { min-width: 0; max-width: 100%; overflow: auto; overflow-wrap: anywhere; contain: layout style; }
.custom-block-body > :first-child { margin-top: 0; }
.custom-block-body > :last-child { margin-bottom: 0; }
.custom-block-body img { max-width: 100%; height: auto; }
.custom-block-body iframe { display: block; width: 100%; max-width: 100%; border: 0; border-radius: 16px; background: #f5f8fc; }
.custom-block-body a { text-decoration: underline; text-underline-offset: 3px; }
.custom-block-body pre { white-space: pre-wrap; }
.custom-block-body table { border-collapse: collapse; }
.custom-block-body th, .custom-block-body td { padding: 8px 12px; border: 1px solid #7187a544; }
.custom-block-body p { line-height: 1.65; }
@media (max-width: 900px) {
    .custom-block-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .custom-home-block { border-radius: 20px; }
    .custom-home-block > .section-heading { margin-bottom: 18px; }
    .custom-block-body iframe { border-radius: 10px; }
}
