:root{
  --ksq-red:#E30512;
  --ksq-ink:#292929;
  --ksq-muted:#67645f;
  --ksq-warm:#F7F5F1;
  --ksq-line:#DEDAD3;
  --ksq-page-max:1080px;
}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.wp-site-blocks>header+main,.wp-site-blocks>main,.wp-site-blocks>footer{margin-block-start:0!important}
main.wp-block-group{margin-top:0!important}
.ksq-site-header{position:relative;z-index:30;background:var(--ksq-red);color:#fff;margin:0!important}
.home .ksq-site-header{position:absolute;left:0;right:0;top:0;background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 74%,rgba(0,0,0,0));}
.ksq-site-header>.wp-block-group{min-height:66px;align-items:center!important}
.ksq-site-header .wp-block-site-logo{display:flex;align-items:center;line-height:0}
.ksq-site-header .custom-logo{width:min(290px,55vw);height:auto;display:block;transform:translateY(5px)}
.ksq-site-header .wp-block-navigation{align-items:center}
.ksq-site-header .wp-block-navigation-item__content,.ksq-site-header .wp-block-navigation__responsive-container-open{color:#fff!important}
.ksq-site-header .alignwide{max-width:1240px!important}
.ksq-nav-cta .wp-block-navigation-item__content{background:var(--ksq-red);border:1px solid rgba(255,255,255,.7);padding:.72rem 1rem;border-radius:10px}

.ksq-hero{min-height:clamp(610px,82vh,860px);padding-top:104px!important;margin:0!important}
.ksq-hero .wp-block-cover__inner-container{height:100%;display:flex;align-items:flex-end}
.ksq-hero-content{padding-bottom:clamp(54px,8vw,100px)!important}
.ksq-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700}
.ksq-hero-title{font-size:clamp(2.8rem,7vw,6.1rem)!important;max-width:880px;text-wrap:balance}
.ksq-hero-sub{font-size:clamp(1.05rem,2vw,1.35rem);max-width:690px}

