.hwe-section {
    box-sizing: border-box;
    padding: var(--hwe-padding,64px) clamp(20px,4vw,64px);
    border-radius: var(--hwe-radius,0);
    color: var(--hwe-ink,#18212f);
    font-family: var(--hwe-font,system-ui,sans-serif);
    container-type: inline-size;
}
.hwe-section__inner {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(var(--hwe-cols,1),minmax(0,1fr));
    gap: var(--hwe-gap,24px);
    align-items: var(--hwe-valign,start);
    max-width: var(--hwe-width,1120px);
    margin-inline: auto;
}
.hwe-section__inner > * { min-width: 0; margin-block: 0; }
.hwe-section__inner > .block-list-appender { grid-column: 1 / -1; position: relative; }
.hwe-section p { line-height: 1.7; }
.hwe-section h1,.hwe-section h2,.hwe-section h3 { color: inherit; font-family: inherit; line-height: 1.15; text-wrap: balance; }
.hwe-section h1 { font-size: clamp(36px,5vw,68px); letter-spacing: -.045em; }
.hwe-section h2 { font-size: clamp(28px,3.4vw,44px); letter-spacing: -.035em; }
.hwe-section h3 { font-size: 24px; letter-spacing: -.02em; }
.hwe-section img { max-width: 100%; height: auto; }
.hwe-section .wp-block-button__link { background: var(--hwe-accent,#3858e9); color: #fff; border-radius: 8px; padding: 14px 24px; text-decoration: none; font-weight: 600; }
.hwe-tone-plain:not(.has-background) { background: #fff; }
.hwe-tone-soft:not(.has-background) { background: var(--hwe-surface,#f3f5fa); }
.hwe-tone-dark:not(.has-background) { background: var(--hwe-ink,#18212f); }
.hwe-tone-accent:not(.has-background) { background: var(--hwe-accent,#3858e9); }
.hwe-tone-dark:not(.has-text-color),.hwe-tone-accent:not(.has-text-color) { color: #fff; }
.hwe-tone-accent .wp-block-button__link { background: #fff; color: var(--hwe-accent,#3858e9); }
.hwe-section .wp-block-group > * + * { margin-top: 20px; }
@media (max-width: 1024px) {
    .hwe-section__inner { grid-template-columns: repeat(var(--hwe-tablet-cols,1),minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .hwe-section { padding: var(--hwe-mobile-padding,28px) 20px; }
    .hwe-section__inner { grid-template-columns: repeat(var(--hwe-mobile-cols,1),minmax(0,1fr)); }
}
/* Container rules also let narrow sections respond inside the non-iframe fallback editor. */
@container (max-width: 760px) {
    .hwe-section__inner { grid-template-columns: repeat(var(--hwe-tablet-cols,1),minmax(0,1fr)); }
}
@container (max-width: 460px) {
    .hwe-section__inner { grid-template-columns: repeat(var(--hwe-mobile-cols,1),minmax(0,1fr)); }
}
