/* Shared CapExLayer / CraneGenius customer-facing brand layer. */
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@300;400;500&display=swap");
:root {
  --cg-bg: #080e1a;
  --cg-panel: rgba(6,12,24,0.88);
  --cg-panel-strong: rgba(6,12,24,0.92);
  --cg-gold: #c9a84c;
  --cg-gold-line: rgba(201,168,76,0.24);
  --cg-text: #ffffff;
  --cg-muted: #8a9bb5;
  --cg-green: #74dc87;
  --cg-radius: 8px;
}

html { background: var(--cg-bg); }
body.unified-brand-active {
  background: var(--cg-bg) !important;
  color: var(--cg-text);
  font-family: 'DM Sans', sans-serif;
  overflow-x: hidden;
}
body.unified-brand-active > :not(.unified-brand-backdrop):not(.unified-brand-beam):not(.unified-brand-atmosphere) {
  position: relative;
  z-index: 1;
}

.unified-brand-backdrop,
.unified-brand-atmosphere,
.unified-brand-beam {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.unified-brand-backdrop {
  background:
    linear-gradient(90deg, rgba(8,14,26,0.68), rgba(8,14,26,0.22) 42%, rgba(8,14,26,0.34) 72%, rgba(8,14,26,0.78)),
    linear-gradient(180deg, rgba(8,14,26,0.18), rgba(8,14,26,0.46) 62%, rgba(8,14,26,0.86)),
    url("platform-map-backdrop.jpg") center top / cover no-repeat;
  opacity: 0.80;
  filter: blur(0.9px) saturate(0.84) contrast(1.02) brightness(0.68);
  transform: scale(1.008);
}
.unified-brand-atmosphere {
  background:
    linear-gradient(90deg, rgba(201,168,76,0.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(201,168,76,0.04) 1px, transparent 1px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 5px);
  background-size: 82px 82px, 82px 82px, auto;
  opacity: 0.28;
  mix-blend-mode: screen;
}
.unified-brand-beam {
  height: 42vh;
  top: -48vh;
  background:
    linear-gradient(180deg, transparent 0%, rgba(201,168,76,0.05) 42%, rgba(255,232,160,0.20) 50%, rgba(201,168,76,0.06) 58%, transparent 100%),
    linear-gradient(90deg, transparent 0%, rgba(201,168,76,0.09) 50%, transparent 100%);
  opacity: 0.82;
  filter: blur(0.5px);
  animation: unifiedBrandBeam 7.4s linear infinite;
}
@keyframes unifiedBrandBeam {
  0% { transform: translateY(-18vh); opacity: 0; }
  10% { opacity: 0.82; }
  72% { opacity: 0.82; }
  100% { transform: translateY(156vh); opacity: 0; }
}

body.unified-brand-active nav,
body.unified-brand-active header,
body.unified-brand-active .nav,
body.unified-brand-active .top,
body.unified-brand-active .dash-nav {
  background: rgba(6,12,24,0.92) !important;
  border-color: var(--cg-gold-line) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 14px 46px rgba(0,0,0,0.22);
}

body.unified-brand-active section.hero > .container,
body.unified-brand-active .hero > .container:first-child,
body.unified-brand-active section.hero > div:first-child,
body.unified-brand-active .hero-grid,
body.unified-brand-active .hero-content,
body.unified-brand-active .proof-panel,
body.unified-brand-active .booking .container,
body.unified-brand-active .cta-section,
body.unified-brand-active .cta-form,
body.unified-brand-active .page-hero,
body.unified-brand-active .hero-copy-panel {
  border: 1px solid rgba(201,168,76,0.18) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.045), transparent 34%, rgba(201,168,76,0.045)),
    var(--cg-panel) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,0.42), 0 0 0 1px rgba(255,255,255,0.04) inset !important;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
body.unified-brand-active section.hero > .container,
body.unified-brand-active .hero > .container:first-child,
body.unified-brand-active section.hero > div:first-child {
  padding: clamp(32px, 5vw, 52px) !important;
}

body.unified-brand-active main > section:not(.hero):not(.no-brand-panel),
body.unified-brand-active > section:not(.hero):not(.no-brand-panel),
body.unified-brand-active .section:not(.hero):not(.no-brand-panel),
body.unified-brand-active .show-section,
body.unified-brand-active .proof,
body.unified-brand-active .pipeline-stats,
body.unified-brand-active .faq,
body.unified-brand-active .how,
body.unified-brand-active .booking {
  width: min(1120px, calc(100% - 48px));
  margin: 64px auto !important;
  padding: clamp(34px, 5vw, 58px) !important;
  border: 1px solid rgba(201,168,76,0.16) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.038), transparent 34%, rgba(201,168,76,0.038)),
    rgba(6,12,24,0.84) !important;
  box-shadow: 0 26px 82px rgba(0,0,0,0.36), 0 0 0 1px rgba(255,255,255,0.032) inset !important;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

