/* Brunnenbuch home: field warmth, water colour and precise dark surfaces. */
body.home-redesign {
  --field: #f5f5ec;
  --field-deep: #eaf0db;
  --night: #071d1f;
  --night-soft: #103437;
  --water: #23c8c4;
  --lime: #c9f36a;
  --ink: #112324;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  background: var(--field);
  color: var(--ink);
}

.home-redesign ::selection { background: var(--lime); color: var(--night); }
.home-redesign a:focus-visible,
.home-redesign button:focus-visible { outline: 3px solid var(--water); outline-offset: 4px; }
.home-redesign .number { font-variant-numeric: tabular-nums; }

.home-redesign #siteHeader {
  top: 14px;
  left: 16px;
  right: 16px;
  max-width: 1280px;
  margin-inline: auto;
  padding: .72rem 1.25rem !important;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  background: rgba(7,29,31,.85);
  box-shadow: 0 16px 40px rgba(4,22,24,.16);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  backdrop-filter: blur(22px) saturate(135%);
}

.home-redesign #siteHeader.header-compact {
  background: rgba(7,29,31,.94);
  box-shadow: 0 18px 42px rgba(4,22,24,.23);
}

.home-redesign #siteHeader .brand-lockup-dark span,
.home-redesign #siteHeader .nav-link { color: #f3f7f0; }
.home-redesign #siteHeader .nav-link:hover { color: var(--lime); }
.home-redesign #siteHeader .nav-link::after { background: var(--lime); }
.home-redesign #siteHeader #mobileMenuButton {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.09);
  color: #f4f9f5;
}
.home-redesign #siteHeader a[href="https://app.brunnenbuch.at"] {
  background: var(--lime);
  color: var(--night);
  box-shadow: none;
}
.home-redesign #siteHeader a[href="https://app.brunnenbuch.at"]:hover { background: #ddff98; }
.home-redesign #mobileMenu {
  border-color: rgba(255,255,255,.14);
  background: rgba(9,34,37,.98);
  color: white;
}
.home-redesign #mobileMenu a:not([href="https://app.brunnenbuch.at"]):hover { background: rgba(255,255,255,.1); }

