@font-face{font-family:"Nunito Sans Local";src:url("/wp-content/fonts/nunito-sans/pe0TMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0IfGWVpNn64CL7U8upHZlbMV51Q42ptCp7t1R-s.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Sans Local";src:url("/wp-content/fonts/nunito-sans/pe0TMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0IfGWVpNn64CL7U8upHZlbMV51Q42ptCp7t4R-tCKQ.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Sans Local";src:url("/wp-content/fonts/nunito-sans/pe0TMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0IfGWVpNn64CL7U8upHZlbMV51Q42ptCp7t6R-tCKQ.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Sans Local";src:url("/wp-content/fonts/nunito-sans/pe0TMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0IfGWVpNn64CL7U8upHZlbMV51Q42ptCp7t7R-tCKQ.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* =========================================================
   JHB Standort Master – Premium System V1
   Saubere Foundation + Components + Themes + Varianten
   ========================================================= */

/* =========================================================
   FOUNDATION
   ========================================================= */

.jhb-standort-master{
  --jsm-orange:#e9620b;
  --jsm-orange-dark:#c95409;
  --jsm-text:#183243;
  --jsm-muted:#607482;

  --jsm-cream:#fffdf9;
  --jsm-cream-2:#f7f3ec;
  --jsm-soft:#f3efe8;
  --jsm-border:#eadfd2;
  --jsm-card-top:#fffdf9;
  --jsm-card-bottom:#f9f4ec;
  --jsm-person-media-base:#ebe4db;

  --jsm-shadow:0 22px 54px rgba(20,39,49,.09);
  --jsm-shadow-soft:0 14px 34px rgba(20,39,49,.06);

  --jsm-accent:var(--jsm-orange);
  --jsm-accent-dark:var(--jsm-orange-dark);
  --jsm-accent-rgb:233,98,11;
  --jsm-accent-soft:#fff4e8;
  --jsm-accent-soft-2:#ffe7d4;
  --jsm-accent-ink:#a24c17;

  --jsm-secondary-bg:#f2f6f3;
  --jsm-secondary-border:rgba(82,132,99,.18);
  --jsm-secondary-ink:#5f846b;

  --jsm-eyebrow-bg:rgba(233,98,11,.06);
  --jsm-eyebrow-border:rgba(233,98,11,.18);
  --jsm-eyebrow-ink:#a65a26;

  --jsm-tag-bg:#f5f8f2;
  --jsm-tag-border:#dde4db;
  --jsm-tag-ink:#677c55;

  --jsm-contact-icon-bg-top:rgba(233,98,11,.12);
  --jsm-contact-icon-bg-bottom:rgba(233,98,11,.04);
  --jsm-contact-icon-border:rgba(233,98,11,.18);
  --jsm-contact-icon-ink:var(--jsm-accent);
  --jsm-contact-label-ink:#a65a26;

  --jsm-section-soft-top:#f8f5ef;
  --jsm-section-soft-bottom:#f3efe8;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#fffdfa;

  --jsm-hero-overlay:linear-gradient(180deg,rgba(11,21,31,.58) 0%,rgba(11,21,31,.38) 46%,rgba(247,243,236,.98) 100%);
  --jsm-hero-radial:radial-gradient(1200px 460px at 50% 8%, rgba(255,255,255,.08), transparent 58%);
  --jsm-hero-after:linear-gradient(180deg,rgba(247,243,236,0) 0%,rgba(247,243,236,1) 92%);

  --jsm-hero-overlay-mobile:linear-gradient(180deg,rgba(11,21,31,.58) 0%,rgba(11,21,31,.42) 48%,rgba(247,243,236,.98) 100%);
  --jsm-hero-radial-mobile:radial-gradient(900px 300px at 50% 8%, rgba(255,255,255,.08), transparent 58%);

  font-family:"Nunito Sans Local","Nunito Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--jsm-text);
  background:var(--jsm-cream-2);
  line-height:1.66;
}

.jhb-standort-master *{box-sizing:border-box}
.jhb-standort-master a{color:inherit;text-decoration:none}
.jhb-standort-master img{max-width:100%;height:auto;display:block}
.jhb-standort-master h1,
.jhb-standort-master h2,
.jhb-standort-master h3{margin:0;color:var(--jsm-text);letter-spacing:-.025em;text-wrap:balance}
.jhb-standort-master h2{font-size:clamp(2rem,2.4vw,3rem);line-height:1.12}
.jhb-standort-master h3{font-size:1.2rem;line-height:1.26}
.jhb-standort-master p{margin:0;color:var(--jsm-muted);font-size:1.04rem}

.jsm-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.jsm-section{padding:88px 0}
.jsm-section--tight{padding:54px 0 78px}
.jsm-section--soft{background:linear-gradient(180deg,var(--jsm-section-soft-top) 0%,var(--jsm-section-soft-bottom) 100%)}
.jsm-section--white{background:linear-gradient(180deg,var(--jsm-section-white-top) 0%,var(--jsm-section-white-bottom) 100%)}

.jsm-section-head{max-width:920px;margin:0 auto 58px;text-align:center}
.jsm-section-head > *{margin-left:auto;margin-right:auto}
.jsm-section-head .jsm-eyebrow{margin-bottom:18px}
.jsm-section-head .jsm-divider{margin:18px auto 0}
.jsm-section-head .jsm-lead{margin-top:24px}
.jsm-lead{max-width:720px;margin:0 auto;text-align:center;line-height:1.76}
.jsm-divider{width:84px;height:2px;border-radius:999px;margin:18px auto 0;background:linear-gradient(90deg,rgba(var(--jsm-accent-rgb),.18),rgba(var(--jsm-accent-rgb),.72),rgba(var(--jsm-accent-rgb),.18))}
.jsm-eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 16px;border-radius:999px;border:1px solid var(--jsm-eyebrow-border);background:var(--jsm-eyebrow-bg);color:var(--jsm-eyebrow-ink);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

/* =========================================================
   BUTTONS
   ========================================================= */

.jsm-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-size:15px;font-weight:800;letter-spacing:.01em;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),background-color .24s ease,border-color .24s ease,color .24s ease;cursor:pointer}
.jsm-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);opacity:0;transition:opacity .34s ease}
.jsm-btn:hover{transform:translateY(-2px)}
.jsm-btn:hover::after{opacity:1}
.jsm-btn--small{min-height:44px;padding:0 18px;font-size:14px}

.jsm-btn--primary,
.jsm-btn--primary:link,
.jsm-btn--primary:visited,
.jhb-standort-master a.jsm-btn--primary,
.jhb-standort-master a.jsm-btn--primary:link,
.jhb-standort-master a.jsm-btn--primary:visited{
  background:linear-gradient(135deg,var(--jsm-accent) 0%,var(--jsm-accent-dark) 100%);
  color:#fff;
  text-decoration:none;
  text-shadow:none;
  box-shadow:0 12px 28px rgba(var(--jsm-accent-rgb),.18);
}

.jsm-btn--primary:hover,
.jsm-btn--primary:focus-visible,
.jsm-btn--primary:active,
.jhb-standort-master a.jsm-btn--primary:hover,
.jhb-standort-master a.jsm-btn--primary:focus-visible,
.jhb-standort-master a.jsm-btn--primary:active{
  color:#fff;
  text-decoration:none;
  text-shadow:none;
  box-shadow:0 16px 32px rgba(var(--jsm-accent-rgb),.24);
}

.jsm-btn--secondary,
.jsm-btn--secondary:link,
.jsm-btn--secondary:visited,
.jhb-standort-master a.jsm-btn--secondary,
.jhb-standort-master a.jsm-btn--secondary:link,
.jhb-standort-master a.jsm-btn--secondary:visited{
  background:linear-gradient(180deg,#fffdfa 0%,#f7f1e8 100%);
  border-color:#e1d7ca;
  color:var(--jsm-text);
  text-decoration:none;
  box-shadow:0 8px 20px rgba(20,39,49,.04);
}

.jsm-btn--secondary:hover,
.jsm-btn--secondary:focus-visible,
.jsm-btn--secondary:active,
.jhb-standort-master a.jsm-btn--secondary:hover,
.jhb-standort-master a.jsm-btn--secondary:focus-visible,
.jhb-standort-master a.jsm-btn--secondary:active{
  background:#fff;
  border-color:rgba(var(--jsm-accent-rgb),.28);
  color:var(--jsm-accent);
  text-decoration:none;
  box-shadow:0 12px 24px rgba(20,39,49,.06);
}

.jsm-btn--ghost,
.jsm-btn--ghost:link,
.jsm-btn--ghost:visited,
.jhb-standort-master a.jsm-btn--ghost,
.jhb-standort-master a.jsm-btn--ghost:link,
.jhb-standort-master a.jsm-btn--ghost:visited{
  background:rgba(255,251,246,.96);
  color:#173243;
  border-color:rgba(255,255,255,.45);
  text-decoration:none;
  box-shadow:0 16px 34px rgba(20,39,49,.14);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.jsm-btn--ghost:hover,
.jsm-btn--ghost:focus-visible,
.jsm-btn--ghost:active,
.jhb-standort-master a.jsm-btn--ghost:hover,
.jhb-standort-master a.jsm-btn--ghost:focus-visible,
.jhb-standort-master a.jsm-btn--ghost:active{
  background:#fff;
  color:var(--jsm-accent);
  border-color:rgba(var(--jsm-accent-rgb),.34);
  text-decoration:none;
  box-shadow:0 20px 38px rgba(20,39,49,.16);
}

/* =========================================================
   HERO
   ========================================================= */

.jsm-hero{
  position:relative;
  min-height:760px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:
    var(--jsm-hero-overlay),
    var(--jsm-hero-radial),
    var(--hero-desktop) var(--hero-position-desktop,center center)/cover no-repeat;
}

.jsm-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:180px;background:var(--jsm-hero-after)}
.jsm-hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:132px 0 170px;animation:jsmHeroFade 1.05s cubic-bezier(.22,1,.36,1) both}

@keyframes jsmHeroFade{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
.jsm-crumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:18px;color:rgba(255,255,255,.9);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.jsm-crumbs span{opacity:.78}
.jsm-hero .jsm-eyebrow{margin-bottom:20px;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.38);color:var(--jsm-secondary-ink)}
.jsm-hero h1{width:100%;max-width:min(1040px,100%);margin:0 auto 18px;color:#fff;text-shadow:0 10px 28px rgba(11,21,31,.16);text-align:center}
.jsm-hero-title{display:flex;flex-direction:column;align-items:center;gap:.12em;width:100%;max-width:min(1040px,100%);margin:0 auto}
.jsm-hero-title__top,
.jsm-hero-title__bottom{display:block;width:100%;max-width:100%;margin:0 auto;text-align:center;text-wrap:balance}
.jsm-hero-title__top{font-size:clamp(2.5rem,4vw,4.25rem);line-height:1.0;font-weight:800;letter-spacing:-.04em}
.jsm-hero-title__bottom{font-size:clamp(1.7rem,2.25vw,2.45rem);line-height:1.1;font-weight:740;letter-spacing:-.028em;opacity:.98}
.jsm-hero .jsm-lead{max-width:720px;margin:12px auto 0;font-size:clamp(1.05rem,1.2vw,1.15rem);line-height:1.7;color:rgba(255,255,255,.98);text-shadow:0 8px 24px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.25)}
.jsm-hero__actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;width:100%;margin-top:34px}
.jsm-hero__actions .jsm-btn{min-width:228px;min-height:54px;padding:0 26px;font-size:15px;font-weight:800}

