/* Balkenhohl Immobilien v144 – professional luxury portfolio and unified footer blue. */

:root {
  --v144-blue: #082b3c;
  --v144-blue-soft: #10394b;
  --v144-gold: #d8ae62;
  --v144-ink: #102332;
  --v144-copy: #546470;
  --v144-paper: #f7f4ee;
}

/* Footer uses the same deep blue as the primary website sections. */
.site-footer {
  background: var(--v144-blue) !important;
  color: rgba(255,255,255,.8) !important;
}
.site-footer h3 { color: #fff !important; }
.site-footer a { color: rgba(255,255,255,.88) !important; }
.site-footer a:hover { color: #fff !important; }
.footer-bottom,
.footer-region-strip,
.footer-photo-credits { border-color: rgba(255,255,255,.16) !important; }

/* Luxury portfolio: coherent rhythm, readable copy and compact use of space. */
.oe-page--luxury-portfolio {
  color: var(--v144-ink);
  background: var(--v144-paper);
}
.oe-page--luxury-portfolio .section {
  padding: clamp(70px, 7.5vw, 108px) 0;
}
.oe-page--luxury-portfolio .oe-hero--gallery {
  min-height: 720px;
  background: linear-gradient(135deg, #e5e2db 0%, #d7d6d2 100%);
}
.oe-page--luxury-portfolio .oe-hero--gallery .oe-hero__grid {
  gap: clamp(42px, 6vw, 84px);
}
.oe-page--luxury-portfolio .oe-hero--gallery .oe-hero__image {
  clip-path: none;
  border-radius: 4px 76px 4px 4px;
  filter: saturate(.92) contrast(1.03);
}
.oe-page--luxury-portfolio .oe-hero__lead {
  max-width: 720px;
  color: #495966;
}
.oe-page--luxury-portfolio .oe-actions {
  gap: 14px 22px;
  margin-top: 30px;
}
.oe-page--luxury-portfolio .oe-actions .btn,
.oe-page--luxury-portfolio .button-pair .btn {
  min-height: 52px;
  padding: 14px 24px;
}

.oe-page--luxury-portfolio .oe-curation {
  background: #fff;
}
.oe-page--luxury-portfolio .oe-curation__head {
  max-width: 900px;
  margin-bottom: clamp(34px, 4vw, 52px);
}
.oe-page--luxury-portfolio .oe-curation__head h2 {
  max-width: 860px;
}
.oe-page--luxury-portfolio .oe-curation__head > p:last-child {
  max-width: 780px;
  margin: 24px 0 0;
  color: var(--v144-copy);
  font-size: clamp(1.05rem, 1.25vw, 1.22rem);
  line-height: 1.72;
}
.oe-page--luxury-portfolio .oe-curation__mosaic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 18px;
}
.oe-page--luxury-portfolio .oe-curation-card,
.oe-page--luxury-portfolio .oe-curation-card--architecture,
.oe-page--luxury-portfolio .oe-curation-card--privacy,
.oe-page--luxury-portfolio .oe-curation-card--craft {
  grid-column: auto;
  grid-row: auto;
  min-height: clamp(330px, 34vw, 470px);
  padding: clamp(26px, 3vw, 42px);
  border-radius: 22px;
  background-image: linear-gradient(180deg, rgba(6,18,28,.02) 20%, rgba(6,18,28,.84) 100%), var(--oe-card-image);
  box-shadow: 0 18px 46px rgba(8,43,60,.12);
}
.oe-page--luxury-portfolio .oe-curation-card::after {
  border-color: rgba(255,255,255,.24);
  border-radius: inherit;
}
.oe-page--luxury-portfolio .oe-curation-card h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem) !important;
}
.oe-page--luxury-portfolio .oe-curation-card p {
  max-width: 520px;
  color: rgba(255,255,255,.84);
  font-size: 1rem;
  line-height: 1.6;
}