.home-redesign #hero {
  color: #f7faf6;
  background:
    radial-gradient(ellipse at 80% 45%, rgba(35,200,196,.17), transparent 42%),
    radial-gradient(ellipse at 2% 95%, rgba(201,243,106,.1), transparent 45%),
    linear-gradient(132deg, #071d1f 4%, #0b2b2d 54%, #0a1b20 100%);
}
.home-redesign #hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 13rem;
  pointer-events: none;
  background: linear-gradient(transparent, rgba(35,200,196,.08));
}
.home-redesign #hero .water-orb { display: none; }
.home-redesign #hero > .relative.z-10 {
  gap: clamp(2.5rem, 5vw, 6rem);
  padding-top: 4rem;
  padding-bottom: 7rem;
}
.home-redesign .hero-intro { max-width: 42rem; }
.home-redesign .hero-title {
  max-width: 11ch;
  color: #f8fbf8;
  font-size: clamp(3.6rem, 6.45vw, 6.2rem);
  line-height: .99;
  letter-spacing: -.037em;
  text-wrap: balance;
}
.home-redesign .hero-title span { color: var(--lime); }
.home-redesign .hero-copy {
  max-width: 34rem;
  color: #d1e3dd;
  line-height: 1.6;
}
.home-redesign .hero-cta,
.home-redesign .hero-cta:hover {
  border-radius: 15px;
  background: var(--lime);
  color: var(--night);
  box-shadow: 0 15px 34px rgba(143,211,80,.15);
}
.home-redesign .hero-cta:active,
.home-redesign #siteHeader a[href="https://app.brunnenbuch.at"]:active {
  transform: scale(.97);
  transition: transform 130ms var(--ease-out);
}
.home-redesign .hero-secondary {
  border-color: rgba(224,248,244,.35);
  border-radius: 15px;
  background: rgba(255,255,255,.07);
  color: #f6faf7;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.home-redesign .hero-secondary:hover { background: rgba(255,255,255,.14); color: white; }
.home-redesign .hero-proof { color: #c4d7d1; }
.home-redesign .hero-proof svg { color: var(--water) !important; }

.home-redesign .hero-stage { isolation: isolate; }
.home-redesign .hero-stage > div:first-child,
.home-redesign .hero-stage > div:nth-child(2) {
  border-color: rgba(255,255,255,.28);
  background: rgba(18,52,54,.82);
  color: #f6faf4;
  box-shadow: 0 22px 50px rgba(0,0,0,.22);
}
.home-redesign .hero-stage > div:first-child .text-slate-500,
.home-redesign .hero-stage > div:nth-child(2) .text-slate-500 { color: #cbdfd8; }
.home-redesign .hero-stage > div:nth-child(2) .text-brand { color: var(--lime); }
.home-redesign .hero-device {
  border: 1px solid rgba(199,245,229,.42);
  border-radius: 28px;
  background: rgba(241,253,248,.13);
  box-shadow: 0 36px 80px rgba(0,8,10,.4), 0 12px 30px rgba(19,133,125,.16);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transform: perspective(1200px) rotateY(-4deg) rotateX(2deg);
  transform-origin: center;
}
.home-redesign .hero-device .device-screen {
  border: 0;
  border-radius: 22px;
  background: #f7fbf8;
  color: #10282a;
}
.home-redesign .hero-device .bg-slate-50 { background: #eaf3ed; }
.home-redesign .hero-device .bg-brand { background: #116c60; }
.home-redesign .hero-device .bg-brand-soft { background: #d7f4d5; color: #125c50; }
.home-redesign .hero-device .draw-line { stroke: #0b9c94; animation: none !important; stroke-dasharray: none; stroke-dashoffset: 0; }
.home-redesign .hero-device svg[aria-label="Beispielhafter Verbrauchstrend"] circle { fill: #0b9c94; }
.home-redesign .hero-device .text-slate-500,
.home-redesign .hero-device .text-slate-400 { color: #516966; }

.home-redesign main > section[aria-label="Kennzahlen"] {
  margin-top: -3.5rem;
  position: relative;
  z-index: 2;
}
.home-redesign main > section[aria-label="Kennzahlen"] .glass-card {
  border: 0;
  border-radius: 18px;
  background: #d8edb8;
  box-shadow: 0 20px 42px rgba(17,47,38,.12);
}
.home-redesign main > section[aria-label="Kennzahlen"] .number { color: #173b30; }
.home-redesign main > section[aria-label="Kennzahlen"] .text-slate-500 { color: #38534b; }

.home-redesign #funktionen { background: var(--field); }
.home-redesign #funktionen h2,
.home-redesign #ablauf h2,
.home-redesign #vorteile h2 { letter-spacing: -.035em; text-wrap: balance; }
.home-redesign .feature-groups { position: relative; gap: 2rem; }
.home-redesign .feature-group {
  position: relative;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-radius: 24px;
  background: #e9f3d9;
  color: #173a32;
}
.home-redesign .feature-group:nth-of-type(2) { background: #e4f2ef; }
.home-redesign .feature-group:not(:last-child) .feature-group-heading p,
.home-redesign .feature-group:not(:last-child) .feature-group-grid > article p { color: #476359; }
.home-redesign .feature-group:last-child {
  background: #0e3336;
  color: #f5faf6;
}
.home-redesign .feature-group-heading { position: relative; z-index: 2; }
.home-redesign .feature-group-heading h3 { font-size: clamp(1.5rem, 2.4vw, 2.2rem); line-height: 1.16; letter-spacing: -.025em; }
.home-redesign .feature-group-step {
  background: #174c42;
  color: var(--lime);
  border-radius: 12px;
}
.home-redesign .feature-group:last-child .feature-group-step { background: var(--lime); color: var(--night); }
.home-redesign .feature-group:last-child .feature-group-heading p { color: #c6ded6; }
.home-redesign .feature-group-grid > article {
  border: 0;
  border-radius: 16px;
  background: rgba(255,255,255,.83);
  box-shadow: 0 12px 30px rgba(12,49,38,.07);
}
.home-redesign .feature-group:last-child .feature-group-grid > article {
  background: #175054;
  color: white;
  box-shadow: none;
}
.home-redesign .feature-group:last-child .feature-group-grid > article p { color: #d2e7e1; }
.home-redesign .feature-group:last-child .feature-group-grid > article .bg-brand-soft { background: #c9f36a; color: #153b36; }

.home-redesign #dashboard {
  background: #09282b;
  color: #f4faf7;
}
.home-redesign #dashboard h2 { color: #f4faf7; letter-spacing: -.035em; }
.home-redesign #dashboard > div > div > div:first-child > p { color: #d4e7df; }
.home-redesign #dashboard .glass-card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); }
.home-redesign #dashboard .glass-card > div { background: #f7fbf8; color: #102829; }
.home-redesign #dashboard .glass-card .bg-slate-50 { background: #eaf3ed; }
.home-redesign #dashboard .glass-card .text-slate-500,
.home-redesign #dashboard .glass-card .text-slate-400 { color: #526966; }
.home-redesign #dashboard .text-brand { color: var(--lime); }

.home-redesign #kontakt .glass-card { background: #133d3e; }
.home-redesign #kontakt a[href^="mailto:"] { border-radius: 15px; background: var(--lime); color: var(--night); }
.home-redesign #kontakt a[href^="mailto:"]:active { transform: scale(.97); }

@media (hover: hover) and (pointer: fine) {
  .home-redesign .hero-cta:hover,
  .home-redesign .hero-secondary:hover { transform: translateY(-2px); }
  .home-redesign .feature-group-grid > article:hover { transform: translateY(-4px); }
}

@media (max-width: 1023px) {
  .home-redesign .hero-device { transform: none; }
}
@media (max-width: 639px) {
  .home-redesign #siteHeader { top: 8px; left: 8px; right: 8px; padding: .55rem .7rem !important; border-radius: 16px; }
  .home-redesign #hero > .relative.z-10 { padding-top: 3rem; padding-bottom: 6rem; }
  .home-redesign .hero-title { font-size: clamp(3.25rem, 14vw, 4.4rem); max-width: 10ch; }
  .home-redesign .hero-copy { font-size: 1.05rem; }
  .home-redesign .hero-device { padding: .45rem; border-radius: 21px; }
  .home-redesign .hero-device .device-screen { padding: 1rem; border-radius: 17px; }
  .home-redesign main > section[aria-label="Kennzahlen"] { margin-top: -2.5rem; }
  .home-redesign .feature-group { padding: 1.5rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-redesign .hero-device { transform: none; }
  .home-redesign #hero .draw-line { stroke-dasharray: none; stroke-dashoffset: 0; }
}
@media (prefers-reduced-transparency: reduce) {
  .home-redesign #siteHeader,
  .home-redesign #siteHeader.header-compact { background: #071d1f; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .home-redesign .hero-device { background: #225456; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .home-redesign #siteHeader { border-color: white; }
  .home-redesign .hero-copy,
  .home-redesign .hero-proof { color: white; }
  .home-redesign .feature-group { outline: 2px solid currentColor; }
}