/* =========================================================
   CORE CARDS
   ========================================================= */

.jsm-contact-card,
.jsm-info-card,
.jsm-location-card,
.jsm-map-card,
.jsm-person-card,
.jsm-intro-card,
.jsm-region-note,
.jsm-faq-list details{
  background:linear-gradient(180deg,var(--jsm-card-top) 0%,var(--jsm-card-bottom) 100%);
  border:1px solid var(--jsm-border);
  box-shadow:var(--jsm-shadow-soft);
  border-radius:28px;
}

.jsm-contact-card,
.jsm-info-card,
.jsm-location-card,
.jsm-map-card,
.jsm-person-card,
.jsm-intro-card,
.jsm-faq-list details{
  transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),border-color .28s ease,background .28s ease;
}

.jsm-contact-card:hover,
.jsm-info-card:hover,
.jsm-location-card:hover,
.jsm-person-card:hover,
.jsm-intro-card:hover,
.jsm-faq-list details:hover{
  transform:translateY(-6px) scale(1.012);
  box-shadow:0 28px 64px rgba(20,39,49,.12),0 6px 18px rgba(20,39,49,.06);
  border-color:rgba(var(--jsm-accent-rgb),.22);
}

/* =========================================================
   CONTACT CARDS
   ========================================================= */

.jsm-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jsm-contact-card{padding:24px 22px;text-align:center}
.jsm-contact-icon{width:58px;height:58px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,var(--jsm-contact-icon-bg-top),var(--jsm-contact-icon-bg-bottom));border:1px solid var(--jsm-contact-icon-border);color:var(--jsm-contact-icon-ink)}
.jsm-contact-icon svg{width:25px;height:25px}
.jsm-contact-icon{transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1)}
.jsm-contact-card:hover .jsm-contact-icon{transform:translateY(-2px) scale(1.06);box-shadow:0 16px 28px rgba(var(--jsm-accent-rgb),.16)}
.jsm-contact-label{margin-bottom:6px;color:var(--jsm-contact-label-ink);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.jsm-contact-value{font-size:1.08rem;line-height:1.55;font-weight:700;color:var(--jsm-text)}
.jsm-contact-value a{color:var(--jsm-text)}
.jsm-contact-value--small{font-size:1rem;word-break:break-word}
.jsm-contact-sub{margin-top:6px;color:rgba(24,50,67,.6);font-size:.85rem;line-height:1.4;font-weight:500}

/* =========================================================
   INTRO
   ========================================================= */

.jsm-intro-enhanced{max-width:980px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.jsm-intro-lead{width:min(100%,820px);margin:0 auto 2px;font-size:1.08rem;line-height:1.84;text-align:center;text-wrap:pretty}
.jsm-intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;width:100%}
.jsm-intro-card{padding:30px;text-align:center;border-radius:30px}
.jsm-intro-card p{line-height:1.8;text-align:center}

/* =========================================================
   OFFER CARDS
   ========================================================= */

.jsm-cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.jsm-info-card,
.jsm-location-card{display:flex;flex-direction:column;padding:28px 26px;text-align:center}
.jsm-tag,
.jsm-location-meta,
.jsm-badge{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:36px;padding:8px 14px;border-radius:999px;border:1px solid var(--jsm-tag-border);background:var(--jsm-tag-bg);color:var(--jsm-tag-ink);font-size:11.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.jsm-info-card .jsm-tag,
.jsm-location-meta{margin-bottom:16px}
.jsm-info-card h3,
.jsm-location-card h3{margin-bottom:12px}
.jsm-info-card p,
.jsm-location-card p{line-height:1.7;text-align:center}
.jsm-more-link{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:center;min-height:auto;padding-inline:0;border:0;background:transparent;color:var(--jsm-text);font-size:15px;font-weight:800;letter-spacing:.01em;box-shadow:none;transition:color .22s ease,transform .22s ease}
.jsm-more-link::after{content:"→";font-size:14px;line-height:1;color:var(--jsm-accent);transform:translateX(0);transition:transform .22s ease}
.jsm-more-link:hover{color:var(--jsm-accent-dark);transform:none}
.jsm-more-link:hover::after{transform:translateX(4px)}
.jsm-region-note{max-width:900px;margin:24px auto 0;padding:18px 22px;text-align:center}
.jsm-region-note p{margin:0;text-align:center}
.jsm-region-note a{color:var(--jsm-accent);font-weight:800}

.jsm-offer-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);gap:24px;align-items:stretch}
.jsm-offer-split__cards{display:grid;grid-template-columns:1fr;gap:18px}
.jsm-offer-split__media{overflow:hidden;border-radius:30px;border:1px solid var(--jsm-border);box-shadow:var(--jsm-shadow-soft);background:#e8e6e1;min-height:100%}
.jsm-offer-split__media img{width:100%;height:100%;object-fit:cover;object-position:var(--jsm-offer-image-position,center center)}

.jsm-offer-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(100%,820px);margin:22px auto 0}
.jsm-offer-mini{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 22px 20px;border-radius:24px;background:var(--jsm-card-surface);border:1px solid var(--jsm-card-border-premium);box-shadow:var(--jsm-card-shadow-premium)}
.jsm-offer-mini .jsm-tag{margin-bottom:14px}
.jsm-offer-mini h3{margin:0 0 10px;font-size:1.18rem;line-height:1.28}
.jsm-offer-mini p{margin:0;line-height:1.72;text-align:center}
.jsm-offer-mini .jsm-more-link{margin-top:14px}

@media (max-width: 768px){.jsm-offer-subgrid{grid-template-columns:1fr;gap:14px;margin-top:16px}.jsm-offer-mini{padding:20px 18px 18px;border-radius:22px}.jsm-offer-mini h3{font-size:1.08rem}}


/* =========================================================
   PERSON CARD
   ========================================================= */

.jsm-person-center{display:flex;flex-direction:column;align-items:center}
.jsm-person-text{max-width:760px;margin:0 auto 34px;text-align:center}
.jsm-person-text p{margin-bottom:14px;text-align:center}
.jsm-person-text p:last-child{margin-bottom:0}