.oe-luxury-story {
  background: #edf1f2;
}
.oe-luxury-story__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: center;
}
.oe-luxury-story__media {
  display: block;
  overflow: hidden;
  min-height: 500px;
  border-radius: 28px 4px 28px 4px;
  box-shadow: 0 26px 70px rgba(8,43,60,.16);
}
.oe-luxury-story__media img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
}
.oe-luxury-story__copy h2 {
  margin-bottom: 28px;
  font-size: clamp(2.35rem, 4.1vw, 4.65rem) !important;
}
.oe-luxury-story__copy > p:not(.oe-kicker) {
  margin: 0 0 19px;
  color: var(--v144-copy);
  font-size: clamp(1.03rem, 1.15vw, 1.18rem);
  line-height: 1.74;
}

.oe-luxury-principles {
  background: #fff;
}
.oe-luxury-principles__head {
  max-width: 900px;
  margin-bottom: clamp(34px, 4vw, 50px);
}
.oe-luxury-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.oe-luxury-principles__grid article {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: clamp(28px, 3vw, 40px);
  border: 1px solid rgba(8,43,60,.12);
  border-radius: 22px;
  background: linear-gradient(145deg, #fff 0%, #f4f1ea 100%);
  box-shadow: 0 16px 42px rgba(8,43,60,.08);
}
.oe-luxury-principles__grid article > span {
  color: #a47431;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.oe-luxury-principles__grid h3 {
  margin: 52px 0 16px;
  color: var(--v144-ink);
  font-size: clamp(1.6rem, 2vw, 2.25rem) !important;
}
.oe-luxury-principles__grid p {
  margin: 0;
  color: var(--v144-copy);
  font-size: 1.02rem;
  line-height: 1.68;
}

.oe-page--luxury-portfolio .oe-luxury-calibration {
  padding: clamp(72px, 7vw, 100px) 0;
  background: var(--v144-blue) !important;
  background-image: linear-gradient(140deg, var(--v144-blue) 0%, var(--v144-blue-soft) 100%) !important;
}
.oe-page--luxury-portfolio .oe-luxury-calibration__grid {
  grid-template-columns: minmax(280px, .8fr) minmax(520px, 1.2fr);
  gap: clamp(44px, 7vw, 88px);
}
.oe-page--luxury-portfolio .oe-luxury-calibration h2 {
  color: #fff;
  font-size: clamp(2.25rem, 3.8vw, 4.2rem) !important;
}
.oe-page--luxury-portfolio .oe-luxury-calibration .oe-kicker {
  color: var(--v144-gold) !important;
}
.oe-page--luxury-portfolio .oe-luxury-calibration__grid > div:first-child > p:last-child {
  margin: 22px 0 0;
  color: rgba(255,255,255,.74) !important;
  font-size: 1.05rem;
  line-height: 1.65;
}
.oe-page--luxury-portfolio .oe-calibration-line {
  padding: 30px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: rgba(255,255,255,.055);
}
.oe-page--luxury-portfolio .oe-calibration-line b { color: #fff; }
.oe-page--luxury-portfolio .oe-calibration-line em { color: rgba(255,255,255,.66); }

.oe-page--luxury-portfolio .oe-luxury-manifesto {
  padding: clamp(66px, 7vw, 96px) 0;
  color: #fff;
  background: #0d3446;
}
.oe-luxury-manifesto__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto;
  gap: clamp(34px, 6vw, 80px);
  align-items: end;
}
.oe-luxury-manifesto__inner h2 {
  max-width: 900px;
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(2.25rem, 4vw, 4.45rem) !important;
}
.oe-luxury-manifesto__inner > div:first-child > p:last-child {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 1.08rem;
  line-height: 1.7;
}
.oe-luxury-manifesto__inner .oe-kicker { color: var(--v144-gold) !important; }
.oe-luxury-manifesto__inner .button-pair {
  justify-content: flex-end;
  min-width: 310px;
}
.oe-luxury-manifesto__inner .btn--light {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
}
.oe-luxury-manifesto__inner .btn--light:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
}

