:root{
  --green:#113a2e;
  --cream:#f6f3eb;
  --gold:#c8a96a;
  --text:#0f1b16;
  --muted:#42514a;
  --line: rgba(17,58,46,.18);

  --max: 1180px;
  --space: clamp(18px, 2.2vw, 28px);

  --h-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --ui-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --shadow: 0 18px 55px rgba(0,0,0,.14);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: var(--ui-font);
  color: var(--text);
  background: var(--cream);
  line-height: 1.6;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

.container{
  width: min(var(--max), calc(100% - 2*var(--space)));
  margin-inline:auto;
}

.divider{
  height:1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:.75;
}

.kicker{
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(246,243,235,.78);
}

.h1, h1{
  font-family: var(--h-font);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.12;
  margin: 0;
}
h2,h3{
  font-family: var(--h-font);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

p{ margin: 0; color: var(--muted); }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding: .85rem 1.1rem;
  border: 1px solid var(--green);
  background: transparent;
  color: var(--green);
  font-weight: 700;
  letter-spacing:.02em;
  text-transform: uppercase;
  font-size:.85rem;
  cursor:pointer;
  transition: transform .08s ease, background .15s ease, color .15s ease;
  border-radius: 0;
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0px); }

.btn-primary{
  background: var(--green);
  color: var(--cream);
  border-color: var(--green);
}
.btn-primary:hover{ background: #0f3328; }

.btn-secondary{
  background: transparent;
  color: var(--green);
  border-color: var(--green);
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .65rem;
  border:1px solid rgba(200,169,106,.55);
  color: rgba(246,243,235,.92);
  background: rgba(17,58,46,.25);
  border-radius:0;
  font-size:.78rem;
}

header.site-header{
  position: sticky;
  top:0;
  z-index: 50;
  background: var(--cream);
  color: var(--green);
  border-bottom: 1px solid rgba(17,58,46,.12);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: .6rem 0;
  gap:1rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.brand img{
  width: 172px;
  height: auto;
  border: 2px solid var(--green);
  padding: 6px;
  background: #fff;
}
.nav{
  display:flex;
  align-items:center;
  gap:1.1rem;
  font-size:.92rem;
  letter-spacing:.03em;
}
.nav a{
  padding:.55rem .35rem;
  opacity:.92;
}
.nav a:hover{ opacity:1; }

.site-header .nav a{
  color: var(--green);
}

.nav-item{
  position:relative;
}
.dropdown{
  position:absolute;
  top: calc(100% + 12px);
  right:0;
  min-width: 260px;
  background: var(--cream);
  color: var(--text);
  border:1px solid rgba(17,58,46,.18);
  box-shadow: var(--shadow);
  display:none;
  border-radius:0;
}
.dropdown a{
  display:block;
  padding: .85rem .9rem;
  border-bottom:1px solid rgba(17,58,46,.08);
  opacity:1;
}
.dropdown a:hover{
  background: rgba(200,169,106,.12);
}
.nav-item:hover .dropdown{ display:block; }

.header-actions{
  display:flex;
  align-items:center;
  gap:.8rem;
}

.burger{
  display:none;
  background:transparent;
  border:1px solid rgba(17,58,46,.35);
  color: var(--green);
  padding:.55rem .7rem;
  border-radius:0;
}
.mobile-panel{
  display:none;
  border-top:1px solid rgba(200,169,106,.22);
  padding: .9rem 0 1.2rem;
}
.mobile-panel a{
  display:block;
  padding:.8rem 0;
  border-bottom:1px solid rgba(246,243,235,.12);
  opacity:.95;
}
.mobile-panel .sub{
  padding-left: 1rem;
  opacity:.9;
}

@media (max-width: 980px){
  .nav, .header-actions .desktop-only{ display:none; }
  .burger{ display:inline-flex; }
  .mobile-panel{ display:block; }
  .mobile-panel[hidden]{ display:none; }
}

.hero{
  background: var(--green);
  color: var(--cream);
  position:relative;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(22px, 3vw, 40px);
  padding: clamp(44px, 6vw, 84px) 0;
  align-items:center;
}
.hero h1{
  font-size: clamp(2.3rem, 4.2vw, 4rem);
  margin: .6rem 0 1rem;
}
.hero p{
  color: rgba(246,243,235,.82);
  max-width: 58ch;
  font-size: 1.05rem;
}
.hero-cta{
  display:flex;
  gap: .9rem;
  margin-top: 1.35rem;
  flex-wrap: wrap;
}
.hero-card{
  border: 1px solid rgba(200,169,106,.35);
  padding: 14px;
  background: rgba(15,51,40,.45);
  box-shadow: none;
  border-radius: 0;
}
.hero-card img{
  width:100%;
  height: 340px;
  object-fit: cover;
  filter: saturate(.85) contrast(.95);
}
.hero-card .caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding-top: 12px;
  color: rgba(246,243,235,.86);
  font-size: .9rem;
}

@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-card img{ height: 280px; }
}

