/* EKSTRATEGY — Redaktionsinhalte: Blockausgabe, Kartenlinks, Blaetterung.
   Nur auf Unterseiten/Blog/CPT geladen (inc/sections.php), bewusst NICHT in
   theme.css: Startseite und Rechtsseiten sind pixelgenau abgenommen. Alle
   Werte sind die Tokens und Farben aus theme.css. */

.ek-prose{font-family:'Source Sans 3','Source Sans 3 Fallback',system-ui,sans-serif;font-size:var(--fs-body);line-height:1.62;color:#3A434E;}
.ek-prose > *{max-width:70ch;}
.ek-prose > *:first-child{margin-top:0;}
.ek-prose > *:last-child{margin-bottom:0;}
.ek-prose p{margin:0 0 1.15em;}
.ek-prose h1{font-family:'Source Serif 4','Source Serif 4 Fallback',serif;font-weight:400;font-size:var(--fs-h1);line-height:1.16;letter-spacing:-0.01em;color:#16355A;margin:1.6em 0 0.5em;}
.ek-prose h2{font-family:'Source Serif 4','Source Serif 4 Fallback',serif;font-weight:400;font-size:var(--fs-h2);line-height:1.16;letter-spacing:-0.004em;color:#16355A;margin:1.6em 0 0.5em;}
.ek-prose h3,.ek-prose h4{font-family:'Source Serif 4','Source Serif 4 Fallback',serif;font-weight:400;font-size:var(--fs-h3);line-height:1.22;color:#16355A;margin:1.6em 0 0.45em;}
.ek-prose ul,.ek-prose ol{margin:0 0 1.15em;padding-left:1.3em;}
.ek-prose li{margin:0 0 0.45em;}
.ek-prose a{color:#16355A;text-decoration:underline;text-underline-offset:2px;}
.ek-prose a:hover{color:#B79A6A;}
.ek-prose strong{font-weight:600;color:#20272F;}
.ek-prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:2px solid #B79A6A;font-family:'Source Serif 4','Source Serif 4 Fallback',serif;font-style:italic;font-size:var(--fs-h3);line-height:1.4;color:#16355A;}
.ek-prose blockquote p{margin:0 0 0.4em;}
.ek-prose blockquote cite{display:block;margin-top:0;font-family:'Source Sans 3','Source Sans 3 Fallback',system-ui,sans-serif;font-style:normal;font-size:var(--fs-eyebrow);letter-spacing:0.02em;color:#7d6a45;}
.ek-prose figure{margin:1.8em 0;}
.ek-prose img{max-width:100%;height:auto;display:block;}
.ek-prose figcaption{font-size:var(--fs-eyebrow);color:#5A6573;margin-top:10px;}
.ek-prose hr{border:0;border-top:1px solid #E4DED3;margin:2.4em 0;}
.ek-prose table{width:100%;max-width:100%;border-collapse:collapse;font-size:var(--fs-small);}
/* Ueber `.wp-block-table` gefuehrt und `border` explizit zurueckgesetzt: wp-block-library
   stylt Zellen und Kopfzeile mit `.wp-block-table td,.wp-block-table th{border:1px solid}`
   bzw. `.wp-block-table thead{border-bottom:3px solid}` — beides schlaegt `.ek-prose th`. */
.ek-prose .wp-block-table th,.ek-prose .wp-block-table td{text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #E4DED3;}
.ek-prose .wp-block-table thead,.ek-prose .wp-block-table tfoot{border:0;}
.ek-prose th{color:#16355A;font-weight:600;}
.ek-prose .wp-block-button__link{display:inline-flex;align-items:center;height:52px;padding:0 30px;background:#16355A;color:#FAF8F4;font-size:var(--fs-body);font-weight:500;text-decoration:none;border-radius:2px;}
.ek-prose .wp-block-button__link:hover{color:#FFFFFF;}

.ek-card-link{color:inherit;text-decoration:none;}
.ek-card-link:hover{color:#B79A6A;}
.ek-back{margin-top:2.4em;}
.ek-back a{font-size:var(--fs-eyebrow);letter-spacing:0.02em;color:#7d6a45;text-decoration:none;}
.ek-back a:hover{color:#16355A;}

/* Mission-Statement-Hero: Text linksbuendig auf der hellen Wandflaeche. Ab 1024px
   liegt das Bild gedeckt hinter dem Text (object-position rechts, damit die Person
   im Bild bleibt); darunter ist die Wand zu schmal -- Bild im Fluss, Text darunter. */
.ek-about-hero{background:#F7F5F1;}
.ek-about-hero-frame{position:relative;}
.ek-about-hero img{width:100%;height:auto;display:block;}
.ek-about-hero-text{padding:clamp(36px,6vw,56px) 0;}
@media (min-width:1024px){
  /* Gleiche Breite wie alle anderen Sektionen: Bild und Text liegen innerhalb von
     .ek-about-hero-frame (= .ek-container), nicht mehr full-bleed ueber den Viewport,
     sonst waechst das Bild bei hohen Aufloesungen ueber den Header hinaus. */
  .ek-about-hero-frame{display:flex;align-items:center;min-height:min(56.25vw,760px);}
  .ek-about-hero picture{position:absolute;inset:0;}
  .ek-about-hero img{height:100%;object-fit:cover;object-position:right center;}
  /* Verlauf lang auslaufend (0-85%), damit kein harter Rand auf dem Motiv entsteht;
     bei 56% noch praktisch deckend -- die Textspalte reicht nie ueber 47%. Der Text
     liegt per z-index darueber. */
  .ek-about-hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(247,245,241,0.97) 0%,rgba(247,245,241,0.9) 48%,rgba(247,245,241,0.55) 66%,rgba(247,245,241,0) 85%);pointer-events:none;}
  .ek-about-hero-text{position:relative;z-index:1;width:100%;padding:clamp(40px,5vw,72px) 0;}
  /* 46%: bis dorthin ist die Wandflaeche im Motiv durchgehend hell. */
  .ek-about-hero-inner{max-width:46%;}
}

.ek-team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,28px);}
.ek-team-card{margin:0;display:flex;flex-direction:column;}
/* Quadrat wie die gelieferten Dateien (800x800): reserviert den Platz, bevor das Bild da
   ist, und haelt die vier Karten auf gleicher Hoehe. */
.ek-team-photo{aspect-ratio:1/1;background:#E7E2D8;border:1px solid #E4DED3;overflow:hidden;margin-bottom:20px;}
.ek-team-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.ek-team-name{font-family:'Source Serif 4','Source Serif 4 Fallback',serif;font-weight:400;font-size:var(--fs-h3);line-height:1.24;color:#16355A;margin:0;}
.ek-team-role{font-size:var(--fs-eyebrow);letter-spacing:0.02em;color:#7d6a45;margin:8px 0 0;}
.ek-team-text{font-size:var(--fs-body);line-height:1.55;color:#5A6573;margin:16px 0 0;padding-top:16px;border-top:1px solid #E4DED3;}
@media (max-width:1024px){
  .ek-team{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .ek-team{grid-template-columns:1fr;}
}

/* Blaetterung: Core rendert .wp-block-query-pagination-artige Links in .nav-links. */
.ek-pagination{margin-top:clamp(40px,5vh,64px);font-size:var(--fs-small);color:#5A6573;}
.ek-pagination .nav-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.ek-pagination a{color:#16355A;text-decoration:none;}
.ek-pagination a:hover{color:#B79A6A;}
.ek-pagination .current{color:#B79A6A;font-weight:600;}
.ek-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
