/* ==========================================================
   FloridaImmobilie.com
   styles.css
   Aktualisierte Version inkl. überarbeitetem Bereich
   „Regionen & Angebote“
   ========================================================== */

/* ---------- Fonts ---------- */
@font-face{
  font-family:"Inclusive Sans";
  src:url("/fonts/inclusive-sans-300.woff2") format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Inclusive Sans";
  src:url("/fonts/inclusive-sans-400.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Inclusive Sans";
  src:url("/fonts/inclusive-sans-400-italic.woff2") format("woff2");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:"Inclusive Sans";
  src:url("/fonts/inclusive-sans-700.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* ---------- Root ---------- */
:root{
  --font-main:"Inclusive Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --bg:#ffffff;
  --bg-soft:#f6f6f3;
  --bg-sand:#efede8;

  --text:#222222;
  --text-soft:#555555;
  --text-muted:#8a8a8a;

  --accent:#cc3333;

  --shadow-sm:0 8px 22px rgba(0,0,0,.06);
  --shadow-md:0 14px 32px rgba(0,0,0,.09);

  --stage-w:min(94vw, 1920px);
  --reading-w:min(92vw, 900px);

  --pad-x-mobile:20px;

  --section-y-mobile:72px;
  --section-y-desktop:112px;

  --header-h:94px;

  --ease:280ms ease;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--bg);
}

body{
  margin:0;
  font-family:var(--font-main);
  font-weight:400;
  color:var(--text);
  background:var(--bg);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.menu-open{
  overflow:hidden;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
}

button,
input,
textarea,
select{
  font:inherit;
}

/* ---------- Layout ---------- */
.shell{
  width:100%;
}

.stage{
  width:var(--stage-w);
  margin-inline:auto;
}

.reading{
  width:var(--reading-w);
}

.center{
  margin-inline:auto;
}

.nowrap{
  white-space:nowrap;
}

.reading-left{
  max-width:900px;
}

.section{
  padding-block:var(--section-y-desktop);
}

.section-soft{
  background:var(--bg-soft);
}

/* ---------- Typography ---------- */
h1,h2,h3,h4,p,ul{
  margin:0;
}

h1,h2,h3,h4,
.brand-main,
.main-nav a,
.btn,
.eyebrow{
  font-weight:700;
}

h1{
  font-size:clamp(2.45rem, 5vw, 4.3rem);
  line-height:1.04;
  letter-spacing:-.025em;
}

h2{
  font-size:clamp(2rem, 3.5vw, 3.1rem);
  line-height:1.08;
  letter-spacing:-.022em;
}

h3,
h4{
  font-size:clamp(1.2rem, 1.5vw, 1.55rem);
  line-height:1.16;
  letter-spacing:-.015em;
}

p{
  font-size:clamp(1.02rem, 1.05vw, 1.14rem);
  line-height:1.68;
  color:var(--text-soft);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:14px;
}

.eyebrow::before{
  content:"";
  width:20px;
  height:1px;
  background:var(--accent);
  flex:0 0 auto;
}

.section-head{
  margin-bottom:42px;
  text-align:center;
}

.section-head h2{
  margin-bottom:16px;
}

.section-head p:last-child{
  max-width:820px;
  margin-inline:auto;
}

/* ---------- Brand ---------- */
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
}

.brand-lockup{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex:0 0 auto;
}

.brand-logo{
  width:240px;
  height:auto;
  display:block;
  flex:0 0 auto;
  transform:translateY(-4px);
}

.brand-main{
  display:block;
  padding:2px 0;
  font-size:18px;
  line-height:1;
  letter-spacing:.02em;
  color:#fff;
  position:relative;
}

.brand-main::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 360ms ease;
}

.brand:hover .brand-main::after,
.brand:focus-visible .brand-main::after{
  transform:scaleX(1);
}

/* ---------- Header ---------- */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  background:rgba(0,0,0,.42);
  transition:
    background-color 420ms ease,
    box-shadow 420ms ease,
    backdrop-filter 420ms ease;
}

.site-header.is-scrolled{
  background:#000;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}

.header-inner{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

/* ---------- Desktop Navigation ---------- */
.main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(48px, 5vw, 108px);
  margin-left:auto;
}

.main-nav-primary{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  flex-wrap:wrap;
}

.main-nav-pair{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(28px, 3.2vw, 62px);
  flex-wrap:nowrap;
  white-space:nowrap;
}

.main-nav-secondary{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  text-align:right;
  gap:12px;
}

.main-nav a{
  position:relative;
  display:inline-block;
  text-decoration:none;
  color:#fff;
}

.main-nav-primary a,
.main-nav-pair a{
  padding:2px 0;
  font-size:18px;
  line-height:1;
  letter-spacing:.02em;
  color:#fff;
  white-space:nowrap;
}

.main-nav-primary .main-nav-home{
  color:#fff;
}

.main-nav-home span + span{
  margin-left:.12em;
}

.wordmark-spaced span + span{
  margin-left:.12em;
}

.main-nav-divider-home{
  background:rgba(255,255,255,.82);
}

.main-nav-secondary a{
  padding:1px 0;
  font-size:13px;
  line-height:1.1;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  white-space:nowrap;
}

.main-nav-submenu{
  position:relative;
  display:flex;
  justify-content:flex-end;
}

.main-nav-submenu-toggle{
  position:relative;
  display:inline-block;
  padding:1px 0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.82);
  font:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
}

.main-nav-submenu-toggle::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 360ms ease;
}

.main-nav-submenu-toggle:hover::after,
.main-nav-submenu-toggle:focus-visible::after,
.main-nav-submenu-toggle[aria-expanded="true"]::after,
.main-nav-submenu-toggle[aria-current="page"]::after{
  transform:scaleX(1);
}

.main-nav-submenu-panel{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  min-width:190px;
  padding:12px 0;
  background:rgba(0,0,0,.92);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
}

.main-nav-submenu.is-open .main-nav-submenu-panel{
  opacity:1;
  visibility:visible;
  transform:none;
}

.main-nav-submenu-panel a{
  display:block;
  padding:9px 18px;
  text-align:left;
  white-space:nowrap;
}

.main-nav-submenu-panel a::after{
  display:none;
}

.main-nav-submenu-panel a:hover,
.main-nav-submenu-panel a:focus-visible,
.main-nav-submenu-panel a[aria-current="page"]{
  background:rgba(255,255,255,.10);
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 360ms ease;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

.main-nav a[aria-current="page"]::after{
  left:0;
  bottom:-1px;
  width:100%;
  background:rgba(255,255,255,.36);
}

.main-nav-divider{
  width:2px;
  height:22px;
  background:rgba(255,255,255,.7);
  flex:0 0 auto;
  align-self:center;
}

.main-nav-pair .main-nav-divider-2,
.main-nav-divider-2{
  display:none;
}

.nav-toggle{
  display:none;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:0;
  background:rgba(0,0,0,.38);
  padding:0 9px;
  align-items:flex-end;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:27px;
  height:2px;
  background:#fff;
  border-radius:0;
  transform-origin:right center;
  transition:
    width 260ms ease,
    opacity 260ms ease;
}

.nav-toggle span:nth-child(2){
  width:27px;
}

.nav-toggle span:nth-child(3){
  width:15px;
}

.nav-toggle:hover span:first-child,
.nav-toggle:focus-visible span:first-child{
  width:15px;
}

.nav-toggle:hover span:last-child,
.nav-toggle:focus-visible span:last-child{
  width:27px;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
}

.hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(0,0,0,.28), rgba(0,0,0,.08) 42%, rgba(0,0,0,.06)),
    url("/images/hero-main.jpg") center center / cover no-repeat;
}

.hero-stage{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  padding-top:140px;
  padding-bottom:112px;
}

.hero-copy{
  max-width:900px;
}

.hero-copy h1{
  margin-bottom:20px;
  font-size:clamp(2.8rem, 5.55vw, 5rem);
  color:#fff;
}

.hero-lead{
  max-width:760px;
  margin-bottom:30px;
  color:rgba(255,255,255,.92);
}

.hero-lead-break{
  display:block;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:22px;
}

.hero-links{
  display:flex;
  flex-wrap:wrap;
  gap:5px 18px;
}

.hero-link-pair{
  display:inline-flex;
  flex-wrap:nowrap;
  gap:18px;
}

.hero-links a{
  position:relative;
  text-decoration:none;
  font-size:15px;
  line-height:1.35;
  color:#fff;
  padding-bottom:3px;
}

.hero-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 320ms ease;
}

.hero-links a:hover::after,
.hero-links a:focus-visible::after{
  transform:scaleX(1);
}

.hero .eyebrow{
  color:rgba(255,255,255,.78);
}

.hero .eyebrow::before{
  background:#fff;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 30px;
  border-radius:0;
  text-decoration:none;
  font-size:15px;
  line-height:1;
  border:1px solid #000;
  cursor:pointer;
  transition:
    color 420ms ease,
    background-color 420ms ease,
    border-color 420ms ease,
    box-shadow 420ms ease,
    transform 420ms ease;
}

.btn:hover,
.btn:focus-visible{
  transform:translateY(-1px);
}

.btn-primary{
  background:#000;
  color:#fff;
  border-color:#000;
  box-shadow:0 10px 15px 0 rgba(0,0,0,.16);
}

.btn-primary:hover,
.btn-primary:focus-visible{
  background:#fff;
  color:#000;
  border-color:#000;
  box-shadow:5px 5px 5px 0 rgba(0,0,0,.38);
}

.btn-inverse{
  background:#fff;
  color:#000;
  border-color:#fff;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
}

.btn-inverse:hover,
.btn-inverse:focus-visible{
  background:#000;
  color:#fff;
  border-color:#fff;
  box-shadow:5px 5px 5px 0 rgba(0,0,0,.38);
}

.btn-secondary{
  background:transparent;
  color:#fff;
  border:1px solid #fff;
  box-shadow:none;
}

.btn-secondary:hover,
.btn-secondary:focus-visible{
  background:#fff;
  color:#000;
  border-color:#fff;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}

.btn-secondary-dark{
  background:transparent;
  color:#000;
  border-color:#000;
  box-shadow:none;
}

.btn-secondary-dark:hover,
.btn-secondary-dark:focus-visible{
  background:#000;
  color:#fff;
  border-color:#000;
  box-shadow:var(--shadow-sm);
}

/* ---------- Text Links ---------- */
.text-link{
  position:relative;
  display:inline-block;
  width:max-content;
  text-decoration:none;
  font-size:15px;
  line-height:1.35;
  color:var(--text);
  padding-bottom:3px;
  transition:color var(--ease);
}

.text-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:#000;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 360ms ease;
}

.text-link:hover,
.text-link:focus-visible{
  color:#000;
}

.text-link:hover::after,
.text-link:focus-visible::after{
  transform:scaleX(1);
}

/* ---------- Intro Person Section ---------- */
.section-intro-person{
  position:relative;
  overflow:hidden;
  overflow:clip;
  isolation:isolate;
  --intro-fixed-bg-height:100vh;
  background:url("/images/meer5.jpg") center center / cover no-repeat fixed;
}

@supports (height:100svh){
  .section-intro-person{
    --intro-fixed-bg-height:100svh;
  }
}

.intro-person-background{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.intro-person-bg{
  position:absolute;
  inset:0;
  opacity:0;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
  will-change:opacity;
  transition:opacity 8s linear;
}

@media (hover:none) and (pointer:coarse){
  .section-intro-person{
    background:url("/images/meer5.jpg") center center / cover no-repeat scroll;
  }

  .intro-person-background{
    display:none;
  }
}

.intro-person-bg.is-active{
  opacity:1;
}

.intro-person-bg-1{
  background-image:url("/images/meer5.jpg");
}

.intro-person-bg-2{
  background-image:url("/images/meer3.jpg");
}

.section-intro-person .stage{
  position:relative;
  z-index:2;
  width:min(84vw, 1480px);
  --intro-panel-bg:rgba(235, 230, 222, 0.38);
  --intro-copy-bg:rgba(235, 230, 222, 0.84);
  --intro-highlight-bg:rgba(255,255,255,.50);
  --intro-panel-border:rgba(255,255,255,.46);
  --intro-photo-panel-bg:rgb(235, 230, 222);
}

.intro-person-lead{
  width:100%;
  margin-bottom:52px;
  padding:38px 44px 42px;
  background:var(--intro-highlight-bg);
  border:1px solid var(--intro-panel-border);
  box-shadow:0 18px 34px rgba(0,0,0,.08);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.intro-person-lead h2{
  max-width:1200px;
  margin-bottom:18px;
}

.intro-person-lead p:last-child{
  max-width:980px;
  margin:0;
}

.intro-person-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:34px;
  align-items:stretch;
}

.intro-person-media{
  min-width:0;
  align-self:start;
}

.intro-person-figure{
  background:transparent;
  border:1px solid var(--intro-panel-border);
  box-shadow:0 18px 34px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.intro-person-photo{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1 / 1;
  padding:0;
  background:var(--intro-photo-panel-bg);
  overflow:hidden;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.intro-person-photo img{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  margin-inline:auto;
  object-fit:contain;
}

.intro-person-caption{
  padding:18px 22px 22px;
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.18);
}

.intro-person-name,
.intro-person-role{
  color:var(--text);
}

.intro-person-name{
  font-size:clamp(1.4rem, 1.8vw, 1.75rem);
  line-height:1.08;
  letter-spacing:-.02em;
  margin-bottom:6px;
}

.intro-person-role{
  font-size:.98rem;
  line-height:1.55;
  color:var(--text-soft);
}

.intro-person-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  padding:0;
  margin:16px 0 0;
}

.intro-person-meta li{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.08);
  background:#f7f4ee;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text);
}

.intro-person-location{
  display:grid;
  grid-template-columns:216px minmax(0, 1fr);
  gap:18px;
  align-items:center;
  margin-top:0;
  padding:18px 20px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,.09);
  box-shadow:0 14px 30px rgba(0,0,0,.06);
}

.intro-person-location-map{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:0;
  background:transparent;
  border:0;
}

.intro-person-location-map img{
  width:216px;
  max-width:100%;
  max-height:none;
}

.intro-person-location-copy{
  max-width:none;
}

.intro-person-location-copy h3{
  margin-bottom:8px;
  font-size:clamp(1.2rem, 1.5vw, 1.48rem);
}

.intro-person-location-copy p{
  margin:0;
  font-size:.98rem;
  line-height:1.55;
}