.section{
  padding: clamp(34px, 4.6vw, 70px) 0;
}
.section-cream{
  background: var(--cream);
}
.section-white{
  background: #fff;
}
.section .topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom: 1.15rem;
}
.section .topline .title h2{
  font-size: clamp(1.8rem, 2.6vw, 2.35rem);
}
.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 980px){
  .grid-3{ grid-template-columns: 1fr; }
}

.card{
  border:1px solid rgba(17,58,46,.16);
  background: #fff;
  padding: 22px;
  border-radius:0;
}
.card h3{
  font-size: 1.55rem;
  margin-bottom: .65rem;
}
.card p{ margin-top:.35rem; }

.icon{
  width: 22px;
  height: 22px;
  stroke: var(--gold);
  stroke-width: 1.6;
  fill: none;
}

.card .line{
  height:1px;
  background: rgba(200,169,106,.55);
  margin: 14px 0;
}

form{ display:grid; gap: 12px; }
label{
  font-weight:700;
  font-size:.92rem;
  color: var(--green);
}
input, select, textarea{
  width:100%;
  padding: .85rem .9rem;
  border:1px solid rgba(17,58,46,.22);
  background: #fff;
  border-radius:0;
  font-family: var(--ui-font);
  font-size: 1rem;
}
textarea{ min-height: 120px; resize: vertical; }
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 720px){
  .form-row{ grid-template-columns: 1fr; }
}

.notice{
  font-size:.9rem;
  color: rgba(66,81,74,.9);
}

footer{
  background: var(--green);
  color: rgba(246,243,235,.9);
  border-top:1px solid rgba(200,169,106,.22);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 18px;
  padding: 44px 0;
}
.footer-grid a{ opacity:.9; }
.footer-grid a:hover{ opacity:1; }
.footer-grid h4{
  font-family: var(--h-font);
  font-weight:500;
  margin:0 0 .8rem;
  font-size:1.25rem;
  color: var(--cream);
}
.footer-bottom{
  border-top: 1px solid rgba(246,243,235,.12);
  padding: 14px 0;
  font-size:.9rem;
  color: rgba(246,243,235,.78);
}
@media (max-width: 980px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footer-grid{ grid-template-columns: 1fr; }
}

.wizard{
  border:1px solid rgba(17,58,46,.16);
  background:#fff;
  padding: 22px;
}
.wizard-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.progress{
  width: 100%;
  height: 8px;
  border: 1px solid rgba(17,58,46,.22);
  background: rgba(17,58,46,.06);
}
.progress > div{
  height: 100%;
  width: 0%;
  background: rgba(200,169,106,.75);
}
.wizard-step{
  display:none;
  padding-top: 12px;
}
.wizard-step.active{ display:block; }
.wizard-actions{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.small{
  font-size:.9rem;
  color: rgba(66,81,74,.95);
}

.nav a::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%);
  width: 22px;
  height: 1px;
  background: rgba(200,169,106,.85);
  opacity: .85;
}
.nav a:hover::after{ opacity: 1; }

/* Potenz-Darstellung (H²) */
sup{
  font-size: .62em;
  line-height: 0;
  vertical-align: super;
}

/* Dropdown via click */
.nav-item.is-open .dropdown{ display:block; }


/* Header refinements */
.header-row{ align-items:center; }
.brand{ align-items:center; }
.nav{ gap: 1.25rem; }

/* Logo responsive */
@media (max-width: 560px){
  .brand img{ width: 142px; }
}


.nav a{ position: relative; }
.nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  width:22px;
  height:1px;
  background: rgba(200,169,106,.9);
  opacity:0;
  transition: opacity .15s ease;
}
.nav a:hover::after{ opacity:1; }
.nav a.is-active::after{ opacity:1; }


.nav-item > a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.nav-item > a::after{
  content:"";
  width: 7px;
  height: 7px;
  border-right: 1.6px solid rgba(200,169,106,.85);
  border-bottom: 1.6px solid rgba(200,169,106,.85);
  transform: rotate(45deg);
  margin-top: -2px;
  opacity: .9;
}
.nav-item:not(.has-dropdown) > a::after{ display:none; }