.oe-page--luxury-portfolio .oe-form--stone {
  padding: clamp(72px, 7.5vw, 104px) 0;
  background: #e8e4dc;
}
.oe-page--luxury-portfolio .oe-form__grid {
  gap: clamp(42px, 6vw, 86px);
}
.oe-page--luxury-portfolio .oe-related {
  background: var(--v144-blue);
}

@media (max-width: 980px) {
  .oe-luxury-story__grid,
  .oe-page--luxury-portfolio .oe-luxury-calibration__grid,
  .oe-luxury-manifesto__inner {
    grid-template-columns: 1fr;
  }
  .oe-luxury-principles__grid { grid-template-columns: 1fr 1fr; }
  .oe-luxury-principles__grid article:last-child { grid-column: 1 / -1; min-height: 0; }
  .oe-luxury-manifesto__inner .button-pair { justify-content: flex-start; min-width: 0; }
}

@media (max-width: 720px) {
  .oe-page--luxury-portfolio .section { padding: 62px 0; }
  .oe-page--luxury-portfolio .oe-hero--gallery { padding-bottom: 62px; }
  .oe-page--luxury-portfolio .oe-hero--gallery .oe-hero__visual { min-height: 410px; }
  .oe-page--luxury-portfolio .oe-hero--gallery .oe-hero__image { border-radius: 3px 42px 3px 3px; }
  .oe-page--luxury-portfolio .oe-curation__mosaic,
  .oe-luxury-principles__grid { grid-template-columns: 1fr; }
  .oe-page--luxury-portfolio .oe-curation-card { min-height: 320px; }
  .oe-luxury-principles__grid article,
  .oe-luxury-principles__grid article:last-child { grid-column: auto; min-height: 0; }
  .oe-luxury-principles__grid h3 { margin-top: 34px; }
  .oe-luxury-story__media,
  .oe-luxury-story__media img { min-height: 380px; }
  .oe-page--luxury-portfolio .oe-calibration-line { padding: 24px 20px; }
  .oe-luxury-manifesto__inner .button-pair,
  .oe-luxury-manifesto__inner .btn { width: 100%; }
  .oe-luxury-manifesto__inner .btn { text-align: center; }
}

@media (max-width: 460px) {
  .oe-page--luxury-portfolio .oe-hero h1 { font-size: clamp(2.45rem, 11vw, 3.25rem) !important; }
  .oe-page--luxury-portfolio .oe-curation-card { min-height: 290px; padding: 24px; }
  .oe-luxury-story__media,
  .oe-luxury-story__media img { min-height: 330px; }
}

@media (max-width: 720px) {
  .oe-page--luxury-portfolio .oe-curation-card {
    background-image: linear-gradient(180deg, rgba(6,18,28,.02) 20%, rgba(6,18,28,.84) 100%), var(--oe-card-image-mobile, var(--oe-card-image));
  }
}


.oe-luxury-insight {
  background: #fff;
}
.oe-luxury-insight__grid {
  display: grid;
  grid-template-columns: minmax(340px, .95fr) minmax(0, 1.05fr);
  gap: clamp(38px, 6vw, 88px);
  align-items: center;
}
.oe-luxury-insight__copy h2 {
  margin: 0 0 24px;
  font-size: clamp(2.2rem, 3.9vw, 4.2rem) !important;
}
.oe-luxury-insight__copy > p:not(.oe-kicker) {
  margin: 0 0 18px;
  color: var(--v144-copy);
  font-size: clamp(1rem, 1.08vw, 1.14rem);
  line-height: 1.75;
}
.oe-luxury-insight__media {
  display: block;
  overflow: hidden;
  min-height: 560px;
  border-radius: 6px 34px 6px 34px;
  box-shadow: 0 24px 70px rgba(8,43,60,.14);
}
.oe-luxury-insight__media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}
.v143-home-news .v137-section-intro h2 {
  max-width: 680px;
}
@media (max-width: 980px) {
  .oe-luxury-insight__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .oe-luxury-insight__media,
  .oe-luxury-insight__media img {
    min-height: 360px;
  }
}
