/* Local variable font. License: fonts/OFL.txt. No external font requests. */
@font-face {
  font-family: 'Source Sans 3';
  src: url('fonts/source-sans-3.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
body, .editor-styles-wrapper {
  font-family: 'Source Sans 3', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400;
}
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, h4, h5, h6,
.entry-title, .footer-title, .editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6) {
  font-family: 'Source Sans 3', ui-sans-serif, sans-serif;
  font-weight: 600;
}
.menu a, .main-navigation a, .button, .wp-block-button__link, .section-link {
  font-weight: 500;
}
.hero h1, .ksa-block-hero-copy h1 {
  font-size: clamp(2.2rem, 3.6vw, 3.65rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.eyebrow, .hero-note, .course-status, .course-date { font-weight: 600; }
.ksa-masthead-title, .ksa-brand-text,
.ksa-footer-brand-copy .ksa-footer-brand-title { font-weight: 600; }
.ksa-masthead-church { font-weight: 500; }
/* Balanced masthead: compact symbols and comfortably readable brand copy. */
.ksa-masthead > .container { container-type: inline-size; }
.ksa-masthead-copy {
  font-family: 'Source Sans 3', ui-sans-serif, sans-serif;
  font-weight: 400;
}
.ksa-masthead-copy .ksa-masthead-title {
  font-size: 42px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.015em;
}
.ksa-masthead-copy .ksa-masthead-church {
  margin-top: 4px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.25;
}
.ksa-masthead-copy .ksa-masthead-services {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.42;
}
/* At limited content widths move copy below logos, never clip or shrink text. */
@container (max-width: 1000px) {
  .ksa-masthead .ksa-brand--masthead {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    column-gap: 28px;
    row-gap: 20px;
    text-align: center;
    min-height: 0;
  }
  .ksa-brand--masthead .elkb-symbol { width: 54px; justify-self: end; }
  .ksa-brand--masthead .ksa-symbol { width: 125px; height: 96px; flex-basis: 125px; justify-self: start; }
  .ksa-masthead-copy { grid-column: 1 / -1; justify-self: center; max-width: 100%; }
  .ksa-masthead-copy .ksa-masthead-church { max-width: 40ch; margin-inline: auto; }
  .ksa-masthead-copy .ksa-masthead-title { font-size: 36px; }
  .ksa-masthead-copy .ksa-masthead-church { font-size: 18px; }
  .ksa-masthead-copy .ksa-masthead-services { font-size: 16px; }
}
/* Saved explicit block font choices remain editable and take priority. */

/* Respect the alignment selected in the block editor. */
.entry-content .wp-block-image.aligncenter,
.editor-styles-wrapper .wp-block-image.aligncenter {
  display: table;
  margin-inline: auto;
}
.entry-content .wp-block-image.aligncenter img,
.editor-styles-wrapper .wp-block-image.aligncenter img {
  display: block;
  margin-inline: auto;
}
.entry-content .wp-block-image.has-text-align-center,
.editor-styles-wrapper .wp-block-image.has-text-align-center {
  text-align: center;
}
.entry-content .wp-block-buttons.is-content-justification-center,
.editor-styles-wrapper .wp-block-buttons.is-content-justification-center {
  justify-content: center !important;
}
.entry-content .wp-block-buttons.is-content-justification-right,
.editor-styles-wrapper .wp-block-buttons.is-content-justification-right {
  justify-content: flex-end !important;
}
.entry-content .wp-block-buttons.is-content-justification-left,
.editor-styles-wrapper .wp-block-buttons.is-content-justification-left {
  justify-content: flex-start !important;
}

/* Optional paragraph/list style: select “Blocksatz” in the block styles. */
.entry-content :is(p,ul,ol).is-style-ksa-justify,
.editor-styles-wrapper :is(p,ul,ol).is-style-ksa-justify {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}

/* Optional image shape: CSS only, originals and image selection unchanged. */
.ksa-images-soft .hero-media,
.ksa-images-soft .ksa-block-hero-media {
  padding: clamp(16px, 2.5vw, 40px);
  background: transparent;
}
.ksa-images-soft .hero-media img,
.ksa-images-soft .ksa-block-hero-media figure {
  border-radius: clamp(44px, 7vw, 120px) 24px clamp(44px, 7vw, 120px) 24px;
  overflow: hidden;
}
.ksa-images-soft .ksa-block-hero-media img { border-radius: inherit; }
.ksa-images-soft .hero-media::after { display: none; }
.ksa-images-soft .values-image,
.ksa-images-soft .ksa-block-values .wp-block-image {
  border-radius: 24px clamp(40px, 6vw, 100px) 24px clamp(40px, 6vw, 100px);
  overflow: hidden;
}
.ksa-images-soft .values-image img,
.ksa-images-soft .ksa-block-values .wp-block-image img {
  border-radius: inherit;
  display: block;
}

/* Consistent editorial type and spacing scale across old and new page patterns. */
:root{
  --ksa-text-small:.875rem;
  --ksa-text-body:1.0625rem;
  --ksa-text-lead:clamp(1.18rem,1.5vw,1.38rem);
  --ksa-heading-section:clamp(1.75rem,3vw,2.45rem);
  --ksa-space-section:clamp(44px,6vw,76px);
}
.entry-content{font-size:var(--ksa-text-body);line-height:1.72}
.entry-content>p:first-child:not([class]){font-size:var(--ksa-text-lead);line-height:1.62}
.entry-content :is(.ksa-topic-section,.ksa-service-section,.ksa-layout-section){margin-block:var(--ksa-space-section)}
.entry-content :is(h2,.wp-block-heading){text-wrap:balance}
.entry-content p{text-wrap:pretty}
.entry-title{width:100%;max-width:var(--ksa-header-copy-width,1180px);margin-left:auto;margin-right:auto;text-align:left}

/* A visible focus indicator for every interactive frontend control. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #2c7f80;
  outline-offset:3px;
}
.screen-reader-text:focus{color:#173b57;border-radius:6px;box-shadow:0 6px 20px rgba(15,45,67,.18)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .button:hover,.wp-block-button__link:hover,.entry-card:hover,.ksa-course-card:hover,.ksa-supervisor-card:hover{transform:none!important}
}