/* Hero overlay (improves text readability on imagery) */
.hero h1{ text-shadow: 0 10px 26px rgba(0,0,0,.28); }
.hero p{ text-shadow: 0 8px 18px rgba(0,0,0,.20); }
.hero-card{ position:relative; }
.hero-card::after{
  content:"";
  position:absolute;
  inset:14px;
  pointer-events:none;
  border: 1px solid rgba(200,169,106,.25);
}

/* Content polish */
.card{ padding:24px; }
.section .topline{ margin-bottom:1.35rem; }

/* Header cleanup: remove decorative lines and carets */
.nav a::after,
.nav-item > a::after{
  display:none !important;
  content:none !important;
}

/* Inter typography */
.h1, h1, h2, h3{ letter-spacing: -0.01em; }

/* Hover dropdown support (desktop) */
@media (hover: hover) and (pointer: fine){
  .nav-item.has-dropdown:hover .dropdown{
    display: block;
  }
}


/* Dropdown hover buffer (prevents accidental close while moving to submenu) */
.nav-item.has-dropdown{ position: relative; }
.nav-item.has-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height: 14px; /* hover bridge */
}
.dropdown{
  margin-top: 10px;
}

/* Listings */
.listing{ padding:0; overflow:hidden; }
.listing-link{ display:grid; grid-template-columns: 1fr; }
.listing-img img{ width:100%; height: 210px; object-fit: cover; filter: saturate(.9) contrast(.98); }
.listing-body{ padding: 22px; }
@media (min-width: 980px){
  .listing-link{ grid-template-columns: .95fr 1.05fr; }
  .listing-img img{ height: 100%; min-height: 260px; }
}

/* Background image sections */
.bg-photo{
  position: relative;
  min-height: 360px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.bg-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(17,58,46,.78) 0%, rgba(17,58,46,.55) 42%, rgba(17,58,46,.15) 100%);
}
.bg-photo .bg-content{
  position: relative;
  z-index: 1;
  padding: 64px 0;
}
.bg-photo .bg-card{
  max-width: 640px;
  background: rgba(246,243,235,.92);
  padding: 26px 26px;
  border: 1px solid rgba(200,169,106,.25);
}
.bg-tiles{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
}
.bg-tile{
  min-height: 260px;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(200,169,106,.22);
}
@media (max-width: 640px){
  .bg-photo{ min-height: 300px; }
  .bg-photo .bg-content{ padding: 44px 0; }
}

