/* Rabanser CI: exact colors sampled from the supplied logo.svg.
   Layout and Manrope typography remain unchanged. */
:root {
  --brand-primary: #333369;
  --brand-accent: #f9ad09;
  --brand-text: #252535;
  --brand-muted: #5d5d5d;
  --brand-soft: #f3f3f7;
  --brand-line: #dcdce6;
}
body { color: var(--brand-text); }
.legal-notice { border-color: var(--brand-accent); background: var(--brand-soft); }
.legal-content button { border-color: var(--brand-primary); color: var(--brand-primary); }
a:focus-visible, button:focus-visible { outline-color: var(--brand-accent); }
em { color: var(--brand-accent); }
.utility, .config, .navy { background: var(--brand-primary); }
.utility a, .config-copy > p { color: #ededf5; }
.locale { border-color: #78789d; }
/* Shared contact facts are read from the Kontakt page. */
.utility .utility-contact { display: flex; align-items: center; gap: 28px; }
.utility .utility-contact > a { display: inline-flex; align-items: center; min-height: 36px; white-space: nowrap; }
.footer-contact { display: flex; flex-direction: column; font-style: normal; font-size: 15px; line-height: 1.7; }
.footer-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-cookie-settings { appearance: none; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.footer-bottom > div { flex-wrap: wrap; }
@media (max-width: 850px) {
  .utility { height: auto; min-height: 36px; flex-wrap: wrap; gap: 0 20px; }
  .utility .utility-contact { gap: 20px; }
  .utility .utility-contact > a { display: inline-flex; min-height: 44px; }
}
@media (max-width: 600px) {
  .utility { flex-direction: column; align-items: flex-start; padding-top: 8px; }
  .utility .utility-contact { width: 100%; justify-content: space-between; gap: 8px; }
  .footer-contact { grid-column: 1 / -1; }
}
.header { border-bottom-color: var(--brand-line); }
.header nav > a:after, .eyebrow > span, .menu-toggle span { background: var(--brand-accent); }
.menu-toggle span { background: var(--brand-primary); }
.header-inquiry { flex-shrink: 0; margin-left: auto; }
.nav-group { position: relative; display: flex; align-items: center; }
.nav-group > a { padding: 12px 0; }
.nav-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: inherit; padding: 12px 8px; line-height: 1; }
.nav-submenu-toggle svg { display: block; flex-shrink: 0; }
.nav-submenu { display: none; position: absolute; top: 100%; left: -20px; min-width: 270px; padding: 10px; background: #fff; border: 1px solid var(--brand-line); box-shadow: 0 15px 30px #33336915; }
.nav-group.submenu-open > .nav-submenu { display: grid; }
.nav-submenu a { display: block; padding: 12px; white-space: nowrap; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background: var(--brand-soft); color: var(--brand-primary); }
@media (max-width: 850px) {
  .nav-group { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .nav-submenu-toggle { min-width: 44px; min-height: 44px; }
  .nav-submenu { position: static; grid-column: 1 / -1; min-width: 0; border: 0; border-left: 2px solid var(--brand-accent); box-shadow: none; margin-bottom: 12px; padding: 0 0 0 12px; }
  .nav-submenu a { white-space: normal; font-size: 16px; }
}
.hero { background: var(--brand-primary); }
.hero-shade { background: linear-gradient(90deg,rgba(25,25,53,.76),rgba(25,25,53,.35) 46%,rgba(25,25,53,.02) 80%),linear-gradient(0deg,rgba(25,25,53,.35),transparent 30%); }
.hero-intro { color: #f5f5fa; }
.orange { background: var(--brand-accent); color: #252535; }
.orange:hover { background: #ffc347; }
.audience, .audience > a, .product-links > a, .values > div, .back-top, .footer-bottom { border-color: var(--brand-line); }
.audience > span, .dark, .section-heading > p, .product-title > span, .product-links span, .about-grid > div > p, .values p, .contact > div > p:not(.eyebrow), .footer-bottom { color: var(--brand-muted); }
.audience a:hover, .product-links a:hover { color: var(--brand-primary); }
.product-image { background: var(--brand-soft); }
.round-arrow, .white { color: var(--brand-primary); }
.product:hover .round-arrow { background: var(--brand-accent); }
.image-label { background: rgba(51,51,105,.8); }
.config .eyebrow, .config-note { color: #d5d5e8; }
.architecture { background: var(--brand-primary); }
.architecture-shade { background: linear-gradient(90deg,rgba(25,25,53,.78),rgba(25,25,53,.25) 60%,transparent); }
.text-link { border-color: #9797b5; }
.values span { color: var(--brand-primary); }
.contact { background: var(--brand-soft); }
.navy:hover { background: #25254f; }
/* The supplied logo is tall (401 x 290), unlike the old wide wordmark.
   Fit its complete intrinsic aspect ratio inside each landmark. */
.header .brand { width: 108px; height: 78px; display: flex; align-items: center; justify-content: flex-start; }
.header .brand img { width: 100%; height: 100%; max-width: 108px; max-height: 78px; object-fit: contain; }
.footer .brand { width: 160px; max-width: 100%; }
.footer .brand img { width: 160px; height: auto; max-width: 100%; max-height: 116px; object-fit: contain; }
/* Catalog styling consumes the same CI without altering immutable sources. */
[data-block] {
  --site-color-text: #333369;
  --site-color-background: #f3f3f7;
  --site-color-surface: #ffffff;
  --site-color-primary: #f9ad09;
  --site-color-secondary: #333369;
  --site-color-accent: #f9ad09;
}
[data-block="d33b0de1-45ba-44e4-9481-e56c6c818f87"]::before { background: linear-gradient(90deg,transparent 88%,#ededf3); }
[data-block="f1ad7f84-a781-4da3-9da3-5b9b89a46a06"] .apartment::after {
  content: none;
  display: none;
  background-image: none;
}
[data-block="f1ad7f84-a781-4da3-9da3-5b9b89a46a06"] .index { color: var(--brand-primary); }
@media (max-width: 850px) {
  .header .brand { width: 86px; height: 62px; }
  .header .brand img { max-width: 86px; max-height: 62px; }
  .header nav { border-color: var(--brand-line); box-shadow: 0 15px 30px #33336915; }
}
@media (max-width: 600px) {
  .header .brand { width: 80px; height: 58px; }
  .header .brand img { max-width: 80px; max-height: 58px; }
  .hero-shade { background: linear-gradient(90deg,#191935d9,#1919354d),linear-gradient(0deg,#19193566,transparent); }
  .architecture-shade { background: linear-gradient(90deg,#191935d9,#19193544); }
}
