.ksa-page-frame { min-width:0; }
.content-layout { display:block; }
.ksa-frame-content { min-width:0; }
/* Original page template sidebar is replaced by the common frame sidebar. */
.ksa-frame-content .content-layout { display:block; }
.ksa-frame-content .content-layout > .sidebar { display:none; }
.ksa-page-frame.has-sidebar {
  width:var(--ksa-frame-width, calc(100% - var(--ksa-gutter) * 2));
  margin-inline:auto;
  display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:40px;
}
.ksa-page-frame.has-sidebar .container,
.ksa-page-frame.has-sidebar .ksa-home-section { width:100%; }
.ksa-frame-left .ksa-page-frame.has-sidebar { grid-template-columns:260px minmax(0,1fr); }
.ksa-frame-left .ksa-frame-sidebar { grid-column:1; grid-row:1; }
.ksa-frame-left .ksa-frame-content { grid-column:2; grid-row:1; }
.ksa-frame-sidebar { padding:24px; border-inline-start:1px solid var(--ksa-line); min-width:0; overflow-wrap:anywhere; }
.ksa-frame-left .ksa-frame-sidebar { border-inline-start:0; border-inline-end:1px solid var(--ksa-line); }
.ksa-frame-reading .ksa-page-frame { max-width:var(--ksa-layout-reading,860px); width:calc(100% - 48px); margin-inline:auto; }
.ksa-frame-reading .ksa-frame-content .container,
.ksa-frame-reading .ksa-frame-content .ksa-home-section { width:100%; }
.ksa-frame-wide .ksa-frame-content .container,
.ksa-frame-wide .ksa-frame-content .ksa-home-section { max-width:none; width:calc(100% - 48px); }
.ksa-title-hidden #main-content :is(.entry-title,.ksa-subpage-title) { display:none; }
.ksa-images-soft .entry-content .wp-block-image { border-radius:24px clamp(40px,6vw,100px) 24px clamp(40px,6vw,100px); overflow:hidden; }
.ksa-images-soft .entry-content .wp-block-image img { border-radius:inherit; display:block; }
/* Logos need inner breathing room and must never be cropped like photographs. */
.entry-content .wp-block-image.ksa-logo-image,
.entry-content .wp-block-image:has(img[alt*="Logo" i]),
.entry-content .wp-block-image:has(img[alt*="KSA" i]),
.entry-content .wp-block-image:has(img[src*="logo" i]) {
  box-sizing:border-box;
  padding:clamp(18px,3vw,42px);
  overflow:hidden;
  background:#fff;
}
.entry-content .wp-block-image.ksa-logo-image img,
.entry-content .wp-block-image:has(img[alt*="Logo" i]) img,
.entry-content .wp-block-image:has(img[alt*="KSA" i]) img,
.entry-content .wp-block-image:has(img[src*="logo" i]) img {
  display:block;
  width:100%;
  height:auto;
  max-height:420px;
  margin:auto;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
.ksa-page-surfaces-contained #main-content :is(.ksa-layout-callout,.ksa-layout-intro) { max-width:var(--ksa-width); margin-inline:auto; padding-inline:var(--ksa-surface-inset,32px); }
.ksa-page-surfaces-full #main-content :is(.ksa-layout-callout,.ksa-layout-intro) { max-width:none; }
.ksa-page-surfaces-full .hero { background:var(--ksa-hero-bg); }
.ksa-page-surfaces-full .ksa-block-home > .ksa-block-hero::before { left:calc((100% - 100vw)/2); width:100vw; right:auto; }
.ksa-page-surfaces-contained .ksa-block-home > .ksa-block-hero::before { left:0; right:0; width:auto; }
.ksa-block-home .ksa-frame-content > .ksa-block-hero { width:100%; background:var(--ksa-hero-bg); position:relative; }
.ksa-block-home .ksa-frame-content > .ksa-block-hero .ksa-block-hero-copy { padding-inline:32px; }
.ksa-page-surfaces-full .values > .container,
.ksa-page-surfaces-full .ksa-block-values > .ksa-home-section { background:transparent; }
.ksa-page-surfaces-full :is(.values,.ksa-block-values) { background:var(--ksa-values-bg); }
.ksa-page-surfaces-contained #main-content > .ksa-page-frame > .ksa-frame-content > :is(.hero,.values,.ksa-block-hero,.ksa-block-values) { width:var(--ksa-container-width,min(calc(100% - 40px),var(--ksa-width))); margin-inline:auto; padding-inline:var(--ksa-surface-inset,32px); }
.ksa-page-surfaces-contained #main-content > :is(.hero,.values) { width:var(--ksa-frame-width,calc(100% - var(--ksa-gutter) * 2)); margin-inline:auto; }
@media(max-width:900px) {
 .ksa-page-frame.has-sidebar,.ksa-frame-left .ksa-page-frame.has-sidebar { display:block; }
 .ksa-frame-sidebar { margin-top:32px; border:0; border-top:1px solid var(--ksa-line); }
}
@media(max-width:600px){
 .ksa-frame-reading .ksa-page-frame{width:calc(100% - 32px)}
 .ksa-frame-wide .ksa-frame-content .container,.ksa-frame-wide .ksa-frame-content .ksa-home-section{width:calc(100% - 32px)}
 .ksa-frame-content :is(h1,h2,h3){overflow-wrap:break-word}
 .ksa-frame-content .wp-block-columns{min-width:0}
 .ksa-frame-sidebar{padding:20px 0}
}