/* hero background image */
.hero-bg{
  background-image: linear-gradient(
    rgba(17,58,46,0.75),
    rgba(17,58,46,0.75)
  ),
  url("../assets/house-1.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Premium full-bleed hero */
.hero.hero-bg{
  min-height: 78vh;
  display: flex;
  align-items: center;
  padding-top: 140px;
  padding-bottom: 110px;
}
.hero-grid--single{
  grid-template-columns: 1fr !important;
}
.hero.hero-bg .hero-grid{
  align-items: center;
}
.hero.hero-bg h1{
  font-size: clamp(44px, 5.2vw, 78px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}
.hero.hero-bg p{
  max-width: 62ch;
  font-size: 18px;
  line-height: 1.65;
}
.hero.hero-bg .actions{
  margin-top: 26px;
}
@media (max-width: 720px){
  .hero.hero-bg{
    min-height: 72vh;
    padding-top: 110px;
    padding-bottom: 80px;
  }
  .hero.hero-bg h1{
    font-size: clamp(38px, 9vw, 56px);
  }
}

/* About story band overlay tweak */
.about-storyband::before{
  background: linear-gradient(90deg, rgba(17,58,46,.72) 0%, rgba(17,58,46,.48) 44%, rgba(17,58,46,.18) 100%);
}

/* Clean band replacing image */
.about-clean-band{
  text-align:left;
  padding-top:90px;
  padding-bottom:90px;
}

.about-kicker{
  color:#c8a96a;
  font-weight:600;
  letter-spacing:.12em;
  font-size:13px;
  margin-bottom:10px;
}

/* Team section */
.team-section .container{
  max-width: 1180px;
}
.team-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-top: 28px;
}
.team-card{
  margin: 0;
  background: rgba(246,243,235,.96);
  border: 1px solid rgba(200,169,106,.20);
  overflow: hidden;
}
.team-card img{
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}
.team-card figcaption{
  padding: 16px 18px 18px;
  border-top: 1px solid rgba(200,169,106,.18);
}
.team-name{
  font-weight: 700;
  letter-spacing: .01em;
}
.team-role{
  margin-top: 4px;
  opacity: .85;
  font-size: 14px;
}

@media (max-width: 860px){
  .team-grid{ grid-template-columns: 1fr; }
  .team-card img{ height: 440px; }
}
@media (max-width: 520px){
  .team-card img{ height: 340px; object-position: center 22%; }
}

/* Hero button contrast */
.hero.hero-bg .btn,
.hero.hero-about-bg .btn{
  border-width: 1px;
}

.hero.hero-bg .btn-primary,
.hero.hero-about-bg .btn-primary{
  background: #f6f3eb;
  color: #113a2e;
  border: 1px solid rgba(246,243,235,.85);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

.hero.hero-bg .btn-primary:hover,
.hero.hero-about-bg .btn-primary:hover{
  filter: brightness(.98);
  transform: translateY(-1px);
}

.hero.hero-bg .btn-secondary,
.hero.hero-about-bg .btn-secondary{
  background: rgba(17,58,46,.35);
  color: #f6f3eb;
  border: 1px solid rgba(246,243,235,.55);
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
  backdrop-filter: blur(6px);
}

.hero.hero-bg .btn-secondary:hover,
.hero.hero-about-bg .btn-secondary:hover{
  background: rgba(17,58,46,.50);
  border-color: rgba(200,169,106,.65);
  transform: translateY(-1px);
}


/* About premium split hero */
.about-hero-premium{
  background: #f6f3eb;
  padding: 110px 0 72px;
  overflow: hidden;
}
.about-hero-premium__grid{
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 38px;
  align-items: stretch;
}
.about-hero-premium__media{
  min-height: 620px;
  background-image: url("../assets/team-desk.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 28%;
  border: 1px solid rgba(17,58,46,.12);
  box-shadow: 0 24px 48px rgba(0,0,0,.10);
}
.about-hero-premium__content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 26px 4px 26px 0;
}
.about-hero-premium__kicker{
  color: #113a2e;
  opacity: .78;
  margin-bottom: 12px;
}
.about-hero-premium h1{
  color: #081611;
  font-size: clamp(42px, 5.2vw, 78px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin: 0 0 18px;
}
.about-hero-premium p{
  color: rgba(8,22,17,.76);
  font-size: 18px;
  line-height: 1.7;
  max-width: 58ch;
}
.about-hero-premium .hero-cta{
  margin-top: 24px;
}
.about-hero-premium .btn-primary{
  background: #113a2e;
  color: #f6f3eb;
  border: 1px solid #113a2e;
  box-shadow: 0 12px 24px rgba(17,58,46,.16);
}
.about-hero-premium .btn-secondary{
  background: transparent;
  color: #113a2e;
  border: 1px solid rgba(17,58,46,.55);
}
.about-hero-premium__divider{
  width: 90px;
  height: 1px;
  background: rgba(200,169,106,.9);
  margin: 28px 0 18px;
}
.about-hero-premium__subtext{
  font-size: 15px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(17,58,46,.78) !important;
}

@media (max-width: 1040px){
  .about-hero-premium__grid{
    grid-template-columns: 1fr;
  }
  .about-hero-premium__media{
    order: -1;
    min-height: 440px;
    background-position: center 26%;
  }
  .about-hero-premium__content{
    padding-right: 0;
  }
}
@media (max-width: 640px){
  .about-hero-premium{
    padding: 92px 0 54px;
  }
  .about-hero-premium__media{
    min-height: 340px;
    background-position: center 24%;
  }
  .about-hero-premium h1{
    font-size: clamp(34px, 11vw, 52px);
  }
  .about-hero-premium p{
    font-size: 17px;
    line-height: 1.6;
  }
}


/* Home trust row */
.home-trust{
  background:#113a2e;
  border-top:1px solid rgba(200,169,106,.22);
  border-bottom:1px solid rgba(200,169,106,.18);
}
.home-trust__row{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px 34px;
  color:rgba(246,243,235,.92);
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-trust__row span{
  position:relative;
}
.home-trust__row span:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-18px;
  width:6px;
  height:6px;
  background:#c8a96a;
  transform:translateY(-50%);
}

/* Home services icons */
.home-services-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.home-service-card{
  background:#fff;
  border:1px solid rgba(17,58,46,.12);
  padding:26px 24px;
  box-shadow:0 16px 34px rgba(0,0,0,.05);
}
.home-service-card__icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.home-service-card__icon svg{
  width:34px;
  height:34px;
  stroke:#c8a96a;
  stroke-width:1.35;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.home-service-card h3{
  margin:0 0 10px;
  font-size:28px;
}
.home-service-card p{
  margin:0;
  color:rgba(8,22,17,.72);
}

/* Home highlight section */
.home-highlight{
  background:#fff;
  padding:72px 0;
}
.home-highlight__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:stretch;
}
.home-highlight__media{
  min-height:520px;
  background-image:url("../assets/house-2.jpg");
  background-size:cover;
  background-position:center 38%;
  background-repeat:no-repeat;
  border:1px solid rgba(17,58,46,.12);
  box-shadow:0 22px 42px rgba(0,0,0,.08);
}
.home-highlight__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-highlight__kicker{
  color:#113a2e;
  opacity:.76;
}
.home-highlight h2{
  font-size:clamp(34px, 3.6vw, 56px);
  line-height:1.08;
  margin:8px 0 16px;
  letter-spacing:-0.02em;
}
.home-highlight__content p{
  color:rgba(8,22,17,.74);
  font-size:18px;
  line-height:1.7;
}
.home-highlight__divider{
  width:90px;
  height:1px;
  background:rgba(200,169,106,.9);
  margin:22px 0 16px;
}
.home-highlight__meta{
  font-size:14px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(17,58,46,.78) !important;
}

@media (max-width:980px){
  .home-services-grid,
  .home-highlight__grid{
    grid-template-columns:1fr;
  }
  .home-highlight__media{
    min-height:360px;
  }
}
@media (max-width:560px){
  .home-trust__row{
    justify-content:flex-start;
    padding:14px 0;
  }
  .home-trust__row span:not(:last-child)::after{
    display:none;
  }
  .home-service-card h3{
    font-size:24px;
  }
}


/* Premium footer */
.site-footer{
  background:#113a2e;
  color:#f6f3eb;
  padding:54px 0 0;
  margin-top:0;
  border-top:1px solid rgba(200,169,106,.20);
}
.site-footer .container{
  max-width:1180px;
}
.site-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr 1fr;
  gap: 28px;
  align-items:start;
}
.site-footer__brand img{
  width: 180px;
  display:block;
  margin-bottom:18px;
  background:#f6f3eb;
  padding:8px 10px;
}
.site-footer__brand p{
  margin: 0 0 8px;
  color: rgba(246,243,235,.82);
  line-height:1.6;
}
.site-footer__col h4{
  margin: 0 0 14px;
  color:#f6f3eb;
  font-size: 16px;
  letter-spacing:.03em;
}
.site-footer__col a{
  display:block;
  color: rgba(246,243,235,.84);
  text-decoration:none;
  margin: 0 0 10px;
  transition: color .18s ease;
}
.site-footer__col a:hover{
  color:#c8a96a;
}
.site-footer__bottom{
  margin-top: 34px;
  padding: 18px 0 22px;
  border-top:1px solid rgba(200,169,106,.18);
  color: rgba(246,243,235,.72);
  font-size: 14px;
}
@media (max-width: 980px){
  .site-footer__grid{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px){
  .site-footer{
    padding-top:40px;
  }
  .site-footer__grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .site-footer__brand img{
    width: 160px;
  }
}


/* Ratgeber download band */
.ratgeber-download-band{
  background:#fff;
  padding: 36px 0 28px;
}
.ratgeber-download-band__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 26px;
  align-items: stretch;
}
.ratgeber-download-band__content,
.ratgeber-download-band__card{
  background:#f6f3eb;
  border:1px solid rgba(17,58,46,.12);
  box-shadow: 0 18px 38px rgba(0,0,0,.06);
}
.ratgeber-download-band__content{
  padding: 34px 34px 30px;
}
.ratgeber-download-band__content h2{
  margin: 8px 0 14px;
  font-size: clamp(32px, 3.4vw, 52px);
  line-height: 1.08;
}
.ratgeber-download-band__content p{
  color: rgba(8,22,17,.74);
  line-height: 1.7;
}
.ratgeber-download-band__list{
  margin: 18px 0 0;
  padding-left: 18px;
  color: rgba(8,22,17,.78);
}
.ratgeber-download-band__list li{
  margin-bottom: 8px;
}
.ratgeber-download-band__actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.ratgeber-download-band__card{
  padding: 30px 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.ratgeber-download-band__meta{
  display:inline-flex;
  align-self:flex-start;
  padding: 7px 10px;
  border:1px solid rgba(200,169,106,.38);
  color:#113a2e;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.ratgeber-download-band__card h3{
  margin: 0 0 12px;
  font-size: 28px;
  line-height: 1.18;
}
.ratgeber-download-band__card p{
  margin: 0 0 20px;
  color: rgba(8,22,17,.72);
}
.ratgeber-download-band__file{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top: 16px;
  border-top:1px solid rgba(200,169,106,.30);
  color:#113a2e;
}
@media (max-width: 980px){
  .ratgeber-download-band__grid{
    grid-template-columns: 1fr;
  }
}


/* Karriere Job Section */
.career-job{
  background:#fff;
  padding:70px 0;
}

.career-job__grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:40px;
}

.career-job h2{
  font-size:42px;
  margin-bottom:10px;
}

.career-job__subtitle{
  font-weight:600;
  margin-bottom:20px;
  color:#113a2e;
}

.career-job h3{
  margin-top:28px;
  margin-bottom:10px;
  font-size:24px;
}

.career-job ul{
  padding-left:18px;
  line-height:1.7;
}

.career-job__contact{
  background:#f6f3eb;
  padding:26px;
  border:1px solid rgba(17,58,46,.15);
}

.career-job__cta{
  margin-top:26px;
}

@media(max-width:900px){
  .career-job__grid{
    grid-template-columns:1fr;
  }
}


/* Final polish */
.kicker, .eyebrow, .section-label, .small-title, .subtitle{
  color:#081611 !important;
  letter-spacing:.12em;
  font-weight:600;
  opacity:.92;
}
.btn{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary:hover{ box-shadow:0 14px 26px rgba(17,58,46,.18); }
.btn-secondary:hover{
  border-color: rgba(200,169,106,.72);
  box-shadow:0 12px 22px rgba(0,0,0,.06);
}

/* Premium property cards */
.property-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.property-card{
  background:#fff;
  border:1px solid rgba(17,58,46,.12);
  box-shadow:0 16px 34px rgba(0,0,0,.05);
  overflow:hidden;
}
.property-card__image{
  height:240px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.property-card__body{ padding:22px 22px 24px; }
.property-card__title{ margin:0; font-size:28px; line-height:1.14; }
.property-card__price{ margin:8px 0 8px; font-size:28px; font-weight:700; color:#081611; }
.property-card__meta{
  display:flex; flex-wrap:wrap; gap:8px 14px; margin:10px 0 14px;
  color:rgba(8,22,17,.72); font-size:14px;
}
.property-card__actions{ margin-top:16px; }

/* Contact info visibility */
.card a[href^="mailto:"]{ word-break: break-word; }

@media (max-width:980px){
  .property-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .property-grid{ grid-template-columns:1fr; }
}

/* Expose page */
.expose-hero{ background:#113a2e; color:#f6f3eb; padding:150px 0 70px; }
.expose-gallery{ padding:40px 0; background:#fff; }
.expose-gallery-grid{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:260px 260px; gap:16px; }
.expose-main-image{ grid-row:1/3; background-size:cover; background-position:center; background-repeat:no-repeat; }
.expose-side-image{ background-size:cover; background-position:center; background-repeat:no-repeat; }
.expose-content{ padding:60px 0; background:#f6f3eb; }
.expose-grid{ display:grid; grid-template-columns:2fr 1fr; gap:40px; }
.expose-description ul{ padding-left:18px; line-height:1.6; }
.expose-facts{ background:#fff; padding:28px; border:1px solid rgba(17,58,46,.15); }
.fact{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
.fact:last-child{ border-bottom:none; margin-bottom:20px; }
.expose-mailto-note{ margin-top:14px; font-size:13px; line-height:1.5; color:rgba(8,22,17,.68);}
@media(max-width:900px){
  .expose-gallery-grid{ grid-template-columns:1fr; grid-template-rows:240px 240px 240px; }
  .expose-main-image{ grid-row:auto; }
  .expose-grid{ grid-template-columns:1fr; }
}
/* =================================
   MOBILE OPTIMIERUNG H2 IMMOBILIEN
================================= */

@media (max-width:768px){

  /* Container Abstand */
  .container{
    width: calc(100% - 32px);
  }

  /* HERO */
  .hero.hero-bg{
    min-height: 60vh;
    padding-top: 110px;
    padding-bottom: 60px;
  }

  .hero.hero-bg h1{
    font-size: 32px;
    line-height:1.15;
  }

  .hero.hero-bg p{
    font-size:16px;
  }

  /* Buttons untereinander */
  .hero-cta{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .hero-cta .btn{
    width:100%;
    text-align:center;
  }

  /* Trust Bar */
  .home-trust__row{
    justify-content:flex-start;
    gap:14px;
    font-size:13px;
  }

  /* Service Cards */
  .home-services-grid{
    grid-template-columns:1fr;
  }

  /* Highlight Section */
  .home-highlight__grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .home-highlight__media{
    min-height:260px;
  }

  /* Karten allgemein */
  .grid-3{
    grid-template-columns:1fr !important;
  }

  .card{
    padding:20px;
  }

  /* Über uns Cards */
  .grid-3[style]{
    grid-template-columns:1fr !important;
  }

  /* Kontaktbereich */
  #kontakt .grid-3{
    grid-template-columns:1fr !important;
  }

  /* Formular */
  .form-row{
    grid-template-columns:1fr;
  }

  input,
  textarea,
  select{
    font-size:16px;
  }

  /* Footer */
  .site-footer__grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .site-footer__brand img{
    width:150px;
  }

}


/* =================================
   MOBILE MENÜ VERBESSERUNG
================================= */

@media (max-width:768px){

  .mobile-panel{
    padding-top:10px;
  }

  .mobile-panel a{
    padding:14px 0;
    font-size:16px;
  }

  .mobile-panel .sub{
    padding-left:18px;
    font-size:15px;
  }

}


/* =================================
   BILDER MOBILE OPTIMIERUNG
================================= */

@media (max-width:768px){

  .hero-card img{
    height:240px;
  }

  .listing-img img{
    height:200px;
  }

  .bg-photo{
    min-height:260px;
  }

}


/* =================================
   BUTTON TOUCH OPTIMIERUNG
================================= */

@media (max-width:768px){

  .btn{
    padding:14px 16px;
    font-size:14px;
  }

}


/* FIX: Karriere Hero Button sichtbar machen */
.hero .btn-secondary{
  background: #f6f3eb;
  color: #113a2e;
  border: 1px solid #f6f3eb;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

.hero .btn-secondary:hover{
  background: #ffffff;
  color: #113a2e;
  border-color: #c8a96a;
}

/* TEAM LUXURY REFINEMENT */
.team-section .topline{
  margin-bottom: 1.75rem;
}

.team-premium{
  gap: 56px;
  align-items: flex-start !important;
}

.team-card{
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(17,58,46,.10);
  box-shadow: 0 18px 34px rgba(0,0,0,.05);
}

.team-card img{
  object-position: center 34%;
}

.team-card figcaption{
  padding: 18px 20px 20px;
  background: rgba(246,243,235,.96);
}

.team-name{
  font-size: 1.05rem;
  letter-spacing: .005em;
}

.team-role{
  margin-top: 6px;
  font-size: 15px;
  color: rgba(8,22,17,.72);
}

.team-content{
  padding-top: 8px;
  max-width: 520px;
}

.team-content h3{
  font-size: clamp(2rem, 2.4vw, 2.45rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin-bottom: 16px;
  color: #081611;
}

.team-content p{
  margin-bottom: 14px;
  line-height: 1.78;
  font-size: 1.08rem;
  color: rgba(8,22,17,.74);
}

.team-values{
  gap: 12px;
  margin: 22px 0 24px;
}

.team-values span{
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(17,58,46,.12);
  padding: 7px 14px;
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(8,22,17,.82);
}

.team-content .btn{
  min-width: 220px;
  width: auto;
  box-shadow: 0 12px 24px rgba(17,58,46,.12);
}

@media (max-width: 980px){
  .team-premium{
    gap: 28px;
  }

  .team-content{
    max-width: 100%;
    padding-top: 0;
  }

  .team-content h3{
    font-size: clamp(1.65rem, 6vw, 2.2rem);
  }

  .team-content p{
    font-size: 1rem;
    line-height: 1.7;
  }
}

@media (max-width: 768px){
  .team-section .topline{
    margin-bottom: 1.1rem;
  }

  .team-card figcaption{
    padding: 16px 16px 18px;
  }

  .team-content .btn{
    width: 100%;
    min-width: 0;
  }
}
/* Download Lead Form */
.download-form{
  margin-top: 4px;
  max-width: 760px;
}

.download-form__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.download-form label{
  display: block;
  margin-bottom: 6px;
}

.download-form__consent{
  display: flex !important;
  gap: .7rem;
  align-items: flex-start;
  margin-top: 12px;
  margin-bottom: 14px;
}

.download-form__consent input{
  width: auto;
  margin-top: .28rem;
}

.download-form__consent span{
  color: rgba(8,22,17,.72);
  font-size: .95rem;
  line-height: 1.55;
}

.download-form__buttons{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

@media (max-width: 768px){
  .download-form__grid{
    grid-template-columns: 1fr;
  }

  .download-form__buttons{
    flex-direction: column;
  }

  .download-form__buttons .btn{
    width: 100%;
  }
}

/* =================================
   IMPRESSUM PREMIUM REDESIGN
================================= */
.impressum-premium{
  background:
    linear-gradient(180deg, rgba(17,58,46,0.06) 0%, rgba(17,58,46,0) 180px),
    var(--cream);
  padding: 120px 0 90px;
}

.impressum-premium__container{
  max-width: 980px;
}

.impressum-premium__intro{
  text-align: left;
  margin-bottom: 34px;
}

.impressum-premium__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  color: var(--green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.impressum-premium__eyebrow::before{
  content:"";
  width: 42px;
  height: 1px;
  background: rgba(200,169,106,.95);
}

.impressum-premium h1{
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin: 0 0 12px;
  color: #081611;
}

.impressum-premium__lead{
  font-size: 18px;
  color: rgba(8,22,17,.72);
  max-width: 54ch;
}

.impressum-premium__card{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(17,58,46,.12);
  box-shadow: 0 24px 50px rgba(0,0,0,.06);
  overflow: hidden;
}

.impressum-premium__row{
  display:grid;
  grid-template-columns: minmax(180px, 220px) 1fr;
  gap: 28px;
  padding: 28px 32px;
  border-bottom: 1px solid rgba(17,58,46,.08);
}

.impressum-premium__row:last-child{
  border-bottom: none;
}

.impressum-premium__label{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(17,58,46,.72);
}

.impressum-premium__content p{
  margin:0;
  color: rgba(8,22,17,.84);
  line-height: 1.8;
  font-size: 17px;
}

.impressum-premium__content a{
  color: var(--green);
  font-weight: 600;
}

.impressum-premium__content a:hover{
  color: #0f3328;
}

.impressum-premium__row--last{
  background: linear-gradient(180deg, rgba(17,58,46,.02), rgba(17,58,46,0));
}

@media (max-width: 820px){
  .impressum-premium{
    padding: 104px 0 64px;
  }

  .impressum-premium__card{
    box-shadow: 0 16px 34px rgba(0,0,0,.05);
  }

  .impressum-premium__row{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 22px 20px;
  }

  .impressum-premium__content p{
    font-size: 16px;
    line-height: 1.7;
  }
}

@media (max-width: 520px){
  .impressum-premium{
    padding: 96px 0 54px;
  }

  .impressum-premium__eyebrow{
    font-size: 12px;
    letter-spacing: .14em;
  }

  .impressum-premium h1{
    font-size: clamp(34px, 11vw, 52px);
  }

  .impressum-premium__lead{
    font-size: 16px;
  }
}


/* =================================
   PREMIUM EXPOSE LOOK – VERKAUFSOBJEKTE
================================= */
.property-card__image{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.property-card--premium{
  position: relative;
  border: 1px solid rgba(17,58,46,.14);
  box-shadow: 0 22px 42px rgba(0,0,0,.08);
  overflow: hidden;
}

.property-card--premium::after{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(200,169,106,.22);
  pointer-events:none;
}

.property-card--premium .property-card__image{
  min-height: 290px;
  filter: saturate(1.02) contrast(1.01);
}

.property-card__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  color: rgba(17,58,46,.78);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.property-card__eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background: rgba(200,169,106,.95);
}

.property-card--premium .property-card__title{
  font-size: clamp(30px, 2.1vw, 36px);
  line-height: 1.08;
}

.property-card--premium .property-card__price{
  margin-top: 10px;
  font-size: 32px;
  color: #113a2e;
}

.property-card--premium .property-card__meta{
  margin-top: 14px;
  gap: 10px 16px;
}

.property-card--premium .property-card__meta span{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border: 1px solid rgba(17,58,46,.12);
  background: rgba(17,58,46,.04);
  color: rgba(8,22,17,.78);
}

.property-card--premium .property-card__body{
  padding: 28px 28px 30px;
}

.property-card--premium .property-card__actions{
  margin-top: 20px;
}

.property-card--premium .btn-primary{
  min-width: 210px;
  box-shadow: 0 12px 26px rgba(17,58,46,.18);
}

@media (max-width: 720px){
  .property-card--premium .property-card__image{
    min-height: 230px;
  }
  .property-card--premium .property-card__body{
    padding: 22px 20px 24px;
  }
  .property-card--premium .property-card__title{
    font-size: 28px;
  }
  .property-card--premium .property-card__price{
    font-size: 28px;
  }
}