.jsm-person-card{width:min(100%,364px);overflow:hidden;border-radius:30px;box-shadow:0 18px 44px rgba(20,39,49,.09);background:linear-gradient(180deg,var(--jsm-card-top) 0%,var(--jsm-card-bottom) 100%)}
.jsm-person-media{position:relative;height:338px;background:var(--jsm-person-media-base);overflow:hidden;margin:0;border-radius:30px 30px 0 0}
.jsm-person-media::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,rgba(255,253,249,0) 0%,rgba(255,253,249,.62) 44%,rgba(255,253,249,.92) 74%,var(--jsm-card-top) 100%)}
.jsm-person-image{width:100%;height:100%;object-fit:cover;object-position:var(--jsm-person-image-position,center 24%);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.jsm-person-card:hover .jsm-person-image{transform:scale(1.035)}
.jsm-person-media--placeholder{display:grid;place-items:center;background:linear-gradient(180deg,#f3dcc8 0%,#f7eee5 100%)}
.jsm-person-placeholder{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--jsm-accent) 0%,var(--jsm-accent-dark) 100%);color:#fff;font-size:2.2rem;font-weight:800;box-shadow:0 18px 42px rgba(var(--jsm-accent-rgb),.22)}
.jsm-person-body{position:relative;margin-top:-14px;padding:14px 20px 22px;text-align:center;background:linear-gradient(180deg,rgba(255,253,249,.96) 0%,var(--jsm-card-bottom) 100%)}
.jsm-badge-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.jsm-badge--warm{background:linear-gradient(180deg,var(--jsm-accent-soft) 0%,var(--jsm-accent-soft-2) 100%);border-color:rgba(var(--jsm-accent-rgb),.22);color:var(--jsm-accent-ink)}
.jsm-badge--soft{background:var(--jsm-secondary-bg);border-color:var(--jsm-secondary-border);color:var(--jsm-secondary-ink)}
.jsm-person-card .jsm-badge{min-height:32px;padding:6px 12px;font-size:10.5px;letter-spacing:.08em}
.jsm-person-role{margin-bottom:8px;color:#546a78;font-size:1.02rem;font-weight:700}
.jsm-person-name{margin-bottom:10px;font-size:1.66rem;line-height:1.16}
.jsm-person-address{max-width:290px;margin:0 auto;color:var(--jsm-muted);line-height:1.6}
.jsm-person-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.jsm-person-actions .jsm-btn{width:100%;min-width:0;min-height:46px}
.jsm-person-card--fallback .jsm-person-media--contact{height:250px}
.jsm-person-card--fallback .jsm-person-placeholder{width:96px;height:96px;font-size:2rem}
.jsm-person-card--fallback .jsm-person-address{max-width:300px}
.jsm-person-card--fallback .jsm-person-actions{grid-template-columns:1fr}
.jsm-person-card--fallback .jsm-person-actions .jsm-btn:first-child{font-size:1rem}

/* =========================================================
   MAP
   ========================================================= */

.jsm-map-card{padding:18px}
.jsm-map-embed{position:relative;min-height:440px;border-radius:28px;overflow:hidden;background:#ebe7df}
.jsm-map-placeholder,
.jsm-map-frame,
.jsm-map-frame iframe{position:absolute;inset:0;width:100%;height:100%}
.jsm-map-placeholder{display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,rgba(246,242,234,.74) 0%,rgba(246,242,234,.85) 100%)}
.jsm-map-placeholder-card{width:min(100%,392px);padding:26px 24px 22px;border-radius:26px;border:1px solid var(--jsm-border);background:rgba(255,253,249,.97);text-align:center;box-shadow:var(--jsm-shadow)}
.jsm-map-placeholder-card .jsm-eyebrow{margin-bottom:16px}
.jsm-map-placeholder-card h3{margin-bottom:14px;font-size:1.9rem;line-height:1.18}
.jsm-map-placeholder-card p{margin-bottom:16px;line-height:1.74;text-align:center}
.jsm-map-consent [data-map-load]{display:inline-flex;justify-content:center;align-items:center;min-width:190px}
.jsm-map-note{margin-top:16px;color:var(--jsm-muted);font-size:.96rem;line-height:1.66;text-align:center}
.jsm-map-frame{opacity:0;pointer-events:none;transition:opacity .28s ease}
[data-map-consent].is-loaded .jsm-map-frame{opacity:1;pointer-events:auto}
[data-map-consent].is-loaded .jsm-map-placeholder{display:none}
.jsm-map-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 4px 6px}
.jsm-map-meta-item{padding:20px 18px;border-radius:22px;background:linear-gradient(180deg,#fffdfa 0%,#f8f3eb 100%);border:1px solid var(--jsm-border);text-align:center}
.jsm-map-meta-item .jsm-tag{margin-bottom:12px}
.jsm-map-meta-item p{text-align:center;line-height:1.7}
.jsm-map-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 4px 4px}

/* =========================================================
   FAQ
   ========================================================= */

.jsm-faq-list{display:grid;gap:14px}
.jsm-faq-list details{overflow:hidden}
.jsm-faq-list summary{position:relative;list-style:none;cursor:pointer;padding:22px 58px 22px 24px;color:var(--jsm-text);font-size:1.06rem;font-weight:800}
.jsm-faq-list summary::-webkit-details-marker{display:none}
.jsm-faq-list summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--jsm-accent);font-size:1.5rem;font-weight:800}
.jsm-faq-list details[open] summary::after{content:"–"}
.jsm-faq-answer{padding:0 24px 22px}
.jsm-faq-answer p{line-height:1.74}

/* =========================================================
   NEARBY
   ========================================================= */

.jsm-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

/* =========================================================
   REVEAL
   ========================================================= */

.jsm-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.jsm-reveal.is-visible{opacity:1;transform:translateY(0)}
.jsm-reveal-delay-1{transition-delay:.05s}
.jsm-reveal-delay-2{transition-delay:.11s}
.jsm-reveal-delay-3{transition-delay:.17s}
.jsm-reveal-delay-4{transition-delay:.23s}

/* =========================================================
   OFFICE STRUCTURE MODULE
   ========================================================= */

.jsm-office-structure .jsm-section-head{margin-bottom:34px}
.jsm-office-house{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:26px}
.jsm-office-roof{width:min(520px,100%);filter:drop-shadow(0 18px 34px rgba(20,39,49,.08))}
.jsm-office-roof img{width:100%;height:auto;display:block}
.jsm-office-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.jsm-office-card{padding:24px 22px;border-radius:24px;background:linear-gradient(180deg,var(--jsm-card-top) 0%,var(--jsm-card-bottom) 100%);border:1px solid var(--jsm-border);box-shadow:var(--jsm-shadow-soft);text-align:center}
.jsm-office-card h3{margin-bottom:10px}
.jsm-office-card p{line-height:1.72}
.jhb-standort-master.jsm-variant-office .jsm-office-card{background:linear-gradient(180deg,#fffdf9 0%,#f6efe6 100%)}
.jhb-standort-master.jsm-theme-barnim.jsm-variant-office .jsm-office-card{background:linear-gradient(180deg,#fffdfa 0%,#f8f0e7 100%);border-color:#ead8c9}
.jhb-standort-master.jsm-theme-barnim.jsm-variant-office .jsm-office-roof{filter:drop-shadow(0 18px 34px rgba(207,100,16,.10))}


@media (hover:none){
  .jsm-contact-card:hover,
  .jsm-info-card:hover,
  .jsm-location-card:hover,
  .jsm-person-card:hover,
  .jsm-intro-card:hover,
  .jsm-faq-list details:hover{
    transform:none;
    box-shadow:var(--jsm-shadow-soft);
  }

  .jsm-contact-card:hover .jsm-contact-icon,
  .jsm-person-card:hover .jsm-person-image{
    transform:none;
    box-shadow:none;
  }

  .jsm-btn:hover::after{
    opacity:0;
  }
}

/* =========================================================
   THEMES – REGIONEN
   ========================================================= */


.jhb-standort-master.jsm-theme-berlin{
  --jsm-cream:#fffdf9;
  --jsm-cream-2:#f5efe6;
  --jsm-border:#e6ddd1;
  --jsm-card-top:#fffdfa;
  --jsm-card-bottom:#f7f0e6;
  --jsm-person-media-base:#e9e1d7;

  --jsm-accent:#4a6f88;
  --jsm-accent-dark:#345566;
  --jsm-accent-rgb:74,111,136;
  --jsm-accent-soft:#eef4f7;
  --jsm-accent-soft-2:#ddeaf0;
  --jsm-accent-ink:#3f5e70;

  --jsm-secondary-bg:#f5f1ea;
  --jsm-secondary-border:rgba(74,111,136,.12);
  --jsm-secondary-ink:#6b7f8c;

  --jsm-eyebrow-bg:rgba(74,111,136,.08);
  --jsm-eyebrow-border:rgba(74,111,136,.18);
  --jsm-eyebrow-ink:#5a7483;

  --jsm-tag-bg:#f3f3ee;
  --jsm-tag-border:rgba(74,111,136,.12);
  --jsm-tag-ink:#6a7f8c;

  --jsm-contact-icon-bg-top:rgba(74,111,136,.12);
  --jsm-contact-icon-bg-bottom:rgba(74,111,136,.04);
  --jsm-contact-icon-border:rgba(74,111,136,.14);
  --jsm-contact-icon-ink:#4a6f88;
  --jsm-contact-label-ink:#6a7f8c;

  --jsm-section-soft-top:#faf4eb;
  --jsm-section-soft-bottom:#f3ece2;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f8f2e9;

  --jsm-hero-radial:
    radial-gradient(1000px 360px at 18% 14%, rgba(74,111,136,.10), transparent 68%),
    radial-gradient(760px 280px at 84% 12%, rgba(255,255,255,.18), transparent 68%);

  --jsm-hero-overlay:linear-gradient(
    180deg,
    rgba(15,25,35,.55) 0%,
    rgba(15,25,35,.35) 45%,
    rgba(245,239,230,.98) 100%
  );

  --jsm-hero-after:linear-gradient(
    180deg,
    rgba(245,239,230,0) 0%,
    rgba(245,239,230,.86) 68%,
    rgba(245,239,230,1) 100%
  );

  --jsm-hero-overlay-mobile:linear-gradient(
    180deg,
    rgba(15,25,35,.55) 0%,
    rgba(15,25,35,.40) 50%,
    rgba(245,239,230,.98) 100%
  );

  --jsm-hero-radial-mobile:
    radial-gradient(620px 240px at 50% 12%, rgba(74,111,136,.10), transparent 72%);
}

.jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-eyebrow{background:rgba(255,250,245,.94);border-color:rgba(255,255,255,.38);color:#5f7868}
.jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,250,245,.98);color:#183243;border-color:rgba(255,255,255,.62)}

/* =========================================================
   THEME-INTEGRATION – Berlin Hero
   sauber im Theme verankert, ohne End-of-file-Overrides
   ========================================================= */
@media (min-width: 769px){
  .jhb-standort-master.jsm-theme-berlin .jsm-hero h1{max-width:980px;margin:0 auto 16px}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title{gap:.10em;max-width:980px}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title__top{max-width:920px;font-size:clamp(2.55rem,3.85vw,4.12rem);line-height:1}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title__bottom{max-width:720px;margin:4px auto 0;font-size:clamp(1.5rem,1.95vw,2.12rem);line-height:1.12;font-weight:730;text-align:center;text-wrap:balance}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-lead{max-width:720px;margin:12px auto 0;font-size:clamp(1.05rem,1.2vw,1.12rem);line-height:1.68}
}

@media (max-width: 768px){
  .jhb-standort-master.jsm-theme-berlin .jsm-hero__inner{padding:100px 0 122px}
  .jhb-standort-master.jsm-theme-berlin .jsm-crumbs{margin-bottom:10px;font-size:10px;gap:6px;line-height:1.15}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-eyebrow{min-height:28px;max-width:290px;width:fit-content;margin-inline:auto;margin-bottom:10px;padding:6px 12px;font-size:9.5px;letter-spacing:.08em;line-height:1.15;background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.34);box-shadow:0 10px 24px rgba(20,39,49,.12)}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero h1{max-width:320px;margin:0 auto 14px}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title{gap:.07em;max-width:320px}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title__top{max-width:320px;font-size:clamp(1.9rem,7vw,2.6rem);line-height:.98}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero-title__bottom{max-width:230px;margin:2px auto 0;font-size:clamp(1.08rem,4.5vw,1.5rem);line-height:1.08;font-weight:720;text-align:center;text-wrap:balance}
  .jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-lead{max-width:28ch;margin:6px auto 0;font-size:.92rem;line-height:1.5;text-align:center}
}

.jhb-standort-master.jsm-theme-mol{
  --jsm-cream:#fffaf4;
  --jsm-cream-2:#f7f0e6;
  --jsm-border:#e7ddcd;
  --jsm-card-top:#fffdf9;
  --jsm-card-bottom:#f6efe5;
  --jsm-person-media-base:#ece5da;

  --jsm-accent:#8ba16b;
  --jsm-accent-dark:#6a7d4f;
  --jsm-accent-rgb:139,161,107;
  --jsm-accent-soft:#f3f7eb;
  --jsm-accent-soft-2:#e8f0da;
  --jsm-accent-ink:#66794d;

  --jsm-secondary-bg:#f4f7f0;
  --jsm-secondary-border:rgba(139,161,107,.18);
  --jsm-secondary-ink:#66794d;

  --jsm-eyebrow-bg:rgba(139,161,107,.08);
  --jsm-eyebrow-border:rgba(139,161,107,.18);
  --jsm-eyebrow-ink:#66794d;

  --jsm-tag-bg:#f4f7f0;
  --jsm-tag-border:rgba(139,161,107,.16);
  --jsm-tag-ink:#66794d;

  --jsm-contact-icon-bg-top:rgba(139,161,107,.14);
  --jsm-contact-icon-bg-bottom:rgba(139,161,107,.05);
  --jsm-contact-icon-border:rgba(139,161,107,.18);
  --jsm-contact-icon-ink:#74895a;
  --jsm-contact-label-ink:#66794d;

  --jsm-section-soft-top:#faf5ee;
  --jsm-section-soft-bottom:#f3ede2;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f8f2e8;
}

.jhb-standort-master.jsm-theme-mol .jsm-hero .jsm-eyebrow{background:rgba(255,250,245,.94);border-color:rgba(255,255,255,.38);color:#66794d}
.jhb-standort-master.jsm-theme-mol .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-mol .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-mol .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,250,245,.98);color:#183243;border-color:rgba(255,255,255,.58)}

.jhb-standort-master.jsm-theme-uckermark{
  --jsm-cream:#fdfbf7;
  --jsm-cream-2:#f3f1ea;
  --jsm-border:#dde3d9;
  --jsm-card-top:#fffdf9;
  --jsm-card-bottom:#f4f1ea;
  --jsm-person-media-base:#e8e2d8;

  --jsm-accent:#739981;
  --jsm-accent-dark:#547261;
  --jsm-accent-rgb:115,153,129;
  --jsm-accent-soft:#eef5f0;
  --jsm-accent-soft-2:#dfeae2;
  --jsm-accent-ink:#557260;

  --jsm-secondary-bg:#f2f6f1;
  --jsm-secondary-border:rgba(111,153,129,.18);
  --jsm-secondary-ink:#5f7b68;

  --jsm-eyebrow-bg:rgba(111,153,129,.08);
  --jsm-eyebrow-border:rgba(111,153,129,.18);
  --jsm-eyebrow-ink:#557260;

  --jsm-tag-bg:#f2f6f1;
  --jsm-tag-border:rgba(111,153,129,.16);
  --jsm-tag-ink:#5f7b68;

  --jsm-contact-icon-bg-top:rgba(111,153,129,.14);
  --jsm-contact-icon-bg-bottom:rgba(111,153,129,.05);
  --jsm-contact-icon-border:rgba(111,153,129,.18);
  --jsm-contact-icon-ink:#5a7867;
  --jsm-contact-label-ink:#5f7b68;

  --jsm-section-soft-top:#faf7f1;
  --jsm-section-soft-bottom:#f3f0e8;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f8f5ef;

  --jsm-hero-overlay:linear-gradient(180deg,rgba(14,24,26,.34) 0%,rgba(14,24,26,.16) 38%,rgba(243,241,234,.72) 76%,rgba(243,241,234,.96) 100%);
  --jsm-hero-radial:radial-gradient(960px 360px at 18% 16%, rgba(140,167,145,.20), transparent 68%),radial-gradient(780px 300px at 82% 12%, rgba(255,244,225,.18), transparent 66%);
  --jsm-hero-after:linear-gradient(180deg,rgba(243,241,234,0) 0%,rgba(243,241,234,.96) 82%,rgba(243,241,234,1) 100%);

  --jsm-hero-overlay-mobile:linear-gradient(180deg,rgba(14,24,26,.40) 0%,rgba(14,24,26,.18) 34%,rgba(243,241,234,.74) 74%,rgba(243,241,234,.98) 100%);
  --jsm-hero-radial-mobile:radial-gradient(520px 220px at 50% 10%, rgba(140,167,145,.16), transparent 72%);
}

.jhb-standort-master.jsm-theme-uckermark .jsm-hero{min-height:840px}
.jhb-standort-master.jsm-theme-uckermark .jsm-hero__inner{padding:136px 0 158px}
.jhb-standort-master.jsm-theme-uckermark .jsm-hero .jsm-eyebrow{background:rgba(255,250,244,.94);border-color:rgba(111,153,129,.22);color:#557260}
.jhb-standort-master.jsm-theme-uckermark .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-uckermark .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-uckermark .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,250,245,.96);color:#183243;border-color:rgba(255,255,255,.52)}

.jhb-standort-master.jsm-theme-prignitz{
  --jsm-cream:#fffbf6;
  --jsm-cream-2:#f6efe4;
  --jsm-border:#eadfcf;
  --jsm-card-top:#fffdf9;
  --jsm-card-bottom:#f6efe5;
  --jsm-person-media-base:#eae0d2;

  --jsm-accent:#c99b40;
  --jsm-accent-dark:#9e7420;
  --jsm-accent-rgb:201,155,64;
  --jsm-accent-soft:#fbf3df;
  --jsm-accent-soft-2:#f3e2b5;
  --jsm-accent-ink:#8d6a26;

  --jsm-secondary-bg:#f7f2e8;
  --jsm-secondary-border:rgba(201,155,64,.18);
  --jsm-secondary-ink:#8d6a26;

  --jsm-eyebrow-bg:rgba(201,155,64,.09);
  --jsm-eyebrow-border:rgba(201,155,64,.18);
  --jsm-eyebrow-ink:#8d6a26;

  --jsm-tag-bg:#fbf6eb;
  --jsm-tag-border:rgba(201,155,64,.16);
  --jsm-tag-ink:#8d6a26;

  --jsm-contact-icon-bg-top:rgba(201,155,64,.14);
  --jsm-contact-icon-bg-bottom:rgba(201,155,64,.05);
  --jsm-contact-icon-border:rgba(201,155,64,.18);
  --jsm-contact-icon-ink:#a47b2b;
  --jsm-contact-label-ink:#8d6a26;

  --jsm-section-soft-top:#faf5ed;
  --jsm-section-soft-bottom:#f4ecdf;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f9f1e6;
}

.jhb-standort-master.jsm-theme-prignitz .jsm-hero .jsm-eyebrow{background:rgba(255,249,240,.94);border-color:rgba(201,155,64,.18);color:#8d6a26}
.jhb-standort-master.jsm-theme-prignitz .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-prignitz .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-prignitz .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,250,244,.96);color:#183243;border-color:rgba(255,255,255,.56)}

.jhb-standort-master.jsm-theme-barnim{
  --jsm-cream:#fffaf4;
  --jsm-cream-2:#f8efe4;
  --jsm-border:#e8d7c7;
  --jsm-card-top:#fffdf9;
  --jsm-card-bottom:#f7eee2;
  --jsm-person-media-base:#eadfce;

  --jsm-accent:#e7861f;
  --jsm-accent-dark:#cf6410;
  --jsm-accent-rgb:231,134,31;
  --jsm-accent-soft:#fff0e0;
  --jsm-accent-soft-2:#ffe0bf;
  --jsm-accent-ink:#a4511c;

  --jsm-secondary-bg:#f8f2ea;
  --jsm-secondary-border:rgba(207,100,16,.16);
  --jsm-secondary-ink:#8c5a27;

  --jsm-eyebrow-bg:rgba(233,98,11,.06);
  --jsm-eyebrow-border:rgba(233,98,11,.20);
  --jsm-eyebrow-ink:#a4511c;

  --jsm-tag-bg:#f8f2ea;
  --jsm-tag-border:rgba(207,100,16,.16);
  --jsm-tag-ink:#8c5a27;

  --jsm-contact-icon-bg-top:rgba(233,98,11,.14);
  --jsm-contact-icon-bg-bottom:rgba(233,98,11,.05);
  --jsm-contact-icon-border:rgba(233,98,11,.18);
  --jsm-contact-icon-ink:#cf6410;
  --jsm-contact-label-ink:#a4511c;

  --jsm-section-soft-top:#fbf5ee;
  --jsm-section-soft-bottom:#f3e9dc;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f9f2e8;
}

.jhb-standort-master.jsm-theme-barnim .jsm-hero .jsm-eyebrow{background:rgba(255,248,241,.94);border-color:rgba(233,98,11,.20);color:#a4511c}
.jhb-standort-master.jsm-theme-barnim .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-barnim .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-barnim .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,248,241,.94);color:#183243;border-color:rgba(233,98,11,.18)}

/* vorbereitet für neue Standorte */
.jhb-standort-master.jsm-theme-oderspree{
  --jsm-cream:#fffbf7;
  --jsm-cream-2:#f6f0e6;
  --jsm-border:#e6ddd1;
  --jsm-card-top:#fffdfa;
  --jsm-card-bottom:#f8f1e8;
  --jsm-person-media-base:#e8dfd4;

  --jsm-accent:#3f8a68;
  --jsm-accent-dark:#2f6f53;
  --jsm-accent-rgb:63,138,104;
  --jsm-accent-soft:#edf6f0;
  --jsm-accent-soft-2:#d9ecdf;
  --jsm-accent-ink:#336c52;

  --jsm-secondary-bg:#f5f1ea;
  --jsm-secondary-border:rgba(63,138,104,.14);
  --jsm-secondary-ink:#5f7b69;

  --jsm-eyebrow-bg:rgba(63,138,104,.08);
  --jsm-eyebrow-border:rgba(63,138,104,.18);
  --jsm-eyebrow-ink:#4e725e;

  --jsm-tag-bg:#f3f3ee;
  --jsm-tag-border:rgba(63,138,104,.14);
  --jsm-tag-ink:#5a7664;

  --jsm-contact-icon-bg-top:rgba(63,138,104,.12);
  --jsm-contact-icon-bg-bottom:rgba(63,138,104,.04);
  --jsm-contact-icon-border:rgba(63,138,104,.16);
  --jsm-contact-icon-ink:#3f8a68;
  --jsm-contact-label-ink:#5a7664;

  --jsm-section-soft-top:#faf4eb;
  --jsm-section-soft-bottom:#f3ece2;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f8f2e9;

  --jsm-hero-radial:
    radial-gradient(980px 340px at 18% 14%, rgba(63,138,104,.12), transparent 68%),
    radial-gradient(760px 280px at 84% 12%, rgba(255,255,255,.16), transparent 68%);

  --jsm-hero-overlay:linear-gradient(
    180deg,
    rgba(11,21,31,.55) 0%,
    rgba(11,21,31,.35) 45%,
    rgba(246,240,230,.97) 100%
  );

  --jsm-hero-after:linear-gradient(
    180deg,
    rgba(246,240,230,0) 0%,
    rgba(246,240,230,.86) 68%,
    rgba(246,240,230,1) 100%
  );

  --jsm-hero-overlay-mobile:linear-gradient(
    180deg,
    rgba(11,21,31,.55) 0%,
    rgba(11,21,31,.40) 50%,
    rgba(246,240,230,.98) 100%
  );

  --jsm-hero-radial-mobile:
    radial-gradient(620px 240px at 50% 12%, rgba(63,138,104,.12), transparent 72%);
}

.jhb-standort-master.jsm-theme-oderspree .jsm-hero .jsm-eyebrow{background:rgba(247,250,255,.94);border-color:rgba(95,141,179,.18);color:#4e789a}
.jhb-standort-master.jsm-theme-oderspree .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-oderspree .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-oderspree .jsm-hero .jsm-btn--ghost:visited{background:rgba(248,251,255,.96);color:#183243;border-color:rgba(255,255,255,.56)}

.jhb-standort-master.jsm-theme-tornowsee{
  --jsm-cream:#fffdf8;
  --jsm-cream-2:#f9f8f2;
  --jsm-border:#e9e2d8;
  --jsm-card-top:#fffefb;
  --jsm-card-bottom:#faf6ef;
  --jsm-person-media-base:#efe5d8;

  --jsm-accent:#ff8f2b;
  --jsm-accent-dark:#ff6b00;
  --jsm-accent-rgb:255,143,43;
  --jsm-accent-soft:#ffe9d4;
  --jsm-accent-soft-2:#fff2e5;
  --jsm-accent-ink:#d35f00;

  --jsm-secondary-bg:#e8f6ff;
  --jsm-secondary-border:rgba(81,168,255,.18);
  --jsm-secondary-ink:#2f82c9;

  --jsm-eyebrow-bg:rgba(255,143,43,.10);
  --jsm-eyebrow-border:rgba(255,143,43,.18);
  --jsm-eyebrow-ink:#d35f00;

  --jsm-tag-bg:#fff2e3;
  --jsm-tag-border:rgba(255,143,43,.16);
  --jsm-tag-ink:#d35f00;

  --jsm-contact-icon-bg-top:rgba(255,143,43,.16);
  --jsm-contact-icon-bg-bottom:rgba(255,143,43,.06);
  --jsm-contact-icon-border:rgba(255,143,43,.18);
  --jsm-contact-icon-ink:#ff7b11;
  --jsm-contact-label-ink:#d35f00;

  --jsm-section-soft-top:#fff8ee;
  --jsm-section-soft-bottom:#f7f6ef;
  --jsm-section-white-top:#fffefb;
  --jsm-section-white-bottom:#f8fbff;

  --jsm-hero-overlay:linear-gradient(180deg,rgba(21,33,40,.30) 0%,rgba(21,33,40,.12) 40%,rgba(249,248,242,.86) 78%,rgba(249,248,242,.98) 100%);
  --jsm-hero-radial:radial-gradient(820px 300px at 14% 14%, rgba(255,143,43,.20), transparent 66%),radial-gradient(720px 260px at 84% 18%, rgba(81,168,255,.16), transparent 64%),radial-gradient(560px 220px at 50% 0%, rgba(171,221,120,.18), transparent 72%);
  --jsm-hero-after:linear-gradient(180deg,rgba(249,248,242,0) 0%,rgba(249,248,242,1) 92%);
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-eyebrow{background:rgba(255,249,240,.96);border-color:rgba(255,143,43,.18);color:#d35f00}
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-btn--ghost:visited{background:rgba(255,255,255,.95);color:#183243;border-color:rgba(255,255,255,.64)}
.jhb-standort-master.jsm-theme-tornowsee .jsm-badge--soft{background:#e8f6ff;border-color:rgba(81,168,255,.18);color:#2f82c9}
.jhb-standort-master.jsm-theme-tornowsee .jsm-person-card,
.jhb-standort-master.jsm-theme-tornowsee .jsm-intro-card,
.jhb-standort-master.jsm-theme-tornowsee .jsm-info-card,
.jhb-standort-master.jsm-theme-tornowsee .jsm-location-card{box-shadow:0 16px 34px rgba(255,143,43,.10)}

/* =========================================================
   VARIANTEN – vorbereitet für variant_class
   ========================================================= */

.jhb-standort-master.jsm-variant-ambulant .jsm-hero__actions .jsm-btn{border-radius:999px}

.jhb-standort-master.jsm-variant-office .jsm-person-card,
.jhb-standort-master.jsm-variant-office .jsm-contact-card,
.jhb-standort-master.jsm-variant-office .jsm-intro-card{box-shadow:0 12px 28px rgba(20,39,49,.05)}
.jhb-standort-master.jsm-variant-office .jsm-person-media{height:320px}
.jhb-standort-master.jsm-variant-office .jsm-badge{letter-spacing:.1em}

.jhb-standort-master.jsm-variant-stationaer .jsm-hero{min-height:800px}
.jhb-standort-master.jsm-variant-stationaer .jsm-person-card,
.jhb-standort-master.jsm-variant-stationaer .jsm-contact-card,
.jhb-standort-master.jsm-variant-stationaer .jsm-info-card{border-width:1px}
.jhb-standort-master.jsm-variant-stationaer .jsm-badge--soft{background:#f4efe8;border-color:rgba(20,39,49,.08);color:#6a5a4d}

.jhb-standort-master.jsm-variant-school{
  --jsm-card-top:#fffefb;
  --jsm-card-bottom:#faf8f1;
}
.jhb-standort-master.jsm-variant-school .jsm-person-card,
.jhb-standort-master.jsm-variant-school .jsm-intro-card,
.jhb-standort-master.jsm-variant-school .jsm-info-card,
.jhb-standort-master.jsm-variant-school .jsm-location-card{border-radius:26px}
.jhb-standort-master.jsm-variant-school .jsm-badge,
.jhb-standort-master.jsm-variant-school .jsm-tag,
.jhb-standort-master.jsm-variant-school .jsm-location-meta{min-height:34px;padding:7px 13px}
.jhb-standort-master.jsm-variant-school .jsm-divider{height:3px}
.jhb-standort-master.jsm-variant-school .jsm-contact-icon{width:60px;height:60px}

/* =========================================================
   DESKTOP TUNING
   ========================================================= */

@media (min-width: 901px){
  .jhb-standort-master .jsm-hero-title__bottom{white-space:nowrap}
  .jhb-standort-master.jsm-theme-barnim .jsm-hero-title__bottom,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{white-space:normal}
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px){
  .jsm-contact-grid,
  .jsm-cards-3,
  .jsm-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jsm-office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jsm-offer-split{grid-template-columns:1fr}
  .jsm-offer-split__media{min-height:360px}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px){
  .jsm-wrap{width:min(1180px,calc(100% - 24px))}
  .jsm-section{padding:64px 0}
  .jsm-section--tight{padding:40px 0 58px}
  .jsm-section-head{margin:0 auto 38px;padding:0 10px}
  .jsm-divider{width:72px;margin:18px auto 0}

  .jhb-standort-master h2{font-size:clamp(2rem,7vw,2.5rem);line-height:1.16;margin-bottom:18px;letter-spacing:-.024em}
  .jhb-standort-master h3{font-size:1.12rem;line-height:1.3}
  .jhb-standort-master p,
  .jhb-standort-master .jsm-lead,
  .jhb-standort-master .jsm-map-note,
  .jhb-standort-master .jsm-intro-lead,
  .jhb-standort-master .jsm-intro-card p,
  .jhb-standort-master .jsm-person-text p{font-size:1.05rem;line-height:1.76;text-align:center}

  .jsm-hero{
    min-height:680px;
    background:
      var(--jsm-hero-overlay-mobile),
      var(--jsm-hero-radial-mobile),
      var(--hero-mobile,var(--hero-desktop)) var(--hero-position-mobile,var(--hero-position-desktop,center center))/cover no-repeat;
  }
  .jsm-hero__inner{padding:118px 0 144px}
  .jsm-hero h1{max-width:96%}
  .jsm-hero-title{gap:.16em}
  .jsm-hero-title__top{font-size:clamp(2.55rem,10vw,3.7rem);line-height:1.01}
  .jsm-hero-title__bottom{font-size:clamp(2rem,8.2vw,3rem);line-height:1.06;white-space:normal}
  .jsm-hero .jsm-lead{font-size:1rem;line-height:1.68;max-width:92%}
  .jsm-hero__actions{gap:12px;margin-top:30px}
  .jsm-hero__actions .jsm-btn{width:min(100%,260px);min-width:0}

  .jsm-eyebrow{min-height:40px;padding:9px 18px;margin-bottom:20px;font-size:12px;letter-spacing:.11em}
  .jsm-tag,
  .jsm-badge{margin-bottom:16px}

  .jsm-contact-grid,
  .jsm-intro-grid,
  .jsm-cards-3,
  .jsm-location-grid,
  .jsm-map-meta{grid-template-columns:1fr}

  .jsm-contact-grid,
  .jsm-intro-grid,
  .jsm-cards-3,
  .jsm-location-grid,
  .jsm-map-meta{gap:16px}

  .jsm-contact-card,
  .jsm-info-card,
  .jsm-location-card,
  .jsm-map-meta-item,
  .jsm-intro-card{text-align:center;padding:24px 20px;border-radius:22px}

  .jsm-intro-enhanced{gap:18px}
  .jsm-intro-card{padding:26px 22px}

  .jsm-offer-split__media{min-height:280px;border-radius:24px}

  .jsm-person-text{margin-bottom:26px}
  .jsm-person-card{width:min(100%,340px);border-radius:24px}
  .jsm-person-media{height:286px;border-radius:24px 24px 0 0}
  .jsm-person-media::after{height:48%;background:linear-gradient(180deg,rgba(255,253,249,0) 0%,rgba(255,253,249,.68) 46%,rgba(255,253,249,.95) 76%,var(--jsm-card-top) 100%)}
  .jsm-person-body{margin-top:-18px;padding:12px 18px 20px}
  .jsm-badge-row{gap:8px;margin-bottom:14px}
  .jsm-badge{min-height:32px;padding:6px 11px;font-size:10.5px;letter-spacing:.095em;margin-bottom:0}
  .jsm-person-role{font-size:1rem}
  .jsm-person-name{font-size:1.5rem}
  .jsm-person-actions{gap:10px}

  .jsm-map-card{padding:16px;border-radius:24px}
  .jsm-map-embed{
    height:420px;
    min-height:420px;
    border-radius:20px;
  }
  .jsm-map-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
  }
  .jsm-map-placeholder::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:40px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,253,249,.86) 100%);
  }
  .jsm-map-placeholder-card{
    width:min(100%,336px);
    max-width:336px;
    padding:24px 20px 22px;
    border-radius:22px;
  }
  .jsm-map-placeholder-card .jsm-eyebrow{margin-bottom:16px}
  .jsm-map-placeholder-card h3{font-size:clamp(1.72rem,8vw,2rem);line-height:1.14;margin-bottom:14px}
  .jsm-map-placeholder-card p{font-size:1rem;line-height:1.64;margin-bottom:16px}
  .jsm-map-consent [data-map-load]{width:min(100%,240px)}
  .jsm-map-frame,
  .jsm-map-frame iframe{height:420px}
  .jsm-map-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px}
  .jsm-map-actions .jsm-btn{width:min(100%,240px)}

  .jhb-standort-master.jsm-theme-uckermark .jsm-hero{min-height:760px}
  .jhb-standort-master.jsm-theme-uckermark .jsm-hero__inner{padding:116px 0 136px}
  .jhb-standort-master.jsm-theme-uckermark .jsm-contact-card,
  .jhb-standort-master.jsm-theme-uckermark .jsm-info-card,
  .jhb-standort-master.jsm-theme-uckermark .jsm-location-card{border-radius:24px}
}

@media (max-width: 430px){
  .jsm-map-embed,
  .jsm-map-frame,
  .jsm-map-frame iframe{height:380px;min-height:380px}

  .jsm-map-placeholder-card{
    width:min(100%,308px);
    padding:22px 18px 20px;
  }

  .jsm-map-placeholder-card h3{font-size:clamp(1.56rem,7.8vw,1.84rem)}
  .jsm-map-placeholder-card p{font-size:.98rem;line-height:1.58}
}

@media (max-width: 460px){
  .jsm-person-actions{grid-template-columns:1fr}
  .jsm-hero-title__top{font-size:clamp(2.35rem,10vw,3.1rem)}
  .jsm-hero-title__bottom{font-size:clamp(1.85rem,8.4vw,2.55rem)}
}

/* =========================================================
   CONSOLIDATED PREMIUM REFINEMENTS
   finale Gewinner-Regeln zusammengeführt
   ========================================================= */

.jhb-standort-master{
  --jsm-card-radius:30px;
  --jsm-card-radius-small:24px;
  --jsm-card-surface:linear-gradient(180deg, rgba(255,253,249,.98) 0%, rgba(248,243,236,.96) 100%);
  --jsm-card-border-premium:color-mix(in srgb, var(--jsm-border) 72%, white 28%);
  --jsm-card-shadow-premium:0 16px 36px rgba(20,39,49,.06),0 5px 16px rgba(20,39,49,.035);
  --jsm-card-shadow-premium-hover:0 26px 58px rgba(20,39,49,.10),0 10px 24px rgba(20,39,49,.05);
  --jsm-card-hover-lift:-6px;

  --jsm-hero-overlay:
    linear-gradient(
      180deg,
      rgba(9,18,26,.50) 0%,
      rgba(9,18,26,.42) 28%,
      rgba(9,18,26,.28) 52%,
      rgba(247,243,236,.94) 100%
    );

  --jsm-hero-overlay-mobile:
    linear-gradient(
      180deg,
      rgba(9,18,26,.58) 0%,
      rgba(9,18,26,.46) 34%,
      rgba(9,18,26,.30) 56%,
      rgba(247,243,236,.95) 100%
    );
}

.jhb-standort-master .jsm-btn--small{
  min-height:40px;
  padding:0 16px;
  font-size:13.5px;
}

.jhb-standort-master .jsm-section-head h2,
.jhb-standort-master .jsm-section-head h3,
.jhb-standort-master .jsm-section-head p,
.jhb-standort-master .jsm-intro-lead,
.jhb-standort-master .jsm-intro-card p,
.jhb-standort-master .jsm-info-card p,
.jhb-standort-master .jsm-region-note p,
.jhb-standort-master .jsm-person-text p,
.jhb-standort-master .jsm-map-placeholder-card p,
.jhb-standort-master .jsm-map-meta-item p,
.jhb-standort-master .jsm-location-card p,
.jhb-standort-master .jsm-office-card p,
.jhb-standort-master .jsm-contact-value,
.jhb-standort-master .jsm-contact-value a{
  text-align:center;
  margin-inline:auto;
}

.jhb-standort-master .jsm-section-head .jsm-lead,
.jhb-standort-master .jsm-intro-lead,
.jhb-standort-master .jsm-person-text,
.jhb-standort-master .jsm-region-note,
.jhb-standort-master .jsm-map-note{
  max-width:min(100%,820px);
  margin-left:auto;
  margin-right:auto;
}

.jhb-standort-master .jsm-contact-card,
.jhb-standort-master .jsm-intro-card,
.jhb-standort-master .jsm-info-card,
.jhb-standort-master .jsm-location-card,
.jhb-standort-master .jsm-map-meta-item,
.jhb-standort-master .jsm-office-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}

.jhb-standort-master .jsm-contact-label,
.jhb-standort-master .jsm-info-card h3,
.jhb-standort-master .jsm-location-card h3,
.jhb-standort-master .jsm-office-card h3,
.jhb-standort-master .jsm-map-meta-item h3,
.jhb-standort-master .jsm-map-placeholder-card h3{
  width:100%;
  text-align:center;
}

.jhb-standort-master .jsm-location-card .jsm-btn,
.jhb-standort-master .jsm-info-card .jsm-btn,
.jhb-standort-master .jsm-contact-card .jsm-btn,
.jhb-standort-master .jsm-person-actions{
  margin-left:auto;
  margin-right:auto;
}

.jhb-standort-master .jsm-faq-list details,
.jhb-standort-master .jsm-faq-list summary,
.jhb-standort-master .jsm-faq-answer,
.jhb-standort-master .jsm-faq-answer p{
  text-align:left;
}

.jhb-standort-master .jsm-faq-list summary{
  padding-left:24px;
  padding-right:58px;
}

.jhb-standort-master .jsm-faq-answer{
  padding:0 24px 22px;
}

.jhb-standort-master .jsm-faq-answer p{
  margin:0;
  max-width:none;
  line-height:1.74;
}

/* Hero */
.jhb-standort-master .jsm-hero__inner{
  padding:142px 0 182px;
}

.jhb-standort-master .jsm-crumbs{
  margin-bottom:18px;
}

.jhb-standort-master .jsm-hero .jsm-eyebrow{
  margin-bottom:22px;
}

.jhb-standort-master .jsm-hero h1{
  max-width:920px;
  margin:0 auto 24px;
  text-shadow:
    0 3px 14px rgba(0,0,0,.22),
    0 10px 28px rgba(0,0,0,.16);
}

.jhb-standort-master .jsm-hero-title__top{
  line-height:.96;
}

.jhb-standort-master .jsm-hero-title__bottom{
  line-height:1.02;
  opacity:.98;
}

.jhb-standort-master .jsm-hero .jsm-lead{
  max-width:760px;
  margin-inline:auto;
  font-size:clamp(1.06rem,1.25vw,1.2rem);
  line-height:1.72;
  letter-spacing:.005em;
  text-wrap:pretty;
  color:rgba(255,255,255,.96);
  text-shadow:
    0 2px 10px rgba(0,0,0,.34),
    0 8px 24px rgba(0,0,0,.16);
}

.jhb-standort-master .jsm-hero__actions{
  margin-top:28px;
  gap:14px;
}

/* Premium cards */
.jhb-standort-master .jsm-contact-card,
.jhb-standort-master .jsm-info-card,
.jhb-standort-master .jsm-location-card,
.jhb-standort-master .jsm-map-card,
.jhb-standort-master .jsm-person-card,
.jhb-standort-master .jsm-intro-card,
.jhb-standort-master .jsm-region-note,
.jhb-standort-master .jsm-faq-list details,
.jhb-standort-master .jsm-map-meta-item,
.jhb-standort-master .jsm-office-card{
  border-radius:var(--jsm-card-radius);
  border:1px solid var(--jsm-card-border-premium);
  background:var(--jsm-card-surface);
  box-shadow:var(--jsm-card-shadow-premium);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    box-shadow .42s cubic-bezier(.22,1,.36,1),
    border-color .3s ease,
    background-color .3s ease,
    filter .3s ease;
  backface-visibility:hidden;
}

.jhb-standort-master .jsm-contact-card,
.jhb-standort-master .jsm-info-card,
.jhb-standort-master .jsm-location-card,
.jhb-standort-master .jsm-intro-card,
.jhb-standort-master .jsm-map-meta-item,
.jhb-standort-master .jsm-office-card,
.jhb-standort-master .jsm-region-note{
  position:relative;
  overflow:hidden;
}

.jhb-standort-master .jsm-contact-card::before,
.jhb-standort-master .jsm-info-card::before,
.jhb-standort-master .jsm-location-card::before,
.jhb-standort-master .jsm-intro-card::before,
.jhb-standort-master .jsm-map-meta-item::before,
.jhb-standort-master .jsm-office-card::before,
.jhb-standort-master .jsm-region-note::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.72), rgba(255,255,255,0));
  pointer-events:none;
}

.jhb-standort-master .jsm-contact-card:hover,
.jhb-standort-master .jsm-info-card:hover,
.jhb-standort-master .jsm-location-card:hover,
.jhb-standort-master .jsm-person-card:hover,
.jhb-standort-master .jsm-intro-card:hover,
.jhb-standort-master .jsm-faq-list details:hover,
.jhb-standort-master .jsm-map-meta-item:hover,
.jhb-standort-master .jsm-office-card:hover,
.jhb-standort-master .jsm-region-note:hover{
  transform:translateY(var(--jsm-card-hover-lift));
  border-color:rgba(var(--jsm-accent-rgb),.18);
  box-shadow:var(--jsm-card-shadow-premium-hover);
}

.jhb-standort-master .jsm-contact-card{padding:28px 24px}
.jhb-standort-master .jsm-info-card,
.jhb-standort-master .jsm-location-card{padding:30px 26px}
.jhb-standort-master .jsm-intro-card{padding:32px 28px}
.jhb-standort-master .jsm-map-card{padding:20px}
.jhb-standort-master .jsm-region-note{padding:20px 24px}
.jhb-standort-master .jsm-map-meta-item{padding:22px 20px;border-radius:24px}
.jhb-standort-master .jsm-office-card{padding:28px 24px;border-radius:26px}

.jhb-standort-master .jsm-contact-icon{
  width:62px;
  height:62px;
  margin-bottom:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 18px rgba(20,39,49,.04);
}

.jhb-standort-master .jsm-tag,
.jhb-standort-master .jsm-location-meta,
.jhb-standort-master .jsm-badge{
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.jhb-standort-master .jsm-info-card h3,
.jhb-standort-master .jsm-location-card h3,
.jhb-standort-master .jsm-office-card h3,
.jhb-standort-master .jsm-map-meta-item h3{
  margin-bottom:12px;
  letter-spacing:-.02em;
}

.jhb-standort-master .jsm-info-card p,
.jhb-standort-master .jsm-location-card p,
.jhb-standort-master .jsm-intro-card p,
.jhb-standort-master .jsm-office-card p,
.jhb-standort-master .jsm-map-meta-item p,
.jhb-standort-master .jsm-region-note p{
  line-height:1.76;
}

.jhb-standort-master .jsm-more-link{
  padding-top:20px;
  transition:color .24s ease, transform .24s ease, letter-spacing .24s ease;
}

.jhb-standort-master .jsm-more-link:hover{
  letter-spacing:.01em;
}

/* Ansprechpartner */
.jhb-standort-master .jsm-person-card{
  width:min(100%, 380px);
  border-radius:32px;
  border:1px solid color-mix(in srgb, var(--jsm-border) 64%, white 36%);
  background:linear-gradient(180deg, rgba(255,253,249,.985) 0%, rgba(248,243,236,.97) 100%);
  box-shadow:0 18px 42px rgba(15,30,40,.08), 0 6px 18px rgba(15,30,40,.04);
  overflow:hidden;
}

.jhb-standort-master .jsm-person-media{
  position:relative;
  height:360px;
  margin:0;
  border-radius:32px 32px 0 0;
  background:linear-gradient(180deg, #e8e3da 0%, #ddd5c8 100%);
}

.jhb-standort-master .jsm-person-media::after{
  content:none;
}

.jhb-standort-master .jsm-person-media::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:72px;
  background:linear-gradient(180deg, rgba(255,253,249,0) 0%, rgba(255,253,249,.10) 45%, rgba(255,253,249,.22) 100%);
  pointer-events:none;
  z-index:1;
}

.jhb-standort-master .jsm-person-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--jsm-person-image-position, center 20%);
  transform:scale(1);
  transition:transform 1s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter:saturate(1.02) contrast(1.02);
}

.jhb-standort-master .jsm-person-card:hover .jsm-person-image{
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.03);
}

