.ksa-subpage { padding: 40px 0 72px; }
.ksa-subpage-title { max-width: 1000px; margin: 24px 0 36px; color: #173b57; font-size: clamp(36px, 4.5vw, 64px); line-height: 1.08; letter-spacing: -.03em; }
.ksa-subpage-title { width:100%; max-width:var(--ksa-header-copy-width,1180px); margin-inline:auto; text-align:left; }
.ksa-layout-section, .ksa-layout-reading, .ksa-layout-intro, .ksa-layout-callout { margin-block: 32px; }
.ksa-layout-intro { padding: clamp(24px, 4vw, 48px); border-radius: 16px; background: #f7f3ec; }
.ksa-layout-intro > p:first-child { color: #52718c; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.ksa-layout-intro h2 { color: #173b57; font-size: clamp(28px, 3vw, 42px); }
.ksa-layout-reading { max-width: 780px; margin-inline: auto; }
.ksa-layout-callout { padding: clamp(24px, 4vw, 40px); border-radius: 16px; background: #e5f2f1; }
.ksa-layout-card { height: 100%; box-sizing: border-box; padding: 28px; border: 1px solid #e5ecef; border-radius: 16px; background: #fff; box-shadow: 0 8px 28px rgba(15,45,67,.05); }
.ksa-layout-card h2 { font-size: 24px; color: #173b57; }
.ksa-layout-section .wp-block-columns { gap: 28px; align-items: stretch; }
.ksa-layout-section .wp-block-column { min-width: 0; }
.ksa-layout-section .wp-block-image img { width: 100%; height: auto; border-radius: 16px; }
.ksa-layout-section .ksa-layout-intro { margin-block: 0; height: 100%; box-sizing: border-box; }
.ksa-layout-reading .wp-block-details { margin: 12px 0; padding: 20px 24px; border: 1px solid #dbe6e9; border-radius: 12px; }
.ksa-layout-reading .wp-block-details summary { cursor: pointer; font-weight: 600; color: #173b57; }
.ksa-layout-section .wp-block-button__link, .ksa-layout-callout .wp-block-button__link { background: #2c7f80; color: #fff; border-radius: 8px; }
@media (max-width: 781px) { .ksa-subpage { padding: 24px 0 48px; } .ksa-layout-section .wp-block-columns { flex-direction: column; } }
