/* Shell classes add structure; colour/type/spacing remain theme.json controls. */
.wp-site-blocks > .wp-block-template-part { margin-block-start: 0; }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-header { border-bottom: 1px solid var(--wp--preset--color--line); }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-header-row { min-height: 6.25rem; gap: 2rem; }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-main { min-height: 50vh; }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-page-heading { max-width: 17ch; }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-footer { border-top: 1px solid var(--wp--preset--color--line); }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-footer .wp-block-site-title { font-size: 1rem; }
:where(.wp-site-blocks, .editor-styles-wrapper) .dss-footer-row { gap: 2rem; }
@media (max-width: 600px) {
    :where(.wp-site-blocks, .editor-styles-wrapper) .dss-header-row { min-height: 5rem; gap: 1rem; }
    :where(.wp-site-blocks, .editor-styles-wrapper) .dss-header .wp-block-site-title { max-width: 13rem; font-size: 1rem; }
    :where(.wp-site-blocks, .editor-styles-wrapper) .dss-footer-row { flex-direction: column; align-items: flex-start; }
}

.wp-site-blocks .dss-section { margin-top:clamp(40px,7vw,80px); margin-bottom:clamp(40px,7vw,80px); }
.wp-site-blocks .dss-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:24px; }
.wp-site-blocks .dss-card-grid > * { width:100%; margin-block:0; min-width:0; }
.wp-site-blocks .dss-content-group { min-width:0; }
.wp-site-blocks .dss-section h3 { font-size:var(--wp--preset--font-size--card); }

.wp-site-blocks .dss-hero-split,.wp-site-blocks .dss-split-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,64px); align-items:center; max-width:var(--wp--style--global--wide-size); }
.wp-site-blocks .dss-hero-split > *,.wp-site-blocks .dss-split-section > * { margin-inline:0; min-width:0; width:100%; }
@media (max-width:900px) { .wp-site-blocks .dss-hero-split,.wp-site-blocks .dss-split-section { grid-template-columns:1fr; } }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-diagram { box-sizing:border-box; }
.wp-site-blocks .dss-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.wp-site-blocks .dss-process-grid > * { margin:0; min-width:0; }
.wp-site-blocks .dss-actions { gap:16px; margin-block:24px; }
.wp-site-blocks .dss-actions .wp-block-buttons { margin:0; }
.wp-site-blocks .dss-section > .dss-content-group > h2 { max-width:26ch; }
@media (max-width:900px) { .wp-site-blocks .dss-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) { .wp-site-blocks .dss-process-grid { grid-template-columns:1fr; } }

/* Source-like hero proportions and consistent section rhythm. */
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-header-row { min-height:84px; gap:24px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-header .wp-block-site-title { font-size:18px; line-height:1.3; white-space:nowrap; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-header-row > .wp-block-group { gap:12px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-default-logo img { display:block; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split { gap:48px; margin-block:60px 80px; align-items:center; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split h1 { font-size:clamp(38px,4.6vw,62px); line-height:1.13; letter-spacing:-.04em; margin-block:20px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split p { font-size:15px; line-height:1.85; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split .dss-diagram p { font-size:12px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split .dss-diagram figcaption p { font-size:10px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-section { margin-block:64px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-section h2 { font-size:clamp(28px,3.2vw,44px); line-height:1.2; letter-spacing:-.035em; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-section .dss-diagram-title { font-size:12px; letter-spacing:.08em; }
:where(.wp-site-blocks,.editor-styles-wrapper) .dss-actions .wp-block-button__link { font-size:13px; padding:15px 22px; }
@media(max-width:900px) { :where(.wp-site-blocks,.editor-styles-wrapper) .dss-hero-split { gap:32px; margin-block:40px 60px; } }
@media(max-width:600px) {
 :where(.wp-site-blocks,.editor-styles-wrapper) .dss-header .wp-block-site-title { font-size:14px; white-space:normal; max-width:150px; }
 :where(.wp-site-blocks,.editor-styles-wrapper) .dss-header-row { gap:14px; min-height:76px; }
 :where(.wp-site-blocks,.editor-styles-wrapper) .dss-section { margin-block:42px; }
}

:where(.wp-site-blocks,.editor-styles-wrapper) .dss-main .wp-block-post-content > .dss-section:first-child h1 { font-size:clamp(38px,4.6vw,62px); line-height:1.13; letter-spacing:-.04em; }

.wp-site-blocks .dss-main .wp-block-post-content > .dss-section:first-child { margin-block-start:0; }
.wp-site-blocks .dss-main .dss-section { margin-block-end:64px; }