.jhb-standort-master .jsm-person-body{
  position:relative;
  margin-top:0;
  padding:18px 22px 24px;
  background:linear-gradient(180deg, rgba(255,253,249,.95) 0%, rgba(248,243,236,.985) 100%);
}

.jhb-standort-master .jsm-badge-row{
  gap:10px;
  margin-bottom:18px;
}

.jhb-standort-master .jsm-person-role{
  margin-bottom:8px;
  color:#5f7280;
  font-size:1rem;
  line-height:1.45;
  letter-spacing:.01em;
}

.jhb-standort-master .jsm-person-name{
  margin-bottom:10px;
  font-size:1.72rem;
  line-height:1.08;
  letter-spacing:-.03em;
}

.jhb-standort-master .jsm-person-address{
  max-width:290px;
  font-size:.98rem;
  line-height:1.62;
  color:#667a87;
}

.jhb-standort-master .jsm-person-actions{
  width:min(100%,292px);
  gap:12px;
  margin-top:22px;
}

.jhb-standort-master .jsm-person-actions .jsm-btn,
.jhb-standort-master .jsm-person-actions .jsm-btn--primary,
.jhb-standort-master .jsm-person-actions .jsm-btn--secondary{
  min-height:48px;
  padding:0 14px;
  border-radius:999px;
  font-size:14px;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background-color .28s ease,
    border-color .28s ease,
    color .28s ease;
}

