/* ============================================================================
   SCANSET — MINIMAL CSS
   Nav + Hero + Footer (+ blog, partners, forms, team, about)
   ============================================================================ */


/* === GLOBAL RESETS === */

body, html, .ast-separate-container, .ast-plain-container {
  background-color: var(--ss-bg) !important;
  color: var(--ss-text) !important;
}

body.page .entry-title, body.page .page-title, body.page .entry-header { display: none !important; }

.site-content, .ast-container, .site-main, .entry-content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-page,
.ast-separate-container .entry-content,
.ast-separate-container .ast-article-inner,
.ast-separate-container article,
.ast-separate-container #primary,
.ast-separate-container .site-main > article {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.ast-separate-container .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

body.page header.entry-header {
    display: none !important;
}
body { padding-top: 70px !important; }
body.home { padding-top: 0 !important; }
body.home .section-hero { padding-top: 70px !important; }


/* === STICKY NAV === */

.site-header, header.site-header, #masthead,
.ast-primary-header, .main-header-bar {
  display: flex !important;
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid var(--ss-border) !important;
}

.main-header-bar { padding: 0.75rem 1.5rem !important; }

.site-header .site-branding img,
.site-header .custom-logo { height: 32px !important; width: auto !important; }

.main-header-bar .main-navigation a,
.main-header-bar .menu-item a,
.ast-primary-header .menu-item a,
#primary-menu a, .main-navigation a, .ast-nav-menu a {
  color: var(--ss-text) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  padding: 0.5rem 1rem !important;
  transition: color 150ms ease !important;
}

.main-header-bar .main-navigation a:hover,
.main-header-bar .menu-item a:hover,
.ast-primary-header .menu-item a:hover,
#primary-menu a:hover, .main-navigation a:hover,
.ast-nav-menu a:hover { color: var(--ss-accent) !important; }

.main-header-bar .current-menu-item > a,
.ast-primary-header .current-menu-item > a,
#primary-menu .current-menu-item > a,
.current-menu-item > a, .current_page_item > a { color: var(--ss-accent) !important; }


/* === HERO === */

.section-hero {
  min-height: 100vh !important;
  display: flex; flex-direction: column;
  justify-content: center; align-items: center; text-align: center;
  padding: 6rem 1.5rem 4rem;
  background: var(--ss-bg) !important;
  width: 100vw !important; max-width: 100vw !important;
  position: relative; left: 0;
  border-bottom: 1px solid var(--ss-border) !important;
}

.hero-container {
  position: relative; z-index: 1; max-width: 820px;
  display: flex; flex-direction: column; align-items: center; gap: 2rem;
}

.hero-content {
  display: flex; flex-direction: column; align-items: center; gap: 1.25rem;
}

.hero-eyebrow { display: none !important; }

.hero-headline {
  font-size: clamp(2.75rem, 6vw, 4.25rem);
  font-weight: 700; line-height: 1.05; color: var(--ss-text); margin: 0;
}

.hero-subhead {
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.65; color: var(--ss-text-muted); max-width: 640px; margin: 0;
}

.hero-cta-group {
  display: flex !important; gap: 0.75rem !important;
  flex-wrap: wrap !important; justify-content: center !important;
  margin-top: 0.5rem !important;
}

.hero-cta-primary {
  display: inline-flex !important; align-items: center !important;
  padding: 0.8rem 2rem !important;
  background: linear-gradient(135deg, var(--ss-accent) 0%, var(--ss-accent-hover) 100%) !important;
  border: none !important; border-radius: 8px !important;
  color: var(--ss-text) !important; font-size: 0.95rem !important;
  font-weight: 600 !important; text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 150ms ease, box-shadow 150ms ease !important;
}
.hero-cta-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(180, 83, 9, 0.25) !important;
}

.hero-cta-secondary {
  display: inline-flex !important; align-items: center !important;
  padding: 0.8rem 2rem !important;
  background: transparent !important;
  border: 1px solid var(--ss-border) !important; border-radius: 8px !important;
  color: var(--ss-text) !important; font-size: 0.95rem !important;
  font-weight: 600 !important; text-decoration: none !important;
  cursor: pointer !important;
  transition: border-color 150ms ease, color 150ms ease !important;
}
.hero-cta-secondary:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }

