/* Homepage integration and final polish */
body.page-home { background: #070a0e; }
body.page-home #main-header { z-index: 1000; }
body.page-home #standort-buero,
body.page-home #standort { scroll-margin-top: 112px; }
body.page-home #wertrechner .form-step { animation: soStepIn .32s ease both; }
body.page-home #wertrechner #custom-alert {
  top: 92px !important;
  right: 1rem;
  left: auto !important;
  width: min(520px, calc(100% - 2rem));
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(175,45,45,.94) !important;
  color: #fff !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}
body.page-home .radio-card,
body.page-home .checkbox-card {
  border-radius: 18px !important;
  min-height: 84px;
}
body.page-home footer { margin-top: 0; }
body.page-home #so-exit-modal > div { color: #14171b; }
body.page-home #so-exit-modal a { text-decoration: none; }
@keyframes soStepIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
  body.page-home #hero-section { min-height: 94svh !important; }
  body.page-home #wertrechner { padding-inline: .75rem !important; }
  body.page-home #navigation-area { gap: .75rem; }
  body.page-home #navigation-area button { flex: 1; padding-inline: .75rem !important; }
}

/* Valuation success state */
.so-success-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(2,4,7,.86);
  backdrop-filter: blur(14px);
  animation: soSuccessFade .3s ease both;
}
.so-success-card {
  width: min(520px, 100%);
  padding: clamp(1.75rem, 6vw, 2.5rem);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: linear-gradient(145deg, #fff, #f7f1e8);
  color: #15181c;
  text-align: center;
  box-shadow: 0 40px 120px rgba(0,0,0,.48);
  animation: soSuccessPop .38s cubic-bezier(.2,.8,.2,1) both;
}
.so-success-logo-wrap {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin: 0 auto .5rem;
}
.so-success-logo { width: 80px; filter: drop-shadow(0 14px 24px rgba(0,0,0,.16)); animation: soSuccessFloat 1.5s ease-in-out infinite; }
.so-success-ring,
.so-success-ring::before {
  position: absolute;
  inset: 0;
  border: 2px solid rgba(139,107,61,.18);
  border-radius: 999px;
  content: "";
}
.so-success-ring::before { inset: -8px; animation: soSuccessPulse 1.2s ease-in-out infinite; }
.so-success-check {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: -.3rem auto .7rem;
  border-radius: 999px;
  background: #168a4a;
  color: #fff;
}
.so-success-card h2 { margin: 0; font-size: 2rem; color: #11151b; }
.so-success-card p { margin: .5rem 0 1.1rem; color: #626a73; }
.so-success-card small { color: #7c838b; }
.so-success-progress { height: 9px; margin: 0 0 1rem; overflow: hidden; border-radius: 999px; background: rgba(20,23,27,.09); }
.so-success-progress span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #9a7848, #d9bd8d); animation: soSuccessLoad 1.8s linear forwards; }
@keyframes soSuccessFade { from { opacity: 0; } }
@keyframes soSuccessPop { from { opacity: 0; transform: translateY(12px) scale(.97); } }
@keyframes soSuccessFloat { 50% { transform: translateY(-5px); } }
@keyframes soSuccessPulse { 50% { transform: scale(1.06); opacity: .55; } }
@keyframes soSuccessLoad { to { width: 100%; } }