.intro-person-location-label{
  margin-bottom:6px !important;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.intro-person-copy{
  min-width:0;
  background:var(--intro-copy-bg);
  border:1px solid var(--intro-panel-border);
  box-shadow:0 18px 34px rgba(0,0,0,.08);
  padding:46px 48px 50px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.intro-person-kicker{
  margin-bottom:12px !important;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.intro-person-title{
  margin-bottom:10px;
  max-width:none;
  font-size:clamp(1.65rem, 2.4vw, 2.35rem);
  line-height:1.08;
  letter-spacing:-.015em;
}

.intro-person-credential{
  margin-bottom:4px !important;
  font-size:1rem;
  line-height:1.35;
  color:var(--text);
}

.intro-person-credential + p:not(.intro-person-credential){
  margin-top:22px;
}

.intro-person-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.intro-person-badges span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.12);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text);
}

.intro-person-copy h2{
  margin-bottom:22px;
  max-width:16ch;
}

.intro-person-copy p{
  margin-bottom:16px;
  max-width:none;
}

.intro-person-trust-list{
  display:grid;
  gap:14px;
  list-style:none;
  padding:0;
  margin:26px 0 0;
}

.intro-person-trust-list li{
  position:relative;
  padding:15px 18px 15px 52px;
  background:rgba(255,255,255,.78);
  border-left:3px solid #000;
  box-shadow:var(--shadow-sm);
  font-size:1rem;
  line-height:1.6;
  color:var(--text);
}

.intro-person-trust-list li::before{
  content:"";
  position:absolute;
  left:20px;
  top:50%;
  width:16px;
  height:1px;
  background:var(--accent);
  transform:translateY(-50%);
}

.intro-person-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.intro-person-highlights{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
  margin-top:64px;
}

.intro-highlight{
  position:relative;
  background:var(--intro-highlight-bg);
  border:1px solid var(--intro-panel-border);
  padding:30px 24px 26px;
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.intro-highlight-location{
  grid-column:span 2;
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  gap:24px;
  align-items:center;
}

.intro-highlight-location .intro-person-location-map{
  justify-content:flex-start;
}

.intro-highlight.intro-highlight-location h4{
  max-width:none;
}

.intro-highlight-location .intro-highlight-label{
  margin-bottom:12px !important;
}

.intro-highlight::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  width:calc(100% + 2px);
  height:4px;
  background:#111;
}

.intro-highlight-label{
  margin-bottom:12px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.intro-highlight h4{
  margin-bottom:10px;
}

.intro-highlight p{
  font-size:1rem;
  line-height:1.6;
}

@media (prefers-reduced-motion: reduce){
  .intro-person-bg{
    transition:none;
    opacity:0;
    transform:none;
  }

  .intro-person-bg-1{
    opacity:1;
  }
}

/* ---------- Regions Section ---------- */
/* ---------- Regions Section ---------- */
.section-regions{
  background:#fff;
  padding-bottom:calc(var(--section-y-desktop) + 40px);
}

.section-regions .section-head{
  margin-bottom:54px;
}

.section-regions .section-head p:last-child{
  max-width:900px;
  margin-inline:auto;
}

@media (min-width:1200px){
  .section-regions .section-head{
    width:min(94vw, 1120px);
  }
}

/* ---------- Area Grid ---------- */
.area-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:52px 30px;
}

.area-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:visible;
  transition:transform 320ms ease;
}

.area-card:hover{
  transform:translateY(-6px);
}

.area-media{
  position:relative;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#ddd;
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

.area-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 700ms ease;
}

.area-card:hover .area-media img{
  transform:scale(1.045);
}

.area-body{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1 1 auto;
  width:calc(100% - 44px);
  margin:-16% auto 0;
  padding:30px 24px 28px;
  background:rgba(239, 237, 232, 0.76);
  color:#000;
  border:1px solid rgba(0,0,0,.32);
  box-shadow:0 16px 34px rgba(0,0,0,.14);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.area-body h3{
  margin-bottom:14px;
  font-size:clamp(1.75rem, 2.1vw, 2.25rem); /* wieder etwas kleiner */
  line-height:1.08;
  letter-spacing:.012em;
  color:#000;
}

.area-features{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  padding:0;
  margin:0 0 16px;
}

.area-features li{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 11px;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#222;
  white-space:nowrap;
  border-radius:0;
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    background-color 220ms ease,
    color 220ms ease,
    border-color 220ms ease;
}

.area-features li::before{
  content:none;
}

.area-features li::after{
  content:none;
}

.area-card:hover .area-features li{
  transform:translateY(-1px);
}

.area-card--outline .area-features li{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 6px 12px rgba(0,0,0,.05);
}

.area-card--accent .area-features li{
  background:linear-gradient(180deg, #cf4a4a 0%, #b62d2d 100%);
  color:#fff;
  border:1px solid rgba(177,38,38,.6);
  box-shadow:0 8px 16px rgba(204,51,51,.18);
}

.area-card--stripe .area-features li{
  padding-left:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 6px 12px rgba(0,0,0,.04);
}

.area-card--stripe .area-features li::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#6f6f6f;
}

.area-card--inverse .area-features li{
  background:#161616;
  color:#fff;
  border:1px solid #161616;
  box-shadow:0 8px 16px rgba(0,0,0,.12);
}

.area-card--frame .area-features li{
  padding:9px 13px;
  background:rgba(255,255,255,.58);
  border:1px solid #000;
}

.area-card--frame .area-features li::before,
.area-card--frame .area-features li::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  pointer-events:none;
}

.area-card--frame .area-features li::before{
  top:4px;
  left:4px;
  border-top:1px solid #000;
  border-left:1px solid #000;
}

.area-card--frame .area-features li::after{
  right:4px;
  bottom:4px;
  border-right:1px solid #000;
  border-bottom:1px solid #000;
}

.area-card--glass .area-features li{
  background:rgba(255,255,255,.48);
  border:1px solid #000;
  box-shadow:0 8px 16px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.08);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.area-body p{
  margin-bottom:22px;
  font-size:1rem;
  line-height:1.62;
  color:#333;
}

.area-btn{
  margin-top:auto;
  min-height:48px;
  padding:0 20px;
  font-size:14px;
  background:#000;
  color:#fff;
  border-color:#000;
}

.area-btn:hover,
.area-btn:focus-visible{
  background:#fff;
  color:#000;
  border-color:#000;
}

/* ---------- Buy / Sell Rows ---------- */
.buy-sell-section{
  background:var(--bg-sand);
}

.buy-sell-rows{
  display:grid;
  gap:92px;
  background:var(--bg-sand);
  width:clamp(980px, 78vw, 1520px);
  max-width:100%;
  margin-inline:auto;
}

.buy-sell-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  align-items:center;
  column-gap:0;
  overflow:visible;
}

.buy-sell-image-wrap,
.buy-sell-card-wrap{
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
}

.buy-row .buy-sell-image-wrap{
  grid-column:1 / 2;
  justify-content:flex-start;
}

.buy-row .buy-sell-card-wrap{
  grid-column:2 / 3;
  justify-content:flex-start;
}

.sell-row .buy-sell-card-wrap{
  grid-column:1 / 2;
  justify-content:flex-end;
}

.sell-row .buy-sell-image-wrap{
  grid-column:2 / 3;
  justify-content:flex-end;
}

.buy-sell-image{
  position:relative;
  z-index:1;
  width:100%;
  min-height:540px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:var(--shadow-sm);
  background:#d9d9d9;
}

.buy-sell-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
}

.buy-sell-card{
  position:relative;
  z-index:2;
  width:min(100%, 520px);
  aspect-ratio:1 / 1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border:1px solid #000;
  box-shadow:0 22px 50px rgba(0,0,0,.14);
  padding:32px 32px 34px;
}

.buy-row .buy-sell-card{
  margin-left:-72px;
  margin-right:auto;
}

.sell-row .buy-sell-card{
  margin-right:-72px;
  margin-left:auto;
}

.buy-sell-kicker{
  margin-bottom:12px;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.buy-sell-card h3{
  margin-bottom:14px;
  font-size:clamp(1.8rem, 2vw, 2.35rem);
  line-height:1.08;
  letter-spacing:-.02em;
}

.buy-sell-card > p{
  margin-bottom:22px;
  font-size:clamp(1rem, 1.02vw, 1.08rem);
  line-height:1.66;
  color:var(--text-soft);
}

.buy-sell-points{
  list-style:none;
  padding:0;
  margin:0 0 28px;
  display:grid;
  gap:10px;
}

.buy-sell-points li{
  padding-left:14px;
  border-left:2px solid #000;
  font-size:15px;
  line-height:1.55;
  color:var(--text);
}

.buy-sell-card .btn{
  align-self:flex-start;
}

/* ---------- Map Search Feature ---------- */
.map-search-section{
  position:relative;
  overflow:hidden;
  padding-bottom:calc(var(--section-y-desktop) + 34px);
  background:
    linear-gradient(135deg, rgba(246,246,243,.92) 0%, #fff 52%, rgba(238,238,235,.78) 100%);
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.08);
}

.map-search-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0,0,0,.035) 1px, transparent 1px);
  background-size:64px 64px;
  opacity:.55;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 44%, transparent 100%);
}

.map-search-section .eyebrow::before{
  background:var(--accent);
}

.map-search-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.14fr) minmax(380px, .86fr);
  gap:clamp(42px, 6vw, 104px);
  align-items:start;
}

.map-search-copy{
  order:2;
  min-width:0;
  max-width:650px;
}

.map-search-copy h2{
  margin-bottom:18px;
}

.map-search-copy p{
  margin-bottom:16px;
}

.map-search-copy .btn{
  margin-top:18px;
}

.map-search-visual{
  order:1;
  min-width:0;
  display:flex;
  justify-content:flex-start;
  align-self:start;
  padding-top:34px;
}

.map-search-image-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(100% + ((100vw - var(--stage-w)) / 2));
  margin-left:calc((var(--stage-w) - 100vw) / 2);
  margin-right:0;
}

.map-search-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:1000 / 667;
  object-fit:contain;
}

/* ---------- IDX Map Search Page ---------- */
.idx-page{
  background:#e7e7e4;
}

.idx-page .idx-main{
  background:#e7e7e4;
}

.idx-page .site-header{
  background:#000;
}

.idx-main{
  padding-top:var(--header-h);
}

.idx-shell{
  width:100%;
}

.idx-search-strip{
  display:block;
  width:100%;
  background:linear-gradient(to bottom, #eeeeec 0%, #d6d6d2 100%);
  border-bottom:1px solid rgba(0,0,0,.24);
  position:relative;
  z-index:60;
}

.idx-search-title{
  min-width:0;
}

.idx-kicker{
  margin-bottom:4px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.idx-search-title h1{
  font-size:1.45rem;
  line-height:1.08;
  letter-spacing:0;
}

.idx-search-note{
  max-width:720px;
  font-size:.92rem;
  line-height:1.45;
  color:var(--text-soft);
}

.idx-search-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px 14px;
  white-space:nowrap;
}

.idx-search-actions a,
.idx-footer a{
  position:relative;
  text-decoration:none;
}

.idx-search-actions a{
  font-size:.86rem;
  line-height:1.2;
  font-weight:700;
  color:#111;
  padding-bottom:3px;
}

.idx-search-actions a::after,
.idx-footer a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 260ms ease;
}

.idx-search-actions a:hover::after,
.idx-search-actions a:focus-visible::after,
.idx-footer a:hover::after,
.idx-footer a:focus-visible::after{
  transform:scaleX(1);
}

.idx-frame-wrap{
  position:relative;
  width:100%;
  min-height:420px;
  overflow:hidden;
  background:#fff;
}

.idx-frame-wrap iframe#idxFrame{
  display:block;
  width:100%;
  min-height:420px;
  border:0;
  background:#fff;
}

.idx-info-overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:42;
  margin:0;
  display:block;
}

.idx-info-overlay--strip{
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  z-index:45;
}

.idx-info-overlay--strip .idx-info-panel{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:60;
}

.idx-info-overlay > summary{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;
  width:var(--stage-w);
  min-height:42px;
  margin-inline:auto;
  padding:5px 0;
  list-style:none;
  cursor:pointer;
  user-select:none;
  background:transparent;
  border-bottom:0;
  color:#222;
  font-size:13px;
  line-height:1.15;
  font-weight:700;
}

.idx-info-overlay > summary::-webkit-details-marker{
  display:none;
}

.idx-info-overlay > summary::marker{
  display:none;
}

.idx-info-summary-text{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
}

.idx-info-summary-text strong,
.idx-info-summary-text span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.idx-info-summary-text strong{
  flex:0 0 auto;
  color:#111;
  font-size:1.15rem;
  line-height:1.08;
}

.idx-info-summary-text span{
  min-width:0;
  color:#5f5f5b;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.idx-info-toggle-mark{
  position:relative;
  display:block;
  width:18px;
  height:18px;
  border:1px solid rgba(0,0,0,.38);
  background:#f7f7f4;
  box-shadow:0 3px 7px rgba(0,0,0,.10);
}

.idx-info-toggle-mark::before,
.idx-info-toggle-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#111;
  transform:translate(-50%, -50%);
}

.idx-info-toggle-mark::before{
  width:10px;
  height:2px;
}

.idx-info-toggle-mark::after{
  width:2px;
  height:10px;
}

.idx-info-overlay[open] .idx-info-toggle-mark::after{
  opacity:0;
}

.idx-info-toggle-label{
  display:block;
  min-width:max-content;
  color:#575752;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.idx-info-toggle-label-close{
  display:none;
}

.idx-info-overlay[open] .idx-info-toggle-label-open{
  display:none;
}

.idx-info-overlay[open] .idx-info-toggle-label-close{
  display:inline;
}

.idx-info-panel{
  height:0;
  overflow:hidden;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.10);
  border-top:0;
  box-shadow:0 14px 28px rgba(0,0,0,.16);
  opacity:0;
  transform:translateY(-6px);
  transition:
    height 460ms ease,
    opacity 360ms ease,
    transform 460ms ease;
}

.idx-info-overlay.is-animating .idx-info-panel,
.idx-info-overlay[open] .idx-info-panel{
  opacity:1;
  transform:none;
}

.idx-info-overlay[open]:not(.is-animating) .idx-info-panel{
  height:auto;
}

.idx-info-inner{
  max-height:var(--idx-overlay-max-h, calc(100vh - 170px));
  overflow:auto;
  padding:18px 18px 20px;
  color:#222;
}

.idx-info-copy{
  min-width:0;
}

.idx-info-inner h2{
  margin-bottom:12px;
  font-size:1.3rem;
}

