/* Full-width comparison: retain matching edges and a small readable gutter. */
:root { --ksa-gutter: 32px; }
.container,
.site-header .container.header-inner,
.ksa-block-home .ksa-home-section,
.hero > .hero-grid,
.ksa-block-home > .ksa-block-hero.wp-block-columns {
  width: var(--ksa-frame-width, calc(100% - var(--ksa-gutter) * 2));
  max-width: none;
  margin-inline: auto;
}
.site-header .main-navigation { margin-left: 0; min-width: 0; }
.site-header .header-actions { margin-left: auto; }
.hero > .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hero .hero-copy { padding: 56px 40px 56px 0; min-width: 0; }
.hero .hero-media { min-width: 0; }
.hero .hero-media img { display: block; }
.ksa-block-home > .ksa-block-hero.wp-block-columns {
  position: relative; isolation: isolate; gap: 0; align-items: stretch;
}
.ksa-block-home > .ksa-block-hero::before {
  content: ''; position: absolute; z-index: -1; inset-block: 0;
  left: calc((100% - 100vw) / 2); width: 100vw; background: var(--ksa-ivory);
}
.ksa-block-home .ksa-block-hero-copy { padding: 56px 40px 56px 0; min-width: 0; }
.ksa-block-home .ksa-block-hero.wp-block-columns > .wp-block-column { flex-basis: 50%; flex-grow: 0; }
.ksa-block-home .ksa-block-hero-media { min-width: 0; }
.ksa-block-home .ksa-home-section { padding-inline: 0; }
.ksa-block-home { overflow-x: clip; }
.ksa-layout-reading { max-width: var(--ksa-reading-width, 780px); }
.ksa-masthead { background: var(--ksa-header-bg, #0f2d43); color: var(--ksa-header-text, #fff); padding-block: var(--ksa-header-padding, 34px); }
.ksa-masthead .ksa-brand--masthead { color: var(--ksa-header-text, #fff) !important; }
.ksa-masthead .ksa-masthead-services { color: var(--ksa-header-text, #fff); }
.site-footer { background: var(--ksa-footer-bg, #0f2d43); color: var(--ksa-footer-text, #fff); padding-block: var(--ksa-footer-padding, 64px); }
.site-footer .ksa-brand, .site-footer a { color: var(--ksa-footer-text, #fff) !important; }
.site-footer .footer-title { color: var(--ksa-footer-text, #fff); }
@media (min-width:1201px) {
  .site-header .header-inner { flex-wrap: wrap; }
  .site-header .main-navigation { flex: 1 1 680px; }
  .site-header .menu { flex-wrap: wrap; }
}
.ksa-header-contained .ksa-masthead { background: transparent; padding-block: 0; }
.ksa-header-contained .ksa-masthead > .container { background: var(--ksa-header-bg); padding-block: var(--ksa-header-padding); border-radius: var(--ksa-header-radius); }
.ksa-footer-contained .site-footer { background: transparent; padding-block: 0; }
.ksa-footer-contained .site-footer > .container { background: var(--ksa-footer-bg); padding-block: var(--ksa-footer-padding); border-radius: var(--ksa-footer-radius); }
.ksa-header-contained .ksa-masthead > .container,
.ksa-footer-contained .site-footer > .container { padding-inline: var(--ksa-surface-inset, 24px); }
.site-footer p, .site-footer h2, .site-footer a { overflow-wrap: anywhere; }
.hero { background: var(--ksa-hero-bg, #f7f3ec); }
.hero .hero-copy, .ksa-block-home .ksa-block-hero-copy { padding-block: var(--ksa-hero-padding, 56px); color: var(--ksa-hero-text, #183044); }
.ksa-block-home > .ksa-block-hero.wp-block-columns,
.ksa-block-home > .ksa-block-hero::before { background: var(--ksa-hero-bg, #f7f3ec); }
.values, .ksa-block-home .ksa-block-values { background: var(--ksa-values-bg, linear-gradient(110deg,#e0f1f0,#f2f8f7)); color: var(--ksa-values-text, #183044); }
.values { padding-block: var(--ksa-values-padding, 64px); }
.ksa-block-home .ksa-block-values > .ksa-home-section { padding-block: var(--ksa-values-padding, 64px); }
.ksa-backgrounds-contained .hero { background: transparent; }
.ksa-backgrounds-contained .hero > .hero-grid { background: var(--ksa-hero-bg); padding-inline: var(--ksa-surface-inset, 24px); border-radius: var(--ksa-hero-radius); }
.ksa-backgrounds-contained .ksa-block-home > .ksa-block-hero::before { left: 0; right: 0; width: auto; border-radius: var(--ksa-hero-radius); }
.ksa-backgrounds-contained .ksa-block-home > .ksa-block-hero.wp-block-columns { padding-inline: var(--ksa-surface-inset, 24px); border-radius: var(--ksa-hero-radius); }
.ksa-backgrounds-contained .values { background: transparent; padding-block: 0; }
.ksa-backgrounds-contained .values > .container { background: var(--ksa-values-bg); padding: var(--ksa-values-padding) var(--ksa-surface-inset); border-radius: var(--ksa-values-radius); }
.ksa-backgrounds-contained .ksa-block-home .ksa-block-values { background: transparent; }
.ksa-backgrounds-contained .ksa-block-home .ksa-block-values > .ksa-home-section { background: var(--ksa-values-bg); padding-inline: var(--ksa-surface-inset); border-radius: var(--ksa-values-radius); }
@media (max-width: 820px) {
  :root { --ksa-gutter: 20px; }
  .hero > .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero .hero-copy { padding: 36px 0; }
  .hero .hero-media { order: 0; min-height: 320px; }
}
@media (max-width: 781px) {
  .ksa-block-home .ksa-block-hero-copy { padding: 36px 0; }
  .ksa-block-home .ksa-block-hero.wp-block-columns { flex-direction: column; }
  .ksa-block-home .ksa-block-hero-media { min-height: 0; }
  .ksa-block-home .ksa-block-hero-media figure { height: 320px; }
}
@media (max-width: 480px) {
  :root { --ksa-gutter: 14px; }
  .hero .hero-media { min-height: 260px; }
  .ksa-block-home .ksa-block-hero-media figure { height: 260px; }
}

/* Three predictable content widths: wide surfaces, structured content, prose. */
:root {
  --ksa-layout-wide: var(--ksa-frame-width, calc(100% - var(--ksa-gutter) * 2));
  --ksa-layout-content: 1280px;
  --ksa-layout-reading: 860px;
}
.site-header>.header-inner,.ksa-masthead>.container,.site-footer>.container,
.ksa-block-home>.ksa-home-section,.hero>.hero-grid,.ksa-integrated-program>.container {
  width:var(--ksa-layout-wide);
  max-width:none;
}
main.content-wrap>.container,main.ksa-subpage>.container {
  width:min(var(--ksa-layout-wide),var(--ksa-layout-content));
  max-width:none;
}
.entry-content>:is(p,ul,ol,blockquote):not([class]),
.entry-content>.wp-block-heading:not([class]) {
  width:100%;
  max-width:var(--ksa-layout-reading);
  margin-inline:auto;
}
.ksa-frame-wide main.content-wrap>.container,.ksa-frame-wide main.ksa-subpage>.container {
  width:var(--ksa-layout-wide);
}
@media(max-width:900px){:root{--ksa-layout-content:100%;--ksa-layout-reading:100%}}
