/* Targeted brand/contact additions, reusing the existing BLANC palette. */
.brand-name {
  display: none;
}
.main-service {
  cursor: default;
}
.main-service:hover {
  transform: none;
}
.service-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
.service-link {
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  color: var(--blue);
  font: inherit;
  font-size: 12px;
  text-align: left;
  padding: 12px 0;
  min-height: 44px;
  cursor: pointer;
}
.form-actions,
.contact-direct {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.form-actions .btn {
  flex: 1;
  white-space: normal;
  height: auto;
  min-height: 52px;
}
.consent {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  line-height: 1.6;
  margin: 16px 0;
  min-height: 44px;
}
.consent input {
  width: 22px;
  height: 22px;
  flex: none;
  accent-color: var(--blue);
}
.consent a {
  color: var(--blue);
  text-decoration: underline;
}
.form-error {
  color: var(--ink);
  background: var(--paper);
  border-left: 3px solid var(--blue);
  padding: 14px;
  font-size: 13px;
  margin-top: 12px;
}
.legal-review {
  font-size: 12px;
  color: var(--blue-deep);
  line-height: 1.6;
  margin-bottom: 14px;
}
.legal .body p {
  font-size: 14px;
  line-height: 1.8;
}
.legal .body a,
.ci .v a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  overflow-wrap: anywhere;
}
.nav-call {
  min-height: 44px;
  padding: 10px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: 12px;
}
.nav-call svg {
  width: 20px;
  height: 20px;
  flex: none;
}
.service-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
}
.service-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: var(--blue);
}
@media (max-width: 1024px) {
  .brand-name {
    display: none;
  }
}
@media (max-width: 768px) {
  .form-actions {
    flex-direction: column;
  }
  .nav-call {
    padding: 10px 8px;
  }
  .contact-direct .btn {
    flex: 1 1 100%;
  }
  .chat-h .x,
  .chat-in button {
    min-width: 44px;
    min-height: 44px;
  }
  .chat-in input {
    min-width: 0;
  }
  .service-nav {
    gap: 4px 16px;
  }
}