.idx-info-inner p{
  max-width:980px;
  margin-bottom:10px;
  font-size:.92rem;
  line-height:1.55;
}

.idx-info-inner p:last-child{
  margin-bottom:0;
}

.idx-info-tip{
  max-width:980px;
  margin:14px 0 14px;
  padding:12px 14px 12px 18px;
  background:#eeeeeb;
  border-left:4px solid #111;
  color:#222;
}

.idx-info-tip strong{
  font-weight:700;
}

@media (min-width:1080px){
  .idx-info-inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(380px, 520px);
    gap:8px 28px;
    align-items:start;
  }

  .idx-object-form{
    margin-top:0;
  }

  .idx-info-copy{
    align-self:center;
  }

  .idx-info-close{
    margin-top:0;
  }
}

@media (min-width:1480px){
  .idx-info-inner{
    max-width:1460px;
    margin-inline:auto;
  }
}

.idx-object-form{
  position:relative;
  margin-top:18px;
  padding:24px 28px 26px;
  overflow:hidden;
  background:linear-gradient(180deg, #363733 0%, #2b2c29 100%);
  border:1px solid rgba(255,255,255,.20);
  border-radius:8px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 18px 38px rgba(0,0,0,.20);
  transition:transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.idx-object-form::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, #777871 0%, #fff4e2 46%, #b8b4aa 100%);
  pointer-events:none;
}

.idx-object-form:hover,
.idx-object-form:focus-within{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 22px 46px rgba(0,0,0,.24);
}

.idx-object-form-head{
  position:relative;
  margin:0;
  padding:0 0 22px;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.idx-object-form-head h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:6px;
  font-size:1.12rem;
  line-height:1.18;
  color:#fff;
}

.idx-object-form-head-icon{
  display:inline-flex;
  width:27px;
  height:27px;
  flex:0 0 27px;
  align-items:center;
  justify-content:center;
  color:#fff;
}

.idx-object-form-head-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.idx-object-form-head p{
  max-width:900px;
  margin-bottom:0;
  font-size:.88rem;
  color:rgba(255,248,235,.76);
}

.idx-object-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:15px 22px;
  padding:18px 0 0;
}

.idx-object-form label{
  display:grid;
  gap:6px;
}

.idx-object-form label span{
  color:rgba(255,248,235,.82);
  font-size:.74rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.idx-object-form input,
.idx-object-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,244,226,.54);
  border-radius:0;
  background:rgba(255,255,255,.035);
  padding:10px 0 9px;
  color:#fffaf0;
  outline:none;
  box-shadow:0 1px 0 rgba(0,0,0,.18);
  transition:border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.idx-object-form input:hover,
.idx-object-form textarea:hover{
  border-color:rgba(255,244,226,.72);
  background:rgba(255,255,255,.055);
}

.idx-object-form input::placeholder,
.idx-object-form textarea::placeholder{
  color:rgba(255,244,226,.18);
}

.idx-object-form textarea{
  min-height:62px;
  resize:vertical;
}

.idx-object-form input:focus,
.idx-object-form textarea:focus{
  background:rgba(255,255,255,.065);
  border-color:#fff4e2;
  box-shadow:0 1px 0 #fff4e2;
}

.idx-object-form-full{
  grid-column:1 / -1;
}

.idx-object-form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:22px;
  padding:0;
  background:transparent;
  border-top:0;
}

.idx-object-form-actions .btn{
  min-height:44px;
  padding-inline:20px;
}

.idx-object-form-actions .btn-inverse:hover,
.idx-object-form-actions .btn-inverse:focus-visible{
  background:#757575;
  color:#fff;
  border-color:#7d7e78;
  box-shadow:0 14px 28px rgba(0,0,0,.34), 0 0 0 2px rgba(255,255,255,.16);
  transform:translateY(-2px);
}

.idx-object-form-actions p{
  margin:0;
  font-size:.82rem;
  line-height:1.4;
  color:rgba(255,248,235,.68);
}

.idx-object-form-actions .idx-object-form-note{
  color:rgba(255,248,235,.86);
  font-weight:700;
}

.idx-object-form-response{
  flex-basis:100%;
}

.idx-info-close{
  grid-column:1 / -1;
  justify-self:start;
  display:inline-grid;
  grid-template-columns:18px auto;
  align-items:center;
  gap:10px;
  margin:14px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#222;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  cursor:pointer;
}

.idx-info-close .idx-info-toggle-mark::after{
  opacity:0;
}

.idx-info-close span:last-child{
  border-bottom:1px solid currentColor;
}

.idx-info-close:hover,
.idx-info-close:focus-visible{
  color:#000;
}

.idx-activation-cover{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:38px clamp(18px, 4vw, 56px);
  overflow:hidden;
  background:#111;
  border-bottom:1px solid rgba(0,0,0,.16);
}

.idx-activation-cover::before{
  content:"";
  position:absolute;
  inset:-4px;
  z-index:0;
  background:
    linear-gradient(rgba(0,0,0,.46), rgba(0,0,0,.46)),
    url("/images/kartensuche-bg.jpg") center center / cover no-repeat;
  filter:blur(2px);
  transform:scale(1.015);
}

.idx-activation-cover[hidden]{
  display:none;
}

.idx-activation-cover.is-hint-mode{
  background:#fff;
  border:1px solid rgba(0,0,0,.16);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}

.idx-activation-cover.is-hint-mode::before{
  display:none;
}

.idx-activation-cover.is-hint-mode .idx-cover-card{
  background:transparent;
  border:0;
  box-shadow:none;
}

.idx-activation-cover.is-hint-mode .idx-cover-accent{
  display:none;
}

.idx-cover-standard,
.idx-cover-hint{
  position:relative;
  z-index:1;
  width:min(100%, 620px);
}

.idx-cover-card{
  width:100%;
  overflow:hidden;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  text-align:center;
}

.idx-cover-accent{
  height:4px;
  background:#000;
}

.idx-cover-card h2{
  margin:24px 24px 10px;
  font-size:1.7rem;
}

.idx-cover-card p{
  width:min(100% - 42px, 520px);
  margin:0 auto 12px;
  font-size:1rem;
  line-height:1.45;
}

.idx-cover-callout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:46px;
  margin-top:8px !important;
  margin-bottom:14px !important;
  padding:10px 18px;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
  font-weight:700;
  color:#222;
}

.idx-cover-callout span[aria-hidden="true"]{
  font-size:1.35rem;
  line-height:1;
}

.idx-cover-map-callout img{
  width:65px;
  height:30px;
  flex:0 0 auto;
}

.idx-cover-privacy{
  margin-bottom:26px !important;
  font-size:.82rem !important;
  color:#707070;
}

.idx-cover-hint[hidden],
.idx-cover-standard[hidden]{
  display:none;
}

.idx-footer{
  width:100%;
  background:#000;
  color:rgba(255,255,255,.78);
  border-top:1px solid rgba(255,255,255,.12);
}

.idx-footer-inner{
  display:grid;
  grid-template-columns:auto auto auto auto;
  align-items:center;
  justify-content:center;
  gap:clamp(30px, 5vw, 92px);
  min-height:48px;
  padding:6px clamp(16px, 2.6vw, 42px);
  font-size:.82rem;
  line-height:1.18;
  text-align:left;
}

.idx-footer strong{
  color:#fff;
}

.idx-footer a{
  color:rgba(255,255,255,.86);
  padding-bottom:2px;
}

.idx-footer .idx-footer-primary-link{
  color:#fff;
}

.idx-footer-brand img{
  display:block;
  width:clamp(130px, 12vw, 188px);
  height:auto;
  max-height:48px;
  object-fit:contain;
  filter:grayscale(1) brightness(1.25);
}

.idx-footer-person{
  display:grid;
  gap:3px;
  min-width:max-content;
}

.idx-footer-person-compact{
  display:none;
}

.idx-footer-person span,
.idx-footer-contact span{
  color:rgba(255,255,255,.72);
}

.idx-footer-contact{
  display:grid;
  grid-template-columns:34px minmax(0, auto);
  align-items:center;
  gap:10px;
  min-width:max-content;
}

.idx-footer-contact > span:last-child{
  display:grid;
  gap:3px;
  justify-items:start;
}

.idx-footer-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.52);
  color:#fff;
}

.idx-footer-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.idx-footer-link-row{
  display:flex !important;
  gap:6px;
  align-items:center;
  color:rgba(255,255,255,.48) !important;
}

.idx-footer-mobile{
  display:none;
}

.idx-break-670{
  display:none;
}

@media (min-width:670px){
  .idx-break-670{
    display:block;
  }
}

/* ---------- CTA Band ---------- */
.cta-band{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:760px;
  display:flex;
  align-items:flex-start;
  padding-block:96px 150px;
  background:#111;
}

.cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("/images/contact-background.jpg") center center / cover no-repeat;
  transform:scale(1.02);
}

.cta-box{
  width:min(92vw, 1040px);
  text-align:center;
  color:#fff;
}

.cta-box .eyebrow{
  color:rgba(255,248,235,.78);
}

.cta-box .eyebrow::before{
  background:rgba(255,248,235,.78);
}

.cta-box h2{
  color:#fff;
  margin-bottom:18px;
}

.cta-lead{
  max-width:760px;
  margin:0 auto 30px;
  color:rgba(255,250,240,.88);
}

.contact-form-intro{
  margin-bottom:40px;
  text-align:left;
}

.contact-form-intro .eyebrow{
  justify-content:flex-start;
}

.contact-form-intro .cta-lead{
  max-width:860px;
  margin:0;
  font-size:clamp(1rem, 1.08vw, 1.06rem);
  line-height:1.65;
}

.contact-form{
  max-width:840px;
  margin:42px auto 0;
  padding:34px 38px 36px;
  border:1px solid rgba(255,244,226,.24);
  background:rgba(18,16,13,.42);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-align:left;
}

.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px 22px;
}

.contact-form label{
  display:grid;
  gap:9px;
}

.contact-form span{
  color:rgba(255,248,235,.82);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.contact-form em{
  color:rgba(255,244,226,.62);
  font-style:normal;
  font-weight:400;
  letter-spacing:.04em;
  text-transform:none;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  min-height:48px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid rgba(255,244,226,.48);
  border-radius:0;
  background:transparent;
  color:#fffaf0;
  font:inherit;
  outline:none;
  transition:border-color 180ms ease, box-shadow 180ms ease;
}

.contact-form select{
  cursor:pointer;
}

.contact-form option{
  color:#111;
}

.contact-form textarea{
  min-height:86px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#fff4e2;
  box-shadow:0 1px 0 #fff4e2;
}

.contact-message{
  margin-top:18px;
}

.contact-honey{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.contact-form-footer{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  margin-top:24px;
}

.contact-note{
  max-width:330px;
  margin:0;
  color:rgba(255,248,235,.76);
  font-size:.9rem;
  line-height:1.55;
}

.contact-form-status{
  display:none;
  margin:22px 0 0;
  padding:16px 18px;
  border:1px solid #000;
  background:rgba(255,255,255,.94);
  color:#000;
  font-weight:700;
  line-height:1.5;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
}

.contact-form-status.is-visible{
  display:block;
}

.contact-form-status.is-error{
  border-color:rgba(255,205,205,.72);
  background:rgba(130,26,26,.84);
  color:#fff1f1;
}

/* ---------- Footer ---------- */
.site-footer{
  position:relative;
  overflow:hidden;
  background:#000;
  border-top:1px solid rgba(255,255,255,.10);
  padding-block:48px 0;
}

.site-footer .stage{
  padding-inline:clamp(28px, 3.5vw, 72px);
}

.footer-grid{
  position:relative;
  display:grid;
  left:clamp(18px, 3vw, 64px);
  grid-template-columns:minmax(270px, .95fr) minmax(320px, 1.05fr) minmax(320px, 1.05fr);
  column-gap:clamp(42px, 4.5vw, 84px);
  row-gap:42px;
  align-items:start;
}

.footer-grid > *{
  max-width:430px;
}

.footer-contact{
  max-width:480px;
}

.footer-image-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  width:100%;
  margin-inline:0;
  margin-top:34px;
  padding-inline:0;
}

.footer-shells{
  width:min(600px, 54vw);
  height:auto;
  pointer-events:none;
  user-select:none;
}

.footer-legal{
  display:grid;
  justify-items:end;
  gap:14px;
  margin-right:clamp(24px, 5vw, 96px);
  margin-bottom:34px;
}

.footer-realtor{
  display:block;
  width:clamp(86px, 10.1vw, 110px);
  height:auto;
  pointer-events:none;
  user-select:none;
}

.footer-legal nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 16px;
  font-size:.78rem;
}

.site-footer h3{
  font-size:clamp(1rem, .95vw, 1.12rem);
  margin-bottom:14px;
  color:#fff;
}

.site-footer ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.site-footer a{
  position:relative;
  text-decoration:none;
  color:rgba(255,255,255,.78);
  padding-bottom:2px;
}

.footer-legal a{
  color:rgba(255,255,255,.44);
}

.site-footer a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 320ms ease;
}

.site-footer a:hover,
.site-footer a:focus-visible{
  color:#fff;
}

.site-footer a:hover::after,
.site-footer a:focus-visible::after{
  transform:scaleX(1);
}

.footer-brand .brand-main{
  display:inline-block;
  margin-bottom:18px;
  color:#fff;
  font-weight:700;
  font-size:clamp(1.55rem, 1.55vw, 1.78rem);
  line-height:1.12;
}

.footer-brand p{
  margin:0;
  color:rgba(255,255,255,.66);
  line-height:1.55;
}

.footer-brand p + p{
  margin-top:3px;
}

.footer-brand .footer-person-name{
  color:#fff;
  font-weight:700;
  font-size:clamp(1.55rem, 1.55vw, 1.78rem);
  line-height:1.12;
  margin-top:0;
}

.footer-brand p:last-child{
  color:rgba(255,255,255,.66);
}

.footer-office-logo{
  display:block;
  width:min(275px, 100%);
  height:auto;
  margin-top:8px;
  margin-bottom:34px;
  filter:grayscale(1);
}

.footer-person{
  display:grid;
  gap:0;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.62);
}

.footer-person-credentials{
  display:grid;
  gap:1px;
  margin-top:7px;
}

.footer-brand .footer-person-credentials p{
  color:rgba(255,255,255,.82);
  line-height:1.35;
}

.footer-location + .footer-location{
  margin-top:24px;
}

