
:root{
  --hero-p:0;
  --bg:#f1f7fb;
  --blue:#023e66;
  --blue2:#0b527f;
  --white:#fff;
  --muted:rgba(2,62,102,.64);
  --line:rgba(2,62,102,.11);
  --max:1400px;
  --ease:cubic-bezier(.22,.75,.22,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%}
html,body{margin:0;padding:0}
body{font-family:Roboto,Arial,sans-serif;color:var(--blue);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;width:100%;position:relative}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(var(--max),calc(100% - 64px));margin:0 auto}
.bg-wash{position:fixed;inset:0;z-index:-1;background:var(--bg)}
/* Seiten mit durchgehendem Scroll-Farbverlauf: Sektionen transparent, Farbe kommt vom .bg-wash */
.wash-flow [data-bg]:not(.hero),.wash-flow .bg-blue:not(.hero),.wash-flow .bg-white:not(.hero){background:transparent}

/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:transparent;transition:.3s var(--ease)}
.header-inner{width:min(1680px,80vw);min-height:92px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}
.site-header.is-scrolled{background:rgba(241,247,251,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 32px rgba(2,62,102,.05)}
.site-header.is-scrolled .header-inner{min-height:74px}
.brand{justify-self:start;width:164px}.brand img{width:164px}
.nav{justify-self:center;display:flex;align-items:center;gap:30px}
.nav a{font-size:15px;font-weight:500;position:relative;padding:34px 0;white-space:nowrap;transition:color .2s var(--ease)}
.nav>a::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav>a:hover::after{transform:scaleX(1)}
.nav-item{position:relative}
.nav-trigger{position:relative;background:none;border:0;padding:34px 0;margin:0;font:inherit;font-size:15px;font-weight:500;color:inherit;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap}
.nav-trigger::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-item:hover .nav-trigger::after,.nav-item:focus-within .nav-trigger::after{transform:scaleX(1)}
.nav-trigger .caret{width:11px;height:11px;transition:.2s var(--ease)}
.nav-item:hover .caret,.nav-item:focus-within .caret{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% - 14px);left:50%;transform:translateX(-50%) translateY(8px);width:680px;max-width:calc(100vw - 40px);overflow:hidden;align-items:stretch;background:#fff;border-radius:18px;box-shadow:0 30px 64px rgba(2,62,102,.18);padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s var(--ease);display:grid;grid-template-columns:1fr 280px;gap:24px}
.nav-item:hover .dropdown-menu,.nav-item:focus-within .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-eyebrow{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(2,62,102,.4);margin:2px 12px 8px}
.mega-links{display:flex;flex-direction:column}
.mega-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-radius:10px;transition:.18s var(--ease)}
.mega-links a:hover{background:var(--bg)}
.mega-links a span{display:block}
.mega-links a strong{display:block;font-size:14px;font-weight:500;color:var(--blue)}
.mega-links a small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:rgba(2,62,102,.5);line-height:1.4}
.mega-links a b{font-weight:400;font-size:15px;color:rgba(2,62,102,.32);transition:.18s var(--ease)}
.mega-links a:hover b{color:var(--blue);transform:translateX(3px)}
.mega-promo{position:relative;border-radius:12px;overflow:hidden;display:block;min-height:250px}
.mega-promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s var(--ease)}
.mega-promo:hover img{transform:scale(1.06)}
.mega-promo::after{content:"";position:absolute;inset:0;background:linear-gradient(190deg,rgba(2,62,102,.08) 30%,rgba(2,62,102,.92) 100%)}
.mega-promo-content{position:absolute;left:16px;right:16px;bottom:16px;color:#fff;z-index:2}
.mega-promo-content span{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:8px}
.mega-promo-content strong{display:block;font-size:15px;font-weight:500;line-height:1.35}
.mega-promo-content em{display:block;margin-top:10px;font-style:normal;font-size:18px;transition:.2s var(--ease)}
.mega-promo:hover .mega-promo-content em{transform:translateX(4px)}
.header-actions{justify-self:end;display:flex;align-items:center;gap:18px}
.phone{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:500}.phone svg{width:17px;height:17px}
.btn{min-height:50px;padding:0 20px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;position:relative;overflow:hidden;transition:.25s var(--ease)}
.btn-primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}
.btn-secondary{background:transparent;color:var(--blue);border:1px solid rgba(2,62,102,.28)}
.btn:hover{transform:translateY(-2px)}
.btn-secondary:hover{background:var(--blue);color:#fff}
.head-btn::before{content:"";position:absolute;inset:0 auto 0 -42%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-18deg);animation:shine 3.6s var(--ease) infinite}
@keyframes shine{0%,62%{left:-42%}78%,100%{left:115%}}

/* hero */
.hero{--hero-p:0;background:rgb(calc(241 + 14*var(--hero-p)),calc(247 + 8*var(--hero-p)),calc(251 + 4*var(--hero-p)))}
.hero-inner{
  width:min(var(--max),calc(100% - 64px));
  min-height:auto;
  margin:auto;
  padding:clamp(164px,18vh,210px) 0 clamp(18px,2.2vh,30px);
  text-align:center;
  display:flex;
  flex-direction:column;
}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:rgba(2,62,102,.54);margin-bottom:18px}
.hero h1{max-width:1120px;margin:0 auto;font-size:clamp(40px,4.45vw,64px);line-height:1.04;letter-spacing:-.04em;font-weight:400}
.hero h1 span{display:block;white-space:nowrap}
.hero-sub{max-width:650px;margin:22px auto 0;font-size:15px;line-height:1.7;color:var(--muted)}
.hero-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:26px;
  margin-bottom:clamp(16px,2vh,24px);
}

/* hero reference */
.hero-reference{position:relative;width:100vw;left:50%;transform:translateX(-50%);margin-top:58px}
.hero-stage{overflow:visible;padding:74px 0 60px;cursor:grab;touch-action:pan-y;user-select:none}
.hero-stage.dragging{cursor:grabbing}
/* Edge vignette for carousels with few unique cards (hides the tripled-clone
   repeat at the far edges). Must live on .hero-stage, which never moves —
   NOT on .hero-track, which is transformed per active card: a mask's %
   values resolve against its own element's box, so on the moving track the
   "window" would stay pinned to a fixed point in the card strip instead of
   the viewport center, drifting out of sync as the track slides. The extra
   padding + equal negative margin give the box (and so the mask's clip
   region) room for the active card's box-shadow without shifting layout. */