.jhb-standort-master .jsm-person-actions .jsm-btn:hover{
  transform:translateY(-2px);
}

.jhb-standort-master .jsm-person-actions .jsm-btn--primary{
  box-shadow:0 10px 22px rgba(var(--jsm-accent-rgb),.16);
}

.jhb-standort-master .jsm-person-actions .jsm-btn--secondary{
  box-shadow:0 6px 16px rgba(20,39,49,.04);
}

.jhb-standort-master .jsm-person-card--fallback .jsm-person-actions{
  width:min(100%,292px);
}

.jhb-standort-master .jsm-person-card--fallback .jsm-person-actions .jsm-btn:first-child{
  font-size:13px;
}

/* FAQ cleaner */
.jhb-standort-master .jsm-faq-list details{
  border-radius:26px;
}

.jhb-standort-master .jsm-faq-list summary{
  min-height:74px;
  display:flex;
  align-items:center;
}

.jhb-standort-master .jsm-faq-list summary::after{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(var(--jsm-accent-rgb), .08);
  right:18px;
  padding:0;
  line-height:1;
  text-align:center;
  text-indent:0;
  font-size:1.28rem;
}

.jhb-standort-master .jsm-faq-list details[open] summary::after{
  content:"−";
  font-size:1.12rem;
}