.footer-location{
  display:grid;
  grid-template-columns:clamp(42px, 2.4vw, 48px) minmax(0, 1fr);
  gap:clamp(14px, 1vw, 18px);
  align-items:start;
}

.footer-location-icon{
  display:grid;
  place-items:center;
  width:clamp(42px, 2.4vw, 48px);
  height:clamp(42px, 2.4vw, 48px);
  border:1px solid rgba(255,255,255,.52);
  color:#fff;
  margin-top:1px;
}

.footer-location-icon svg{
  width:clamp(21px, 1.2vw, 24px);
  height:clamp(21px, 1.2vw, 24px);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-location-label{
  margin:0 0 3px;
  color:rgba(255,255,255,.46);
  font-size:clamp(1rem, .95vw, 1.12rem);
  line-height:1.2;
}

.footer-location h3{
  margin-bottom:9px;
  color:#fff;
  font-size:clamp(1rem, .95vw, 1.12rem);
  line-height:1.2;
}

.footer-office address,
.footer-contact li span:last-child{
  color:rgba(255,255,255,.72);
  font-size:clamp(1rem, .9vw, 1.08rem);
  font-style:normal;
  line-height:1.65;
}

.footer-contact ul{
  gap:18px;
}

.footer-contact h3{
  font-size:clamp(1.12rem, 1.15vw, 1.34rem);
}

.footer-contact li{
  display:grid;
  grid-template-columns:clamp(48px, 2.75vw, 56px) minmax(0, 1fr);
  gap:clamp(16px, 1.2vw, 22px);
  align-items:center;
  color:rgba(255,255,255,.72);
}

.footer-contact-icon{
  display:grid;
  place-items:center;
  width:clamp(48px, 2.75vw, 56px);
  height:clamp(48px, 2.75vw, 56px);
  border:1px solid rgba(255,255,255,.52);
  color:#fff;
  font-size:.95rem;
  line-height:1;
}

.footer-contact-icon svg{
  width:clamp(24px, 1.38vw, 28px);
  height:clamp(24px, 1.38vw, 28px);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-contact-separator{
  color:rgba(255,255,255,.38);
  margin-inline:7px;
}

.footer-contact li span:last-child{
  font-size:clamp(1.1rem, 1.08vw, 1.24rem);
}

/* ---------- Mobile Menu ---------- */
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:1100;
}

.mobile-menu-backdrop{
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(0,0,0,.18);
  opacity:0;
  transition:opacity 320ms ease;
}

.mobile-menu-close{
  position:absolute;
  top:22px;
  right:24px;
  z-index:3;
  width:46px;
  height:46px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  transition:transform 280ms ease;
}

.mobile-menu-close span{
  position:absolute;
  top:50%;
  left:50%;
  width:30px;
  height:2px;
  background:#fff;
  transform-origin:center;
}

.mobile-menu-close span:first-child{
  transform:translate(-50%, -50%) rotate(45deg);
}

.mobile-menu-close span:last-child{
  transform:translate(-50%, -50%) rotate(-45deg);
}

.mobile-menu-close:hover,
.mobile-menu-close:focus-visible{
  transform:rotate(90deg);
}

.mobile-menu-inner{
  position:absolute;
  top:0;
  right:0;
  width:min(90vw, 400px);
  height:100%;
  background:rgba(0,0,0,.64);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:-18px 0 40px rgba(0,0,0,.28);
  padding:96px 28px 32px;
  transform:translateX(100%);
  transition:transform 320ms ease;
  display:flex;
  flex-direction:column;
  border-radius:0;
  z-index:1;
}

.mobile-menu.is-open .mobile-menu-backdrop{
  opacity:1;
}

.mobile-menu.is-open .mobile-menu-inner{
  transform:translateX(0);
}

.mobile-nav{
  display:grid;
  gap:18px;
}

.mobile-nav a{
  position:relative;
  display:inline-block;
  width:max-content;
  text-decoration:none;
  font-size:1.1rem;
  line-height:1.2;
  text-transform:uppercase;
  color:#fff;
  padding-bottom:4px;
}

.mobile-nav-domain{
  margin-bottom:2px;
  color:rgba(255,255,255,.72) !important;
  font-size:1.1rem !important;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.mobile-nav-start{
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.42);
}

.mobile-nav .mobile-nav-legal{
  font-size:.78rem;
  font-weight:400;
  color:rgba(255,255,255,.68);
}

.mobile-nav .mobile-nav-impressum{
  margin-top:24px;
  margin-bottom:-8px;
}

.mobile-nav-group{
  display:inline-block;
  width:max-content;
  color:#fff;
  font-size:1.1rem;
  line-height:1.2;
  text-transform:uppercase;
  padding-bottom:4px;
}

.mobile-nav-submenu{
  display:grid;
  gap:10px;
  margin-top:-10px;
  margin-left:22px;
  padding:2px 0 2px 18px;
  border-left:1px solid rgba(255,255,255,.34);
}

.mobile-nav-submenu a{
  font-size:.92rem;
  text-transform:none;
  color:rgba(255,255,255,.78);
}

.mobile-nav a:first-child{
  text-transform:none;
  letter-spacing:.02em;
}

.mobile-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 320ms ease;
}

.mobile-nav a:hover::after,
.mobile-nav a:focus-visible::after,
.mobile-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

/* ---------- Skip Link ---------- */
.skip-link{
  position:absolute;
  left:20px;
  top:12px;
  z-index:1200;
  background:#000;
  color:#fff;
  padding:10px 14px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 10px 24px rgba(0,0,0,.20);
  text-decoration:none;
  transform:translateY(-150%);
  transition:transform 220ms ease;
}

.skip-link:focus{
  transform:translateY(0);
}

