:root {
  --bg: #ffffff;
  --text: #0f172a;
  --muted: #5f6778;
  --line: #d6dfef;
  --primary: #1f57d6;
  --primary-dark: #153f9d;
  --primary-soft: #eef4ff;
  --shadow-soft: 0 18px 45px rgba(15, 23, 42, 0.07);
  --shadow-strong: 0 26px 60px rgba(15, 23, 42, 0.12);
  --radius-sm: 4px;
  --radius-md: 4px;
  --container: 1180px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", Arial, Helvetica, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
select,
textarea {
  font: inherit;
}

.container {
  width: min(calc(100% - 40px), var(--container));
  margin: 0 auto;
}

.section {
  padding: 100px 0;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 34px;
}

.eyebrow {
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.76rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.eyebrow-light {
  color: #cbd8ff;
}

h1,
h2,
h3,
h4 {
  line-height: 1.05;
}

h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  max-width: 12ch;
}

h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  letter-spacing: -0.03em;
}

.lead {
  font-size: 1.04rem;
  color: var(--muted);
  max-width: 64ch;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 4px;
  border: 1px solid transparent;
  font-weight: 800;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: linear-gradient(90deg, #1b4fc4 0%, #2b68ea 100%);
  color: #fff;
  box-shadow: 0 12px 26px rgba(31, 87, 214, 0.22);
}

.btn-primary:hover {
  background: linear-gradient(90deg, #173fa0 0%, #2458ca 100%);
}

.btn-secondary {
  background: #fff;
  border-color: #cfd9ed;
  color: #0f172a;
}

.btn-secondary:hover {
  border-color: #aebcdb;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(214, 223, 239, 0.8);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 28px;
  min-height: 84px;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
}

.brand-main {
  font-size: 1.9rem;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.brand-sub {
  margin-top: 7px;
  font-size: 0.74rem;
  letter-spacing: 0.42em;
  font-weight: 800;
  color: #2563eb;
  padding-left: 2px;
}

.header-divider {
  width: 100%;
  height: 1px;
  background: #d5deed;
}

.nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.nav a {
  font-weight: 700;
  font-size: 0.97rem;
  position: relative;
  padding: 8px 0;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: var(--primary);
  transition: width 0.25s ease;
}

.nav a:hover::after {
  width: 100%;
}

.header-icons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.icon-btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.icon-btn:hover {
  background: var(--primary-soft);
  border-color: var(--line);
  color: var(--primary);
  transform: translateY(-1px);
}

.icon-btn svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.language-btn {
  width: auto;
  padding: 0 12px;
  gap: 8px;
  font-weight: 700;
}

.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--text);
  margin: 4px auto;
}

.mobile-menu {
  display: none;
}

.pricing-section,
#leistungen,
#referenzen,
#ueber-uns,
#kontakt {
  position: relative;
}

.pricing-section::before,
#leistungen::before,
#referenzen::before,
#ueber-uns::before,
#kontakt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(100% - 360px), 1280px);
  height: 1px;
  background: #d5deed;
}

.hero {
  padding: 86px 0 130px;
  position: relative;
}

.hero::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: min(calc(100% - 360px), 1280px);
  height: 1px;
  background: #d5deed;
}

.hero-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 42px;
  align-items: center;
}

.hero-copy {
  display: grid;
  gap: 22px;
}

.hero-lead {
  max-width: 52ch;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.hero-visual {
  display: flex;
  justify-content: flex-end;
}

.hero-image-frame {
  width: min(100%, 650px);
  background: transparent;
  border: none;
  box-shadow: none;
}

.hero-image {
  width: 100%;
  height: auto;
  background: transparent;
}

.floating-visual {
  animation: floatHero 6s ease-in-out infinite;
}

.pricing-section {
  padding-top: 130px;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 60px;
}

.pricing-card {
  background: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 28px;
  min-height: 100%;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pricing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.12);
}

.pricing-card-featured {
  background: #e8f0ff;
  box-shadow: 0 30px 80px rgba(31, 87, 214, 0.2);
}

.pricing-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 4px;
  background: #e8eef8;
  color: #2b61e3;
  font-weight: 800;
  font-size: 0.9rem;
}

.pricing-badge-featured {
  background: #dbe7ff;
  color: #1c4ec7;
}

.pricing-price-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 28px 0 16px;
}

.pricing-price {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.pricing-once {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 4px;
  background: #101a3c;
  color: #fff;
  font-weight: 800;
  font-size: 0.95rem;
}

.pricing-card p {
  color: #42506a;
  font-size: 1rem;
}

.pricing-list {
  margin: 22px 0 34px;
  padding-left: 20px;
  color: #45526c;
  display: grid;
  gap: 10px;
}

.pricing-btn {
  margin-top: auto;
}

.pricing-table-wrap {
  overflow-x: auto;
}

.pricing-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  background: #f9fbff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

.pricing-table thead {
  background: #eef3fb;
}

.pricing-table th,
.pricing-table td {
  padding: 18px 20px;
  text-align: left;
}

.pricing-table tbody tr {
  border-bottom: 1px solid #d6dfef;
}

.pricing-table tbody tr:last-child {
  border-bottom: none;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.service-card {
  background: #fff;
  border: none;
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  padding: 28px 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-strong);
}

.service-icon {
  width: 52px;
  height: 52px;
  border-radius: 4px;
  background: #eef4ff;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  color: #2b61e3;
}

.service-icon svg {
  width: 24px;
  height: 24px;
}

.service-card h3 {
  margin-bottom: 12px;
  font-size: 1.22rem;
}

.service-card p {
  color: var(--muted);
}

.references-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.reference-project {
  background: #fff;
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  padding: 24px;
  min-width: 0;
}

.reference-project-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 20px;
}

.reference-project-head h3 {
  margin-bottom: 10px;
  font-size: 1.3rem;
}

.reference-project-head p {
  color: var(--muted);
  max-width: 60ch;
}

.reference-controls {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.reference-slider-window {
  overflow: hidden;
  border-radius: 4px;
  background: #f8fbff;
}

.reference-slider-track {
  display: flex;
  transition: transform 0.4s ease;
}

.reference-slide {
  min-width: 100%;
  padding: 14px;
}

.reference-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  cursor: pointer;
}

.reference-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.reference-dot {
  width: 10px;
  height: 10px;
  border: none;
  border-radius: 4px;
  background: #c9d6f0;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.reference-dot.active {
  background: #1f57d6;
  transform: scale(1.12);
}

.slider-arrow {
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.slider-arrow:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
}

.tag {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.about-grid,
.contact-grid {
  display: grid;
  gap: 20px;
}

.about-grid {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: stretch;
}

.about-card,
.contact-card,
.login-card {
  background: #fff;
  border: none;
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  padding: 30px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.about-card:hover,
.contact-card:hover,
.login-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-strong);
}

.about-lead,
.contact-lead,
.login-lead {
  margin-top: 18px;
  max-width: 100%;
}