.hero-stage.carousel-fade{padding:214px 0 200px;margin:-140px 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent calc(50% - 720px),#000 calc(50% - 520px),#000 calc(50% + 520px),transparent calc(50% + 720px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,transparent calc(50% - 720px),#000 calc(50% - 520px),#000 calc(50% + 520px),transparent calc(50% + 720px),transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media(min-width:768px) and (max-height:820px){.hero-stage.carousel-fade{padding-top:210px;padding-bottom:188px}}
.hero-track{display:flex;gap:11px;align-items:flex-end;width:max-content;will-change:transform}
.sold-card{width:320px;min-width:320px;border-radius:10px;overflow:hidden;background:#fff;opacity:.24;filter:blur(3.4px);transform:translateY(7px) scale(.82);transition:opacity .56s var(--ease),filter .56s var(--ease),transform .56s var(--ease),box-shadow .56s var(--ease),outline-width .56s var(--ease),outline-color .56s var(--ease);box-shadow:0 12px 30px rgba(2,62,102,.04)}
.sold-card.active{opacity:1;filter:none;transform:translateY(-6px) scale(1.06);outline:2px solid var(--blue);outline-offset:7px;box-shadow:0 30px 66px rgba(2,62,102,.15);z-index:3;margin-inline:10px}
.sold-card img{width:100%;height:195px;object-fit:cover}
.sold-card>div{padding:14px 17px 16px;text-align:left}.sold-card strong{display:block;font-size:15px;font-weight:500}.sold-card span{font-size:11px;color:rgba(2,62,102,.5)}
.sale-badge{position:absolute;left:50%;top:-14px;z-index:5;padding:8px 16px 9px;min-width:140px;border-radius:8px;background:var(--blue);color:#fff;text-align:center;opacity:0;transform:translate(-50%,8px) rotate(-3deg) scale(.9);transform-origin:50% 100%;box-shadow:0 14px 34px rgba(2,62,102,.18)}
.sale-badge.show{opacity:1;transform:translate(-50%,0) rotate(-3deg) scale(1)}
.sale-badge.ring{animation:bell .72s cubic-bezier(.36,.07,.19,.97)}
.sale-badge::after{content:"";position:absolute;left:50%;bottom:-11px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid var(--blue);transform:translateX(-50%)}
.sale-badge small{display:block;font-size:10px;color:rgba(255,255,255,.78);margin-bottom:2px}.sale-badge strong{font-size:17px;font-weight:500}
@keyframes bell{0%{transform:translate(-50%,0) rotate(-3deg)}14%{transform:translate(-50%,0) rotate(5deg)}28%{transform:translate(-50%,0) rotate(-7deg)}42%{transform:translate(-50%,0) rotate(4deg)}56%{transform:translate(-50%,0) rotate(-5deg)}72%{transform:translate(-50%,0) rotate(1deg)}100%{transform:translate(-50%,0) rotate(-3deg)}}

/* transitions */
.personal-section{--p:0;background:rgb(calc(241 + 14*var(--p)),calc(247 + 8*var(--p)),calc(251 + 4*var(--p)));padding:72px 0 66px}
.personal-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:82px;align-items:center}
.personal-grid.mirror{grid-template-columns:1.14fr .86fr}
.kicker{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(2,62,102,.48)}
.personal-copy h2,.section-head h2{margin:0;font-size:clamp(38px,4.2vw,60px);line-height:1.06;letter-spacing:-.038em;font-weight:400}
.personal-copy .kicker{margin-bottom:16px}
.personal-copy p{font-size:15px;line-height:1.8;color:var(--muted);max-width:560px}
.personal-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;font-weight:500}
.personal-visual{position:relative;min-height:470px}
.personal-photo-wrap{width:88%;margin-left:auto;border-radius:14px;overflow:hidden;box-shadow:0 22px 58px rgba(2,62,102,.1)}
.personal-photo-wrap img{width:100%;height:470px;object-fit:cover;object-position:center top}
.personal-bubble{position:absolute;z-index:3;background:var(--blue);color:#fff;padding:14px 16px;border-radius:10px;min-width:166px;box-shadow:0 12px 30px rgba(2,62,102,.17)}
.personal-bubble strong{display:block;font-size:21px;font-weight:500}.personal-bubble span{display:block;margin-top:4px;font-size:9px;color:rgba(255,255,255,.74)}
.pb1{top:26px;left:0}.pb2{top:42%;right:-4px}.pb3{bottom:22px;left:5%}

/* partners */
.partners{background:#fff;padding:54px 0 18px}
.partners-label{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(2,62,102,.36);margin-bottom:20px}
.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:38px}
.partner-logo{min-height:88px;display:flex;align-items:center;justify-content:center}
.partner-logo img{max-width:120px;max-height:54px;object-fit:contain;filter:grayscale(1);opacity:.46;transition:.25s var(--ease)}
.partner-logo:hover img{opacity:.82;transform:translateY(-3px)}

/* services */
.services{position:relative;background:#fff;padding:76px 0 92px}
.section-head{display:grid;grid-template-columns:.62fr 1.38fr;gap:70px;align-items:end;margin-bottom:34px}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:24px;min-height:92px;border-bottom:1px solid var(--line);transition:.2s var(--ease)}
.service-row:hover{background:#f8fbfd;padding-left:8px}
.service-num{font-size:10px;color:rgba(2,62,102,.34)}
.service-copy strong{display:block;font-size:20px;font-weight:400;margin-bottom:4px}.service-copy span{font-size:11px;color:rgba(2,62,102,.54)}
.service-arrow{font-size:18px}
.services::after{content:none}

/* offers */
.offers{
  position:relative;
  margin-top:0;
  background:var(--bg);
  color:var(--blue);
  padding:86px 0 104px;
  overflow:hidden;
}
.section-head.light .kicker{color:rgba(2,62,102,.48)}.section-head.light h2{color:var(--blue)}
.full-slider{width:100vw}
.slider-viewport{overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;padding:8px 0 52px}.slider-viewport.dragging{cursor:grabbing}
.slider-track{display:flex;gap:22px;width:max-content;padding-left:max(32px,calc((100vw - var(--max))/2));padding-right:32px;will-change:transform}
.offer-card{width:420px;min-width:420px;background:#fff;color:var(--blue);border-radius:12px;overflow:hidden;box-shadow:0 22px 52px rgba(2,62,102,.11)}
.offer-card img{width:100%;height:250px;object-fit:cover}.offer-body{padding:17px 18px 19px}.offer-body span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(2,62,102,.48)}.offer-body h3{font-size:19px;font-weight:400;margin:6px 0 10px}.offer-body small{font-size:10px;color:rgba(2,62,102,.58)}
.slider-nav{width:min(var(--max),calc(100% - 64px));margin:16px auto 0;display:flex;align-items:center;gap:22px}
.slider-progress{flex:1;height:2px;background:rgba(2,62,102,.12);overflow:hidden}.slider-progress span{display:block;width:20%;height:100%;background:var(--blue);transition:transform .35s var(--ease)}
.nav-buttons{display:flex;gap:10px}.nav-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(2,62,102,.18);background:#fff;color:var(--blue);cursor:pointer;box-shadow:0 8px 22px rgba(2,62,102,.05)}.nav-btn:hover{background:var(--blue);color:#fff}
.offers::after{content:none}

/* guide */
.guide{margin-top:0;background:#fff;padding:86px 0 104px}
.guide-head{grid-template-columns:.62fr 1fr auto}
.guide-all-link{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--blue);white-space:nowrap}
.guide-all-link span{transition:.2s var(--ease)}
.guide-all-link:hover span{transform:translateX(4px)}
.guide-track .guide-card{width:430px;min-width:430px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(2,62,102,.06);transition:.25s var(--ease)}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(2,62,102,.1)}
.guide-card .thumb{height:250px;overflow:hidden}
.guide-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.4s var(--ease)}
.guide-card:hover .thumb img{transform:scale(1.05)}
.guide-card .body{padding:20px 22px 24px}
.guide-card .body span{display:inline-flex;padding:5px 8px;border-radius:3px;background:var(--bg);color:var(--blue);font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.guide-card h3{margin:12px 0 0;font-size:19px;line-height:1.25;font-weight:400;color:var(--blue)}
.dark-nav .slider-progress{background:rgba(2,62,102,.12)}.dark-nav .slider-progress span{background:var(--blue)}.dark-nav .nav-btn{border-color:rgba(2,62,102,.18);background:#fff;color:var(--blue)}.dark-nav .nav-btn:hover{background:var(--blue);color:#fff}

/* footer */
.footer{background:var(--blue);color:#fff;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:60px}.footer img{width:170px;filter:brightness(0) invert(1)}.footer p,.footer a,.footer-grid>div>span{display:block;color:rgba(255,255,255,.66);font-size:11px;line-height:1.7}.footer strong{display:block;margin-bottom:10px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.footer-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:10px;color:rgba(255,255,255,.46)}
.footer-sitemap{margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.footer-sitemap a{white-space:normal}
@media(max-width:900px){.footer-sitemap{grid-template-columns:1fr 1fr;gap:26px 36px}}
@media(max-width:600px){.footer-sitemap{grid-template-columns:1fr}}

/* reveal */
.section-reveal{opacity:0;transform:translateY(18px);transition:opacity .68s var(--ease),transform .68s var(--ease)}.section-reveal.in-view{opacity:1;transform:none}
body:not(.page-ready) .reveal-now{opacity:0;transform:translateY(14px)}.reveal-now{transition:opacity .62s var(--ease),transform .62s var(--ease)}

@media(max-width:1260px){
  .nav{gap:22px}.nav a,.nav-trigger{font-size:14px}.phone span{display:none}
  .dropdown-menu{grid-template-columns:1fr;width:280px}.mega-promo{display:none}
}
@media(max-width:1080px){
  .header-inner{width:90vw;grid-template-columns:auto 1fr auto}.nav{gap:20px}.nav a,.nav-trigger{font-size:13px}.nav-trigger{padding:26px 0}.phone span{display:none}
  .personal-grid,.personal-grid.mirror,.section-head,.footer-grid{grid-template-columns:1fr;gap:22px}
  .partners-grid{grid-template-columns:repeat(3,1fr)}
  .hero h1 span{white-space:normal}
}
@media(max-width:767px){
  .header-inner{width:calc(100% - 28px);grid-template-columns:auto auto;min-height:74px}.nav,.head-btn{display:none}.brand{width:135px}.brand img{width:135px}
  .shell,.hero-inner{width:calc(100% - 28px)}
  .hero{min-height:auto}
  .hero-inner{min-height:auto;padding:126px 0 40px}.hero h1{font-size:38px}.hero h1 span{white-space:normal}.hero-sub{font-size:14px}.hero-actions{flex-direction:column;margin-bottom:14px}.hero-actions .btn,.hero-actions .wp-block-buttons,.hero-actions .wp-block-button,.hero-actions .wp-block-button__link{width:100%}
  .hero-reference{margin-top:58px}
  .hero-stage{padding:70px 0 30px}
  .sold-card{width:64vw;min-width:64vw}.sold-card img{height:150px}
  .personal-section,.services,.offers,.guide{padding-top:66px;padding-bottom:72px}
  .personal-photo-wrap{width:100%}.personal-photo-wrap img{height:410px}.personal-visual{min-height:410px}.personal-bubble{min-width:142px;padding:11px 13px}.personal-bubble strong{font-size:18px}
  .partners-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .service-row{grid-template-columns:42px 1fr;gap:12px}.service-arrow{display:none}
  .services::after,.offers::after{content:none}.offers,.guide{margin-top:0}
  .slider-track{padding-left:14px;padding-right:14px;gap:14px}.offer-card{width:78vw;min-width:78vw}.offer-card img{height:220px}.guide-track .guide-card{width:82vw;min-width:82vw}.guide-card .thumb{height:200px}.slider-nav{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


@media (min-width:768px) and (max-height:820px){
  .hero-inner{
    padding-top:132px;
    padding-bottom:10px;
  }
  .hero h1{font-size:clamp(38px,4.1vw,58px)}
  .hero-sub{margin-top:16px}
  .hero-actions{
    margin-top:20px;
    margin-bottom:13px;
  }
  .hero-stage{padding-top:70px;padding-bottom:48px}
  .sold-card{width:290px;min-width:290px}
  .sold-card img{height:168px}
}

/* Property card details */
.offer-image{position:relative;overflow:hidden}.offer-status{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:3px;background:var(--blue);color:#fff;font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.offer-location{display:flex;align-items:center;gap:7px;color:rgba(2,62,102,.56);font-size:11px}.offer-body h3{font-size:20px;line-height:1.2;font-weight:400;margin:9px 0 15px}.offer-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.offer-facts>div{padding:12px 9px 12px 0}.offer-facts>div+div{border-left:1px solid var(--line);padding-left:9px}.offer-facts small,.offer-facts strong{display:block}.offer-facts small{font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:rgba(2,62,102,.42);margin-bottom:3px}.offer-facts strong{font-size:10px;font-weight:500}.offer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px}.offer-price{font-size:20px;font-weight:500}.offer-expose{min-height:40px;padding:0 14px;border-radius:3px;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:500}.offer-expose:hover{background:var(--blue2)}@media(max-width:767px){.offer-facts{grid-template-columns:1fr}.offer-facts>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.offer-bottom{align-items:flex-start;flex-direction:column}.offer-expose{width:100%}}


/* region map */
.region-map{
  background:var(--bg);
  padding:92px 0 0;
  overflow:visible;
  position:relative;
}
.region-map-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:76px;
  align-items:center;
}
.region-copy{
  max-width:560px;
}
.region-copy .kicker{
  margin-bottom:15px;
}
.region-copy h2{
  margin:0;
  font-size:clamp(38px,4.1vw,58px);
  line-height:1.06;
  letter-spacing:-.038em;
  font-weight:400;
}
.region-copy p{
  margin:22px 0 0;
  max-width:540px;
  color:var(--muted);
  font-size:14px;
  line-height:1.78;
}
.region-city-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px;
}
.region-city-links a{
  padding:7px 10px;
  border-radius:3px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(2,62,102,.08);
  color:rgba(2,62,102,.70);
  font-size:10px;
  font-weight:500;
  transition:.2s var(--ease);
}
.region-city-links a:hover{
  color:#fff;
  background:var(--blue);
  border-color:var(--blue);
  transform:translateY(-2px);
}
.region-cta{
  margin-top:28px;
}

.region-visual{
  min-width:0;
  display:flex;
  justify-content:flex-end;
}
.region-map-card{
  position:relative;
  width:100%;
  max-width:660px;
  aspect-ratio:1/1;
  margin-bottom:-64px;
  z-index:5;
}
.region-svg{
  width:100%;
  height:100%;
  min-height:520px;
  overflow:visible;
}
.region-shape{
  fill:rgba(2,62,102,.035);
  stroke:rgba(2,62,102,.62);
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
}
.pfalz-shape{
  fill:rgba(2,62,102,.025);
}
.region-connection{
  fill:none;
  stroke:rgba(2,62,102,.16);
  stroke-width:1.6;
  stroke-dasharray:7 8;
}
.region-connection.thin{
  stroke-width:1;
  stroke-dasharray:3 7;
  opacity:.65;
}
.city-marker{
  color:var(--blue);
  cursor:pointer;
}
.marker-pulse{
  fill:rgba(2,62,102,.08);
  transform-origin:center;
  animation:regionPulse 2.8s ease-out infinite;
}
.marker-dot{
  fill:var(--blue);
  stroke:#fff;
  stroke-width:2.2;
}
.city-marker text{
  fill:var(--blue);
  font-family:Roboto,Arial,sans-serif;
  font-size:13px;
  font-weight:500;
  paint-order:stroke;
  stroke:rgba(241,247,251,.90);
  stroke-width:4px;
  stroke-linejoin:round;
}
@keyframes regionPulse{
  0%{transform:translate(-50%,-50%) scale(.65);opacity:.55}
  60%{transform:translate(-50%,-50%) scale(1.35);opacity:.10}
  100%{transform:translate(-50%,-50%) scale(1.55);opacity:0}
}

/* Region map: dotted-outline SVG (exact trace of source artwork) + HTML pin markers */
.region-map-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  user-select:none;
}
.city-marker-pin{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:7px;
  transform:translate(-50%,-50%);
  text-decoration:none;
  cursor:pointer;
}
.city-marker-pin .marker-pulse{
  position:absolute;
  left:50%;
  top:50%;
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(2,62,102,.10);
  animation:regionPulse 2.8s ease-out infinite;
}
.city-marker-pin .marker-dot{
  position:relative;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--blue);
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(2,62,102,.28);
  flex:none;
  transition:.2s var(--ease);
}
.city-marker-pin .marker-label{
  font-size:12px;
  font-weight:500;
  color:var(--blue);
  white-space:nowrap;
  background:rgba(241,247,251,.86);
  padding:3px 8px;
  border-radius:4px;
  transition:.2s var(--ease);
}
.city-marker-pin:hover .marker-dot{
  transform:scale(1.2);
}
.city-marker-pin:hover .marker-label{
  background:var(--blue);
  color:#fff;
}
.region-map.section-reveal.in-view .city-marker-pin{
  animation:regionMarkerIn .42s var(--ease) both;
}
.region-map.section-reveal.in-view .city-marker-pin:nth-of-type(1){animation-delay:.18s}
.region-map.section-reveal.in-view .city-marker-pin:nth-of-type(2){animation-delay:.26s}
.region-map.section-reveal.in-view .city-marker-pin:nth-of-type(3){animation-delay:.34s}
.region-map.section-reveal.in-view .city-marker-pin:nth-of-type(4){animation-delay:.42s}
.region-map.section-reveal.in-view .city-marker-pin:nth-of-type(5){animation-delay:.50s}
@media(max-width:767px){
  .city-marker-pin .marker-label{font-size:10.5px;padding:2px 6px}
}

/* map reveal details */
.region-map.section-reveal.in-view .region-shape{
  animation:regionDraw .95s var(--ease) both;
}
.region-map.section-reveal.in-view .city-marker{
  animation:regionMarkerIn .42s var(--ease) both;
}
.region-map.section-reveal.in-view .city-marker:nth-of-type(1){animation-delay:.18s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(2){animation-delay:.24s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(3){animation-delay:.30s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(4){animation-delay:.36s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(5){animation-delay:.42s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(6){animation-delay:.48s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(7){animation-delay:.54s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(8){animation-delay:.60s}
.region-map.section-reveal.in-view .city-marker:nth-of-type(9){animation-delay:.66s}

@keyframes regionDraw{
  from{opacity:.15;stroke-dasharray:1200;stroke-dashoffset:1200}
  to{opacity:1;stroke-dasharray:1200;stroke-dashoffset:0}
}
@keyframes regionMarkerIn{
  from{opacity:0;transform:translateY(6px) scale(.88)}
  to{opacity:1;transform:none}
}

@media(max-width:1080px){
  .region-map-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .region-copy{
    max-width:760px;
  }
  .region-visual{
    justify-content:center;
  }
}
@media(max-width:767px){
  .region-map{
    padding:60px 0 0;
  }
  .region-copy h2{
    font-size:34px;
  }
  .region-map-card{
    max-width:400px;
    margin-bottom:-40px;
  }
  .city-marker text{
    font-size:11px;
  }
  .region-city-links{
    gap:6px;
  }
}

/* Service pages (Verkaufen / Bewerten / Vermieten) */
.svc-hero{background:var(--bg);padding:150px 0 70px}
.svc-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}
.svc-hero h1{margin:0;font-size:clamp(32px,3.6vw,48px);line-height:1.12;letter-spacing:-.03em;font-weight:400}
.svc-hero .svc-lead{max-width:none;margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.svc-hero .btn{margin-top:26px}.svc-hero .wp-block-buttons{margin-top:26px}
.svc-hero-trust{display:flex;gap:26px;margin-top:32px;flex-wrap:wrap}
.svc-hero-trust div strong{display:block;font-size:20px;font-weight:500;color:var(--blue)}
.svc-hero-trust div span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.svc-photo{margin:0 0 84px;border-radius:16px;overflow:hidden;height:320px;box-shadow:0 20px 50px rgba(2,62,102,.08)}
.svc-photo img{width:100%;height:100%;object-fit:cover}
.svc-agent{margin:0 0 84px;display:flex;align-items:center;gap:22px;padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff}
.svc-agent img{width:74px;height:74px;border-radius:50%;object-fit:cover;flex:none}
.svc-agent strong{display:block;font-size:16px;font-weight:500}
.svc-agent p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.6}

.svc-agent-rich{align-items:center;padding:28px 32px;gap:26px}
.svc-agent-rich img{width:96px;height:96px;border:3px solid var(--blue)}
.agent-kicker{display:inline-block;padding:6px 14px;border-radius:20px;background:var(--bg);color:var(--blue);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.svc-agent-rich strong.agent-name{display:block;font-size:26px;font-weight:500;color:var(--blue);margin-bottom:10px}
.svc-agent-rich p{margin:0;font-size:14px;line-height:1.7}
.agent-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.agent-point{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg);color:var(--blue);font-size:12px;font-weight:500}
.agent-point svg{width:13px;height:13px;flex:none}
@media(max-width:600px){.svc-agent-rich{padding:24px}.svc-agent-rich img{width:80px;height:80px}}
@media(max-width:980px){.svc-hero-grid{grid-template-columns:1fr}.personal-visual.svc-hero-visual{min-height:340px}.personal-photo-wrap.svc-hero-photo-wrap{width:100%}.personal-photo-wrap.svc-hero-photo-wrap img{height:340px}}

/* Process tabs (step-by-step explainer) */
.process-tabs{margin:84px auto 0}
.process-tabs-head{text-align:center;margin:0 auto 44px;max-width:600px}
.process-tabs-head .kicker{display:flex;justify-content:center}
.process-tabs-head h3{margin:8px 0 0;font-size:clamp(30px,3.6vw,44px);line-height:1.1;font-weight:400;letter-spacing:-.03em;color:var(--blue)}
.process-tabs-nav{position:relative;display:flex;justify-content:space-between;padding:0 4px}
.process-tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;background:none;border:0;padding:0 0 22px;cursor:pointer;font-family:inherit}
.process-tab-icon{color:rgba(2,62,102,.38);display:flex;align-items:center;justify-content:center;transition:color .3s var(--ease)}
.process-tab-icon svg{width:25px;height:25px}
.process-tab span:last-child{font-size:12px;font-weight:500;color:rgba(2,62,102,.48);transition:color .3s var(--ease);text-align:center;white-space:nowrap}
.process-tab:hover .process-tab-icon{color:var(--blue)}
.process-tab.active .process-tab-icon{color:var(--blue)}
.process-tab.active span:last-child{color:var(--blue)}
.process-tabs-track{position:relative;height:1px;background:var(--line);margin:0 4px 44px}
.process-tabs-track-fill{position:absolute;left:0;top:0;height:1px;background:var(--blue);width:0;transition:width .45s var(--ease)}
.process-tabs-track-dot{position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--line);transform:translate(-50%,-50%);transition:.3s var(--ease)}
.process-tabs-track-dot.active{background:var(--blue);width:9px;height:9px}
.process-tabs-panel{display:flex;gap:44px}
.process-tabs-media{flex:0 0 42%;min-height:280px;position:relative;overflow:hidden;border-radius:6px}
.process-tabs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .4s var(--ease)}
.process-tabs-media img.is-visible{opacity:1}
.process-tabs-body{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}
.process-tabs-step{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(2,62,102,.42);margin-bottom:10px}
.process-tabs-body h4{margin:0 0 12px;font-size:23px;font-weight:500;color:var(--blue)}
.process-tabs-body p{margin:0;font-size:14px;line-height:1.75;color:var(--muted)}
.process-tabs-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}
.process-tabs-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s var(--ease)}
.process-tabs-arrow svg{width:16px;height:16px}
.process-tabs-arrow:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.process-tabs-count{font-size:13px;color:var(--muted);min-width:64px;text-align:center}
@media(max-width:820px){
  .process-tabs-panel{flex-direction:column;gap:24px}
  .process-tabs-media{flex:none;width:100%;height:220px;min-height:0}
}
@media(max-width:600px){
  .process-tabs-nav{overflow-x:auto;justify-content:flex-start;gap:26px;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .process-tab{flex:none;min-width:56px}
  .process-tabs-track{display:none}
}
@media(max-width:600px){.svc-agent{flex-direction:column;text-align:center}}
.svc-main{padding:84px 0 0}
.svc-block{margin:0 0 84px}
.svc-block>p{max-width:760px}
.svc-block h2{margin:0 0 18px;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-.03em;font-weight:400}
.svc-block>p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 16px}
.svc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 0}
.svc-card{padding:20px;border:1px solid var(--line);border-radius:12px}
.svc-card strong{display:block;font-size:15px;font-weight:500}
.svc-card span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}
.svc-steps{counter-reset:svc-step;margin-top:26px}
.svc-step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.svc-step:last-child{border-bottom:1px solid var(--line)}
.svc-step::before{counter-increment:svc-step;content:counter(svc-step,decimal-leading-zero);font-size:13px;font-weight:500;color:rgba(2,62,102,.32)}
.svc-step strong{display:block;font-size:15px;font-weight:500;margin-bottom:5px}
.svc-step span{display:block;color:var(--muted);font-size:13px;line-height:1.65}
.svc-faq{max-width:900px;margin:0 auto}
.svc-faq details{padding:18px 0;border-top:1px solid var(--line)}
.svc-faq details:last-child{border-bottom:1px solid var(--line)}
.svc-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:15px;font-weight:500}
.svc-faq summary::-webkit-details-marker{display:none}
.svc-faq summary::after{content:"+";font-size:19px;flex:none}
.svc-faq details[open] summary::after{content:"–"}
.svc-faq p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.svc-cta{margin:0 0 84px;padding:34px;border-radius:14px;background:var(--blue);color:#fff;text-align:center}
.svc-cta h2{margin:0 0 10px;color:#fff;font-size:26px;font-weight:400}
.svc-cta p{margin:0 0 18px;color:rgba(255,255,255,.76);font-size:13px}
@media(max-width:1100px){.svc-cards{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.svc-hero{padding:120px 0 48px}.svc-hero h1{font-size:32px}.svc-main{padding:56px 0 0}.lp-section{padding:56px 0}.svc-block,.svc-photo,.svc-agent,.faq-contact{margin-bottom:56px}.svc-cards{grid-template-columns:1fr}}

/* Fluid section background transitions (reusable, multiple per page) */
.fade-blue-white{--p:0;background:rgb(calc(241 + 14*var(--p)),calc(247 + 8*var(--p)),calc(251 + 4*var(--p)))}
.fade-white-blue{--p:0;background:rgb(calc(255 - 14*var(--p)),calc(255 - 8*var(--p)),calc(255 - 4*var(--p)))}

/* Landing-page sections (Verkaufen / Bewerten / Vermieten) */
.lp-section{padding:84px 0}
/* Uniform section rhythm override — matches .lp-section's own top/bottom
   spacing (84px, 56px on mobile) for sections that otherwise ship with
   their own asymmetric padding (.partners, .guide), so every section on
   the page reads with the same, consistent breathing room. */
.section-pad-84{padding:84px 0}
@media(max-width:767px){.section-pad-84{padding:56px 0}}
/* .guide's heading (.section-head/.guide-head grid) sits ~13px closer to
   its own top edge than .lp-head does in every other section, so its
   section-to-heading gap fell short of the page's otherwise-uniform
   minimum. Compensate on padding-top only — padding-bottom stays 84px. */
.guide.section-pad-84{padding-top:97px}
@media(max-width:767px){.guide.section-pad-84{padding-top:69px}}
.lp-head{max-width:720px;margin:0 auto 44px;text-align:center}
.lp-head .kicker{justify-content:center}
.lp-head h2{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:400}
.lp-head p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7}

.sale-track .sale-card{width:290px;min-width:290px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 14px 34px rgba(2,62,102,.05);transition:.25s var(--ease)}
.sale-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(2,62,102,.09)}
.sale-card .thumb{height:160px;overflow:hidden}
.sale-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.45s var(--ease)}
.sale-card:hover .thumb img{transform:scale(1.06)}
.sale-card .body{padding:20px 20px 24px}
.sale-card b{display:block;font-size:11px;font-weight:500;color:rgba(2,62,102,.32);letter-spacing:.04em;margin-bottom:10px}
.sale-card strong{display:block;font-size:16px;font-weight:500;margin-bottom:8px}
.sale-card span{display:block;color:var(--muted);font-size:12.5px;line-height:1.6}

.compare-wrap{position:relative;max-width:1080px;margin:0 auto 84px;padding:52px 30px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-hl-overlay{position:absolute;z-index:0;top:22px;bottom:22px;background:var(--blue);border-radius:18px;box-shadow:0 6px 12px rgba(2,62,102,.18);pointer-events:none}
.compare-table{width:100%;min-width:600px;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(2,62,102,.07)}
.compare-table th,.compare-table td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;white-space:normal}
.compare-table th,.compare-table td{width:25%}
.compare-table tr:last-child td{border-bottom:0}
.compare-table thead th{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-top:22px}
.compare-table thead th.hl{position:relative;color:#fff;padding-top:22px}
.compare-logo{width:82px;margin:0 auto 6px;filter:brightness(0) invert(1)}
.compare-table td.hl,.compare-table th.hl{text-align:center}
.compare-table tbody td.hl{position:relative;border-bottom:1px solid rgba(255,255,255,.16)}
.compare-table tbody tr:last-child td.hl{border-bottom:0}
.compare-table .yes{color:var(--blue);font-weight:700;font-size:16px}
.compare-table td.hl.yes{color:#fff}
.compare-table .partial{color:rgba(2,62,102,.4);font-size:12px}
@media(max-width:600px){.compare-table{font-size:12px;min-width:560px}.compare-table th,.compare-table td{padding:12px 12px}}

/* Mobile hamburger menu */
.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative;z-index:1100;padding:0;flex:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--blue);margin:6px auto;transition:.3s var(--ease)}
.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mobile-overlay{position:fixed;inset:0;background:rgba(2,62,102,.42);z-index:1090;opacity:0;pointer-events:none;transition:.3s var(--ease)}
.mobile-overlay.show{opacity:1;pointer-events:auto}

.mobile-menu{position:fixed;top:0;right:-100%;width:min(360px,86vw);height:100vh;height:100dvh;background:#fff;z-index:1095;padding:96px 26px 32px;overflow-y:auto;transition:right .35s var(--ease);box-shadow:-24px 0 60px rgba(2,62,102,.16);display:flex;flex-direction:column}

.mobile-menu.show{right:0}
.mobile-nav{display:flex;flex-direction:column}
.mobile-menu a,.mobile-menu button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mobile-nav>a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;color:var(--blue)}
.mobile-nav-group{border-bottom:1px solid var(--line);padding:12px 2px}
.mobile-nav-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(2,62,102,.42);margin-bottom:8px}
.mobile-nav-group a{display:flex;align-items:center;gap:8px;padding:10px 10px;border-radius:8px;font-size:14px;color:var(--blue)}
.mobile-nav-group a.mobile-nav-highlight{background:var(--bg);font-weight:500}
.mobile-nav-group a.mobile-nav-highlight b{font-size:8px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--blue);color:#fff;padding:3px 7px;border-radius:20px}

.mobile-cta{display:flex;align-items:center;justify-content:center;margin-top:22px;min-height:52px;border-radius:4px;background:var(--blue);color:#fff;font-size:14px;font-weight:500;text-align:center;padding:8px 16px}
.mobile-phone{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;min-height:50px;border-radius:4px;border:1px solid var(--line);color:var(--blue);font-size:14px;font-weight:500}
.mobile-phone svg{width:18px;height:18px}
.mobile-social{display:flex;justify-content:center;gap:14px;margin-top:26px}
.mobile-social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue);transition:.2s var(--ease)}
.mobile-social a svg{width:18px;height:18px}
.mobile-social a:hover{background:var(--blue);color:#fff}

body.menu-open{overflow:hidden}
@media(max-width:767px){.menu-toggle{display:block}}

/* Suchprofil section + step animation */
.sp-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.sp-copy p{color:var(--muted);font-size:15px;line-height:1.8;margin:16px 0 0;max-width:480px}
.sp-facts{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap}
.sp-facts div strong{display:block;font-size:20px;font-weight:500;color:var(--blue)}
.sp-facts div span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.sp-card{background:#fff;border-radius:18px;padding:34px 30px;box-shadow:0 24px 60px rgba(2,62,102,.1)}
.sp-steps{position:relative}
.sp-steps::before{content:"";position:absolute;left:23px;top:28px;bottom:28px;width:2px;background:var(--line)}
.sp-steps::after{content:"";position:absolute;left:20px;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(2,62,102,.14);animation:sp-flow 8s linear infinite}
.sp-step{position:relative;display:flex;gap:16px;align-items:flex-start;padding:14px 0}
.sp-dot{position:relative;z-index:1;flex:none;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;animation:sp-pulse 8s ease infinite}
.sp-dot svg{width:20px;height:20px;animation:sp-icon 8s ease infinite}
.sp-step strong{display:block;font-size:13.5px;font-weight:500;margin-bottom:3px}
.sp-step span{display:block;font-size:12px;color:var(--muted);line-height:1.5}
.sp-step:nth-child(1) .sp-dot,.sp-step:nth-child(1) .sp-dot svg{animation-delay:0s}
.sp-step:nth-child(2) .sp-dot,.sp-step:nth-child(2) .sp-dot svg{animation-delay:2s}
.sp-step:nth-child(3) .sp-dot,.sp-step:nth-child(3) .sp-dot svg{animation-delay:4s}
.sp-step:nth-child(4) .sp-dot,.sp-step:nth-child(4) .sp-dot svg{animation-delay:6s}
@keyframes sp-pulse{
  0%,6%{background:#fff;border-color:var(--line);transform:scale(1)}
  12%,20%{background:var(--blue);border-color:var(--blue);transform:scale(1.08)}
  26%,100%{background:#fff;border-color:var(--line);transform:scale(1)}
}
@keyframes sp-icon{
  0%,6%{color:rgba(2,62,102,.4)}
  12%,20%{color:#fff}
  26%,100%{color:rgba(2,62,102,.4)}
}
@keyframes sp-flow{
  0%,2%{top:28px}
  98%,100%{top:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){.sp-dot,.sp-steps::after{animation:none}}
@media(max-width:980px){.sp-grid{grid-template-columns:1fr}}

/* FAQ contact card */
.faq-contact{max-width:900px;margin:32px auto 0;display:flex;align-items:center;gap:24px;padding:26px 30px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px rgba(2,62,102,.07);flex-wrap:wrap}
.faq-contact-left{display:flex;align-items:center;gap:18px;flex:1;min-width:260px}
.faq-contact-left img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.faq-contact-left strong{display:block;font-size:16px;font-weight:500}
.faq-contact-left p{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6;max-width:420px}
.faq-contact-phone{flex:none;display:block;text-align:center;padding:14px 28px;border:1px solid var(--blue);border-radius:10px;transition:.2s var(--ease)}
.faq-contact-phone span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);opacity:.72}
.faq-contact-phone strong{display:block;margin-top:5px;font-size:19px;font-weight:600;color:var(--blue)}
.faq-contact-phone:hover{background:var(--blue)}
.faq-contact-phone:hover span,.faq-contact-phone:hover strong{color:#fff;opacity:1}
@media(max-width:600px){.faq-contact{flex-direction:column;align-items:stretch;text-align:center}.faq-contact-left{flex-direction:column;text-align:center}.faq-contact-left p{max-width:none}}

/* Location pages (Immobilienmakler <Stadt>) */
.svc-cards.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.svc-cards.cols-3{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.svc-cards.cols-3{grid-template-columns:1fr}}

.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip-list.center{justify-content:center}
.chip{padding:8px 14px;border-radius:20px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:500;color:var(--blue)}

.trend{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.trend svg{width:13px;height:13px}
.trend.up{color:#1a7a4c}
.trend.up svg{transform:rotate(-45deg)}

.dual-cta{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dual-cta-card{padding:32px;border-radius:16px}
.dual-cta-card.primary{background:var(--blue);color:#fff}
.dual-cta-card.light{background:#fff;border:1px solid var(--line)}
.dual-cta-card h3{margin:0;font-size:20px;font-weight:500}
.dual-cta-card.light h3{color:var(--blue)}
.dual-cta-card p{margin:10px 0 20px;font-size:13px;line-height:1.6}
.dual-cta-card.primary p{color:rgba(255,255,255,.78)}
.dual-cta-card.light p{color:var(--muted)}
.dual-cta-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:12.5px}
.dual-cta-list li{display:flex;align-items:center;gap:9px}
.dual-cta-list svg{width:15px;height:15px;flex:none}
@media(max-width:767px){.dual-cta{grid-template-columns:1fr}}

.trust-points{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.trust-points div strong{display:block;font-size:14px;font-weight:500;margin-bottom:4px}
.trust-points div span{display:block;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:600px){.trust-points{grid-template-columns:1fr}}

.svc-card.linked{display:block;transition:.2s var(--ease)}
.svc-card.linked:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,62,102,.08)}
.svc-card-more{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:500;color:var(--blue)}
.svc-card-more svg{width:13px;height:13px;transition:.2s var(--ease)}
.svc-card.linked:hover .svc-card-more svg{transform:translateX(3px)}

.gmap-wrap{border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(2,62,102,.08);height:380px}
.gmap-wrap iframe{width:100%;height:100%;border:0;display:block}

/* Zweibrücken market-data graphic (animated, scroll-triggered) */
.zw-market-graphic{width:100%;max-width:800px;margin:0 auto;color:var(--blue)}
.zw-market-desktop{display:block;width:100%;height:auto;overflow:visible}
.zw-city{fill:url(#zwAreaFill);stroke:var(--line);stroke-width:1.4;stroke-linejoin:miter;stroke-linecap:square;vector-effect:non-scaling-stroke;shape-rendering:geometricprecision}
.zw-city-title{fill:var(--blue);font-size:29px;font-weight:500}
.zw-city-subtitle{fill:var(--muted);font-size:14px;font-weight:400}
.zw-link{fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.zw-point{fill:var(--blue);stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.zw-bubble rect{fill:#fff}
.zw-bubble{opacity:0;transform-box:fill-box;transform-origin:center;transform:translateY(8px) scale(.97)}
.zw-bubble-label{fill:var(--blue);font-size:12px;font-weight:500;letter-spacing:.02em}
.zw-value{fill:var(--blue);font-size:34px;font-weight:500;letter-spacing:-.02em}
.zw-value-main{font-size:42px}
.zw-unit{fill:var(--muted);font-size:16px;font-weight:400}
.zw-source text{fill:var(--muted);font-size:11px}
.zw-source circle{fill:var(--blue)}
.zw-market-graphic.section-reveal.in-view .zw-point-1{animation:.25s ease .1s 1 normal forwards zwPointIn}
.zw-market-graphic.section-reveal.in-view .zw-link-1{animation:.48s ease .24s 1 normal forwards zwDraw}
.zw-market-graphic.section-reveal.in-view .zw-bubble-1{animation:.35s ease .64s 1 normal forwards zwBubbleIn}
.zw-market-graphic.section-reveal.in-view .zw-point-2{animation:.25s ease .7s 1 normal forwards zwPointIn}
.zw-market-graphic.section-reveal.in-view .zw-link-2{animation:.48s ease .84s 1 normal forwards zwDraw}
.zw-market-graphic.section-reveal.in-view .zw-bubble-2{animation:.35s ease 1.24s 1 normal forwards zwBubbleIn}
.zw-market-graphic.section-reveal.in-view .zw-point-3{animation:.25s ease 1.3s 1 normal forwards zwPointIn}
.zw-market-graphic.section-reveal.in-view .zw-link-3{animation:.52s ease 1.44s 1 normal forwards zwDraw}
.zw-market-graphic.section-reveal.in-view .zw-bubble-3{animation:.35s ease 1.88s 1 normal forwards zwBubbleIn}
.zw-market-graphic.section-reveal.in-view .zw-point-4{animation:.25s ease 1.95s 1 normal forwards zwPointIn}
.zw-market-graphic.section-reveal.in-view .zw-link-4{animation:.48s ease 2.09s 1 normal forwards zwDraw}
.zw-market-graphic.section-reveal.in-view .zw-bubble-4{animation:.35s ease 2.49s 1 normal forwards zwBubbleIn}
@keyframes zwDraw{100%{stroke-dashoffset:0}}
@keyframes zwPointIn{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes zwBubbleIn{0%{opacity:0;transform:translateY(8px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}
.zw-market-mobile{display:none}
@media(max-width:767px){
  .zw-market-desktop{display:none}
  .zw-market-mobile{display:block}
  .zw-mobile-map{width:86%;margin:0 auto 24px}
  .zw-mobile-map svg{display:block;width:100%;height:auto}
  .zw-city-mobile{fill:url(#zwMobileFill);stroke:var(--line);stroke-width:1.4;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
  .zw-mobile-values{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .zw-mobile-value{padding:16px;background:var(--bg);border-radius:14px}
  .zw-mobile-value span{display:block;margin-bottom:7px;color:var(--blue);font-size:10px;line-height:1.2;font-weight:500}
  .zw-mobile-value strong{display:block;color:var(--blue);font-size:22px;line-height:1.1;font-weight:500}
  .zw-mobile-value strong small{color:var(--muted);font-size:11px;font-weight:400}
  .zw-mobile-source{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:15px;color:var(--muted);font-size:10px}
  .zw-mobile-source i{display:block;width:5px;height:5px;border-radius:50%;background:var(--blue)}
}

/* Interactive district/area map */
.district-map-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:60px;align-items:center}
@media(max-width:1080px){.district-map-grid{grid-template-columns:1fr;gap:34px}}
.sarin-area-map{width:100%}
.sarin-map-bg{position:relative;min-height:520px;border-radius:22px;overflow:visible;background:radial-gradient(circle at 30% 30%,rgba(2,62,102,.06),transparent 24%),radial-gradient(circle at 70% 65%,rgba(2,62,102,.05),transparent 28%),linear-gradient(135deg,#fbfcfd,var(--bg));box-shadow:0 22px 58px rgba(2,62,102,.08)}
.map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.map-lines path{fill:none;stroke:rgba(2,62,102,.14);stroke-width:2}
.district{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;border:0;background:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 14px 34px rgba(2,62,102,.1);font-size:13px;font-weight:500;color:var(--blue);cursor:pointer;transform:translate(-50%,-50%);transition:.22s var(--ease);white-space:nowrap}
.district span{width:10px;height:10px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 6px rgba(2,62,102,.12)}
.district:hover,.district.active{color:var(--blue2);transform:translate(-50%,-50%) scale(1.05);box-shadow:0 18px 40px rgba(2,62,102,.16)}
.district-card{position:absolute;z-index:20;width:270px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 60px rgba(2,62,102,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),visibility .22s var(--ease),transform .22s var(--ease);pointer-events:none}
.district-card.visible{opacity:1;visibility:visible;transform:translateY(0)}
.district-arrow{position:absolute;left:-9px;top:var(--arrow-top,34px);width:18px;height:18px;background:rgba(255,255,255,.97);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.district-card h3{margin:8px 0 14px;font-size:24px;font-weight:400;line-height:1.1;color:var(--blue)}
.card-kicker{color:var(--blue);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.card-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.card-row p{margin:0;color:var(--muted);font-size:12.5px}
.card-row strong{color:var(--blue);font-size:12.5px;font-weight:500;text-align:right;max-width:145px}
.card-text{margin:14px 0 0;color:var(--muted);font-size:12.5px;line-height:1.6}
@media(max-width:980px){.sarin-map-bg{min-height:700px}.district{font-size:11.5px;padding:8px 12px}.district-card{width:240px}}
@media(max-width:767px){.sarin-map-bg{min-height:820px;border-radius:18px}.district{font-size:11px;padding:7px 10px}.district-card{right:16px;bottom:16px;width:auto;left:16px!important;top:auto!important}.district-arrow{display:none}}

/* Verkaufsprozess-Zeitleiste (animated, scroll-triggered) */
.is-process-visual{width:100%;max-width:460px;margin:0 auto}
.is-process-svg{display:block;width:100%;height:auto;overflow:visible}
.is-process-line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.is-process-point{fill:#fff;stroke:var(--blue);stroke-width:4;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.is-process-branch{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.is-process-card{opacity:0;transform-box:fill-box;transform-origin:center;transform:translateY(6px)}
.is-process-card rect{fill:#fff;filter:drop-shadow(0 12px 24px rgba(2,62,102,.1))}
.is-step{fill:var(--blue);font-size:11px;font-weight:500}
.is-title{fill:var(--blue);font-size:14px;font-weight:500}
.is-house-wrap{opacity:0;transform-box:fill-box;transform-origin:center;transform:translateY(10px) scale(.96)}
.is-house{fill:var(--bg);stroke:var(--blue);stroke-width:2;stroke-linejoin:round}
.is-house-roof{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.is-house-door{fill:var(--blue)}
.is-sold-badge{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.8)}
.is-sold-badge rect{fill:var(--blue)}
.is-sold-text{fill:#fff;font-size:10px;font-weight:500;letter-spacing:.03em}
.is-process-visual.section-reveal.in-view .is-process-line{animation:1.15s ease 0s 1 normal forwards processDraw}
.is-process-visual.section-reveal.in-view .is-p1{animation:.28s ease .18s 1 normal forwards processPoint}
.is-process-visual.section-reveal.in-view .is-b1{animation:.28s ease .32s 1 normal forwards processDraw}
.is-process-visual.section-reveal.in-view .is-card1{animation:.34s ease .53s 1 normal forwards processCard}
.is-process-visual.section-reveal.in-view .is-p2{animation:.28s ease .62s 1 normal forwards processPoint}
.is-process-visual.section-reveal.in-view .is-b2{animation:.28s ease .76s 1 normal forwards processDraw}
.is-process-visual.section-reveal.in-view .is-card2{animation:.34s ease .97s 1 normal forwards processCard}
.is-process-visual.section-reveal.in-view .is-p3{animation:.28s ease 1.06s 1 normal forwards processPoint}
.is-process-visual.section-reveal.in-view .is-b3{animation:.28s ease 1.2s 1 normal forwards processDraw}
.is-process-visual.section-reveal.in-view .is-card3{animation:.34s ease 1.41s 1 normal forwards processCard}
.is-process-visual.section-reveal.in-view .is-house-wrap{animation:.42s ease 1.72s 1 normal forwards houseIn}
.is-process-visual.section-reveal.in-view .is-sold-badge{animation:.36s ease 2.05s 1 normal forwards soldIn}
@keyframes processDraw{100%{stroke-dashoffset:0}}
@keyframes processPoint{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@keyframes processCard{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
@keyframes houseIn{0%{opacity:0;transform:translateY(10px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes soldIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
@media(max-width:767px){.is-process-visual{max-width:360px}.is-title{font-size:12px}}
@media(prefers-reduced-motion:reduce){
  .zw-link,.is-process-line,.is-process-branch{stroke-dashoffset:0;animation:none!important}
  .zw-point,.zw-bubble,.is-process-point,.is-process-card,.is-house-wrap,.is-sold-badge{opacity:1;transform:none;animation:none!important}
}

/* Reason cards with icon */
.svc-card .svc-card-icon{width:38px;height:38px;border-radius:10px;background:var(--bg);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.svc-card .svc-card-icon svg{width:19px;height:19px}

/* Compare table: mini icons in the two non-highlighted columns */
.mini{display:inline-flex;align-items:center;gap:7px}
.mini svg{width:14px;height:14px;flex:none}
.mini-yes{color:rgba(2,62,102,.55)}
.mini-yes svg{color:#9aa6ad}
.mini-partial{color:rgba(2,62,102,.55)}
.mini-partial svg{color:rgba(2,62,102,.32)}
.mini-no{color:rgba(2,62,102,.4)}
.mini-no svg{color:rgba(2,62,102,.28)}

/* Required documents checklist (sticky label, scrolling list) */
.doc-sticky-grid{display:grid;grid-template-columns:.6fr 1fr;gap:60px;align-items:start}
.doc-sticky-head{position:sticky;top:120px}
.doc-sticky-head h2{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:400}
.doc-list{display:flex;flex-direction:column;gap:14px}
.doc-item{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.doc-item .doc-icon{width:36px;height:36px;border-radius:50%;background:var(--bg);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.doc-item .doc-icon svg{width:17px;height:17px}
.doc-item strong{display:block;font-size:14px;font-weight:500}
.doc-item span{display:block;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.6}
@media(max-width:900px){.doc-sticky-grid{grid-template-columns:1fr;gap:24px}.doc-sticky-head{position:static}}

/* Reference sale cards (small, non-slider grid) */
.ref-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ref-card{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 14px 34px rgba(2,62,102,.05);transition:.25s var(--ease)}
.ref-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(2,62,102,.09)}
.ref-card .thumb{position:relative;height:150px;overflow:hidden}
.ref-card .thumb img{width:100%;height:100%;object-fit:cover}
.ref-card .ref-badge{position:absolute;left:12px;top:12px;padding:5px 9px;border-radius:3px;background:var(--blue);color:#fff;font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.ref-card .body{padding:16px 18px 18px}
.ref-card strong{display:block;font-size:14px;font-weight:500}
.ref-card span{display:block;margin-top:5px;color:var(--muted);font-size:12px}
@media(max-width:1100px){.ref-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ref-grid{grid-template-columns:1fr}}

/* Trust / review badge */
.trust-badge-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.trust-badge{display:flex;align-items:center;gap:12px;padding:14px 22px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(2,62,102,.05)}
.trust-badge .stars{display:flex;gap:2px;color:#f0a800}
.trust-badge .stars svg{width:15px;height:15px}
.trust-badge strong{display:block;font-size:16px;font-weight:500}
.trust-badge span{display:block;font-size:11px;color:var(--muted)}

/* Ratgeber teaser (compact) */
.guide-teaser{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.guide-teaser-card{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s var(--ease)}
.guide-teaser-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.guide-teaser-card .thumb{width:78px;height:78px;border-radius:10px;overflow:hidden;flex:none}
.guide-teaser-card .thumb img{width:100%;height:100%;object-fit:cover}
.guide-teaser-card strong{display:block;font-size:14px;font-weight:500;line-height:1.3}
.guide-teaser-card span{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;color:var(--blue);font-weight:500}
.guide-teaser-card span svg{width:12px;height:12px}
@media(max-width:700px){.guide-teaser{grid-template-columns:1fr}}

/* Contact section with form */
.contact-bg-wrap{position:relative;border-radius:28px;overflow:hidden;padding:64px 40px;background-size:cover;background-position:center}
.contact-bg-wrap::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,62,102,.92),rgba(2,62,102,.96));z-index:0}
.contact-bg-wrap>*{position:relative;z-index:1}
.contact-bg-wrap .lp-head .kicker{color:rgba(255,255,255,.66)}
.contact-bg-wrap .lp-head h2{color:#fff}
.contact-bg-wrap .lp-head p{color:rgba(255,255,255,.78)}
@media(max-width:600px){.contact-bg-wrap{padding:40px 20px;border-radius:20px}}
.contact-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:start}
.contact-channels{display:flex;flex-direction:column;gap:14px}
.contact-channel{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);transition:.2s var(--ease)}
.contact-channel:hover{border-color:var(--blue);transform:translateY(-2px)}
.contact-channel .ch-icon{width:44px;height:44px;border-radius:50%;background:var(--bg);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.contact-channel .ch-icon svg{width:19px;height:19px}
.contact-channel strong{display:block;font-size:14px;font-weight:500}
.contact-channel span{display:block;margin-top:2px;color:var(--muted);font-size:12.5px}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 20px 50px rgba(2,62,102,.06)}
.contact-form .field{margin-bottom:14px}
.contact-form label{display:block;margin-bottom:6px;font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font:inherit;font-size:13px;color:var(--blue);background:var(--bg)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
.contact-form textarea{min-height:110px;resize:vertical}
.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form button{width:100%;margin-top:6px}
@media(max-width:980px){.contact-wrap{grid-template-columns:1fr}}
@media(max-width:500px){.contact-form .field-row{grid-template-columns:1fr}}

/* SVG icons (replace unicode glyphs for consistent cross-device rendering) */
.icon-svg{width:1em;height:1em;display:inline-block;vertical-align:-0.14em;flex:none}
.nav-btn svg{width:16px;height:16px}
.offer-location svg{width:12px;height:12px}
.service-arrow svg{width:14px;height:14px}
.mega-links a b svg{width:15px;height:15px}
.compare-table .yes svg{width:15px;height:15px}
.guide-all-link span svg{width:13px;height:13px}
.mega-promo-content em svg{width:18px;height:18px}

/* Lead widget: scroll-triggered card that collapses into a floating avatar */
.lead-widget{position:fixed;right:24px;bottom:24px;z-index:850;width:0;height:0}
.lead-widget[data-state="idle"]{pointer-events:none}
.lead-widget[data-state="idle"] .lead-bubble,
.lead-widget[data-state="idle"] .lead-card{opacity:0;transform:scale(.5);pointer-events:none}

.lead-bubble{position:absolute;right:0;bottom:0;width:60px;height:60px;border-radius:50%;padding:0;border:0;cursor:pointer;overflow:hidden;box-shadow:0 14px 34px rgba(2,62,102,.28);outline:3px solid #fff;transform-origin:bottom right;transition:opacity .38s var(--ease),transform .38s var(--ease)}
.lead-bubble img{width:100%;height:100%;object-fit:cover}
.lead-bubble::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(2,62,102,.35);animation:leadBubblePulse 2.6s ease-out infinite}
@keyframes leadBubblePulse{
  0%{box-shadow:0 0 0 0 rgba(2,62,102,.30)}
  70%{box-shadow:0 0 0 14px rgba(2,62,102,0)}
  100%{box-shadow:0 0 0 14px rgba(2,62,102,0)}
}
.lead-widget[data-state="closed"] .lead-card{opacity:0;transform:scale(.4) translateY(14px);pointer-events:none}
.lead-widget[data-state="open"] .lead-bubble{opacity:0;transform:scale(.4);pointer-events:none}

.lead-card{position:absolute;right:0;bottom:0;width:min(336px,calc(100vw - 48px));background:#fff;border-radius:20px;box-shadow:0 30px 70px rgba(2,62,102,.22);padding:22px 22px 18px;transform-origin:bottom right;transition:opacity .4s var(--ease),transform .4s var(--ease);border:1px solid var(--line)}
.lead-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--blue);transition:.2s var(--ease)}
.lead-close:hover{background:var(--bg);border-color:var(--blue)}
.lead-close svg{width:13px;height:13px}
.lead-card-head{display:flex;align-items:flex-start;gap:14px;padding-right:26px}
.lead-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.lead-card-head strong{display:block;font-size:16px;font-weight:500;line-height:1.3;letter-spacing:-.01em}
.lead-card-head span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}
.lead-actions{display:flex;flex-direction:column;gap:9px;margin-top:18px}
.lead-actions .btn{width:100%;font-size:12.5px}
.lead-actions .btn svg{width:16px;height:16px;margin-right:7px}
.btn-whatsapp{background:#fff;color:var(--blue);border:1px solid var(--line)}
.btn-whatsapp:hover{border-color:var(--blue)}
.lead-disclaimer{margin:14px 0 0;text-align:center;font-size:10.5px;color:var(--muted);letter-spacing:.01em}

@media(max-width:600px){
  .lead-widget{right:14px;bottom:14px}
  .lead-bubble{width:52px;height:52px}
  .lead-card{padding:18px 18px 16px}
}

/* Market stat card: compact city hero stats (Immobilienmakler-Städteseiten) */
.market-stat-card{background:#fff;border-radius:20px;padding:30px 32px 26px;box-shadow:0 24px 60px rgba(2,62,102,.10);border:1px solid var(--line)}
.market-stat-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.market-stat-head span{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.market-stat-head strong{font-size:14px;font-weight:500;color:var(--blue)}
.market-stat-card .svc-hero-trust{margin-top:8px;gap:0;display:grid;grid-template-columns:1fr 1fr;row-gap:22px}
.market-stat-card .svc-hero-trust div strong{font-size:24px}
.market-stat-note{margin:18px 0 0;font-size:10.5px;color:var(--muted);letter-spacing:.02em}
@media(max-width:600px){
  .market-stat-card{padding:24px 22px 20px}
  .market-stat-card .svc-hero-trust div strong{font-size:21px}
}

/* Immobilienbewertung wizard */
.val-hero{background:var(--bg);padding:150px 0 60px;text-align:center}
.val-hero .kicker{justify-content:center;display:flex}
.val-hero h1{margin:16px 0 0;font-size:clamp(32px,3.6vw,48px);line-height:1.12;letter-spacing:-.03em;font-weight:400}
.val-hero p{max-width:620px;margin:18px auto 0;color:var(--muted);font-size:15px;line-height:1.8}
.val-hero-trust{display:flex;justify-content:center;gap:28px;margin-top:30px;flex-wrap:wrap}
.val-hero-trust div{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--blue)}
.val-hero-trust svg{width:17px;height:17px;flex:none}

.val-wrap{background:var(--bg);padding:0 0 90px}
.val-wizard{max-width:720px;margin:-30px auto 0;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(2,62,102,.14);border:1px solid var(--line);overflow:hidden}

.val-progress{padding:22px 32px 0}
.val-progress-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.val-progress-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.val-progress-pct{font-size:11px;font-weight:600;color:var(--blue)}
.val-progress-track{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.val-progress-fill{height:100%;background:var(--blue);border-radius:2px;width:0;transition:width .45s var(--ease)}

.val-body{padding:34px 32px 32px;position:relative}
.val-step{display:none}
.val-step.active{display:block;animation:valStepIn .38s var(--ease) both}
@keyframes valStepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.val-step-kicker{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.val-step h2{margin:0 0 22px;font-size:24px;font-weight:500;letter-spacing:-.015em;line-height:1.3}

.val-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.val-options.cols-1{grid-template-columns:1fr}
.val-option{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:.2s var(--ease);text-align:left;background:#fff}
.val-option:hover{border-color:rgba(2,62,102,.35)}
.val-option.active{border-color:var(--blue);background:var(--bg)}
.val-option-icon{width:38px;height:38px;border-radius:10px;background:var(--bg);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.val-option.active .val-option-icon{background:var(--blue);color:#fff}
.val-option-icon svg{width:19px;height:19px}
.val-option strong{display:block;font-size:13.5px;font-weight:500}
.val-option span:not(.val-option-icon){display:block;margin-top:1px;font-size:11.5px;color:var(--muted)}

.val-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.val-fields.cols-1{grid-template-columns:1fr}
.val-field label{display:block;font-size:12px;font-weight:500;color:var(--blue);margin-bottom:7px}
.val-field input,.val-field select{width:100%;height:48px;padding:0 14px;border-radius:10px;border:1.5px solid var(--line);font:inherit;font-size:14px;color:var(--blue);background:#fff;transition:.2s var(--ease)}
.val-field input:focus,.val-field select:focus{outline:none;border-color:var(--blue)}
.val-field-hint{margin-top:6px;font-size:11px;color:var(--muted)}

.val-chips{display:flex;flex-wrap:wrap;gap:9px}
.val-chip{padding:10px 16px;border-radius:20px;border:1.5px solid var(--line);font-size:12.5px;font-weight:500;color:var(--blue);cursor:pointer;transition:.2s var(--ease);background:#fff}
.val-chip:hover{border-color:rgba(2,62,102,.35)}
.val-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}

.val-nav{display:flex;align-items:center;justify-content:space-between;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.val-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer;background:none;border:0;padding:6px 0}
.val-back svg{width:14px;height:14px}
.val-back[hidden]{visibility:hidden}
.val-next{min-width:150px}
.val-next:disabled{opacity:.4;cursor:not-allowed}

.val-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}
.val-loader-spin{width:44px;height:44px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--blue);animation:valSpin .8s linear infinite;margin-bottom:20px}
@keyframes valSpin{to{transform:rotate(360deg)}}
.val-loader strong{font-size:15px;font-weight:500}
.val-loader span{margin-top:6px;font-size:12.5px;color:var(--muted)}

.val-result-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;background:var(--bg);color:var(--blue);font-size:11px;font-weight:500;margin-bottom:18px}
.val-result-badge svg{width:14px;height:14px}
.val-result-price{font-size:clamp(30px,4.4vw,42px);font-weight:500;letter-spacing:-.02em;color:var(--blue);margin:0}
.val-result-price small{display:block;margin-top:6px;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}
.val-result-note{margin:18px 0 0;font-size:12.5px;line-height:1.8;color:var(--muted);padding:16px 18px;background:var(--bg);border-radius:12px}
.val-result-facts{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.val-result-facts div strong{display:block;font-size:15px;font-weight:500}
.val-result-facts div span{display:block;font-size:11px;color:var(--muted);margin-top:2px}

.val-thanks{text-align:center;padding:8px 0}
.val-thanks-icon{width:56px;height:56px;border-radius:50%;background:var(--bg);color:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.val-thanks-icon svg{width:26px;height:26px}
.val-thanks h2{margin-bottom:10px}
.val-thanks p{color:var(--muted);font-size:13.5px;line-height:1.8;max-width:440px;margin:0 auto}

/* --- Bewertungstool: erweiterte Formularelemente --- */
.val-options.cols-3{grid-template-columns:repeat(3,1fr)}
.val-option.compact{flex-direction:column;align-items:flex-start;gap:9px;padding:14px}
.val-option.compact strong{font-size:12.5px}
.val-option.compact span:not(.val-option-icon){font-size:11px}

.val-subhead{font-size:12px;font-weight:500;color:var(--blue);margin:22px 0 10px;letter-spacing:.01em}
.val-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.val-check{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;font-size:12.5px;font-weight:500;color:var(--blue);cursor:pointer;transition:.2s var(--ease)}
.val-check:hover{border-color:rgba(2,62,102,.35)}
.val-check.active{border-color:var(--blue);background:var(--bg)}
.val-check input{position:absolute;opacity:0;pointer-events:none}
.val-check .box{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center}
.val-check.active .box{background:var(--blue);border-color:var(--blue)}
.val-check .box svg{width:11px;height:11px;color:#fff;opacity:0}
.val-check.active .box svg{opacity:1}

.val-mod-grid{display:flex;flex-direction:column;gap:10px}
.val-mod-row{display:grid;grid-template-columns:1fr 190px;gap:12px;align-items:center}
.val-mod-row label{font-size:12.5px;font-weight:500;color:var(--blue)}
.val-mod-row select{height:44px;padding:0 12px;border-radius:10px;border:1.5px solid var(--line);font:inherit;font-size:13px;color:var(--blue);background:#fff}
.val-mod-row select:focus{outline:none;border-color:var(--blue)}

/* --- Bewertungstool: Ergebnis --- */
.val-figure{margin:4px 0 0}
.val-figure .val-figure-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.val-figure .val-figure-value{font-size:clamp(32px,4.6vw,46px);font-weight:500;letter-spacing:-.02em;color:var(--blue);margin:4px 0 0;line-height:1.1}
.val-corridor{margin:18px 0 0;padding:16px 18px;background:var(--bg);border-radius:12px}
.val-corridor strong{display:block;font-size:17px;font-weight:500;color:var(--blue)}
.val-corridor span{display:block;font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.02em;text-transform:uppercase}
.val-confidence{margin:20px 0 0}
.val-confidence-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.val-confidence-top b{font-size:13px;font-weight:600;color:var(--blue)}
.val-confidence-top span{font-size:11.5px;color:var(--muted)}
.val-confidence-track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.val-confidence-bar{height:100%;border-radius:3px;background:var(--blue);transition:width .6s var(--ease)}
.val-confidence-bar.mid{background:#c98a1a}
.val-confidence-bar.low{background:#c0562f}
.val-keyfacts{margin:22px 0 0;display:flex;flex-direction:column;gap:8px}
.val-keyfacts li{display:flex;gap:10px;font-size:12.5px;line-height:1.6;color:var(--blue);list-style:none}
.val-keyfacts li svg{width:15px;height:15px;flex:none;color:var(--blue);margin-top:2px}
.val-explain{margin:22px 0 0;font-size:13px;line-height:1.85;color:var(--blue)}
.val-explain p{margin:0 0 12px}
.val-explain-src{font-size:10.5px;color:var(--muted);margin-top:2px}
.val-cta-box{margin:24px 0 0;padding:22px;border-radius:14px;border:1.5px solid var(--line);text-align:center}
.val-cta-box strong{display:block;font-size:15px;font-weight:500;color:var(--blue);margin-bottom:6px}
.val-cta-box p{font-size:12.5px;color:var(--muted);margin:0 0 14px;line-height:1.7}
.val-debug{margin:22px 0 0;border:1px dashed rgba(2,62,102,.3);border-radius:10px;background:#0d1b2a;color:#d6e4f0;padding:14px;font-size:11px;overflow:auto;max-height:420px}
.val-error{margin:0;padding:16px 18px;background:#fbe9e6;border:1px solid #e7b7ae;border-radius:12px;font-size:13px;color:#8c2f1d;line-height:1.6}

@media(max-width:600px){
  .val-hero{padding:126px 0 44px}
  .val-wizard{margin:-22px 14px 0;border-radius:18px}
  .val-body{padding:26px 20px 24px}
  .val-progress{padding:18px 20px 0}
  .val-options{grid-template-columns:1fr}
  .val-options.cols-3{grid-template-columns:1fr 1fr}
  .val-fields{grid-template-columns:1fr}
  .val-hero-trust{gap:16px 22px}
  .val-checks{grid-template-columns:1fr}
  .val-mod-row{grid-template-columns:1fr;gap:5px}
  .val-mod-row select{width:100%}
}

/* ==========================================================================
   Luftigeres Layout + Scroll-Reveal pro Element (global, am Dateiende, damit
   es die frueheren Abstandswerte bewusst ueberschreibt)
   ========================================================================== */

/* --- Scroll-Reveal (js/reveal.js setzt .js-reveal / .rv / .rv-in) --- */
.js-reveal .rv{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.js-reveal .rv.rv-in{opacity:1;transform:none}
/* der alte Ganz-Sektion-Fade entfaellt (Klasse bleibt als Trigger fuer SVG-Animationen) */
.js-reveal .section-reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Hero-Intro: reines CSS, kein Flackern, laeuft auf jeder Seite */
@keyframes rvHero{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
.svc-hero .shell>*,.article-hero .shell>*,.article-hero>.shell>*,.val-hero .shell>*{animation:rvHero .9s var(--ease) both}
.svc-hero .shell>*:nth-child(2),.article-hero .shell>*:nth-child(2),.val-hero .shell>*:nth-child(2){animation-delay:.08s}
.svc-hero .shell>*:nth-child(3),.article-hero .shell>*:nth-child(3),.val-hero .shell>*:nth-child(3){animation-delay:.16s}
.svc-hero .shell>*:nth-child(4),.article-hero .shell>*:nth-child(4),.val-hero .shell>*:nth-child(4){animation-delay:.24s}
.svc-hero .shell>*:nth-child(n+5),.article-hero .shell>*:nth-child(n+5),.val-hero .shell>*:nth-child(n+5){animation-delay:.32s}
@media(prefers-reduced-motion:reduce){.js-reveal .rv{opacity:1;transform:none;transition:none}.svc-hero .shell>*,.article-hero .shell>*,.val-hero .shell>*{animation:none}}

/* --- Mehr Luft: Sektionen --- */
.lp-section,.section-pad-84{padding:120px 0}
.guide.section-pad-84{padding-top:132px}
.lp-head{margin-bottom:72px}
.lp-head p{margin-top:20px;line-height:1.8}
.svc-hero{padding:164px 0 100px}
.svc-main{padding:112px 0 0}
.partners{padding:84px 0 40px}
.partners.section-pad-84{padding:100px 0 80px}
.partners-label{margin-bottom:34px}
.partners-grid{gap:52px}

/* --- Mehr Luft: Bloecke, Karten, Raster --- */
.svc-block,.svc-photo,.svc-agent,.compare-wrap,.faq-contact{margin-bottom:116px}
.svc-block h2{margin-bottom:26px}
.svc-cards{gap:26px;margin-top:44px}
.svc-card{padding:30px}
.svc-faq details{padding:26px 0}
.faq-contact{gap:34px}
.ref-grid{gap:26px}
.dual-cta{gap:30px}
.doc-list{gap:22px}
.contact-wrap{gap:76px}
.contact-channels{gap:22px}
.process-tabs-panel{gap:64px}
.svc-agent{gap:34px;padding:34px}

/* --- Mehr Luft: Startseite --- */
.personal-section{padding:112px 0 108px}
.personal-grid{gap:100px}
.services{padding:120px 0 128px}
.section-head{margin-bottom:64px}
.service-row{min-height:108px}
.offers{padding:128px 0 144px}
.guide{padding:128px 0 144px}
.region-map{padding:132px 0 0}

/* --- Mehr Luft: Listenseiten --- */
.ratgeber-page,.property-page{padding-bottom:130px}
.ratgeber-filter{margin-bottom:56px}
.ratgeber-grid{gap:34px}
.property-grid{gap:32px}
.expose{padding-bottom:130px}

/* --- Tablet / Mobil: kleinere, aber immer noch grosszuegige Abstaende --- */
@media(max-width:1100px){
  .lp-section,.section-pad-84{padding:96px 0}
  .personal-grid{gap:56px}
  .svc-cards{gap:22px}
}
@media(max-width:767px){
  .lp-section,.section-pad-84{padding:76px 0}
  .guide.section-pad-84{padding-top:88px}
  .lp-head{margin-bottom:48px}
  .svc-hero{padding:128px 0 64px}
  .svc-main{padding:76px 0 0}
  .svc-block,.svc-photo,.svc-agent,.compare-wrap,.faq-contact{margin-bottom:76px}
  .svc-cards{gap:18px;margin-top:32px}
  .svc-card{padding:24px}
  .svc-agent{padding:26px}
  .partners{padding:64px 0 28px}
  .partners.section-pad-84{padding:76px 0 56px}
  .partners-grid{gap:34px}
  .personal-section{padding:80px 0 76px}
  .personal-grid{gap:44px}
  .services{padding:84px 0 88px}
  .section-head{margin-bottom:44px}
  .offers,.guide{padding:88px 0 96px}
  .region-map{padding:92px 0 0}
  .contact-wrap{gap:44px}
  .process-tabs-panel{gap:36px}
  .ratgeber-grid,.property-grid{gap:24px}
}


/* ==========================================================================
   WordPress-Blöcke im Look der statischen Seite
   ========================================================================== */
:where(.p-from-div){margin:0}
:where(.wp-block-image img){height:auto}
.wp-block-image{display:contents}
.wp-block-image img{max-width:100%;height:auto}
.thumb .wp-block-image img,.partner-logo .wp-block-image img{height:auto}
.wp-block-group{box-sizing:border-box}
.wp-block-list{margin:0;padding:0}

/* Button-Block = .btn */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.wp-block-button,.wp-block-buttons>.wp-block-button{display:flex}
.wp-block-button__link{min-height:50px;padding:0 20px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;line-height:1.2;position:relative;overflow:hidden;transition:.25s var(--ease);cursor:pointer;text-decoration:none}
.wp-block-button__link:hover{transform:translateY(-2px)}
.wp-block-button.is-style-primary .wp-block-button__link,.wp-block-button:not([class*="is-style-"]) .wp-block-button__link{background:var(--blue);color:#fff;border:1px solid var(--blue)}
.wp-block-button.is-style-secondary .wp-block-button__link{background:transparent;color:var(--blue);border:1px solid rgba(2,62,102,.28)}
.wp-block-button.is-style-secondary .wp-block-button__link:hover{background:var(--blue);color:#fff}
.wp-block-button.is-style-whatsapp .wp-block-button__link{background:#fff;color:var(--blue);border:1px solid var(--line)}
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover{border-color:var(--blue)}

/* Ratgeber-Übersicht */
.ratgeber-page{background:var(--bg);min-height:60vh;padding:130px 0 130px}
.ratgeber-page h1{margin:0;font-size:clamp(42px,5vw,70px);line-height:1.03;letter-spacing:-.04em;font-weight:400}
.ratgeber-intro{max-width:680px;margin:18px 0 34px;color:var(--muted);line-height:1.7}
.ratgeber-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:56px}
.ratgeber-filter button{height:42px;padding:0 18px;border-radius:30px;border:1px solid var(--line);background:#fff;color:var(--blue);font-size:12px;font-weight:500;cursor:pointer;transition:.2s var(--ease)}
.ratgeber-filter button.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.ratgeber-filter button:hover:not(.active){background:var(--bg)}
.ratgeber-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.ratgeber-grid .guide-card[hidden]{display:none}
.ratgeber-empty{display:none;padding:50px 0;color:var(--muted)}
@media(max-width:1100px){.ratgeber-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.ratgeber-page{padding-top:100px}.ratgeber-grid{grid-template-columns:1fr;gap:24px}}

/* Pagination (Archive) */
.nav-links{display:flex;gap:10px;justify-content:center;margin-top:50px}
.nav-links .page-numbers{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:30px;background:#fff;font-size:13px}
.nav-links .page-numbers.current{background:var(--blue);color:#fff;border-color:var(--blue)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Formulare: Einwilligung + Rückmeldung */
.val-consent,.form-consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:11.5px;line-height:1.6;color:var(--muted);cursor:pointer}
.val-consent input,.form-consent input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--blue)}
.val-consent a,.form-consent a{text-decoration:underline;color:var(--blue)}
.form-notice{margin:0 0 18px;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.6}
.form-notice.ok{background:#e4f2ea;color:#1f6b45;border:1px solid #b9dcc9}
.form-notice.err{background:#fbe9e6;color:#8c2f1d;border:1px solid #e7b7ae}

/* --- Bewertungsassistent: vereinfachter Ablauf --- */
.val-opt{font-weight:400;color:var(--muted)}
.val-field.full{grid-column:1/-1}
.val-options-big .val-option.compact{padding:22px 18px;gap:14px;min-height:150px;justify-content:flex-start}
.val-options-big .val-option.compact strong{font-size:16px}
.val-options-big .val-option.compact span:not(.val-option-icon){font-size:12px;line-height:1.5}
.val-options-big .val-option-icon{width:46px;height:46px;border-radius:12px}
.val-options-big .val-option-icon svg{width:24px;height:24px}
.val-more{margin-top:22px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.val-more>summary{cursor:pointer;list-style:none;padding:14px 16px;font-size:12.5px;font-weight:500;color:var(--blue);display:flex;align-items:center;gap:8px}
.val-more>summary::-webkit-details-marker{display:none}
.val-more>summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bg);font-weight:600;flex:none}
.val-more[open]>summary::before{content:"–"}
.val-more>.val-fields{padding:4px 16px 18px}
.val-step[data-val-key="zustand"] .val-checks{grid-template-columns:repeat(3,1fr)}
@media(max-width:767px){
  .val-options-big{grid-template-columns:1fr!important}
  .val-options-big .val-option.compact{flex-direction:row;align-items:center;min-height:0;padding:16px}
  .val-step[data-val-key="zustand"] .val-checks{grid-template-columns:1fr 1fr}
}