/* ---------- Utility ---------- */
.visually-hidden{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

/* ---------- Reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .65s ease, transform .65s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .brand-logo{
    width:230px;
  }

  .area-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:46px 30px;
  }

  .intro-person-highlights{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .main-nav{
    gap:76px;
  }

  .main-nav-primary{
    gap:18px;
  }

  .main-nav-pair{
    gap:46px;
  }

  .main-nav-primary a,
  .main-nav-pair a{
    font-size:17px;
  }

  .main-nav-secondary{
    gap:10px;
  }

  .buy-sell-image,
  .buy-sell-image img{
    min-height:500px;
  }

  .buy-row .buy-sell-card{
    margin-left:-84px;
  }

  .sell-row .buy-sell-card{
    margin-right:-84px;
  }
}

@media (max-width:1180px){
  .site-footer .stage{
    width:100%;
    padding-inline:clamp(24px, 3vw, 36px);
  }

  .footer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    column-gap:36px;
    left:0;
  }

  .footer-brand{
    grid-column:auto;
    grid-row:1 / span 2;
    max-width:430px;
  }

  .footer-office{
    grid-column:2;
    display:block;
  }

  .footer-location + .footer-location{
    margin-top:24px;
  }
}

@media (min-width:760px){
  .footer-image-row{
    margin-top:0;
  }
}

@media (max-width:1080px){
  .main-nav{
    gap:34px;
  }

  .main-nav-pair{
    display:grid;
    grid-template-columns:auto auto auto;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:24px;
    row-gap:8px;
  }

  .main-nav-home{
    grid-column:1;
    grid-row:1 / span 2;
  }

  .main-nav-divider-home{
    grid-column:2;
    grid-row:1 / span 2;
  }

  .main-nav-buy{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }

  .main-nav-sell{
    grid-column:3;
    grid-row:2;
    justify-self:end;
  }

  .idx-search-note{
    grid-column:1 / -1;
    max-width:none;
  }

  .idx-info-toggle-label{
    display:none;
  }

  .idx-footer-inner{
    grid-template-columns:auto auto auto auto;
    gap:8px 18px;
    font-size:.82rem;
    min-height:48px;
    padding-block:6px;
  }

  .idx-footer-brand img{
    width:112px;
  }

  .idx-footer-phone{
    margin-left:18px;
  }

  .idx-footer-contact{
    grid-template-columns:30px minmax(0, auto);
    gap:8px;
  }

  .idx-footer-icon{
    width:30px;
    height:30px;
  }

  .idx-footer-icon svg{
    width:16px;
    height:16px;
  }
}

@media (min-width:851px) and (max-width:1279px){
  .idx-footer-brand img{
    width:clamp(142px, 12vw, 162px);
    max-height:48px;
  }
}

@media (min-width:1080px) and (max-width:1279px){
  .idx-footer-brand img{
    width:176px;
  }
}

@media (min-width:1280px){
  .idx-footer-brand img{
    width:clamp(176px, 12vw, 188px);
  }
}

@media (max-width:850px){
  .stage{
    width:100%;
    padding-inline:var(--pad-x-mobile);
  }

  .idx-info-overlay > summary{
    width:100%;
    margin-inline:0;
    padding-inline:var(--pad-x-mobile);
  }

  .header-inner{
    gap:20px;
  }

  .main-nav{
    gap:0;
  }

  .main-nav-pair{
    display:flex;
    gap:0;
  }

  .main-nav-divider-home,
  .main-nav-buy,
  .main-nav-sell,
  .main-nav-secondary{
    display:none;
  }

  .nav-toggle{
    display:inline-flex;
  }
}

@media (max-width:980px){
  .map-search-section{
    padding-top:26px;
    background:
      linear-gradient(to bottom, var(--bg-sand) 0 62vw, #fff 62vw 100%);
  }

  .cta-band{
    min-height:720px;
    padding-block:72px 96px;
  }

  .contact-form{
    max-width:760px;
    padding:30px 32px 32px;
  }

  .contact-form-intro{
    margin-bottom:32px;
  }

  .intro-person-lead{
    padding:34px 32px 38px;
  }

  .intro-person-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .intro-person-media{
    display:block;
  }

  .intro-person-highlights{
    grid-template-columns:1fr 1fr;
  }

  .intro-person-copy{
    padding:34px 32px 38px;
    min-height:auto;
    justify-content:flex-start;
  }

  .intro-person-location{
    grid-template-columns:1fr;
    padding:18px;
    align-self:end;
  }

  .intro-person-photo{
    min-height:0;
    padding:0;
  }

  .intro-person-photo img{
    width:100%;
    max-height:none;
  }

  .buy-sell-rows{
    gap:64px;
  }

  .buy-sell-row{
    grid-template-columns:1fr;
    gap:0;
  }

  .buy-row .buy-sell-image-wrap,
  .buy-row .buy-sell-card-wrap,
  .sell-row .buy-sell-image-wrap,
  .sell-row .buy-sell-card-wrap{
    grid-column:auto;
    justify-content:stretch;
  }

  .buy-row .buy-sell-image-wrap,
  .sell-row .buy-sell-image-wrap{
    order:1;
  }

  .buy-row .buy-sell-card-wrap,
  .sell-row .buy-sell-card-wrap{
    order:2;
  }

  .buy-sell-image{
    width:100%;
    min-height:420px;
  }

  .buy-sell-image img{
    min-height:420px;
  }

  .buy-row .buy-sell-card,
  .sell-row .buy-sell-card{
    width:min(100%, 720px);
    aspect-ratio:auto;
    margin:0 auto;
    margin-top:-72px;
    padding:28px 28px 30px;
  }

  .map-search-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .map-search-copy{
    order:2;
    width:min(100%, 820px);
    max-width:820px;
    margin-inline:auto;
  }

  .map-search-visual{
    order:1;
    justify-content:center;
  }

  .map-search-image-wrap{
    width:100vw;
    max-width:none;
    margin-left:calc((100vw - 100%) / -2);
    margin-right:calc((100vw - 100%) / -2);
  }

}

@media (max-width:850px){
  .idx-footer-brand{
    display:none;
  }

  .idx-footer-inner{
    grid-template-columns:auto auto auto;
  }

  .idx-footer-person-desktop{
    display:none;
  }

  .idx-footer-person-compact{
    display:block;
  }
}

@media (max-width:759px){
  .stage{
    width:100%;
    padding-inline:var(--pad-x-mobile);
  }

  .brand-main{
    font-size:16px;
    letter-spacing:.01em;
  }

  .section{
    padding-block:var(--section-y-mobile);
  }

  .section-regions{
    padding-top:48px;
    padding-bottom:calc(var(--section-y-mobile) + 24px);
  }

  .hero{
    min-height:100vh;
  }

  .hero-stage{
    min-height:100vh;
    padding-top:108px;
    padding-bottom:76px;
    align-items:flex-end;
  }

  .hero-copy{
    max-width:100%;
  }

  .hero-copy h1.wordmark-spaced{
    width:calc(100vw - var(--pad-x-mobile));
    max-width:none;
  }

  .hero-lead{
    font-size:.98rem;
    line-height:1.58;
  }

  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .btn{
    min-height:52px;
    width:auto;
  }

  .map-search-section{
    padding-top:24px;
    padding-bottom:calc(var(--section-y-mobile) + 28px);
    background:
      linear-gradient(to bottom, var(--bg-sand) 0 62vw, #fff 62vw 100%);
  }

  .map-search-grid{
    gap:28px;
  }

  .map-search-image-wrap{
    width:100vw;
    max-width:none;
    margin-left:calc((100vw - 100%) / -2);
    margin-right:calc((100vw - 100%) / -2);
  }

  .area-grid,
  .intro-person-highlights,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-grid > *,
  .footer-brand{
    max-width:none;
  }

  .footer-contact{
    max-width:none;
  }

  .footer-brand{
    grid-row:auto;
  }

  .footer-office{
    grid-column:auto;
    display:block;
  }

  .footer-location + .footer-location{
    margin-top:24px;
  }

  .intro-highlight-location{
    grid-column:auto;
    grid-template-columns:1fr;
  }

  .intro-person-lead{
    padding:28px 22px 32px;
    margin-bottom:24px;
  }

  .intro-person-media{
    display:block;
  }

  .intro-person-photo{
    min-height:0;
    padding:0;
  }

  .intro-person-caption{
    padding:18px 20px 20px;
  }

  .intro-person-meta,
  .intro-person-badges{
    gap:10px;
  }

  .intro-person-meta li,
  .intro-person-badges span{
    width:100%;
    justify-content:flex-start;
  }

  .intro-person-location{
    padding:16px;
  }

  .intro-person-location-copy{
    max-width:none;
  }

  .intro-person-photo img{
    width:100%;
    max-height:none;
  }

  .intro-person-trust-list li{
    padding:14px 16px 14px 44px;
  }

  .intro-person-actions{
    flex-direction:column;
  }

  .intro-person-actions .btn{
    width:100%;
  }

  .intro-highlight{
    padding:28px 20px 22px;
  }

  .area-body{
    width:calc(100% - 24px);
    margin:-18% auto 0;
    padding:22px 20px 24px;
  }

  .area-features{
    gap:8px;
    margin-bottom:12px;
  }

  .area-features li{
    padding:7px 10px;
    font-size:10px;
  }

  .area-card--stripe .area-features li{
    padding-left:16px;
  }

  .area-card--frame .area-features li{
    padding:8px 11px;
  }

  .area-btn{
    width:100%;
    justify-content:center;
  }

  .buy-sell-rows{
    gap:52px;
  }

  .buy-sell-image{
    min-height:280px;
  }

  .buy-sell-image img{
    min-height:280px;
  }

  .buy-row .buy-sell-card,
  .sell-row .buy-sell-card{
    width:100%;
    margin-top:-38px;
    padding:24px 22px 26px;
  }

  .buy-sell-card h3{
    font-size:clamp(1.5rem, 7vw, 2rem);
  }

  .buy-sell-points{
    gap:8px;
  }

  .cta-band{
    min-height:auto;
    padding-block:46px 64px;
  }

  .cta-band .stage{
    padding-inline:0;
  }

  .cta-box{
    width:100%;
  }

  .cta-band::before{
    background-position:center top;
  }

  .contact-form{
    width:min(calc(100vw - 40px), 430px);
    margin-inline:auto;
    margin-top:0;
    padding:22px 18px 24px;
  }

  .contact-form-intro{
    margin-bottom:24px;
  }

  .contact-form-intro .cta-lead{
    font-size:.96rem;
    line-height:1.5;
  }

  .cta-box h2{
    margin-bottom:12px;
  }

  .contact-form-grid{
    grid-template-columns:1fr;
    gap:13px;
  }

  .contact-form label{
    gap:7px;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea{
    min-height:44px;
    padding:9px 0;
  }

  .contact-form textarea{
    min-height:72px;
  }

  .contact-message{
    margin-top:14px;
  }

  .contact-form-footer{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    margin-top:20px;
  }

  .contact-form-footer .btn{
    width:100%;
    justify-content:center;
  }

  .site-footer{
    padding-block:36px 0;
  }

  .site-footer .stage{
    padding-inline:var(--pad-x-mobile);
  }

  .footer-image-row{
    align-items:flex-end;
    gap:18px;
    margin-top:38px;
  }

  .footer-shells{
    width:min(507px, 65vw);
  }

  .footer-legal{
    gap:10px;
    margin-right:clamp(12px, 4vw, 32px);
    margin-bottom:22px;
  }

  .footer-legal nav{
    gap:8px 12px;
    font-size:.72rem;
  }

  .footer-contact li{
    grid-template-columns:34px minmax(0, 1fr);
    gap:12px;
  }

  .footer-contact h3,
  .footer-contact li span:last-child{
    font-size:1rem;
  }

  .footer-location{
    grid-template-columns:34px minmax(0, 1fr);
    gap:12px;
  }

  .footer-contact-icon{
    width:34px;
    height:34px;
  }

  .footer-location-icon{
    width:34px;
    height:34px;
  }

  .footer-contact-icon svg{
    width:17px;
    height:17px;
  }

  .footer-location-icon svg{
    width:17px;
    height:17px;
  }

  .idx-search-note{
    font-size:.86rem;
    line-height:1.38;
  }

  .idx-search-actions{
    justify-content:flex-start;
    gap:8px 16px;
  }

  .idx-info-overlay > summary{
    grid-template-columns:18px minmax(0, 1fr);
    min-height:40px;
    padding:5px var(--pad-x-mobile);
    font-size:12px;
  }

  .idx-info-summary-text strong{
    font-size:1.02rem;
  }

  .idx-info-summary-text span{
    font-size:9px;
  }

  .idx-info-inner{
    padding:14px 14px 16px;
  }

  .idx-info-inner p{
    font-size:.86rem;
    line-height:1.48;
  }

  .idx-info-inner h2{
    font-size:1.1rem;
  }

  .idx-object-form{
    padding:22px 18px 24px;
  }

  .idx-object-form-actions{
    align-items:stretch;
  }

  .idx-object-form-actions .btn{
    width:100%;
  }

  .idx-activation-cover{
    padding:24px 14px;
  }

  .idx-cover-card h2{
    margin-top:20px;
    font-size:1.35rem;
  }

  .idx-cover-card p{
    width:min(100% - 32px, 520px);
    font-size:.9rem;
  }

  .idx-cover-callout{
    width:auto;
    max-width:calc(100% - 32px);
    min-height:42px;
    padding-inline:14px;
  }

  .idx-footer-inner{
    min-height:48px;
    padding:6px 10px;
    gap:8px 12px;
    font-size:.82rem;
  }

  .idx-footer-brand img{
    width:118px;
    max-height:44px;
  }

  .idx-footer-contact{
    grid-template-columns:30px minmax(0, auto);
    gap:8px;
  }

  .idx-footer-icon{
    width:30px;
    height:30px;
  }

  .idx-footer-icon svg{
    width:16px;
    height:16px;
  }
}

@media (max-width:520px){
  .idx-object-form-grid{
    grid-template-columns:1fr;
  }

  .idx-info-summary-text{
    display:grid;
    gap:3px;
  }

  .idx-info-summary-text strong{
    min-width:0;
  }
}

@media (max-width:670px){
  :root{
    --header-h:72px;
  }

  .idx-activation-cover{
    background:#fff;
  }

  .idx-activation-cover::before{
    display:none;
  }

  .brand-logo{
    width:200px;
    transform:none;
  }

  .main-nav{
    display:none;
  }

  .nav-toggle{
    display:inline-flex;
  }

  .hero-actions .btn{
    min-height:42px;
    padding-inline:18px;
    font-size:14px;
  }

  .hero-stage{
    padding-bottom:18px;
  }

  .hero-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-copy .eyebrow{
    order:1;
  }

  .hero-copy h1{
    order:2;
  }

  .hero-actions{
    order:3;
  }

  .hero-links{
    order:4;
    margin-bottom:20px;
  }

  .hero-lead{
    order:5;
    margin-bottom:0;
    font-size:.94rem;
    line-height:1.5;
  }

  .hero-lead-break{
    display:none;
  }

  .idx-footer-person{
    display:none;
  }

  .idx-footer-inner{
    display:none;
  }

  .idx-footer-phone{
    margin-left:0;
  }

  .idx-footer-mobile{
    display:grid;
    grid-template-columns:auto minmax(0, auto);
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:48px;
    padding:6px 12px;
    font-size:.82rem;
    line-height:1.22;
  }

  .idx-footer-mobile-person,
  .idx-footer-mobile-contact{
    display:grid;
    gap:3px;
    min-width:0;
  }

  .idx-footer-mobile-person strong,
  .idx-footer-mobile-person span,
  .idx-footer-mobile-contact span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .idx-footer-mobile-person span,
  .idx-footer-mobile-contact span{
    color:rgba(255,255,255,.72);
  }

  .idx-footer-mobile-person strong,
  .idx-footer-mobile-person strong span{
    color:#fff;
  }

  .idx-footer-mobile-contact{
    justify-items:end;
    text-align:right;
  }

  .idx-footer-mobile-short{
    display:none;
  }

  .idx-footer-mobile-line{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    min-width:0;
  }

  .idx-footer-mobile-line .idx-footer-primary-link{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .idx-footer-mobile-icon{
    display:none;
    width:13px;
    height:13px;
    flex:0 0 13px;
    color:rgba(255,255,255,.8);
  }

  .idx-footer-mobile-icon svg{
    display:block;
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

@media (max-width:670px) and (orientation:portrait){
  .hero,
  .hero-stage{
    min-height:clamp(500px, 104vw, 600px);
  }

  .hero-media{
    background-position:center center;
  }

  .hero-copy h1.wordmark-spaced{
    font-size:clamp(1.9rem, 8.4vw, 2.8rem);
  }
}

@media (max-width:360px){
  .hero-copy h1.wordmark-spaced{
    width:calc(100vw - var(--pad-x-mobile) - 8px);
    font-size:clamp(1.45rem, 7.2vw, 1.62rem);
  }

  .hero-copy h1.wordmark-spaced span + span{
    margin-left:.04em;
  }
}

@media (max-width:1080px) and (max-height:500px){
  :root{
    --header-h:72px;
  }

  .brand-logo{
    width:200px;
    transform:none;
  }
}

@media (max-width:430px){
  .idx-footer-mobile{
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
    font-size:.76rem;
    gap:8px;
    padding-inline:8px;
  }
}

@media (max-width:400px){
  .idx-footer-mobile{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  }

  .idx-footer-mobile-label{
    display:none;
  }

  .idx-footer-mobile-icon{
    display:inline-flex;
  }

  .idx-footer-mobile-line,
  .idx-footer-mobile-line .idx-footer-primary-link{
    overflow:visible;
    text-overflow:clip;
  }
}

@media (max-width:330px){
  .idx-footer-mobile{
    font-size:.72rem;
    gap:6px;
    padding-inline:6px;
  }

  .idx-footer-mobile-long{
    display:none;
  }

  .idx-footer-mobile-short{
    display:inline;
  }
}

/* ---------- Ortsseiten / Neighborhood Guides ---------- */
.naples-page,
.marco-island-page,
.bonita-springs-page,
.estero-page,
.fort-myers-page,
.cape-coral-page{
  --np-cream:#efede8;
  --np-soft:#f7f5f0;
  --np-line:rgba(0,0,0,.14);
  --np-ink:#151515;
}

.naples-page{
  --np-hero-image:url("/images/orte/hero-naples.jpg");
}

.marco-island-page{
  --np-hero-image:url("/images/orte/hero-marco-island.jpg");
}

.marco-island-page .np-hero-media{
  background-position:right center;
}

.bonita-springs-page{
  --np-hero-image:url("/images/orte/hero-bonita-springs.jpg");
}

.estero-page{
  --np-hero-image:url("/images/orte/hero-estero.jpg");
}

.fort-myers-page{
  --np-hero-image:url("/images/orte/hero-fort-myers.jpg");
}

.cape-coral-page{
  --np-hero-image:url("/images/orte/hero-cape-coral.jpg");
}

.np-hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#000;
}

.np-hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.04) 40%, rgba(0,0,0,.38)),
    linear-gradient(to right, rgba(0,0,0,.36), rgba(0,0,0,.08) 48%, rgba(0,0,0,0)),
    var(--np-hero-image) center center / cover no-repeat;
  transform:scale(1.015);
}

.np-hero-stage{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  padding-top:140px;
  padding-bottom:clamp(74px, 9vh, 118px);
}

.np-hero-copy{
  max-width:920px;
  color:#fff;
}

.np-hero-copy h1{
  max-width:850px;
  margin-bottom:22px;
  color:#fff;
  font-size:clamp(3rem, 6.4vw, 6.9rem);
  line-height:.94;
  letter-spacing:-.045em;
}

.np-hero-title-line.is-outline{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.88);
  text-shadow:none;
}

.np-hero-title-line.is-solid{
  color:#fff;
  -webkit-text-fill-color:#fff;
  -webkit-text-stroke:0;
}

.np-hero-lead{
  max-width:760px;
  color:rgba(255,255,255,.90);
  font-size:clamp(1.08rem, 1.34vw, 1.38rem);
  line-height:1.56;
}

.np-hero .eyebrow{ color:rgba(255,255,255,.78); }
.np-hero .eyebrow::before{ background:#fff; }

.np-editorial{
  padding-block:clamp(86px, 9vw, 152px);
  background:var(--np-soft);
}

.np-editorial-grid{
  display:grid;
  grid-template-columns:minmax(260px, .74fr) minmax(0, 1.26fr);
  gap:clamp(50px, 7vw, 132px);
  align-items:start;
}

.np-section-label{
  position:sticky;
  top:calc(var(--header-h) + 42px);
  border-top:1px solid #000;
  padding-top:24px;
}

.np-section-label .eyebrow{ margin-bottom:22px; }

.np-section-label h2{
  max-width:10ch;
  font-size:clamp(2.4rem, 4vw, 4.35rem);
  line-height:.96;
  letter-spacing:-.04em;
}

.np-copy-large p{
  font-size:clamp(1.08rem, 1.26vw, 1.34rem);
  line-height:1.72;
  color:#333;
}

.np-copy-large p + p{ margin-top:24px; }

.np-offer-action{
  position:relative;
  margin-top:42px;
  display:grid;
  grid-template-columns:58px minmax(0, 1fr);
  gap:10px 16px;
  align-items:center;
  width:min(100%, 560px);
  padding:18px;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.58);
  box-shadow:0 18px 38px rgba(0,0,0,.06);
}

.np-offer-action--market{
  width:min(100%, 512px);
  grid-template-columns:56px 390px;
  gap:8px 16px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.np-offer-action::before,
.np-offer-action::after{
  content:"";
  grid-column:1;
  grid-row:1 / span 3;
  align-self:start;
  justify-self:center;
}

.np-offer-action::before{
  width:58px;
  height:58px;
  border:1px solid #000;
  border-radius:50%;
  background:
    radial-gradient(circle at 68% 28%, var(--accent) 0 4px, transparent 5px),
    #000;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.np-offer-action::after{
  width:22px;
  height:22px;
  margin-top:15px;
  border:2px solid #fff;
  border-radius:50% 50% 50% 0;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 3px, transparent 4px);
  transform:rotate(-45deg);
}

.np-offer-action--market::before{
  grid-row:2;
  align-self:center;
  width:70px;
  height:70px;
}

.np-offer-action--market::after{
  grid-row:2;
  align-self:center;
  width:25px;
  height:25px;
  margin-top:0;
}

.np-offer-action--market::before,
.np-offer-action--market::after{
  content:none;
}

.np-offer-icon{
  position:relative;
  grid-column:1;
  grid-row:2;
  align-self:center;
  justify-self:center;
  width:56px;
  height:56px;
  border:1px solid #000;
  border-radius:0;
  background:
    linear-gradient(90deg, transparent 0 31%, rgba(255,255,255,.28) 31% 34%, transparent 34% 65%, rgba(255,255,255,.28) 65% 68%, transparent 68%),
    linear-gradient(0deg, transparent 0 32%, rgba(255,255,255,.28) 32% 35%, transparent 35% 66%, rgba(255,255,255,.28) 66% 69%, transparent 69%),
    #000;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
  transform:none;
  transition:
    background-color 420ms ease,
    border-color 420ms ease,
    box-shadow 420ms ease,
    transform 420ms ease;
}