.ksq-section{padding-top:clamp(70px,9vw,120px)!important;padding-bottom:clamp(70px,9vw,120px)!important}
.ksq-section-tight{padding-top:clamp(46px,6vw,80px)!important;padding-bottom:clamp(46px,6vw,80px)!important}
body:not(.home) .ksq-page-hero>.wp-block-group,
body:not(.home) .ksq-section-tight,
body:not(.home) .ksq-page-contained{max-width:var(--ksq-page-max)!important;width:calc(100% - clamp(56px,12vw,180px))!important;margin-left:auto!important;margin-right:auto!important}
.ksq-lead{font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.35;color:#4d4a46}
.ksq-red-title{color:var(--ksq-red)!important}

.ksq-stats{gap:1px!important;background:var(--ksq-line);border:1px solid var(--ksq-line);border-radius:18px;overflow:hidden}
.ksq-stat{background:#fff;padding:28px!important;min-height:132px;display:flex;align-items:center;justify-content:center;text-align:center}
.ksq-stat p{margin:0;text-align:center}
.ksq-stat strong{display:block;font-family:var(--wp--preset--font-family--ksq-heading);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;color:var(--ksq-red);margin-bottom:.5rem;text-align:center}

.ksq-card{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--ksq-line);height:100%}
.ksq-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ksq-card-body{padding:26px!important}
.ksq-info-card{background:var(--ksq-warm);border:1px solid var(--ksq-line);border-radius:16px;padding:24px!important;height:100%}
.ksq-info-card h3{margin-top:0}
.ksq-pill{display:inline-block;background:var(--ksq-red);color:#fff;border-radius:999px;padding:.36rem .72rem;font-size:.8rem;font-weight:700}

.ksq-plan-wrap{position:relative;border-radius:22px;overflow:hidden;background:#e9e7e1;max-width:1120px;margin-inline:auto}
.ksq-plan-wrap img{width:100%;display:block}
.ksq-plan-badge{position:absolute;left:22px;bottom:22px;background:rgba(255,255,255,.94);padding:14px 17px;border-radius:12px;max-width:320px;font-size:.92rem;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.ksq-placeholder{min-height:260px;border:2px dashed #c9c5bd;border-radius:16px;background:#f1efeb;display:flex;align-items:center;justify-content:center;text-align:center;color:#77716b;font-weight:700;letter-spacing:.05em}
.ksq-image-rounded img,.ksq-image-rounded{border-radius:18px;overflow:hidden}
.ksq-page-media{max-width:960px!important;margin-inline:auto!important}
.ksq-page-media img{width:100%;border-radius:18px}
.ksq-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.ksq-gallery-tall img{aspect-ratio:4/5}
.ksq-brand-logo img{max-height:82px;width:auto;object-fit:contain}
.ksq-hof-logo img{max-width:420px;width:100%;height:auto}

.ksq-ostfriesland{min-height:520px;border-radius:22px;overflow:hidden}
.ksq-ostfriesland .wp-block-cover__background{background:linear-gradient(90deg,rgba(20,20,20,.58),rgba(20,20,20,.06))!important;opacity:1!important}

.ksq-faq details{padding:1.05rem 0;margin:0}
.ksq-faq summary{font-weight:700;font-size:1.08rem;cursor:pointer;list-style-position:outside}
.ksq-faq details p{margin-top:.85rem;color:#55514c;max-width:850px}
.ksq-cta{border-radius:22px;overflow:hidden}
.ksq-legal-header{padding-top:70px!important;padding-bottom:45px!important;background:var(--ksq-warm)}
.ksq-page-hero{padding-top:clamp(60px,8vw,105px)!important;padding-bottom:clamp(55px,7vw,90px)!important;background:var(--ksq-warm)}

.ksq-contact-card{border-radius:22px;background:var(--ksq-warm);border:1px solid var(--ksq-line);padding:clamp(28px,5vw,58px)!important}
.ksq-portrait img{width:190px;height:190px;object-fit:cover;border-radius:50%;display:block}
.ksq-brand-strip{border-top:1px solid var(--ksq-line);padding-top:28px!important;margin-top:28px!important}
.ksq-brand-strip img{max-height:60px;width:auto;object-fit:contain}

.ksq-footer{margin-top:0!important}
.ksq-footer .wp-block-navigation-item__content{color:#fff!important}
.ksq-footer-note{opacity:.78}

@media(max-width:860px){
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--ksq-ink)!important;color:#fff!important;padding:28px}
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.25rem}
  .ksq-plan-badge{position:static;border-radius:0;max-width:none;box-shadow:none}
  body:not(.home) .ksq-page-hero>.wp-block-group,
  body:not(.home) .ksq-section-tight,
  body:not(.home) .ksq-page-contained{width:calc(100% - 48px)!important}
}
@media(max-width:600px){
  .ksq-site-header .custom-logo{width:min(245px,68vw);transform:translateY(4px)}
  .ksq-hero{min-height:690px;padding-top:92px!important}
  .ksq-hero-title{font-size:clamp(2.45rem,13vw,4rem)!important}
  .ksq-stat{min-height:auto}
  .ksq-portrait img{width:150px;height:150px}
  body:not(.home) .ksq-page-hero>.wp-block-group,
  body:not(.home) .ksq-section-tight,
  body:not(.home) .ksq-page-contained{width:calc(100% - 36px)!important}
}
.ksq-home-contact{align-items:center!important;margin-top:22px!important;margin-bottom:18px!important}
.ksq-home-contact .ksq-portrait img{border:4px solid rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.ksq-home-contact a{color:#fff!important}
.ksq-home-contact .wp-block-column:last-child{display:flex;align-items:center;gap:20px}
.ksq-price-note{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700;color:var(--ksq-red)}
.ksq-caption{font-size:.9rem;color:var(--ksq-muted);margin-top:.55rem}
.ksq-expose-cover img{max-width:420px;width:100%;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.12)}
@media(max-width:781px){
  .ksq-home-contact .wp-block-column:last-child{justify-content:flex-start}
}

/* v0.3 refinements */
.home .ksq-site-header > .wp-block-group{transform:translateY(12px)}
.ksq-site-header .custom-logo{transform:translateY(1px)}
.ksq-plan-intro{max-width:1120px!important;margin-inline:auto!important}
.ksq-ostfriesland .wp-block-cover__inner-container{padding-left:clamp(32px,8vw,110px)!important;padding-right:clamp(24px,5vw,70px)!important}
.ksq-centered-notes>.wp-block-column>h3,
.ksq-centered-notes>.wp-block-column>p,
.ksq-centered-notes .ksq-caption{text-align:center}
.ksq-caption{text-align:center}
.ksq-info-card{text-align:center;display:flex;flex-direction:column;justify-content:center}
.ksq-card-body{text-align:center}
.ksq-hof-logo{display:flex;justify-content:center!important;margin-bottom:2.25rem!important}
.ksq-hof-logo figure{margin-inline:auto!important;text-align:center}
.ksq-hof-logo img{display:block;margin-inline:auto;max-width:420px}
.ksq-hof-copy p{margin-bottom:1.25rem}
.ksq-price-gate{background:var(--ksq-warm);border:1px solid var(--ksq-line);border-radius:18px;padding:24px!important;margin-bottom:1.5rem!important;text-align:center}
.ksq-price-gate .wp-block-buttons{justify-content:center}
.ksq-price-blur{height:42px;display:flex;align-items:center;justify-content:center;gap:6px;margin:.4rem auto .8rem;filter:blur(5px);opacity:.72}
.ksq-price-blur span{display:block;height:26px;background:#393939;border-radius:4px}
.ksq-price-blur span:nth-child(1){width:66px}.ksq-price-blur span:nth-child(2){width:38px}.ksq-price-blur span:nth-child(3){width:24px}
.ksq-floorplan{max-width:920px!important;margin:1.5rem auto 0!important;padding:18px!important;background:#fbfaf7;border:1px solid var(--ksq-line);border-radius:20px}
.ksq-floorplan figure{margin:0!important}.ksq-floorplan img{width:100%;height:auto;object-fit:contain}
.ksq-floorplan-apartment{max-width:780px!important}
.ksq-ost-page>.wp-block-paragraph{margin-block:1.7rem!important}
.ksq-ost-page>.wp-block-columns{margin-top:2.8rem!important;margin-bottom:2.8rem!important}
.ksq-maritime-divider{height:46px;display:flex;align-items:center;justify-content:center;gap:10px;margin:2rem 0 .5rem;overflow:hidden}
.ksq-maritime-divider span{width:92px;height:20px;border-bottom:3px solid rgba(227,5,18,.5);border-radius:0 0 50% 50%;transform:translateY(-6px)}
.ksq-maritime-divider span:nth-child(2){transform:translateY(4px)}
.ksq-home-contact{gap:clamp(28px,5vw,64px)!important}
.ksq-home-contact-copy{padding-right:clamp(0px,2vw,24px)}
.ksq-home-contact-copy h3{margin-top:.35rem!important;margin-bottom:1rem!important}
.ksq-home-contact-copy p{max-width:680px}
.ksq-home-contact-person{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;text-align:center;gap:12px!important}
.ksq-home-contact-person .ksq-portrait{margin:0!important}
.ksq-home-contact-person p{margin:0!important;text-align:center}
@media(max-width:781px){
  .home .ksq-site-header > .wp-block-group{transform:translateY(8px)}
  .ksq-ostfriesland .wp-block-cover__inner-container{padding-left:28px!important;padding-right:28px!important}
  .ksq-home-contact-copy{padding-right:0}
  .ksq-home-contact-person{align-items:flex-start!important;text-align:left}
  .ksq-home-contact-person p{text-align:left}
}

/* v0.4 refinements */
/* Logo sitzt etwas höher als die Navigation; auf der Startseite wandert die gesamte Navigation tiefer in das Titelbild. */
.ksq-site-header .custom-logo{transform:translateY(-7px)!important}
.home .ksq-site-header > .wp-block-group{transform:translateY(26px)!important}

/* Plan- und Textkanten enger aufeinander abstimmen. */
.ksq-plan-intro{max-width:1040px!important}
.ksq-quartier-plan-copy{max-width:960px!important;margin-inline:auto!important}
.ksq-quartier-plan-media{margin-top:2.2rem!important}
.ksq-after-plan{margin-top:clamp(3.4rem,6vw,5.2rem)!important}

/* Wiederkehrende kleine Karten und Bildunterschriften bleiben zentriert. */
.ksq-feature-cards{margin-top:3rem!important}
.ksq-feature-cards .ksq-info-card{text-align:center}

/* Bungalow-Topbild: breite, ruhige Außenansicht ohne unnötigen Leerraum. */
.ksq-bungalow-lead-image img{width:100%;aspect-ratio:16/8.2;object-fit:cover;object-position:center 58%}
.ksq-price-blur{opacity:.8!important}
.ksq-price-blur span{background:var(--ksq-red)!important}

/* Hof-Logo näher an das Hauptmotiv rücken. */
.ksq-hof-logo{margin-top:-18px!important;margin-bottom:.9rem!important}
.ksq-hof-feature-cards{margin-top:3rem!important}

/* Ostfriesland: große Einleitung unter dem Landschaftsbild zentrieren. */
.ksq-ost-page>.ksq-lead{max-width:880px;margin-left:auto!important;margin-right:auto!important;text-align:center}

/* Kontakt: komplette Markenfamilie in einem ruhigen, responsiven Raster. */
.ksq-brand-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px!important;margin-top:1.4rem!important}
.ksq-brand-tile{min-height:112px;padding:18px!important;border:1px solid var(--ksq-line);border-radius:14px;background:#fff;display:flex!important;align-items:center;justify-content:center}
.ksq-brand-tile figure{margin:0!important;width:100%;text-align:center}
.ksq-brand-tile img{display:block;max-width:100%;max-height:58px!important;width:auto!important;height:auto!important;margin-inline:auto;object-fit:contain}

/* Wohngeneration als kurzer, eigener Hinweis vor der persönlichen Kontaktfläche. */
.ksq-wohngeneration-section{padding-top:clamp(65px,8vw,105px)!important;padding-bottom:clamp(65px,8vw,105px)!important}
.ksq-wg-card{padding:clamp(28px,5vw,56px)!important;border-radius:22px;background:var(--ksq-warm);border:1px solid var(--ksq-line);gap:clamp(28px,5vw,64px)!important}
.ksq-wg-logo figure{margin:0!important}
.ksq-wg-logo img{display:block;max-width:330px;width:100%;height:auto;margin-inline:auto}

/* Rote Abschlussfläche auf der Startseite optisch gleichmäßiger ausbalancieren. */
.ksq-cta>h2{margin-top:14px!important}
.ksq-cta .ksq-home-contact{margin-top:18px!important;margin-bottom:2px!important}
.ksq-cta>.wp-block-buttons{margin-top:8px!important;margin-bottom:12px!important}

/* Footer: Dachmarke statt erneutem Quartier-Logo. */
.ksq-footer-group-mark{width:min(330px,82vw);height:68px;background-image:url('../images/logo-group-full.png');background-repeat:no-repeat;background-position:left center;background-size:contain;filter:brightness(0) invert(1);margin-bottom:12px}

@media(max-width:900px){
  .ksq-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:781px){
  .home .ksq-site-header > .wp-block-group{transform:translateY(18px)!important}
  .ksq-site-header .custom-logo{transform:translateY(-4px)!important}
  .ksq-wg-logo img{max-width:280px;margin-left:0}
}
@media(max-width:520px){
  .ksq-brand-grid{grid-template-columns:1fr}
  .ksq-footer-group-mark{width:min(285px,88vw);height:58px}
}


/* v0.5 refinements */
/* Logo relativ zur Navigation etwas höher, auf der Startseite insgesamt tiefer ins Bild. */
.ksq-site-header .custom-logo{transform:translateY(-12px)!important}
.home .ksq-site-header > .wp-block-group{transform:translateY(34px)!important}

/* Startseiten-CTA unten noch symmetrischer austarieren. */
.ksq-cta>h2{margin-top:24px!important}
.ksq-cta>.wp-block-buttons{margin-top:2px!important;margin-bottom:0!important}

/* Textbreite am Quartiersplan noch etwas straffer. */
.ksq-quartier-plan-copy{max-width:900px!important}

/* Reihenbungalow: höheres Leadbild für einen harmonischeren Split. */
.ksq-bungalow-hero-split{align-items:stretch!important}
.ksq-bungalow-hero-split>.wp-block-column{display:flex;flex-direction:column;justify-content:center}
.ksq-bungalow-lead-image img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center}

/* Beide Grundrisse etwas kleiner und in gleicher visueller Größe. */
.ksq-floorplan,.ksq-floorplan-apartment,.ksq-floorplan-unified{max-width:700px!important;margin:1.25rem auto 0!important;padding:16px!important}
.ksq-floorplan figure,.ksq-floorplan-apartment figure,.ksq-floorplan-unified figure{margin:0!important;display:flex;justify-content:center}
.ksq-floorplan img,.ksq-floorplan-apartment img,.ksq-floorplan-unified img{width:auto!important;max-width:100%!important;max-height:680px;object-fit:contain;margin-inline:auto}

/* Kleinstein-Hof-Logo deutlicher nach oben rücken. */
.ksq-hof-logo{margin-top:-34px!important;margin-bottom:.45rem!important}

/* Marken und Unternehmen ohne weiße Kacheln, freigestellt auf ruhigem Hintergrund. */
.ksq-brand-grid{gap:24px!important;align-items:center}
.ksq-brand-tile{min-height:86px;padding:8px 6px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center;justify-content:center}
.ksq-brand-tile figure{margin:0!important;width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;text-align:center}
.ksq-brand-tile img{display:block;max-width:92%;max-height:46px!important;width:auto!important;height:auto!important;margin-inline:auto;object-fit:contain}

@media(max-width:781px){
  .home .ksq-site-header > .wp-block-group{transform:translateY(24px)!important}
  .ksq-site-header .custom-logo{transform:translateY(-8px)!important}
}


/* v0.6 refinements */
/* Abschlussfolge der Startseite: Ostfriesland, Wohngeneration, persönliche Beratung, FAQ – mit ruhigerem, einheitlichem Rhythmus. */
.home .ksq-section:has(.ksq-ostfriesland),
.home .ksq-wohngeneration-section,
.home .ksq-section:has(> .ksq-cta),
.home .ksq-faq{
  padding-top:clamp(30px,4vw,48px)!important;
  padding-bottom:clamp(30px,4vw,48px)!important;
  margin-block-start:0!important;
}
.home .ksq-wohngeneration-section{padding-top:clamp(30px,4vw,48px)!important;padding-bottom:clamp(30px,4vw,48px)!important}

/* Hof-Logo gehört jetzt in die rechte Textspalte. */
.ksq-hof-copy .ksq-hof-logo{
  margin-top:0!important;
  margin-bottom:1.15rem!important;
  justify-content:center!important;
}
.ksq-hof-copy .ksq-hof-logo img{max-width:360px!important}

/* Kontaktlogos: tatsächlich sichtbare Logos wurden transparent beschnitten und erhalten eine gemeinsame optische Höhe. */
.ksq-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px 30px!important}
.ksq-brand-tile{min-height:78px!important;padding:4px!important}
.ksq-brand-tile figure{min-height:60px!important}
.ksq-brand-tile img{height:42px!important;max-height:42px!important;width:auto!important;max-width:100%!important;object-fit:contain!important}
@media(max-width:820px){
  .ksq-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ksq-brand-tile img{height:38px!important;max-height:38px!important}
}
@media(max-width:520px){
  .ksq-brand-grid{grid-template-columns:1fr!important}
  .ksq-brand-tile img{height:40px!important;max-height:40px!important}
}


/* v0.7 refinements */
/* Kleinstein Hof: Logo und Text bilden rechts neben dem Bild eine bewusst ausbalancierte Einheit. */
.ksq-hof-copy{display:flex!important;flex-direction:column;justify-content:center!important}
.ksq-hof-copy .ksq-hof-logo{
  margin:0 0 1.7rem!important;
  transform:translateY(-16px);
  flex-shrink:0;
}
.ksq-hof-copy .ksq-hof-logo img{max-width:360px!important}
.ksq-hof-copy-text{transform:translateY(10px)}
.ksq-hof-copy-text p:first-child{margin-top:0!important}
.ksq-hof-copy-text p:last-child{margin-bottom:0!important}

/* Kontakt: kompakteres, symmetrisches 3-Spalten-Raster. */
.ksq-brand-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:22px!important;
  row-gap:10px!important;
  align-items:center!important;
}
.ksq-brand-tile{min-height:62px!important;padding:2px 4px!important}
.ksq-brand-tile figure{min-height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.ksq-brand-tile img{height:41px!important;max-height:41px!important;margin-inline:auto!important}
/* Kleinstein Gruppe optisch etwas tiefer ausrichten. */
.ksq-brand-tile:nth-child(1) figure{transform:translateY(5px)}
/* Siebtes Logo (ABC Wohnen) mittig in der letzten Reihe statt links. */
.ksq-brand-tile:nth-child(7){grid-column:2}

@media(max-width:820px){
  .ksq-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:10px!important}
  .ksq-brand-tile:nth-child(7){grid-column:1 / -1;width:50%;justify-self:center}
}
@media(max-width:520px){
  .ksq-brand-grid{grid-template-columns:1fr!important}
  .ksq-brand-tile:nth-child(7){grid-column:auto;width:100%}
  .ksq-hof-copy .ksq-hof-logo{transform:none;margin-bottom:1.3rem!important}
  .ksq-hof-copy-text{transform:none}
}


/* v0.8 micro refinements */
/* Hauptlogo auf allen Seiten einen Hauch tiefer. */
.ksq-site-header .custom-logo{transform:translateY(-9px)!important}

/* Kontakt: Kleinstein Gruppe und Kleinstein Haus minimal tiefer ausrichten. */
.ksq-brand-tile:nth-child(1) figure{transform:translateY(8px)!important}
.ksq-brand-tile:nth-child(5) figure{transform:translateY(3px)!important}

@media(max-width:781px){
  .ksq-site-header .custom-logo{transform:translateY(-6px)!important}
}


/* v0.9 micro refinements */
/* Kleinstein Hof: Logo in der rechten Spalte näher an Bild und Textachse rücken. */
.ksq-hof-copy .ksq-hof-logo{
  justify-content:flex-start!important;
  transform:translate(-14px,-16px)!important;
}
.ksq-hof-copy .ksq-hof-logo figure{margin-left:0!important;margin-right:auto!important}
.ksq-hof-copy .ksq-hof-logo img{margin-left:0!important;margin-right:auto!important}

/* Kontakt: Markenraster insgesamt kompakter, Größenrelationen bleiben erhalten. */
.ksq-brand-grid{
  column-gap:18px!important;
  row-gap:2px!important;
  margin-top:.9rem!important;
}
.ksq-brand-tile{min-height:48px!important;padding:0 3px!important}
.ksq-brand-tile figure{min-height:42px!important}
.ksq-brand-tile img{height:33px!important;max-height:33px!important}
.ksq-brand-tile:nth-child(1) figure{transform:translateY(6px)!important}
.ksq-brand-tile:nth-child(5) figure{transform:translateY(2px)!important}

@media(max-width:820px){
  .ksq-brand-grid{row-gap:4px!important}
  .ksq-brand-tile{min-height:46px!important}
  .ksq-brand-tile figure{min-height:40px!important}
  .ksq-brand-tile img{height:31px!important;max-height:31px!important}
}
@media(max-width:520px){
  .ksq-hof-copy .ksq-hof-logo{transform:none!important;justify-content:flex-start!important}
  .ksq-brand-tile img{height:32px!important;max-height:32px!important}
}


/* v0.10 micro refinement */
/* Kleinstein Hof: Logo links exakt an der Textkante der rechten Spalte ausrichten. */
.ksq-hof-copy .ksq-hof-logo{
  transform:translate(0,-16px)!important;
  justify-content:flex-start!important;
}
.ksq-hof-copy .ksq-hof-logo figure,
.ksq-hof-copy .ksq-hof-logo img{
  margin-left:0!important;
  margin-right:auto!important;
}
@media(max-width:520px){
  .ksq-hof-copy .ksq-hof-logo{transform:none!important}
}


/* v0.11 – inhaltssichere Landingpages / SEO-Seiten */
.ksq-landing-page{overflow:visible}
.ksq-landing-page .wp-block-heading{letter-spacing:-.015em}
.ksq-landing-main-image img{aspect-ratio:4/5;object-fit:cover}
.ksq-landing-wide-image{margin:0 0 clamp(34px,5vw,62px)!important}
.ksq-landing-wide-image figure{margin:0!important}
.ksq-landing-wide-image img{display:block;width:100%;aspect-ratio:16/7.2;object-fit:cover}
.ksq-copy-narrow{max-width:850px!important;margin-left:auto!important;margin-right:auto!important;line-height:1.72}
.ksq-centered-copy{text-align:center}
.ksq-landing-heading{max-width:900px;margin-top:clamp(58px,7vw,88px)!important;margin-bottom:1.1rem!important}
.ksq-landing-split{gap:clamp(34px,5vw,72px)!important;margin-top:clamp(18px,3vw,34px)!important;margin-bottom:clamp(58px,7vw,90px)!important}
.ksq-landing-split p{line-height:1.68}
.ksq-landing-cards{gap:18px!important;margin-top:2.4rem!important;margin-bottom:clamp(60px,7vw,88px)!important}
.ksq-landing-cards .ksq-info-card{padding:clamp(22px,3vw,30px)!important;text-align:left!important;justify-content:flex-start!important}
.ksq-landing-cards .ksq-info-card p{line-height:1.58;color:#55514c}
.ksq-four-cards{align-items:stretch}
.ksq-landing-callout{margin:clamp(52px,7vw,88px) 0!important;padding:clamp(34px,5vw,60px)!important;border-radius:22px;background:var(--ksq-warm);border:1px solid var(--ksq-line)}
.ksq-landing-callout h2{max-width:820px;margin:.55rem 0 1rem!important}
.ksq-landing-callout p:last-child{max-width:900px;line-height:1.7;margin-bottom:0}
.ksq-check-list{max-width:900px;margin:1.6rem 0 1.8rem!important;padding-left:0!important;list-style:none}
.ksq-check-list li{position:relative;padding:.55rem 0 .55rem 2rem;line-height:1.6}
.ksq-check-list li:before{content:'✓';position:absolute;left:0;top:.52rem;width:1.35rem;height:1.35rem;border-radius:50%;display:grid;place-items:center;background:var(--ksq-red);color:#fff;font-size:.72rem;font-weight:800}
.ksq-landing-gallery{margin:clamp(54px,7vw,88px) 0!important;gap:24px!important}
.ksq-landing-gallery figure{margin-bottom:.55rem!important}
.ksq-landing-faq{margin-top:clamp(60px,8vw,98px)!important;max-width:940px}
.ksq-landing-faq>h2{margin-bottom:1.4rem!important}
.ksq-landing-faq details{border-top:1px solid var(--ksq-line);padding:1rem 0!important}
.ksq-landing-faq details:last-child{border-bottom:1px solid var(--ksq-line)}
.ksq-landing-faq summary{font-weight:700;cursor:pointer}
.ksq-landing-faq details p{max-width:820px;color:#55514c;line-height:1.65}
.ksq-landing-cta{margin-top:clamp(62px,8vw,100px)!important;padding:clamp(34px,5vw,60px)!important;border-radius:22px;background:var(--ksq-red);color:#fff}
.ksq-landing-cta .ksq-kicker{color:#fff!important;opacity:.86}
.ksq-landing-cta h2{color:#fff!important;max-width:800px;margin:.5rem 0 .9rem!important}
.ksq-landing-cta p{max-width:850px;line-height:1.65}
.ksq-landing-buttons{margin-top:1.5rem!important;gap:12px!important}
.ksq-landing-cta .wp-block-button__link{background:#fff!important;color:var(--ksq-red)!important;border-color:#fff!important;font-weight:700}
.ksq-landing-cta .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.8)!important}
.ksq-landing-home-types{gap:24px!important;margin-top:2.1rem!important;margin-bottom:clamp(62px,7vw,90px)!important}
.ksq-landing-home-card{height:100%;overflow:hidden}
.ksq-landing-home-card figure{margin:0!important}
.ksq-landing-home-card figure img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* Verfügbarkeitsseite: ruhige Vorstufe für das spätere Plugin. */
.ksq-availability-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important;margin:clamp(38px,5vw,58px) 0!important}
.ksq-availability-card{background:var(--ksq-warm);border:1px solid var(--ksq-line);border-radius:18px;padding:26px!important;text-align:center;min-height:220px;display:flex!important;flex-direction:column;align-items:center;justify-content:center}
.ksq-availability-card h3{font-size:1.08rem;margin:.9rem 0 .35rem!important}
.ksq-availability-card p{margin:.15rem 0;color:#5c5955}
.ksq-availability-soon{font-size:.82rem!important;color:#8a867f!important;margin-top:.85rem!important}
.ksq-house-symbol{position:relative;width:42px;height:34px;border:2px solid var(--ksq-red);border-top:0;border-radius:2px;margin-top:9px}
.ksq-house-symbol:before{content:'';position:absolute;width:29px;height:29px;border-left:2px solid var(--ksq-red);border-top:2px solid var(--ksq-red);transform:rotate(45deg);left:4px;top:-15px}
.ksq-house-symbol:after{content:'';position:absolute;width:8px;height:15px;border:2px solid var(--ksq-red);border-bottom:0;left:15px;bottom:0;background:var(--ksq-warm)}

@media(max-width:960px){
  .ksq-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ksq-four-cards{flex-wrap:wrap!important}
  .ksq-four-cards>.wp-block-column{flex-basis:calc(50% - 12px)!important}
}
@media(max-width:781px){
  .ksq-landing-wide-image img{aspect-ratio:4/3}
  .ksq-landing-main-image img{aspect-ratio:4/3}
  .ksq-landing-split{gap:28px!important}
  .ksq-landing-heading{margin-top:52px!important}
  .ksq-four-cards>.wp-block-column{flex-basis:100%!important}
  .ksq-landing-cta{border-radius:18px}
}
@media(max-width:520px){
  .ksq-availability-grid{grid-template-columns:1fr}
  .ksq-availability-card{min-height:190px}
  .ksq-landing-callout,.ksq-landing-cta{padding:28px 22px!important}
}

/* v0.12 additions */

.ksq-location-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;margin:clamp(28px,4vw,42px) 0 clamp(40px,5vw,56px)!important}
.ksq-location-card{padding:22px 20px!important;border:1px solid var(--ksq-line);border-radius:18px;background:var(--ksq-warm);display:flex!important;gap:14px;align-items:flex-start}
.ksq-location-icon{width:42px;height:42px;border-radius:999px;background:#fff;border:1px solid var(--ksq-line);display:flex;align-items:center;justify-content:center;color:var(--ksq-red);font-size:1.15rem;flex:0 0 42px}
.ksq-location-card h3{font-size:1rem;margin:0 0 .28rem!important}
.ksq-location-card p{margin:0!important;color:#56524d;line-height:1.5}
.ksq-location-note{margin-top:1.2rem!important;color:#7a746f;font-size:.9rem}
.ksq-climate-note{margin:clamp(28px,4vw,42px) 0!important;padding:24px 26px!important;border-radius:20px;background:#f8f3ef;border:1px solid var(--ksq-line)}
.ksq-climate-note h3{margin:.1rem 0 .65rem!important}
.ksq-climate-note p{margin:0!important;line-height:1.65}
.ksq-sparkasse-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:1rem}
.ksq-sparkasse-row .ksq-sparkasse-label{font-size:.95rem;color:#625e59;margin:0}
.ksq-sparkasse-logo{max-width:240px}
.ksq-sparkasse-logo img{display:block;width:100%;height:auto}
.ksq-visible-price{padding:24px 24px!important;border-radius:18px;background:var(--ksq-warm);border:1px solid var(--ksq-line)}
.ksq-visible-price-value{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1;color:var(--ksq-red);font-weight:800;letter-spacing:-.03em;margin:.2rem 0 .5rem!important}
.ksq-visible-price small{display:block;color:#6e6964}
.ksq-customize-note{margin-top:1rem!important;padding:18px 20px!important;border-radius:16px;background:#fbf7f4;border:1px solid var(--ksq-line)}
.ksq-customize-note p{margin:0!important;line-height:1.6}
.ksq-availability-grid{grid-auto-rows:1fr}
.ksq-availability-card{align-self:stretch;justify-content:flex-start;padding:24px 22px!important}
.ksq-availability-card h3{min-height:2.5em;display:flex;align-items:center;justify-content:center}
.ksq-availability-card p{line-height:1.45}
.ksq-availability-meta{font-size:.86rem;color:#817a74!important;margin-top:.15rem!important}
.ksq-availability-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:1rem}
.ksq-availability-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--ksq-line);font-size:.82rem;color:#5d5853}
.ksq-availability-badge .dot{width:9px;height:9px;border-radius:999px;background:var(--ksq-red);display:inline-block}
.ksq-availability-badge.is-light .dot{opacity:.5}
.ksq-availability-badge.is-muted .dot{opacity:.2}
.ksq-house-symbol{position:relative;width:38px;height:28px;border:2px solid var(--ksq-red);border-top:0;border-radius:3px;margin:2px auto 4px;background:transparent}
.ksq-house-symbol:before{content:'';position:absolute;width:24px;height:24px;border-left:2px solid var(--ksq-red);border-top:2px solid var(--ksq-red);transform:rotate(45deg);left:6px;top:-13px;background:transparent}
.ksq-house-symbol:after{content:'';position:absolute;width:8px;height:12px;border:2px solid var(--ksq-red);border-bottom:0;left:13px;bottom:0;background:var(--ksq-warm)}
.ksq-landing-textblock{max-width:640px}
.ksq-landing-textblock .wp-block-heading{margin-bottom:.9rem!important}
.ksq-landing-textblock p{line-height:1.68}
.ksq-landing-logo-wrap{margin-bottom:1.2rem!important;max-width:240px}
.ksq-landing-logo-wrap figure{margin:0!important}
@media (max-width: 900px){.ksq-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 781px){.ksq-location-grid{grid-template-columns:1fr}.ksq-sparkasse-logo{max-width:210px}.ksq-landing-logo-wrap{max-width:200px}}

/* v0.13 final alignment/content-control pass */

.ksq-landing-page .ksq-copy-narrow,
.ksq-landing-page .ksq-landing-heading,
.ksq-landing-page .ksq-centered-copy{margin-left:0!important;margin-right:0!important;text-align:left!important}
.ksq-landing-page .ksq-copy-narrow{max-width:900px!important}
.ksq-landing-page .ksq-landing-heading{max-width:900px!important}
.ksq-seo-hof-logo{max-width:300px;margin:-12px 0 18px!important}
.ksq-seo-hof-logo figure{margin:0!important}
.ksq-seo-hof-logo img{display:block;width:100%;height:auto}
.ksq-landing-textblock{max-width:640px;margin-left:0}

.ksq-availability-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important;align-items:stretch!important}
.ksq-availability-grid>.wp-block-group{width:100%!important;margin:0!important}
.ksq-availability-card{width:100%!important;height:100%!important;min-height:268px!important;padding:24px 20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;box-sizing:border-box}
.ksq-availability-card h3{min-height:2.7em!important;margin:14px 0 5px!important;display:flex;align-items:center;justify-content:center;font-size:1.03rem!important}
.ksq-availability-card .ksq-availability-meta{min-height:2.6em;margin:0!important}
.ksq-house-svg{width:54px;height:54px;margin:0 auto 2px;display:block;color:var(--ksq-red);flex:0 0 54px}
.ksq-house-svg svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ksq-availability-counts{width:100%;display:grid;grid-template-columns:1fr;gap:7px;margin-top:auto;padding-top:15px}
.ksq-availability-count{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:7px 10px;border-radius:10px;background:#fff;border:1px solid var(--ksq-line);font-size:.82rem;color:#5e5954}
.ksq-availability-count strong{color:var(--ksq-ink);font-size:.9rem}
.ksq-availability-status{margin:.8rem 0 0!important;font-weight:700;color:var(--ksq-red)!important;font-size:.88rem!important}

.ksq-location-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;align-items:stretch!important;margin:28px 0 18px!important}
.ksq-location-card{height:100%;min-height:128px;padding:20px!important;display:flex!important;align-items:flex-start!important;gap:14px!important;background:var(--ksq-warm);border:1px solid var(--ksq-line);border-radius:18px}
.ksq-location-icon-svg{width:38px;height:38px;flex:0 0 38px;color:var(--ksq-red)}
.ksq-location-icon-svg svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ksq-location-card h3{margin:0 0 .28rem!important;font-size:1rem!important}
.ksq-location-card p{margin:0!important;color:#5b5651;line-height:1.48;font-size:.9rem}
.ksq-location-note{font-size:.86rem!important;color:#7b746e!important;margin-top:.7rem!important}
.ksq-climate-note{margin-top:32px!important}

.ksq-wg-partner{margin:18px 0 22px!important;padding-top:18px;border-top:1px solid var(--ksq-line)}
.ksq-wg-partner-label{margin:0 0 9px!important;color:#67615c;font-size:.88rem}
.ksq-wg-sparkasse{max-width:250px;margin:0!important}
.ksq-wg-sparkasse figure{margin:0!important}
.ksq-wg-sparkasse img{display:block;width:100%;height:auto}

@media(max-width:980px){.ksq-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksq-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ksq-availability-grid,.ksq-location-grid{grid-template-columns:1fr}.ksq-availability-card{min-height:245px!important}.ksq-seo-hof-logo{max-width:245px;margin-top:0!important}}


/* v0.14 – Feinschliff */
.ksq-location-grid{grid-auto-rows:1fr!important}
.ksq-location-card{
  min-height:148px!important;
  height:100%!important;
  padding:22px 20px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:9px!important;
}
.ksq-location-card>div:last-child{width:100%}
.ksq-location-icon-svg{margin:0 auto 2px!important}
.ksq-location-card h3{margin:0 0 .35rem!important;text-align:center!important}
.ksq-location-card p{margin:0 auto!important;text-align:center!important;max-width:270px}

.ksq-seo-hof-logo{
  max-width:322px!important;
  margin:0 0 9px!important;
  transform:translate(-8px,-16px);
}
.ksq-seo-hof-logo figure{margin:0!important}

/* Nur der große Einleitungssatz direkt unter der Wiese auf der SEO-Seite wird wieder zentriert. */
body .ksq-landing-page>.ksq-landing-wide-image:first-child + .ksq-copy-narrow .ksq-lead{
  text-align:center!important;
  max-width:850px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.ksq-wg-brand-stack{
  min-height:330px;
  height:100%;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-around!important;
  align-items:center!important;
  gap:22px!important;
}
.ksq-wg-brand-primary,.ksq-wg-brand-partner{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ksq-wg-brand-primary .ksq-wg-logo img{max-width:310px!important;margin:auto!important}
.ksq-wg-brand-partner{padding-top:18px;border-top:1px solid rgba(0,0,0,.08)}
.ksq-wg-s-icon{width:78px;max-width:78px;margin:0 auto 7px!important}
.ksq-wg-s-icon figure{margin:0!important}
.ksq-wg-s-icon img{display:block;width:100%;height:auto}
.ksq-wg-partner-caption{margin:0!important;color:#807a74!important;font-size:.78rem!important;text-align:center!important;line-height:1.35!important}

@media(max-width:781px){
  .ksq-seo-hof-logo{max-width:270px!important;transform:translate(-5px,-8px)}
  .ksq-wg-brand-stack{min-height:auto;gap:28px;margin-bottom:22px}
  .ksq-wg-brand-partner{padding-top:22px}
}

/* v0.15 – weitere Layout-Feinjustierung */

/* Sparkassen-Partnerblock etwas tiefer im linken Markenfeld. */
.ksq-wg-brand-partner{transform:translateY(14px)}

/* Nur die Hausarzt-Kachel leicht absenken; übrige Lagekarten bleiben unverändert. */
.ksq-location-grid>.ksq-location-card:first-child{transform:translateY(10px)}

/* SEO Hof: minimal wieder nach rechts, Höhe bleibt erhalten. */
.ksq-seo-hof-logo{transform:translate(-3px,-16px)!important}

/* Einleitung unter der Wiese wirklich als eigene, mittig unter dem Bild stehende Zeile. */
.ksq-senior-hero-lead{max-width:920px!important;margin:18px auto 48px!important;text-align:center!important}
.ksq-senior-hero-lead .ksq-lead{margin:0 auto!important;text-align:center!important;line-height:1.6}

/* Bungalow-Leitbereich: rechter Inhalt zentriert neben dem Bild; Mitgestaltung darunter über volle Breite. */
.ksq-bungalow-lead{align-items:stretch!important;margin-bottom:18px!important}
.ksq-bungalow-lead>.wp-block-column{display:flex!important;flex-direction:column!important}
.ksq-bungalow-lead .ksq-bungalow-side{justify-content:center!important;padding-top:22px!important;padding-bottom:22px!important}
.ksq-bungalow-lead .ksq-bungalow-side>.ksq-visible-price{margin-top:18px!important;margin-bottom:18px!important}
.ksq-bungalow-lead .ksq-bungalow-side>p{margin-top:0!important;margin-bottom:0!important;line-height:1.65}
.ksq-customize-wide{width:100%!important;margin:12px 0 34px!important;padding:20px 24px!important}
.ksq-customize-wide p{max-width:none!important}
@media(max-width:781px){
  .ksq-wg-brand-partner{transform:translateY(6px)}
  .ksq-location-grid>.ksq-location-card:first-child{transform:none}
  .ksq-seo-hof-logo{transform:translate(-1px,-8px)!important}
  .ksq-bungalow-lead .ksq-bungalow-side{padding-top:0!important;padding-bottom:0!important}
}

/* v0.15.1 – weitere Feinausrichtung */

/* Wohngeneration oben mittig der oberen Hälfte, Sparkasse mittig der unteren Hälfte. */
.ksq-wg-brand-stack{
  min-height:350px!important;
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  align-items:stretch!important;
  justify-items:center!important;
  gap:0!important;
}
.ksq-wg-brand-primary,.ksq-wg-brand-partner{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.ksq-wg-brand-primary{padding-top:6px!important;}
.ksq-wg-brand-partner{
  transform:none!important;
  padding-top:18px!important;
  margin-top:4px!important;
}
.ksq-wg-partner-caption{margin-top:6px!important;}

/* Ostfriesland: Hausarzt-Kachel auf gleiche Höhe wie Apotheke, mehr Luft zur Klima-Kachel. */
.ksq-location-grid>.ksq-location-card:first-child{transform:translateY(18px)!important;}
.ksq-location-grid{margin-bottom:30px!important;}
.ksq-climate-note{margin-top:34px!important;}

/* SEO Hoflogo nur minimal nach rechts. */
.ksq-seo-hof-logo{transform:translate(0,-16px)!important;}

/* Einleitung unter der Wiese etwas näher direkt unter das Bild. */
.ksq-senior-hero-lead{margin:10px auto 48px!important;}

/* Bungalow: rechter Text etwas weiter nach rechts; Mitgestaltungskachel etwas tiefer. */
.ksq-bungalow-lead .ksq-bungalow-side{
  padding-left:12px!important;
  padding-right:2px!important;
}
.ksq-bungalow-lead .ksq-bungalow-side>p{
  padding-left:2px!important;
}
.ksq-customize-wide{margin:20px 0 34px!important;}

@media(max-width:781px){
  .ksq-wg-brand-stack{display:flex!important;min-height:auto!important;gap:28px!important;}
  .ksq-wg-brand-partner{margin-top:0!important;padding-top:22px!important;}
  .ksq-location-grid>.ksq-location-card:first-child{transform:none!important;}
  .ksq-seo-hof-logo{transform:translate(0,-8px)!important;}
  .ksq-senior-hero-lead{margin:8px auto 34px!important;}
  .ksq-bungalow-lead .ksq-bungalow-side{padding-left:0!important;padding-right:0!important;}
}

/* v0.15.2 – weitere Feinschliff-Anpassungen */

/* Wohngeneration wieder deutlich höher, Sparkasse unten unverändert. */
.ksq-wg-brand-primary{padding-top:0!important;transform:translateY(-18px)!important;}
.ksq-wg-brand-partner{transform:none!important;}

/* Ostfriesland: Hausarzt- und Klima-Kachel weiter nach unten. */
.ksq-location-grid>.ksq-location-card:first-child{transform:translateY(30px)!important;}
.ksq-climate-note{margin-top:52px!important;}

/* Wiesen-Unterschrift näher unter das Bild. */
.ksq-senior-hero-lead{margin:4px auto 48px!important;}

/* Bungalow-Mitgestaltungskachel weiter nach unten. */
.ksq-customize-wide{margin:28px 0 34px!important;}

@media(max-width:781px){
  .ksq-wg-brand-primary{transform:none!important;}
  .ksq-location-grid>.ksq-location-card:first-child{transform:none!important;}
  .ksq-climate-note{margin-top:34px!important;}
  .ksq-senior-hero-lead{margin:6px auto 34px!important;}
}

/* v0.15.3 – Mini-Feinschliff */

/* Hausarzt-Kachel zwischen den beiden letzten Positionen feinjustiert. */
.ksq-location-grid>.ksq-location-card:first-child{transform:translateY(24px)!important;}

/* Wiesen-Einleitung testweise linksbündig direkt unter dem Bild. */
.ksq-senior-hero-lead{
  max-width:920px!important;
  margin:6px auto 48px!important;
  text-align:left!important;
}
.ksq-senior-hero-lead .ksq-lead{
  margin:0!important;
  max-width:none!important;
  text-align:left!important;
  line-height:1.6!important;
}
@media(max-width:781px){
  .ksq-location-grid>.ksq-location-card:first-child{transform:none!important;}
  .ksq-senior-hero-lead{margin:6px auto 34px!important;text-align:left!important;}
  .ksq-senior-hero-lead .ksq-lead{text-align:left!important;}
}

/* v0.15.4 – letzter Feinschliff dieser Runde */

/* Hausarzt nur einen winzigen Hauch höher als in v0.15.3. */
.ksq-location-grid>.ksq-location-card:first-child{transform:translateY(22px)!important;}

/* Wiesen-Text als echte, schlichte Bildunterschrift – ohne Gruppen-/Kachelwirkung. */
.ksq-senior-image-caption{
  margin:9px 0 46px!important;
  padding:0!important;
  max-width:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#68635e!important;
  font-size:1rem!important;
  line-height:1.58!important;
  text-align:left!important;
}
@media(max-width:781px){
  .ksq-location-grid>.ksq-location-card:first-child{transform:none!important;}
  .ksq-senior-image-caption{margin:8px 0 34px!important;font-size:.96rem!important;}
}

/* v0.15.5 – Bildunterschrift direkt unter der Wiese */

/* Nur beim ersten großen Wiesenbild auf der SEO-Seite den sonst großzügigen unteren Bildabstand entfernen. */
.ksq-senior-living-page>.ksq-landing-wide-image:first-child{
  margin-bottom:0!important;
}
.ksq-senior-image-caption{
  max-width:920px!important;
  margin:10px auto 46px!important;
  text-align:center!important;
  color:#68635e!important;
  font-size:.98rem!important;
  line-height:1.5!important;
}
@media(max-width:781px){
  .ksq-senior-image-caption{
    margin:8px auto 34px!important;
    text-align:center!important;
    font-size:.94rem!important;
  }
}

/* v0.15.6 – Bildunterschrift noch dichter an das Wiesenbild */

.ksq-senior-living-page>.ksq-landing-wide-image:first-child,
.ksq-senior-living-page>.ksq-landing-wide-image:first-child .wp-block-image,
.ksq-senior-living-page>.ksq-landing-wide-image:first-child figure{
  margin-bottom:0!important;
}
.ksq-senior-image-caption{
  margin:4px auto 46px!important;
}
@media(max-width:781px){
  .ksq-senior-image-caption{margin:5px auto 34px!important;}
}

/* v0.15.7 – WordPress Block-Gap zwischen Wiesenbild und Caption neutralisieren */

.ksq-senior-living-page > .ksq-landing-wide-image:first-child + .ksq-senior-image-caption{
  margin-block-start:5px!important;
  margin-top:5px!important;
  margin-bottom:46px!important;
}
.ksq-senior-living-page > .ksq-landing-wide-image:first-child{
  margin-block-end:0!important;
  margin-bottom:0!important;
}
.ksq-senior-living-page > .ksq-landing-wide-image:first-child figure,
.ksq-senior-living-page > .ksq-landing-wide-image:first-child .wp-block-image,
.ksq-senior-living-page > .ksq-landing-wide-image:first-child img{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
@media(max-width:781px){
  .ksq-senior-living-page > .ksq-landing-wide-image:first-child + .ksq-senior-image-caption{
    margin-block-start:5px!important;
    margin-top:5px!important;
    margin-bottom:34px!important;
  }
}


/* v0.15.8 – echte Bildunterschrift ohne leeren Absatz davor */
.ksq-landing-page > .ksq-landing-wide-image:first-child{
  margin-bottom:0!important;
  margin-block-end:0!important;
}
.ksq-landing-page > .ksq-landing-wide-image:first-child + .ksq-senior-image-caption{
  margin-top:6px!important;
  margin-block-start:6px!important;
  margin-bottom:46px!important;
  text-align:center!important;
}
@media(max-width:781px){
  .ksq-landing-page > .ksq-landing-wide-image:first-child + .ksq-senior-image-caption{
    margin-top:5px!important;
    margin-block-start:5px!important;
    margin-bottom:34px!important;
  }
}

/* v0.15.10 – Header-Feinjustierung */

/* Die Navigation bleibt an ihrer bisherigen Position. Nur die alte zusätzliche
   Aufwärtsverschiebung des Quartier-Logos wird auf Desktop aufgehoben, damit
   Logo und Navigationszeile optisch auf derselben Höhe liegen. */
@media(min-width:782px){
  .ksq-site-header .custom-logo{transform:translateY(0)!important;}
}

/* v0.15.11 – Logo noch minimal tiefer */
@media(min-width:782px){
  .ksq-site-header .custom-logo{transform:translateY(4px)!important;}
}

/* v0.15.12 – Quartier-Logo deutlich weiter nach unten */
@media(min-width:782px){
  .ksq-site-header .custom-logo{transform:translateY(12px)!important;}
}


/* v0.15.13 – interne Verlinkungen zu Verfügbarkeit und redaktionellen SEO-Seiten */
.ksq-editorial-link-card{
  box-sizing:border-box;
  margin-top:clamp(34px,5vw,56px)!important;
  margin-bottom:clamp(30px,5vw,52px)!important;
  padding:clamp(24px,4vw,36px)!important;
  background:#f6f3ef;
  border:1px solid #e5dfd8;
  border-radius:18px;
}
.ksq-editorial-link-card .ksq-kicker{margin:0 0 8px!important;}
.ksq-editorial-link-card h2{margin:0 0 10px!important;max-width:850px;}
.ksq-editorial-link-card>p:not(.ksq-kicker):not(.ksq-editorial-link){max-width:880px;margin:0 0 14px!important;line-height:1.65;}
.ksq-editorial-link{margin:0!important;}
.ksq-editorial-link a{color:#E30512;text-decoration:none;}
.ksq-editorial-link a:hover{text-decoration:underline;}
.ksq-availability-page-link{
  margin-top:clamp(30px,4vw,46px)!important;
  margin-bottom:clamp(34px,5vw,52px)!important;
}
.ksq-availability-page-link .wp-block-buttons{margin:0!important;}


/* v0.15.14 – interne Verlinkungen sauber in den Seitenfluss integrieren */

/* Redaktionelle Artikelkarten bekommen denselben seitlichen Seitenabstand wie die übrigen Unterseiten-Inhalte. */
body:not(.home) .ksq-editorial-link-card{
  max-width:var(--ksq-page-max)!important;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Verfügbarkeit direkt bei Kaufpreis bzw. Mietstatus statt am Seitenende. */
.ksq-inline-availability-button{
  margin:16px 0 18px!important;
  justify-content:flex-start!important;
}
.ksq-inline-availability-button .wp-block-button__link{
  white-space:nowrap;
}
.ksq-bungalow-side .ksq-inline-availability-button{
  margin-top:16px!important;
  margin-bottom:18px!important;
}

@media(max-width:860px){
  body:not(.home) .ksq-editorial-link-card{
    width:calc(100% - 48px)!important;
  }
}
@media(max-width:600px){
  body:not(.home) .ksq-editorial-link-card{
    width:calc(100% - 36px)!important;
  }
}

/* v0.15.15 – Verfügbarkeitsbutton im Kaufpreis-Kasten */
.ksq-visible-price .ksq-inline-availability-button{margin:16px 0 0!important;}
.ksq-visible-price .ksq-inline-availability-button .wp-block-button{margin:0!important;}

/* v0.15.16 – Header-Feinschliff und offizielles Sparkassen-Logo */
@media(min-width:782px){
  /* Der Header darf auf breiten Desktops weiter nach außen gehen, damit
     Logo links und Navigation rechts nicht zu mittig wirken. */
  .ksq-site-header .alignwide{
    max-width:1320px!important;
    width:100%!important;
  }
  .ksq-site-header .wp-block-navigation{
    margin-left:auto!important;
  }

  /* Auf allen Unterseiten sitzt das Quartier-Logo nur einen Hauch tiefer. */
  body:not(.home) .ksq-site-header .custom-logo{
    transform:translateY(14px)!important;
  }

  /* Auf der Startseite soll die gesamte Zeile etwas höher stehen,
     das Logo innerhalb der Zeile aber minimal tiefer als die Auswahl rechts. */
  .home .ksq-site-header > .wp-block-group{
    transform:translateY(16px)!important;
  }
  .home .ksq-site-header .custom-logo{
    transform:translateY(18px)!important;
  }
}

/* Offizielles Sparkassen-Logo an gleicher Stelle im Wohngeneration-Bereich,
   aber mit korrektem Seitenverhältnis und mehr nutzbarer Breite. */
.ksq-wg-s-icon{
  width:min(100%,260px);
  max-width:260px;
  margin:0 auto 8px!important;
}
.ksq-wg-s-icon figure{margin:0!important}
.ksq-wg-s-icon img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:781px){
  .ksq-wg-s-icon{max-width:220px;}
}

/* v0.15.17 – originales Sparkassen-Logo ohne Institutsbezeichnung */
.ksq-wg-s-icon{
  width:min(100%,205px)!important;
  max-width:205px!important;
  margin:0 auto 8px!important;
}
.ksq-wg-s-icon figure{margin:0!important;}
.ksq-wg-s-icon img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:781px){
  .ksq-wg-s-icon{max-width:185px!important;}
}

/* v0.15.19 – Ostfriesland: Übergang von Alltagswegen zum Klimavergleich */
.ksq-ost-transition-card{
  margin:clamp(46px,6vw,68px) 0 0!important;
  padding:clamp(22px,3vw,28px) clamp(22px,3vw,30px)!important;
  border:1px solid var(--ksq-line);
  border-radius:18px;
  background:#fff;
  line-height:1.68;
}
.ksq-ost-transition-card p:first-child{margin-top:0!important;}
.ksq-ost-transition-card p:last-child{margin-bottom:0!important;}
.ksq-ost-transition-card + .ksq-climate-note,
.ksq-ost-transition-card + .kskl{
  margin-top:clamp(24px,3vw,34px)!important;
}
@media(max-width:700px){
  .ksq-ost-transition-card{
    margin-top:40px!important;
    padding:20px 18px!important;
    border-radius:16px;
  }
}


/* v0.15.20 – Ostfriesland: ruhiger Textabschnitt vor dem Klimavergleich, ohne Kachel */
.ksq-ost-climate-intro{
  margin:clamp(50px,6vw,70px) 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ksq-ost-climate-intro h2{
  margin:0 0 14px!important;
}
.ksq-ost-climate-intro p{
  max-width:900px;
}
.ksq-ost-climate-intro p:last-child{
  margin-bottom:0!important;
}
.ksq-ost-climate-intro + .ksq-climate-note,
.ksq-ost-climate-intro + .kskl{
  margin-top:clamp(30px,4vw,44px)!important;
}
@media(max-width:700px){
  .ksq-ost-climate-intro{margin-top:44px!important;}
}

/* v0.15.21 – schmale Partnerzeile der Gemeinde Jemgum direkt unter der Ostfriesland-Kachel. */
.ksq-jemgum-partner{
  width:100%!important;
  max-width:1180px!important;
  margin:16px auto 0!important;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:17px clamp(22px,3.5vw,42px)!important;
  background:#fff;
  border:1px solid var(--ksq-line);
  border-radius:16px;
}
.ksq-jemgum-partner__copy{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ksq-ink);line-height:1.25}
.ksq-jemgum-partner__eyebrow{font-size:.82rem;color:var(--ksq-muted);letter-spacing:.025em}
.ksq-jemgum-partner__copy strong{font-family:var(--wp--preset--font-family--ksq-heading);font-size:clamp(1rem,1.6vw,1.18rem);font-weight:650}
.ksq-jemgum-partner__brand{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;line-height:0;text-decoration:none}
.ksq-jemgum-partner__logo{display:block;width:auto!important;height:auto!important;max-width:220px!important;max-height:74px!important;object-fit:contain}
@media(max-width:700px){
  .ksq-jemgum-partner{align-items:center;gap:18px;padding:15px 18px!important}
  .ksq-jemgum-partner__logo{max-width:165px!important;max-height:62px!important}
}
@media(max-width:480px){
  .ksq-jemgum-partner{flex-direction:column;align-items:flex-start;gap:12px}
  .ksq-jemgum-partner__brand{justify-content:flex-start}
  .ksq-jemgum-partner__logo{max-width:190px!important}
}

/* v0.15.22 – automatisches Jemgum-Logo, weiterhin bewusst als schmale Partnerzeile. */
.ksq-jemgum-partner__brand{
  min-width:clamp(180px,22vw,250px);
}
.ksq-jemgum-partner__logo{
  width:clamp(180px,22vw,250px)!important;
  max-width:250px!important;
  max-height:none!important;
  height:auto!important;
}
@media(max-width:700px){
  .ksq-jemgum-partner__brand{min-width:160px}
  .ksq-jemgum-partner__logo{width:180px!important;max-width:180px!important;max-height:none!important}
}
@media(max-width:480px){
  .ksq-jemgum-partner__brand{min-width:0}
  .ksq-jemgum-partner__logo{width:190px!important;max-width:190px!important}
}


/* v0.15.23 – Jemgum-Logo dezent unten rechts direkt in der Ostfriesland-Kachel. */
.ksq-ostfriesland{position:relative}
.ksq-ostfriesland-jemgum{
  position:absolute;
  right:clamp(16px,2.8vw,28px);
  bottom:clamp(16px,2.8vw,24px);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 32px rgba(0,0,0,.18);
  backdrop-filter:blur(2px);
  line-height:0;
  text-decoration:none;
}
.ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{
  display:block;
  width:170px!important;
  max-width:170px!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain;
}
@media(max-width:781px){
  .ksq-ostfriesland-jemgum{right:16px;bottom:16px;padding:9px 12px}
  .ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{width:145px!important;max-width:145px!important}
}
@media(max-width:520px){
  .ksq-ostfriesland-jemgum{right:14px;bottom:14px;padding:8px 10px}
  .ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{width:126px!important;max-width:126px!important}
}


/* v0.15.24 – Jemgum-Logo freigestellt direkt im Bild, ohne weiße Kachel. */
.ksq-ostfriesland-jemgum{
  padding:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  border-radius:0;
}
.ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
  width:176px!important;
  max-width:176px!important;
}
@media(max-width:781px){
  .ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{width:150px!important;max-width:150px!important}
}
@media(max-width:520px){
  .ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{width:132px!important;max-width:132px!important}
}


/* v0.15.26 – weißes Jemgum-Logo etwas weiter links und höher. */
.ksq-ostfriesland-jemgum{
  right:clamp(34px,4.5vw,54px);
  bottom:clamp(30px,4vw,44px);
}
.ksq-ostfriesland-jemgum .ksq-jemgum-partner__logo{
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.34));
}
@media(max-width:781px){
  .ksq-ostfriesland-jemgum{right:26px;bottom:28px}
}
@media(max-width:520px){
  .ksq-ostfriesland-jemgum{right:20px;bottom:22px}
}

/* v0.15.27 – Ostfriesland: breiteres Landschaftsbild und Fotokarten für Alltagswege */
.ksq-ost-page > .wp-block-image:first-child{
  margin-bottom:clamp(22px,3vw,30px)!important;
  overflow:hidden;
  border-radius:22px;
}
.ksq-ost-page > .wp-block-image:first-child img{
  display:block;
  width:100%;
  aspect-ratio:16/7.2;
  object-fit:cover;
  object-position:center 50%;
}

.ksq-location-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px!important;
  margin:clamp(28px,4vw,42px) 0 clamp(42px,5vw,58px)!important;
}
.ksq-location-photo-card{
  position:relative;
  min-width:0;
  aspect-ratio:16/10;
  padding:0!important;
  margin:0!important;
  overflow:hidden;
  border:1px solid var(--ksq-line);
  border-radius:19px;
  background:var(--ksq-warm);
  box-shadow:0 8px 24px rgba(30,27,24,.06);
}
.ksq-location-photo-card .ksq-location-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0!important;
}
.ksq-location-photo-card .ksq-location-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}
.ksq-location-photo-card:hover .ksq-location-photo img{
  transform:scale(1.025);
}
.ksq-location-photo-label{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  min-width:48%;
  max-width:78%;
  margin:0!important;
  padding:13px 18px 12px 28px!important;
  background:rgba(249,246,241,.96);
  border-top:1px solid rgba(255,255,255,.72);
  box-shadow:-7px -7px 18px rgba(30,27,24,.08);
  clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);
}
.ksq-location-photo-label h3{
  margin:0!important;
  color:var(--ksq-ink);
  font-size:clamp(.98rem,1.2vw,1.08rem)!important;
  line-height:1.15!important;
  letter-spacing:-.01em;
}
.ksq-location-photo-label p{
  margin:4px 0 0!important;
  color:var(--ksq-red)!important;
  font-size:.84rem!important;
  font-weight:700;
  line-height:1.2!important;
}

@media(max-width:980px){
  .ksq-location-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .ksq-ost-page > .wp-block-image:first-child img{aspect-ratio:16/9;}
  .ksq-location-photo-grid{grid-template-columns:1fr;gap:16px!important;}
  .ksq-location-photo-card{aspect-ratio:16/9;}
  .ksq-location-photo-label{min-width:46%;max-width:82%;padding:12px 16px 11px 26px!important;}
}

/* v0.15.28 – robuster Ostfriesland-Scope */
.ksq-page-ostfriesland .ksq-ost-page > figure.wp-block-image:first-of-type,
.ksq-page-ostfriesland main .ksq-section-tight > figure.ksq-image-rounded:first-of-type{
  overflow:hidden!important;
  border-radius:22px!important;
}
.ksq-page-ostfriesland .ksq-ost-page > figure.wp-block-image:first-of-type img,
.ksq-page-ostfriesland main .ksq-section-tight > figure.ksq-image-rounded:first-of-type img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/6.7!important;
  object-fit:cover!important;
  object-position:center 50%!important;
}
@media(max-width:700px){
  .ksq-page-ostfriesland .ksq-ost-page > figure.wp-block-image:first-of-type img,
  .ksq-page-ostfriesland main .ksq-section-tight > figure.ksq-image-rounded:first-of-type img{
    aspect-ratio:16/9!important;
  }
}


/* v0.15.31 – Fotokarten Ostfriesland feinjustiert.
   Wichtig: Die Bilder werden direkt über Dateiname/Alttext angesprochen, nicht über
   ihre Position im Raster. Dadurch bleibt die Reihenfolge älterer Seitenstände egal.
   Supermarkt etwas höher im Ausschnitt, Hausarzt etwas weiter unten mit mehr Kopffreiheit. */
.ksq-location-photo-card .ksq-location-photo img[src*="supermarkt"],
.ksq-location-photo-card .ksq-location-photo img[alt*="Supermarkt"],
.ksq-location-photo-card .ksq-location-photo img[alt*="supermarkt"]{
  object-position:center 60%!important;
}
.ksq-location-photo-card .ksq-location-photo img[src*="hausarzt"],
.ksq-location-photo-card .ksq-location-photo img[alt*="Hausarzt"],
.ksq-location-photo-card .ksq-location-photo img[alt*="hausarzt"]{
  object-position:center 27%!important;
}
@media(max-width:700px){
  .ksq-location-photo-card .ksq-location-photo img[src*="supermarkt"],
  .ksq-location-photo-card .ksq-location-photo img[alt*="Supermarkt"],
  .ksq-location-photo-card .ksq-location-photo img[alt*="supermarkt"]{
    object-position:center 58%!important;
  }
  .ksq-location-photo-card .ksq-location-photo img[src*="hausarzt"],
  .ksq-location-photo-card .ksq-location-photo img[alt*="Hausarzt"],
  .ksq-location-photo-card .ksq-location-photo img[alt*="hausarzt"]{
    object-position:center 24%!important;
  }
}


/* v0.15.32 – Mobile Navigation
   Desktop bleibt unangetastet. Bis 900 px wird der vorhandene native
   WordPress-Navigationsdialog als klarer Hamburger-Header genutzt.
   Kein eigenes JavaScript: Öffnen, Schließen, Fokus und Escape übernimmt WordPress. */
@media(max-width:900px){
  /* Normale Linkzeile ausblenden und den nativen Menüknopf zuverlässig zeigen. */
  .ksq-site-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.52)!important;
    border-radius:13px!important;
    box-shadow:none!important;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-open:hover{
    background:rgba(255,255,255,.18)!important;
    border-color:rgba(255,255,255,.78)!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-open:active{
    transform:scale(.97);
  }
  .ksq-site-header .wp-block-navigation__responsive-container-open svg{
    width:27px!important;
    height:27px!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-open:focus-visible,
  .ksq-site-header .wp-block-navigation__responsive-container-close:focus-visible{
    outline:2px solid #fff!important;
    outline-offset:3px!important;
  }

  /* Geöffnetes Menü: ruhige Vollbildfläche statt zusammengeschobener Desktopnavigation. */
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    z-index:100000!important;
    box-sizing:border-box!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    padding:22px clamp(22px,6vw,38px) 34px!important;
    background:linear-gradient(155deg,#292929 0%,#242424 72%,#310005 100%)!important;
    color:#fff!important;
    overflow-y:auto!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-close{
    width:min(100%,560px)!important;
    margin:0 auto!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-dialog{
    width:100%!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    top:0!important;
    right:0!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.36)!important;
    border-radius:13px!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-close svg{
    width:25px!important;
    height:25px!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-content{
    box-sizing:border-box!important;
    width:100%!important;
    padding-top:clamp(82px,18vh,132px)!important;
    align-items:stretch!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    gap:0!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
    width:100%!important;
    margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    box-sizing:border-box!important;
    display:flex!important;
    width:100%!important;
    min-height:58px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:15px 4px!important;
    color:#fff!important;
    font-size:clamp(1.2rem,5.5vw,1.52rem)!important;
    font-weight:600!important;
    line-height:1.2!important;
    letter-spacing:-.01em!important;
    text-decoration:none!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{
    color:#fff!important;
    opacity:.78;
  }

  /* Exposé bleibt im mobilen Menü als eindeutiger Abschluss-CTA sichtbar. */
  .ksq-site-header .wp-block-navigation__responsive-container-content .ksq-nav-cta{
    margin-top:20px!important;
    border-bottom:0!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open .ksq-nav-cta .wp-block-navigation-item__content{
    justify-content:center!important;
    min-height:54px!important;
    padding:14px 20px!important;
    background:var(--ksq-red)!important;
    border:1px solid rgba(255,255,255,.62)!important;
    border-radius:12px!important;
    font-size:1.02rem!important;
    font-weight:700!important;
  }

  /* Kopfzeile selbst: genügend Raum für Logo + 46-px-Menüknopf, ohne Desktopwerte anzutasten. */
  .ksq-site-header > .wp-block-group{
    flex-wrap:nowrap!important;
    gap:14px!important;
  }
  .ksq-site-header .wp-block-navigation{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
}

@media(max-width:520px){
  .ksq-site-header{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .ksq-site-header .custom-logo{
    width:min(230px,66vw)!important;
  }
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}


/* v0.15.33 – Mobile Feinkorrekturen
   Sämtliche Regeln dieses Blocks gelten nur für mobile/kleinere Viewports.
   Die Desktop-Darstellung oberhalb der jeweiligen Breakpoints bleibt unverändert. */

/* Header: Quartier-Logo mobil auf dieselbe optische Höhe wie den Hamburger setzen.
   Frühere mobile Regeln schoben das Logo noch nach oben; diese Verschiebung wird hier aufgehoben. */
@media(max-width:900px){
  .home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    transform:translateY(0)!important;
  }
}

@media(max-width:781px){
  /* Kleinstein Hof: Nach dem Stapeln Bild -> Logo -> Text das Logo mittig über dem Textblock platzieren. */
  .ksq-hof-copy .ksq-hof-logo{
    width:100%!important;
    justify-content:center!important;
    transform:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-hof-copy .ksq-hof-logo figure,
  .ksq-hof-copy .ksq-hof-logo img{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* FAQ: nativen Aufklapp-Pfeil innerhalb der verfügbaren Breite halten,
     damit er nicht mehr am linken Displayrand angeschnitten wird. */
  .ksq-faq summary{
    list-style-position:inside!important;
    padding-left:2px!important;
    padding-right:6px!important;
  }

  /* Wohngeneration/Sparkasse: nach dem mobilen Logo-Block etwas mehr Luft
     bis zum anschließend gestapelten Textbereich. */
  .ksq-wohngeneration-section .ksq-wg-brand-stack{
    margin-bottom:34px!important;
  }
  .ksq-wohngeneration-section .ksq-wg-s-icon{
    margin-bottom:12px!important;
  }
}

@media(max-width:520px){
  /* Kontakt: gemeinsamer, rechts platzierter Logo-Bereich. Die Logos beginnen
     innerhalb dieses Bereichs links an derselben Achse, sodass insbesondere
     die Kleinstein-Haus-Symbole sauber untereinander stehen. */
  .ksq-contact-card .ksq-brand-tile{
    justify-content:flex-end!important;
  }
  .ksq-contact-card .ksq-brand-tile figure{
    width:min(100%,330px)!important;
    margin-left:auto!important;
    margin-right:0!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .ksq-contact-card .ksq-brand-tile img{
    margin-left:0!important;
    margin-right:auto!important;
  }
}


/* v0.15.34 – gezielter Feinschliff nach mobiler Sichtprüfung.
   1) Hauptlogo im mobilen Header deutlicher nach unten.
   2) Geschäftsführer-Portrait auf der Kontaktseite nur mobil zentriert.
   3) Kontakt-Markenlogos im bestehenden Desktop-3er-Raster mit gemeinsamer
      Logo-Achse, damit die Haus-Symbole innerhalb jeder Spalte bündig stehen. */
@media(max-width:900px){
  .home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    transform:translateY(12px)!important;
  }
}

@media(max-width:781px){
  .ksq-contact-card .ksq-portrait{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-contact-card .ksq-portrait img{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(min-width:821px){
  .ksq-contact-card .ksq-brand-tile figure{
    width:min(100%,250px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .ksq-contact-card .ksq-brand-tile img{
    margin-left:0!important;
    margin-right:auto!important;
  }
}


/* v0.15.35 – mobiles Navigations-Overlay wirklich viewportfüllend.
   Die Startseite verschiebt die geschlossene Headerzeile bewusst tiefer ins Hero.
   Ein transformierter Vorfahr wird für position:fixed zum Containing Block und kann
   dadurch sichtbare Reststreifen am Rand des Menü-Overlays erzeugen. Nur solange
   das Menü geöffnet ist, neutralisieren wir diese Verschiebung; geschlossen bleibt
   die bisherige Gestaltung vollständig erhalten. */
@media(max-width:900px){
  .ksq-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) > .wp-block-group{
    transform:none!important;
  }

  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    inset:0!important;
    width:auto!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    overscroll-behavior:contain;
    padding-top:max(22px,env(safe-area-inset-top))!important;
    padding-right:max(clamp(22px,6vw,38px),env(safe-area-inset-right))!important;
    padding-bottom:max(34px,env(safe-area-inset-bottom))!important;
    padding-left:max(clamp(22px,6vw,38px),env(safe-area-inset-left))!important;
  }
}

@media(max-width:520px){
  .ksq-site-header .wp-block-navigation__responsive-container.is-menu-open{
    padding-right:max(22px,env(safe-area-inset-right))!important;
    padding-left:max(22px,env(safe-area-inset-left))!important;
  }
}


/* v0.15.43 – Pflegebauernhof-Vergleich, ohne Eingriff in das übrige Hof-Layout */
body:not(.home) .ksq-carefarm-story{
  max-width:var(--ksq-page-max)!important;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  margin:clamp(46px,6vw,72px) auto clamp(36px,5vw,58px)!important;
  padding:0!important;
}
.ksq-carefarm-story-intro{
  max-width:880px;
  margin:0 0 24px!important;
  text-align:left!important;
}
.ksq-carefarm-story-intro .ksq-kicker{margin:0 0 8px!important}
.ksq-carefarm-story-intro h2{margin:0 0 12px!important;text-align:left!important}
.ksq-carefarm-story-intro p:last-child{margin:0!important;color:#55514c;line-height:1.65;text-align:left!important}
.ksq-carefarm-story-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.ksq-carefarm-story-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ksq-line);
  border-radius:18px;
}
.ksq-carefarm-story-media{
  position:relative;
  overflow:hidden;
  background:#eeeae4;
}
.ksq-carefarm-story-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
}
.ksq-carefarm-story-banner{
  position:absolute;
  right:-8px;
  bottom:16px;
  min-width:136px;
  padding:10px 19px 10px 27px;
  background:var(--ksq-red);
  color:#fff;
  font-weight:700;
  font-size:.96rem;
  line-height:1.1;
  text-align:center;
  clip-path:polygon(16px 0,100% 0,100% 100%,0 100%);
  box-shadow:0 6px 18px rgba(0,0,0,.13);
}
.ksq-carefarm-story-facts{padding:9px 18px 13px}
.ksq-carefarm-story-row{
  display:grid;
  grid-template-columns:minmax(0,130px) minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:10px 0;
  border-bottom:1px solid #ece8e2;
}
.ksq-carefarm-story-row:last-child{border-bottom:0}
.ksq-carefarm-story-row strong{
  color:var(--ksq-red);
  font-family:var(--wp--preset--font-family--ksq-heading);
  font-size:1.08rem;
  line-height:1.2;
}
.ksq-carefarm-story-row span{
  color:#514c47;
  font-size:.9rem;
  line-height:1.42;
}
.ksq-carefarm-story-sources{
  margin:14px 0 0!important;
  color:#7b756f!important;
  font-size:.75rem!important;
  line-height:1.45!important;
}
@media(max-width:781px){
  body:not(.home) .ksq-carefarm-story{
    margin-top:40px!important;
    margin-bottom:42px!important;
  }
  .ksq-carefarm-story-grid{grid-template-columns:1fr;gap:18px}
}
@media(max-width:600px){
  body:not(.home) .ksq-carefarm-story{
    width:calc(100% - 44px)!important;
  }
  .ksq-carefarm-story-intro{margin-bottom:20px!important}
  .ksq-carefarm-story-banner{bottom:13px;min-width:124px;padding:9px 15px 9px 23px;font-size:.92rem}
  .ksq-carefarm-story-facts{padding:7px 15px 10px}
  .ksq-carefarm-story-row{grid-template-columns:1fr;gap:3px;padding:9px 0}
  .ksq-carefarm-story-row strong{font-size:1.04rem}
  .ksq-carefarm-story-row span{font-size:.88rem}
}


/* v0.15.46 – Feintuning Pflegebauernhof-Vergleich */
body:not(.home) .ksq-carefarm-story{
  margin-top:clamp(24px,3.4vw,38px)!important;
}
.ksq-carefarm-story-intro{
  margin-bottom:20px!important;
}
.ksq-carefarm-story-intro .ksq-kicker{
  margin-bottom:5px!important;
  font-size:.69rem!important;
  letter-spacing:.13em!important;
}
.ksq-carefarm-story-sources{
  max-width:760px!important;
  margin:11px auto 0!important;
  text-align:center!important;
  color:#827c76!important;
  font-size:.66rem!important;
  line-height:1.42!important;
}
@media(max-width:781px){
  body:not(.home) .ksq-carefarm-story{
    margin-top:26px!important;
  }
  .ksq-carefarm-story-intro .ksq-kicker{
    font-size:.67rem!important;
  }
  .ksq-carefarm-story-sources{
    font-size:.64rem!important;
  }
}

/* v0.15.47 – beide Vergleichskarten besitzen sichtbar drei gleichwertige Faktenzeilen */
.ksq-carefarm-story-card .ksq-carefarm-story-facts{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(58px,auto))!important;
}
.ksq-carefarm-story-card .ksq-carefarm-story-row{
  min-height:58px!important;
}
@media(max-width:600px){
  .ksq-carefarm-story-card .ksq-carefarm-story-facts{
    grid-template-rows:none!important;
  }
  .ksq-carefarm-story-card .ksq-carefarm-story-row{
    min-height:0!important;
  }
}


/* v0.15.48 – Vergleich kompakter, Faktenzeilen zentriert, Abschnitt näher an den vorherigen Inhalt */
body:not(.home) .ksq-carefarm-story{
  margin-top:clamp(12px,2vw,22px)!important;
}
.ksq-carefarm-story-card .ksq-carefarm-story-facts{
  grid-template-rows:repeat(3,minmax(46px,auto))!important;
  padding-top:6px!important;
  padding-bottom:8px!important;
}
.ksq-carefarm-story-card .ksq-carefarm-story-row{
  min-height:46px!important;
  align-items:center!important;
  padding:7px 0!important;
}
.ksq-carefarm-story-row strong,
.ksq-carefarm-story-row span{
  text-align:center!important;
}
@media(max-width:781px){
  body:not(.home) .ksq-carefarm-story{
    margin-top:16px!important;
  }
}
@media(max-width:600px){
  .ksq-carefarm-story-card .ksq-carefarm-story-facts{
    grid-template-rows:none!important;
    padding-top:6px!important;
    padding-bottom:8px!important;
  }
  .ksq-carefarm-story-card .ksq-carefarm-story-row{
    min-height:0!important;
    padding:8px 0!important;
    text-align:center!important;
  }
}


/* v0.15.49 – Quellenzeile feiner, mobiles Startbild austauschen, Kontaktblock mobil zentrieren */
.ksq-carefarm-story-sources{
  max-width:690px!important;
  margin:8px auto 0!important;
  text-align:center!important;
  color:#8b857f!important;
  font-size:.58rem!important;
  line-height:1.36!important;
  letter-spacing:.01em!important;
}
@media(max-width:781px){
  .ksq-carefarm-story-sources{
    max-width:94%!important;
    font-size:.55rem!important;
    line-height:1.33!important;
  }

  .home .ksq-hero{
    background-image:url("../images/home-hero-mobile-v1549.jpg")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  .home .ksq-hero .wp-block-cover__image-background,
  .home .ksq-hero .wp-block-cover__video-background{
    opacity:0!important;
  }

  .home .ksq-home-contact > .wp-block-column:last-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
  }
  .home .ksq-home-contact-person{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    width:100%!important;
    gap:12px!important;
  }
  .home .ksq-home-contact-person .ksq-portrait{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home .ksq-home-contact-person .ksq-portrait img{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home .ksq-home-contact-person p{
    width:min(100%,310px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }
  .home .ksq-home-contact > .wp-block-column:last-child .wp-block-buttons,
  .home .ksq-home-contact-person .wp-block-buttons{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .home .ksq-home-contact > .wp-block-column:last-child .wp-block-button,
  .home .ksq-home-contact-person .wp-block-button{
    margin:0!important;
  }
  .home .ksq-home-contact > .wp-block-column:last-child .wp-block-button__link,
  .home .ksq-home-contact-person .wp-block-button__link{
    text-align:center!important;
  }
}


/* v0.15.50 – gezielte mobile Feinkorrekturen und feinere Quellenzeile */
.ksq-carefarm-story-sources{
  max-width:720px!important;
  margin:8px auto 0!important;
  text-align:center!important;
  color:#8d8781!important;
  font-size:.56rem!important;
  line-height:1.34!important;
  font-weight:400!important;
}

@media(max-width:781px){
  /* SEO-Seite „Pflege & Wohnen im Alter“: Hof-Logo nur mobil zentrieren. */
  .ksq-landing-page .ksq-landing-logo-wrap{
    width:min(100%,200px)!important;
    max-width:200px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .ksq-landing-page .ksq-landing-logo-wrap figure{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-landing-page .ksq-landing-logo-wrap img{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Startseite: Portrait und darunterliegende Kontaktdaten optisch als zentrierte Einheit. */
  .home .ksq-home-contact-person .ksq-portrait{
    margin-bottom:10px!important;
  }
  .home .ksq-home-contact-person p{
    display:table!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 auto!important;
    text-align:left!important;
  }

  /* Die beiden CTA-Buttons sind Geschwister des Kontaktblocks, nicht darin enthalten. */
  .home .ksq-cta > .wp-block-buttons,
  .home .ksq-cta .wp-block-buttons{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home .ksq-cta .wp-block-button{
    margin-left:0!important;
    margin-right:0!important;
  }
  .home .ksq-cta .wp-block-button__link{
    text-align:center!important;
  }

  .ksq-carefarm-story-sources{
    max-width:92%!important;
    font-size:.53rem!important;
    line-height:1.32!important;
  }
}


/* v0.15.51 – mobile Hero-Ausrichtung der Startseite explizit auf den bewährten linksbündigen Stand festlegen. */
@media(max-width:781px){
  .home .ksq-hero .wp-block-cover__inner-container{
    width:100%!important;
  }
  .home .ksq-hero-content{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .home .ksq-hero-content > .ksq-kicker,
  .home .ksq-hero-content > .ksq-hero-title,
  .home .ksq-hero-content > .ksq-hero-sub{
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
  }
  .home .ksq-hero-content > .wp-block-buttons{
    width:100%!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .home .ksq-hero-content > .wp-block-buttons .wp-block-button{
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v0.15.52 – Mobile Regression im Startseiten-Hero korrigieren; Kontakt und SEO-Hoflogo feinjustieren. */
@media(max-width:781px){
  /* Hero: wieder echte Seitenluft statt 100%-Block am linken Viewportrand. */
  .home .ksq-hero .wp-block-cover__inner-container{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .home .ksq-hero-content{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }
  .home .ksq-hero-content > .ksq-kicker,
  .home .ksq-hero-content > .ksq-hero-title,
  .home .ksq-hero-content > .ksq-hero-sub{
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
    text-align:left!important;
  }
  .home .ksq-hero-title{
    font-size:clamp(1.85rem,8vw,2.45rem)!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .home .ksq-hero-sub{
    font-size:1rem!important;
    line-height:1.45!important;
  }
  .home .ksq-hero-content > .wp-block-buttons{
    width:auto!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }

  /* Persönlicher Kontakt auf der Startseite: Portrait -> Abstand -> zentrierte Kontaktdaten -> Abstand -> Buttons. */
  .home .ksq-home-contact-person .ksq-portrait{
    margin-bottom:14px!important;
  }
  .home .ksq-home-contact-person p{
    display:block!important;
    width:100%!important;
    max-width:330px!important;
    margin:0 auto!important;
    text-align:center!important;
    line-height:1.55!important;
  }
  .home .ksq-cta .ksq-home-contact{
    margin-bottom:22px!important;
  }
  .home .ksq-cta > .wp-block-buttons,
  .home .ksq-cta .wp-block-buttons.is-layout-flex,
  .home .ksq-cta .wp-block-buttons{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }

  /* SEO „Pflege & Wohnen im Alter“: Hof-Logo sicher mittig unter dem Bild / über dem Text. */
  .ksq-landing-page .ksq-landing-split .ksq-landing-textblock .ksq-landing-logo-wrap,
  .ksq-landing-page .ksq-landing-logo-wrap{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:min(100%,220px)!important;
    max-width:220px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:1.2rem!important;
    text-align:center!important;
  }
  .ksq-landing-page .ksq-landing-logo-wrap figure{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin:0 auto!important;
  }
  .ksq-landing-page .ksq-landing-logo-wrap img{
    display:block!important;
    width:100%!important;
    max-width:220px!important;
    height:auto!important;
    margin:0 auto!important;
  }
}
@media(max-width:420px){
  .home .ksq-hero-content{
    width:calc(100% - 34px)!important;
  }
  .home .ksq-hero-title{
    font-size:clamp(1.8rem,7.8vw,2.15rem)!important;
  }
}


/* v0.15.54 – nur den Wohngeneration-Button mobil zentrieren; Pfeil bleibt im Text wie ursprünglich */
@media(max-width:781px){
  .home .ksq-wohngeneration-section .wp-block-buttons,
  .home .ksq-wohngeneration-section .wp-block-buttons.is-layout-flex{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home .ksq-wohngeneration-section .wp-block-button{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v0.15.55 – zwei gezielte mobile Feinkorrekturen. */
@media(max-width:781px){
  /* Startseite: mehr Luft zwischen erklärendem Textblock und Geschäftsführer-Portrait. */
  .home .ksq-home-contact{
    row-gap:clamp(38px,9vw,52px)!important;
  }

  /* SEO-Seite „Pflege & Wohnen im Alter“: tatsächlich verwendeten Hof-Logo-Wrapper
     wie auf der Kleinstein-Hof-Seite zentrieren, ohne Größe oder Desktop zu verändern. */
  .ksq-landing-page .ksq-seo-hof-logo{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:translateY(-8px)!important;
  }
  .ksq-landing-page .ksq-seo-hof-logo figure{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-landing-page .ksq-seo-hof-logo img{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v0.15.56 – Hof-Logo mobil auf beiden Seiten ruhiger und einheitlicher */
@media(max-width:781px){
  /* Eigentliche Kleinstein-Hof-Seite: dieselbe kompaktere Logo-Größe wie auf der SEO-Seite. */
  .ksq-hof-copy .ksq-hof-logo{
    width:100%!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-hof-copy .ksq-hof-logo figure{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .ksq-hof-copy .ksq-hof-logo img{
    display:block!important;
    width:100%!important;
    max-width:270px!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* SEO-Seite: etwas mehr Luft zwischen zentriertem Logo und anschließendem Text. */
  .ksq-landing-page .ksq-seo-hof-logo{
    margin-bottom:26px!important;
  }
}


/* v0.15.58 – kompakter rechtlicher Footer */
.ksq-footer-copyright{display:block;margin-top:12px;font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.64)}
.ksq-footer .wp-block-shortcode{margin:0!important}
@media(max-width:781px){.ksq-footer-copyright{margin-top:10px;font-size:.73rem}}


/* v0.15.59 – Newsletter-Kacheln an die vorhandenen Seitenbreiten und Abstände angleichen. */
/* Unterseiten nutzen dieselbe Inhaltsbreite wie die übrigen Karten/Abschnitte. */
body:not(.home) .ksnl-wrap{
  box-sizing:border-box!important;
  max-width:var(--ksq-page-max)!important;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Startseite: bestehende Breite beibehalten, nur näher an den vorherigen Abschnitt rücken. */
.home .ksnl-wrap{
  margin-top:clamp(28px,4vw,44px)!important;
}

/* Ostfriesland und Wohnen: ebenfalls etwas kompakterer Übergang von der vorherigen Kachel. */
.ksq-page-ostfriesland .ksnl-wrap,
.ksq-page-wohnen .ksnl-wrap{
  margin-top:clamp(30px,4vw,44px)!important;
}

@media(max-width:860px){
  body:not(.home) .ksnl-wrap{
    width:calc(100% - 48px)!important;
  }
}
@media(max-width:600px){
  body:not(.home) .ksnl-wrap{
    width:calc(100% - 36px)!important;
  }
  .home .ksnl-wrap,
  .ksq-page-ostfriesland .ksnl-wrap,
  .ksq-page-wohnen .ksnl-wrap{
    margin-top:28px!important;
  }
}


/* v0.15.60 – letzter Feinschliff Newsletter und Footer. */
/* Wohnen + Ostfriesland: Newsletter-Kachel noch etwas näher an den vorherigen Inhalt. */
.ksq-page-ostfriesland .ksnl-wrap,
.ksq-page-wohnen .ksnl-wrap{
  margin-top:clamp(18px,2.5vw,28px)!important;
}

/* Desktop: Dachmarke im Footer einen kleinen Tick weiter nach links. */
@media(min-width:782px){
  .ksq-footer-group-mark{
    transform:translateX(-12px)!important;
  }
}

@media(max-width:781px){
  /* Newsletter-Formular: Eingabefeld auf schmalen Displays vollwertig und gut bedienbar. */
  .ksnl-row,
  .ksnl-email{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .ksnl-email{
    min-height:54px!important;
    height:54px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    font-size:16px!important;
  }

  /* Footer mobil bewusst mittig und ruhig ausrichten. */
  .ksq-footer .wp-block-columns,
  .ksq-footer .wp-block-column{
    text-align:center!important;
  }
  .ksq-footer .wp-block-column{
    align-items:center!important;
  }
  .ksq-footer-group-mark{
    margin-left:auto!important;
    margin-right:auto!important;
    background-position:center center!important;
    transform:none!important;
  }
  .ksq-footer-note,
  .ksq-footer-copyright{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ksq-footer .wp-block-navigation{
    width:100%!important;
    justify-content:center!important;
  }
  .ksq-footer .wp-block-navigation__container{
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .ksq-page-ostfriesland .ksnl-wrap,
  .ksq-page-wohnen .ksnl-wrap{
    margin-top:20px!important;
  }
}


/* v0.15.61 – Dachmarke im Desktop-Footer minimal wieder nach rechts. */
@media(min-width:782px){
  .ksq-footer-group-mark{
    transform:translateX(-8px)!important;
  }
}


/* v0.15.62 – Startseiten-Header an die Unterseiten angleichen.
   Der Header ist auch auf der Startseite wieder ein regulärer roter Markenbalken
   im Dokumentfluss. Das Hero-Bild beginnt direkt darunter. Sämtliche früheren
   Startseiten-Sonderverschiebungen der Kopfzeile werden neutralisiert. */
.home .ksq-site-header{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  background:var(--ksq-red)!important;
}
.home .ksq-site-header > .wp-block-group{
  transform:none!important;
}

/* Desktop: Logo exakt auf derselben vertikalen Position wie auf den Unterseiten. */
@media(min-width:782px){
  .home .ksq-site-header .custom-logo{
    transform:translateY(14px)!important;
  }
}


/* v0.15.63 – Startseiten-Hero auf größeren Displays wieder etwas großzügiger.
   Der rote Header aus v0.15.62 bleibt unverändert; nur die Bildhöhe wächst dezent. */
@media(min-width:782px){
  .home .ksq-hero{
    min-height:clamp(650px,86vh,900px)!important;
  }
}

/* v0.15.68 – eigenständiger Hero für die Kleinstein-Hof-Seite */
.ksq-hof-page-hero{
  min-height:clamp(470px,64vh,680px);
  margin:0!important;
  padding:0!important;
}
.ksq-hof-page-hero .wp-block-cover__background{
  background:linear-gradient(90deg,rgba(20,20,20,.62),rgba(20,20,20,.16) 72%,rgba(20,20,20,.08))!important;
  opacity:1!important;
}
.ksq-hof-page-hero .wp-block-cover__inner-container{
  width:100%;
  height:100%;
  display:flex;
  align-items:flex-end;
}
.ksq-hof-page-hero-content{
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(70px,9vw,105px) 0 clamp(54px,7vw,82px)!important;
}
.ksq-hof-page-hero-content .ksq-kicker{
  margin:0 0 .7rem!important;
}
.ksq-hof-page-hero-title{
  margin:0 0 1rem!important;
  max-width:900px;
  font-size:clamp(2.6rem,5.5vw,4.7rem)!important;
  line-height:1.04!important;
  text-wrap:balance;
}
.ksq-hof-page-hero-sub{
  margin:0!important;
  max-width:760px;
  font-size:clamp(1.08rem,2vw,1.34rem)!important;
  line-height:1.5!important;
}
@media(max-width:781px){
  .ksq-hof-page-hero{
    min-height:560px;
  }
  .ksq-hof-page-hero-content{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    padding-top:74px!important;
    padding-bottom:52px!important;
  }
  .ksq-hof-page-hero-title{
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.08!important;
  }
  .ksq-hof-page-hero-sub{
    font-size:1rem!important;
    line-height:1.48!important;
  }
}

/* v0.15.69 – robuste Darstellung des bestehenden Hof-Seitenkopfs als Bild-Hero.
   Funktioniert ohne Änderung des gespeicherten Gutenberg-Inhalts. */
body.ksq-page-hof .ksq-page-hero{
  position:relative;
  min-height:clamp(470px,64vh,680px);
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(20,20,20,.62),rgba(20,20,20,.16) 72%,rgba(20,20,20,.08)),
    url('../images/hero.webp') center center / cover no-repeat!important;
}
body.ksq-page-hof .ksq-page-hero > .wp-block-group{
  position:relative;
  z-index:1;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(70px,9vw,105px) 0 clamp(54px,7vw,82px)!important;
}
body.ksq-page-hof .ksq-page-hero .ksq-kicker,
body.ksq-page-hof .ksq-page-hero h1,
body.ksq-page-hof .ksq-page-hero .ksq-lead{
  color:#fff!important;
}
body.ksq-page-hof .ksq-page-hero .ksq-kicker{
  margin:0 0 .7rem!important;
}
body.ksq-page-hof .ksq-page-hero h1{
  margin:0 0 1rem!important;
  max-width:900px;
  font-size:clamp(2.6rem,5.5vw,4.7rem)!important;
  line-height:1.04!important;
  text-wrap:balance;
}
body.ksq-page-hof .ksq-page-hero .ksq-lead{
  margin:0!important;
  max-width:760px;
  font-size:clamp(1.08rem,2vw,1.34rem)!important;
  line-height:1.5!important;
}
@media(max-width:781px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:560px;
    background-position:center center!important;
  }
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    padding-top:74px!important;
    padding-bottom:52px!important;
  }
  body.ksq-page-hof .ksq-page-hero h1{
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.08!important;
  }
  body.ksq-page-hof .ksq-page-hero .ksq-lead{
    font-size:1rem!important;
    line-height:1.48!important;
  }
}

/* v0.15.70 – Hof-Hero in der vertikalen Wirkung an den Startseiten-Hero angleichen. */
@media(min-width:782px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:clamp(650px,86vh,900px)!important;
  }
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:104px!important;
    padding-bottom:clamp(54px,8vw,100px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:690px!important;
  }
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:92px!important;
    padding-bottom:54px!important;
  }
}


/* v0.15.71 – Hof-Hero: sichtbare Bildhöhe und mobiles Motiv wie auf der Startseite.
   Die Startseite besitzt zusätzlich zur Mindesthöhe ein eigenes oberes Hero-Padding.
   Da der Hof-Hero strukturell ein Group-Block statt eines Cover-Blocks ist, wird dieser
   sichtbare Höhenanteil hier direkt in die Mindesthöhe eingerechnet. */
@media(min-width:782px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:clamp(754px,calc(86vh + 104px),1004px)!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:0!important;
    padding-bottom:clamp(54px,8vw,100px)!important;
  }
}

@media(max-width:781px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:clamp(714px,calc(82vh + 104px),964px)!important;
    padding-top:0!important;
    padding-bottom:0!important;
    background:
      linear-gradient(90deg,rgba(20,20,20,.62),rgba(20,20,20,.16) 72%,rgba(20,20,20,.08)),
      url('../images/home-hero-mobile-v1549.jpg') center center / cover no-repeat!important;
  }
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:0!important;
    padding-bottom:54px!important;
  }
}

@media(max-width:600px){
  body.ksq-page-hof .ksq-page-hero{
    min-height:782px!important;
  }
}

/* v0.15.72 – Hofseite verwendet nun dieselbe echte Cover-Hero-Struktur wie die Startseite.
   Desktop-Höhe kommt dadurch direkt aus .ksq-hero + v0.15.63 und ist identisch.
   Mobil wird exakt das separate Startseitenmotiv verwendet. */
.ksq-hof-hero{
  margin:0!important;
}
.ksq-hof-hero .wp-block-cover__inner-container{
  height:100%;
  display:flex;
  align-items:flex-end;
}
.ksq-hof-hero .ksq-kicker,
.ksq-hof-hero .ksq-hero-title,
.ksq-hof-hero .ksq-hero-sub{
  color:#fff!important;
}
.ksq-hof-hero .ksq-hero-content{
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:781px){
  .ksq-hof-hero{
    background-image:url("../images/home-hero-mobile-v1549.jpg")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  .ksq-hof-hero > .wp-block-cover__image-background,
  .ksq-hof-hero > .wp-block-cover__video-background{
    opacity:0!important;
  }
  .ksq-hof-hero .wp-block-cover__inner-container{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .ksq-hof-hero .ksq-hero-content{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }
  .ksq-hof-hero .ksq-hero-content > .ksq-kicker,
  .ksq-hof-hero .ksq-hero-content > .ksq-hero-title,
  .ksq-hof-hero .ksq-hero-content > .ksq-hero-sub{
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
    text-align:left!important;
  }
  .ksq-hof-hero .ksq-hero-title{
    font-size:clamp(1.85rem,8vw,2.45rem)!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .ksq-hof-hero .ksq-hero-sub{
    font-size:1rem!important;
    line-height:1.45!important;
  }
}
@media(max-width:420px){
  .ksq-hof-hero .ksq-hero-content{
    width:calc(100% - 34px)!important;
  }
  .ksq-hof-hero .ksq-hero-title{
    font-size:clamp(1.8rem,7.8vw,2.15rem)!important;
  }
}

/* v0.15.73 – definitive Hof-Hero-Korrektur.
   v0.15.68 hat den gespeicherten Seitenkopf bereits dauerhaft als
   .ksq-hof-page-hero (core/cover) angelegt. Daher wird exakt diese reale
   Struktur nun an den Startseiten-Hero angeglichen. */
@media(min-width:782px){
  .ksq-hof-page-hero{
    min-height:clamp(650px,86vh,900px)!important;
    padding:104px 1em 1em!important;
  }
  .ksq-hof-page-hero .wp-block-cover__inner-container{
    height:100%!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  .ksq-hof-page-hero-content{
    padding:0 0 clamp(54px,8vw,100px)!important;
  }
}

@media(max-width:781px){
  .ksq-hof-page-hero{
    min-height:690px!important;
    padding:92px 1em 1em!important;
    background-image:url("../images/home-hero-mobile-v1549.jpg")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  .ksq-hof-page-hero > .wp-block-cover__image-background,
  .ksq-hof-page-hero > .wp-block-cover__video-background{
    display:none!important;
    opacity:0!important;
  }
  .ksq-hof-page-hero .wp-block-cover__inner-container{
    height:100%!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  .ksq-hof-page-hero-content{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0 0 54px!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }
}
@media(max-width:420px){
  .ksq-hof-page-hero-content{
    width:calc(100% - 34px)!important;
  }
}

/* v0.15.74 – Hof-Hero optisch und funktional an den Startseiten-Hero angleichen. */
.ksq-hof-page-hero .wp-block-cover__background{
  background:#292929!important;
  opacity:.20!important;
}
.ksq-hof-page-hero-content{
  text-align:left!important;
}
.ksq-hof-page-hero-content > .ksq-kicker,
.ksq-hof-page-hero-content > .ksq-hof-page-hero-title,
.ksq-hof-page-hero-content > .ksq-hof-page-hero-sub{
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}
.ksq-hof-page-hero-content > .ksq-kicker{
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-size:.78rem!important;
  font-weight:700!important;
  margin-bottom:.7rem!important;
}
.ksq-hof-page-hero-title{
  max-width:880px!important;
  font-size:clamp(2.8rem,7vw,6.1rem)!important;
  line-height:1.02!important;
  margin-top:0!important;
  margin-bottom:1rem!important;
  text-wrap:balance;
}
.ksq-hof-page-hero-sub{
  max-width:690px!important;
  font-size:clamp(1.05rem,2vw,1.35rem)!important;
  line-height:1.45!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.ksq-hof-hero-actions{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:1.55rem!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ksq-hof-hero-actions .wp-block-button{
  margin:0!important;
}
#hof-entdecken{
  scroll-margin-top:24px;
}

@media(max-width:781px){
  .ksq-hof-page-hero-content{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  .ksq-hof-page-hero-title{
    max-width:100%!important;
    font-size:clamp(1.85rem,8vw,2.45rem)!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .ksq-hof-page-hero-sub{
    max-width:100%!important;
    font-size:1rem!important;
    line-height:1.45!important;
  }
  .ksq-hof-hero-actions{
    width:auto!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:420px){
  .ksq-hof-page-hero-content{
    width:calc(100% - 34px)!important;
  }
  .ksq-hof-page-hero-title{
    font-size:clamp(1.8rem,7.8vw,2.15rem)!important;
  }
}


/* v0.15.75 – Hof-Hero final enger an den Startseiten-Hero angleichen.
   - Desktop-Inhaltsbreite/Linkskante wie alignwide (1180px)
   - Haupttitel visuell in Versalien wie auf der Startseite
   - CTA-Größe angeglichen; Outline-CTA transparent/weiß
   - Hof-entdecken ohne oberen Hero-Rest im Viewport */
@media(min-width:782px){
  .ksq-hof-page-hero-content{
    width:calc(100% - 48px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
.ksq-hof-page-hero-title{
  text-transform:uppercase!important;
}
.ksq-hof-hero-actions .wp-block-button__link{
  box-sizing:border-box!important;
  min-width:178px!important;
  min-height:48px!important;
  padding:.8rem 1.25rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
}
.ksq-hof-hero-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--ksq-red)!important;
  color:#fff!important;
  border:2px solid var(--ksq-red)!important;
}
.ksq-hof-hero-actions .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;
  color:#fff!important;
  border:2px solid #fff!important;
}
#hof-entdecken{
  scroll-margin-top:0!important;
}
@media(max-width:781px){
  .ksq-hof-hero-actions .wp-block-button__link{
    min-width:170px!important;
  }
}

/* v0.15.76 – Hof-Hero: Linkskante und zweizeilige Headline enger an die Startseite angleichen. */
@media(min-width:782px){
  .ksq-hof-page-hero-content{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:clamp(20px,4vw,56px)!important;
    padding-right:clamp(20px,4vw,56px)!important;
    box-sizing:border-box!important;
  }
  .ksq-hof-page-hero-title{
    max-width:1100px!important;
    font-size:clamp(2.8rem,5.6vw,5.3rem)!important;
    line-height:1.02!important;
  }
  .ksq-hof-title-line{
    white-space:nowrap;
  }
}
@media(max-width:781px){
  .ksq-hof-title-line{
    white-space:normal;
  }
}

/* v0.15.77 – Hofseite: Hero-Kicker mit etwas mehr Luft sowie klarer
   Übergang von den vier Themenkarten zur Fotogalerie. */
.ksq-hof-page-hero-content > .ksq-kicker{
  margin-bottom:1.15rem!important;
}

body.ksq-page-hof .ksq-hof-impressions-title{
  margin-top:40px!important;
  margin-bottom:40px!important;
  font-size:1.75rem!important;
  line-height:1.18!important;
  color:var(--ksq-ink)!important;
}

/* Gutenberg kann zwischen Columns/Gallery eigene Blockabstände setzen;
   für diesen Übergang bewusst einen klaren, ruhigen Rhythmus erzwingen. */
body.ksq-page-hof .ksq-hof-feature-cards{
  margin-bottom:0!important;
}
body.ksq-page-hof .ksq-hof-impressions-title + .ksq-gallery{
  margin-top:0!important;
}

@media(max-width:781px){
  .ksq-hof-page-hero-content > .ksq-kicker{
    margin-bottom:1rem!important;
  }
  body.ksq-page-hof .ksq-hof-impressions-title{
    margin-top:30px!important;
    margin-bottom:30px!important;
    font-size:1.6rem!important;
  }
}

/* v0.15.79 – Kleinstein Hof: Übergang von der Fotoreihe zum
   Pflegebauernhof-Vergleich etwas kompakter; globaler Footer auf
   Kleinstein Wohnen umgestellt. */
body.ksq-page-hof .ksq-gallery + .ksq-gallery{
  margin-bottom:6px!important;
}
body.ksq-page-hof .ksq-carefarm-story{
  margin-top:10px!important;
}

.ksq-footer-group-mark{
  background-image:url('../images/logo-wohnen-footer.png')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  filter:none!important;
}

@media(max-width:781px){
  body.ksq-page-hof .ksq-gallery + .ksq-gallery{
    margin-bottom:4px!important;
  }
  body.ksq-page-hof .ksq-carefarm-story{
    margin-top:8px!important;
  }
  .ksq-footer-group-mark{
    background-position:center center!important;
  }
}

/* v0.15.80 – Hofseite: tatsächlichen Abstand vor dem Pflegebauernhof-Vergleich
   über den unteren Innenabstand des Hof-Hauptabschnitts reduzieren; Footer-Logo
   Kleinstein Wohnen deutlich kompakter darstellen. */
body.ksq-page-hof .ksq-section-tight{
  padding-bottom:clamp(30px,4vw,44px)!important;
}
body.ksq-page-hof .ksq-carefarm-story{
  margin-top:0!important;
}

.ksq-footer-group-mark{
  width:min(220px,62vw)!important;
  height:46px!important;
}

@media(max-width:781px){
  body.ksq-page-hof .ksq-section-tight{
    padding-bottom:26px!important;
  }
  body.ksq-page-hof .ksq-carefarm-story{
    margin-top:0!important;
  }
  .ksq-footer-group-mark{
    width:min(195px,58vw)!important;
    height:41px!important;
  }
}


/* v0.15.81 – kleine Verfeinerungen für Footer und Startseiten-Kontakt. */
@media(min-width:782px){
  /* Kleinstein-Wohnen-Zeichen im Footer minimal nach rechts, damit die
     sichtbare Hauskante ruhiger mit der darunterliegenden Textkante fluchtet. */
  .ksq-footer-group-mark{
    transform:translateX(8px)!important;
  }

  /* Rote Abschlusskachel: Überschrift etwas näher an die obere Kante,
     ohne den unteren Rhythmus oder die übrigen Inhalte zu verändern. */
  .home .ksq-cta>h2{
    margin-top:12px!important;
  }
}

/* Telefonnummer im persönlichen Startseiten-Kontakt im selben Schreibstil
   wie auf der neuen Kontaktseite. */
.home .ksq-home-contact-phone{
  text-decoration:none!important;
  white-space:nowrap;
}

/* v0.15.82 – Korrekturen nach Sichtprüfung der Startseite und des neuen
   Kleinstein-Wohnen-Logos im Footer. */
@media(min-width:782px){
  /* Neues Footer-Logo ohne zusätzliche Rechtsverschiebung. Das neue Asset wird
     zuvor auf den sichtbaren Bereich beschnitten, damit Hauszeichen und Text
     links sauber bündig mit dem Footer-Text beginnen. */
  .ksq-footer-group-mark{
    transform:none!important;
  }

  /* Oben in der roten Kennenlern-Kachel etwas weniger Luft als bisher,
     ohne den unteren Abschluss anzutasten. */
  .home .ksq-cta{
    padding-top:clamp(32px,4.8vw,58px)!important;
  }
}

/* Startseite: Patrick-Block im Kontaktstil der Kontaktseite, ohne E-Mail. */
.home .ksq-home-contact-phone{
  display:inline-block;
  text-decoration:none!important;
  white-space:nowrap;
  font-weight:600;
}
/* zusätzliche Sicherheit, falls eine ältere E-Mail-Adresse im Frontend doch noch
   mit ausgegeben werden sollte */
.home .ksq-home-contact-person a[href^="mailto:"]{
  display:none!important;
}


/* v0.15.83 – Footer-Logo auf Desktop minimal weiter nach links. */
@media(min-width:782px){
  .ksq-footer-group-mark{
    transform:translateX(-4px)!important;
  }
}

/* v0.15.84 – SEO-Seiten: mehr Luft und dezente maritime Akzente. */
.ksq-page-pflegeplatz .ksq-page-hero h1 br{
  display:block;
}

/* Pflegeplatz-Seite: etwas mehr Rhythmus zwischen den inhaltlichen Blöcken. */
.ksq-page-pflegeplatz .ksq-landing-page > .ksq-landing-split{
  margin-bottom:clamp(68px,7.5vw,98px)!important;
}
.ksq-page-pflegeplatz .ksq-landing-page > .ksq-landing-cards{
  margin-top:clamp(36px,4.5vw,52px)!important;
  margin-bottom:clamp(72px,8vw,100px)!important;
}
.ksq-page-pflegeplatz .ksq-landing-page > .ksq-copy-narrow{
  margin-top:clamp(54px,6vw,76px)!important;
}
.ksq-page-pflegeplatz .ksq-landing-page > .ksq-gallery{
  margin-top:clamp(70px,7.5vw,96px)!important;
  margin-bottom:clamp(66px,7vw,92px)!important;
}
/* Der besonders gewünschte Abstand nach dem letzten Stichpunkt. */
.ksq-page-pflegeplatz .ksq-check-list{
  margin-bottom:clamp(18px,2vw,28px)!important;
}

/* Wohnen-im-Alter-Seite: etwas großzügiger zwischen den großen Inhaltsgruppen. */
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-cards{
  margin-bottom:clamp(72px,8vw,100px)!important;
}
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-callout{
  margin-top:clamp(72px,8vw,100px)!important;
  margin-bottom:clamp(72px,8vw,100px)!important;
}
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-home-types{
  margin-top:clamp(42px,5vw,60px)!important;
  margin-bottom:clamp(72px,8vw,100px)!important;
}
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-split{
  margin-top:clamp(68px,7vw,94px)!important;
  margin-bottom:clamp(72px,8vw,100px)!important;
}

/* Dezente Wellenakzente wie auf der Ostfriesland-Seite. Sie liegen in den
   ohnehin vorhandenen Weißräumen und verändern die eigentlichen Kacheln nicht. */
.ksq-page-pflegeplatz .ksq-landing-callout,
.ksq-page-pflegeplatz .ksq-gallery,
.ksq-page-senior-ostfriesland .ksq-landing-callout,
.ksq-page-senior-ostfriesland .ksq-landing-split{
  position:relative;
}
.ksq-page-pflegeplatz .ksq-landing-callout::before,
.ksq-page-pflegeplatz .ksq-gallery::before,
.ksq-page-senior-ostfriesland .ksq-landing-callout::before,
.ksq-page-senior-ostfriesland .ksq-landing-split::before{
  content:"";
  position:absolute;
  left:50%;
  top:-48px;
  width:240px;
  height:28px;
  transform:translateX(-50%);
  background:url('../images/seo-wave-accent.svg') center/contain no-repeat;
  pointer-events:none;
  opacity:.9;
}
.ksq-page-pflegeplatz .ksq-gallery::before,
.ksq-page-senior-ostfriesland .ksq-landing-split::before{
  top:-50px;
}

@media(max-width:781px){
  .ksq-page-pflegeplatz .ksq-landing-page > .ksq-landing-split,
  .ksq-page-pflegeplatz .ksq-landing-page > .ksq-landing-cards,
  .ksq-page-pflegeplatz .ksq-landing-page > .ksq-gallery,
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-cards,
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-callout,
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-home-types,
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-split{
    margin-top:48px!important;
    margin-bottom:58px!important;
  }
  .ksq-page-pflegeplatz .ksq-landing-page > .ksq-copy-narrow{
    margin-top:46px!important;
  }
  .ksq-page-pflegeplatz .ksq-landing-callout::before,
  .ksq-page-pflegeplatz .ksq-gallery::before,
  .ksq-page-senior-ostfriesland .ksq-landing-callout::before,
  .ksq-page-senior-ostfriesland .ksq-landing-split::before{
    width:190px;
    height:24px;
    top:-36px;
  }
}

/* v0.15.85 – SEO-Seiten: Abstände aus 0.15.84 behalten, zusätzliche
   Wellenakzente wieder entfernen. */
.ksq-page-pflegeplatz .ksq-landing-callout::before,
.ksq-page-pflegeplatz .ksq-gallery::before,
.ksq-page-senior-ostfriesland .ksq-landing-callout::before,
.ksq-page-senior-ostfriesland .ksq-landing-split::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Zweites breites Bild auf „Wohnen im Alter in Ostfriesland“: Caption direkt
   am Bild, danach wieder großzügiger Abstand zum folgenden Abschnitt. */
.ksq-page-senior-ostfriesland .ksq-senior-quartier-image{
  margin-bottom:0!important;
  margin-block-end:0!important;
}
.ksq-page-senior-ostfriesland .ksq-senior-quartier-image figure,
.ksq-page-senior-ostfriesland .ksq-senior-quartier-image .wp-block-image,
.ksq-page-senior-ostfriesland .ksq-senior-quartier-image img{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
  max-width:920px!important;
  margin:7px auto clamp(54px,6vw,76px)!important;
  margin-block-start:7px!important;
  text-align:center!important;
  color:#68635e!important;
  font-size:.96rem!important;
  line-height:1.5!important;
}
@media(max-width:781px){
  .ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
    margin:6px auto 42px!important;
    margin-block-start:6px!important;
    padding-left:10px;
    padding-right:10px;
    font-size:.92rem!important;
  }
}

/* v0.15.86 – dezente Bildunterschrift unter den Grundrissen. */
.ksq-floorplan-caption{
  max-width:700px;
  margin:.55rem auto 0!important;
  text-align:center;
  color:#6a655f;
  font-size:.92rem;
  line-height:1.45;
}
@media(max-width:781px){
  .ksq-floorplan-caption{
    margin-top:.45rem!important;
    padding-inline:10px;
    font-size:.88rem;
  }
}

/* v0.15.87 – gezielter Abgleich mit Kleinstein Wohnen 0.3.17.
   Nur Header, Start-/Hof-Hero und Footer werden angeglichen. */

/* Sticky Markenheader: gleiche ruhige Höhenlogik wie auf Kleinstein Wohnen. */
body.home .ksq-site-header,
body:not(.home) .ksq-site-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:80!important;
  margin:0!important;
  padding:0 40px!important;
  background:var(--ksq-red)!important;
  color:#fff!important;
  box-shadow:0 2px 12px rgba(0,0,0,.08)!important;
}
.admin-bar .ksq-site-header{top:32px!important;}

.ksq-site-header > .wp-block-group{
  box-sizing:border-box!important;
  width:min(1320px,calc(100vw - 80px))!important;
  max-width:none!important;
  min-height:90px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:22px 0!important;
  transform:none!important;
  align-items:center!important;
}
.ksq-site-header .wp-block-site-logo .custom-logo,
body.home .ksq-site-header .custom-logo,
body:not(.home) .ksq-site-header .custom-logo{
  transform:none!important;
}

/* Startseiten-Hero: etwas kürzer, Bild und Inhalt bleiben unverändert. */
@media(min-width:782px){
  body.home .ksq-hero{
    box-sizing:border-box!important;
    min-height:clamp(610px,78vh,820px)!important;
    padding:0!important;
  }
  body.home .ksq-hero .ksq-hero-content{
    padding-top:clamp(76px,8vw,108px)!important;
    padding-bottom:clamp(96px,10.5vw,142px)!important;
  }

  /* Hof-Hero: exakt dieselbe sichtbare Höhenlogik. */
  body.ksq-page-hof .ksq-hof-page-hero,
  body.ksq-page-hof .ksq-hof-hero,
  body.ksq-page-hof .ksq-page-hero{
    box-sizing:border-box!important;
    min-height:clamp(610px,78vh,820px)!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.ksq-page-hof .ksq-hof-page-hero-content,
  body.ksq-page-hof .ksq-hof-hero .ksq-hero-content,
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:clamp(76px,8vw,108px)!important;
    padding-bottom:clamp(96px,10.5vw,142px)!important;
  }
}

/* Hof mobil: vorhandenes Hof-/Quartiermotiv beibehalten, nicht das separate
   Startseiten-Mobilmotiv erzwingen. */
@media(max-width:781px){
  body.ksq-page-hof .ksq-hof-page-hero,
  body.ksq-page-hof .ksq-hof-hero{
    min-height:650px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    background-image:none!important;
  }
  body.ksq-page-hof .ksq-hof-page-hero > .wp-block-cover__image-background,
  body.ksq-page-hof .ksq-hof-hero > .wp-block-cover__image-background{
    display:block!important;
    opacity:1!important;
  }
  body.ksq-page-hof .ksq-page-hero{
    min-height:650px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    background:
      linear-gradient(90deg,rgba(20,20,20,.62),rgba(20,20,20,.16) 72%,rgba(20,20,20,.08)),
      url('../images/hero.webp') center center / cover no-repeat!important;
  }
  body.ksq-page-hof .ksq-hof-page-hero-content,
  body.ksq-page-hof .ksq-hof-hero .ksq-hero-content,
  body.ksq-page-hof .ksq-page-hero > .wp-block-group{
    padding-top:64px!important;
    padding-bottom:72px!important;
  }

  body.home .ksq-hero{
    min-height:650px!important;
    padding-top:0!important;
  }
  body.home .ksq-hero .ksq-hero-content{
    padding-top:64px!important;
    padding-bottom:72px!important;
  }
}

@media(max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .ksq-site-header > .wp-block-group{
    width:min(calc(100vw - 48px),960px)!important;
    min-height:84px!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
  }
}
@media(max-width:782px){
  .admin-bar .ksq-site-header{top:46px!important;}
}
@media(max-width:760px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .ksq-site-header > .wp-block-group{
    width:calc(100vw - 40px)!important;
    min-height:72px!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
}
@media(max-width:600px){
  .admin-bar .ksq-site-header{top:0!important;}
}

/* Sticky-Header bei internen Sprungzielen berücksichtigen. */
#quartier-entdecken,
#hof-entdecken{
  scroll-margin-top:106px!important;
}
@media(max-width:1040px){
  #quartier-entdecken,
  #hof-entdecken{scroll-margin-top:96px!important;}
}
@media(max-width:760px){
  #quartier-entdecken,
  #hof-entdecken{scroll-margin-top:84px!important;}
}

/* Footer: vorhandene Struktur beibehalten, Claim und Abschluss wie Wohnen. */
.ksq-footer-note{
  opacity:1!important;
  color:#cfcfcf!important;
  line-height:1.55!important;
  max-width:310px!important;
}
.ksq-footer-bottom{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1320px!important;
  margin-top:52px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  color:#aaa!important;
  font-size:.86rem!important;
}
.ksq-footer-bottom p{
  margin:0!important;
  color:inherit!important;
  font-size:inherit!important;
}
@media(max-width:781px){
  .ksq-footer-note{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .ksq-footer-bottom{
    margin-top:42px!important;
    text-align:center!important;
  }
}

/* v0.15.88 – sichtbare Headerhöhe und Footer-Marke nach Frontend-Sichtprüfung. */
@media(min-width:1041px){
  /* Block-Theme-spezifisch bewusst als feste sichtbare Höhe gesetzt. Dadurch
     kann weder ein älteres min-height noch Block-Padding den roten Balken
     wieder aufziehen. */
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    height:64px!important;
    min-height:64px!important;
  }
  .ksq-site-header > .wp-block-group{
    height:64px!important;
    min-height:64px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(250px,24vw)!important;
    max-height:42px!important;
    object-fit:contain!important;
  }
  .ksq-nav-cta .wp-block-navigation-item__content{
    padding:.52rem .9rem!important;
  }

  /* Footer links: Marke nur leicht größer und minimal weiter nach rechts. */
  .ksq-footer-group-mark{
    width:min(238px,64vw)!important;
    height:50px!important;
    transform:translateX(2px)!important;
    margin-bottom:5px!important;
  }
  .ksq-footer-note{
    margin-top:0!important;
    font-size:.94rem!important;
    line-height:1.48!important;
    max-width:330px!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    height:64px!important;
    min-height:64px!important;
  }
  .ksq-site-header > .wp-block-group{
    height:64px!important;
    min-height:64px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    max-height:40px!important;
    width:min(238px,31vw)!important;
    object-fit:contain!important;
  }
}

@media(max-width:760px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    min-height:62px!important;
  }
  .ksq-site-header > .wp-block-group{
    min-height:62px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
}

/* v0.15.89 – Header nach Sichtprüfung etwas höher und Logo wieder präsenter. */
@media(min-width:1041px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    height:80px!important;
    min-height:80px!important;
  }
  .ksq-site-header > .wp-block-group{
    height:80px!important;
    min-height:80px!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(290px,27vw)!important;
    max-height:54px!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header{
    height:80px!important;
    min-height:80px!important;
  }
  .ksq-site-header > .wp-block-group{
    height:80px!important;
    min-height:80px!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(270px,35vw)!important;
    max-height:52px!important;
  }
}

/* v0.15.90 – finaler Header-Feinschliff.
   Sticky wird am äußeren WordPress-Template-Part gesetzt, weil der innere
   .ksq-site-header sonst am nur headerhohen Eltern-Element begrenzt wird. */
.wp-site-blocks > header.wp-block-template-part{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  margin:0!important;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part{
  top:32px!important;
}

/* Der innere Markenbalken braucht nun keine eigene Sticky-Position mehr. */
body.home .ksq-site-header,
body:not(.home) .ksq-site-header{
  position:relative!important;
  top:auto!important;
}

@media(min-width:1041px){
  /* rund fünf Prozent mehr als die 80 px aus v0.15.89 */
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:84px!important;
    min-height:84px!important;
  }

  /* Wieder deutlich näher an der ursprünglichen, großzügigen Markenwirkung. */
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(340px,30vw)!important;
    max-height:58px!important;
    transform:translateY(3px)!important;
  }

  /* Optische Mitte: Navigation einen Hauch höher als die geometrische Achse. */
  .ksq-site-header .wp-block-navigation{
    transform:translateY(-2px)!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:84px!important;
    min-height:84px!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(310px,39vw)!important;
    max-height:56px!important;
    transform:translateY(3px)!important;
  }
  .ksq-site-header .wp-block-navigation{
    transform:translateY(-2px)!important;
  }
}

@media(max-width:782px){
  .admin-bar .wp-site-blocks > header.wp-block-template-part{
    top:46px!important;
  }
}
@media(max-width:600px){
  .admin-bar .wp-site-blocks > header.wp-block-template-part{
    top:0!important;
  }
}

/* v0.15.91 – letzter Proportions-Feinschliff am Markenheader.
   Sticky-Verhalten und Navigation bleiben gegenüber v0.15.90 unverändert. */
@media(min-width:1041px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:88px!important;
    min-height:88px!important;
  }

  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(410px,34vw)!important;
    max-height:66px!important;
    transform:translateY(10px)!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:88px!important;
    min-height:88px!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(360px,43vw)!important;
    max-height:62px!important;
    transform:translateY(8px)!important;
  }
}

/* v0.15.92 – letzter visueller Feinschliff am Header.
   Banner nur rund zwei Prozent höher; Quartier-Logo deutlich größer und
   einen kleinen Tick tiefer. Sticky und Navigation bleiben unverändert. */
@media(min-width:1041px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:90px!important;
    min-height:90px!important;
  }

  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(560px,43vw)!important;
    max-height:88px!important;
    transform:translateY(12px)!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  body.home .ksq-site-header,
  body:not(.home) .ksq-site-header,
  .ksq-site-header > .wp-block-group{
    height:90px!important;
    min-height:90px!important;
  }
  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(500px,52vw)!important;
    max-height:82px!important;
    transform:translateY(10px)!important;
  }
}

/* v0.15.93 – letzter Logo-Feinschliff im Header.
   Bannerhöhe bleibt wie in 0.15.92. Das Quartier-Logo wird etwas höher,
   deutlich größer und weiter nach links gezogen, damit die sichtbare Wortmarke
   links ähnlich bündig sitzt wie die Exposé-Kachel rechts. */
@media(min-width:1041px){
  .ksq-site-header .wp-block-site-logo,
  body.home .ksq-site-header .wp-block-site-logo,
  body:not(.home) .ksq-site-header .wp-block-site-logo{
    transform:translateX(-18px)!important;
  }

  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(672px,50vw)!important;
    max-height:90px!important;
    transform:translateY(9px)!important;
  }
}

@media(min-width:761px) and (max-width:1040px){
  .ksq-site-header .wp-block-site-logo,
  body.home .ksq-site-header .wp-block-site-logo,
  body:not(.home) .ksq-site-header .wp-block-site-logo{
    transform:translateX(-12px)!important;
  }

  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(600px,60vw)!important;
    max-height:86px!important;
    transform:translateY(8px)!important;
  }
}

/* v0.15.94 – ausschließlich Positionskorrektur des Quartier-Logos.
   Bannerhöhe (90 px) und Logo-Größe aus v0.15.93 bleiben exakt erhalten.
   Der Logo-Block wird auf Desktop deutlich weiter nach links gezogen; die
   Bildmarke selbst sitzt nur einen Hauch tiefer. */
@media(min-width:1041px){
  .ksq-site-header .wp-block-site-logo,
  body.home .ksq-site-header .wp-block-site-logo,
  body:not(.home) .ksq-site-header .wp-block-site-logo{
    transform:translateX(-54px)!important;
  }

  .ksq-site-header .wp-block-site-logo .custom-logo,
  body.home .ksq-site-header .custom-logo,
  body:not(.home) .ksq-site-header .custom-logo{
    width:min(672px,50vw)!important;
    max-height:90px!important;
    transform:translateY(11px)!important;
  }
}

/* v0.15.95 – ausschließlich horizontale Feinausrichtung des Quartier-Logos.
   Größe, vertikale Position, Bannerhöhe, Navigation und Sticky-Verhalten bleiben
   exakt wie in v0.15.94. Auf großen Ansichten wird nur der Logo-Block deutlich
   weiter nach links verschoben, damit die sichtbare linke Logokante ungefähr den
   gleichen Außenabstand erhält wie die Exposé-Kachel rechts. */
@media(min-width:1041px){
  .ksq-site-header .wp-block-site-logo,
  body.home .ksq-site-header .wp-block-site-logo,
  body:not(.home) .ksq-site-header .wp-block-site-logo{
    transform:translateX(-220px)!important;
  }
}

/* v0.15.96 – Footer-Abschluss linksbündig zur Markenfläche.
   Desktop: Die lange Trennlinie wird durch einen kurzen Linienzug ersetzt,
   der an derselben linken Flucht wie Logo/Claim startet. Das Copyright sitzt
   direkt darunter auf derselben Achse. Mobil bleibt die bisherige Zentrierung. */
@media(min-width:782px){
  .ksq-footer-bottom{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-top:0!important;
    border-top:none!important;
    text-align:left!important;
  }
  .ksq-footer-bottom::before{
    content:"";
    display:block;
    width:min(390px,34vw);
    border-top:1px solid rgba(255,255,255,.12);
    margin:0 0 22px 0;
  }
  .ksq-footer-bottom p{
    margin-left:0!important;
    text-align:left!important;
  }
}

/* v0.15.97 – Footer-Trennlinie wieder über die gesamte Footer-Inhaltsbreite.
   Linker Startpunkt und Copyright bleiben exakt wie in v0.15.96; nur das rechte
   Linienende reicht nun bis zur rechten Flucht der Footer-Navigation. */
@media(min-width:782px){
  .ksq-footer-bottom::before{
    width:100%!important;
  }
}

/* v0.15.98 – Ostfriesland-Seite mit kompaktem Bild-Hero anstelle des grauen
   Seitenkopfs. Das separate Panoramabild entfällt; der Einführungstext darunter
   wird linksbündig als ruhiger Infoblock gezeigt. */
body.ksq-page-ostfriesland .ksq-page-hero{
  position:relative;
  min-height:clamp(320px,36vw,410px);
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,16,16,.54),rgba(16,16,16,.18) 68%,rgba(16,16,16,.08)),
    url('../images/ostfriesland.webp') center center / cover no-repeat!important;
}
body.ksq-page-ostfriesland .ksq-page-hero > .wp-block-group{
  position:relative;
  z-index:1;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(52px,7vw,78px) 0 clamp(38px,5.5vw,58px)!important;
}
body.ksq-page-ostfriesland .ksq-page-hero .ksq-kicker,
body.ksq-page-ostfriesland .ksq-page-hero h1,
body.ksq-page-ostfriesland .ksq-page-hero .ksq-lead{
  color:#fff!important;
}
body.ksq-page-ostfriesland .ksq-page-hero .ksq-kicker{margin:0 0 .7rem!important}
body.ksq-page-ostfriesland .ksq-page-hero h1{
  margin:0 0 1rem!important;
  max-width:860px;
  font-size:clamp(2.35rem,5vw,4.2rem)!important;
  line-height:1.06!important;
  text-wrap:balance;
}
body.ksq-page-ostfriesland .ksq-page-hero .ksq-lead{
  margin:0!important;
  max-width:720px;
  font-size:clamp(1.04rem,1.9vw,1.24rem)!important;
  line-height:1.5!important;
}
body.ksq-page-ostfriesland .ksq-ost-page{
  padding-top:clamp(36px,5vw,56px)!important;
}
body.ksq-page-ostfriesland .ksq-ost-page > .ksq-maritime-divider,
body.ksq-page-ostfriesland .ksq-maritime-divider{
  display:none!important;
}
body.ksq-page-ostfriesland .ksq-ost-intro-copy{
  max-width:780px!important;
  margin:0 auto!important;
}
body.ksq-page-ostfriesland .ksq-ost-intro-copy .wp-block-heading{
  margin:0 0 .7rem!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
  line-height:1.2!important;
}
body.ksq-page-ostfriesland .ksq-ost-intro-copy .ksq-lead{
  margin:0!important;
  max-width:none!important;
  color:#2f2f2f!important;
  font-size:clamp(1.04rem,1.75vw,1.18rem)!important;
  line-height:1.7!important;
}
@media(max-width:781px){
  body.ksq-page-ostfriesland .ksq-page-hero{
    min-height:330px;
    background-position:center center!important;
  }
  body.ksq-page-ostfriesland .ksq-page-hero > .wp-block-group{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    padding-top:54px!important;
    padding-bottom:34px!important;
  }
  body.ksq-page-ostfriesland .ksq-page-hero h1{
    font-size:clamp(1.95rem,9vw,2.8rem)!important;
    line-height:1.08!important;
  }
  body.ksq-page-ostfriesland .ksq-page-hero .ksq-lead{
    font-size:1rem!important;
    line-height:1.5!important;
  }
  body.ksq-page-ostfriesland .ksq-ost-page{
    padding-top:30px!important;
  }
}

/* v0.15.99 – Ostfriesland-Hero und Einführung weiter verfeinern. */
@media(min-width:782px){
  body.ksq-page-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-18px);
  }
}

/* Robuster Fallback für ältere gespeicherte Seitenstände: das alte erste
   Panoramabild darf unter dem neuen Hero nicht mehr erscheinen. */
body.ksq-page-ostfriesland .ksq-ost-page > figure.wp-block-image:first-of-type,
body.ksq-page-ostfriesland .ksq-ost-page > figure.ksq-image-rounded:first-of-type{
  display:none!important;
}
body.ksq-page-ostfriesland .ksq-ost-page > .ksq-maritime-divider{
  display:none!important;
}

body.ksq-page-ostfriesland .ksq-ost-intro-copy{
  max-width:860px!important;
  margin:0!important;
  text-align:left!important;
  padding:0!important;
}
body.ksq-page-ostfriesland .ksq-ost-intro-copy .wp-block-heading{
  text-align:left!important;
  margin:0 0 .7rem!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
}
body.ksq-page-ostfriesland .ksq-ost-intro-copy .ksq-lead{
  text-align:left!important;
  margin:0!important;
  max-width:820px!important;
  line-height:1.68!important;
}
/* Genug Luft zwischen dem Einleitungstext und den anschließenden Kacheln. */
body.ksq-page-ostfriesland .ksq-ost-intro-copy + .wp-block-columns{
  margin-top:clamp(34px,4vw,52px)!important;
}

@media(max-width:781px){
  body.ksq-page-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-8px);
  }
  body.ksq-page-ostfriesland .ksq-ost-intro-copy{
    max-width:none!important;
  }
  body.ksq-page-ostfriesland .ksq-ost-intro-copy + .wp-block-columns{
    margin-top:30px!important;
  }
}

/* v0.15.100 – Ostfriesland: Hero-Leadin etwas breiter, damit die kurze
   Standortbotschaft ruhig in zwei Zeilen läuft und kein einzelnes „Leer.“ übrig bleibt. */
@media(min-width:782px){
  body.ksq-page-ostfriesland .ksq-page-hero .ksq-lead{
    max-width:860px!important;
  }
}

/* v0.15.101 – kontrollierter Zweizeiler im Ostfriesland-Hero. */
body.ksq-page-ostfriesland .ksq-page-hero .ksq-lead .ksq-ost-hero-line2{
  display:inline-block;
  margin-top:.08em;
}

/* v0.15.102 – Quartier-Seite analog zur überarbeiteten Ostfriesland-Seite:
   neues schmales Bild-Hero, linksbündiger Infotext und ruhigerer Auftakt für
   den interaktiven Quartiersplan. */
body.ksq-page-quartier .ksq-page-hero{
  position:relative;
  min-height:clamp(320px,36vw,410px);
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,16,16,.54),rgba(16,16,16,.24) 68%,rgba(16,16,16,.12)),
    url('../images/quartier-hero-overview.webp') center center / cover no-repeat!important;
}
body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
  position:relative;
  z-index:1;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(52px,7vw,78px) 0 clamp(38px,5.5vw,58px)!important;
}
body.ksq-page-quartier .ksq-page-hero .ksq-kicker,
body.ksq-page-quartier .ksq-page-hero h1,
body.ksq-page-quartier .ksq-page-hero .ksq-lead{
  color:#fff!important;
}
body.ksq-page-quartier .ksq-page-hero .ksq-kicker{margin:0 0 .7rem!important}
body.ksq-page-quartier .ksq-page-hero h1{
  margin:0 0 1rem!important;
  max-width:860px;
  font-size:clamp(2.35rem,5vw,4.2rem)!important;
  line-height:1.06!important;
  text-wrap:balance;
}
body.ksq-page-quartier .ksq-page-hero .ksq-lead{
  margin:0!important;
  max-width:820px;
  font-size:clamp(1.04rem,1.9vw,1.22rem)!important;
  line-height:1.5!important;
}
@media(min-width:782px){
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-14px);
  }
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-page-hero{
    min-height:330px;
    background-position:center center!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    width:calc(100% - 40px)!important;
    max-width:560px!important;
    padding-top:54px!important;
    padding-bottom:34px!important;
    transform:translateY(-8px);
  }
  body.ksq-page-quartier .ksq-page-hero h1{
    font-size:clamp(1.95rem,9vw,2.8rem)!important;
    line-height:1.08!important;
  }
  body.ksq-page-quartier .ksq-page-hero .ksq-lead{
    font-size:1rem!important;
    line-height:1.5!important;
  }
}
body.ksq-page-quartier .ksq-quartier-intro-copy{
  max-width:860px!important;
  margin:0!important;
  text-align:left!important;
  padding:0!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy .wp-block-heading{
  text-align:left!important;
  margin:0 0 .7rem!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
  line-height:1.2!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy .ksq-lead{
  text-align:left!important;
  margin:0 0 .45rem!important;
  max-width:820px!important;
  line-height:1.68!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy p{
  text-align:left!important;
  max-width:860px!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy + figure.wp-block-image,
body.ksq-page-quartier .ksq-quartier-intro-copy + .wp-block-group,
body.ksq-page-quartier .ksq-quartier-intro-copy + .ksq-plan-wrap{
  margin-top:clamp(26px,3.5vw,38px)!important;
}

/* v0.15.103 – ausschließlich Quartier-Hero feinjustieren.
   Textblock deutlich höher; Bildfokus etwas weiter unten im Motiv, sodass das
   Hintergrundbild optisch nach oben rückt und mehr vom unteren Bildbereich sichtbar wird. */
@media(min-width:782px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 62%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-42px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 60%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-24px)!important;
  }
}

/* v0.15.104 – Quartier-Hero nochmals deutlicher nach oben justiert.
   Nur Bildfokus und vertikale Textposition werden verändert. */
@media(min-width:782px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 78%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-70px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 72%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-40px)!important;
  }
}

/* v0.15.105 – letzter Feinschliff nur am Quartier-Hero.
   Text ein klein wenig höher, Bildausschnitt nochmals etwas weiter nach oben. */
@media(min-width:782px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 86%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-76px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-page-hero{
    background-position:center 80%!important;
  }
  body.ksq-page-quartier .ksq-page-hero > .wp-block-group{
    transform:translateY(-44px)!important;
  }
}

/* v0.15.108 – Quartier: kurze, linksbündige Plan-Einleitung und klare
   Zwischenüberschrift vor den anschließenden Bildkacheln. */
body.ksq-page-quartier .ksq-quartier-intro-copy{
  max-width:860px!important;
  margin:0 0 clamp(26px,3.5vw,38px)!important;
  padding:0!important;
  text-align:left!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy .wp-block-heading{
  margin:0 0 .65rem!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
  line-height:1.2!important;
  text-align:left!important;
}
body.ksq-page-quartier .ksq-quartier-intro-copy p{
  max-width:800px!important;
  margin:0!important;
  font-size:clamp(1.02rem,1.5vw,1.13rem)!important;
  line-height:1.65!important;
  text-align:left!important;
  color:#3f3c38!important;
}
body.ksq-page-quartier .ksq-quartier-impressions-title{
  margin:clamp(44px,5vw,64px) 0 clamp(24px,3vw,34px)!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
  line-height:1.2!important;
  text-align:left!important;
}

/* Wohnen: den bisherigen grauen Seitenkopf nur vertikal kompakter machen.
   Farbe, Texte und übrige Gestaltung bleiben unverändert. */
body.ksq-page-wohnen .ksq-page-hero{
  box-sizing:border-box;
  padding-top:clamp(44px,5vw,64px)!important;
  padding-bottom:clamp(42px,4.8vw,60px)!important;
}
@media(max-width:781px){
  body.ksq-page-wohnen .ksq-page-hero{
    padding-top:40px!important;
    padding-bottom:38px!important;
  }
  body.ksq-page-quartier .ksq-quartier-impressions-title{
    margin-top:38px!important;
    margin-bottom:22px!important;
  }
}

/* v0.15.109 – zwei kleine Abstandsfeinschliffe.
   Quartier: Überschrift näher an die Bildkacheln.
   Wohnen: grauen Seitenkopf gegenüber 0.15.108 wieder minimal höher. */
body.ksq-page-quartier .ksq-quartier-impressions-title{
  margin-bottom:clamp(14px,1.8vw,20px)!important;
}
body.ksq-page-wohnen .ksq-page-hero{
  padding-top:clamp(50px,5.6vw,70px)!important;
  padding-bottom:clamp(48px,5.3vw,66px)!important;
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-quartier-impressions-title{
    margin-bottom:14px!important;
  }
  body.ksq-page-wohnen .ksq-page-hero{
    padding-top:44px!important;
    padding-bottom:42px!important;
  }
}

/* v0.15.110 – zwei letzte Feinkorrekturen.
   Quartier: „Eindrücke aus dem Quartier“ deutlich näher an die Bildkacheln.
   Wohnen: grauen Seitenkopf nur einen kleinen Tick höher als in 0.15.109. */
body.ksq-page-quartier .ksq-quartier-impressions-title{
  margin-bottom:6px!important;
}
body.ksq-page-quartier .ksq-quartier-impressions-title + .wp-block-columns.ksq-after-plan{
  margin-top:0!important;
}
body.ksq-page-wohnen .ksq-page-hero{
  padding-top:clamp(54px,5.8vw,74px)!important;
  padding-bottom:clamp(52px,5.5vw,70px)!important;
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-quartier-impressions-title{
    margin-bottom:5px!important;
  }
  body.ksq-page-quartier .ksq-quartier-impressions-title + .wp-block-columns.ksq-after-plan{
    margin-top:0!important;
  }
  body.ksq-page-wohnen .ksq-page-hero{
    padding-top:47px!important;
    padding-bottom:45px!important;
  }
}

/* v0.15.111 – zwei kleine Layout-Korrekturen.
   Quartier: etwas mehr Luft zwischen „Eindrücke aus dem Quartier“ und den Kacheln.
   FAQ: grauen Kopfbereich exakt auf die aktuelle Höhe der Wohnen-Seite angleichen. */
body.ksq-page-quartier .ksq-quartier-impressions-title{
  margin-bottom:12px!important;
}
body.ksq-page-faq .ksq-page-hero{
  box-sizing:border-box;
  padding-top:clamp(54px,5.8vw,74px)!important;
  padding-bottom:clamp(52px,5.5vw,70px)!important;
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-quartier-impressions-title{
    margin-bottom:10px!important;
  }
  body.ksq-page-faq .ksq-page-hero{
    padding-top:47px!important;
    padding-bottom:45px!important;
  }
}

/* v0.15.112 – zwei gezielte Korrekturen nach Sichtprüfung.
   Quartier: wieder deutlich mehr Abstand zwischen Zwischenüberschrift und Bildkacheln.
   FAQ: grauen Kopfbereich höher setzen; die reine Padding-Angleichung aus 0.15.111
   war wegen des kürzeren FAQ-Textinhalts optisch zu niedrig. Wohnen bleibt unverändert. */
body.ksq-page-quartier .ksq-quartier-impressions-title{
  margin-bottom:30px!important;
}
body.ksq-page-faq .ksq-page-hero{
  box-sizing:border-box;
  padding-top:clamp(72px,7vw,94px)!important;
  padding-bottom:clamp(66px,6.5vw,86px)!important;
  min-height:clamp(265px,25vw,315px);
}
@media(max-width:781px){
  body.ksq-page-quartier .ksq-quartier-impressions-title{
    margin-bottom:24px!important;
  }
  body.ksq-page-faq .ksq-page-hero{
    padding-top:58px!important;
    padding-bottom:54px!important;
    min-height:245px;
  }
}

/* v0.15.114 – FAQ-Kopf sichtbar weiter nach unten verlängern, ohne Wohnen
   zu verändern. Footer-Marke Kleinstein Wohnen klickbar machen. */
body.ksq-page-faq .ksq-page-hero{
  box-sizing:border-box!important;
  min-height:410px!important;
  display:flex!important;
  align-items:center!important;
}
body.ksq-page-faq .ksq-page-hero > .wp-block-group{
  width:100%!important;
}
.ksq-footer-wohnen-link{
  display:inline-block;
  line-height:0;
  text-decoration:none!important;
}
.ksq-footer-wohnen-link .ksq-footer-group-mark{
  cursor:pointer;
}
@media(max-width:781px){
  body.ksq-page-faq .ksq-page-hero{
    min-height:320px!important;
  }
  .ksq-footer-wohnen-link{
    margin-left:auto;
    margin-right:auto;
  }
}

/* v0.15.115 – Wohnen-Kopf auf dieselbe sichtbare Höhe wie der nun passende
   FAQ-Seitenkopf bringen. FAQ selbst bleibt unverändert. */
body.ksq-page-wohnen .ksq-page-hero{
  box-sizing:border-box!important;
  min-height:410px!important;
  display:flex!important;
  align-items:center!important;
}
body.ksq-page-wohnen .ksq-page-hero > .wp-block-group{
  width:100%!important;
}
@media(max-width:781px){
  body.ksq-page-wohnen .ksq-page-hero{
    min-height:320px!important;
  }
}

/* v0.15.116 – SEO-Seite „Wohnen im Alter in Ostfriesland“:
   den oberen Seitenrhythmus flüssiger gestalten, ohne Inhalte oder Typografie
   zu verändern. Mehr Luft nach dem großen Landschaftsbild, danach die erste
   Vierer-Kachelreihe etwas kompakter zusammenführen. */
@media(min-width:782px){
  /* Zwischen Bildunterschrift und dem ersten inhaltlichen H2 bewusst mehr Luft. */
  .ksq-page-senior-ostfriesland .ksq-senior-living-page > .ksq-senior-image-caption + .ksq-landing-heading{
    margin-top:clamp(72px,7vw,92px)!important;
  }

  /* Erklärungstext und erste Vierer-Kachelreihe stärker als Einheit lesen. */
  .ksq-page-senior-ostfriesland .ksq-senior-living-page > .ksq-landing-cards:first-of-type{
    gap:12px!important;
    margin-top:clamp(22px,2.6vw,30px)!important;
    margin-bottom:clamp(50px,5.2vw,66px)!important;
  }
}

@media(max-width:781px){
  .ksq-page-senior-ostfriesland .ksq-senior-living-page > .ksq-senior-image-caption + .ksq-landing-heading{
    margin-top:54px!important;
  }
  .ksq-page-senior-ostfriesland .ksq-senior-living-page > .ksq-landing-cards:first-of-type{
    gap:14px!important;
    margin-top:24px!important;
    margin-bottom:46px!important;
  }
}

/* v0.15.117 – „Wohnen im Alter in Ostfriesland“: korrigierte Selektoren.
   v0.15.116 zielte versehentlich auf .ksq-senior-living-page; die echte
   Seitenstruktur verwendet .ksq-landing-page. Die Abstände werden hier
   bewusst als zusammenhängender Rhythmus vom Bild bis zum ersten Callout gesetzt. */

/* Etwas mehr Luft nach Landschaftsbild + Bildunterschrift. */
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption{
  margin-bottom:clamp(60px,5.8vw,72px)!important;
}

/* Der erste Textblock beginnt ohne zusätzlichen, zufälligen Block-Gap. */
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow{
  margin-top:0!important;
  margin-block-start:0!important;
  margin-bottom:0!important;
  margin-block-end:0!important;
}
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow h2{
  margin-top:0!important;
  margin-bottom:18px!important;
}
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow p:last-child{
  margin-bottom:0!important;
}

/* Text und vier Standort-Kacheln enger als eine inhaltliche Einheit lesen. */
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow + .ksq-landing-cards.ksq-four-cards{
  gap:14px!important;
  margin-top:clamp(28px,2.8vw,34px)!important;
  margin-block-start:clamp(28px,2.8vw,34px)!important;
  margin-bottom:0!important;
  margin-block-end:0!important;
}

/* Nach den Kacheln wieder ein klarer, aber nicht übergroßer Abschnittswechsel. */
.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow + .ksq-landing-cards.ksq-four-cards + .ksq-landing-callout{
  margin-top:clamp(50px,5vw,62px)!important;
  margin-block-start:clamp(50px,5vw,62px)!important;
}

@media(max-width:781px){
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption{
    margin-bottom:46px!important;
  }
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow h2{
    margin-bottom:16px!important;
  }
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow + .ksq-landing-cards.ksq-four-cards{
    gap:12px!important;
    margin-top:24px!important;
    margin-block-start:24px!important;
  }
  .ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption + .ksq-copy-narrow + .ksq-landing-cards.ksq-four-cards + .ksq-landing-callout{
    margin-top:42px!important;
    margin-block-start:42px!important;
  }
}

/* v0.15.118 – „Wohnen im Alter in Ostfriesland“ stärker an Quartier/Ostfriesland
   angleichen: das Landschaftsbild wird Hero-Hintergrund, der eigentliche Inhalt
   beginnt direkt mit „Warum sich Wohnen im Alter noch einmal verändern darf“. */
body.ksq-page-senior-ostfriesland .ksq-page-hero{
  position:relative;
  min-height:clamp(350px,36vw,405px);
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,16,16,.56),rgba(16,16,16,.25) 66%,rgba(16,16,16,.10)),
    url('../images/ostfriesland.webp') center 52% / cover no-repeat!important;
}
body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
  position:relative;
  z-index:1;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(42px,5.5vw,62px) 0 clamp(34px,4.8vw,50px)!important;
  transform:translateY(-10px);
}
body.ksq-page-senior-ostfriesland .ksq-page-hero .ksq-kicker,
body.ksq-page-senior-ostfriesland .ksq-page-hero h1,
body.ksq-page-senior-ostfriesland .ksq-page-hero .ksq-lead{
  color:#fff!important;
}
body.ksq-page-senior-ostfriesland .ksq-page-hero .ksq-kicker{
  margin:0 0 .65rem!important;
}
body.ksq-page-senior-ostfriesland .ksq-page-hero h1{
  margin:0 0 .9rem!important;
  max-width:980px!important;
  font-size:clamp(2rem,3.8vw,3.35rem)!important;
  line-height:1.06!important;
  text-wrap:balance;
}
body.ksq-page-senior-ostfriesland .ksq-page-hero .ksq-lead{
  margin:0!important;
  max-width:930px!important;
  font-size:clamp(1rem,1.55vw,1.15rem)!important;
  line-height:1.52!important;
}

/* Falls DOMDocument auf dem Server fehlen sollte: das alte erste Bild und dessen
   Caption wenigstens visuell entfernen, damit der Hero nicht doppelt erscheint. */
body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-landing-wide-image:first-child,
body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-senior-image-caption{
  display:none!important;
}

/* Nach dem neuen Hero direkt und ruhig in den ersten echten Inhaltsabschnitt starten. */
body.ksq-page-senior-ostfriesland .ksq-landing-page{
  padding-top:clamp(46px,5vw,64px)!important;
}
body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-copy-narrow:first-child{
  margin-top:0!important;
  margin-block-start:0!important;
}
body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-copy-narrow:first-child h2{
  margin-top:0!important;
}

/* Quartiersbild + Caption + „Nicht kleiner leben. Passender leben.“ als Einheit. */
body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
  margin-bottom:clamp(26px,3vw,36px)!important;
  margin-block-end:clamp(26px,3vw,36px)!important;
}
body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption + .ksq-landing-callout{
  margin-top:0!important;
  margin-block-start:0!important;
  margin-bottom:clamp(64px,6.5vw,84px)!important;
  margin-block-end:clamp(64px,6.5vw,84px)!important;
}

@media(max-width:781px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:350px;
    background-position:center 52%!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    width:calc(100% - 40px)!important;
    max-width:600px!important;
    padding-top:44px!important;
    padding-bottom:30px!important;
    transform:translateY(-5px);
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero h1{
    font-size:clamp(1.8rem,7.5vw,2.55rem)!important;
    line-height:1.08!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero .ksq-lead{
    font-size:.98rem!important;
    line-height:1.48!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-landing-page{
    padding-top:38px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
    margin-bottom:24px!important;
    margin-block-end:24px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption + .ksq-landing-callout{
    margin-bottom:54px!important;
    margin-block-end:54px!important;
  }
}

/* v0.15.119 – Feinschliff nur auf „Wohnen im Alter in Ostfriesland“:
   Hero minimal höher, Text etwas höher; Standort-Kacheln und der spätere
   Quartier-Callout erhalten etwas mehr Abstand nach oben. */
@media(min-width:782px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:clamp(360px,37vw,420px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-22px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-copy-narrow:first-child + .ksq-landing-cards.ksq-four-cards{
    margin-top:clamp(44px,4.2vw,54px)!important;
    margin-block-start:clamp(44px,4.2vw,54px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
    margin-bottom:clamp(42px,4vw,50px)!important;
    margin-block-end:clamp(42px,4vw,50px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:362px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-12px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-landing-page > .ksq-copy-narrow:first-child + .ksq-landing-cards.ksq-four-cards{
    margin-top:34px!important;
    margin-block-start:34px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-senior-quartier-caption{
    margin-bottom:34px!important;
    margin-block-end:34px!important;
  }
}

/* v0.15.120 – letzter Feinschliff am Hero von „Wohnen im Alter in Ostfriesland“:
   etwas kompaktere Hero-Höhe, Textblock spürbar höher und damit vertikal ruhiger. */
@media(min-width:782px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:clamp(345px,35vw,398px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-42px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:346px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-24px)!important;
  }
}

/* v0.15.121 – minimaler letzter Hero-Abgleich auf „Wohnen im Alter in Ostfriesland“:
   Hero einen winzigen Tick höher, Textblock ein kleines Stück weiter nach unten. */
@media(min-width:782px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:clamp(350px,35.4vw,404px)!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-34px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-senior-ostfriesland .ksq-page-hero{
    min-height:352px!important;
  }
  body.ksq-page-senior-ostfriesland .ksq-page-hero > .wp-block-group{
    transform:translateY(-18px)!important;
  }
}

/* v0.15.122 – SEO-Seite „Pflege & Wohnen im Alter“:
   der bisher graue Seitenkopf wird als kompakter Bild-Hero im Stil der
   überarbeiteten Quartier-/Ostfriesland-Seiten dargestellt. Der längere Lead
   bleibt vollständig erhalten, wird aber etwas kleiner gesetzt. */
body.ksq-page-pflegeplatz .ksq-page-hero{
  position:relative;
  min-height:clamp(350px,35.4vw,404px)!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:flex-end!important;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,16,16,.58),rgba(16,16,16,.27) 66%,rgba(16,16,16,.11)),
    url('../images/quartier-hero-overview.webp') center 72% / cover no-repeat!important;
}
body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
  position:relative;
  z-index:1;
  width:calc(100% - clamp(56px,12vw,180px))!important;
  max-width:var(--ksq-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(40px,5vw,58px) 0 clamp(32px,4.5vw,46px)!important;
  transform:translateY(-24px)!important;
}
body.ksq-page-pflegeplatz .ksq-page-hero .ksq-kicker,
body.ksq-page-pflegeplatz .ksq-page-hero h1,
body.ksq-page-pflegeplatz .ksq-page-hero .ksq-lead{
  color:#fff!important;
}
body.ksq-page-pflegeplatz .ksq-page-hero .ksq-kicker{
  margin:0 0 .6rem!important;
}
body.ksq-page-pflegeplatz .ksq-page-hero h1{
  margin:0 0 .8rem!important;
  max-width:980px!important;
  font-size:clamp(1.9rem,3.45vw,3rem)!important;
  line-height:1.07!important;
  text-wrap:balance;
}
body.ksq-page-pflegeplatz .ksq-page-hero .ksq-lead{
  margin:0!important;
  max-width:980px!important;
  font-size:clamp(.94rem,1.35vw,1.06rem)!important;
  line-height:1.5!important;
}

@media(max-width:781px){
  body.ksq-page-pflegeplatz .ksq-page-hero{
    min-height:352px!important;
    background-position:center 72%!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
    width:calc(100% - 40px)!important;
    max-width:600px!important;
    padding-top:42px!important;
    padding-bottom:30px!important;
    transform:translateY(-12px)!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero h1{
    font-size:clamp(1.65rem,7vw,2.35rem)!important;
    line-height:1.08!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero .ksq-lead{
    font-size:.92rem!important;
    line-height:1.46!important;
  }
}

/* v0.15.123 – Feinschliff ausschließlich für den Hero der SEO-Seite
   „Pflege & Wohnen im Alter“: etwas höher, Bildfokus weiter unten im Motiv,
   Textblock höher und Lead deutlich besser lesbar. */
@media(min-width:782px){
  body.ksq-page-pflegeplatz .ksq-page-hero{
    min-height:clamp(365px,37vw,420px)!important;
    background-position:center 82%!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
    transform:translateY(-38px)!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero .ksq-lead{
    font-size:clamp(1.04rem,1.55vw,1.18rem)!important;
    line-height:1.5!important;
  }
}
@media(max-width:781px){
  body.ksq-page-pflegeplatz .ksq-page-hero{
    min-height:366px!important;
    background-position:center 80%!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
    transform:translateY(-18px)!important;
  }
  body.ksq-page-pflegeplatz .ksq-page-hero .ksq-lead{
    font-size:1rem!important;
    line-height:1.48!important;
  }
}

/* v0.15.124 – letzter Feinschliff nur am Hero-Text der SEO-Seite
   „Pflege & Wohnen im Alter“: minimal weiter nach oben. */
@media(min-width:782px){
  body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
    transform:translateY(-43px)!important;
  }
}
@media(max-width:781px){
  body.ksq-page-pflegeplatz .ksq-page-hero > .wp-block-group{
    transform:translateY(-21px)!important;
  }
}

/* v0.15.125 – letzter Feinschliff nur am Hero-Bild der SEO-Seite
   „Pflege & Wohnen im Alter“: Bildausschnitt ein klein wenig höher, damit
   etwas mehr vom unteren Teil des Motivs sichtbar wird. */
@media(min-width:782px){
  body.ksq-page-pflegeplatz .ksq-page-hero{
    background-position:center 84%!important;
  }
}
@media(max-width:781px){
  body.ksq-page-pflegeplatz .ksq-page-hero{
    background-position:center 82%!important;
  }
}

/* v0.15.126 – dezenter Hinweis „KI Visualisierung“ in den Bildausschnitten.
   Gilt für Inhaltsbilder, Grundrisse, Galerien und die kompakten Hero-Bilder. */
.is-layout-flow figure.wp-block-image,
.wp-block-gallery figure,
.ksq-ai-visualization-frame,
.ksq-ai-visualization-target,
.ksq-page-hero,
.ksq-hero,
.ksq-hof-hero,
.ksq-hof-page-hero,
.ksq-page-media,
.ksq-quartier-plan-media,
.ksq-bungalow-lead-image,
.ksq-carefarm-story-media,
.ksq-location-photo-card,
.ksq-location-photo,
.ksq-landing-main-image,
.ksq-landing-wide-image,
.ksq-senior-quartier-image,
.ksq-floorplan,
.ksq-floorplan-unified,
.ksq-floorplan-apartment,
.ksq-expose-cover,
.ksq-home-contact-person{
  position:relative;
}

.ksq-ai-visualization-frame{
  display:block;
  overflow:hidden;
}

.ksq-ai-visualization-note{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#767676;
  font-size:12px;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  pointer-events:none;
  backdrop-filter:blur(2px);
}

@media(max-width:781px){
  .ksq-ai-visualization-note{
    right:9px;
    bottom:9px;
    padding:5px 8px;
    font-size:11px;
  }
}

/* v0.15.127 – KI-Hinweis dezent, aber auf hellen und dunklen Bildbereichen lesbar. */
.ksq-ai-visualization-note{
  right:10px!important;
  bottom:10px!important;
  padding:4px 7px!important;
  border-radius:4px!important;
  background:rgba(248,248,248,.80)!important;
  color:#666!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  box-shadow:0 1px 3px rgba(0,0,0,.10)!important;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
@media(max-width:781px){
  .ksq-ai-visualization-note{
    right:8px!important;
    bottom:8px!important;
    padding:4px 6px!important;
    font-size:10.5px!important;
  }
}

/* v0.15.128 – Sonderfälle der KI-Kennzeichnung ohne Eingriff in die
   bestehende Kartenstruktur: Ostfriesland-Fotokarten und die beiden Bilder
   „Ein Glück über die Grenze“ erhalten den Hinweis unten links. */
.ksq-location-photo-card > .ksq-ai-visualization-note,
.ksq-carefarm-story-media > .ksq-ai-visualization-note{
  left:10px!important;
  right:auto!important;
  bottom:10px!important;
}

/* Die Ostfriesland-Fotokarten behalten exakt ihre ursprüngliche Bild-/Label-
   Geometrie; kein zusätzlicher Wrapper darf die absolute Bildfläche beeinflussen. */
.ksq-location-photo-card .ksq-location-photo{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}
.ksq-location-photo-card .ksq-location-photo > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.ksq-location-photo-card .ksq-location-photo-label{
  right:0!important;
  left:auto!important;
  bottom:0!important;
}

@media(max-width:781px){
  .ksq-location-photo-card > .ksq-ai-visualization-note,
  .ksq-carefarm-story-media > .ksq-ai-visualization-note{
    left:8px!important;
    right:auto!important;
    bottom:8px!important;
  }
}

/* v0.15.129 – Ostfriesland-Fotokarten: weiße Beschriftungsfläche vollständig
   deckend und minimal über den Kartenrand gezogen, damit keinerlei Bildkante
   oder feine Spalte rechts/unten durchscheint. */
body.ksq-page-ostfriesland .ksq-location-photo-card .ksq-location-photo-label{
  right:-1px!important;
  bottom:-1px!important;
  background:#f9f6f1!important;
  box-sizing:border-box!important;
}

/* v0.15.131 – Ostfriesland-Kachel auf der Startseite:
   KI-Kennzeichnung unten links statt unten rechts. */
.home .ksq-ostfriesland > .ksq-ai-visualization-note,
.home .ksq-ostfriesland .ksq-ai-visualization-note{
  left:10px!important;
  right:auto!important;
  bottom:10px!important;
}

@media(max-width:781px){
  .home .ksq-ostfriesland > .ksq-ai-visualization-note,
  .home .ksq-ostfriesland .ksq-ai-visualization-note{
    left:8px!important;
    right:auto!important;
    bottom:8px!important;
  }
}

/* v0.15.133 – Exposé-Vorschaubild: KI-Hinweis etwas kleiner, dezenter
   sowie weiter nach oben und links versetzt, damit er auf dem hellen Exposé
   besser lesbar bleibt und weniger stört. */
.ksq-expose-cover > .ksq-ai-visualization-note,
.ksq-expose-cover .ksq-ai-visualization-note{
  right:24px!important;
  bottom:30px!important;
  padding:3px 6px!important;
  font-size:10px!important;
  color:#707070!important;
  background:rgba(248,248,248,.72)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08)!important;
}
@media(max-width:781px){
  .ksq-expose-cover > .ksq-ai-visualization-note,
  .ksq-expose-cover .ksq-ai-visualization-note{
    right:18px!important;
    bottom:22px!important;
    padding:3px 5px!important;
    font-size:9.5px!important;
  }
}

/* v0.15.134 – Sicherheits-Fallback: Sparkassen-/Partnerlogos niemals als
   „KI Visualisierung“ kennzeichnen, auch falls ein älterer DOM-Stand bereits
   einen Hinweis in den Logo-Container eingefügt hat. */
.ksq-sparkasse-row .ksq-ai-visualization-note,
.ksq-sparkasse-logo .ksq-ai-visualization-note,
.ksq-wg-sparkasse .ksq-ai-visualization-note,
.ksq-wg-s-icon .ksq-ai-visualization-note{
  display:none!important;
}