.hero-scroll-indicator {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 0.5rem !important;
  cursor: pointer !important; opacity: 0.7 !important;
  transition: opacity 150ms ease !important;
  animation: float 2s ease-in-out infinite !important;
  text-decoration: none !important;
}
.hero-scroll-indicator:hover { opacity: 1 !important; }
.hero-scroll-indicator span { font-size: 0.8rem !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-text-muted) !important; }
.scroll-arrow { width: 24px !important; height: 24px !important; color: var(--ss-text-muted) !important; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

@media (max-width: 921px) {
  .section-hero { padding-top: 8rem !important; }
  .main-header-bar { padding: 0.25rem 1rem !important; }
  .site-header .site-branding img, .site-header .custom-logo { height: 22px !important; }
}


/* === SECTION SCAFFOLDING (backgrounds only, content CSS removed) === */

.section-container {
  max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important;
}

.section-eyebrow {
  display: inline-block !important; padding: 0.25rem 1rem !important;
  background: rgba(180, 83, 9, 0.1) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 100px !important; font-size: 0.75rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

.section-reframe, .section-category,
.section-mechanism, .section-capabilities, .section-safety,
.section-authority, .section-economics, .section-audience {
  padding: 4rem 0 !important; width: 100vw !important;
  margin-left: 50% !important; transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-category, .section-capabilities,
.section-authority, .section-audience { background: var(--ss-surface) !important; }
.section-reframe, .section-mechanism, .section-safety,
.section-economics { background: var(--ss-bg) !important; }


/* === SECTION 2A: THE PROBLEM STATEMENT === */

.section-problem-statement {
  background: #000000 !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-problem-statement .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.problem-statement-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 2.5rem auto !important; }

.section-problem-statement .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #ef4444 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.15), 0 0 4px rgba(239, 68, 68, 0.1) !important;
}
.problem-statement-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 !important; }

.problem-statement-body { max-width: 680px !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; gap: 1.5rem !important; }
.problem-statement-body p { font-size: 1.05rem !important; line-height: 1.75 !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.problem-statement-body p strong { color: var(--ss-text) !important; }

.problem-statement-kicker { font-size: 1.05rem !important; font-weight: 500 !important; color: var(--ss-text) !important; }

.problem-statement-items { display: flex !important; flex-direction: column !important; gap: 0 !important; border-left: 2px solid #ef4444 !important; margin-top: 0.5rem !important; }

.problem-statement-item { display: flex !important; align-items: baseline !important; gap: 0.5rem !important; flex-wrap: wrap !important; padding: 0.75rem 0 0.75rem 1.25rem !important; border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important; }
.problem-statement-item:last-child { border-bottom: none !important; }
.problem-statement-item strong { font-size: 0.95rem !important; font-weight: 700 !important; color: #ef4444 !important; }
.problem-statement-item span { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; line-height: 1.5 !important; }


/* === SECTION 2: ZERO TRUST SPECTRUM === */

.section-problem { background: #000000 !important; padding: 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; border-top: 1px solid rgba(180, 83, 9, 0.4) !important; box-shadow: 0 -8px 25px rgba(180, 83, 9, 0.12), 0 -2px 8px rgba(180, 83, 9, 0.08) !important; }
.section-problem .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 !important; }

.spectrum-diagram { width: 100% !important; height: auto !important; display: block !important; }


/* === SECTION 3: ZERO TRUST SPECTRUM (updated) === */

.section-spectrum {
  background: #000000 !important; padding: 5rem 0 3rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
  border-top: 1px solid rgba(180, 83, 9, 0.4) !important;
  box-shadow: 0 -8px 25px rgba(180, 83, 9, 0.12), 0 -2px 8px rgba(180, 83, 9, 0.08) !important;
}
.section-spectrum .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.spectrum-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.spectrum-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.spectrum-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.section-spectrum .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

.spectrum-visual {
  max-width: 1200px !important; margin: 0 auto !important;
}
.spectrum-visual .spectrum-diagram {
  width: 100% !important; height: auto !important; display: block !important;
}


/* === SECTION 4: THE SCANSET PLATFORM === */

.section-platform {
  background: var(--ss-bg) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-platform .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.platform-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 2.5rem auto !important; }
.platform-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 !important; }

.platform-tab-nav {
  display: flex !important; gap: 0 !important;
  border-bottom: 1px solid var(--ss-surface) !important;
  margin-bottom: 2.5rem !important;
}

.platform-tab {
  flex: 1 !important; display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 0.5rem !important;
  padding: 1rem 1.5rem !important;
  background: transparent !important; border: none !important;
  border-bottom: 2px solid transparent !important;
  color: var(--ss-text-muted) !important; font-size: 0.9rem !important;
  font-weight: 600 !important; cursor: pointer !important;
  transition: color 150ms ease, border-color 150ms ease !important;
  white-space: nowrap !important;
}
.platform-tab svg { width: 20px !important; height: 20px !important; flex-shrink: 0 !important; }
.platform-tab:hover { color: var(--ss-text-muted) !important; }

.platform-tab-active { color: var(--ss-accent) !important; border-bottom-color: var(--ss-accent) !important; }
.platform-tab-active:hover { color: var(--ss-accent) !important; }

.platform-panel { display: none !important; }
.platform-panel-active {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important; align-items: center !important;
  animation: panelFadeIn 0.25s ease-out !important;
}

@keyframes panelFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.platform-panel-text { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.platform-panel-text h3 { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 !important; }
.platform-panel-lead { font-size: 1.1rem !important; font-weight: 600 !important; color: var(--ss-text) !important; margin: 0 !important; }
.platform-panel-text p { font-size: 1rem !important; line-height: 1.7 !important; color: var(--ss-text-muted) !important; margin: 0 !important; }

.platform-feature-list {
  list-style: none !important; margin: 0.5rem 0 0 0 !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 0.5rem !important;
  border-top: 1px solid var(--ss-surface) !important; padding-top: 1rem !important;
}
.platform-feature-list li { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; padding-left: 1.25rem !important; position: relative !important; line-height: 1.5 !important; }
.platform-feature-list li::before { content: '→' !important; position: absolute !important; left: 0 !important; color: var(--ss-accent) !important; font-weight: 600 !important; }

.platform-product-link {
  display: inline-flex !important; align-items: center !important;
  margin-top: 1rem !important; padding: 0.6rem 1.25rem !important;
  background: transparent !important; border: 1px solid var(--ss-border) !important; border-radius: 6px !important;
  color: var(--ss-text) !important; font-size: 0.9rem !important; font-weight: 600 !important;
  text-decoration: none !important; transition: border-color 150ms ease, color 150ms ease !important;
  align-self: flex-start !important;
}
.platform-product-link:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }

.platform-panel-visual { display: flex !important; align-items: center !important; justify-content: center !important; }

.platform-placeholder {
  width: 100% !important; aspect-ratio: 16/10 !important;
  background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 12px !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important; gap: 0.75rem !important;
}
.platform-placeholder svg { width: 48px !important; height: 48px !important; color: var(--ss-border) !important; }
.platform-placeholder span { font-size: 0.8rem !important; color: var(--ss-border) !important; font-weight: 500 !important; }

.platform-panel-visual img { width: 100% !important; height: auto !important; border-radius: 12px !important; border: 1px solid var(--ss-surface) !important; }

@media (max-width: 900px) {
  .platform-panel-active { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .platform-panel-visual { order: 2 !important; }
  .platform-panel-text { order: 1 !important; }
}

@media (max-width: 600px) {
  .platform-tab-nav { flex-direction: column !important; gap: 0 !important; }
  .platform-tab { justify-content: flex-start !important; padding: 0.75rem 1rem !important; font-size: 0.85rem !important; border-bottom: none !important; border-left: 2px solid transparent !important; }
  .platform-tab-active { border-left-color: var(--ss-accent) !important; border-bottom-color: transparent !important; }
  .platform-tab svg { width: 18px !important; height: 18px !important; }
}


/* === SECTION 5: CASE STUDIES === */

.section-cases {
  background: var(--ss-accent) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-cases .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.cases-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.cases-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 !important; }

.section-cases .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.cases-carousel { max-width: 800px !important; margin: 0 auto !important; position: relative !important; }
.cases-track { position: relative !important; min-height: 360px !important; }

.case-card {
  display: none !important; flex-direction: column !important; gap: 1.25rem !important;
  padding: 2.5rem !important; background: var(--ss-bg) !important; border: 1px solid var(--ss-surface) !important;
  border-radius: 12px !important; animation: cardFadeIn 0.3s ease-out !important;
}
.case-card-active { display: flex !important; }

@keyframes cardFadeIn {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}

.case-eyebrow {
  display: inline-block !important; align-self: flex-start !important;
  padding: 0.2rem 0.75rem !important; border-radius: 3px !important;
  font-size: 0.65rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.12em !important;
}
.case-eyebrow-red { background: rgba(239, 68, 68, 0.08) !important; border: 1px solid rgba(239, 68, 68, 0.3) !important; color: #ef4444 !important; }
.case-eyebrow-teal { background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; color: var(--ss-accent) !important; }

.case-title { font-size: 1.35rem !important; font-weight: 700 !important; color: var(--ss-text) !important; line-height: 1.3 !important; margin: 0 !important; }
.case-body { font-size: 0.95rem !important; line-height: 1.7 !important; color: var(--ss-text-muted) !important; margin: 0 !important; }

.case-tags { display: flex !important; flex-wrap: wrap !important; gap: 0.4rem !important; margin-top: 0.5rem !important; }
.case-tag { padding: 0.2rem 0.6rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 600 !important; color: var(--ss-text-muted) !important; letter-spacing: 0.03em !important; }

.cases-controls { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 1.5rem !important; padding: 0 0.5rem !important; }

.cases-dots { display: flex !important; gap: 0.5rem !important; }
.case-dot { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--ss-surface) !important; border: none !important; cursor: pointer !important; transition: background 150ms ease !important; }
.case-dot:hover { background: var(--ss-border) !important; }
.case-dot-active { background: var(--ss-accent) !important; }

.cases-nav { display: flex !important; gap: 0.5rem !important; }
.cases-nav-btn { width: 36px !important; height: 36px !important; border-radius: 6px !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; transition: border-color 150ms ease !important; }
.cases-nav-btn:hover { border-color: var(--ss-border) !important; }
.cases-nav-btn svg { width: 16px !important; height: 16px !important; color: var(--ss-text-muted) !important; }

@media (max-width: 600px) {
  .case-card { padding: 1.5rem !important; }
  .case-title { font-size: 1.15rem !important; }
  .cases-track { min-height: auto !important; }
}


/* === CTA + WPFORMS === */

.section-cta {
  background: var(--ss-bg) !important;
  border-top: 1px solid rgba(180, 83, 9, 0.2) !important;
  box-shadow: 0 -8px 25px rgba(180, 83, 9, 0.06) !important;
  padding: 5rem 0 !important; width: 100vw !important;
  margin-left: 50% !important; transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-cta .section-container {
  max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important;
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important; align-items: start !important;
}

.section-cta .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

.cta-content { display: flex !important; flex-direction: column !important; }
.cta-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.2 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.cta-subhead { font-size: 1.1rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; }

@media (max-width: 900px) { .section-cta .section-container { grid-template-columns: 1fr !important; gap: 2rem !important; } }
.cta-secondary { display: flex !important; flex-direction: column !important; gap: 1.5rem !important; }
.cta-card-secondary { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.cta-card-icon { width: 48px !important; height: 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: var(--ss-surface) !important; border-radius: 12px !important; }
.cta-card-icon svg { width: 24px !important; height: 24px !important; color: var(--ss-accent) !important; }
.cta-card-secondary h3 { font-size: 1.1rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 !important; }
.cta-card-secondary p { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 !important; }
.cta-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0.5rem !important; padding: 0.75rem 1.5rem !important; border-radius: 8px !important; font-size: 0.95rem !important; font-weight: 600 !important; text-decoration: none !important; cursor: pointer !important; transition: all 150ms ease !important; border: none !important; }
.cta-button-secondary { background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; color: var(--ss-text) !important; align-self: flex-start !important; }
.cta-button-secondary:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }

/* WPForms shared */
.cta-form-wrapper .wpforms-container, .cta-form .wpforms-container, .contact-form-wrapper .wpforms-container, .partners-form-wrapper .wpforms-container { margin: 0 !important; padding: 0 !important; }
.cta-form-wrapper .wpforms-form, .cta-form .wpforms-form, .contact-form-wrapper .wpforms-form, .partners-form-wrapper .wpforms-form { margin: 0 !important; }
.cta-form-wrapper .wpforms-field-label, .cta-form .wpforms-field-label, .contact-form-wrapper .wpforms-field-label, .partners-form-wrapper .wpforms-field-label { font-size: 0.85rem !important; font-weight: 600 !important; color: var(--ss-text-muted) !important; margin-bottom: 0.25rem !important; }

.cta-form-wrapper .wpforms-field input, .cta-form-wrapper .wpforms-field textarea,
.cta-form .wpforms-field input, .cta-form .wpforms-field textarea,
.contact-form-wrapper .wpforms-field input, .contact-form-wrapper .wpforms-field textarea,
.partners-form-wrapper .wpforms-field input, .partners-form-wrapper .wpforms-field textarea {
  width: 100% !important; padding: 0.75rem 1rem !important;
  background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important;
  border-radius: 8px !important; font-size: 0.95rem !important;
  color: var(--ss-text) !important; box-sizing: border-box !important;
  transition: border-color 150ms ease, box-shadow 150ms ease !important;
}
.cta-form-wrapper .wpforms-field input::placeholder, .cta-form .wpforms-field input::placeholder, .contact-form-wrapper .wpforms-field input::placeholder, .partners-form-wrapper .wpforms-field input::placeholder,
.cta-form-wrapper .wpforms-field textarea::placeholder, .cta-form .wpforms-field textarea::placeholder, .contact-form-wrapper .wpforms-field textarea::placeholder, .partners-form-wrapper .wpforms-field textarea::placeholder { color: var(--ss-text) !important; opacity: 1 !important; }
.cta-form-wrapper .wpforms-field input:focus, .cta-form-wrapper .wpforms-field textarea:focus,
.cta-form .wpforms-field input:focus, .cta-form .wpforms-field textarea:focus,
.contact-form-wrapper .wpforms-field input:focus, .contact-form-wrapper .wpforms-field textarea:focus,
.partners-form-wrapper .wpforms-field input:focus, .partners-form-wrapper .wpforms-field textarea:focus { outline: none !important; border-color: var(--ss-accent) !important; box-shadow: 0 0 0 3px rgba(180, 83, 9, 0.1) !important; }
.cta-form-wrapper .wpforms-field textarea, .cta-form .wpforms-field textarea, .contact-form-wrapper .wpforms-field textarea, .partners-form-wrapper .wpforms-field textarea { min-height: 100px !important; resize: vertical !important; }

.cta-form-wrapper .wpforms-submit, .cta-form .wpforms-submit, .contact-form-wrapper .wpforms-submit, .partners-form-wrapper .wpforms-submit {
  width: 100% !important; padding: 1rem 1.5rem !important;
  background: linear-gradient(135deg, var(--ss-accent) 0%, var(--ss-accent) 100%) !important;
  border: none !important; border-radius: 8px !important;
  font-size: 1rem !important; font-weight: 600 !important;
  color: var(--ss-text) !important; cursor: pointer !important;
  transition: transform 150ms ease, box-shadow 150ms ease !important;
}
.cta-form-wrapper .wpforms-submit:hover, .cta-form .wpforms-submit:hover, .contact-form-wrapper .wpforms-submit:hover, .partners-form-wrapper .wpforms-submit:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(180, 83, 9, 0.3) !important; }

#wpforms-95 .wpforms-field-container { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1rem !important; width: 100% !important; }
#wpforms-95 .wpforms-field-container .wpforms-field { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }
#wpforms-95-field_1-container { grid-column: 1 !important; grid-row: 1 !important; }
#wpforms-95-field_2-container { grid-column: 2 !important; grid-row: 1 !important; }
#wpforms-95-field_3-container { grid-column: 1 !important; grid-row: 2 !important; }
#wpforms-95-field_4-container { grid-column: 2 !important; grid-row: 2 !important; }
#wpforms-95-field_5-container { grid-column: 1 / -1 !important; grid-row: 3 !important; }
#wpforms-95-field_6-container, #wpforms-95-field_7-container { display: none !important; }
#wpforms-95 .wpforms-field input,
#wpforms-95 .wpforms-field textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
#wpforms-95 .wpforms-submit-container { grid-column: 1 / -1 !important; }

#wpforms-122-field_5-container, #wpforms-122-field_6-container { display: none !important; }
#wpforms-122 .wpforms-field-sublabel, #wpforms-122 .wpforms-field-label { display: none !important; }
#wpforms-122-field_1-container fieldset { width: 100% !important; padding: 0 !important; margin: 0 !important; border: none !important; }
#wpforms-122 .wpforms-field-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1rem !important; width: 100% !important; }
#wpforms-122 .wpforms-field-row.wpforms-field-medium { max-width: 100% !important; }
#wpforms-122 .wpforms-field-row-block { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }
#wpforms-122 .wpforms-field-row-block input { width: 100% !important; }
#wpforms-122 .wpforms-field input.wpforms-field-medium, #wpforms-122 .wpforms-field textarea.wpforms-field-medium { width: 100% !important; max-width: 100% !important; }

.cta-newsletter-form .wpforms-field-label, .footer-newsletter-form .wpforms-field-label { display: none !important; }
.cta-newsletter-form .wpforms-field input, .footer-newsletter-form .wpforms-field input {
  width: 100% !important; padding: 0.75rem 1rem !important;
  background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important;
  border-radius: 8px !important; font-size: 0.95rem !important;
  color: var(--ss-text) !important; box-sizing: border-box !important;
}
.cta-newsletter-form .wpforms-field input::placeholder, .footer-newsletter-form .wpforms-field input::placeholder { color: var(--ss-text-muted) !important; }
.cta-newsletter-form .wpforms-field input:focus, .footer-newsletter-form .wpforms-field input:focus { outline: none !important; border-color: var(--ss-accent) !important; }
.cta-newsletter-form .wpforms-submit, .footer-newsletter-form .wpforms-submit {
  width: 100% !important; padding: 0.75rem 1.5rem !important;
  background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important;
  border-radius: 8px !important; font-size: 0.95rem !important;
  font-weight: 600 !important; color: var(--ss-text) !important; cursor: pointer !important;
}
.cta-newsletter-form .wpforms-submit:hover, .footer-newsletter-form .wpforms-submit:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }

@media (max-width: 900px) { .cta-layout { grid-template-columns: 1fr !important; } }
@media (max-width: 600px) {
  #wpforms-95 .wpforms-field-container { grid-template-columns: 1fr !important; }
  #wpforms-95-field_1-container,
  #wpforms-95-field_2-container,
  #wpforms-95-field_3-container,
  #wpforms-95-field_4-container,
  #wpforms-95-field_5-container { grid-column: 1 !important; grid-row: auto !important; }
  #wpforms-95 .wpforms-submit-container { grid-column: 1 !important; }
  #wpforms-122 .wpforms-field-row { grid-template-columns: 1fr !important; }
}


/* === TEAM === */

.section-team { background: var(--ss-surface) !important; padding: 4rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-team .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.team-header { text-align: center !important; max-width: 700px !important; margin: 0 auto 3rem auto !important; }
.team-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--ss-text) !important; margin: 0 !important; }
.founder-card { display: grid !important; grid-template-columns: 280px 1fr !important; gap: 3rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 16px !important; padding: 2rem !important; max-width: 900px !important; margin: 0 auto !important; }
.founder-image { width: 100% !important; aspect-ratio: 1/1 !important; border-radius: 12px !important; overflow: hidden !important; background: var(--ss-surface) !important; }
.founder-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.founder-content { display: flex !important; flex-direction: column !important; gap: 1.5rem !important; }
.founder-intro h3 { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 !important; }
.founder-title { font-size: 1rem !important; font-weight: 500 !important; color: var(--ss-accent) !important; }
.founder-bio p { font-size: 1rem !important; line-height: 1.7 !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.founder-links { display: flex !important; gap: 1rem !important; margin-top: auto !important; }
.founder-link { display: inline-flex !important; align-items: center !important; gap: 0.5rem !important; padding: 0.5rem 1rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 8px !important; color: var(--ss-text-muted) !important; text-decoration: none !important; font-size: 0.9rem !important; font-weight: 500 !important; transition: border-color 150ms ease, color 150ms ease !important; }
.founder-link:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }
.founder-link svg { width: 18px !important; height: 18px !important; }
@media (max-width: 700px) { .founder-card { grid-template-columns: 1fr !important; text-align: center !important; } .founder-image { max-width: 200px !important; margin: 0 auto !important; } .founder-links { justify-content: center !important; } }


/* === ABOUT / CONTACT === */

.section-about { background: var(--ss-bg) !important; padding: 4rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-about .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.about-header { text-align: center !important; max-width: 700px !important; margin: 0 auto 3rem auto !important; }
.about-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--ss-text) !important; margin: 0 !important; }
.about-layout { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 3rem !important; align-items: start !important; }
.about-content { display: flex !important; flex-direction: column !important; gap: 2rem !important; }
.about-mission h3, .about-values h3 { font-size: 1.25rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 0.75rem 0 !important; }
.about-mission p { font-size: 1rem !important; line-height: 1.7 !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.about-details { display: flex !important; gap: 2rem !important; padding: 1.5rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 12px !important; }
.about-detail h4 { font-size: 0.75rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: var(--ss-text-muted) !important; margin: 0 0 0.25rem 0 !important; }
.about-detail p { font-size: 1rem !important; font-weight: 600 !important; color: var(--ss-text) !important; margin: 0 !important; }
.values-list { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 1rem !important; margin: 0 !important; padding: 0 !important; }
.values-list li { display: flex !important; flex-direction: column !important; gap: 2px !important; padding-left: 1.5rem !important; position: relative !important; }
.values-list li::before { content: '→' !important; position: absolute !important; left: 0 !important; color: var(--ss-accent) !important; font-weight: 600 !important; }
.values-list li strong { font-size: 1rem !important; font-weight: 600 !important; color: var(--ss-text) !important; }
.values-list li span { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; line-height: 1.5 !important; }
.about-contact { position: sticky !important; top: 2rem !important; }

.about-founder { display: flex !important; align-items: center !important; gap: 1.25rem !important; padding: 1.5rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 12px !important; }
.about-founder-img { width: 80px !important; height: 80px !important; border-radius: 50% !important; overflow: hidden !important; flex-shrink: 0 !important; }
.about-founder-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.about-founder-info { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.about-founder-info h3 { font-size: 1.15rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 !important; }
.about-founder-title { font-size: 0.9rem !important; font-weight: 500 !important; color: var(--ss-accent) !important; }
.about-founder-linkedin { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-top: 4px !important; font-size: 0.85rem !important; font-weight: 500 !important; color: var(--ss-text-muted) !important; text-decoration: none !important; transition: color 150ms ease !important; }
.about-founder-linkedin:hover { color: var(--ss-accent) !important; }
.about-founder-linkedin svg { width: 16px !important; height: 16px !important; }

.contact-card { background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 16px !important; padding: 2rem !important; }
.contact-card h3 { font-size: 1.35rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 0.5rem 0 !important; }
.contact-card > p { font-size: 1rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 0 1.5rem 0 !important; }
.contact-direct { text-align: center !important; padding-top: 1.5rem !important; border-top: 1px solid var(--ss-border) !important; }
.contact-direct p { font-size: 0.85rem !important; color: var(--ss-text-muted) !important; margin: 0 0 0.5rem 0 !important; }
.contact-email { font-size: 1rem !important; font-weight: 600 !important; color: var(--ss-accent) !important; text-decoration: none !important; }
.contact-email:hover { color: var(--ss-text) !important; }
@media (max-width: 900px) { .about-layout { grid-template-columns: 1fr !important; } .about-contact { position: static !important; } }
@media (max-width: 500px) { .about-details { flex-direction: column !important; gap: 1rem !important; } }


/* === FOOTER === */

/* Footer is a direct child of #page (Astra wrapper) and spans the full viewport.
   Padding sits on .section-footer directly; no inner max-width wrapper. */
.section-footer { background: var(--ss-surface) !important; padding: 4rem 3rem 1.5rem 3rem !important; width: 100% !important; box-sizing: border-box !important; border-top: 1px solid var(--ss-border) !important; }
.footer-layout { display: grid !important; grid-template-columns: 1fr 2fr !important; gap: 3rem !important; padding-bottom: 3rem !important; border-bottom: 1px solid var(--ss-surface) !important; }
.footer-brand { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.footer-logo img { height: 32px !important; width: auto !important; }
.footer-tagline { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 !important; }
.footer-social { display: flex !important; gap: 0.75rem !important; margin-top: 0.5rem !important; }
.footer-social a { display: flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 8px !important; color: var(--ss-text-muted) !important; transition: border-color 150ms ease, color 150ms ease !important; }
.footer-social a:hover { border-color: var(--ss-accent) !important; color: var(--ss-accent) !important; }
.footer-social svg { width: 18px !important; height: 18px !important; }
.footer-nav { display: flex !important; gap: 3rem !important; }
.footer-nav-column h4, .footer-nav-group h4 { font-size: 0.8rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.footer-nav-column ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.footer-nav-column a, .footer-nav-link { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; text-decoration: none !important; transition: color 150ms ease !important; display: block !important; }
.footer-nav-column a:hover, .footer-nav-link:hover { color: var(--ss-accent) !important; }
.footer-nav-group { display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.footer-nav-title { font-size: 0.8rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: var(--ss-text) !important; margin: 0 0 0.5rem 0 !important; }
.footer-bottom { display: flex !important; justify-content: space-between !important; align-items: center !important; padding-top: 1.5rem !important; }
.footer-bottom p { font-size: 0.85rem !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.footer-copyright { font-size: 0.85rem !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.footer-legal { display: flex !important; gap: 1.5rem !important; }
.footer-legal a { font-size: 0.85rem !important; color: var(--ss-text-muted) !important; text-decoration: none !important; }
.footer-legal a:hover { color: var(--ss-accent) !important; }
/* Astra's default footer is replaced site-wide by astra-child/footer.php. */
@media (max-width: 900px) { .footer-layout { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .footer-layout { grid-template-columns: 1fr !important; gap: 2rem !important; } .footer-nav { flex-wrap: wrap !important; gap: 2rem !important; } .footer-bottom { flex-direction: column !important; gap: 1rem !important; text-align: center !important; } }


/* === DESIGN PARTNERS PAGE === */

.section-design-partners { background: var(--ss-bg) !important; padding: 6rem 0 4rem 0 !important; min-height: 100vh !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-design-partners .section-container { max-width: 1000px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.partners-header { text-align: center !important; max-width: 700px !important; margin: 0 auto 3rem auto !important; }
.partners-headline { font-size: clamp(2rem, 5vw, 3rem) !important; font-weight: 800 !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.partners-subhead { font-size: 1.15rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 !important; }
.partners-layout { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2rem !important; align-items: start !important; }
.partners-value, .partners-ideal { background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 12px !important; padding: 1.5rem !important; }
.partners-value h3, .partners-ideal h3 { font-size: 1.1rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.value-list, .ideal-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }
.value-list li, .ideal-list li { font-size: 0.95rem !important; color: var(--ss-text-muted) !important; padding-left: 1.5rem !important; position: relative !important; line-height: 1.5 !important; }
.value-list li::before { content: '✓' !important; position: absolute !important; left: 0 !important; color: #10b981 !important; font-weight: 600 !important; }
.ideal-list li::before { content: '→' !important; position: absolute !important; left: 0 !important; color: var(--ss-accent) !important; font-weight: 600 !important; }
.value-list li strong, .ideal-list li strong { color: var(--ss-text) !important; }
.partners-form-card { background: var(--ss-surface) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 16px !important; padding: 2rem !important; position: sticky !important; top: 100px !important; }
.partners-form-card h3 { font-size: 1.35rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 0.5rem 0 !important; }
.partners-form-card > p { font-size: 0.95rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 0 1.5rem 0 !important; }
@media (max-width: 800px) { .partners-layout { grid-template-columns: 1fr !important; } .partners-form-card { position: static !important; } }


/* === BLOG LISTING === */

body.blog, body.archive, body.category { background-color: var(--ss-bg) !important; }
body.blog .site-content, body.blog .site-content .ast-container, body.archive .site-content, body.archive .site-content .ast-container { background-color: var(--ss-bg) !important; }
body.blog article, body.blog .type-post, body.archive article, body.archive .type-post { background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 16px !important; overflow: hidden !important; max-width: 500px !important; }
body.blog article *, body.archive article * { background-color: transparent !important; }
body.blog article.post, body.archive article.post { background: var(--ss-surface) !important; }
body.blog article:hover, body.archive article:hover { border-color: var(--ss-accent) !important; transform: translateY(-4px) !important; }
body.blog article img, body.archive article img { background: var(--ss-text) !important; width: 100% !important; height: auto !important; display: block !important; }
body.blog .entry-header, body.blog .entry-summary, body.blog .entry-content, body.archive .entry-header, body.archive .entry-content { padding: 1.25rem 1.5rem !important; }
body.blog .cat-links a, body.archive .cat-links a { color: var(--ss-accent) !important; font-size: 0.75rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; text-decoration: none !important; }
body.blog .entry-title, body.blog .entry-title a, body.archive .entry-title, body.archive .entry-title a { color: var(--ss-text) !important; font-size: 1.35rem !important; font-weight: 700 !important; line-height: 1.3 !important; text-decoration: none !important; display: block !important; margin: 0 0 0.75rem 0 !important; }
body.blog .entry-title a:hover, body.archive .entry-title a:hover { color: var(--ss-accent) !important; }
body.blog .entry-meta, body.blog .entry-meta *, body.archive .entry-meta, body.archive .entry-meta * { color: var(--ss-accent) !important; font-size: 0.85rem !important; text-decoration: none !important; }
body.blog .entry-content p, body.blog .entry-summary p, body.archive .entry-content p, body.archive .entry-summary p { color: var(--ss-text-muted) !important; font-size: 0.95rem !important; line-height: 1.6 !important; margin: 0.75rem 0 !important; }
body.blog .more-link, body.archive .more-link { color: var(--ss-accent) !important; font-weight: 600 !important; text-decoration: none !important; }
body.blog #secondary, body.archive #secondary { display: none !important; }
body.blog #primary, body.archive #primary { width: 100% !important; }
body.blog .site-content .ast-container, body.archive .site-content .ast-container { max-width: 1200px !important; padding: 2rem 1.5rem !important; }


/* === SINGLE POST === */

body.single-post { background-color: var(--ss-bg) !important; }
body.single-post .site-content { background-color: var(--ss-bg) !important; }
body.single-post .site-content .ast-container { max-width: 800px !important; margin: 0 auto !important; padding: 2rem 1.5rem 4rem !important; }
body.single-post #secondary { display: none !important; }
body.single-post #primary { width: 100% !important; max-width: 100% !important; }
body.single-post article, body.single-post .ast-article-single, body.single-post .ast-article-inner { background: transparent !important; }
body.single-post .entry-title { color: var(--ss-accent) !important; font-size: clamp(2rem, 5vw, 2.75rem) !important; font-weight: 800 !important; line-height: 1.2 !important; margin-bottom: 1rem !important; }
body.single-post .cat-links a { color: var(--ss-accent) !important; font-size: 0.8rem !important; font-weight: 600 !important; text-transform: uppercase !important; text-decoration: none !important; }
body.single-post .entry-meta, body.single-post .entry-meta a { color: var(--ss-accent) !important; font-size: 0.9rem !important; text-decoration: none !important; }
body.single-post .entry-content p { color: var(--ss-text) !important; font-size: 1.1rem !important; line-height: 1.8 !important; margin-bottom: 1.5rem !important; }
body.single-post .entry-content h2 { color: var(--ss-text) !important; font-size: 1.75rem !important; font-weight: 700 !important; margin-top: 2.5rem !important; margin-bottom: 1rem !important; }
body.single-post .entry-content h3 { color: var(--ss-text) !important; font-size: 1.35rem !important; font-weight: 700 !important; margin-top: 2rem !important; margin-bottom: 0.75rem !important; }
body.single-post .entry-content h4 { color: var(--ss-text) !important; font-size: 1.15rem !important; font-weight: 600 !important; margin-top: 1.5rem !important; margin-bottom: 0.5rem !important; }
body.single-post .entry-content a { color: var(--ss-accent) !important; text-decoration: none !important; }
body.single-post .entry-content a:hover { border-bottom: 1px solid var(--ss-accent) !important; }
body.single-post .entry-content strong { color: var(--ss-text) !important; }
body.single-post .entry-content ul, body.single-post .entry-content ol { color: var(--ss-text) !important; margin-bottom: 1.5rem !important; padding-left: 1.5rem !important; }
body.single-post .entry-content li { color: var(--ss-text) !important; margin-bottom: 0.5rem !important; line-height: 1.7 !important; }
body.single-post .entry-content blockquote { border-left: 3px solid var(--ss-accent) !important; padding-left: 1.5rem !important; margin: 2rem 0 !important; background: transparent !important; }
body.single-post .entry-content blockquote p { color: var(--ss-text-muted) !important; font-style: italic !important; }
body.single-post .entry-content pre { background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 8px !important; padding: 1.5rem !important; overflow-x: auto !important; margin: 1.5rem 0 !important; }
body.single-post .entry-content pre code { background: transparent !important; color: var(--ss-text) !important; font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important; font-size: 0.85rem !important; line-height: 1.6 !important; padding: 0 !important; }
body.single-post .entry-content code:not(pre code) { background: var(--ss-border) !important; color: var(--ss-accent) !important; padding: 0.125rem 0.375rem !important; border-radius: 4px !important; font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important; font-size: 0.9em !important; }
body.single-post .entry-content hr { border: none !important; border-top: 1px solid var(--ss-border) !important; margin: 3rem 0 !important; }
body.single-post .entry-content img { border-radius: 8px !important; max-width: 100% !important; height: auto !important; }
body.single-post .entry-content table { width: 100% !important; border-collapse: collapse !important; margin: 1.5rem 0 !important; }
body.single-post .entry-content th { background: var(--ss-surface) !important; color: var(--ss-text) !important; font-weight: 600 !important; border: 1px solid var(--ss-border) !important; padding: 0.75rem !important; }
body.single-post .entry-content td { color: var(--ss-text) !important; border: 1px solid var(--ss-border) !important; padding: 0.75rem !important; }
body.single-post .entry-footer { margin-top: 3rem !important; padding-top: 2rem !important; border-top: 1px solid var(--ss-border) !important; }
body.single-post .tags-links a { color: var(--ss-text-muted) !important; font-size: 0.85rem !important; text-decoration: none !important; }
body.single-post .tags-links a:hover { color: var(--ss-accent) !important; }


/* === MOBILE MENU === */

@media (max-width: 921px) {
  .ast-mobile-popup-drawer, .ast-mobile-popup-content, .ast-mobile-popup-inner, #ast-mobile-popup, .ast-mobile-header-content, .ast-builder-menu-mobile, .ast-builder-menu, .main-header-menu, .ast-nav-menu, .ast-mobile-popup-drawer .main-navigation, .ast-mobile-header-wrap { background: var(--ss-bg) !important; }
  .ast-mobile-popup-drawer *, .ast-mobile-popup-content *, #ast-mobile-popup * { background-color: transparent !important; }
  .ast-mobile-popup-drawer, .ast-mobile-popup-content { background: var(--ss-bg) !important; }
  .ast-mobile-popup-drawer .menu-item a, .ast-mobile-popup-content .menu-item a, .ast-builder-menu-mobile .menu-item a, #ast-mobile-popup .menu-item a { color: var(--ss-text) !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid var(--ss-border) !important; display: block !important; font-size: 1rem !important; font-weight: 500 !important; background: transparent !important; }
  .ast-mobile-popup-drawer .menu-item a:hover, .ast-mobile-popup-content .menu-item a:hover { color: var(--ss-accent) !important; background: rgba(180, 83, 9, 0.1) !important; }
  .ast-mobile-popup-drawer .current-menu-item > a, .ast-mobile-popup-content .current-menu-item > a { color: var(--ss-accent) !important; }
  .site-header, header.site-header, #masthead, .ast-primary-header, .main-header-bar, .ast-mobile-header-wrap .ast-main-header-wrap { z-index: 99999 !important; background: rgba(255, 255, 255, 0.96) !important; }
  .ast-mobile-menu-trigger-minimal, .ast-button-wrap .ast-mobile-menu-trigger-minimal { color: var(--ss-text) !important; }
  .ast-mobile-menu-trigger-minimal svg, .ast-mobile-svg { fill: var(--ss-text) !important; }
  .ast-mobile-menu-buttons { color: var(--ss-text) !important; }
}


/* === DROPDOWN MENU === */

.sub-menu, .ast-nav-menu .sub-menu { background: var(--ss-bg) !important; border: 1px solid var(--ss-border) !important; border-radius: 8px !important; padding: 0.5rem 0 !important; min-width: 180px !important; }
.sub-menu .menu-item a, .ast-nav-menu .sub-menu .menu-item a { padding: 0.5rem 1.25rem !important; font-size: 0.85rem !important; color: var(--ss-text-muted) !important; }
.sub-menu .menu-item a:hover { color: var(--ss-accent) !important; background: rgba(180, 83, 9, 0.05) !important; }


/* === PROVENANCE: HOW IT WORKS === */

.section-provenance-how { background: #000000 !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-provenance-how .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.provenance-how-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.provenance-how-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.provenance-how-subhead { font-size: 1.05rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; }
.section-provenance-how .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 1.5rem !important; }
.provenance-how-diagram { max-width: 1100px !important; margin: 0 auto !important; }
.provenance-how-diagram svg { width: 100% !important; height: auto !important; display: block !important; }
@media (max-width: 768px) { .provenance-how-diagram { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; } .provenance-how-diagram svg { min-width: 800px !important; } }

/* === PATHFINDER: HOW IT WORKS === */

.section-pathfinder-how { background: #000000 !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-pathfinder-how .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.pathfinder-how-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.pathfinder-how-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.pathfinder-how-subhead { font-size: 1.05rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; }
.section-pathfinder-how .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 1.5rem !important; }
.pathfinder-how-diagram { max-width: 1100px !important; margin: 0 auto !important; border-radius: 12px !important; overflow: hidden !important; border: 1px solid var(--ss-surface) !important; }

/* PathFinder Dashboard */
.pf-dashboard { display: grid !important; grid-template-columns: 200px 1fr 240px !important; grid-template-rows: 40px 1fr 28px !important; height: 600px !important; font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important; font-size: 11px !important; color: var(--ss-text) !important; background: var(--ss-surface) !important; }
.pf-topbar { grid-column: 1 / -1 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0 14px !important; background: var(--ss-bg) !important; border-bottom: 1px solid var(--ss-surface) !important; }
.pf-topbar-left { display: flex !important; align-items: center !important; gap: 10px !important; }
.pf-topbar-logo { font-size: 12px !important; font-weight: 700 !important; color: var(--ss-accent) !important; letter-spacing: 0.05em !important; }
.pf-topbar-divider { width: 1px !important; height: 16px !important; background: var(--ss-surface) !important; }
.pf-topbar-title { font-size: 10px !important; color: var(--ss-text-muted) !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.pf-topbar-right { display: flex !important; align-items: center !important; gap: 12px !important; }
.pf-topbar-status { display: flex !important; align-items: center !important; gap: 5px !important; font-size: 10px !important; color: var(--ss-text-muted) !important; }
.pf-status-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #10b981 !important; animation: pfPulse 2s ease-in-out infinite !important; }
@keyframes pfPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.pf-topbar-btn { padding: 3px 8px !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.2) !important; border-radius: 3px !important; color: var(--ss-accent) !important; font-size: 9px !important; font-weight: 600 !important; cursor: pointer !important; font-family: inherit !important; letter-spacing: 0.05em !important; }
.pf-sidebar { background: var(--ss-bg) !important; border-right: 1px solid var(--ss-surface) !important; padding: 10px 0 !important; display: flex !important; flex-direction: column !important; gap: 2px !important; overflow-y: auto !important; }
.pf-sidebar-section { padding: 6px 12px !important; }
.pf-sidebar-label { font-size: 8px !important; color: var(--ss-border) !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; margin-bottom: 6px !important; }
.pf-sidebar-item { display: flex !important; align-items: center !important; gap: 6px !important; padding: 4px 8px !important; border-radius: 3px !important; font-size: 10px !important; color: var(--ss-text-muted) !important; cursor: pointer !important; }
.pf-sidebar-item-active { background: rgba(180, 83, 9, 0.06) !important; color: var(--ss-accent) !important; }
.pf-sidebar-icon { width: 12px !important; height: 12px !important; border-radius: 2px !important; flex-shrink: 0 !important; }
.pf-icon-host { background: #1e40af !important; border: 1px solid #3b82f6 !important; }
.pf-icon-policy { background: #065f46 !important; border: 1px solid #10b981 !important; }
.pf-icon-finding { background: #7f1d1d !important; border: 1px solid #ef4444 !important; }
.pf-icon-control { background: #4c1d95 !important; border: 1px solid #8b5cf6 !important; }
.pf-sidebar-badge { margin-left: auto !important; font-size: 8px !important; padding: 1px 4px !important; border-radius: 2px !important; font-weight: 600 !important; }
.pf-badge-pass { background: rgba(16, 185, 129, 0.1) !important; color: #10b981 !important; }
.pf-badge-fail { background: rgba(239, 68, 68, 0.1) !important; color: #ef4444 !important; }
.pf-badge-count { background: var(--ss-surface) !important; color: var(--ss-text-muted) !important; }
.pf-graph-canvas { position: relative !important; background: var(--ss-surface) !important; overflow: hidden !important; }
.pf-graph-grid { position: absolute !important; inset: 0 !important; background-image: radial-gradient(circle at 1px 1px, var(--ss-bg) 1px, transparent 0) !important; background-size: 28px 28px !important; opacity: 0.6 !important; }
.pf-node { position: absolute !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 4px !important; cursor: pointer !important; transition: transform 150ms ease !important; }
.pf-node:hover { transform: scale(1.08) !important; }
.pf-node:hover .pf-node-ring { box-shadow: 0 0 20px var(--glow) !important; }
.pf-node-ring { width: 44px !important; height: 44px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 2px solid var(--color) !important; background: var(--bg) !important; box-shadow: 0 0 8px var(--glow) !important; transition: box-shadow 150ms ease !important; }
.pf-node-ring svg { width: 18px !important; height: 18px !important; color: var(--color) !important; }
.pf-node-label { font-size: 8px !important; color: var(--ss-text-muted) !important; text-align: center !important; max-width: 80px !important; line-height: 1.3 !important; }
.pf-node-sublabel { font-size: 7px !important; color: var(--ss-border) !important; }
.pf-node-selected .pf-node-ring { box-shadow: 0 0 24px var(--glow), 0 0 48px var(--glow) !important; }
.pf-edges-layer { position: absolute !important; inset: 0 !important; pointer-events: none !important; }
.pf-edge { stroke-width: 1.5 !important; fill: none !important; opacity: 0.4 !important; }
.pf-edge-active { opacity: 0.8 !important; stroke-dasharray: 6 4 !important; animation: pfFlowDash 1.5s linear infinite !important; }
@keyframes pfFlowDash { to { stroke-dashoffset: -20; } }
.pf-detail-panel { background: var(--ss-bg) !important; border-left: 1px solid var(--ss-surface) !important; padding: 12px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; overflow-y: auto !important; }
.pf-detail-header { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.pf-detail-type { font-size: 8px !important; color: var(--ss-accent) !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; }
.pf-detail-title { font-size: 13px !important; font-weight: 700 !important; color: #fff !important; }
.pf-detail-id { font-size: 9px !important; color: var(--ss-border) !important; }
.pf-detail-section { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.pf-detail-section-title { font-size: 8px !important; color: var(--ss-border) !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding-bottom: 3px !important; border-bottom: 1px solid var(--ss-surface) !important; }
.pf-detail-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 2px 0 !important; }
.pf-detail-key { font-size: 9px !important; color: var(--ss-text-muted) !important; }
.pf-detail-value { font-size: 9px !important; color: var(--ss-text-muted) !important; font-weight: 500 !important; }
.pf-detail-value-pass { color: #10b981 !important; }
.pf-detail-value-fail { color: #ef4444 !important; }
.pf-detail-value-hash { font-size: 8px !important; color: var(--ss-border) !important; word-break: break-all !important; }
.pf-detail-evidence { padding: 6px !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 4px !important; font-size: 8px !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; }
.pf-ev-key { color: var(--ss-accent) !important; }
.pf-ev-val { color: var(--ss-text-muted) !important; }
.pf-ev-pass { color: #10b981 !important; }
.pf-detail-controls { display: flex !important; flex-wrap: wrap !important; gap: 3px !important; }
.pf-control-tag { padding: 1px 5px !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 2px !important; font-size: 8px !important; color: #8b5cf6 !important; }
.pf-posture-bar { display: flex !important; flex-direction: column !important; gap: 3px !important; }
.pf-posture-track { height: 4px !important; background: var(--ss-surface) !important; border-radius: 2px !important; overflow: hidden !important; }
.pf-posture-fill { height: 100% !important; border-radius: 2px !important; background: linear-gradient(90deg, #ef4444, #f59e0b, #10b981) !important; }
.pf-posture-labels { display: flex !important; justify-content: space-between !important; }
.pf-posture-score { font-size: 10px !important; font-weight: 700 !important; color: #f59e0b !important; }
.pf-posture-total { font-size: 8px !important; color: var(--ss-border) !important; }
.pf-bottombar { grid-column: 1 / -1 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0 14px !important; background: var(--ss-bg) !important; border-top: 1px solid var(--ss-surface) !important; font-size: 8px !important; color: var(--ss-border) !important; }
.pf-bottombar-left { display: flex !important; gap: 12px !important; }
.pf-bottombar-item { display: flex !important; align-items: center !important; gap: 3px !important; }
.pf-legend-dot { width: 5px !important; height: 5px !important; border-radius: 50% !important; }
@media (max-width: 768px) { .pathfinder-how-diagram { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; } .pf-dashboard { min-width: 900px !important; } }

/* === PROOFLAYER: HOW IT WORKS === */

.section-prooflayer-how { background: #000000 !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-prooflayer-how .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.prooflayer-how-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.prooflayer-how-headline { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.prooflayer-how-subhead { font-size: 1.05rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; }
.section-prooflayer-how .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 1.5rem !important; }
.pl-arch { max-width: 1100px !important; margin: 0 auto !important; font-family: 'Inter', -apple-system, sans-serif !important; }
.pl-zone { border: 1px solid var(--ss-surface) !important; border-radius: 12px !important; padding: 24px !important; position: relative !important; margin-bottom: 0 !important; background: var(--ss-bg) !important; }
.pl-zt { position: absolute !important; top: -9px !important; left: 22px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 9px !important; font-weight: 600 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; padding: 2px 10px !important; border-radius: 4px !important; background: #000000 !important; }
.pl-z-policy { border-color: rgba(199,123,46,0.2) !important; }
.pl-z-policy .pl-zt { color: #c77b2e !important; border: 1px solid rgba(199,123,46,0.25) !important; }
.pl-z-endpoint { border-color: rgba(217,91,63,0.2) !important; }
.pl-z-endpoint .pl-zt { color: #d95b3f !important; border: 1px solid rgba(217,91,63,0.25) !important; }
.pl-z-iam { border-color: rgba(184,150,62,0.18) !important; }
.pl-z-iam .pl-zt { color: #b8963e !important; border: 1px solid rgba(184,150,62,0.25) !important; }
.pl-z-platform { border-color: rgba(48,129,208,0.2) !important; }
.pl-z-platform .pl-zt { color: #3081d0 !important; border: 1px solid rgba(48,129,208,0.3) !important; }
.pl-z-consumer { border-color: rgba(126,100,184,0.2) !important; }
.pl-z-consumer .pl-zt { color: #7e64b8 !important; border: 1px solid rgba(126,100,184,0.25) !important; }
.pl-row { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.pl-nd { background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 10px !important; padding: 16px 18px !important; flex: 1 !important; min-width: 200px !important; max-width: 480px !important; }
.pl-nd-h { display: flex !important; flex-direction: column !important; gap: 2px !important; margin-bottom: 6px !important; }
.pl-nd-n { font-weight: 600 !important; font-size: 13px !important; color: var(--ss-text) !important; }
.pl-nd-s { font-family: 'JetBrains Mono', monospace !important; font-size: 10px !important; color: var(--ss-text-muted) !important; }
.pl-nd-d { font-size: 11.5px !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; }
.pl-nd-list { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.pl-nd-list span { font-size: 11.5px !important; color: var(--ss-text-muted) !important; }
.pl-c-policy { border-left: 3px solid #c77b2e !important; }
.pl-c-daemon { border-left: 3px solid #d95b3f !important; }
.pl-c-iam { border-left: 3px solid #b8963e !important; }
.pl-c-evidence { border-left: 3px solid #2aa88a !important; }
.pl-c-data { border-left: 3px solid #3d8f5e !important; }
.pl-c-consumer { border-left: 3px solid #7e64b8 !important; }
.pl-bg { display: inline-block !important; font-family: 'JetBrains Mono', monospace !important; font-size: 9px !important; padding: 2px 7px !important; border-radius: 3px !important; margin-top: 8px !important; letter-spacing: 0.3px !important; }
.pl-bg-policy { color: #c77b2e !important; background: rgba(199,123,46,0.1) !important; border: 1px solid rgba(199,123,46,0.2) !important; }
.pl-bg-daemon { color: #d95b3f !important; background: rgba(217,91,63,0.1) !important; border: 1px solid rgba(217,91,63,0.2) !important; }
.pl-bg-iam { color: #b8963e !important; background: rgba(184,150,62,0.1) !important; border: 1px solid rgba(184,150,62,0.2) !important; }
.pl-bg-evidence { color: #2aa88a !important; background: rgba(42,168,138,0.1) !important; border: 1px solid rgba(42,168,138,0.2) !important; }
.pl-bg-data { color: #3d8f5e !important; background: rgba(61,143,94,0.1) !important; border: 1px solid rgba(61,143,94,0.2) !important; }
.pl-bg-consumer { color: #7e64b8 !important; background: rgba(126,100,184,0.1) !important; border: 1px solid rgba(126,100,184,0.2) !important; }
.pl-conn { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 4px 0 !important; }
.pl-conn-label { font-family: 'JetBrains Mono', monospace !important; font-size: 9px !important; color: var(--ss-text-muted) !important; background: #000000 !important; padding: 2px 8px !important; border-radius: 3px !important; border: 1px solid var(--ss-surface) !important; text-align: center !important; line-height: 1.4 !important; }
.pl-conn-label em { font-style: normal !important; color: #2aa88a !important; }
.pl-conn-line { width: 2px !important; height: 16px !important; background: var(--ss-border) !important; position: relative !important; }
.pl-conn-line::after { content: '' !important; position: absolute !important; bottom: -4px !important; left: 50% !important; transform: translateX(-50%) !important; border-left: 4px solid transparent !important; border-right: 4px solid transparent !important; border-top: 5px solid var(--ss-border) !important; }
.pl-conn-bi::before { content: '' !important; position: absolute !important; top: -4px !important; left: 50% !important; transform: translateX(-50%) !important; border-left: 4px solid transparent !important; border-right: 4px solid transparent !important; border-bottom: 5px solid var(--ss-border) !important; }
.pl-plat-grid { display: grid !important; grid-template-columns: 1fr 1px 1fr !important; gap: 20px !important; }
.pl-plat-div { background: var(--ss-surface) !important; }
.pl-plat-col { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.pl-plat-col-title { font-family: 'JetBrains Mono', monospace !important; font-size: 9px !important; font-weight: 600 !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; color: var(--ss-text-muted) !important; margin-bottom: 4px !important; }
.pl-pm { background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 7px !important; padding: 10px 14px !important; }
.pl-pm-n { font-weight: 600 !important; font-size: 11px !important; color: #3081d0 !important; margin-bottom: 2px !important; }
.pl-pm-d { font-size: 10px !important; color: var(--ss-text-muted) !important; line-height: 1.5 !important; }
.pl-pm-evidence .pl-pm-n { color: #2aa88a !important; }
@media (max-width: 768px) { .pl-plat-grid { grid-template-columns: 1fr !important; } .pl-plat-div { display: none !important; } .pl-row { flex-direction: column !important; } .pl-nd { max-width: 100% !important; } }

/* === CONTACT PAGE === */

.section-contact-page { background: var(--ss-bg) !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-contact-page .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.contact-page-layout { display: grid !important; grid-template-columns: 1fr 1.2fr !important; gap: 4rem !important; align-items: start !important; }
.contact-page-text { display: flex !important; flex-direction: column !important; gap: 1.5rem !important; }
.section-contact-page .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 0 !important; align-self: flex-start !important; }
.contact-page-headline { font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 700 !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 0 !important; }
.contact-page-subhead { font-size: 1.05rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; max-width: 440px !important; }
.contact-page-direct { margin-top: 1rem !important; }
.contact-page-item { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.contact-page-label { font-size: 0.75rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: var(--ss-text-muted) !important; }
.contact-page-link { font-size: 1rem !important; font-weight: 600 !important; color: var(--ss-accent) !important; text-decoration: none !important; }
.contact-page-link:hover { color: var(--ss-text) !important; }
.contact-page-form .wpforms-field-label { color: var(--ss-text) !important; }
@media (max-width: 900px) { .contact-page-layout { grid-template-columns: 1fr !important; gap: 2.5rem !important; } }

/* === PRIVACY POLICY PAGE === */

.section-privacy { background: var(--ss-bg) !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-privacy .section-container { max-width: 800px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.privacy-header { margin-bottom: 3rem !important; }
.section-privacy .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 1.5rem !important; }
.privacy-headline { font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 700 !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 0 0 0.5rem 0 !important; }
.privacy-updated { font-size: 0.9rem !important; color: var(--ss-text-muted) !important; margin: 0 !important; }
.privacy-content { display: flex !important; flex-direction: column !important; gap: 2.5rem !important; }
.privacy-section h3 { font-size: 1.25rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 0.75rem 0 !important; }
.privacy-section p { font-size: 1rem !important; line-height: 1.8 !important; color: var(--ss-text-muted) !important; margin: 0 0 0.75rem 0 !important; }
.privacy-section p:last-child { margin-bottom: 0 !important; }
.privacy-section a { color: var(--ss-accent) !important; text-decoration: none !important; }
.privacy-section a:hover { color: var(--ss-text) !important; }

/* === SOLUTIONS PAGE === */

.section-solutions { background: var(--ss-bg) !important; padding: 5rem 0 !important; width: 100vw !important; margin-left: 50% !important; transform: translateX(-50%) !important; box-sizing: border-box !important; }
.section-solutions .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.solutions-header { text-align: center !important; max-width: 700px !important; margin: 0 auto 3rem auto !important; }
.section-solutions .section-eyebrow { display: inline-block !important; padding: 0.3rem 1.1rem !important; background: rgba(180, 83, 9, 0.08) !important; border: 1px solid rgba(180, 83, 9, 0.3) !important; border-radius: 3px !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; color: var(--ss-accent) !important; margin-bottom: 1.5rem !important; }
.solutions-headline { font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 700 !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important; }
.solutions-subhead { font-size: 1.05rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; }
.solutions-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.5rem !important; }
.solutions-card { display: flex !important; flex-direction: column !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-surface) !important; border-radius: 12px !important; padding: 2rem !important; text-decoration: none !important; transition: border-color 200ms ease, transform 200ms ease !important; }
.solutions-card:hover { border-color: var(--ss-border) !important; transform: translateY(-4px) !important; }
.solutions-card h3 { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--ss-text) !important; margin: 0 0 0.75rem 0 !important; }
.solutions-card p { font-size: 0.95rem !important; color: var(--ss-text-muted) !important; line-height: 1.7 !important; margin: 0 !important; flex: 1 !important; }
.solutions-card-eyebrow { font-size: 0.65rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; margin-bottom: 0.75rem !important; }
.solutions-card-eyebrow-red { color: #ef4444 !important; }
.solutions-card-eyebrow-teal { color: var(--ss-accent) !important; }
.solutions-card-eyebrow-blue { color: #3b82f6 !important; }
.solutions-card-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 1.25rem !important; }
.solutions-card-tags span { font-size: 0.7rem !important; font-weight: 600 !important; padding: 3px 8px !important; border-radius: 3px !important; background: rgba(255,255,255,0.04) !important; color: var(--ss-text-muted) !important; border: 1px solid var(--ss-surface) !important; }
.solutions-card-link { display: inline-block !important; margin-top: 1.5rem !important; font-size: 0.9rem !important; font-weight: 600 !important; color: var(--ss-accent) !important; transition: color 150ms ease !important; }
.solutions-card:hover .solutions-card-link { color: var(--ss-text) !important; }
@media (max-width: 900px) { .solutions-grid { grid-template-columns: 1fr !important; max-width: 520px !important; margin: 0 auto !important; } }


/* === PROOFLAYER: HERO === */

.section-pl-hero {
  min-height: calc(100vh - 70px) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 6rem 1.5rem 4rem !important;
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.85) 100%),
    url('https://scanset.io/wp-content/uploads/2026/02/Screenshot-2026-02-14-115704.webp') center/cover no-repeat !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
  text-align: center !important;
}
.section-pl-hero .section-container { max-width: 820px !important; margin: 0 auto !important; }

.pl-hero-content { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 1.5rem !important; }

.section-pl-hero .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 0 !important;
}

.pl-hero-headline {
  font-size: clamp(2.5rem, 5.5vw, 3.75rem) !important;
  font-weight: 700 !important; line-height: 1.08 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}

.pl-hero-subhead {
  font-size: clamp(1rem, 1.6vw, 1.15rem) !important;
  line-height: 1.75 !important; color: var(--ss-text-muted) !important;
  max-width: 680px !important; margin: 0 !important;
}

.pl-hero-cta-group {
  display: flex !important; gap: 0.75rem !important;
  flex-wrap: wrap !important; justify-content: center !important;
  margin-top: 0.5rem !important;
}


/* === PROOFLAYER: REFRAME === */

.section-pl-reframe {
  background: var(--ss-bg) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pl-reframe .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.pl-reframe-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.pl-reframe-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pl-reframe-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.section-pl-reframe .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

.pl-reframe-visual {
  max-width: 1100px !important; margin: 0 auto !important;
  border-radius: 12px !important; overflow: hidden !important;
  border: 1px solid var(--ss-surface) !important;
}
.pl-reframe-visual img {
  width: 100% !important; height: auto !important;
  display: block !important;
}


/* === PROOFLAYER: CAPABILITIES === */

.section-pl-capabilities {
  background: var(--ss-surface) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pl-capabilities .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pl-capabilities .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

/* Beat 1 — Value Prop */
.pl-cap-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 4rem auto !important; }
.pl-cap-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1.25rem 0 !important;
}
.pl-cap-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.75 !important; margin: 0 !important;
}

/* Beat 2 — Stream + Cards */
.pl-cap-stream { max-width: 1100px !important; margin: 0 auto !important; }
.pl-cap-stream-headline {
  font-size: 1.35rem !important; font-weight: 700 !important;
  color: var(--ss-text) !important; text-align: center !important;
  margin: 0 0 2rem 0 !important;
}

.pl-cap-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
}

.pl-cap-card {
  background: var(--ss-bg) !important; border: 1px solid var(--ss-surface) !important;
  border-radius: 12px !important; padding: 1.75rem !important;
  display: flex !important; flex-direction: column !important; gap: 0.75rem !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
}
.pl-cap-card:hover {
  border-color: rgba(180, 83, 9, 0.3) !important;
  transform: translateY(-3px) !important;
}

.pl-cap-card-icon {
  width: 44px !important; height: 44px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(180, 83, 9, 0.06) !important;
  border: 1px solid rgba(180, 83, 9, 0.15) !important;
  border-radius: 10px !important;
}
.pl-cap-card-icon svg { width: 22px !important; height: 22px !important; color: var(--ss-accent) !important; }

.pl-cap-card h4 {
  font-size: 1.1rem !important; font-weight: 700 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}
.pl-cap-card p {
  font-size: 0.9rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.65 !important; margin: 0 !important;
}

.pl-cap-kicker {
  text-align: center !important; font-size: 1.05rem !important;
  color: var(--ss-text-muted) !important; line-height: 1.7 !important;
  margin: 2.5rem auto 0 auto !important; max-width: 680px !important;
}
.pl-cap-kicker strong { color: var(--ss-text) !important; }

@media (max-width: 900px) {
  .pl-cap-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .pl-cap-grid { grid-template-columns: 1fr !important; }
}


/* === PROOFLAYER: CTA === */

.section-pl-cta {
  background: var(--ss-bg) !important;
  border-top: 1px solid rgba(180, 83, 9, 0.2) !important;
  box-shadow: 0 -8px 25px rgba(180, 83, 9, 0.06) !important;
  padding: 5rem 0 !important; width: 100vw !important;
  margin-left: 50% !important; transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-pl-cta .section-container { max-width: 720px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pl-cta .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}

.pl-cta-header {
  text-align: center !important; max-width: 620px !important;
  margin: 0 auto 3rem auto !important;
}
.pl-cta-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pl-cta-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.pl-cta-form {
  max-width: 620px !important; margin: 0 auto !important;
}


/* === PROVENANCE: HERO === */

.section-pv-hero {
  min-height: calc(100vh - 70px) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 6rem 1.5rem 4rem !important;
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.85) 100%),
    url('https://scanset.io/wp-content/uploads/2026/02/Screenshot-2026-02-14-115704.webp') center/cover no-repeat !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
  text-align: center !important;
}
.section-pv-hero .section-container { max-width: 820px !important; margin: 0 auto !important; }

.pv-hero-content { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 1.5rem !important; }

.section-pv-hero .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #ef4444 !important;
  margin-bottom: 0 !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.1) !important;
}

.pv-hero-headline {
  font-size: clamp(2.5rem, 5.5vw, 3.75rem) !important;
  font-weight: 700 !important; line-height: 1.08 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}

.pv-hero-subhead {
  font-size: clamp(1rem, 1.6vw, 1.15rem) !important;
  line-height: 1.75 !important; color: var(--ss-text-muted) !important;
  max-width: 680px !important; margin: 0 !important;
}

.pv-hero-cta-group {
  display: flex !important; gap: 0.75rem !important;
  flex-wrap: wrap !important; justify-content: center !important;
  margin-top: 0.5rem !important;
}


/* === PROVENANCE: REFRAME === */

.section-pv-reframe {
  background: var(--ss-bg) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pv-reframe .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.pv-reframe-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.pv-reframe-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pv-reframe-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.section-pv-reframe .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #ef4444 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.1) !important;
}

.pv-reframe-visual {
  max-width: 1100px !important; margin: 0 auto !important;
  border-radius: 12px !important; overflow: hidden !important;
  border: 1px solid var(--ss-surface) !important;
}
.pv-reframe-visual img {
  width: 100% !important; height: auto !important;
  display: block !important;
}


/* === PROVENANCE: CAPABILITIES === */

.section-pv-capabilities {
  background: var(--ss-surface) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pv-capabilities .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pv-capabilities .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #ef4444 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.1) !important;
}

.pv-cap-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 4rem auto !important; }
.pv-cap-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1.25rem 0 !important;
}
.pv-cap-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.75 !important; margin: 0 !important;
}

.pv-cap-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important; max-width: 1100px !important; margin: 0 auto !important;
}

.pv-cap-card {
  background: var(--ss-bg) !important; border: 1px solid var(--ss-surface) !important;
  border-radius: 12px !important; padding: 1.75rem !important;
  display: flex !important; flex-direction: column !important; gap: 0.75rem !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
}
.pv-cap-card:hover {
  border-color: rgba(239, 68, 68, 0.3) !important;
  transform: translateY(-3px) !important;
}

.pv-cap-card-icon {
  width: 44px !important; height: 44px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(239, 68, 68, 0.06) !important;
  border: 1px solid rgba(239, 68, 68, 0.15) !important;
  border-radius: 10px !important;
}
.pv-cap-card-icon svg { width: 22px !important; height: 22px !important; color: #ef4444 !important; }

.pv-cap-card h4 {
  font-size: 1.1rem !important; font-weight: 700 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}
.pv-cap-card p {
  font-size: 0.9rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.65 !important; margin: 0 !important;
}

.pv-cap-kicker {
  text-align: center !important; font-size: 1.05rem !important;
  color: var(--ss-text-muted) !important; line-height: 1.7 !important;
  margin: 2.5rem auto 0 auto !important; max-width: 680px !important;
}
.pv-cap-kicker strong { color: var(--ss-text) !important; }

@media (max-width: 900px) {
  .pv-cap-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .pv-cap-grid { grid-template-columns: 1fr !important; }
}


/* === PROVENANCE: CTA === */

.section-pv-cta {
  background: var(--ss-bg) !important;
  border-top: 1px solid rgba(239, 68, 68, 0.2) !important;
  box-shadow: 0 -8px 25px rgba(239, 68, 68, 0.06) !important;
  padding: 5rem 0 !important; width: 100vw !important;
  margin-left: 50% !important; transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-pv-cta .section-container { max-width: 720px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pv-cta .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #ef4444 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.1) !important;
}

.pv-cta-header {
  text-align: center !important; max-width: 620px !important;
  margin: 0 auto 3rem auto !important;
}
.pv-cta-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pv-cta-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.pv-cta-form {
  max-width: 620px !important; margin: 0 auto !important;
}


/* === PATHFINDER: HERO === */

.section-pf-hero {
  min-height: calc(100vh - 70px) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 6rem 1.5rem 4rem !important;
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.85) 100%),
    url('https://scanset.io/wp-content/uploads/2026/02/Screenshot-2026-02-14-115704.webp') center/cover no-repeat !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
  text-align: center !important;
}
.section-pf-hero .section-container { max-width: 820px !important; margin: 0 auto !important; }

.pf-hero-content { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 1.5rem !important; }

.section-pf-hero .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #3b82f6 !important;
  margin-bottom: 0 !important;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.1) !important;
}

.pf-hero-headline {
  font-size: clamp(2.5rem, 5.5vw, 3.75rem) !important;
  font-weight: 700 !important; line-height: 1.08 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}

.pf-hero-subhead {
  font-size: clamp(1rem, 1.6vw, 1.15rem) !important;
  line-height: 1.75 !important; color: var(--ss-text-muted) !important;
  max-width: 680px !important; margin: 0 !important;
}

.pf-hero-cta-group {
  display: flex !important; gap: 0.75rem !important;
  flex-wrap: wrap !important; justify-content: center !important;
  margin-top: 0.5rem !important;
}


/* === PATHFINDER: REFRAME === */

.section-pf-reframe {
  background: var(--ss-bg) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pf-reframe .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.pf-reframe-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 3rem auto !important; }
.pf-reframe-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pf-reframe-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.section-pf-reframe .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #3b82f6 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.1) !important;
}

.pf-reframe-visual {
  max-width: 1100px !important; margin: 0 auto !important;
  border-radius: 12px !important; overflow: hidden !important;
  border: 1px solid var(--ss-surface) !important;
}
.pf-reframe-visual img {
  width: 100% !important; height: auto !important;
  display: block !important;
}


/* === PATHFINDER: CAPABILITIES === */

.section-pf-capabilities {
  background: var(--ss-surface) !important; padding: 5rem 0 !important;
  width: 100vw !important; margin-left: 50% !important;
  transform: translateX(-50%) !important; box-sizing: border-box !important;
}
.section-pf-capabilities .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pf-capabilities .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #3b82f6 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.1) !important;
}

.pf-cap-header { text-align: center !important; max-width: 760px !important; margin: 0 auto 4rem auto !important; }
.pf-cap-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1.25rem 0 !important;
}
.pf-cap-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.75 !important; margin: 0 !important;
}

.pf-cap-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important; max-width: 1100px !important; margin: 0 auto !important;
}

.pf-cap-card {
  background: var(--ss-bg) !important; border: 1px solid var(--ss-surface) !important;
  border-radius: 12px !important; padding: 1.75rem !important;
  display: flex !important; flex-direction: column !important; gap: 0.75rem !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
}
.pf-cap-card:hover {
  border-color: rgba(59, 130, 246, 0.3) !important;
  transform: translateY(-3px) !important;
}

.pf-cap-card-icon {
  width: 44px !important; height: 44px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(59, 130, 246, 0.06) !important;
  border: 1px solid rgba(59, 130, 246, 0.15) !important;
  border-radius: 10px !important;
}
.pf-cap-card-icon svg { width: 22px !important; height: 22px !important; color: #3b82f6 !important; }

.pf-cap-card h4 {
  font-size: 1.1rem !important; font-weight: 700 !important;
  color: var(--ss-text) !important; margin: 0 !important;
}
.pf-cap-card p {
  font-size: 0.9rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.65 !important; margin: 0 !important;
}

.pf-cap-kicker {
  text-align: center !important; font-size: 1.05rem !important;
  color: var(--ss-text-muted) !important; line-height: 1.7 !important;
  margin: 2.5rem auto 0 auto !important; max-width: 680px !important;
}
.pf-cap-kicker strong { color: var(--ss-text) !important; }

@media (max-width: 900px) {
  .pf-cap-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .pf-cap-grid { grid-template-columns: 1fr !important; }
}


/* === PATHFINDER: CTA === */

.section-pf-cta {
  background: var(--ss-bg) !important;
  border-top: 1px solid rgba(59, 130, 246, 0.2) !important;
  box-shadow: 0 -8px 25px rgba(59, 130, 246, 0.06) !important;
  padding: 5rem 0 !important; width: 100vw !important;
  margin-left: 50% !important; transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-pf-cta .section-container { max-width: 720px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.section-pf-cta .section-eyebrow {
  display: inline-block !important; padding: 0.3rem 1.1rem !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  border-radius: 3px !important; font-size: 0.7rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; color: #3b82f6 !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.1) !important;
}

.pf-cta-header {
  text-align: center !important; max-width: 620px !important;
  margin: 0 auto 3rem auto !important;
}
.pf-cta-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.pf-cta-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}

.pf-cta-form {
  max-width: 620px !important; margin: 0 auto !important;
}

/* ============================================================
   SECTION: REFRAME — "The Compounding Problem"
   Light-bg section between Problem and ScanSet Approach.
   Calls out AI-narrative compliance tools; reframes the
   automation target as security work, not paperwork.
   ============================================================ */
.section-reframe {
  background: var(--ss-bg) !important;
  padding: 6rem 2rem 5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.section-reframe .section-container {
  max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important;
}
.reframe-header {
  text-align: center !important; max-width: 820px !important; margin: 0 auto 3rem auto !important;
}
.reframe-header .section-eyebrow {
  display: inline-block !important;
  padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important;
  font-size: 0.7rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.15em !important;
  color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}
.reframe-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important; line-height: 1.2 !important;
  color: var(--ss-text) !important; margin: 0 0 1rem 0 !important;
}
.reframe-subhead {
  font-size: 1.05rem !important; color: var(--ss-text-muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
}
.reframe-items {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 1000px !important;
  margin: 3rem auto 0 !important;
}
.reframe-item {
  padding: 1.5rem !important;
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 8px !important;
  display: flex !important; flex-direction: column !important; gap: 0.75rem !important;
  transition: border-color 150ms ease, transform 150ms ease !important;
}
.reframe-item:hover {
  border-color: var(--ss-accent) !important;
  transform: translateY(-2px) !important;
}
.reframe-item strong {
  color: var(--ss-text) !important;
  font-size: 1.05rem !important; font-weight: 700 !important; line-height: 1.3 !important;
}
.reframe-item span {
  color: var(--ss-text-muted) !important;
  font-size: 0.95rem !important; line-height: 1.6 !important;
}
@media (max-width: 900px) { .reframe-items { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) {
  .reframe-items { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .section-reframe { padding: 4rem 1.5rem 3rem !important; }
}


/* ============================================================
   SECTION: APPROACH ("The ScanSet Approach")
   Dark punch section. Animated 6-stage SVG pipeline +
   6 stage detail cards + closing callout.
   ============================================================ */
.section-approach {
  background: #000000 !important;
  padding: 6rem 0 5rem !important;
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  border-top: 1px solid rgba(180, 83, 9, 0.4) !important;
  border-bottom: 1px solid rgba(180, 83, 9, 0.4) !important;
}
.section-approach .section-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}

.approach-header {
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto 4rem auto !important;
}
.approach-header .section-eyebrow {
  display: inline-block !important;
  padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}
.approach-headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--ss-text) !important;
  margin: 0 0 1rem 0 !important;
  letter-spacing: -0.01em !important;
}
.approach-subhead {
  font-size: 1.05rem !important;
  color: var(--ss-text-muted) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* === SVG PIPELINE ANIMATION === */
.approach-pipeline {
  max-width: 1100px !important;
  margin: 0 auto 4rem auto !important;
  padding: 0 1rem !important;
}
.approach-pipeline-svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}
.approach-pipeline-svg text {
  font-family: var(--ss-font-sans) !important;
}
.approach-pipeline-svg .pipeline-line {
  stroke: var(--ss-border) !important;
  stroke-width: 2 !important;
  stroke-dasharray: 4 4 !important;
  opacity: 0.6 !important;
}
.approach-pipeline-svg .node-circle {
  fill: var(--ss-surface) !important;
  stroke: rgba(180, 83, 9, 0.25) !important;
  stroke-width: 2 !important;
}
.approach-pipeline-svg .node-num {
  fill: var(--ss-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: var(--ss-font-mono) !important;
  letter-spacing: 0.05em !important;
}
.approach-pipeline-svg .node-label {
  fill: var(--ss-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.approach-pipeline-svg .pipeline-dot {
  fill: var(--ss-accent) !important;
  filter: drop-shadow(0 0 8px rgba(180, 83, 9, 0.9)) !important;
}

/* Stagger node pulses with positive delays so they sync with the
   traveling dot (8s total cycle, dot reaches each stage at 0, 1.6, 3.2, 4.8, 6.4, 7.95s). */
.approach-pipeline-svg .node-1 .node-circle { animation: approach-node-pulse 8s linear infinite 0s; }
.approach-pipeline-svg .node-2 .node-circle { animation: approach-node-pulse 8s linear infinite 1.6s; }
.approach-pipeline-svg .node-3 .node-circle { animation: approach-node-pulse 8s linear infinite 3.2s; }
.approach-pipeline-svg .node-4 .node-circle { animation: approach-node-pulse 8s linear infinite 4.8s; }
.approach-pipeline-svg .node-5 .node-circle { animation: approach-node-pulse 8s linear infinite 6.4s; }
.approach-pipeline-svg .node-6 .node-circle { animation: approach-node-pulse 8s linear infinite 7.95s; }
@keyframes approach-node-pulse {
  0%, 9%   { stroke: var(--ss-accent); stroke-width: 3; filter: drop-shadow(0 0 6px rgba(180, 83, 9, 0.7)); }
  18%, 100% { stroke: rgba(180, 83, 9, 0.25); stroke-width: 2; filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  .approach-pipeline-svg .node-circle { animation: none !important; stroke: rgba(180, 83, 9, 0.5) !important; }
  .approach-pipeline-svg .pipeline-dot animate { display: none !important; }
  .approach-pipeline-svg .pipeline-dot { display: none !important; }
}

/* === 6 STAGE DETAIL CARDS === */
.approach-stages {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto 3rem auto !important;
}
.approach-stage {
  padding: 1.5rem !important;
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
}
.approach-stage:hover {
  border-color: rgba(180, 83, 9, 0.6) !important;
  transform: translateY(-2px) !important;
}
.approach-stage-header {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.75rem !important;
  margin-bottom: 0.25rem !important;
}
.approach-stage-num {
  font-family: var(--ss-font-mono) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--ss-accent) !important;
  letter-spacing: 0.1em !important;
}
.approach-stage-name {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ss-text) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.approach-stage-sublabel {
  font-size: 0.85rem !important;
  color: var(--ss-accent) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.approach-stage-body {
  font-size: 0.93rem !important;
  color: var(--ss-text-muted) !important;
  line-height: 1.65 !important;
  margin: 0.5rem 0 0 0 !important;
}
.approach-stage-body strong {
  color: var(--ss-text) !important;
  font-weight: 600 !important;
}

/* === CLOSING CALLOUT === */
.approach-callout {
  text-align: center !important;
  max-width: 920px !important;
  margin: 4rem auto 0 auto !important;
  padding: 2rem 1.5rem !important;
  border-top: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-bottom: 1px solid rgba(180, 83, 9, 0.3) !important;
}
.approach-callout p {
  font-size: clamp(1.15rem, 2.5vw, 1.45rem) !important;
  font-weight: 600 !important;
  color: var(--ss-text) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 900px) {
  .approach-stages { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 700px) {
  .approach-pipeline-svg { display: none !important; }
}
@media (max-width: 600px) {
  .approach-stages { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .section-approach { padding: 4rem 0 3rem !important; }
}


/* ============================================================
   PLATFORM SECTION — 6-tab override (3 roles + 3 capabilities)
   Reuses .platform-tab / .platform-panel from the original 3-tab
   markup; this block adds: 2-row grid for the tab bar, stacked
   title-over-role-tag layout in each tab, and a CTA card below.
   ============================================================ */
.section-platform .platform-tab-nav {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0.25rem !important;
  border-bottom: 1px solid var(--ss-border) !important;
}
.section-platform .platform-tab {
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.25rem !important;
  padding: 1rem 0.75rem !important;
  border-bottom: 3px solid transparent !important;
  background: transparent !important;
  text-align: center !important;
  cursor: pointer !important;
  white-space: normal !important;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease !important;
}
.section-platform .platform-tab:hover {
  background: rgba(180, 83, 9, 0.04) !important;
}
.platform-tab-title {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--ss-text) !important;
  line-height: 1.3 !important;
}
.platform-tab-role {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--ss-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.section-platform .platform-tab-active .platform-tab-title { color: var(--ss-accent) !important; }
.section-platform .platform-tab-active .platform-tab-role  { color: var(--ss-accent) !important; opacity: 0.85 !important; }

/* CTA card below the tab panels */
.platform-cta {
  text-align: center !important;
  margin: 3rem auto 0 auto !important;
  padding: 2rem 1.5rem !important;
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 12px !important;
  max-width: 720px !important;
}
.platform-cta h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--ss-text) !important;
  margin: 0 0 0.5rem 0 !important;
}
.platform-cta p {
  font-size: 1rem !important;
  color: var(--ss-text-muted) !important;
  margin: 0 0 1.25rem 0 !important;
}
.platform-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.7rem 1.5rem !important;
  background: var(--ss-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ss-accent) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  transition: background 150ms ease, border-color 150ms ease !important;
}
.platform-cta-button:hover {
  background: var(--ss-accent-hover) !important;
  border-color: var(--ss-accent-hover) !important;
  color: #FFFFFF !important;
}

@media (max-width: 800px) {
  .section-platform .platform-tab-nav { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
  .section-platform .platform-tab-nav { grid-template-columns: 1fr !important; }
}


/* ============================================================
   AMBER-section carousel controls (Use Cases + Research)
   The carousel dots and nav arrows sit on the amber bg, not
   inside the cards. Hardcode contrast for white-on-amber.
   ============================================================ */
.section-cases .case-dot,
.section-resources .case-dot {
  background: rgba(255, 255, 255, 0.4) !important;
}
.section-cases .case-dot:hover,
.section-resources .case-dot:hover {
  background: rgba(255, 255, 255, 0.7) !important;
}
.section-cases .case-dot-active,
.section-resources .case-dot-active {
  background: #FFFFFF !important;
}
.section-cases .cases-nav-btn,
.section-resources .cases-nav-btn {
  background: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
}
.section-cases .cases-nav-btn:hover,
.section-resources .cases-nav-btn:hover {
  border-color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.92) !important;
}
.section-cases .cases-nav-btn svg,
.section-resources .cases-nav-btn svg {
  color: var(--ss-accent) !important;
}


/* ============================================================
   Resource download link (inside resource cards on amber section)
   Sits on the warm off-white card. Picks up dark text from the
   nested card scope; hover flips to amber accent.
   ============================================================ */
.resource-download-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: 0.75rem !important;
  padding: 0.6rem 1.25rem !important;
  background: transparent !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 6px !important;
  color: var(--ss-text) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease !important;
  align-self: flex-start !important;
}
.resource-download-link:hover {
  border-color: var(--ss-accent) !important;
  color: var(--ss-accent) !important;
  background: rgba(180, 83, 9, 0.05) !important;
}
.resource-download-link svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}


/* ============================================================
   Article picker (Newfold blog query block) on home page
   Sits below Research & Technical Guidance. Constrain image
   height and title size so it doesn't dominate the section.
   ============================================================ */
.nfd-wb-blog__blog-2 {
  max-width: 1100px !important;
  margin: 4rem auto !important;
  padding: 0 2rem !important;
  background: transparent !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-template {
  gap: 2rem !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-featured-image {
  margin-bottom: 0.75rem !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-featured-image img {
  width: 100% !important;
  max-height: 220px !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  display: block !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-title {
  font-size: 1.1rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  margin: 0.5rem 0 !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-title a {
  color: var(--ss-text) !important;
  text-decoration: none !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-title a:hover {
  color: var(--ss-accent) !important;
}
.nfd-wb-blog__blog-2 .wp-block-post-date,
.nfd-wb-blog__blog-2 .wp-block-post-terms {
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
}


/* ============================================================
   SOLUTIONS PAGE — 2-card grid + beta stamp on non-shipping cards
   With Provenance dropped, the grid is 2-up. PathFinder is shown
   as a non-clickable card with a diagonal "(in beta)" overlay.
   ============================================================ */
.section-solutions .solutions-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* Beta-state card: non-interactive, slightly dimmed, with diagonal stamp */
.solutions-card-beta {
  position: relative !important;
  pointer-events: none !important;
  cursor: default !important;
  opacity: 0.92 !important;
  overflow: hidden !important;
}
.solutions-card-beta::after {
  content: '(early access)' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) rotate(-12deg) !important;
  background: rgba(180, 83, 9, 0.95) !important;
  color: #FFFFFF !important;
  font-family: var(--ss-font-mono) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.65rem 2.5rem !important;
  border-radius: 4px !important;
  border: 2px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35) !important;
  white-space: nowrap !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

@media (max-width: 700px) {
  .section-solutions .solutions-grid { grid-template-columns: 1fr !important; max-width: 480px !important; }
}


/* ============================================================
   PROOFLAYER PAGE — floating left quicknav + placeholder sections

   Sidebar: fixed left, vertically centered, dark glass with
   backdrop blur, 5px rounded. Each item is a dot; label slides
   in from the right on hover OR when that section is active.
   Hidden below 1024px viewport.
   ============================================================ */
.pl-quicknav {
  position: fixed !important;
  left: 1.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(15, 23, 42, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 5px !important;
  padding: 1rem 0.85rem !important;
  z-index: 100 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}
.pl-quicknav ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.1rem !important;
}
.pl-quicknav-item {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
}
.pl-quicknav-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.35) !important;
  transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.pl-quicknav-label {
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) translateX(-6px) !important;
  white-space: nowrap !important;
  padding: 0.3rem 0.7rem !important;
  background: rgba(15, 23, 42, 0.98) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 200ms ease, transform 200ms ease !important;
}
.pl-quicknav-item:hover .pl-quicknav-dot,
.pl-quicknav-item-active .pl-quicknav-dot {
  background: var(--ss-accent) !important;
  transform: scale(1.4) !important;
  box-shadow: 0 0 12px rgba(180, 83, 9, 0.65) !important;
}
.pl-quicknav-item:hover .pl-quicknav-label,
.pl-quicknav-item-active .pl-quicknav-label {
  opacity: 1 !important;
  transform: translateY(-50%) translateX(0) !important;
}

/* Reduce motion: skip scale on active/hover */
@media (prefers-reduced-motion: reduce) {
  .pl-quicknav-item:hover .pl-quicknav-dot,
  .pl-quicknav-item-active .pl-quicknav-dot {
    transform: none !important;
  }
}

/* Hide on tablet and mobile */
@media (max-width: 1024px) {
  .pl-quicknav { display: none !important; }
}

/* === Placeholder sections === */
.section-pl-page {
  min-height: 80vh !important;
  padding: 6rem 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  scroll-margin-top: 70px !important;  /* clear the fixed header on anchor jumps */
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-pl-page .section-container {
  max-width: 820px !important;
  width: 100% !important;
  text-align: center !important;
}
.section-pl-page .section-eyebrow {
  display: inline-block !important;
  padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--ss-accent) !important;
  margin-bottom: 1.5rem !important;
}
.section-pl-page h2 {
  font-size: clamp(2rem, 5vw, 2.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--ss-text) !important;
  margin: 0 0 1rem 0 !important;
  letter-spacing: -0.01em !important;
}
.section-pl-page p {
  font-size: 1.05rem !important;
  color: var(--ss-text-muted) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.section-pl-light {
  background: var(--ss-bg) !important;
}
.section-pl-dark {
  background: #000000 !important;
  --ss-text:        #FAFAF9;
  --ss-text-muted:  #CBD5E1;
  --ss-border:      #1F2937;
  --ss-surface:     #0F172A;
}


/* ProofLayer page hero — bigger type + scroll indicator under the CTAs */
.section-pl-hero {
  min-height: 100vh !important;
  padding-top: 8rem !important;
  padding-bottom: 4rem !important;
  position: relative !important;
}
.section-pl-hero .pl-hero-headline {
  font-size: clamp(2.5rem, 6vw, 4rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--ss-text) !important;
  margin: 0 0 1.25rem 0 !important;
}
.section-pl-hero .pl-hero-subhead {
  font-size: clamp(1.05rem, 1.8vw, 1.2rem) !important;
  line-height: 1.65 !important;
  color: var(--ss-text-muted) !important;
  max-width: 720px !important;
  margin: 0 auto 2rem auto !important;
}
.section-pl-hero .pl-hero-cta-group {
  display: flex !important;
  gap: 0.75rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 4rem !important;
}
.pl-hero-scroll {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: var(--ss-text-muted) !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  transition: color 200ms ease !important;
  position: absolute !important;
  bottom: 2.5rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
.pl-hero-scroll:hover {
  color: var(--ss-accent) !important;
}
.pl-hero-scroll svg {
  animation: pl-bounce 2s ease-in-out infinite !important;
}
@keyframes pl-bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
  .pl-hero-scroll svg { animation: none !important; }
}


/* ============================================================
   PROOFLAYER PAGE — feature sections with alternating L/R layout
   .section-pl-feature: 2-column flex (text + visual), default
   text-left. Add .feature-reverse to flip the order (visual-left,
   text-right). Stacks on mobile.
   ============================================================ */
.section-pl-feature {
  min-height: 70vh !important;
  padding: 6rem 2rem !important;
  display: flex !important;
  align-items: center !important;
  scroll-margin-top: 70px !important;
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}
.section-pl-feature .section-container {
  max-width: 1200px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4rem !important;
  margin: 0 auto !important;
}
.section-pl-feature.feature-reverse .section-container {
  flex-direction: row-reverse !important;
}
.section-pl-feature .feature-text {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}
.section-pl-feature .feature-text .section-eyebrow {
  display: inline-block !important;
  align-self: flex-start !important;
  padding: 0.3rem 1.1rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 3px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--ss-accent) !important;
  margin-bottom: 0.5rem !important;
}
.section-pl-feature .feature-text h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
  color: var(--ss-text) !important;
  margin: 0 !important;
}
.section-pl-feature .feature-text p {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: var(--ss-text-muted) !important;
  margin: 0 !important;
  max-width: 56ch !important;
}
.section-pl-feature .feature-text p.feature-callout {
  margin-top: 0.5rem !important;
  padding: 1rem 1.25rem !important;
  background: rgba(180, 83, 9, 0.08) !important;
  border-left: 3px solid var(--ss-accent) !important;
  border-radius: 0 4px 4px 0 !important;
  font-size: 0.95rem !important;
}
.section-pl-feature .feature-text p.feature-callout strong {
  color: var(--ss-accent) !important;
}
.section-pl-feature .feature-visual {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.feature-gif-placeholder {
  width: 100% !important;
  aspect-ratio: 16/10 !important;
  border: 2px dashed rgba(180, 83, 9, 0.35) !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--ss-font-mono) !important;
  color: var(--ss-text-muted) !important;
  font-size: 0.85rem !important;
  background: var(--ss-surface) !important;
  text-align: center !important;
  padding: 1rem !important;
}

/* Pilot section centered like the hero */
.section-pl-pilot {
  text-align: center !important;
}
.section-pl-pilot .pl-hero-cta-group {
  display: flex !important;
  justify-content: center !important;
  margin-top: 1.5rem !important;
}

@media (max-width: 900px) {
  .section-pl-feature .section-container,
  .section-pl-feature.feature-reverse .section-container {
    flex-direction: column !important;
    gap: 2.5rem !important;
  }
  .section-pl-feature {
    min-height: auto !important;
    padding: 4rem 1.5rem !important;
  }
}


/* Coming Soon badge inline with section eyebrow */
.feature-tag-soon {
  display: inline-block !important;
  margin-left: 0.5rem !important;
  padding: 0.15rem 0.5rem !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--ss-text-muted) !important;
  vertical-align: middle !important;
}


/* ============================================================
   PROOFLAYER PAGE — Open Source section: GitHub link + repo card
   ============================================================ */
.feature-gh-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  align-self: flex-start !important;
  margin-top: 0.5rem !important;
  padding: 0.7rem 1.5rem !important;
  background: var(--ss-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ss-accent) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  transition: background 150ms ease, border-color 150ms ease !important;
}
.feature-gh-link:hover {
  background: var(--ss-accent-hover) !important;
  border-color: var(--ss-accent-hover) !important;
  color: #FFFFFF !important;
}
.feature-gh-link svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

/* GitHub repo card (replaces the GIF placeholder in the visual column) */
.gh-repo-card {
  display: block !important;
  width: 100% !important;
  padding: 1.75rem !important;
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
}
.gh-repo-card:hover {
  border-color: var(--ss-accent) !important;
  transform: translateY(-3px) !important;
}
.gh-repo-card-top {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin-bottom: 0.85rem !important;
}
.gh-repo-card-top svg {
  width: 26px !important;
  height: 26px !important;
  color: var(--ss-text) !important;
  flex-shrink: 0 !important;
}
.gh-repo-card-name {
  font-size: 1.1rem !important;
  color: var(--ss-text-muted) !important;
  font-family: var(--ss-font-mono) !important;
}
.gh-repo-card-name strong {
  color: var(--ss-text) !important;
  font-weight: 700 !important;
}
.gh-repo-card-desc {
  font-size: 0.92rem !important;
  color: var(--ss-text-muted) !important;
  line-height: 1.6 !important;
  margin: 0 0 1.1rem 0 !important;
}
.gh-repo-card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
.gh-repo-card-tag {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  padding: 0.2rem 0.65rem !important;
  background: rgba(180, 83, 9, 0.1) !important;
  border: 1px solid rgba(180, 83, 9, 0.3) !important;
  border-radius: 999px !important;
  color: var(--ss-accent) !important;
  letter-spacing: 0.03em !important;
}


/* ProofLayer feature-section GIFs — match the placeholder framing */
.section-pl-feature .feature-visual img {
  width: 100% !important;
  aspect-ratio: 16/10 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid var(--ss-border) !important;
  display: block !important;
}


/* ============================================================
   Article picker — kill Newfold's dark block theme
   The block carries .is-style-nfd-theme-darker which paints it
   black. Override with higher specificity (body-prefixed) so it
   sits light on the page like the surrounding footer area.
   ============================================================ */
body .nfd-wb-blog__blog-2,
body .nfd-wb-blog__blog-2.is-style-nfd-theme-darker {
  background: var(--ss-bg) !important;
  background-color: var(--ss-bg) !important;
  color: var(--ss-text) !important;
}
body .nfd-wb-blog__blog-2 .wp-block-post-title,
body .nfd-wb-blog__blog-2 .wp-block-post-title a {
  color: var(--ss-text) !important;
}
body .nfd-wb-blog__blog-2 .wp-block-post-date,
body .nfd-wb-blog__blog-2 .wp-block-post-terms,
body .nfd-wb-blog__blog-2 .nfd-text-faded {
  color: var(--ss-text-muted) !important;
}

/* ============================================================
   REDESIGN 2026-06: SECTION SOLUTION (unified platform pillars)
   ============================================================ */
.section-solution {
  background: var(--ss-surface) !important;
  padding: 6rem 2rem 5rem !important;
  width: 100% !important; box-sizing: border-box !important;
}
.section-solution .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.solution-header { text-align: center !important; max-width: 820px !important; margin: 0 auto 3rem auto !important; }
.solution-headline { font-size: var(--ss-text-2xl) !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 1rem 0 1rem !important; font-weight: 800 !important; }
.solution-subhead { font-size: var(--ss-text-base) !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; }
.solution-pillars { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1.25rem !important; max-width: 1100px !important; margin: 3rem auto 0 !important; }
.solution-pillar { padding: 1.5rem !important; background: var(--ss-bg) !important; border: 1px solid var(--ss-border) !important; border-radius: 10px !important; display: flex !important; flex-direction: column !important; gap: 0.6rem !important; }
.solution-pillar-num { font-family: var(--ss-font-mono) !important; font-size: 0.8rem !important; color: var(--ss-accent) !important; font-weight: 700 !important; }
.solution-pillar strong { font-size: var(--ss-text-md) !important; color: var(--ss-text) !important; }
.solution-pillar span { font-size: var(--ss-text-xs) !important; color: var(--ss-text-muted) !important; line-height: 1.55 !important; }
@media (max-width: 900px) { .solution-pillars { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .solution-pillars { grid-template-columns: 1fr !important; } }

/* ============================================================
   REDESIGN 2026-06: SECTION SOLUTIONS LIST (ProofLayer + ProofZT)
   ============================================================ */
.section-solutions-list {
  background: var(--ss-bg) !important;
  padding: 6rem 2rem 5rem !important;
  width: 100% !important; box-sizing: border-box !important;
}
.section-solutions-list .section-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.solutions-list-header { text-align: center !important; max-width: 820px !important; margin: 0 auto 3rem auto !important; }
.solutions-list-headline { font-size: var(--ss-text-2xl) !important; line-height: 1.1 !important; color: var(--ss-text) !important; margin: 1rem 0 0.75rem !important; font-weight: 800 !important; }
.solutions-list-subhead { font-size: var(--ss-text-base) !important; color: var(--ss-text-muted) !important; }
.solutions-list-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important; max-width: 1000px !important; margin: 3rem auto 0 !important; }
.solution-card { padding: 2rem !important; background: var(--ss-surface) !important; border: 1px solid var(--ss-border) !important; border-radius: 14px !important; display: flex !important; flex-direction: column !important; gap: 1rem !important; transition: border-color .2s ease, transform .2s ease !important; }
.solution-card:hover { border-color: var(--ss-accent) !important; transform: translateY(-3px) !important; }
.solution-card-top { display: flex !important; flex-direction: column !important; gap: 0.4rem !important; }
.solution-card-badge { align-self: flex-start !important; font-family: var(--ss-font-mono) !important; font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 0.2rem 0.65rem !important; border-radius: 100px !important; }
.solution-card-badge-live { background: rgba(62,142,65,0.12) !important; color: #2f6f33 !important; border: 1px solid rgba(62,142,65,0.4) !important; }
.solution-card-badge-early { background: rgba(180,83,9,0.1) !important; color: var(--ss-accent) !important; border: 1px solid rgba(180,83,9,0.35) !important; }
.solution-card-name { font-size: var(--ss-text-xl) !important; font-weight: 800 !important; color: var(--ss-text) !important; margin: 0.3rem 0 0 !important; }
.solution-card-tagline { font-family: var(--ss-font-mono) !important; font-size: 0.95rem !important; color: var(--ss-accent) !important; margin: 0 !important; }
.solution-card-body { font-size: var(--ss-text-sm) !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important; margin: 0 !important; }
.solution-card-points { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.solution-card-points li { font-size: var(--ss-text-xs) !important; color: var(--ss-text) !important; padding-left: 1.3rem !important; position: relative !important; line-height: 1.45 !important; }
.solution-card-points li::before { content: '' !important; position: absolute !important; left: 0 !important; top: 0.45em !important; width: 7px !important; height: 7px !important; background: var(--ss-accent) !important; border-radius: 2px !important; }
.solution-card-link { margin-top: auto !important; font-family: var(--ss-font-mono) !important; font-weight: 700 !important; font-size: 0.9rem !important; color: var(--ss-accent) !important; text-decoration: none !important; }
.solution-card-link:hover { color: var(--ss-accent-hover) !important; }
@media (max-width: 768px) { .solutions-list-grid { grid-template-columns: 1fr !important; } }

/* ============================================================
   REDESIGN 2026-06: HERO PROOF-LATTICE WATERMARK
   ============================================================ */
.section-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url(../images/proof-lattice.png?v=3) center center no-repeat !important;
  background-size: cover !important;
  opacity: 0.06 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ============================================================
   REDESIGN 2026-06: SNAP + ROLL + PARALLAX (home only, motion-safe)
   Scoped to html.ss-snap (set by a one-line script on the home page).
   Narrative sections snap + roll; dense sections scroll normally.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  html.ss-snap { scroll-snap-type: y proximity; scroll-behavior: smooth; }

  html.ss-snap .section-hero,
  html.ss-snap .section-problem-statement,
  html.ss-snap .section-reframe,
  html.ss-snap .section-solution,
  html.ss-snap .section-cta {
    scroll-snap-align: center !important;
    min-height: 100vh !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* faint moving backdrop on the non-hero narrative sections (hero has the lattice) */
  html.ss-snap .section-problem-statement::after,
  html.ss-snap .section-reframe::after,
  html.ss-snap .section-solution::after,
  html.ss-snap .section-cta::after {
    content: '' !important;
    position: absolute !important; inset: 0 !important;
    background: url(../images/proof-lattice.png?v=2) center 120% no-repeat !important;
    background-size: min(1100px, 92%) auto !important;
    opacity: 0.07 !important; pointer-events: none !important; z-index: 0 !important;
  }
  html.ss-snap .section-problem-statement .section-container,
  html.ss-snap .section-reframe .section-container,
  html.ss-snap .section-solution .section-container,
  html.ss-snap .section-cta .section-container { position: relative !important; z-index: 1 !important; }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
    /* TEXT: rolls in, holds, rolls out as the section passes through */
    html.ss-snap .section-hero .hero-container,
    html.ss-snap .section-problem-statement .section-container,
    html.ss-snap .section-reframe .section-container,
    html.ss-snap .section-solution .section-container,
    html.ss-snap .section-cta .section-container {
      animation: ssTextRoll linear both !important;
      animation-timeline: view() !important;
      animation-range: entry 4% exit 96% !important;
    }
    @keyframes ssTextRoll {
      0%   { opacity: 0; transform: perspective(1300px) translateY(64px) rotateX(-16deg); }
      20%, 80% { opacity: 1; transform: perspective(1300px) translateY(0) rotateX(0deg); }
      100% { opacity: 0; transform: perspective(1300px) translateY(-64px) rotateX(16deg); }
    }
    /* BACKGROUND: moves faster than the text (parallax) */
    html.ss-snap .section-hero::before,
    html.ss-snap .section-problem-statement::after,
    html.ss-snap .section-reframe::after,
    html.ss-snap .section-solution::after,
    html.ss-snap .section-cta::after {
      animation: ssBgParallax linear both !important;
      animation-timeline: view() !important;
      animation-range: cover !important;
    }
    @keyframes ssBgParallax {
      from { transform: translateY(22%); }
      to   { transform: translateY(-22%); }
    }
  }
}

/* ============================================================
   REDESIGN 2026-06: REFRAME CARDS (custom, not stock)
   ============================================================ */
.section-reframe .reframe-items { gap: 1.75rem !important; }
.section-reframe .reframe-item {
  position: relative !important;
  padding: 2rem 1.75rem 1.85rem !important;
  background: linear-gradient(180deg, var(--ss-surface) 0%, #fcfaf6 100%) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  gap: 0.55rem !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.section-reframe .reframe-item::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 3px !important;
  background: linear-gradient(90deg, var(--ss-accent), rgba(180,83,9,0) 72%) !important;
}
.section-reframe .reframe-item::after {
  content: attr(data-num) !important;
  position: absolute !important; right: 0.5rem !important; bottom: -1.1rem !important;
  font-family: var(--ss-font-mono) !important; font-weight: 800 !important;
  font-size: 5.5rem !important; line-height: 1 !important;
  color: rgba(180, 83, 9, 0.06) !important; pointer-events: none !important; z-index: 0 !important;
}
.section-reframe .reframe-item:hover {
  transform: translateY(-4px) !important;
  border-color: var(--ss-accent) !important;
  box-shadow: 0 14px 32px rgba(180, 83, 9, 0.10) !important;
}
.section-reframe .reframe-ic {
  color: var(--ss-accent) !important;
  background: var(--ss-accent-soft) !important;
  border-radius: 9px !important; padding: 6px !important;
  width: 36px !important; height: 36px !important; box-sizing: border-box !important;
  position: relative !important; z-index: 1 !important;
}
.section-reframe .reframe-item strong {
  display: block !important; font-size: 1.2rem !important; font-weight: 700 !important;
  color: var(--ss-text) !important; position: relative !important; z-index: 1 !important;
  margin-top: 0.35rem !important;
}
.section-reframe .reframe-item > span {
  font-size: 0.95rem !important; color: var(--ss-text-muted) !important; line-height: 1.6 !important;
  position: relative !important; z-index: 1 !important;
}

/* ============================================================
   REDESIGN 2026-06: PROOFZT FLOW DIAGRAM (How It Works)
   ============================================================ */
.section-approach .proofzt-flow-svg {
  width: 100% !important; max-width: 1120px !important; height: auto !important;
  display: block !important; margin: 1.5rem auto 0.5rem !important;
}

/* ============================================================
   REDESIGN 2026-06: FLOW STEP CARDS (How It Works, dark)
   ============================================================ */
.section-approach .flow-steps {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important; max-width: 1120px !important; margin: 2.75rem auto 0 !important;
}
.section-approach .flow-step {
  position: relative !important; padding: 1.75rem 1.4rem 1.6rem !important; border-radius: 14px !important;
  background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 100%) !important;
  border: 1px solid #2a2a2a !important; overflow: hidden !important;
  display: flex !important; flex-direction: column !important; gap: 0.55rem !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.section-approach .flow-step::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 3px !important;
  background: linear-gradient(90deg, #d97706, rgba(217,119,6,0) 72%) !important;
}
.section-approach .flow-step::after {
  content: attr(data-num) !important; position: absolute !important; right: 0.5rem !important; bottom: -1.1rem !important;
  font-family: var(--ss-font-mono) !important; font-weight: 800 !important; font-size: 5rem !important;
  color: rgba(217,119,6,0.07) !important; pointer-events: none !important; z-index: 0 !important;
}
.section-approach .flow-step:hover {
  transform: translateY(-4px) !important; border-color: #d97706 !important;
  box-shadow: 0 14px 34px rgba(217,119,6,0.14) !important;
}
.section-approach .flow-step-ic {
  width: 40px !important; height: 40px !important; padding: 8px !important; box-sizing: border-box !important;
  border-radius: 10px !important; color: #fbbf24 !important; background: rgba(180,83,9,0.16) !important;
  position: relative !important; z-index: 1 !important;
}
.section-approach .flow-step-num {
  font-family: var(--ss-font-mono) !important; font-size: 0.72rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; color: #d97706 !important; margin-top: 0.4rem !important;
  position: relative !important; z-index: 1 !important;
}
.section-approach .flow-step strong {
  display: block !important; font-size: 1.1rem !important; font-weight: 700 !important;
  color: #f5f5f4 !important; position: relative !important; z-index: 1 !important;
}
.section-approach .flow-step .flow-step-body {
  font-size: 0.88rem !important; line-height: 1.55 !important; color: #9ca3af !important;
  position: relative !important; z-index: 1 !important;
}
@media (max-width: 900px) { .section-approach .flow-steps { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .section-approach .flow-steps { grid-template-columns: 1fr !important; } }

/* ============================================================
   REDESIGN 2026-06: CASE + RESOURCE CARD GRIDS
   Replaces the one-at-a-time carousels with all-visible card
   grids. White cards on the amber section, matching the
   reframe/flow card vocabulary (accent bar, hover lift, watermark).
   ============================================================ */
.cases-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 1200px !important; margin: 0 auto !important;
  align-items: stretch !important;
}
.cases-grid.cases-grid-2 {
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 960px !important;
}
.cases-grid .case-card {
  display: flex !important; flex-direction: column !important; gap: 1rem !important;
  position: relative !important;
  padding: 2.1rem 1.8rem 1.9rem !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf7 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(120, 53, 15, 0.14) !important;
  animation: none !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.cases-grid .case-card::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 3px !important;
  background: linear-gradient(90deg, var(--ss-accent), rgba(180, 83, 9, 0) 72%) !important;
}
.cases-grid .case-card::after {
  content: attr(data-num) !important;
  position: absolute !important; right: 0.55rem !important; bottom: -1.2rem !important;
  font-family: var(--ss-font-mono) !important; font-weight: 800 !important;
  font-size: 5.5rem !important; line-height: 1 !important;
  color: rgba(180, 83, 9, 0.07) !important; pointer-events: none !important; z-index: 0 !important;
}
.cases-grid .case-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 44px rgba(120, 53, 15, 0.22) !important;
}
.cases-grid .case-card > * { position: relative !important; z-index: 1 !important; }
.cases-grid .case-title { font-size: 1.2rem !important; }
.cases-grid .case-body { font-size: 0.92rem !important; }
.cases-grid .case-tags { margin-top: auto !important; padding-top: 0.35rem !important; }

/* Resource card: document icon + bottom-aligned download */
.resource-doc-ic {
  width: 46px !important; height: 46px !important; padding: 11px !important; box-sizing: border-box !important;
  border-radius: 12px !important; background: var(--ss-accent-soft) !important; color: var(--ss-accent) !important;
}
.resource-doc-ic svg { width: 100% !important; height: 100% !important; display: block !important; }
.cases-grid .resource-card .case-tags { margin-top: auto !important; }
.cases-grid .resource-card .resource-download-link { margin-top: 0.4rem !important; }

@media (max-width: 980px) {
  .cases-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cases-grid.cases-grid-2 { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .cases-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   REDESIGN 2026-06: LEAD-MAGNET CTA PANEL
   A framed two-column panel: pitch + checklist on the left,
   the form in its own inset card on the right.
   ============================================================ */
.section-cta .section-container { display: block !important; }
.cta-panel {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: 2.75rem !important;
  align-items: center !important;
  max-width: 1060px !important; margin: 0 auto !important;
  padding: 3rem !important;
  background: linear-gradient(135deg, #fffdf9 0%, #fdf3e3 100%) !important;
  border: 1px solid rgba(180, 83, 9, 0.18) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(180, 83, 9, 0.10) !important;
}
.cta-panel::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 4px !important;
  background: linear-gradient(90deg, var(--ss-accent), rgba(180, 83, 9, 0) 70%) !important;
}
.cta-doc-badge {
  display: inline-flex !important; align-items: center !important; gap: 0.45rem !important;
  align-self: flex-start !important; padding: 0.35rem 0.85rem !important;
  background: #ffffff !important; border: 1px solid rgba(180, 83, 9, 0.25) !important;
  border-radius: 999px !important; font-size: 0.7rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.12em !important; color: var(--ss-accent) !important;
  margin-bottom: 1.25rem !important;
}
.cta-doc-badge svg { width: 14px !important; height: 14px !important; }
.cta-checklist {
  list-style: none !important; margin: 1.5rem 0 0 !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 0.7rem !important;
}
.cta-checklist li {
  position: relative !important; padding-left: 2rem !important;
  font-size: 0.95rem !important; color: var(--ss-text) !important; line-height: 1.5 !important;
}
.cta-checklist li::before {
  content: '\2713' !important; position: absolute !important; left: 0 !important; top: 0.05rem !important;
  width: 1.4rem !important; height: 1.4rem !important; border-radius: 7px !important;
  background: var(--ss-accent) !important; color: #ffffff !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 0.78rem !important; font-weight: 800 !important;
}
.cta-form-card {
  background: #ffffff !important; border: 1px solid var(--ss-border) !important;
  border-radius: 16px !important; padding: 1.85rem !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06) !important;
}
.cta-form-card-head { margin-bottom: 1.2rem !important; }
.cta-form-card-head strong { display: block !important; font-size: 1.1rem !important; font-weight: 700 !important; color: var(--ss-text) !important; }
.cta-form-card-head span { font-size: 0.85rem !important; color: var(--ss-text-muted) !important; }
.cta-form-card #wpforms-95 .wpforms-field-textarea { grid-column: 1 / -1 !important; }
@media (max-width: 900px) {
  .cta-panel { grid-template-columns: 1fr !important; gap: 2rem !important; padding: 2.25rem 1.5rem !important; }
}