.np-offer-icon::before{
  content:"";
  position:absolute;
  left:50%;
  top:49%;
  width:18px;
  height:18px;
  border:2px solid #fff;
  border-radius:50% 50% 50% 0;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 2px, transparent 3px);
  transform:translate(-50%, -50%) rotate(-45deg);
  transition:
    background-color 420ms ease,
    border-color 420ms ease;
}

.np-offer-icon::after{
  content:"";
  position:absolute;
  right:9px;
  top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  transition:background-color 420ms ease;
}

.np-offer-action--plain .np-offer-icon{
  grid-row:1;
}

.np-offer-action--market:has(.np-offer-icon:hover, .np-offer-link:hover, .np-offer-icon:focus-visible, .np-offer-link:focus-visible) .np-offer-icon{
  background:
    linear-gradient(90deg, transparent 0 31%, rgba(0,0,0,.24) 31% 34%, transparent 34% 65%, rgba(0,0,0,.24) 65% 68%, transparent 68%),
    linear-gradient(0deg, transparent 0 32%, rgba(0,0,0,.24) 32% 35%, transparent 35% 66%, rgba(0,0,0,.24) 66% 69%, transparent 69%),
    #fff;
  box-shadow:4px 4px 8px 0 rgba(0,0,0,.20);
  transform:translateY(-1px);
}

.np-offer-action--market:has(.np-offer-icon:hover, .np-offer-link:hover, .np-offer-icon:focus-visible, .np-offer-link:focus-visible) .np-offer-icon::before{
  border-color:#000;
  background:
    radial-gradient(circle at 50% 50%, #000 0 2px, transparent 3px);
}

.np-offer-action--market:has(.np-offer-icon:hover, .np-offer-link:hover, .np-offer-icon:focus-visible, .np-offer-link:focus-visible) .np-offer-icon::after{
  background:#000;
}

.np-offer-action--market:has(.np-offer-icon:hover, .np-offer-link:hover, .np-offer-icon:focus-visible, .np-offer-link:focus-visible) .np-offer-link{
  background:#fff;
  color:#000;
  border-color:#000;
  box-shadow:5px 5px 5px 0 rgba(0,0,0,.38);
}

.np-offer-kicker{
  grid-column:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.np-offer-kicker::before{
  content:"";
  width:20px;
  height:1px;
  flex:0 0 auto;
  background:var(--accent);
}

.np-offer-action--market .np-offer-kicker{
  margin-bottom:8px;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--text-muted);
}

.np-offer-action .btn{
  grid-column:2;
  width:min(100%, 420px);
  min-height:58px;
  justify-content:center;
  font-size:17px;
  white-space:nowrap;
}

.np-offer-action--market .btn{
  min-height:56px;
  font-size:17px;
}

.np-offer-link{
  flex-wrap:wrap;
  column-gap:.28em;
  row-gap:0;
}

.np-offer-break{
  display:inline;
  white-space:nowrap;
}

.np-offer-nowrap{
  white-space:nowrap;
}

.np-offer-note{
  grid-column:2;
  margin:12px 0 0;
  width:min(100%, 420px);
  font-size:.92rem;
  line-height:1.48;
  letter-spacing:0;
  color:#555;
}

.np-character .np-offer-note{
  color:#5a5a5a;
}

.np-offer-action--market .np-offer-note{
  margin-top:10px;
  font-size:.9rem;
  color:#5a5a5a;
}

.np-overview{
  position:relative;
  overflow:hidden;
  background:#fff;
  color:#000;
  padding-block:clamp(24px, 2.8vw, 42px);
}

.np-stats-carousel{
  position:relative;
  z-index:1;
  display:grid;
  gap:clamp(34px, 5vw, 62px);
}

.np-stats-viewport{ overflow:visible; }

.np-stats-track{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(28px, 4vw, 64px);
}

.np-stat-card{
  position:relative;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
  align-items:start;
  justify-items:center;
  text-align:center;
  padding:clamp(26px, 3vw, 38px);
}

.np-stat-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#000;
  color:#fff;
}

.np-stat-icon svg{
  width:54%;
  height:54%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.np-stat-label{
  display:block;
  margin-bottom:8px;
  color:var(--text-muted);
  font-size:.7rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.np-stat-card strong{
  display:block;
  margin-bottom:8px;
  color:#000;
  font-size:clamp(2.1rem, 3.15vw, 3.35rem);
  line-height:.96;
  letter-spacing:-.045em;
}

.np-stat-card div > span{
  display:block;
  color:var(--text-soft);
  font-size:1rem;
  line-height:1.55;
}

.np-stat-card small{
  display:block;
  margin-top:8px;
  color:var(--text-muted);
  font-size:.64rem;
  line-height:1.45;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.np-lifestyle{ background:#fff; }

.np-feature-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  min-height:clamp(360px, 30vw, 640px);
}

.np-feature-media{
  min-height:inherit;
  overflow:hidden;
  background:#ddd;
}

.np-feature-media img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
}

.np-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(46px, 6vw, 104px);
  background:var(--np-cream);
}

.np-feature-copy h2,
.np-split-copy h2{ margin-bottom:22px; }

.np-feature-copy p{ max-width:680px; }

.np-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:680px;
  background:#000;
  color:#fff;
}

.np-split-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(56px, 6vw, 108px);
}

.np-split-copy h2{
  color:#fff;
  max-width:11ch;
  font-size:clamp(2.35rem, 4vw, 4.25rem);
  line-height:.98;
}

.np-split-copy p{
  color:rgba(255,255,255,.76);
  max-width:680px;
}

.np-split-media{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.12)),
    url("/images/meer5.jpg") center center / cover no-repeat;
  min-height:520px;
}

.np-character{ margin-top:0; }

.np-character .np-split-copy{
  background:var(--np-cream);
  color:#000;
}

.np-character .np-split-copy .eyebrow{ color:#8b8b8b; }

.np-character .np-split-copy h2{
  color:#000;
  max-width:none;
  font-size:clamp(2rem, 3.5vw, 3.1rem);
  line-height:1.08;
  letter-spacing:-.022em;
}

.np-character .np-split-copy p{ color:rgba(0,0,0,.72); }

.np-character-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(34px, 4.5vw, 78px);
  min-height:680px;
}

.np-character-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.06));
  pointer-events:none;
}

.np-character-panel{
  position:relative;
  z-index:1;
  width:min(520px, 100%);
  padding:clamp(24px, 3vw, 42px);
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.18);
  box-shadow:0 24px 54px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#fff;
}

.np-character-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}

.np-character-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.78);
  background:rgba(255,255,255,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

.np-character-avatar img{
  display:block;
  width:120%;
  height:auto;
  max-width:none;
  transform:none;
  margin:0 0 0 -10%;
}

.np-character-panel h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.35rem, 1.7vw, 1.9rem);
  line-height:1.08;
}

.np-character-panel strong{
  color:#fff;
  font-weight:700;
}

.np-character-notes{
  display:grid;
  gap:12px;
}

.np-character-notes p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:.93rem;
  line-height:1.62;
}

.np-map-section{
  padding:0;
  margin:0;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
  overflow:hidden;
}

.np-map-section .stage{
  width:100%;
  max-width:none;
  margin:0;
}

.np-map-frame{
  position:relative;
  width:100%;
  height:clamp(430px, 41.7vw, 650px);
  margin:0;
  overflow:hidden;
  background:#ddd;
  border-top:1px solid rgba(0,0,0,.22);
  border-bottom:1px solid rgba(0,0,0,.22);
  isolation:isolate;
}

.np-leaflet-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  filter:saturate(.92) contrast(1.02);
}

.np-leaflet-map.leaflet-container{
  touch-action:pan-y;
}

.np-leaflet-map .leaflet-tile{ max-width:none; }
.np-leaflet-map .leaflet-control-container{ font-family:inherit; }

.np-leaflet-map .leaflet-control-zoom{
  border:0;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.np-leaflet-map .leaflet-control-zoom a{
  border-radius:0;
  color:#111;
}

.np-leaflet-map .leaflet-control-attribution{
  font-size:10px;
  background:rgba(255,255,255,.76);
}

.np-map-overlay{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:min(46vw, 280px);
  min-height:clamp(260px, 24vw, 340px);
  display:flex;
  align-items:center;
  padding:18px 14px;
  background:rgba(239, 237, 232, .58);
  border:1px solid rgba(255,255,255,.44);
  box-shadow:0 12px 24px rgba(0,0,0,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.np-map-overlay p{
  margin:0;
  max-width:none;
  font-size:clamp(.84rem, .92vw, 1rem);
  line-height:1.48;
  color:#2c2c2c;
}

@media (max-width:1100px){
  .np-character .np-offer-action--plain{
    width:min(100%, 512px);
    grid-template-columns:52px minmax(0, 390px);
  }

  .np-character .np-offer-action--plain .np-offer-link,
  .np-character .np-offer-action--plain .np-offer-note{
    width:min(100%, 390px);
  }

  .np-character .np-offer-action--plain .np-offer-link{
    white-space:normal;
    line-height:1.16;
    text-align:center;
  }

  .np-map-frame{
    height:430px;
  }

  .np-map-overlay p{
    font-size:clamp(.8rem, .86vw, .94rem);
  }
}

@media (min-width:850px) and (max-width:1100px){
  .np-character .np-offer-action--plain .np-offer-break{
    flex-basis:100%;
  }
}

@media (max-width:900px){
  .np-feature-row{
    grid-template-columns:1fr;
    min-height:0;
  }

  .np-feature-row:nth-child(even) .np-feature-copy{ order:2; }
  .np-feature-row:nth-child(even) .np-feature-media{ order:1; }

  .np-feature-media{ min-height:360px; }
  .np-feature-copy{ padding:58px var(--pad-x-mobile); }

  .np-hero,
  .np-hero-stage{
    min-height:100svh;
  }

  .np-hero-media{ background-position:center center; }

  .np-hero-stage{
    align-items:flex-end;
    padding-top:112px;
    padding-bottom:58px;
  }

  .np-hero-copy h1{
    max-width:none;
    font-size:clamp(2.8rem, 12vw, 5.7rem);
    line-height:.98;
  }

  .np-hero-lead{
    max-width:620px;
    font-size:1rem;
    line-height:1.5;
  }

  .np-editorial{ padding-block:72px; }

  .np-editorial-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .np-section-label{
    position:relative;
    top:auto;
    border-top:0;
    padding-top:0;
  }

  .np-overview{ padding-block:58px; }
  .np-stats-carousel{ gap:34px; }

  .np-stats-track{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:34px 28px;
  }

  .np-stat-card{ text-align:center; }
  .np-stat-icon{ margin-inline:auto; }

  .np-stat-card strong{
    font-size:clamp(2rem, 8vw, 3rem);
  }

  .np-split{
    grid-template-columns:1fr;
    min-height:0;
  }

  .np-split-copy{ padding:62px var(--pad-x-mobile); }

  .np-split-copy h2,
  .np-character .np-split-copy h2{
    max-width:760px;
  }

  .np-split-media{ min-height:430px; }
  .np-character-media{ padding:58px var(--pad-x-mobile); }
}

@media (max-width:849px){
  .np-map-section,
  .np-map-section .stage,
  .np-map-frame{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
  }

  .np-map-frame{
    height:auto;
    overflow:visible;
    border-left:0;
    border-right:0;
  }

  .np-leaflet-map{
    position:relative;
    inset:auto;
    display:block;
    width:100%;
    height:430px;
    min-height:430px;
  }

  .np-map-overlay{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    z-index:1;
    width:100%;
    min-height:0;
    display:block;
    margin:0;
    padding:10px var(--pad-x-mobile);
    background:#fff;
    border:0;
    border-top:1px solid rgba(0,0,0,.10);
    border-bottom:1px solid rgba(0,0,0,.10);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .np-map-overlay p{
    max-width:760px;
    margin:0 auto;
  }

  .np-character-notes{ gap:10px; }

  .np-character-notes p{
    font-size:.92rem;
    line-height:1.58;
  }
}

@media (max-width:520px){
  .np-feature-media{ min-height:290px; }
  .np-feature-copy{ padding-block:44px; }
}

@media (max-width:560px){
  .np-hero-stage{
    padding-top:96px;
    padding-bottom:44px;
  }

  .np-hero-copy h1{
    font-size:clamp(2.35rem, 11.2vw, 3.7rem);
    line-height:1.02;
  }

  .np-hero-lead{ font-size:.96rem; }
  .np-editorial{ padding-block:58px; }
  .np-offer-action{
    grid-template-columns:48px minmax(0, 1fr);
    gap:8px 12px;
    margin-top:34px;
    padding:14px;
  }

  .np-offer-action--market{
    width:100%;
    grid-template-columns:52px minmax(0, 1fr);
    gap:7px 12px;
    padding:0;
  }

  .np-offer-action::before{
    width:48px;
    height:48px;
  }

  .np-offer-action--market::before{
    width:52px;
    height:52px;
  }

  .np-offer-action::after{
    width:19px;
    height:19px;
    margin-top:13px;
  }

  .np-offer-action--market::after{
    width:20px;
    height:20px;
    margin-top:15px;
  }

  .np-offer-icon{
    width:52px;
    height:52px;
  }

  .np-offer-icon::before{
    width:17px;
    height:17px;
  }

  .np-offer-icon::after{
    right:8px;
    top:8px;
    width:7px;
    height:7px;
  }

  .np-offer-kicker{
    font-size:13px;
    letter-spacing:.08em;
  }

  .np-offer-action--market .np-offer-kicker{
    font-size:13px;
    letter-spacing:.08em;
  }

  .np-offer-action .btn{
    width:100%;
    min-height:60px;
    padding-inline:18px;
    white-space:normal;
    line-height:1.15;
    text-align:center;
  }

  .np-offer-action--market .btn{
    min-height:56px;
    font-size:16px;
  }

  .np-offer-note{
    width:100%;
    font-size:.86rem;
  }

  .np-stats-track{ grid-template-columns:1fr; }

  .np-stat-card{
    max-width:360px;
    margin-inline:auto;
  }

  .np-feature-media,
  .np-split-media{
    min-height:300px;
  }

  .np-feature-copy,
  .np-split-copy{
    padding-inline:var(--pad-x-mobile);
  }

  .np-character-media{
    min-height:0;
    padding-block:42px;
  }

  .np-character-panel{ padding:24px; }
}

@media (max-width:480px){
  .np-leaflet-map{
    height:390px;
    min-height:390px;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }

  .reveal{
    opacity:1;
    transform:none;
  }
}

/* ---------- Header Feinjustierung 670–850px ---------- */
@media (min-width:671px) and (max-width:850px){
  .site-header .main-nav{
    display:flex;
    gap:0;
    margin-left:auto;
    margin-right:18px;
  }

  .site-header .main-nav-primary{
    display:flex;
  }

  .site-header .main-nav-pair{
    display:flex;
    gap:0;
  }

  .site-header .main-nav-home{
    display:inline-block;
  }

  .site-header .main-nav-divider-home,
  .site-header .main-nav-buy,
  .site-header .main-nav-sell,
  .site-header .main-nav-secondary{
    display:none !important;
  }

  .site-header .nav-toggle{
    display:inline-flex;
  }
}


/* ==========================================================
   Makler-Seite /makler/
   Zusätzliche Styles am Ende von styles.css einfügen
   ========================================================== */

.broker-page{
  background:#fff;
}

/* ---------- Broker Hero ---------- */
.broker-hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:#000;
}

.broker-hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(0,0,0,.68), rgba(0,0,0,.34) 44%, rgba(0,0,0,.10)),
    linear-gradient(to top, rgba(0,0,0,.54), rgba(0,0,0,0) 48%),
    url("/images/hero-immobilienmakler.jpg") center center / cover no-repeat;
}

.broker-hero-stage{
  position:relative;
  z-index:1;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  padding-top:140px;
  padding-bottom:92px;
}

.broker-hero-copy{
  width:100%;
  min-width:0;
  max-width:980px;
}

.broker-hero-copy.reveal{
  opacity:1;
  transform:none;
}

.broker-hero-copy h1{
  display:grid;
  gap:8px;
  margin-bottom:22px;
  color:#fff;
  font-size:clamp(2.55rem, 5vw, 5rem);
  letter-spacing:0;
}

.broker-hero-copy h1 span:first-child{
  font-weight:300;
  letter-spacing:0;
}

.broker-hero-copy h1 span:last-child{
  font-weight:700;
  hyphens:auto;
  overflow-wrap:break-word;
}

.broker-hero-lead{
  max-width:780px;
  margin-bottom:30px;
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 18px rgba(0,0,0,.24);
  overflow-wrap:break-word;
}

.broker-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.broker-hero .eyebrow{
  color:rgba(255,255,255,.78);
}

.broker-hero .eyebrow::before{
  background:#fff;
}

/* ---------- Shared Broker Layout ---------- */
.broker-section-head{
  text-align:center;
  margin-bottom:54px;
}

.broker-section-head h2{
  margin-bottom:18px;
}

.broker-section-head p:last-child{
  max-width:900px;
  margin-inline:auto;
}

/* ---------- Profile ---------- */
.broker-profile{
  position:relative;
  overflow:hidden;
  scroll-margin-top:var(--header-h);
  min-height:clamp(760px, 82vh, 940px);
  display:flex;
  align-items:center;
  padding-block:clamp(78px, 8vw, 128px);
  background:#15130f;
}

.broker-profile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  background:
    linear-gradient(90deg, rgba(24,18,12,.38) 0%, rgba(70,55,38,.10) 48%, rgba(255,226,168,.16) 100%),
    linear-gradient(180deg, rgba(30,24,17,.10) 0%, rgba(245,237,220,.24) 100%),
    url("/images/profile-hero-waterfront.jpg") right center / cover no-repeat;
  transform:scale(1.025);
  transform-origin:center;
}