body.unified-brand-active .section-heading,
body.unified-brand-active .section-h2,
body.unified-brand-active .section-title,
body.unified-brand-active section h2,
body.unified-brand-active .section-para,
body.unified-brand-active .lead,
body.unified-brand-active .subhead {
  display: block;
  max-width: 920px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-shadow: 0 14px 34px rgba(0,0,0,0.52);
}

body.unified-brand-active .card,
body.unified-brand-active .stat,
body.unified-brand-active .proof-item,
body.unified-brand-active .faq-item,
body.unified-brand-active .how-cards > *,
body.unified-brand-active .show-bullets li,
body.unified-brand-active .show-image-wrap,
body.unified-brand-active .signal-category,
body.unified-brand-active .vertical-card,
body.unified-brand-active .vtile,
body.unified-brand-active .opp-card,
body.unified-brand-active .stat-cell,
body.unified-brand-active .outcome-card,
body.unified-brand-active .acquirer-card,
body.unified-brand-active .api-code,
body.unified-brand-active form,
body.unified-brand-active .booking-form {
  background: rgba(6,12,24,0.88) !important;
  border-color: rgba(201,168,76,0.18) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,0.30) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.unified-brand-active h1,
body.unified-brand-active h2,
body.unified-brand-active h3,
body.unified-brand-active .hero-title,
body.unified-brand-active .hero-headline,
body.unified-brand-active .hero-h1,
body.unified-brand-active .section-heading,
body.unified-brand-active .section-h2,
body.unified-brand-active .section-title,
body.unified-brand-active .brand,
body.unified-brand-active .nav-logo-name,
body.unified-brand-active .wordmark-main,
body.unified-brand-active .dash-nav-logo {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 0.03em;
}
body.unified-brand-active code,
body.unified-brand-active pre,
body.unified-brand-active .eyebrow,
body.unified-brand-active .section-eyebrow,
body.unified-brand-active .hero-proof,
body.unified-brand-active .label,
body.unified-brand-active .stat-label,
body.unified-brand-active .nav-logo-sub,
body.unified-brand-active .wordmark-sub {
  font-family: 'DM Mono', monospace;
}
body.unified-brand-active a,
body.unified-brand-active .dot,
body.unified-brand-active .hero-proof,
body.unified-brand-active .section-eyebrow,
body.unified-brand-active .eyebrow,
body.unified-brand-active .stat-num,
body.unified-brand-active .card h3,
body.unified-brand-active .signal-category h3,
body.unified-brand-active .brand .dot {
  color: var(--cg-gold) !important;
}
body.unified-brand-active .btn,
body.unified-brand-active .btn-primary,
body.unified-brand-active .btn-gold,
body.unified-brand-active .nav-cta {
  border-radius: 6px !important;
  border-color: rgba(201,168,76,0.52) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.12) inset, 0 14px 40px rgba(201,168,76,0.14) !important;
}
body.unified-brand-active .btn-primary,
body.unified-brand-active .btn-gold,
body.unified-brand-active .nav-cta {
  background: var(--cg-gold) !important;
  color: var(--cg-bg) !important;
}
body.unified-brand-active input,
body.unified-brand-active textarea,
body.unified-brand-active select {
  background: rgba(12,20,36,0.88) !important;
  border-color: rgba(201,168,76,0.22) !important;
  color: var(--cg-text) !important;
}

@media (max-width: 760px) {
  .unified-brand-backdrop {
    background-position: center top;
    background-size: auto 100vh;
    opacity: 0.58;
    filter: blur(0.9px) saturate(0.78) contrast(1.02) brightness(0.56);
  }
  body.unified-brand-active section.hero > .container,
  body.unified-brand-active .hero > .container:first-child,
  body.unified-brand-active section.hero > div:first-child,
  body.unified-brand-active .hero-grid,
  body.unified-brand-active .hero-content {
    padding: 28px 20px !important;
  }
  body.unified-brand-active main > section:not(.hero):not(.no-brand-panel),
  body.unified-brand-active > section:not(.hero):not(.no-brand-panel),
  body.unified-brand-active .section:not(.hero):not(.no-brand-panel),
  body.unified-brand-active .show-section,
  body.unified-brand-active .proof,
  body.unified-brand-active .pipeline-stats,
  body.unified-brand-active .faq,
  body.unified-brand-active .how,
  body.unified-brand-active .booking {
    width: calc(100% - 32px);
    margin: 44px auto !important;
    padding: 32px 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .unified-brand-beam { animation: none; top: 20vh; opacity: 0.22; }
}