.about-text {
  margin-top: 16px;
  color: var(--muted);
  max-width: 60ch;
}

.about-highlight {
  background: linear-gradient(180deg, #0f2f75 0%, #123a8f 100%);
  color: #fff;
  padding: 30px;
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about-highlight p,
.about-highlight .muted-light {
  color: rgba(255, 255, 255, 0.78);
}

.highlight-title {
  font-size: 1.9rem;
  margin-bottom: 12px;
}

.team-list {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.team-card {
  background: rgba(255, 255, 255, 0.08);
  padding: 20px;
  border-radius: 4px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

.team-card h4 {
  font-size: 1.2rem;
  margin-bottom: 6px;
}

.team-role {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  color: #cbd8ff;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
}

.team-card p {
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}

.info-list {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.info-item {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.info-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

form,
.login-form {
  display: grid;
  gap: 16px;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

label {
  display: grid;
  gap: 8px;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--muted);
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 14px;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  color: var(--text);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

textarea {
  min-height: 140px;
  resize: vertical;
}

.form-note {
  font-size: 0.9rem;
  color: var(--muted);
}

.conditional-field.hidden {
  display: none;
}

.subpage-main {
  min-height: calc(100vh - 160px);
}

.subpage-hero {
  padding-top: 90px;
}

.subpage-title {
  max-width: none;
}

.login-wrap {
  display: flex;
  justify-content: center;
}

.login-card {
  width: min(100%, 560px);
}

.footer {
  border-top: 1px solid var(--line);
  padding: 28px 0 40px;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  color: var(--muted);
  font-size: 0.95rem;
}

.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(10, 16, 30, 0.82);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 30px;
  z-index: 3000;
}

.lightbox.open {
  display: flex;
}

.lightbox-content {
  max-width: 1200px;
  max-height: 90vh;
  width: 100%;
  display: flex;
  justify-content: center;
}

.lightbox-content img {
  max-width: 100%;
  max-height: 90vh;
  border-radius: 4px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}

.lightbox-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes floatHero {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

@media (max-width: 1080px) {
  .hero-grid,
  .pricing-grid,
  .services-grid,
  .about-grid,
  .contact-grid,
  .references-layout {
    grid-template-columns: 1fr;
  }

  .section-head,
  .reference-project-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-visual {
    justify-content: flex-start;
  }

  .hero::after,
  .pricing-section::before,
  #leistungen::before,
  #referenzen::before,
  #ueber-uns::before,
  #kontakt::before {
    width: calc(100% - 120px);
  }
}

@media (max-width: 920px) {
  .header-divider,
  .nav {
    display: none;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
    min-height: 78px;
  }

  .menu-toggle {
    display: inline-block;
  }

  .mobile-menu {
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 18px 20px 24px;
    display: none;
  }

  .mobile-menu.open {
    display: grid;
    gap: 14px;
  }

  .mobile-menu a {
    font-weight: 700;
    color: var(--text);
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .hero {
    padding-bottom: 110px;
  }

  .pricing-section {
    padding-top: 110px;
  }
}

@media (max-width: 560px) {
  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .hero,
  .section {
    padding: 72px 0;
  }

  .hero {
    padding-bottom: 96px;
  }

  .hero::after,
  .pricing-section::before,
  #leistungen::before,
  #referenzen::before,
  #ueber-uns::before,
  #kontakt::before {
    width: calc(100% - 56px);
  }

  .pricing-section {
    padding-top: 96px;
  }

  .brand-main {
    font-size: 1.65rem;
  }

  .brand-sub {
    font-size: 0.68rem;
    letter-spacing: 0.34em;
  }

  .header-icons {
    gap: 6px;
  }

  .icon-btn {
    width: 40px;
    height: 40px;
  }

  .language-btn {
    padding: 0 10px;
  }

  .pricing-table {
    min-width: 560px;
  }

  .reference-slide {
    padding: 10px;
  }

  .slider-arrow {
    width: 40px;
    height: 40px;
  }

  .lightbox {
    padding: 16px;
  }

  .lightbox-close {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
  }

  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* PrimeVision production additions */
.skip-link{position:fixed;left:12px;top:-60px;z-index:5000;background:#0f172a;color:#fff;padding:10px 14px;border:1px solid #0f172a;font-weight:800}.skip-link:focus{top:12px}.section-tight{padding-top:28px}.flash-stack{position:relative;z-index:50;display:grid;gap:8px;margin-top:18px}.flash{border:1px solid var(--line);background:#f8fbff;padding:14px 16px;font-weight:700;font-size:.94rem}.flash.success{border-color:#9cc4ae;background:#f0faf4;color:#175b37}.flash.error{border-color:#e2a6ae;background:#fff5f6;color:#8e2434}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a:hover{color:var(--primary)}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.content-card{background:#fff;border:1px solid #e2e8f3;box-shadow:var(--shadow-soft);padding:30px;border-radius:4px}.content-card h2{font-size:1.5rem;margin-bottom:14px}.content-card p,.content-card li{color:var(--muted)}.content-card ul{padding-left:20px;margin:18px 0 26px;display:grid;gap:9px}.legal-copy{max-width:900px;margin:0 auto}.legal-copy h2{margin-top:28px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{margin:12px 0}.page-cta{margin-top:42px;border:1px solid #d8e1ef;padding:32px;background:#f8fbff;box-shadow:var(--shadow-soft)}.page-cta h2{margin-bottom:10px}.page-cta .btn{margin-top:20px}.form-errors{border-left:3px solid #b52d41;background:#fff5f6;padding:12px 14px;margin-bottom:18px}.form-errors p{color:#842133;font-size:.9rem}.form-errors p+p{margin-top:6px}.contact-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.privacy-check{grid-template-columns:18px 1fr;align-items:start;gap:10px!important;color:var(--muted);font-weight:600}.privacy-check input{width:18px;height:18px;margin-top:2px;padding:0}.privacy-check a{color:var(--primary);text-decoration:underline}.cf-turnstile{min-height:65px}.login-card select{background:#fff}.site-header [aria-current="page"]::after{width:100%}.subpage-hero+.section{padding-top:24px}
@media(max-width:1080px){.content-grid{grid-template-columns:1fr}}
@media(max-width:560px){.footer-links{gap:12px}.content-card,.page-cta{padding:22px}.privacy-check{grid-template-columns:18px 1fr}}

/* Requested PrimeVision refinements: same public style, sharper UI, contact split, reviews and language switch */
.language-switch{height:42px;min-width:46px;padding:0 10px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#334155;font-size:.78rem;font-weight:900;letter-spacing:.08em;transition:.2s ease}.language-switch:hover{background:var(--primary-soft);border-color:#aebfda;color:var(--primary)}
.contact-grid{grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);align-items:start}.contact-direct{position:sticky;top:112px;background:#f8fbff;border:1px solid #dce5f1}.contact-form-card{border:1px solid #dce5f1}.contact-card,.about-card,.login-card,.content-card,.page-cta,.pricing-card,.reference-slide,.service-card,.btn,input,textarea,select,.language-switch,.icon-btn,.menu-toggle{border-radius:0!important}.contact-card:hover,.login-card:hover{transform:none}.contact-form-card form{gap:18px}.contact-form-card textarea{min-height:170px}
.pricing-old-price{font-size:1.02rem;color:#8591a3;text-decoration:line-through;text-decoration-thickness:2px;margin-right:2px}.pricing-discount-note{display:inline-block;margin:7px 0 14px;padding:6px 9px;background:#eff5ff;border-left:3px solid var(--primary);font-size:.78rem;font-weight:900;color:#17449f;letter-spacing:.02em}
.customer-reviews{background:#f8fbff}.customer-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.customer-review-card{background:#fff;border:1px solid #dce5f1;box-shadow:var(--shadow-soft);padding:28px;min-height:245px;display:flex;flex-direction:column}.customer-review-card .review-stars{font-size:1.18rem;letter-spacing:.1em;color:#d69a18;margin-bottom:16px}.customer-review-card h3{font-size:1.25rem;margin-bottom:14px}.customer-review-card p{color:var(--muted);line-height:1.7}.customer-review-card small{display:block;margin-top:auto;padding-top:18px;color:#64748b;font-weight:800}.login-helper{display:inline-flex;width:max-content;color:var(--primary);font-size:.9rem;font-weight:800}.login-helper:hover{text-decoration:underline}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-direct{position:static}.customer-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.customer-review-grid{grid-template-columns:1fr}.language-switch{height:40px;min-width:42px}.contact-card{padding:22px}}

/* PrimeVision refinement: aligned pricing, live references and calmer contact layout */
.pricing-grid{align-items:stretch}
.pricing-card{display:flex;flex-direction:column;height:100%}
.pricing-price-row{min-height:58px;align-content:center}
.pricing-card .pricing-list{margin-bottom:28px}
.pricing-card .pricing-btn{margin-top:auto;align-self:flex-start}
.reference-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}
.reference-live-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #cbd8eb;background:#fff;color:#153f9d;font-size:.86rem;font-weight:800;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease}
.reference-live-link:hover{background:#eef4ff;border-color:#aebfe0;color:#1f57d6}
.contact-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:28px;align-items:start}
.contact-direct{position:static!important;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border:1px solid #dce5f1;box-shadow:0 16px 40px rgba(15,23,42,.055)}
.contact-form-card{border:1px solid #dce5f1;box-shadow:0 18px 44px rgba(15,23,42,.065)}
.contact-card{padding:34px}
.contact-direct h3{font-size:1.75rem;line-height:1.12;margin-bottom:22px}
.contact-direct .info-item{padding:18px 0;border-bottom:1px solid #e2e8f2}
.contact-direct .info-item:last-child{border-bottom:0}
.contact-form-card form{display:grid;gap:17px}
.contact-form-card textarea{min-height:150px;resize:vertical}
@media(max-width:900px){.reference-actions{align-items:flex-start}.reference-project-head{align-items:flex-start}.contact-grid{grid-template-columns:1fr}.contact-card{padding:28px}}
@media(max-width:620px){.reference-project{padding:18px}.reference-project-head{display:grid}.reference-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.reference-live-link{min-height:40px;padding:0 11px;font-size:.8rem}.contact-card{padding:22px}.pricing-card{padding:24px}.pricing-card .pricing-btn{width:100%}}

/* Final public-site refinements requested by PrimeVision */
.pricing-card{min-height:100%}.pricing-card>p{min-height:78px}.pricing-card .pricing-list{flex:1 0 auto}.pricing-card .pricing-btn{margin-top:auto!important}
.customer-review-card .review-live-link{margin-top:16px;align-self:flex-start}.customer-review-card small+.review-live-link{margin-top:10px}
.contact-grid{gap:32px}.contact-direct,.contact-form-card{height:auto}.contact-direct{overflow:visible}.contact-form-card{overflow:visible}.contact-direct .info-list{margin-top:6px}.contact-form-card .btn{justify-self:start;min-width:190px}
@media(max-width:900px){.pricing-card>p{min-height:auto}.contact-grid{gap:20px}.contact-form-card .btn{width:100%}}

/* Exact PrimeVision brand artwork supplied by PrimeVision — displayed without modification. */
.brand-logo-link{display:flex!important;align-items:center!important;min-height:70px;padding:0!important}
.brand-logo-exact{display:block;width:144px;height:68px;object-fit:contain;object-position:left center}
@media(max-width:700px){.brand-logo-link{min-height:60px}.brand-logo-exact{width:122px;height:58px}}

/* Static-first contact runtime */
.contact-runtime-status{margin:0 0 18px;padding:14px 16px;border:1px solid #cdd8ea;background:#f7faff;color:#263754;font-weight:700;line-height:1.5}
.contact-runtime-status.success{border-color:#a8d7bd;background:#f2fbf6;color:#16623a}
.contact-runtime-status.error{border-color:#e2b8b8;background:#fff7f7;color:#8b2424}
.contact-runtime-status[hidden]{display:none}

/* PrimeVision text wordmark in the public header. The graphic logo is intentionally reserved for the browser favicon. */
.site-header .brand{display:inline-flex;flex-direction:column;justify-content:center;text-decoration:none;white-space:nowrap;min-height:70px;padding:0}
.site-header .brand-main{font-size:1.9rem;font-weight:900;letter-spacing:-.05em;color:#0f172a;line-height:.92}
.site-header .brand-sub{margin-top:7px;font-size:.74rem;letter-spacing:.42em;font-weight:800;color:#2563eb;padding-left:2px;line-height:1}
@media(max-width:700px){.site-header .brand{min-height:60px}.site-header .brand-main{font-size:1.65rem}.site-header .brand-sub{font-size:.68rem;letter-spacing:.34em}}

/* PrimeVision cart & Stripe checkout */
.cart-toggle{position:relative}.cart-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;background:#1f57d6;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900;line-height:1}.cart-count[hidden]{display:none!important}.cart-backdrop{position:fixed;inset:0;z-index:300;background:rgba(10,20,38,.38);opacity:0;transition:opacity .18s ease}.cart-backdrop.open{opacity:1}.cart-drawer{position:fixed;right:0;top:0;z-index:310;width:min(440px,94vw);height:100vh;height:100dvh;background:#fff;border-left:1px solid #ccd7e7;box-shadow:-28px 0 70px rgba(15,23,42,.18);transform:translateX(102%);transition:transform .2s ease;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.cart-drawer.open{transform:translateX(0)}html.cart-open{overflow:hidden}.cart-drawer-head{height:82px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4ef}.cart-drawer-head>div{display:grid}.cart-drawer-head span,.checkout-card-head span{font-size:.68rem;letter-spacing:.16em;color:#1f57d6;font-weight:900}.cart-drawer-head h2,.checkout-card-head h2{margin:4px 0 0;font-size:1.25rem;letter-spacing:-.02em}.cart-close{width:40px;height:40px;border:1px solid #ccd7e7;background:#fff;font-size:1.55rem;line-height:1;color:#33435a}.cart-close:hover{background:#eef4ff;color:#1f57d6}.cart-drawer-items{overflow-y:auto;padding:8px 22px 20px;overscroll-behavior:contain}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 0;border-bottom:1px solid #e1e7f0}.cart-line>div{display:grid;align-content:start}.cart-line>div:last-child{grid-template-columns:auto 30px;gap:8px;align-items:center}.cart-line strong{font-size:.96rem;color:#142035}.cart-line span{margin-top:4px;color:#768398;font-size:.76rem}.cart-line b{white-space:nowrap;font-size:.96rem}.cart-line button{width:30px;height:30px;border:1px solid #d4ddea;background:#fff;color:#7a8799;font-size:1.1rem}.cart-line button:hover{border-color:#e0adb5;background:#fff5f6;color:#9d2639}.cart-empty{min-height:190px;display:grid;place-items:center;align-content:center;text-align:center;padding:28px}.cart-empty strong{font-size:1rem}.cart-empty span{max-width:290px;margin-top:7px;color:#758196;font-size:.82rem}.cart-drawer-foot{padding:18px 22px 22px;border-top:1px solid #dce4ef;background:#fbfcfe}.cart-totals,.checkout-totals{display:grid;gap:8px;margin-bottom:14px}.cart-totals>div,.checkout-totals>div{display:flex;justify-content:space-between;gap:20px;font-size:.9rem}.cart-totals strong,.checkout-totals strong{color:#0f172a}.cart-interval-note{margin:6px 0 0;padding:10px 12px;border-left:3px solid #d69a1d;background:#fff9e8;color:#72520e;font-size:.75rem;line-height:1.5}.cart-checkout{width:100%}.cart-drawer-foot>small{display:block;margin-top:9px;text-align:center;color:#818c9c;font-size:.7rem}.pricing-actions{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap}.pricing-card .pricing-actions .pricing-btn{margin-top:0!important}.pricing-actions .btn{min-height:52px}.table-cart-button{min-height:38px;padding:0 13px;border:1px solid #b9c9e0;background:#fff;color:#1f57d6;font-weight:800;font-size:.8rem;white-space:nowrap}.table-cart-button:hover{background:#eef4ff;border-color:#8eaae0}.pricing-table .cart-column{text-align:right;width:1%;white-space:nowrap}

.checkout-page{padding-top:92px}.checkout-shell{max-width:1180px}.checkout-head{margin-bottom:28px}.checkout-head h1{font-size:clamp(2.35rem,4.4vw,4.4rem);line-height:1;letter-spacing:-.045em;margin-top:9px}.checkout-notice{display:grid;gap:5px;padding:16px 18px;margin-bottom:18px;border:1px solid #d6dfeb;background:#f8fbff}.checkout-notice strong{font-size:.94rem}.checkout-notice span{color:#667489;font-size:.83rem}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;align-items:start}.checkout-summary-card,.checkout-form-card,.order-success-card{background:#fff;border:1px solid #d9e2ee;box-shadow:0 18px 45px rgba(15,23,42,.07);padding:26px}.checkout-card-head{padding-bottom:17px;margin-bottom:4px;border-bottom:1px solid #e2e8f0}.checkout-summary-card .cart-line{padding:18px 0}.checkout-back{display:inline-block;margin-top:15px;color:#1f57d6;font-size:.84rem;font-weight:800}.checkout-form-card form{display:grid;gap:15px}.checkout-form-card label{display:grid;gap:7px;color:#58667a;font-size:.82rem;font-weight:750}.checkout-form-card input{width:100%;min-height:50px;padding:0 13px;border:1px solid #ccd7e5;background:#fff;color:#0f172a;outline:none}.checkout-form-card input:focus{border-color:#779adb;box-shadow:0 0 0 3px rgba(31,87,214,.07)}.checkout-security{display:grid;gap:5px;padding:14px;border:1px solid #dce4ee;background:#f8fbff}.checkout-security strong{font-size:.84rem}.checkout-security span{color:#6c788a;font-size:.75rem;line-height:1.5}.checkout-submit{width:100%;margin-top:3px}.checkout-submit:disabled{opacity:.45;cursor:not-allowed}.checkout-form-card form>small{color:#828d9d;font-size:.7rem;line-height:1.5}.order-success-page{padding:110px 0}.order-success-card{max-width:760px;margin:0 auto;text-align:center;padding:48px}.success-mark{width:58px;height:58px;margin:0 auto 22px;display:grid;place-items:center;background:#eef9f3;border:1px solid #a9d1bb;color:#177144;font-size:1.6rem;font-weight:900}.order-success-card h1{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.05;margin:10px 0 16px}.order-success-card .lead{max-width:620px;margin:0 auto}.order-reference{display:grid;gap:4px;width:max-content;max-width:100%;margin:26px auto;padding:13px 18px;border:1px solid #d9e2ef;background:#f8fbff}.order-reference small{color:#758196;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.order-reference strong{font-size:1.05rem}.order-success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:28px}

@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-form-card{order:-1}.pricing-actions{display:grid;grid-template-columns:1fr 1fr}.pricing-actions .btn{width:100%}.pricing-table .cart-column{padding-left:8px;padding-right:12px}}
@media(max-width:620px){.cart-drawer{width:100vw}.cart-drawer-head{height:70px;padding:0 15px}.cart-drawer-items,.cart-drawer-foot{padding-left:15px;padding-right:15px}.pricing-actions{grid-template-columns:1fr}.checkout-page{padding-top:60px}.checkout-summary-card,.checkout-form-card,.order-success-card{padding:20px}.order-success-card{padding-top:34px;padding-bottom:34px}.checkout-head h1{font-size:2.3rem}.pricing-table{min-width:760px}}

/* Checkout transport feedback */
.checkout-live-message{display:block;padding:12px 14px;border:1px solid #efb8c0;background:#fff6f7;color:#8f2536;font-size:.78rem;line-height:1.5;font-weight:700}.checkout-live-message.success{border-color:#abd1bb;background:#f2fbf6;color:#17643d}.checkout-submit[disabled]{cursor:wait}

/* PrimeVision 2026.4 — checkout feedback, professional success flow & project onboarding */
.checkout-live-message[hidden]{display:none!important}
.professional-success{max-width:920px;padding:54px 58px}.professional-success h1{max-width:760px;margin:12px auto 18px;font-size:clamp(2.25rem,4.6vw,4rem);line-height:1.02;text-wrap:balance}.professional-success .lead{max-width:730px}.success-next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:34px 0 8px;border:1px solid #dbe4ef;text-align:left}.success-next-steps>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:20px;border-right:1px solid #dbe4ef;background:#fbfcff}.success-next-steps>div:last-child{border-right:0}.success-next-steps b{width:36px;height:36px;display:grid;place-items:center;background:#eef4ff;border:1px solid #c6d5ec;color:#1f57d6;font-size:.72rem}.success-next-steps span{display:grid}.success-next-steps strong{font-size:.92rem;color:#111b2e}.success-next-steps small{margin-top:5px;color:#68768b;font-size:.75rem;line-height:1.5}.success-contact-note{margin:20px 0 0;color:#738095;font-size:.78rem}.success-contact-note a{color:#1f57d6;font-weight:800}
.onboarding-page{padding-top:86px}.onboarding-shell{max-width:1180px}.onboarding-head{align-items:end;margin-bottom:24px}.onboarding-head h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em}.onboarding-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;border:1px solid #dbe4ef;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.05)}.onboarding-meta span{display:grid;padding:16px 20px;border-right:1px solid #e2e8f0}.onboarding-meta span:last-child{border-right:0}.onboarding-meta small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#738197;font-weight:800}.onboarding-meta strong{margin-top:5px;font-size:1.05rem}.onboarding-form{display:grid;gap:18px}.onboarding-section{background:#fff;border:1px solid #d9e2ee;box-shadow:0 15px 38px rgba(15,23,42,.05);padding:28px}.onboarding-section-title{display:flex;gap:14px;align-items:center;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e4eaf2}.onboarding-section-title>b{width:40px;height:40px;display:grid;place-items:center;background:#1f57d6;color:#fff;font-size:.75rem}.onboarding-section-title div{display:grid}.onboarding-section-title span{font-size:.65rem;letter-spacing:.16em;color:#1f57d6;font-weight:900}.onboarding-section-title h2{margin:4px 0 0;font-size:1.35rem}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.onboarding-grid label,.onboarding-full-label{display:grid;gap:7px;color:#55647a;font-size:.78rem;font-weight:800}.onboarding-grid label.wide{grid-column:1/-1}.onboarding-grid input,.onboarding-grid select,.onboarding-grid textarea,.onboarding-full-label textarea{width:100%;border:1px solid #ccd7e5;background:#fff;color:#0f172a;padding:12px 13px;outline:none;min-height:48px}.onboarding-grid textarea,.onboarding-full-label textarea{resize:vertical}.onboarding-grid input:focus,.onboarding-grid select:focus,.onboarding-grid textarea:focus,.onboarding-full-label textarea:focus{border-color:#779adb;box-shadow:0 0 0 3px rgba(31,87,214,.07)}.onboarding-help{margin:-3px 0 17px;color:#718096;font-size:.76rem}.onboarding-upload-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #dbe4ef}.onboarding-upload-grid label{min-width:0;display:grid;align-content:start;padding:17px;border-right:1px solid #e1e7f0;background:#fbfcff}.onboarding-upload-grid label:last-child{border-right:0}.onboarding-upload-grid strong{font-size:.82rem}.onboarding-upload-grid small{min-height:36px;margin:4px 0 11px;color:#7b8798;font-size:.68rem;line-height:1.4}.onboarding-upload-grid input{font-size:.68rem;max-width:100%}.onboarding-file-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.onboarding-file-list>div{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid #dce4ee;background:#f8fbff}.onboarding-file-list span{display:grid;min-width:0}.onboarding-file-list strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-file-list small{font-size:.67rem;color:#798698;margin-top:3px}.onboarding-file-list b{font-size:.68rem;color:#177144;white-space:nowrap}.onboarding-submit{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:20px;padding-top:20px;border-top:1px solid #e1e7ef}.onboarding-submit p{max-width:680px;margin:0;color:#718095;font-size:.76rem;line-height:1.55}
@media(max-width:900px){.success-next-steps{grid-template-columns:1fr}.success-next-steps>div{border-right:0;border-bottom:1px solid #dbe4ef}.success-next-steps>div:last-child{border-bottom:0}.onboarding-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-upload-grid label{border-bottom:1px solid #e1e7f0}.onboarding-grid{grid-template-columns:1fr}.onboarding-grid label.wide{grid-column:auto}.onboarding-head{display:grid}.onboarding-meta{grid-template-columns:1fr}.onboarding-meta span{border-right:0;border-bottom:1px solid #e2e8f0}.onboarding-meta span:last-child{border-bottom:0}.onboarding-submit{display:grid}}
@media(max-width:620px){.professional-success{padding:34px 20px}.professional-success h1{font-size:2.25rem}.onboarding-section{padding:20px 16px}.onboarding-upload-grid{grid-template-columns:1fr}.onboarding-upload-grid label{border-right:0}.onboarding-file-list{grid-template-columns:1fr}}

.references-layout-single{grid-template-columns:minmax(0,1fr)}
.reference-site-preview{display:block;margin-top:22px;border:1px solid #d9e2ef;background:#fff;text-decoration:none;color:inherit;box-shadow:0 20px 45px rgba(15,23,42,.08);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.reference-site-preview:hover{transform:translateY(-3px);border-color:#1f5fe5;box-shadow:0 24px 55px rgba(15,23,42,.13)}
.reference-browser-bar{min-height:44px;border-bottom:1px solid #d9e2ef;background:#f6f9fd;display:flex;align-items:center;gap:7px;padding:0 16px}.reference-browser-bar span{width:8px;height:8px;border:1px solid #9dadc3}.reference-browser-bar strong{margin-left:8px;font-size:12px;letter-spacing:.02em;color:#64748b}
.reference-site-stage{min-height:330px;padding:42px;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr);align-items:center;gap:46px;background:linear-gradient(135deg,#111b23 0%,#263742 100%);color:#fff}.reference-site-stage img{width:100%;max-height:230px;object-fit:contain}.reference-site-stage div{display:flex;flex-direction:column;align-items:flex-start}.reference-site-stage span{font-size:12px;font-weight:800;letter-spacing:.16em;color:#bed5e4}.reference-site-stage strong{font-size:clamp(30px,4vw,54px);line-height:1;margin:12px 0}.reference-site-stage p{color:#d6e2ea;margin:0 0 24px}.reference-site-stage em{font-style:normal;font-weight:800;border:1px solid rgba(255,255,255,.55);padding:12px 16px}
@media(max-width:760px){.reference-site-stage{grid-template-columns:1fr;padding:28px;gap:24px;min-height:0}.reference-site-stage img{max-height:160px}.reference-site-stage strong{font-size:32px}}

/* Briefing-first checkout */
.pv2-checkout-page .checkout-shell{max-width:1280px}.pv2-checkout-grid{grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);align-items:start}.pv2-checkout-summary{position:sticky;top:96px}.pv2-checkout-steps{display:grid;margin-top:24px;border:1px solid #dbe4ef}.pv2-checkout-steps>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:13px;border-bottom:1px solid #e3e9f1;background:#fbfcff}.pv2-checkout-steps>div:last-child{border-bottom:0}.pv2-checkout-steps b{width:30px;height:30px;display:grid;place-items:center;background:#eef4ff;color:#1f57d6;font-size:.68rem}.pv2-checkout-steps span{display:grid}.pv2-checkout-steps strong{font-size:.8rem}.pv2-checkout-steps small{margin-top:2px;color:#788597;font-size:.67rem}.pv2-checkout-form-card form{gap:22px}.pv2-briefing-section{padding:22px;border:1px solid #dbe4ef;background:#fff}.pv2-briefing-title{display:flex;align-items:center;gap:13px;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid #e4eaf2}.pv2-briefing-title>b{width:37px;height:37px;display:grid;place-items:center;background:#1f57d6;color:#fff;font-size:.7rem}.pv2-briefing-title>span{display:grid}.pv2-briefing-title strong{font-size:1rem;color:#111b2e}.pv2-briefing-title small{margin-top:2px;color:#768398;font-size:.7rem}.pv2-checkout-form-card .onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pv2-checkout-form-card .onboarding-grid label{display:grid;gap:7px;color:#55647a;font-size:.76rem;font-weight:800}.pv2-checkout-form-card .onboarding-grid label.wide{grid-column:1/-1}.pv2-checkout-form-card .onboarding-grid input,.pv2-checkout-form-card .onboarding-grid select,.pv2-checkout-form-card .onboarding-grid textarea,.pv2-checkout-form-card .onboarding-full-label textarea{width:100%;min-height:48px;border:1px solid #ccd7e5;background:#fff;color:#0f172a;padding:11px 12px;outline:none}.pv2-checkout-form-card .onboarding-grid textarea,.pv2-checkout-form-card .onboarding-full-label textarea{resize:vertical}.pv2-checkout-form-card .onboarding-grid input:focus,.pv2-checkout-form-card .onboarding-grid select:focus,.pv2-checkout-form-card .onboarding-grid textarea:focus{border-color:#779adb;box-shadow:0 0 0 3px rgba(31,87,214,.07)}.pv2-checkout-form-card .onboarding-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border:0}.pv2-checkout-form-card .onboarding-upload-grid label{display:grid;gap:8px;padding:13px;border:1px solid #dbe4ef;background:#fbfcff;color:#526174;font-size:.72rem}.pv2-checkout-form-card .onboarding-upload-grid input{max-width:100%;font-size:.68rem}.pv2-checkout-form-card .onboarding-full-label{display:grid;gap:7px;color:#55647a;font-size:.76rem;font-weight:800}.pv2-briefing-section .checkout-security{margin-top:15px}.pv2-briefing-section .checkout-submit{margin-top:12px}
@media(max-width:980px){.pv2-checkout-grid{grid-template-columns:1fr}.pv2-checkout-summary{position:static;order:2}.pv2-checkout-form-card{order:1}}
@media(max-width:620px){.pv2-briefing-section{padding:16px}.pv2-checkout-form-card .onboarding-grid,.pv2-checkout-form-card .onboarding-upload-grid{grid-template-columns:1fr}.pv2-checkout-form-card .onboarding-grid label.wide{grid-column:auto}}

/* PrimeVision Operations 3.0 – checkout file picker */
.pv3-files-intro{margin:0 0 18px;color:#64748b;font-size:.92rem;line-height:1.55}
.pv3-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pv3-upload-box{border:1px solid #d7e0ef;background:#fff;padding:18px;min-width:0;display:flex;flex-direction:column;gap:14px}
.pv3-upload-box-head{display:flex;gap:12px;align-items:center}.pv3-upload-box-head>div{display:grid;gap:3px}.pv3-upload-box-head strong{font-size:.98rem;color:#0f172a}.pv3-upload-box-head small{font-size:.78rem;color:#718096}
.pv3-upload-icon{width:38px;height:38px;border:1px solid #cbd8ee;background:#f5f8fd;color:#1f57d6;display:grid;place-items:center;flex:0 0 auto}.pv3-upload-icon svg{width:16px;height:16px}
.pv3-upload-button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;border:1px solid #1f57d6!important;background:#1f57d6!important;color:#fff!important;cursor:pointer!important;padding:0 15px!important;margin:0!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;overflow:hidden}
.pv3-upload-button:hover{background:#1849b8!important}.pv3-upload-button input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;padding:0!important;border:0!important}.pv3-upload-button span{display:flex;align-items:center;gap:8px;pointer-events:none}.pv3-upload-button svg{width:14px;height:14px;fill:currentColor}
.pv3-file-preview{display:grid;gap:8px;min-height:24px}.pv3-file-preview>small{color:#94a3b8}.pv3-file-preview-item{display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:10px;align-items:center;padding:8px;border:1px solid #e0e7f1;background:#f8fafc}.pv3-file-preview-item img{width:46px;height:46px;object-fit:cover;border:1px solid #d8e1ef}.pv3-file-preview-item>span:nth-child(2){display:grid;gap:2px;min-width:0}.pv3-file-preview-item strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172033}.pv3-file-preview-item small{font-size:.7rem;color:#7a879b}.pv3-file-generic-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #d8e1ef;background:#fff;font-size:.58rem;font-weight:900;color:#62708a;letter-spacing:.08em}.pv3-file-remove{width:28px;height:28px;border:1px solid #efc9c9;background:#fff;color:#c62828;font-size:19px;line-height:1;cursor:pointer}.pv3-file-remove:hover{background:#fff3f3}.pv3-upload-global-error{margin-top:14px;border:1px solid #e7aaaa;background:#fff1f1;color:#a51d1d;padding:12px 14px;font-weight:700;font-size:.86rem}
@media(max-width:760px){.pv3-upload-grid{grid-template-columns:1fr}.pv3-upload-box{padding:15px}}


/* PrimeVision 2026-08-19 – public refinements */
.reference-site-stage{background:#f8fafc!important;color:#0f172a!important;border-top:1px solid #d9e2ef}
.reference-site-stage span{color:#365071!important}.reference-site-stage strong{color:#0b1428!important}.reference-site-stage p{color:#4b5b70!important}.reference-site-stage em{color:#0b1428!important;border-color:#aebbd0!important;background:#fff}

.pv4-footer{background:#0d1d38;color:#dbe5f5;border-top:1px solid #203657;padding:62px 0 0;margin-top:36px}
.pv4-footer .container{width:min(calc(100% - 40px),1200px)}
.pv4-footer-grid{display:grid;grid-template-columns:1.35fr .65fr .72fr 1fr;gap:54px;align-items:start;padding-bottom:52px}
.pv4-footer-brand{display:grid;align-content:start;gap:16px}.pv4-footer-wordmark{display:inline-grid;width:max-content;line-height:1}.pv4-footer-wordmark strong{font-size:1.45rem;letter-spacing:-.04em;color:#fff}.pv4-footer-wordmark span{margin-top:7px;color:#78a5ff;font-weight:900;font-size:.58rem;letter-spacing:.3em}.pv4-footer-brand p{max-width:430px;color:#b7c4d8;line-height:1.75}.pv4-footer-mail{font-weight:900;color:#fff}.pv4-footer-mail:hover{color:#8eb4ff}.pv4-footer-brand small{color:#8292aa}
.pv4-footer-links{display:grid;gap:12px}.pv4-footer-links>span,.pv4-footer-cta>span{font-size:.68rem;letter-spacing:.16em;font-weight:900;color:#9ebbf2;margin-bottom:8px}.pv4-footer-links a{color:#b7c4d8;font-size:.91rem}.pv4-footer-links a:hover{color:#fff}
.pv4-footer-cta{border:1px solid #385173;background:#112545;padding:26px;box-shadow:18px 18px 0 rgba(4,14,31,.18)}.pv4-footer-cta h3{color:#fff;font-size:1.35rem;line-height:1.2;margin:5px 0 12px}.pv4-footer-cta p{color:#b7c4d8;line-height:1.65;font-size:.9rem}.pv4-footer-button{display:flex;align-items:center;justify-content:center;min-height:50px;margin:20px 0 15px;background:#2762df;color:#fff;font-weight:900;border:1px solid #3f76ec}.pv4-footer-button:hover{background:#1e51bf}.pv4-footer-cta>div{display:flex;gap:18px;flex-wrap:wrap}.pv4-footer-cta>div a{color:#8fa0b8;font-size:.75rem}.pv4-footer-cta>div a:hover{color:#fff}
.pv4-footer-bottom{border-top:1px solid #273a58;padding:22px 0 25px;color:#8292aa;font-size:.78rem}.pv4-footer-bottom p{margin:0}

.pv4-about-hero{padding-bottom:58px}.pv4-about-story{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}.pv4-about-copy,.pv4-about-facts,.pv4-about-value,.pv4-about-team-grid article,.pv4-process-row article{border:1px solid #dbe3ef;background:#fff;padding:30px}.pv4-about-copy>span,.pv4-about-value>span{display:inline-flex;color:#1f57d6;font-size:.7rem;letter-spacing:.16em;font-weight:900;margin-bottom:14px}.pv4-about-copy h2{font-size:clamp(1.8rem,3vw,2.7rem);max-width:760px}.pv4-about-copy p{color:#5e6b7f;line-height:1.8;margin-top:18px}.pv4-about-facts{display:grid;gap:0;background:#0f2f75;color:#fff;border-color:#0f2f75}.pv4-about-facts>div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}.pv4-about-facts>div:last-child{border-bottom:0}.pv4-about-facts strong{font-size:1.05rem}.pv4-about-facts p{color:#c8d7ef;margin-top:7px;line-height:1.65}.pv4-about-values{background:#f5f8fd}.pv4-about-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pv4-about-value h3{font-size:1.15rem;margin-bottom:10px}.pv4-about-value p{color:#627086;line-height:1.65}.pv4-about-team{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.pv4-about-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pv4-about-team-grid article>span{font-size:.7rem;letter-spacing:.12em;color:#1f57d6;font-weight:900}.pv4-about-team-grid h3{font-size:1.45rem;margin:9px 0}.pv4-about-team-grid p{color:#627086;line-height:1.65}.pv4-process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pv4-process-row article b{display:grid;place-items:center;width:34px;height:34px;background:#1f57d6;color:#fff;margin-bottom:18px}.pv4-process-row h3{font-size:1.05rem;margin-bottom:9px}.pv4-process-row p{color:#627086;line-height:1.6;font-size:.9rem}.pv4-about-cta{margin-top:28px;padding:30px;border:1px solid #b9cae4;background:#eef4ff;display:flex;justify-content:space-between;gap:30px;align-items:center}.pv4-about-cta>div>span{font-size:.68rem;letter-spacing:.16em;color:#1f57d6;font-weight:900}.pv4-about-cta h2{font-size:1.65rem;margin:7px 0}.pv4-about-cta p{color:#64748b}
@media(max-width:980px){.pv4-footer-grid{grid-template-columns:1fr 1fr;gap:36px}.pv4-about-story,.pv4-about-team{grid-template-columns:1fr}.pv4-about-value-grid,.pv4-process-row{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pv4-footer{padding-top:42px}.pv4-footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:38px}.pv4-footer-cta{box-shadow:none}.pv4-about-value-grid,.pv4-process-row,.pv4-about-team-grid{grid-template-columns:1fr}.pv4-about-copy,.pv4-about-facts,.pv4-about-value,.pv4-about-team-grid article,.pv4-process-row article{padding:22px}.pv4-about-cta{align-items:flex-start;flex-direction:column;padding:22px}.pv4-about-cta .btn{width:100%}}


/* PrimeVision v5 public refinements */
.contact-trap[hidden]{display:none!important}
.pv5-footer{background:#0d213f;color:#dbe7f8;border-top:1px solid #18345c;padding:64px 0 0}
.pv5-footer-grid{display:grid;grid-template-columns:1.35fr .72fr .82fr 1fr;gap:54px;align-items:start}
.pv5-footer-wordmark{display:inline-grid;line-height:1;margin-bottom:24px}.pv5-footer-wordmark strong{font-size:1.45rem;color:#fff;letter-spacing:-.04em}.pv5-footer-wordmark span{margin-top:8px;color:#6ca0ff;font-size:.63rem;font-weight:900;letter-spacing:.28em}
.pv5-footer-brand p{max-width:390px;color:#b8c8de;line-height:1.7;margin:0 0 18px}.pv5-footer-mail{display:block;color:#fff;font-weight:850;margin-bottom:8px}.pv5-footer-brand small{color:#8296b2}
.pv5-footer-links{display:grid;gap:11px}.pv5-footer-links>span,.pv5-footer-contact>span{font-size:.68rem;letter-spacing:.15em;font-weight:900;color:#8eb5ff;margin-bottom:8px}.pv5-footer-links a{color:#c7d5e8;font-size:.93rem}.pv5-footer-links a:hover,.pv5-footer-contact a:hover{color:#fff}
.pv5-footer-contact{border-left:1px solid #2a456c;padding-left:28px}.pv5-footer-contact h3{font-size:1.45rem;line-height:1.15;color:#fff;margin:8px 0 12px}.pv5-footer-contact p{color:#b7c7dd;line-height:1.65;margin:0 0 16px}.pv5-footer-contact>a{color:#fff;font-weight:850;overflow-wrap:anywhere}.pv5-footer-contact>div{display:flex;gap:18px;margin-top:24px}.pv5-footer-contact>div a{color:#8ea3bd;font-size:.78rem}
.pv5-footer-bottom{margin-top:48px;border-top:1px solid #274162;padding:22px 0 26px}.pv5-footer-bottom p{margin:0;color:#8196b1;font-size:.78rem}
.pv5-references{background:#fff}.pv5-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pv5-reference-card{border:1px solid #d9e2ee;background:#fff;box-shadow:0 16px 44px rgba(15,23,42,.055);display:flex;flex-direction:column;min-width:0}.pv5-reference-preview{height:250px;background:#f6f8fb;border-bottom:1px solid #dfe6ef;display:grid;place-items:center;padding:34px}.pv5-reference-preview img{max-width:100%;max-height:180px;object-fit:contain}.pv5-reference-body{display:flex;flex-direction:column;flex:1;padding:25px}.pv5-reference-body>span{font-size:.68rem;color:#1f57d6;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pv5-reference-body h3{font-size:1.28rem;line-height:1.2;margin:10px 0 10px}.pv5-reference-body p{color:#647084;line-height:1.62;margin:0 0 22px}.pv5-reference-meta{margin-top:auto;border-top:1px solid #e3e9f1;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pv5-reference-meta b{font-size:.78rem;color:#738096}.pv5-reference-meta a{display:inline-flex;align-items:center;gap:7px;color:#153f9d;font-size:.82rem;font-weight:900}.pv5-reference-meta a:hover{color:#1f57d6}.pv5-reference-after{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:32px}.pv5-public-stats{display:flex;align-items:stretch;border:1px solid #dce4ef;background:#f9fbfe;flex:1}.pv5-public-stats>div{min-width:130px;padding:16px 20px;border-right:1px solid #dce4ef;display:grid}.pv5-public-stats>div:last-child{border-right:0}.pv5-public-stats strong{font-size:1.55rem;line-height:1;color:#0f172a}.pv5-public-stats span{margin-top:6px;color:#69768a;font-size:.75rem}.pricing-price-row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.pricing-old-price{font-size:1.12rem!important;color:#98a3b3!important;text-decoration-color:#b42318!important;text-decoration-thickness:2px!important}.pricing-price{color:#0d1830}.pricing-discount-note{background:#edf8f1!important;border-left-color:#21854d!important;color:#17623a!important}.about-grid{gap:36px!important}.about-card,.about-highlight{padding:36px!important}.team-card h4{margin-bottom:4px!important}.team-card .team-role{display:block;margin:0 0 14px!important;line-height:1.3!important}.team-card p{line-height:1.65!important}
@media(max-width:1050px){.pv5-footer-grid{grid-template-columns:1.25fr .75fr .9fr}.pv5-footer-contact{grid-column:1/-1;border-left:0;border-top:1px solid #2a456c;padding:24px 0 0}.pv5-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.pv5-footer-grid{grid-template-columns:1fr 1fr;gap:34px}.pv5-footer-brand,.pv5-footer-contact{grid-column:1/-1}.pv5-reference-grid{grid-template-columns:1fr}.pv5-reference-after{align-items:stretch;flex-direction:column}.pv5-public-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.pv5-public-stats>div{border-bottom:1px solid #dce4ef}.pv5-public-stats>div:nth-child(2n){border-right:0}.pv5-reference-after .btn{width:100%}}


/* PrimeVision v5 final public polish */
.contact-trap,.contact-trap[hidden]{display:none!important;position:absolute!important;left:-100000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.pv5-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch}.pv5-reference-card:only-child{max-width:520px}.pv5-reference-grid:has(.pv5-reference-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:1040px}.pv5-reference-preview{min-height:220px}.pv5-reference-monogram{width:104px;height:104px;border:1px solid #cbd8e8;display:grid;place-items:center;background:#fff;color:#163f94;font-size:1.55rem;font-weight:950;letter-spacing:.06em}.pv5-reference-after{padding-top:6px}.pv5-reference-after>.btn{white-space:nowrap}.pv5-footer-grid{align-items:start}.pv5-footer-contact{min-height:100%;display:flex;flex-direction:column;justify-content:flex-start}.pv5-footer-bottom{padding-top:22px;padding-bottom:26px}
@media(max-width:900px){.pv5-reference-grid,.pv5-reference-grid:has(.pv5-reference-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}.pv5-reference-card:only-child{max-width:none}.pv5-reference-after{align-items:stretch;flex-direction:column}.pv5-public-stats{width:100%}}
@media(max-width:620px){.pv5-reference-grid,.pv5-reference-grid:has(.pv5-reference-card:nth-child(2):last-child){grid-template-columns:1fr!important}.pv5-public-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pv5-public-stats>div{border-right:0;border-bottom:1px solid #dce4ef}.pv5-public-stats>div:nth-child(odd){border-right:1px solid #dce4ef}.pv5-public-stats>div:nth-last-child(-n+2){border-bottom:0}}


/* PrimeVision v6 public refinements */
.pv5-footer-grid{grid-template-columns:1.3fr .72fr .82fr 1.12fr;gap:44px}
.pv5-footer-brand small{display:block;margin-top:18px;color:#8296b2;line-height:1.55}
.pv5-footer-contact{padding-left:30px}
.pv5-footer-contact p{max-width:330px;margin-bottom:14px}
.pv6-footer-contact-mail{display:inline-flex!important;align-items:center;color:#fff!important;font-weight:850;white-space:nowrap;font-size:.92rem}
.pv5-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.pv6-footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.pv6-footer-legal a{color:#91a5bf;font-size:.78rem}.pv6-footer-legal a:hover{color:#fff}
.pv5-reference-after{display:none!important}
.pv6-about-more{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px}
.pv6-about-more>.btn{white-space:nowrap;min-height:48px}
.pv6-about-stats{min-height:74px}
#ueber-uns .pv6-about-more:has(.pv6-about-stats[hidden]){justify-content:flex-end}
.pv4-about-hero .section-head{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:64px;align-items:end}
.pv4-about-hero .section-head>.lead{position:relative;max-width:430px;margin:0 0 8px;padding:8px 0 8px 24px;border-left:3px solid #1f57d6;background:transparent;color:#5b687c;line-height:1.72}
@media(max-width:1050px){.pv5-footer-grid{grid-template-columns:1.15fr .68fr .8fr 1fr;gap:30px}.pv6-footer-contact-mail{white-space:normal}.pv4-about-hero .section-head{grid-template-columns:1fr;gap:22px}.pv4-about-hero .section-head>.lead{max-width:760px}}
@media(max-width:720px){.pv5-footer-grid{grid-template-columns:1fr 1fr}.pv5-footer-contact{grid-column:1/-1;border-left:0;border-top:1px solid #2a456c;padding:24px 0 0}.pv5-footer-bottom{align-items:flex-start;flex-direction:column}.pv6-footer-legal{justify-content:flex-start}.pv6-about-more{align-items:stretch;flex-direction:column}.pv6-about-more>.btn{width:100%}.pv6-about-stats{width:100%}}
@media(max-width:520px){.pv5-footer-grid{grid-template-columns:1fr}.pv5-footer-brand,.pv5-footer-contact{grid-column:auto}.pv6-footer-legal{width:100%;justify-content:space-between;gap:16px}}

/* PrimeVision fix: remove empty stats placeholder beside About CTA */
#ueber-uns .pv6-about-more{justify-content:flex-end!important}
#ueber-uns .pv6-about-more .pv6-about-stats,
#ueber-uns .pv6-about-more .pv5-public-stats{display:none!important;border:0!important;background:transparent!important;min-height:0!important}