.broker-profile::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:0;
  height:34%;
  background:linear-gradient(to bottom, rgba(241,237,229,0), rgba(241,237,229,.68));
  pointer-events:none;
}

.broker-profile .reveal{
  opacity:1;
  transform:none;
}

.broker-profile-grid{
  position:relative;
  z-index:1;
  width:min(88vw, 1280px);
  display:grid;
  grid-template-columns:minmax(360px, .88fr) minmax(0, 1fr);
  gap:clamp(42px, 5.5vw, 86px);
  align-items:center;
}

.broker-profile-media{
  position:relative;
  min-width:0;
}

.broker-profile-media::before{
  display:none;
}

.broker-profile-figure{
  position:relative;
  z-index:1;
  margin:0;
}

.broker-profile-photo{
  position:relative;
  aspect-ratio:1 / 1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:clamp(22px, 2.4vw, 34px) clamp(18px, 2.2vw, 32px) 0;
  background:
    linear-gradient(150deg, rgba(255,255,255,.98), rgba(244,240,232,.96) 56%, rgba(224,214,198,.94));
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 22px 54px rgba(38,34,28,.15);
  overflow:hidden;
}

.broker-profile-photo::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.035);
  pointer-events:none;
  z-index:1;
}

.broker-profile-photo::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38%;
  background:linear-gradient(to top, rgba(190,174,151,.38), rgba(190,174,151,0));
  pointer-events:none;
  z-index:1;
}

.broker-profile-photo img{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.18));
  transform:none;
  transform-origin:center bottom;
}

.broker-profile-caption{
  position:relative;
  z-index:2;
  width:min(82%, 392px);
  margin:-44px auto 0;
  padding:26px 30px 28px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 38px rgba(38,34,28,.12);
}

.broker-profile-caption h2{
  margin-bottom:8px;
  font-size:clamp(1.7rem, 2vw, 2.18rem);
}

.broker-profile-caption p{
  margin-bottom:0;
  font-size:1rem;
  line-height:1.55;
}

@media (min-width:561px){
  .broker-profile-caption{
    width:min(70%, 340px);
  }
}

.broker-profile-copy{
  position:relative;
  align-self:center;
  max-width:690px;
  padding:clamp(34px, 4vw, 56px);
  background:linear-gradient(135deg, rgba(255,252,246,.90), rgba(245,238,224,.80));
  border:1px solid rgba(255,248,235,.62);
  box-shadow:0 30px 84px rgba(24,20,15,.24);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.broker-profile-copy h2{
  max-width:12ch;
  margin-bottom:26px;
}

.broker-profile-copy p + p{
  margin-top:18px;
}

/* ---------- Values ---------- */
.broker-values{
  padding-block:clamp(84px, 8vw, 128px);
  background:#fff;
}

.broker-values-stage{
  width:min(88vw, 1340px);
}

.broker-values-head{
  width:min(92vw, 1020px);
  display:block;
  margin:0 auto clamp(82px, 8vw, 122px);
  text-align:center;
}

.broker-values-head .eyebrow{
  justify-content:center;
  margin-bottom:18px;
}

.broker-values-head h2{
  max-width:none;
  margin-bottom:24px;
}

.broker-values-head p:last-child{
  max-width:920px;
  margin:0 auto;
  font-size:clamp(1.08rem, 1.18vw, 1.22rem);
  line-height:1.62;
}

.broker-values-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(62px, 8vw, 148px);
  align-items:start;
}

.broker-value-item{
  position:relative;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:26px;
  min-height:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  text-align:center;
}

.broker-value-signet{
  --ring-color:#a4a4a0;
  position:relative;
  display:grid;
  place-items:center;
  width:clamp(182px, 14vw, 218px);
  aspect-ratio:1;
  padding:34px;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}

.broker-value-item:nth-child(2) .broker-value-signet{
  --ring-color:#5f5f5d;
}

.broker-value-ring{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  transform:rotate(-72deg);
}

.broker-value-ring circle{
  fill:none;
  stroke:var(--ring-color);
  stroke-width:8;
  stroke-linecap:butt;
  stroke-dasharray:294 327;
  stroke-dashoffset:294;
  transition:stroke-dashoffset 3400ms cubic-bezier(.22,1,.36,1);
  transition-delay:450ms;
}

.broker-value-item.is-visible .broker-value-ring circle{
  stroke-dashoffset:0;
}

.broker-value-item.is-visible:nth-child(2) .broker-value-ring circle{
  transition-delay:700ms;
}

.broker-value-item.is-visible:nth-child(3) .broker-value-ring circle{
  transition-delay:950ms;
}

@media (prefers-reduced-motion:reduce){
  .broker-value-ring circle{
    stroke-dashoffset:0;
    transition:none;
  }
}

.broker-value-signet span{
  position:absolute;
  top:-13px;
  left:50%;
  z-index:2;
  transform:translateX(-50%);
  padding:0 10px;
  background:#fff;
  color:#111;
  font-size:1rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0;
}

.broker-value-signet strong{
  position:relative;
  z-index:1;
  color:#111;
  font-size:clamp(1.16rem, 1.45vw, 1.42rem);
  line-height:1.08;
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}

.broker-value-item:first-child .broker-value-signet strong{
  transform:translateX(-8px);
}

.broker-value-item p{
  max-width:370px;
  font-size:clamp(1.02rem, 1.05vw, 1.12rem);
  line-height:1.62;
  color:#111;
}

/* ---------- Credentials ---------- */
.broker-credentials{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:var(--section-y-desktop);
  background:#f1ede5;
  border-top:1px solid rgba(0,0,0,.22);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.52);
}

.broker-credentials::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("/images/kartensuche-bg.jpg") center 45% / cover no-repeat;
  filter:grayscale(.72) saturate(.72) contrast(.96);
  opacity:.70;
}

.broker-credentials::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(241,237,229,.42);
}

.broker-credentials .broker-section-head{
  width:min(92vw, 1120px);
  text-align:center;
  margin-bottom:clamp(62px, 6vw, 92px);
  transform:translateY(-18px);
}

.broker-credentials .eyebrow{
  color:#4e4e4a;
}

.broker-credentials .broker-section-head h2{
  white-space:nowrap;
}

.broker-credentials .broker-section-head p:last-child{
  max-width:860px;
  margin-inline:auto;
}

.broker-timeline-list{
  position:relative;
  width:min(88vw, 1040px);
  margin-inline:auto;
  display:grid;
  gap:0;
  opacity:1;
  transform:none;
}

.broker-timeline-list::before{
  content:"";
  position:absolute;
  top:20px;
  bottom:20px;
  left:198px;
  width:2px;
  background:linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.28) 16%, rgba(0,0,0,.24) 84%, rgba(0,0,0,.08));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform 7600ms cubic-bezier(.22,1,.36,1);
}

.broker-timeline-list.is-visible::before{
  transform:scaleY(1);
}

.broker-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(0, 1fr);
  gap:48px;
  padding:0 0 34px;
  opacity:0;
  transform:translateY(-18px);
  transition:
    opacity 1800ms ease,
    transform 2400ms cubic-bezier(.22,1,.36,1);
}

.broker-timeline-list.is-visible .broker-timeline-item{
  opacity:1;
  transform:none;
}

.broker-timeline-list.is-visible .broker-timeline-item:nth-child(1){ transition-delay:700ms; }
.broker-timeline-list.is-visible .broker-timeline-item:nth-child(2){ transition-delay:1600ms; }
.broker-timeline-list.is-visible .broker-timeline-item:nth-child(3){ transition-delay:2500ms; }
.broker-timeline-list.is-visible .broker-timeline-item:nth-child(4){ transition-delay:3400ms; }
.broker-timeline-list.is-visible .broker-timeline-item:nth-child(5){ transition-delay:4300ms; }
.broker-timeline-list.is-visible .broker-timeline-item:nth-child(6){ transition-delay:5200ms; }

@media (prefers-reduced-motion:reduce){
  .broker-timeline-list::before,
  .broker-timeline-item{
    transition:none;
    transform:none;
  }

  .broker-timeline-item{
    opacity:1;
  }
}

.broker-timeline-item:last-child{
  padding-bottom:0;
}

.broker-timeline-item::before{
  content:"";
  position:absolute;
  top:9px;
  left:189px;
  width:20px;
  height:20px;
  background:radial-gradient(circle, #111 0 3px, #fff 3.5px 100%);
  border:1px solid rgba(0,0,0,.24);
  border-radius:50%;
  box-shadow:0 0 0 5px #f1ede5;
}

.broker-timeline-item > span{
  padding-top:6px;
  color:var(--text-muted);
  line-height:1.3;
  text-align:right;
  text-transform:uppercase;
  transition:color .24s ease, transform .24s ease;
}

.broker-timeline-item > span strong,
.broker-timeline-item > span small{
  display:block;
}

.broker-timeline-item > span strong{
  color:#111;
  font-size:clamp(.98rem, 1.02vw, 1.08rem);
  line-height:1.05;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.broker-timeline-item > span small{
  margin-top:7px;
  color:#4e4e4a;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.11em;
}

.broker-timeline-item > div{
  position:relative;
  padding:28px 32px 28px 112px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 46px rgba(38,34,28,.08);
  overflow:hidden;
  transition:border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.broker-timeline-item > div::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, #111 0%, #111 24%, rgba(17,17,17,.34) 56%, rgba(17,17,17,0) 100%);
}

.broker-timeline-item.is-featured > div{
  padding-block:34px;
  background:#fff;
  border-color:rgba(0,0,0,.16);
  box-shadow:0 24px 64px rgba(38,34,28,.12);
}

.broker-timeline-item.is-featured > span strong{
  font-size:clamp(1.12rem, 1.25vw, 1.32rem);
}

@media (hover:hover) and (pointer:fine){
  .broker-timeline-item:hover > span{
    color:#111;
    transform:translateX(-4px);
  }

  .broker-timeline-item:hover > div{
    border-color:rgba(0,0,0,.18);
    box-shadow:0 24px 58px rgba(38,34,28,.14);
    transform:translateY(-4px);
  }

  .broker-timeline-item:hover > span small{
    color:#111;
  }
}

.broker-timeline-icon{
  position:absolute;
  top:24px;
  left:28px;
  width:54px;
  height:54px;
  padding:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  color:#111;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  box-shadow:0 14px 30px rgba(38,34,28,.10);
}

.broker-timeline-item h3{
  margin-bottom:10px;
}

.broker-timeline-item p{
  margin:0;
  font-size:1rem;
  line-height:1.62;
}

/* ---------- Trust ---------- */
.broker-trust{
  padding-block:var(--section-y-desktop);
  background:#111;
  color:#fff;
}

.broker-trust-grid{
  width:min(86vw, 1180px);
}

.broker-trust-copy{
  max-width:920px;
  margin-inline:auto;
  text-align:center;
}

.broker-trust .eyebrow,
.broker-trust p{
  color:rgba(255,255,255,.78);
}

.broker-trust h2{
  margin-bottom:24px;
  color:#fff;
}

.broker-trust-copy p + p{
  margin-top:18px;
}

.broker-trust-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(240px, 1fr));
  justify-content:center;
  gap:18px;
  margin-top:34px;
}