/* Intro grid */
@media (min-width: 769px){
  .jhb-standort-master .jsm-intro-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
  }

  .jhb-standort-master .jsm-intro-card{
    padding:28px 26px;
  }

  .jhb-standort-master .jsm-intro-card h3,
  .jhb-standort-master .jsm-intro-card .jsm-intro-card__title{
    font-size:1.05rem;
    line-height:1.28;
    margin:0 0 10px;
  }

  .jhb-standort-master .jsm-intro-card p{
    font-size:.98rem;
    line-height:1.7;
  }

  .jhb-standort-master.jsm-variant-stationaer .jsm-intro-grid{
    grid-template-columns:repeat(2,minmax(0,380px));
    justify-content:center;
  }
}

/* Sanfte globale Einblendung */
@keyframes jsmCardRisePremium{
  0%{opacity:0;transform:translateY(22px) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

.jhb-standort-master .jsm-contact-card,
.jhb-standort-master .jsm-info-card,
.jhb-standort-master .jsm-location-card,
.jhb-standort-master .jsm-intro-card,
.jhb-standort-master .jsm-map-card,
.jhb-standort-master .jsm-person-card,
.jhb-standort-master .jsm-region-note,
.jhb-standort-master .jsm-faq-list details,
.jhb-standort-master .jsm-map-meta-item,
.jhb-standort-master .jsm-office-card{
  animation:jsmCardRisePremium .72s cubic-bezier(.22,1,.36,1) both;
}

.jhb-standort-master .jsm-contact-grid > *:nth-child(2),
.jhb-standort-master .jsm-cards-3 > *:nth-child(2),
.jhb-standort-master .jsm-location-grid > *:nth-child(2),
.jhb-standort-master .jsm-intro-grid > *:nth-child(2),
.jhb-standort-master .jsm-office-grid > *:nth-child(2){animation-delay:.08s}

.jhb-standort-master .jsm-contact-grid > *:nth-child(3),
.jhb-standort-master .jsm-cards-3 > *:nth-child(3),
.jhb-standort-master .jsm-location-grid > *:nth-child(3),
.jhb-standort-master .jsm-office-grid > *:nth-child(3){animation-delay:.16s}

/* Tablet */
@media (max-width: 1024px){
  .jhb-standort-master .jsm-intro-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .jhb-standort-master.jsm-variant-stationaer .jsm-intro-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch;
  }
}

/* Mobile */
@media (max-width: 768px){
  .jhb-standort-master{
    --jsm-card-radius:24px;
    --jsm-card-hover-lift:-2px;
  }

  .jhb-standort-master .jsm-hero__inner{
    padding:108px 0 138px;
  }

  .jhb-standort-master .jsm-hero .jsm-eyebrow{
    min-height:30px;
    padding:6px 14px;
    margin-bottom:18px;
    font-size:10.5px;
    letter-spacing:.10em;
    line-height:1.2;
    max-width:min(92vw,360px);
    text-align:center;
  }

  .jhb-standort-master .jsm-hero h1{
    margin:0 auto 18px;
    max-width:92%;
  }

  .jhb-standort-master .jsm-hero .jsm-lead{
    max-width:34ch;
    font-size:.98rem;
    line-height:1.58;
  }

  .jhb-standort-master .jsm-hero__actions{
    margin-top:22px;
    gap:10px;
  }

  .jhb-standort-master .jsm-contact-card{padding:24px 18px}
  .jhb-standort-master .jsm-info-card,
  .jhb-standort-master .jsm-location-card,
  .jhb-standort-master .jsm-intro-card,
  .jhb-standort-master .jsm-office-card{padding:24px 18px}
  .jhb-standort-master .jsm-map-card{padding:16px}
  .jhb-standort-master .jsm-map-meta-item{padding:18px 16px;border-radius:20px}

  .jhb-standort-master .jsm-contact-icon{
    width:56px;
    height:56px;
    margin-bottom:10px;
  }

  .jhb-standort-master .jsm-intro-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .jhb-standort-master .jsm-intro-card{
    max-width:100%;
  }

  .jhb-standort-master .jsm-person-card{
    width:min(100%,356px);
    border-radius:28px;
  }

  .jhb-standort-master .jsm-person-media{
    height:300px;
    border-radius:28px 28px 0 0;
  }

  .jhb-standort-master .jsm-person-media::before{
    height:54px;
    background:linear-gradient(180deg, rgba(255,253,249,0) 0%, rgba(255,253,249,.08) 55%, rgba(255,253,249,.18) 100%);
  }

  .jhb-standort-master .jsm-person-image{
    object-position:center 16%;
    transform:scale(1.01);
  }

  .jhb-standort-master .jsm-person-body{
    padding:16px 16px 18px;
  }

  .jhb-standort-master .jsm-badge-row{
    gap:8px;
    margin-bottom:14px;
  }

  .jhb-standort-master .jsm-badge,
  .jhb-standort-master .jsm-tag,
  .jhb-standort-master .jsm-location-meta{
    min-height:30px;
    padding:5px 10px;
    font-size:10px;
    letter-spacing:.09em;
  }

  .jhb-standort-master .jsm-person-role{
    margin-bottom:6px;
    font-size:.95rem;
    line-height:1.35;
  }

  .jhb-standort-master .jsm-person-name{
    margin-bottom:8px;
    font-size:1.4rem;
    line-height:1.12;
  }

  .jhb-standort-master .jsm-person-address{
    max-width:250px;
    font-size:.94rem;
    line-height:1.52;
  }

  .jhb-standort-master .jsm-person-actions{
    width:min(100%,272px);
    gap:10px;
    margin-top:16px;
  }

  .jhb-standort-master .jsm-person-actions .jsm-btn,
  .jhb-standort-master .jsm-person-actions .jsm-btn--primary,
  .jhb-standort-master .jsm-person-actions .jsm-btn--secondary,
  .jhb-standort-master .jsm-btn--small{
    min-height:44px;
    padding:0 12px;
    font-size:14px;
  }

  .jhb-standort-master .jsm-person-card--fallback .jsm-person-actions{
    width:min(100%,272px);
  }

  .jhb-standort-master .jsm-faq-list summary{
    min-height:66px;
    padding:18px 56px 18px 20px;
  }

  .jhb-standort-master .jsm-faq-answer{
    padding:0 20px 20px;
  }

  .jhb-standort-master.jsm-theme-berlin .jsm-hero .jsm-eyebrow{
    background:rgba(255,255,255,.92);
    border-color:rgba(255,255,255,.34);
    box-shadow:0 10px 24px rgba(20,39,49,.12);
  }
}

@media (prefers-reduced-motion: reduce){
  .jhb-standort-master .jsm-contact-card,
  .jhb-standort-master .jsm-info-card,
  .jhb-standort-master .jsm-location-card,
  .jhb-standort-master .jsm-intro-card,
  .jhb-standort-master .jsm-map-card,
  .jhb-standort-master .jsm-person-card,
  .jhb-standort-master .jsm-region-note,
  .jhb-standort-master .jsm-faq-list details,
  .jhb-standort-master .jsm-map-meta-item,
  .jhb-standort-master .jsm-office-card,
  .jhb-standort-master .jsm-person-image,
  .jhb-standort-master .jsm-person-actions .jsm-btn{
    animation:none !important;
    transition:none !important;
  }
}

/* =========================================================
   THEME – STATIONÄR
   eigenes wärmeres Farbsystem + Bild-folgt-Fallback
   ========================================================= */

.jhb-standort-master.jsm-theme-stationaer{
  --jsm-cream:#fcfaf7;
  --jsm-cream-2:#f3eee7;
  --jsm-border:#e5d9cb;
  --jsm-card-top:#fffdfa;
  --jsm-card-bottom:#f5eee6;
  --jsm-person-media-base:#e9dfd4;

  --jsm-accent:#8b5e3c;
  --jsm-accent-dark:#6b4428;
  --jsm-accent-rgb:139,94,60;
  --jsm-accent-soft:#f6ede5;
  --jsm-accent-soft-2:#efdfd1;
  --jsm-accent-ink:#7a4d2d;

  --jsm-secondary-bg:#f2f0eb;
  --jsm-secondary-border:rgba(97,90,72,.14);
  --jsm-secondary-ink:#6f6254;

  --jsm-eyebrow-bg:rgba(139,94,60,.08);
  --jsm-eyebrow-border:rgba(139,94,60,.16);
  --jsm-eyebrow-ink:#7a4d2d;

  --jsm-tag-bg:#f4f1ec;
  --jsm-tag-border:rgba(97,90,72,.14);
  --jsm-tag-ink:#6f6254;

  --jsm-contact-icon-bg-top:rgba(139,94,60,.12);
  --jsm-contact-icon-bg-bottom:rgba(139,94,60,.04);
  --jsm-contact-icon-border:rgba(139,94,60,.18);
  --jsm-contact-icon-ink:#8b5e3c;
  --jsm-contact-label-ink:#7a4d2d;

  --jsm-section-soft-top:#f8f3ed;
  --jsm-section-soft-bottom:#f1ebe4;
  --jsm-section-white-top:#fffdfa;
  --jsm-section-white-bottom:#f7f1ea;

  --jsm-hero-overlay:linear-gradient(180deg,rgba(12,18,22,.56) 0%,rgba(12,18,22,.46) 30%,rgba(12,18,22,.30) 54%,rgba(247,243,236,.94) 100%);
  --jsm-hero-radial:radial-gradient(940px 340px at 18% 14%, rgba(169,128,93,.16), transparent 68%),radial-gradient(780px 300px at 84% 12%, rgba(255,246,238,.20), transparent 68%);
  --jsm-hero-after:linear-gradient(180deg,rgba(243,238,231,0) 0%,rgba(243,238,231,.96) 84%,rgba(243,238,231,1) 100%);
  --jsm-hero-overlay-mobile:linear-gradient(180deg,rgba(12,18,22,.64) 0%,rgba(12,18,22,.50) 34%,rgba(12,18,22,.34) 58%,rgba(247,243,236,.95) 100%);
  --jsm-hero-radial-mobile:radial-gradient(560px 220px at 50% 10%, rgba(169,128,93,.15), transparent 72%);
}

.jhb-standort-master.jsm-theme-stationaer .jsm-hero .jsm-eyebrow{
  background:rgba(255,250,245,.94);
  border-color:rgba(255,255,255,.38);
  color:#7a4d2d;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-hero .jsm-btn--ghost,
.jhb-standort-master.jsm-theme-stationaer .jsm-hero .jsm-btn--ghost:link,
.jhb-standort-master.jsm-theme-stationaer .jsm-hero .jsm-btn--ghost:visited{
  background:rgba(255,250,245,.96);
  color:#183243;
  border-color:rgba(255,255,255,.58);
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-card,
.jhb-standort-master.jsm-theme-stationaer .jsm-contact-card,
.jhb-standort-master.jsm-theme-stationaer .jsm-intro-card,
.jhb-standort-master.jsm-theme-stationaer .jsm-info-card,
.jhb-standort-master.jsm-theme-stationaer .jsm-location-card,
.jhb-standort-master.jsm-theme-stationaer .jsm-map-meta-item{
  box-shadow:0 18px 38px rgba(71,47,29,.08);
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-card--fallback{
  border-color:rgba(139,94,60,.12);
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon{
  position:relative;
  height:326px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:28px 28px 0 0;
  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,.72) 0, rgba(255,255,255,0) 72px),
    linear-gradient(180deg,#f2e6da 0%,#efe3d6 48%,#f7f0e8 100%);
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon::before{
  content:"";
  position:absolute;
  width:92px;
  height:92px;
  border-radius:50%;
  border:1px solid rgba(139,94,60,.16);
  background:rgba(255,253,250,.82);
  box-shadow:0 14px 34px rgba(139,94,60,.12);
  animation:jsmStationaerPulse 2.8s ease-in-out infinite;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon::after{
  content:"Bild folgt";
  position:absolute;
  left:50%;
  top:calc(50% + 50px);
  transform:translateX(-50%);
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.02em;
  color:#8b5e3c;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon svg{
  position:relative;
  z-index:1;
  width:30px;
  height:30px;
  color:#8b5e3c;
  animation:jsmStationaerFloat 3.1s ease-in-out infinite;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon + .jsm-person-body .jsm-badge-row{
  display:none;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon + .jsm-person-body .jsm-person-role{
  margin-bottom:8px;
  color:#8f8a83;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon + .jsm-person-body .jsm-person-name{
  font-size:1.7rem;
}

@keyframes jsmStationaerPulse{
  0%,100%{transform:scale(1);box-shadow:0 14px 34px rgba(139,94,60,.12)}
  50%{transform:scale(1.045);box-shadow:0 18px 40px rgba(139,94,60,.18)}
}

@keyframes jsmStationaerFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@media (max-width: 900px){
  .jhb-standort-master.jsm-variant-stationaer .jsm-intro-grid{
    grid-template-columns:1fr;
    justify-content:stretch;
    gap:16px;
  }
}

@media (max-width: 767px){
  .jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon{
    height:300px;
    border-radius:28px 28px 0 0;
  }

  .jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon::before{
    width:84px;
    height:84px;
  }

  .jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon::after{
    top:calc(50% + 46px);
    font-size:.82rem;
  }

  .jhb-standort-master.jsm-theme-stationaer .jsm-person-fallback-icon + .jsm-person-body .jsm-person-name{
    font-size:1.46rem;
  }

  .jhb-standort-master.jsm-variant-stationaer .jsm-intro-grid{
    grid-template-columns:1fr;
    justify-content:stretch;
  }
}

/* =========================================================
   WALDWICHTEL / PRITZHAGEN – HERO APPLE ANIMATION
   ========================================================= */

.jhb-standort-master.jsm-theme-tornowsee{
  --jsm-hero-overlay:
    linear-gradient(
      180deg,
      rgba(7,12,16,.56) 0%,
      rgba(8,14,18,.40) 24%,
      rgba(9,16,20,.28) 50%,
      rgba(10,17,21,.36) 74%,
      rgba(12,20,24,.54) 100%
    );
  --jsm-hero-radial:
    radial-gradient(920px 360px at 50% 18%, rgba(255,255,255,.08), transparent 68%),
    radial-gradient(700px 280px at 50% 76%, rgba(233,98,11,.06), transparent 74%),
    radial-gradient(560px 220px at 50% 0%, rgba(171,221,120,.10), transparent 72%);
  --jsm-hero-after:
    linear-gradient(
      180deg,
      rgba(249,248,242,0) 0%,
      rgba(249,248,242,0) 78%,
      rgba(249,248,242,.03) 92%,
      rgba(249,248,242,.07) 100%
    );
  --jsm-hero-overlay-mobile:
    linear-gradient(
      180deg,
      rgba(7,12,16,.62) 0%,
      rgba(8,14,18,.46) 28%,
      rgba(9,16,20,.32) 62%,
      rgba(10,17,21,.42) 100%
    );
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero{
  min-height: clamp(640px, 80vh, 880px);
  overflow: clip;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero::after{
  height: 112px;
  opacity: .5;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__inner{
  padding: 146px 0 134px;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero h1{
  max-width: 980px;
  margin: 0 auto 20px;
  text-align: center;
  text-shadow:
    0 18px 44px rgba(0,0,0,.34),
    0 6px 16px rgba(0,0,0,.22);
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title{
  gap: .14em;
  max-width: min(1040px, 100%);
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  text-wrap: balance;
  will-change: transform, opacity, filter;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top{
  font-size: clamp(2.35rem, 4.9vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.045em;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
  font-size: clamp(1.8rem, 3.6vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -.03em;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-lead{
  max-width: 820px;
  color: rgba(255,255,255,.96);
  text-shadow:
    0 6px 18px rgba(0,0,0,.34),
    0 14px 30px rgba(0,0,0,.18);
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions{
  margin-top: 36px;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions .jsm-btn{
  min-height: 56px;
  border-radius: 999px;
  box-shadow:
    0 14px 30px rgba(8,14,18,.24),
    0 4px 12px rgba(8,14,18,.14);
  will-change: transform, box-shadow;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-media img,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-image{
  object-position: center center;
  transform-origin: center center;
  will-change: transform, filter;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__inner{
  position: relative;
  z-index: 3;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero h1,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-lead,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-eyebrow,
.jhb-standort-master.jsm-theme-tornowsee .jsm-crumbs,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-lead,
.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions{
  opacity: 1;
  transform: none;
  filter: none;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-eyebrow,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-crumbs,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-hero-title__top,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-hero-title__bottom,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-hero .jsm-lead,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-motion-ready .jsm-hero__actions{
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: blur(8px);
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-crumbs{
  animation: jsmHeroRise .78s cubic-bezier(.2,.8,.2,1) .06s forwards;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-eyebrow{
  animation: jsmHeroRise .82s cubic-bezier(.2,.8,.2,1) .16s forwards;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero-title__top{
  animation:
    jsmHeroPop .98s cubic-bezier(.16,1,.3,1) .24s forwards,
    jsmHeroFloat 5.8s ease-in-out 1.45s infinite;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero-title__bottom{
  animation:
    jsmHeroPop .98s cubic-bezier(.16,1,.3,1) .40s forwards,
    jsmHeroFloat 6.4s ease-in-out 1.65s infinite;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero .jsm-lead{
  animation: jsmHeroRise .88s cubic-bezier(.2,.8,.2,1) .56s forwards;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero__actions{
  animation: jsmHeroRise .92s cubic-bezier(.2,.8,.2,1) .74s forwards;
}

.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero-media img,
.jhb-standort-master.jsm-theme-tornowsee.jsm-hero-animate-in .jsm-hero-image{
  animation: jsmHeroImageBreath 8.8s ease-in-out 1.2s infinite;
}

.jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions .jsm-btn:hover{
  transform: translateY(-2px) scale(1.015);
}

@keyframes jsmHeroRise{
  0%{
    opacity:0;
    transform:translate3d(0,18px,0);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
  }
}

@keyframes jsmHeroPop{
  0%{
    opacity:0;
    transform:translate3d(0,26px,0) scale(.94);
    filter:blur(10px);
  }
  60%{
    opacity:1;
    transform:translate3d(0,-3px,0) scale(1.012);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes jsmHeroFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-5px,0)}
}

@keyframes jsmHeroImageBreath{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.022)}
}

@media (max-width: 1180px){
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top{
    font-size: clamp(2.2rem, 5.2vw, 4.55rem);
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
    font-size: clamp(1.65rem, 4vw, 3.1rem);
  }
}

@media (max-width: 1024px){
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero{
    min-height: clamp(590px, 74vh, 760px);
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero__inner{
    padding: 124px 0 110px;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero h1{
    max-width: 860px;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top{
    font-size: clamp(2.15rem, 5vw, 4.25rem);
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
    font-size: clamp(1.65rem, 3.8vw, 2.95rem);
  }
}

@media (max-width: 767px){
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero{
    min-height: 560px;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero::after{
    height: 78px;
    opacity: .42;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero__inner{
    padding: 112px 0 96px;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero h1,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title{
    max-width:min(100%, 338px);
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title{
    gap: .12em;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
    width:100%;
    max-width:100%;
    white-space:normal;
    text-wrap:balance;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top{
    font-size: clamp(1.9rem, 9vw, 2.7rem);
    line-height: .98;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom{
    font-size: clamp(1.45rem, 6.6vw, 2.05rem);
    line-height: 1.04;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-lead{
    max-width: 31ch;
  }
}

@media (prefers-reduced-motion: reduce){
  .jhb-standort-master.jsm-theme-tornowsee .jsm-eyebrow,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-crumbs,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__top,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-title__bottom,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero .jsm-lead,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero__actions{
    opacity:1;
    transform:none;
    filter:none;
    animation:none !important;
  }

  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-media img,
  .jhb-standort-master.jsm-theme-tornowsee .jsm-hero-image{
    animation:none !important;
    transform:none !important;
  }
}

/* =========================================================
   CTA PREMIUM – Hero Primary Button
   ========================================================= */

@keyframes jsmCtaPulsePremium{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:
      0 12px 28px rgba(var(--jsm-accent-rgb),.22),
      0 0 0 0 rgba(var(--jsm-accent-rgb),.14);
  }
  50%{
    transform:translateY(-2px) scale(1.025);
    box-shadow:
      0 18px 40px rgba(var(--jsm-accent-rgb),.30),
      0 0 0 10px rgba(var(--jsm-accent-rgb),0);
  }
}

.jhb-standort-master .jsm-hero__actions .jsm-btn--primary{
  position:relative;
  isolation:isolate;
  box-shadow:0 12px 28px rgba(var(--jsm-accent-rgb),.22);
  animation:jsmCtaPulsePremium 2.8s ease-in-out infinite;
}

.jhb-standort-master .jsm-hero__actions .jsm-btn--primary::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle, rgba(var(--jsm-accent-rgb),.12) 0%, rgba(var(--jsm-accent-rgb),0) 70%);
  opacity:.9;
}

.jhb-standort-master .jsm-hero__actions .jsm-btn--primary:hover,
.jhb-standort-master .jsm-hero__actions .jsm-btn--primary:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(var(--jsm-accent-rgb),.34);
  animation-play-state:paused;
}

.jhb-standort-master .jsm-hero__actions .jsm-btn--primary:hover::before,
.jhb-standort-master .jsm-hero__actions .jsm-btn--primary:focus-visible::before{
  opacity:1;
}

@media (prefers-reduced-motion: reduce){
  .jhb-standort-master .jsm-hero__actions .jsm-btn--primary{
    animation:none !important;
  }
}