/* Final BLANC layout: equal outer tracks keep both logos geometrically centered. */
:root {
  --section-dark: var(--ink);
  --section-foreground: var(--white);
  --section-muted: var(--blue-100);
  --section-border: color-mix(in oklab, var(--white) 24%, transparent);
  --section-accent: oklch(0.78 0.1 245);
  --section-hover: var(--ink-2);
}
.nav,
.nav-in {
  height: 84px;
}
.nav-in {
  max-width: 1440px;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 24px;
  padding-inline: 32px;
}
.nav .brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  min-height: 44px;
}
.nav .logo-lockup .sub {
  font-size: 9px;
  letter-spacing: 0.1em;
  padding-left: 0;
  color: var(--gray);
  line-height: 1.2;
}
.nav-links {
  gap: 16px;
  min-width: 0;
}
.nav-left {
  grid-column: 1;
  grid-row: 1;
  justify-content: flex-end;
}
.nav-right {
  grid-column: 3;
  grid-row: 1;
  justify-content: flex-start;
}
.nav-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 4px;
  letter-spacing: 0;
  white-space: nowrap;
}
.nav-right .btn {
  padding: 12px 15px;
  font-size: 10px;
  height: 44px;
  color: var(--white);
  background: var(--blue);
}
.nav-right .btn:hover {
  background: var(--blue-deep);
}
.nav-in > .nav-call,
.nav-in > .burger {
  display: none;
}
html {
  scroll-padding-top: 100px;
}
.metrics-band {
  padding: 22px 0 0;
  background: var(--white);
}
.metrics-band .stats {
  border-top: 0;
}
.metrics-band .stat {
  border-radius: 0;
  padding: 18px 10px 24px;
}
.metrics-band .stat b {
  font-size: 36px;
}
.hero::before {
  display: none;
}
.hero-in {
  padding-top: 40px;
}
.trust {
  background: var(--section-dark);
  border-color: var(--section-border);
}
.trust-in span {
  color: var(--section-foreground);
}
.trust-in svg {
  color: var(--section-accent);
}
/* White service cards / calculator, navy results, white about, navy process. */
#leistungen {
  background: var(--white);
}
#ergebnisse,
#prozess {
  background: var(--section-dark);
  color: var(--section-foreground);
  border-color: var(--section-border);
}
:is(#ergebnisse, #prozess) :is(h2, h3, .lead, .about p, .step p, .proof-head span, .about-gallery-head span) {
  color: var(--section-foreground);
}
:is(#ergebnisse, #prozess) :is(.eyebrow, .link, .step .n) {
  color: var(--section-accent);
}
:is(#ergebnisse, #prozess) :is(.steps, .step, .proof-comparison) {
  border-color: var(--section-border);
}
#ergebnisse .proof-head b {
  color: var(--section-foreground);
}
#prozess .band {
  padding-inline: 0;
  border-top: 1px solid var(--section-border);
  background: transparent;
}
#prozess .band::before {
  display: none;
}
#prozess .step p {
  color: var(--section-muted);
}
.foot-top {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 48px;
}
.footer-brand {
  grid-column: 2;
  grid-row: 1;
  text-align: center;
  width: 290px;
  max-width: 100%;
}
.footer-brand .logo-lockup {
  margin-inline: auto;
}
.footer-brand .fd {
  margin-inline: auto;
  color: var(--section-muted);
}
.foot-top > .fcol:nth-child(2) {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
}
.foot-top > .fcol:nth-child(3) {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  text-align: right;
}
.fcol a {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.foot-top > .fcol:nth-child(3) a {
  justify-content: flex-end;
}
.fcol h5,
.foot-bot .cp {
  color: var(--section-muted);
}
.foot .fcol a {
  color: var(--section-muted);
}
.foot-bot {
  justify-content: center;
  text-align: center;
}
.fabs {
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  gap: 8px;
}
.fabs .fab {
  width: 48px;
  height: 48px;
  flex: none;
}
.fabs .fab.chat {
  width: 48px;
  padding: 0;
  justify-content: center;
}
.fabs .fab.chat:after {
  display: none;
}
.chatw {
  right: max(18px, env(safe-area-inset-right));
  left: auto;
  bottom: calc(186px + env(safe-area-inset-bottom));
  max-height: min(520px, calc(100dvh - 286px));
  width: min(360px, calc(100vw - 36px));
}
.chat-h .x,
.chat-in button,
.audience-card .close {
  min-width: 44px;
  min-height: 44px;
}
.chat-in input {
  min-width: 0;
}
body.chat-open main {
  padding-right: 0;
}
body:has(.audience-modal.open) .chatw {
  display: none;
}
.svc,
.pick,
.opt,
.block,
.stat,
.google-review,
.result-card,
.live,
.contact-intro,
.chatw {
  border-radius: var(--r-l);
}
.btn,
.chip,
.audience-btn,
.toggle {
  border-radius: var(--r);
}
:focus-visible {
  outline-color: var(--blue);
}
:is(#ergebnisse, #prozess, .foot) :focus-visible {
  outline-color: var(--section-accent);
}
@media (max-width: 1100px) {
  .nav,
  .nav-in {
    height: 76px;
  }
  .nav-in {
    gap: 12px;
    padding-inline: 24px;
  }
  .nav-links {
    display: none;
  }
  .nav-in > .burger {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    width: 44px;
    height: 44px;
  }
  .nav-in > .nav-call {
    display: flex;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: var(--r);
  }
  .mob {
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
  }
  .mob a {
    min-height: 44px;
  }
  .foot-top {
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .nav,
  .nav-in {
    height: 72px;
  }
  .nav-in {
    padding-inline: 18px;
  }
  .nav .logo-lockup .sub {
    font-size: 8px;
  }
  html {
    scroll-padding-top: 84px;
  }
  .mob {
    max-height: calc(100dvh - 72px);
  }
  .metrics-band {
    padding-top: 12px;
  }
  .metrics-band .stat {
    padding: 14px 6px 18px;
  }
  .metrics-band .stat b {
    font-size: 28px;
  }
  .metrics-band .stat span {
    font-size: 9px;
    letter-spacing: 0;
  }
  .hero-in {
    padding-top: 28px;
  }
  .hero .reel {
    order: 0;
  }
  .foot-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .footer-brand {
    order: 0;
  }
  .foot-top > .fcol {
    width: 100%;
    text-align: center !important;
  }
  .foot-top > .fcol a {
    justify-content: center !important;
  }
  .fabs {
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    gap: 6px;
  }
  .fabs .fab,
  .fabs .fab.chat {
    width: 44px;
    height: 44px;
  }
  .chatw {
    left: 12px;
    right: 12px;
    width: auto;
    bottom: calc(166px + env(safe-area-inset-bottom));
    max-height: calc(100dvh - 254px);
  }
  .chat-h b {
    font-size: 12px;
  }
  .hero-cta,
  .contact-direct,
  .form-actions,
  .result-contact {
    padding-right: 40px;
  }
  .hero-badges {
    padding-right: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fab,
  .chatw.open {
    animation: none;
  }
  .btn:hover,
  .fab:hover {
    transform: none;
  }
}

/* Final spacing and assistant label */
@media (min-width: 1101px) {
  .nav-in {
    gap: 44px;
  }
}
.metrics-band .stat b {
  font-size: 32px;
}
.fabs .fab.chat {
  width: auto;
  padding: 0 14px;
  gap: 8px;
  border-radius: 24px;
}
.fabs .fab.chat:after {
  content: "BLANC Assistent";
  display: block;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
}
@media (max-width: 768px) {
  .metrics-band .stat b {
    font-size: 25px;
  }
  .fabs .fab.chat {
    width: auto;
    padding: 0 11px;
  }
  .fabs .fab.chat:after {
    font-size: 10px;
  }
}

/* Navy finish and quieter metrics. */
:root {
  --ink: #123252;
  --ink-2: #1a4063;
  --section-dark: #123252;
}
@media (min-width: 1101px) {
  .nav-in {
    gap: 60px;
  }
  .nav-left {
    justify-content: flex-end;
  }
  .nav-right {
    justify-content: flex-start;
  }
}
.metrics-band .stat b {
  font-size: 25px;
}
.metrics-band .stat {
  padding-top: 12px;
  padding-bottom: 18px;
}
.nav .logo-lockup {
  width: 142px;
}
.nav .logo-lockup .wm {
  font-size: 29px;
}
.footer-brand {
  width: 320px;
}
.footer-legal {
  margin-top: 18px;
  text-align: left;
}
.footer-legal details {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.25);
}
.footer-legal summary {
  color: #fff;
  font-size: 12px;
  min-height: 44px;
}
.footer-legal .body {
  color: #e0eaf3;
  font-size: 13px;
  max-height: 60vh;
  overflow: auto;
  overscroll-behavior: contain;
}
.footer-legal .body h5 {
  color: #fff;
}
.footer-legal .body p {
  color: #e0eaf3;
  font-size: 13px;
  line-height: 1.7;
}
.footer-legal .body a {
  color: #b4d8ff;
}
.google-frame iframe[hidden],
.map-consent[hidden],
.map-disable[hidden] {
  display: none !important;
}
.map-consent {
  min-height: 300px;
  padding: 44px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  background: #edf3f9;
  color: var(--ink);
}
.map-consent b {
  font-family: "EB Garamond", serif;
  font-size: 28px;
}
.map-consent p {
  font-size: 12px;
  max-width: 520px;
  line-height: 1.65;
}
.map-consent > a {
  font-size: 12px;
  text-decoration: underline;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.map-disable {
  min-height: 44px;
  width: 100%;
  background: #fff;
  color: var(--blue-deep);
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
.google-frame:has(.map-consent:not([hidden])) .google-frame-label {
  display: none;
}
@media (max-width: 768px) {
  .metrics-band .stat b {
    font-size: 22px;
  }
  .nav .logo-lockup {
    width: 126px;
  }
  .nav .logo-lockup .wm {
    font-size: 25px;
  }
  .footer-brand {
    width: min(100%, 340px);
  }
  .footer-legal .body {
    max-height: 55vh;
  }
  .map-consent {
    padding: 28px 18px;
  }
}

/* Airier opening and compact footer controls */
.metrics-band {
  padding-top: 30px;
}
.metrics-band .stat {
  padding: 20px 18px 26px;
}
.metrics-band .stat span {
  margin-top: 12px;
}
.hero-in {
  padding-top: 60px;
}
.footer-legal {
  width: 100%;
  max-width: 280px;
  margin: 16px auto 0;
}
.footer-brand .fd {
  max-width: 280px;
}
.footer-legal details {
  margin-bottom: 7px;
  border-color: rgba(255, 255, 255, 0.18);
}
.footer-legal summary {
  font-size: 10.5px;
  min-height: 44px;
  padding: 10px 13px;
  letter-spacing: 0.01em;
}
.footer-legal summary::after {
  font-size: 12px;
}
@media (max-width: 768px) {
  .metrics-band {
    padding-top: 20px;
  }
  .metrics-band .stat {
    padding: 19px 10px 23px;
  }
  .metrics-band .stat span {
    margin-top: 11px;
  }
  .hero-in {
    padding-top: 42px;
  }
  .footer-legal,
  .footer-brand .fd {
    max-width: 280px;
  }
}

/* Final SEO / usability corrections; preserve the current live layout. */
.logo-lockup .fl{display:none!important}
.logo-lockup .sub,.logo-lockup .fsub{margin-top:10px!important}
.google-frame iframe[hidden],.map-consent[hidden],.map-disable[hidden]{display:none!important}
.svc[id]{scroll-margin-top:90px}
.map-status{font-size:11px;line-height:1.6;color:var(--gray);padding:10px 18px;background:#fff}
.map-status:empty{display:none}
.skip-link{position:fixed;top:8px;left:12px;z-index:600;background:var(--ink);color:#fff;padding:12px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