.broker-trust-action{
  text-align:left;
}

.broker-trust-action .btn{
  width:100%;
  justify-content:center;
  background:#fff;
  color:#111;
  border-color:#fff;
}

.broker-trust-action .btn:hover,
.broker-trust-action .btn:focus-visible{
  background:#f3f1ea;
  border-color:#f3f1ea;
}

.broker-trust-action p{
  max-width:330px;
  margin:12px auto 0;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
  text-align:center;
}

/* ---------- Company ---------- */
.broker-company{
  position:relative;
  overflow:hidden;
  padding-block:var(--section-y-desktop);
  background:#111;
  isolation:isolate;
}

.broker-company::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("/images/immobilienfirma.jpg") center / cover no-repeat;
  filter:saturate(.78) contrast(.97);
}

.broker-company::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.64) 38%, rgba(0,0,0,.54) 100%),
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.50) 100%);
}

.broker-company-grid{
  --broker-company-stage:min(88vw, 1480px);
  width:var(--broker-company-stage);
  display:block;
}

.broker-company-copy{
  width:min(100%, 980px);
  margin:0 auto clamp(52px, 6vw, 86px);
  text-align:center;
}

.broker-company-copy h2{
  color:#fff;
  margin-bottom:24px;
}

.broker-company-copy p,
.broker-company-copy .eyebrow{
  color:rgba(255,255,255,.78);
}

.broker-company-copy .eyebrow::before{
  background:rgba(255,255,255,.58);
}

.broker-company-copy p + p{
  margin-top:18px;
}

.broker-company-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(26px, 4vw, 64px);
  align-items:start;
}

.broker-company-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.broker-company-stat strong{
  display:block;
  margin:22px 0 14px;
  color:#fff;
  font-size:clamp(2.4rem, 4.2vw, 4.4rem);
  line-height:.9;
  letter-spacing:0;
}

.broker-company-stat > span{
  max-width:260px;
  color:rgba(255,255,255,.74);
  font-size:.98rem;
  line-height:1.5;
}

.broker-company-stat strong span{
  max-width:none;
  color:inherit;
  font:inherit;
  line-height:inherit;
}

.broker-company-icon{
  width:84px;
  height:84px;
  color:rgba(255,255,255,.58);
}

.broker-company-icon circle,
.broker-company-icon path{
  fill:none;
  stroke:currentColor;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.broker-company-stat:first-child .broker-company-icon{
  color:#a6905f;
}

.broker-company-source{
  width:max-content;
  max-width:100%;
  margin-top:12px;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:3px;
}

.broker-company-source:hover,
.broker-company-source:focus-visible{
  color:#fff;
}

/* ---------- Broker Map ---------- */
.broker-map-section{
  background:#fff;
}

.broker-map-frame{
  position:relative;
  width:100%;
  height:clamp(430px, 41.7vw, 650px);
  overflow:hidden;
  background:#ddd;
  border-top:1px solid rgba(0,0,0,.22);
  border-bottom:1px solid rgba(0,0,0,.22);
  isolation:isolate;
}

.broker-office-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
}

.broker-map-overlay{
  position:absolute;
  left:clamp(20px, 5vw, 92px);
  top:50%;
  z-index:2;
  width:min(390px, 38vw);
  transform:translateY(-50%);
  padding:22px 24px 24px;
  background:rgba(239, 237, 232, .20);
  border:0;
  box-shadow:0 18px 38px rgba(0,0,0,.16);
  backdrop-filter:blur(32px) saturate(1.24);
  -webkit-backdrop-filter:blur(32px) saturate(1.24);
}

.broker-map-overlay h3{
  margin-bottom:14px;
}

.broker-map-overlay p{
  margin-bottom:18px;
  font-size:.98rem;
  line-height:1.58;
  color:#2c2c2c;
}

.broker-map-overlay address{
  font-style:normal;
  line-height:1.55;
  color:#111;
}

/* ---------- Testimonials ---------- */
.broker-testimonials{
  padding-block:var(--section-y-desktop);
  background:var(--bg-sand);
}

.broker-client-voices{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(0deg, rgba(255,255,255,.42), rgba(255,255,255,.16)),
    url("/images/meer5.jpg") center center / cover no-repeat fixed;
  color:var(--text);
}

@media (hover:none) and (pointer:coarse){
  .broker-client-voices{
    background:
      linear-gradient(0deg, rgba(255,255,255,.42), rgba(255,255,255,.16)),
      url("/images/meer5.jpg") center center / cover no-repeat scroll;
  }
}

.broker-client-voices .stage{
  position:relative;
  z-index:1;
}

.broker-client-voices .broker-section-head{
  width:min(88vw, 980px);
  margin-inline:auto;
  text-align:center;
}

.broker-client-voices .broker-section-head h2{
  color:#0f0f0f;
}

.broker-client-voices .broker-section-head p{
  color:#262626;
}

.broker-client-voices .eyebrow{
  color:#333;
}

.broker-client-voices .eyebrow::before{
  background:var(--accent);
}

.broker-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}

.broker-testimonial-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:260px;
  padding:32px 28px 30px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:var(--shadow-sm);
}

.broker-testimonial-card h3{
  margin-bottom:14px;
}

.broker-testimonial-card p{
  flex:1;
  color:#222;
  font-size:1.04rem;
  line-height:1.64;
}

.broker-testimonial-card span{
  display:block;
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid rgba(0,0,0,.10);
  color:var(--text-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.broker-testimonial-carousel{
  --testimonial-card-w:min(64vw, 820px);
  --testimonial-gap:clamp(22px, 3.2vw, 54px);
  --testimonial-peek:calc((100vw - var(--testimonial-card-w)) / 2);
  width:100vw;
  margin:48px 0 0;
  margin-left:calc((100vw - 100%) / -2);
  margin-right:calc((100vw - 100%) / -2);
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}

.broker-testimonial-carousel.is-dragging{
  cursor:grabbing;
}

.broker-testimonial-track{
  position:relative;
  display:flex;
  gap:var(--testimonial-gap);
  padding-inline:var(--testimonial-peek);
  transition:transform 1050ms cubic-bezier(.32,.72,.18,1);
  will-change:transform;
}

.broker-testimonial-carousel.is-dragging .broker-testimonial-track{
  transition:none;
}

.broker-testimonial-slide{
  position:relative;
  flex:0 0 var(--testimonial-card-w);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(30px, 4.4vw, 56px);
  background:rgba(255,255,255,.52);
  backdrop-filter:blur(34px) saturate(1.18);
  -webkit-backdrop-filter:blur(34px) saturate(1.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(255,255,255,.18);
}

.broker-testimonial-slide.is-active{
  pointer-events:auto;
}

.broker-testimonial-stars{
  margin-bottom:22px;
  color:#9f8a5a;
  font-size:1.48rem;
  letter-spacing:.18em;
  line-height:1;
  text-align:center;
}

.broker-testimonial-slide p{
  max-width:760px;
  margin:0 auto;
  color:#1f1f1f;
  font-size:clamp(1.04rem, 1.28vw, 1.26rem);
  line-height:1.72;
  text-align:center;
}

.broker-testimonial-slide span{
  display:block;
  margin-top:28px;
  color:var(--text-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}

.broker-testimonial-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:26px;
}

.broker-testimonial-control{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(0,0,0,.14);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:#111;
  cursor:pointer;
  font-size:2rem;
  line-height:1;
  transition:background var(--ease), transform var(--ease);
}

.broker-testimonial-control:hover,
.broker-testimonial-control:focus-visible{
  background:#fff;
  transform:translateY(-1px);
}

/* ---------- Direct Contact ---------- */
.broker-direct-contact{
  padding-block:0;
  background:#111;
  color:#fff;
}

.broker-direct-box{
  width:min(88vw, 1480px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, .75fr);
  gap:clamp(48px, 5vw, 88px);
  align-items:center;
  padding:54px 56px;
  background:transparent;
  color:#fff;
  box-shadow:none;
}

.broker-direct-box .eyebrow,
.broker-direct-box p{
  color:rgba(255,255,255,.78);
}

.broker-direct-box h2{
  margin-bottom:18px;
  color:#fff;
}

.broker-direct-break{
  display:inline;
}

@media (min-width:1101px){
  .broker-direct-break{
    display:block;
  }
}

.broker-contact-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.broker-contact-actions .btn{
  width:100%;
  min-height:52px;
  padding-inline:18px;
}

.broker-contact-form-section{
  margin-top:-1px;
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .broker-testimonial-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .broker-profile{
    background:#15130f;
  }

  .broker-profile-grid,
  .broker-company-grid,
  .broker-direct-box{
    grid-template-columns:1fr;
  }

  .broker-profile-grid,
  .broker-company-grid{
    width:min(92vw, 980px);
  }

  .broker-profile-media{
    max-width:520px;
    margin-inline:auto;
    justify-self:center;
  }

  .broker-profile-copy{
    max-width:820px;
    margin-inline:auto;
    justify-self:center;
    padding:clamp(30px, 5vw, 52px);
    border-left:0;
  }

  .broker-map-overlay{
    width:min(440px, 52vw);
  }

  .broker-company-stats{
    grid-template-columns:repeat(2, minmax(0,1fr));
    max-width:900px;
    margin-inline:auto;
  }
}

@media (min-width:560px) and (max-width:1100px){
  .broker-profile-copy{
    max-width:656px;
  }
}

@media (max-width:850px){
  .broker-hero-stage{
    padding-top:108px;
    padding-bottom:68px;
  }

  .broker-hero-copy h1{
    font-size:clamp(2.15rem, 10vw, 3.35rem);
  }

  .broker-hero-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .broker-profile,
  .broker-values,
  .broker-credentials,
  .broker-trust,
  .broker-company,
  .broker-testimonials{
    padding-block:var(--section-y-mobile);
  }

  .broker-profile{
    padding-block:calc(var(--section-y-mobile) + 20px) var(--section-y-mobile);
  }

  .broker-profile-grid{
    gap:34px;
  }

  .broker-profile-media{
    width:min(100%, 460px);
    margin-inline:auto;
    justify-self:center;
  }

  .broker-values-grid{
    grid-template-columns:1fr;
    gap:58px;
  }

  .broker-values-stage{
    width:min(92vw, 980px);
  }

  .broker-values-head{
    width:100%;
    margin-bottom:58px;
    text-align:center;
  }

  .broker-values-head h2{
    max-width:none;
  }

  .broker-values-head p:last-child{
    margin-inline:auto;
  }

  .broker-value-item{
    min-height:0;
    padding-block:0;
  }

  .broker-profile-media::before{
    left:-18px;
    top:24px;
    width:48%;
    height:82%;
  }

  .broker-testimonial-grid{
    grid-template-columns:1fr;
  }

  .broker-timeline-list{
    width:min(92vw, 760px);
  }

  .broker-timeline-list::before{
    left:8px;
  }

  .broker-timeline-item{
    grid-template-columns:1fr;
    gap:14px;
    padding-left:34px;
  }

  .broker-timeline-item::before{
    left:-2px;
  }

  .broker-timeline-item > span{
    text-align:left;
  }

  .broker-timeline-item > span small{
    margin-top:4px;
  }

  .broker-timeline-item > div{
    padding:28px;
  }

  .broker-timeline-icon{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    margin-bottom:22px;
  }

  .broker-company-stat{
    padding:0;
  }

  .broker-map-frame{
    height:auto;
    display:grid;
    overflow:visible;
    border-top:1px solid rgba(0,0,0,.18);
    border-bottom:0;
  }

  .broker-office-map{
    position:relative;
    height:430px;
  }

  .broker-map-overlay{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    transform:none;
    padding:28px var(--pad-x-mobile) 32px;
    background:var(--bg-sand);
    border:0;
    border-top:1px solid rgba(0,0,0,.10);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .broker-direct-box{
    width:100%;
    padding:44px var(--pad-x-mobile);
  }

}

@media (max-width:670px){
  .broker-contact-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:560px){
  .broker-page .header-inner{
    position:relative;
  }

  .broker-page .brand-logo{
    width:min(230px, calc(100vw - 112px));
  }

  .broker-page .nav-toggle{
    position:absolute;
    right:var(--pad-x-mobile);
    top:50%;
    transform:translateY(-50%);
    flex:0 0 46px;
  }

  .broker-hero-copy{
    width:min(calc(100vw - (var(--pad-x-mobile) * 2)), 340px);
    max-width:340px;
  }

  .broker-hero-copy h1{
    font-size:2rem;
    line-height:1.08;
  }

  .broker-hero-lead{
    max-width:100%;
    font-size:.95rem;
    line-height:1.5;
  }

  .broker-hero-actions,
  .broker-hero-actions .btn{
    width:100%;
  }

  .broker-hero-actions .btn{
    max-width:290px;
  }

  .broker-profile-grid,
  .broker-company-grid{
    width:100%;
  }

  .broker-profile-media::before{
    display:none;
  }

  .broker-profile-figure{
    padding-bottom:0;
  }

  .broker-profile-media{
    width:min(100%, 340px);
  }

  .broker-profile-grid{
    width:min(calc(100% - (var(--pad-x-mobile) * 2)), 680px);
    padding:18px;
  }

  .broker-profile-photo{
    aspect-ratio:1 / 1;
    padding:18px 18px 0;
  }

  .broker-profile-caption{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin:0 auto;
    padding:24px var(--pad-x-mobile) 26px;
    border-left:1px solid rgba(0,0,0,.10);
    border-top:1px solid rgba(0,0,0,.10);
    box-shadow:0 14px 30px rgba(0,0,0,.10);
  }

  .broker-profile-copy{
    padding:28px 22px 30px;
    border-left:0;
  }

  .broker-company-stats{
    grid-template-columns:1fr;
  }

  .broker-company-stat{
    min-height:0;
    padding:0;
  }

  .broker-values-stage{
    width:min(calc(100% - (var(--pad-x-mobile) * 2)), 980px);
  }

  .broker-value-signet{
    width:min(184px, 58vw);
  }

  .broker-section-head{
    text-align:left;
  }

  .broker-section-head.reading{
    width:100%;
  }

  .broker-credentials .broker-section-head h2{
    white-space:normal;
  }

  .broker-testimonial-carousel{
    --testimonial-card-w:min(86vw, 940px);
    margin-top:34px;
  }

  .broker-testimonial-slide{
    padding:30px 22px;
  }

  .broker-testimonial-slide p{
    font-size:1rem;
    line-height:1.62;
  }

  .broker-trust-actions{
    grid-template-columns:1fr;
  }
}
