/* ==============================================================
   index-polish.css
   Surcouche cohérente avec le hero B (papiers 3D, glass, navy)
   Appliquée à toutes les sections du index.html
   ============================================================== */

/* ============ NAV — Pill flottante noire (style Mirego) ============ */
nav:not(.bh-nav) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 1.5rem 2rem 1.5rem 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6rem !important;
}
nav:not(.bh-nav) .nav-links {
  position: relative;
  background: #0F1F35 !important;
  border-radius: 999px !important;
  padding: 0.55rem 0.6rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  box-shadow:
    0 18px 40px -12px rgba(15, 31, 53, 0.45),
    0 6px 14px -4px rgba(15, 31, 53, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  list-style: none !important;
  margin: 0 !important;
}
nav:not(.bh-nav) .nav-links li {
  margin: 0 !important;
  padding: 0 !important;
}
nav:not(.bh-nav) .nav-links a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.55rem 1.15rem !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  border-radius: 999px !important;
  transition: color 0.25s ease, background 0.3s ease !important;
  white-space: nowrap;
}
nav:not(.bh-nav) .nav-links a:hover {
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
nav:not(.bh-nav) .nav-links a.is-active,
nav:not(.bh-nav) .nav-links a:focus-visible {
  color: var(--polish-navy-pale, #8FA4BE) !important;
  background: transparent !important;
  outline: none;
}

/* logo: scale down to fit pill height */
nav:not(.bh-nav) .logo,
nav:not(.bh-nav) a.logo,
nav:not(.bh-nav) > a:first-child {
  display: inline-flex;
  align-items: center;
}
nav:not(.bh-nav) .logo img,
nav:not(.bh-nav) a.logo img,
nav:not(.bh-nav) > a:first-child img {
  height: 68px !important;
  width: auto !important;
}

/* nav actions (CTA + lang) on right */
nav:not(.bh-nav) .nav-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}

/* CTA in nav: pill style matching */
nav:not(.bh-nav) .nav-actions .btn-primary,
nav:not(.bh-nav) .nav-actions a.btn-primary {
  background: #0F1F35 !important;
  color: #fff !important;
  padding: 0.7rem 1.3rem !important;
  border-radius: 999px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  border: none !important;
  box-shadow:
    0 18px 40px -12px rgba(15, 31, 53, 0.45),
    0 6px 14px -4px rgba(15, 31, 53, 0.3) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}
nav:not(.bh-nav) .nav-actions .btn-primary:hover {
  transform: translateY(-1px) !important;
  background: #1B3454 !important;
  box-shadow:
    0 22px 50px -12px rgba(15, 31, 53, 0.55),
    0 8px 18px -4px rgba(15, 31, 53, 0.35) !important;
}

/* lang toggle: ghost pill */
nav:not(.bh-nav) .lang-toggle,
nav:not(.bh-nav) .nav-actions .lang-toggle {
  background: transparent !important;
  border: 1px solid rgba(15, 31, 53, 0.15) !important;
  color: #0F1F35 !important;
  padding: 0.55rem 0.95rem !important;
  border-radius: 999px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  transition: border-color 0.25s ease, background 0.25s ease !important;
}
nav:not(.bh-nav) .lang-toggle:hover {
  background: rgba(15, 31, 53, 0.05) !important;
  border-color: rgba(15, 31, 53, 0.3) !important;
}

@media (max-width: 768px) {
  nav:not(.bh-nav) { padding: 0.85rem 1rem !important; }
  nav:not(.bh-nav) .nav-links { display: none !important; }
}

/* Variables réutilisées */
:root {
  --polish-navy: #1B3454;
  --polish-navy-deep: #0F1F35;
  --polish-navy-medium: #4A6890;
  --polish-navy-pale: #8FA4BE;
  --polish-navy-tint: rgba(27, 52, 84, 0.08);
  --polish-glass: rgba(255, 255, 255, 0.85);
  --polish-glass-border: rgba(255, 255, 255, 0.7);
  --polish-grain-svg: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

/* ============ SCROLL FADE-IN UTILITY ============ */
.polish-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.polish-fade.polish-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .polish-fade { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============ ALTERNANCE CLAIR / NAVY ============ */

/* Trust bar — clair, glass premium */
.trust-bar {
  position: relative;
  background: linear-gradient(180deg, #FAFAF8 0%, #F5F3EE 100%);
  overflow: hidden;
}
.trust-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.18;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.trust-bar .trust-pill {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow:
    0 12px 28px -8px rgba(27, 52, 84, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.trust-bar .trust-pill:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 20px 40px -10px rgba(27, 52, 84, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* Problem section — navy foncé (RESPIRATION 1) */
.problem-section {
  position: relative;
  background: linear-gradient(180deg, var(--polish-navy-deep) 0%, var(--polish-navy) 100%) !important;
  color: #fff !important;
  overflow: hidden;
}
.problem-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(143, 164, 190, 0.18) 0%, transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(74, 104, 144, 0.22) 0%, transparent 55%);
  pointer-events: none;
}
.problem-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.4;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.problem-section > * { position: relative; z-index: 1; }
.problem-section .section-eyebrow,
.problem-section .section-eyebrow span {
  color: var(--polish-navy-pale) !important;
}
.problem-section .problem-quote {
  color: rgba(255, 255, 255, 0.95) !important;
}
.problem-section .strikethrough { color: rgba(255, 255, 255, 0.55) !important; }
.problem-section .highlight {
  background: rgba(143, 164, 190, 0.2) !important;
  color: #fff !important;
}
.problem-section .replacement {
  color: var(--polish-navy-pale) !important;
  border-bottom: 2px solid var(--polish-navy-pale) !important;
}
.problem-section .pain-card {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.4s ease,
              border-color 0.4s ease !important;
}
.problem-section .pain-card:hover {
  transform: translateY(-6px) rotateX(2deg) rotateY(-1deg) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: rgba(143, 164, 190, 0.4) !important;
}
.problem-section .pain-card h4 { color: #fff !important; }
.problem-section .pain-card p { color: rgba(255, 255, 255, 0.7) !important; }

/* Demo section — clair avec glass cards */
.demo-section {
  position: relative;
  background: linear-gradient(180deg, #FAFAF8 0%, #F0EEE8 100%) !important;
  overflow: hidden;
}
.demo-section::before {
  content: '';
  position: absolute;
  top: -100px; left: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(27, 52, 84, 0.07) 0%, transparent 70%);
  pointer-events: none;
}
.demo-section::after {
  content: '';
  position: absolute;
  bottom: -150px; right: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(74, 104, 144, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.demo-section > * { position: relative; z-index: 1; }
.demo-window {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow:
    0 50px 100px -20px rgba(27, 52, 84, 0.25),
    0 20px 40px -10px rgba(27, 52, 84, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  transform: perspective(1200px) rotateX(2deg);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.demo-window:hover {
  transform: perspective(1200px) rotateX(0deg) translateY(-4px);
}

/* Benefits section — clair, cards en glass + tilt */
.benefits-section {
  position: relative;
  background: #FAFAF8 !important;
  overflow: hidden;
}
.benefits-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.15;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.benefits-section > * { position: relative; z-index: 1; }
.benefit-card {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(20px) saturate(170%);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow:
    0 24px 50px -12px rgba(27, 52, 84, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-style: preserve-3d;
}
.benefit-card:hover {
  transform: translateY(-8px) rotateX(3deg) rotateY(-2deg) !important;
  box-shadow:
    0 40px 80px -15px rgba(27, 52, 84, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* ROI — navy (RESPIRATION 2) */
.roi-section {
  position: relative;
  background: linear-gradient(180deg, var(--polish-navy) 0%, var(--polish-navy-deep) 100%) !important;
  color: #fff !important;
  overflow: hidden;
}
.roi-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(143, 164, 190, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 70% 80%, rgba(74, 104, 144, 0.18) 0%, transparent 50%);
  pointer-events: none;
}
.roi-section > * { position: relative; z-index: 1; }
.roi-section .section-eyebrow span,
.roi-section .section-desc { color: rgba(255, 255, 255, 0.78) !important; }
.roi-section .section-title { color: #fff !important; }
.roi-section .gradient {
  background: linear-gradient(135deg, #FFFFFF 0%, var(--polish-navy-pale) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
.roi-section .roi-inputs {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.3) !important;
}
.roi-section .roi-input {
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  padding: 0;
  margin-bottom: 1.75rem;
}
.roi-section .roi-label,
.roi-section .roi-label span,
.roi-section .roi-label > span:first-child {
  color: rgba(255, 255, 255, 0.9) !important;
  background: transparent !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}
.roi-section .roi-value {
  color: var(--polish-navy-pale) !important;
  background: transparent !important;
  -webkit-text-fill-color: var(--polish-navy-pale) !important;
}
.roi-section input[type="range"] {
  background: rgba(255, 255, 255, 0.15) !important;
}
.roi-section input[type="range"]::-webkit-slider-thumb {
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(143, 164, 190, 0.3) !important;
}
.roi-section input[type="range"]::-moz-range-thumb {
  background: #fff !important;
}
.roi-section .roi-result-card {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow:
    0 50px 100px -20px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* Comparison — clair */
.comparison-section {
  position: relative;
  background: linear-gradient(180deg, #FAFAF8 0%, #F5F3EE 100%) !important;
  overflow: hidden;
}
.comparison-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.15;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.comparison-section > * { position: relative; z-index: 1; }
.comparison-wrapper {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(20px) saturate(170%);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow:
    0 30px 70px -15px rgba(27, 52, 84, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  border-radius: 18px;
  overflow: hidden;
}

/* Loi 25 — navy (RESPIRATION 3) */
.loi25-section {
  position: relative;
  background: linear-gradient(180deg, var(--polish-navy-deep) 0%, var(--polish-navy) 100%) !important;
  color: #fff !important;
  overflow: hidden;
}
.loi25-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 50%, rgba(143, 164, 190, 0.18) 0%, transparent 55%),
    radial-gradient(circle at 75% 50%, rgba(74, 104, 144, 0.22) 0%, transparent 55%);
  pointer-events: none;
}
.loi25-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.35;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.loi25-section > * { position: relative; z-index: 1; }
.loi25-section .section-title,
.loi25-section .section-title strong { color: #fff !important; }
.loi25-section .section-desc,
.loi25-section .section-desc strong { color: rgba(255, 255, 255, 0.85) !important; }
.loi25-section .loi25-flag {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}
.loi25-section .loi25-check {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 12px;
  transition: background 0.3s, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.loi25-section .loi25-check:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  transform: translateX(4px) !important;
}
.loi25-section .loi25-check h4 { color: #fff !important; }
.loi25-section .loi25-check p { color: rgba(255, 255, 255, 0.7) !important; }
.loi25-section .loi25-check-icon {
  background: rgba(143, 164, 190, 0.25) !important;
  color: #fff !important;
}
.loi25-section .loi25-visual {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.loi25-section .data-node {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}
.loi25-section .data-node-name { color: #fff !important; }
.loi25-section .data-node-loc { color: rgba(255, 255, 255, 0.65) !important; }
.loi25-section .data-arrow { color: var(--polish-navy-pale) !important; }

/* Process — clair, timeline 3D */
.process-section {
  position: relative;
  background: #FAFAF8 !important;
  overflow: hidden;
}
.process-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.15;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.process-section > * { position: relative; z-index: 1; }
.process-step {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.process-step:hover {
  transform: translateY(-6px) !important;
}
.process-step:hover .process-step-dot {
  transform: scale(1.15) translateZ(20px) !important;
  box-shadow: 0 20px 40px -10px rgba(27, 52, 84, 0.4) !important;
}
.process-step-dot {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease !important;
  transform-style: preserve-3d;
}
.process-guarantee {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow: 0 10px 24px -8px rgba(27, 52, 84, 0.12) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.process-guarantee:hover {
  transform: translateY(-4px) !important;
}

/* Pricing — navy (RESPIRATION 4) */
.pricing-section {
  position: relative;
  background: linear-gradient(180deg, var(--polish-navy) 0%, var(--polish-navy-deep) 100%) !important;
  color: #fff !important;
  overflow: hidden;
}
.pricing-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(143, 164, 190, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 50% 100%, rgba(74, 104, 144, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.pricing-section > * { position: relative; z-index: 1; }
.pricing-section .section-eyebrow span,
.pricing-section .section-desc { color: rgba(255, 255, 255, 0.78) !important; }
.pricing-section .section-title { color: #fff !important; }
.pricing-section .pricing-card {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow:
    0 60px 120px -25px rgba(0, 0, 0, 0.5),
    0 30px 60px -15px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  transform: perspective(1500px) rotateX(1deg);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.pricing-section .pricing-card:hover {
  transform: perspective(1500px) rotateX(0deg) translateY(-6px) !important;
}
.pricing-section .pricing-custom {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}
.pricing-section .pricing-custom h4 { color: #fff !important; }
.pricing-section .pricing-custom p { color: rgba(255, 255, 255, 0.75) !important; }
.pricing-section .pricing-custom-icon {
  background: rgba(143, 164, 190, 0.25) !important;
  color: #fff !important;
}
/* Texts INSIDE the white pricing-card must keep dark colors */
.pricing-section .pricing-card,
.pricing-section .pricing-card * {
  color: var(--text) !important;
}
.pricing-section .pricing-card .pricing-name,
.pricing-section .pricing-card .price-amount,
.pricing-section .pricing-card .include-title {
  color: var(--text) !important;
}
.pricing-section .pricing-card .pricing-tagline,
.pricing-section .pricing-card .price-prefix,
.pricing-section .pricing-card .price-currency,
.pricing-section .pricing-card .include-desc {
  color: var(--text-dim) !important;
}
.pricing-section .pricing-card .price-note,
.pricing-section .pricing-card .pricing-includes h4 {
  color: var(--text-faint) !important;
}
.pricing-section .pricing-card .pricing-badge {
  color: var(--accent-warm) !important;
}
.pricing-section .pricing-card .include-icon {
  color: var(--accent) !important;
}
.pricing-section .pricing-card .btn-primary,
.pricing-section .pricing-card .btn-primary * {
  color: #fff !important;
}
.pricing-section .pricing-card .btn-secondary {
  color: var(--text) !important;
}
/* Texts OUTSIDE the card (on navy bg) need light */
.pricing-section .pricing-disclaimer {
  color: rgba(255, 255, 255, 0.65) !important;
}
.pricing-section .pricing-disclaimer a {
  color: var(--polish-navy-pale) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Contact — clair */
.contact-section {
  position: relative;
  background: linear-gradient(180deg, #FAFAF8 0%, #F0EEE8 100%) !important;
  overflow: hidden;
}
.contact-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--polish-grain-svg);
  opacity: 0.15;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.contact-section::after {
  content: '';
  position: absolute;
  top: 20%; right: -200px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(27, 52, 84, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.contact-section > * { position: relative; z-index: 1; }
.smart-form {
  background: var(--polish-glass) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid var(--polish-glass-border) !important;
  box-shadow:
    0 40px 80px -15px rgba(27, 52, 84, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}
.option-card {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(27, 52, 84, 0.1) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s,
              background 0.3s !important;
}
.option-card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--polish-navy) !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

/* Footer — navy deep */
footer {
  position: relative;
  background: var(--polish-navy-deep) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  overflow: hidden;
}
footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(74, 104, 144, 0.15) 0%, transparent 50%);
  pointer-events: none;
}
footer > * { position: relative; z-index: 1; }
footer h5 { color: #fff !important; }
footer .footer-tagline { color: rgba(255, 255, 255, 0.65) !important; }
footer ul a { color: rgba(255, 255, 255, 0.7) !important; transition: color 0.2s; }
footer ul a:hover { color: #fff !important; }
footer .social-link {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  transition: all 0.3s !important;
}
footer .social-link:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-2px);
}
footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

/* ============ MOBILE — simplified ============ */
@media (max-width: 768px) {
  /* disable backdrop-filter on mobile (perf) */
  .trust-bar .trust-pill,
  .demo-window,
  .benefit-card,
  .comparison-wrapper,
  .loi25-section .loi25-check,
  .loi25-section .loi25-visual,
  .process-guarantee,
  .pricing-section .pricing-card,
  .pricing-section .pricing-custom,
  .smart-form,
  .option-card,
  .roi-section .roi-result-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  /* disable 3D tilts on mobile */
  .demo-window,
  .pricing-section .pricing-card,
  .benefit-card:hover,
  .pain-card:hover,
  .process-step:hover .process-step-dot {
    transform: none !important;
  }
  /* simplify shadows on mobile */
  .pricing-section .pricing-card,
  .roi-section .roi-result-card {
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.3) !important;
  }
}




/* =================================================================
   ODOO APPS — Mega Panel (click-to-open)
   ================================================================= */
nav .nav-links .has-mega, nav .bh-menu .has-mega { position: relative; }
nav:not(.bh-nav) .nav-links .mega-trigger {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  color: rgba(255,255,255,0.78) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  border-radius: 99px !important;
  letter-spacing: 0 !important;
  transition: color .2s, background .2s !important;
}
nav:not(.bh-nav) .nav-links .mega-trigger:hover,
nav:not(.bh-nav) .nav-links .mega-trigger.is-open {
  color: #ffffff !important;
  background: rgba(255,255,255,0.08) !important;
}
.mega-caret { margin-left: 4px; transition: transform .25s ease; }
.mega-trigger.is-open .mega-caret { transform: rotate(180deg); }

.mega-panel {
  position: fixed;
  top: 88px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1240px, calc(100vw - 48px));
  /* the panel gets TALLER as viewports get shorter (grid drops to 2 then 1
     column), and being fixed-position, page scroll can't reveal any overflow.
     Cap it to the space under the header and scroll inside instead. */
  max-height: calc(100vh - var(--nav-h, 146px) - 20px);
  /* dvh tracks the *small* viewport, so the cap stays inside the fold while a
     mobile URL bar is showing; the vh line above is the fallback. */
  max-height: calc(100dvh - var(--nav-h, 146px) - 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: #FAFAF8;
  border-radius: 18px;
  box-shadow:
    0 40px 80px -16px rgba(15, 31, 53, 0.32),
    0 24px 48px -8px rgba(15, 31, 53, 0.22),
    0 0 0 1px rgba(15, 31, 53, 0.05);
  padding: 36px 44px;
  z-index: 80;
  animation: mega-in .25s cubic-bezier(.16,1,.3,1);
}
.mega-panel[hidden] { display: none; }
@keyframes mega-in {
  from { opacity: 0; transform: translateX(-50%) translateY(-12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.mega-panel-inner { max-width: 100%; }
.mega-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto;
  gap: 28px 32px;
}

.mega-cat h4 {
  font-family: 'Geist Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1.5px solid currentColor !important;
}
.mega-cat-finance h4       { color: #4A6890; }    /* navy medium */
.mega-cat-sales h4         { color: #8A6A32; }    /* gold, darkened for AA on the light panel */
.mega-cat-websites h4      { color: #3F6675; }    /* dusty teal, darkened for AA */
.mega-cat-supply h4        { color: #8A6A32; }
.mega-cat-hr h4            { color: #4A6890; }
.mega-cat-marketing h4     { color: #8A6A32; }
.mega-cat-services h4      { color: #8A6A32; }
.mega-cat-productivity h4  { color: #4A6890; }

.mega-cat ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mega-cat ul li { margin: 0 !important; padding: 0 !important; }
.mega-cat ul a {
  display: block !important;
  padding: 6px 8px !important;
  margin: 0 -8px !important;
  color: #1a1a1a !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  font-family: 'Geist', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  border-radius: 6px !important;
  transition: background .15s, color .15s, padding .15s !important;
  white-space: normal !important;
}
.mega-cat ul a:hover {
  background: rgba(15, 31, 53, 0.06) !important;
  color: #0F1F35 !important;
  padding-left: 12px !important;
}

@media (max-width: 1100px) {
  .mega-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .mega-panel { padding: 24px; }
  .mega-grid { grid-template-columns: 1fr; gap: 20px; }
}
.mega-panel::-webkit-scrollbar { width: 10px; }
.mega-panel::-webkit-scrollbar-track { background: transparent; }
.mega-panel::-webkit-scrollbar-thumb {
  background: rgba(15, 31, 53, 0.18);
  border-radius: 99px;
  border: 3px solid #FAFAF8;
}
.mega-panel::-webkit-scrollbar-thumb:hover { background: rgba(15, 31, 53, 0.3); }


/* =================================================================
   MOBILE — hamburger menu & responsive nav pill
   ================================================================= */
.mobile-menu-btn,
.mobile-menu-panel{display:none}
@media (max-width: 980px) {
  nav:not(.bh-nav) .nav-inner{padding:8px 10px 8px 14px !important; gap:8px !important}
  nav:not(.bh-nav) .logo img{height:48px !important}
  nav:not(.bh-nav) .nav-links{display:none !important}
  nav:not(.bh-nav) .nav-actions{gap:6px !important}
  nav .nav-actions .btn-primary{padding:8px 14px !important; font-size:12px !important}
  nav .lang-toggle button{padding:5px 7px !important; font-size:10px !important}
  .mobile-menu-btn{
    display:inline-flex !important; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:99px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
    color:#fff; cursor:pointer; padding:0;
  }
  .mobile-menu-btn svg{width:18px; height:18px}
  .mobile-menu-panel{
    display:none; position:fixed; top:72px; left:14px; right:14px;
    background:#0a1525; border-radius:18px; padding:16px;
    box-shadow:0 24px 60px -16px rgba(15,31,53,.6); z-index:48;
  }
  .mobile-menu-panel.open{display:block}
  .mobile-menu-panel a{
    display:block; padding:12px 16px; color:rgba(255,255,255,.85);
    text-decoration:none; font-size:15px; border-radius:10px;
    transition:background .2s, color .2s;
  }
  .mobile-menu-panel a:hover, .mobile-menu-panel a.active{
    background:rgba(255,255,255,.08); color:#fff;
  }
  .mobile-menu-panel a + a{margin-top:2px}
}

/* Hero copy / sections mobile tweaks */
@media (max-width: 768px) {
  section .container{padding:0 16px !important}
  .container-narrow{padding:0 16px !important}

  /* Section titles */
  .section-title{font-size:clamp(28px, 7vw, 40px) !important}
  .section-eyebrow{font-size:10px !important}
  .section-desc{font-size:15px !important}

  /* Benefits / ROI / Process / Pricing grids */
  .benefits-grid{grid-template-columns:1fr !important; gap:16px !important}
  .benefit-card{padding:24px 20px !important}
  .benefit-num{font-size:48px !important}
  .roi-grid{grid-template-columns:1fr !important; gap:24px !important}
  .roi-inputs{padding:20px 16px !important}
  .roi-result-card{padding:24px 20px !important}
  .roi-big-num{font-size:40px !important}

  /* Comparison table */
  .comparison-wrapper{overflow-x:auto; -webkit-overflow-scrolling:touch}
  .comparison-table{min-width:600px; font-size:12px}

  /* Loi 25 grid */
  .loi25-grid{grid-template-columns:1fr !important; gap:24px !important}

  /* Process timeline */
  .process-timeline{flex-direction:column !important; gap:24px !important; padding:0 8px}

  /* Pricing card */
  .pricing-card{padding:24px 20px !important}
  .price-amount{font-size:48px !important}
  .pricing-includes{gap:12px !important}

  /* Contact */
  .contact-grid{grid-template-columns:1fr !important; gap:24px !important}
  .smart-form{padding:20px !important}
  .option-grid{grid-template-columns:1fr 1fr !important; gap:8px !important}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr !important; gap:24px 16px !important}
  .footer-grid > div:first-child{grid-column:1 / -1 !important}
}
@media (max-width: 480px) {
  .footer-grid{grid-template-columns:1fr !important}
  .option-grid{grid-template-columns:1fr !important}
}


/* =================================================================
   COMPARISON TABLE — match the brand reference image
   ================================================================= */
.comparison-section .comparison-wrapper{
  background: #FAFAF7 !important;
  border: 1px solid rgba(15,31,53,.08) !important;
  border-radius: 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 12px 32px -16px rgba(15,31,53,.18) !important;
  max-width: 1200px;
  margin: 32px auto 0;
}
.comparison-section .comparison-table{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  background: transparent !important;
}
.comparison-section .comparison-table th,
.comparison-section .comparison-table td{
  padding: 28px 24px !important;
  vertical-align: middle !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
}
.comparison-section .comparison-table thead th{
  font-family: 'Geist Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  font-weight: 500 !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(15,31,53,.08) !important;
  padding: 24px 18px !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}
.comparison-section .comparison-table thead th:first-child{
  text-align: left !important;
  padding-left: 28px !important;
}
.comparison-section .comparison-table thead .us-col{
  background: #0F1F35 !important;
  color: #fff !important;
  border-radius: 12px 12px 0 0 !important;
  font-weight: 600 !important;
}
.comparison-section .comparison-table td.us-col{
  background: rgba(15,31,53,.04) !important;
}
.comparison-section .comparison-table tbody td{
  border-bottom: 1px solid rgba(15,31,53,.06) !important;
}
.comparison-section .comparison-table tbody tr:last-child td{
  border-bottom: 0 !important;
}
.comparison-section .comparison-table td:first-child{
  text-align: left !important;
  padding-left: 28px !important;
}
.comparison-section .comparison-table .feature-name{
  display: block !important;
  font-family: 'Geist', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0F1F35 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}
.comparison-section .comparison-table .feature-sub{
  display: block !important;
  font-family: 'Geist', system-ui, sans-serif !important;
  font-size: 13px !important;
  color: #95918a !important;
  font-weight: 400 !important;
  margin-top: 4px !important;
  letter-spacing: 0 !important;
}

/* Circular check badges */
.comparison-section .comparison-table .check-yes,
.comparison-section .comparison-table .check-no,
.comparison-section .comparison-table .check-partial{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  font-size: 0 !important;
}
.comparison-section .comparison-table .check-yes{
  background: rgba(40,160,107,.18) !important;
  color: #28a06b !important;
}
.comparison-section .comparison-table .check-no{
  background: rgba(214, 96, 96, .18) !important;
  color: #d66060 !important;
}
.comparison-section .comparison-table .check-partial{
  background: rgba(149,145,138,.20) !important;
  color: #95918a !important;
}
.comparison-section .comparison-table .check-yes svg,
.comparison-section .comparison-table .check-no svg,
.comparison-section .comparison-table .check-partial svg{
  width: 14px !important;
  height: 14px !important;
}

/* Mobile — keep visible & horizontally scrollable but slightly more compact */
@media (max-width: 768px){
  .comparison-section .comparison-table{ min-width: 640px; }
  .comparison-section .comparison-table th,
  .comparison-section .comparison-table td{ padding: 16px 12px !important; }
  .comparison-section .comparison-table td:first-child,
  .comparison-section .comparison-table thead th:first-child{ padding-left: 16px !important; }
}


/* Odoo Ready Partner logo — larger */
.partner-logo-mark{ height: 84px !important; width: auto !important; }


/* =================================================================
   CONTACT — simple form + info card
   ================================================================= */
.contact-form-wrap{
  display:grid; grid-template-columns: 1.4fr 1fr; gap:24px;
  align-items:start;
}
.contact-form{
  background:#fff; border:1px solid rgba(15,31,53,.08); border-radius:16px;
  padding:28px; display:flex; flex-direction:column; gap:14px;
  box-shadow:0 18px 36px -18px rgba(15,31,53,.18);
}
.contact-form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.contact-form label{display:flex; flex-direction:column; gap:6px}
.contact-form .cf-lbl{
  font-family:'Geist Mono',monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:#6b6b6b; font-weight:500;
}
.contact-form .cf-lbl em{font-style:italic; text-transform:none; color:#95918a; letter-spacing:0}
.contact-form input, .contact-form textarea{
  font-family:'Geist',system-ui,sans-serif; font-size:15px; color:#0F1F35;
  border:1px solid rgba(15,31,53,.12); border-radius:10px;
  padding:12px 14px; background:#FAFAF7; outline:none;
  transition:border-color .2s, background .2s;
  resize: vertical;
}
.contact-form input:focus, .contact-form textarea:focus{
  border-color:#c9a874; background:#fff; box-shadow:0 0 0 3px rgba(201,168,116,.18);
}
.contact-form .cf-submit{
  align-self:flex-start; margin-top:6px;
  padding:14px 28px; border-radius:99px; background:#0F1F35; color:#F5F2EA;
  font-weight:500; font-size:14px; border:0; cursor:pointer;
  display:inline-flex; align-items:center; gap:10px;
  box-shadow:0 18px 40px -14px rgba(15,31,53,.4); transition:transform .25s ease;
}
.contact-form .cf-submit:hover{transform:translateY(-1px)}
.contact-form .cf-confirm{
  display:flex; align-items:center; gap:10px;
  color:#28a06b; font-size:14px; padding:14px;
  background:rgba(40,160,107,.10); border-radius:10px; margin-top:6px;
}

.contact-info-card{
  background:#0F1F35; color:#F5F2EA; border-radius:16px;
  padding:28px; box-shadow:0 18px 36px -16px rgba(15,31,53,.28);
  position:sticky; top:120px;
}
.contact-info-card .ci-h{
  font-family:'Geist Mono',monospace; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:#c9a874; margin-bottom:16px;
}
.contact-info-card .ci-list{list-style:none; padding:0; margin:0 0 22px; display:grid; gap:14px}
.contact-info-card .ci-list li{
  display:flex; align-items:center; gap:12px;
  color:rgba(245,242,234,.88); font-size:14px;
}
.contact-info-card .ci-list svg{color:#c9a874; flex-shrink:0}
.contact-info-card .ci-list a{color:rgba(245,242,234,.95); text-decoration:none; border-bottom:1px solid transparent}
.contact-info-card .ci-list a:hover{border-bottom-color:#c9a874}
.contact-info-card .ci-social{display:flex; gap:8px; padding-top:18px; border-top:1px solid rgba(245,242,234,.15)}
.contact-info-card .ci-social a{
  width:36px; height:36px; border-radius:50%;
  background:rgba(245,242,234,.06); border:1px solid rgba(245,242,234,.12);
  display:grid; place-items:center; color:rgba(245,242,234,.85);
  transition:background .2s, color .2s;
}
.contact-info-card .ci-social a:hover{background:#fff; color:#0F1F35}

@media (max-width:900px){
  .contact-form-wrap{grid-template-columns:1fr}
  .contact-info-card{position:static}
}
@media (max-width:600px){
  .contact-form-row{grid-template-columns:1fr}
  .contact-form{padding:20px}
  .contact-info-card{padding:20px}
}


/* =================================================================
   PAIN GRID — premium 2x2 layout on the problem section
   ================================================================= */
.problem-section .problem-pain-grid{
  display:grid; grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
  max-width: 920px; margin: 48px auto 0;
}
.problem-section .pain-card{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  padding: 26px 28px !important;
  display: grid !important;
  grid-template-columns: 56px 1fr !important;
  grid-template-rows: auto auto !important;
  column-gap: 18px !important;
  row-gap: 6px !important;
  align-items: start !important;
  transition: background .25s, border-color .25s, transform .35s cubic-bezier(.16,1,.3,1) !important;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.problem-section .pain-card:hover{
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(201,168,116,.4) !important;
  transform: translateY(-3px) !important;
}
.problem-section .pain-card .pain-icon{
  grid-row: 1 / 3;
  width: 48px !important; height: 48px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(201,168,116,.22), rgba(138,93,122,.18)) !important;
  border: 1px solid rgba(201,168,116,.30) !important;
  display: grid !important; place-items: center !important;
  color: #f4dcc4 !important;
  font-size: 0 !important;
  flex-shrink: 0;
}
.problem-section .pain-card .pain-icon svg{ width: 22px; height: 22px; }
.problem-section .pain-card h4{
  font-family: 'Geist', system-ui, sans-serif !important;
  font-size: 16px !important; font-weight: 600 !important;
  color: #fff !important; letter-spacing: -0.005em !important;
  margin: 0 !important; line-height: 1.25 !important;
  align-self: end;
}
.problem-section .pain-card p{
  font-size: 14.5px !important; color: rgba(255,255,255,.72) !important;
  line-height: 1.5 !important; margin: 0 !important;
  align-self: start;
}
@media (max-width: 720px){
  .problem-section .problem-pain-grid{ grid-template-columns: 1fr !important; gap: 14px !important; }
  .problem-section .pain-card{ padding: 22px !important; }
}


/* Match blog cream background on the hero / body */
html, body, .hero, .hero.hero-3d-mount { background: #F5F2EA !important; }
.hero-vortex { background: transparent !important; }


/* =================================================================
   CLIENTS MARQUEE — moving logos under hero
   ================================================================= */
.clients-marquee{
  padding: 40px 0 28px;
  background: transparent;
  position: relative;
}
.cm-label{
  text-align: center;
  font-family: 'Geist Mono', monospace;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8a857d;
  margin-bottom: 22px;
}
.cm-track{
  display: flex;
  overflow: hidden;
  mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.cm-row{
  display: flex;
  gap: 80px;
  flex-shrink: 0;
  padding-right: 80px;
  align-items: center;
  animation: cm-scroll 26s linear infinite;
}
@keyframes cm-scroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}
.clients-marquee:hover .cm-row{ animation-play-state: paused; }
.cm-logo{
  display: inline-flex;
  align-items: center;
  height: 56px;
  flex-shrink: 0;
  opacity: 0.55;
  filter: grayscale(60%);
  transition: opacity .25s, filter .25s, transform .25s;
}
.cm-logo:hover{
  opacity: 1;
  filter: none;
  transform: translateY(-2px);
}
.cm-logo img{
  max-height: 56px;
  /* cap width too: a wide wordmark would otherwise dwarf every other mark */
  max-width: 160px;
  object-fit: contain;
  width: auto;
  display: block;
  object-fit: contain;
}
@media (max-width: 700px){
  .cm-row{ gap: 50px; padding-right: 50px; }
  .cm-logo, .cm-logo img{ height: 42px; max-height: 42px; }
  .cm-logo img{ max-width: 128px; }
}


/* Trust-bar — clean up after marquee (was showing dash-line below logos) */
.trust-bar { padding-top: 8px !important; }
.trust-bar .trust-bar-label::before,
.trust-bar .trust-bar-label::after { display: none !important; content: none !important; }
.trust-bar .trust-bar-inner {
  border-top: 1px solid rgba(15,31,53,.06) !important;
  padding-top: 28px !important;
}


/* Hide leftover hr / cm-label decoration that was creating a visible line + arrow under the marquee */
.clients-marquee + hr,
.clients-marquee ~ hr { display: none !important; }
.cm-label::before, .cm-label::after,
.cm-track::before, .cm-track::after { display: none !important; content: none !important; }
.clients-marquee { border: 0 !important; }
.clients-marquee + .trust-bar { border-top: 0 !important; }
.clients-marquee + .trust-bar .trust-bar-inner { border-top: 0 !important; padding-top: 0 !important; }


/* =================================================================
   PREXTRA-STYLE COLOR LAYER — purely decorative, additive only
   Brighter, more colorful, more personal — keeps cream/navy base
   ================================================================= */
:root{
  --px-blue:#3B6FE0;        /* bright friendly blue accent */
  --px-red:#D9534F;         /* warm coral red */
  --px-gold:#E9B133;        /* sunny gold */
  --px-sky:#65B9EC;         /* sky blue */
}

/* Colorful floating shapes behind the hero */
.hero.hero-3d-mount{ position:relative; overflow:hidden; }
.hero.hero-3d-mount::before,
.hero.hero-3d-mount::after{
  content:''; position:absolute; z-index:0; pointer-events:none;
  border-radius:50%; filter:blur(2px); opacity:.16;
}
.hero.hero-3d-mount::before{
  width:300px; height:300px; top:-60px; left:-60px;
  background:radial-gradient(circle at 40% 40%, var(--px-sky), transparent 70%);
}
.hero.hero-3d-mount::after{
  width:260px; height:260px; bottom:-40px; right:8%;
  background:radial-gradient(circle at 50% 50%, var(--px-gold), transparent 70%);
}
.hero-vortex{ position:relative; z-index:1; }

/* A small colorful diamond accent floating in the hero */
.hero.hero-3d-mount .px-diamond{
  position:absolute; width:44px; height:44px; z-index:0;
  background:linear-gradient(135deg, var(--px-red), var(--px-gold));
  border-radius:10px; transform:rotate(45deg);
  top:24%; right:14%; opacity:.5; pointer-events:none;
  animation:px-float 7s ease-in-out infinite;
}
@keyframes px-float{ 0%,100%{transform:rotate(45deg) translateY(0)} 50%{transform:rotate(45deg) translateY(-16px)} }

/* Colorful dots on every section eyebrow — cycle through the palette */
.section-eyebrow,.hv-eyebrow,.cm-label{ position:relative; }
.section-eyebrow::after{
  content:''; display:inline-block; width:7px; height:7px; border-radius:50%;
  margin-left:9px; vertical-align:middle; background:var(--px-blue);
}
.problem-section .section-eyebrow::after{ background:var(--px-red); }
.sectors-section .section-eyebrow::after{ background:var(--px-gold); }
#compare .section-eyebrow::after{ background:var(--px-sky); }
#roi .section-eyebrow::after{ background:var(--px-blue); }
.process-section .section-eyebrow::after{ background:var(--px-red); }
.pricing-section .section-eyebrow::after{ background:var(--px-gold); }



/* Sector hover tint matches its accent */
.sector-row:nth-child(1):hover{ background:linear-gradient(90deg, rgba(59,111,224,.07), transparent); }
.sector-row:nth-child(2):hover{ background:linear-gradient(90deg, rgba(217,83,79,.07), transparent); }
.sector-row:nth-child(3):hover{ background:linear-gradient(90deg, rgba(233,177,51,.08), transparent); }
.sector-row:nth-child(4):hover{ background:linear-gradient(90deg, rgba(101,185,236,.08), transparent); }
.sector-row:nth-child(5):hover{ background:linear-gradient(90deg, rgba(59,111,224,.07), transparent); }
.sector-row:nth-child(6):hover{ background:linear-gradient(90deg, rgba(217,83,79,.07), transparent); }


/* =================================================================
   PREXTRA HERO RESHAPE — bolder, more colorful, more personal
   Visual only — copy, balance animation & functionality untouched
   ================================================================= */
/* Stronger, more visible colorful shapes */
.hero.hero-3d-mount::before{
  width:420px; height:420px; top:-100px; left:-80px; opacity:.28; filter:blur(0);
  background:radial-gradient(circle at 45% 45%, var(--px-sky), transparent 68%);
}
.hero.hero-3d-mount::after{
  width:360px; height:360px; bottom:-90px; right:4%; opacity:.26; filter:blur(0);
  background:radial-gradient(circle at 50% 50%, var(--px-gold), transparent 68%);
}
.hero.hero-3d-mount .px-diamond{
  width:64px; height:64px; top:18%; right:10%; opacity:.7;
  background:linear-gradient(135deg, var(--px-red), var(--px-gold));
  border-radius:14px;
}
/* A second accent — soft blue blob bottom-left of the scene */
.hero.hero-3d-mount .px-diamond::after{
  content:''; position:absolute; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(59,111,224,.5), transparent 70%);
  left:-360px; top:120px; transform:rotate(-45deg);
}

/* Bigger, bolder hero heading — closer to Prextra's confident scale */
.hv-title{
  font-size:clamp(54px,7vw,92px) !important;
  letter-spacing:-.03em !important;
  line-height:.96 !important;
}
/* Make the primary CTA a vivid blue pill like Prextra */
.hero-vortex .hv-btn-primary,
.hv-actions .hv-btn-primary{
  background:var(--px-blue) !important;
  box-shadow:0 18px 40px -14px rgba(59,111,224,.55) !important;
}
.hero-vortex .hv-btn-primary:hover{ background:#2f5fce !important; }

/* Colorful underline accent under the eyebrow dot already handled.
   Add a subtle colored ring to the balance core for warmth */
.bl-balance{ box-shadow:0 0 0 6px rgba(101,185,236,.12), 0 18px 50px -12px rgba(15,31,53,.3) !important; }


/* =================================================================
   CONTACT SECTION — unclip the lead form (was pinned height + hidden)
   ================================================================= */
#contact.contact-section{ height:auto !important; min-height:0 !important; overflow:visible !important; }
#contact .contact-grid{ height:auto !important; min-height:0 !important; overflow:visible !important; }
#contact .contact-form-wrap{ height:auto !important; overflow:visible !important; }


/* =================================================================
   TRUST BAR — size-disparity safe layout
   The featured Odoo badge is ~4.4x taller than the small pills, so a
   wrap-flex row strands the last pill and floats the label between
   ~900-1010px. Below 1080px: stack the label, then lay the pills out
   as an explicit grid with the badge owning its own row.
   ================================================================= */
@media (max-width:1080px){
  .trust-bar .trust-bar-inner{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:20px !important;
  }
  .trust-bar .trust-bar-label{ align-self:flex-start !important; }
  .trust-bar .trust-bar-items{
    display:grid !important;
    grid-template-columns:repeat(2,max-content) !important;
    justify-content:start !important;
    align-items:center !important;
    gap:16px 24px !important;
    width:100% !important;
  }
  .trust-bar .trust-pill-featured{ grid-column:1 / -1 !important; }
}
@media (max-width:560px){
  .trust-bar .trust-bar-items{ grid-template-columns:1fr !important; }
  .trust-bar .trust-pill-featured{ grid-column:1 !important; }
}


/* =================================================================
   WHAT IS ODOO — visual explainer (navy field, gold accents)
   ================================================================= */
.odoo-section{background:#0F1F35;color:#fff;padding:92px 32px}
.odoo-section .container{max-width:1180px;margin:0 auto}

.oo-head{max-width:680px;margin:0 0 48px}
.oo-eyebrow{font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#C9A874;margin-bottom:18px}
.oo-title{font-family:'Geist',sans-serif;font-weight:700;font-size:clamp(32px,3.4vw,46px);line-height:1.1;letter-spacing:-.022em;color:#fff;margin:0 0 20px}
.oo-rule{width:56px;height:4px;background:#C9A874;border-radius:2px;margin:0 0 22px}
.oo-title-logo{display:inline-flex;align-items:center;vertical-align:baseline;transform:translateY(.04em);margin:0 .02em}
.oo-title-logo img{height:.74em;width:auto;display:block;filter:brightness(1.55) saturate(.85)}
.oo-lede{font-size:17.5px;line-height:1.6;color:rgba(255,255,255,.76);margin:0;max-width:54ch}

/* ---- editorial body: statement + application index ---- */
.oo-body{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:44px 0 48px;margin-bottom:44px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.oo-para{font-size:16px;line-height:1.68;color:rgba(255,255,255,.7);margin:0 0 18px;max-width:46ch}
.oo-para:last-child{margin-bottom:0}

.oo-index-head{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42);padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:4px}
.oo-index{list-style:none;margin:0;padding:0;columns:2;column-gap:40px}
.oo-index li{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14.5px;color:rgba(255,255,255,.88);break-inside:avoid}
.oo-index-n{font-family:'Geist Mono',monospace;font-size:10.5px;color:#C9A874;flex-shrink:0}
.oo-index-ico{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid rgba(201,168,116,.28);border-radius:6px;background:rgba(201,168,116,.08);color:#C9A874}
.oo-index-ico svg{width:14px;height:14px}
.oo-index-ico-img{background:#fff;border-color:rgba(255,255,255,.16);padding:3px}
.oo-index-ico-img img{width:100%;height:100%;object-fit:contain;display:block}
.oo-index-lbl{min-width:0}
.oo-index-more{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:600;color:#C9A874;text-decoration:none;border-bottom:1px solid rgba(201,168,116,.4);padding-bottom:2px;transition:border-color .2s}
.oo-index-more:hover{border-color:#C9A874}

/* ---- facts strip ---- */
.oo-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:44px}
.oo-fact{padding:24px 24px 24px 0;border-right:1px solid rgba(255,255,255,.14)}
.oo-fact:last-child{border-right:0}
.oo-fact:not(:first-child){padding-left:24px}
.oo-fact-num{font-family:'Geist',sans-serif;font-weight:700;font-size:32px;line-height:1;letter-spacing:-.02em;color:#C9A874;margin-bottom:7px}
.oo-fact-lbl{font-size:13px;line-height:1.4;color:rgba(255,255,255,.58)}

/* ---- closing note ---- */
.oo-note{display:grid;grid-template-columns:1fr auto;align-items:center;gap:34px;padding:26px 30px;background:rgba(201,168,116,.09);border-left:3px solid #C9A874;border-radius:0 6px 6px 0}
.oo-note p{margin:0;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.oo-note p strong{color:#fff;font-weight:700}
.oo-note-cta{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;background:#C9A874;color:#0F1F35;text-decoration:none;font-size:14px;font-weight:700;padding:13px 22px;border-radius:8px;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s}
.oo-note-cta:hover{background:#d8b985;transform:translateY(-2px)}
.oo-note-cta svg{width:15px;height:15px}

@media(max-width:980px){
  .odoo-section{padding:60px 20px}
  .oo-body{grid-template-columns:1fr;gap:36px;padding:32px 0 36px}
  .oo-facts{grid-template-columns:repeat(2,1fr)}
  .oo-fact{border-bottom:1px solid rgba(255,255,255,.14)}
  .oo-fact:nth-child(2n){border-right:0}
  .oo-fact:nth-child(n+3){border-bottom:0}
  .oo-fact:nth-child(2n+1){padding-left:0}
  .oo-note{grid-template-columns:1fr;gap:20px}
  .oo-note-cta{justify-content:center}
}
@media(max-width:560px){
  .odoo-section{padding:48px 16px}
  .oo-index{columns:1}
  .oo-facts{grid-template-columns:repeat(2,1fr)}
}


/* =================================================================
   ROOT OVERFLOW GUARD
   Viewport overflow propagates from the ROOT element, so overflow-x
   on body alone can't stop the page scrolling sideways — the marquee
   rows still extend layout width. Clip at html.
   ================================================================= */
html{overflow-x:clip !important}
body{overflow-x:clip !important}


/* =================================================================
   SECTORS — two-column editorial split (sticky head + numbered index)
   ================================================================= */
.sectors-section{background:#FAFAF7;padding:92px 32px}
.sectors-section .container{max-width:1180px;margin:0 auto}

.sectors-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:start}

/* ---- left: sticky head ---- */
.sectors-head{position:sticky;top:170px}
.sectors-section .section-eyebrow{
  display:block !important;
  font-family:'Geist Mono',monospace !important;
  font-size:10.5px !important;letter-spacing:.24em !important;
  text-transform:uppercase !important;color:#C9A874 !important;
  margin-bottom:18px !important;
}
.sectors-section .section-eyebrow::before,
.sectors-section .section-eyebrow::after{display:none !important;content:none !important}

.sectors-section .section-title{
  text-align:left !important;
  font-family:'Geist',-apple-system,sans-serif !important;
  font-weight:700 !important;
  font-size:clamp(28px,2.6vw,36px) !important;
  line-height:1.16 !important;letter-spacing:-.02em !important;
  color:#0F1F35 !important;margin:0 0 20px !important;max-width:20ch;
}
.sectors-section .section-title .italic{
  font-family:'Geist',-apple-system,sans-serif !important;
  font-weight:700 !important;font-style:normal !important;
  color:#C9A874 !important;
}
.sectors-section .section-title::after{
  content:'';display:block;width:56px;height:4px;background:#C9A874;
  border-radius:2px;margin-top:22px;
}
.sectors-section .section-desc{
  text-align:left !important;margin:0 0 26px !important;
  font-size:16px;line-height:1.62;color:#55606e;max-width:38ch;
}
.sectors-head-cta{
  display:inline-flex;align-items:center;gap:9px;
  font-size:14px;font-weight:600;color:#0F1F35;text-decoration:none;
  border-bottom:1px solid rgba(15,31,53,.22);padding-bottom:3px;
  transition:border-color .22s,color .22s;
}
.sectors-head-cta:hover{color:#C9A874;border-color:#C9A874}
.sectors-head-cta svg{width:14px;height:14px}

/* ---- right: numbered hairline index ---- */
.sectors-list{max-width:none;margin:0;width:100%}
.sector-row{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:start;gap:22px;
  padding:24px 0;
  border-top:1px solid rgba(15,31,53,.12);
  text-decoration:none;
  transition:background .28s,padding-left .28s cubic-bezier(.16,1,.3,1);
}
.sector-row:last-child{border-bottom:1px solid rgba(15,31,53,.12)}
.sector-row:hover{background:linear-gradient(90deg,rgba(201,168,116,.07),transparent) !important;padding-left:14px}

.sector-row-n{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.14em;
  color:#C9A874;flex-shrink:0;width:22px;padding-top:5px;
}
.sector-row-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.sector-row-name{
  font-family:'Geist',-apple-system,sans-serif !important;
  font-weight:600 !important;font-size:18.5px !important;
  line-height:1.2 !important;letter-spacing:-.014em !important;
  color:#0F1F35 !important;
}
.sector-row-desc{font-size:14.5px;line-height:1.5;color:#6b7280}


.sector-row-arrow{
  width:18px;height:18px;flex-shrink:0;color:#C9A874 !important;
  opacity:0;transform:translateX(-4px);
  transition:opacity .24s,transform .24s cubic-bezier(.16,1,.3,1);
  align-self:center;
}
.sector-row:hover .sector-row-arrow{opacity:1;transform:translateX(0);filter:none !important}

@media(max-width:1040px){
  .sectors-split{grid-template-columns:1fr;gap:44px}
  .sectors-head{position:static}
  .sectors-section .section-title{max-width:24ch}
  .sectors-section .section-desc{max-width:56ch}
}
@media(max-width:600px){
  .sectors-section{padding:58px 20px}
  .sector-row{gap:14px;padding:18px 0}
  .sector-row-name{font-size:17px !important}
  .sector-row-arrow{opacity:.55;transform:none}
  .sector-row:hover{padding-left:6px}
}


/* =================================================================
   COMPARISON — harmonised with the corporate system
   ================================================================= */
#compare .section-eyebrow{
  display:block !important;
  font-family:'Geist Mono',monospace !important;
  font-size:10.5px !important;letter-spacing:.24em !important;
  text-transform:uppercase !important;color:#C9A874 !important;
  margin-bottom:18px !important;
}
#compare .section-eyebrow::before,
#compare .section-eyebrow::after{display:none !important;content:none !important}

#compare .section-title{
  font-family:'Geist',-apple-system,sans-serif !important;
  font-weight:700 !important;
  font-size:clamp(30px,3.2vw,42px) !important;
  line-height:1.12 !important;letter-spacing:-.022em !important;
  color:#0F1F35 !important;margin:0 0 20px !important;max-width:26ch;
}
#compare .section-title .italic{
  font-family:'Geist',-apple-system,sans-serif !important;
  font-weight:700 !important;font-style:normal !important;
  color:#C9A874 !important;
}
#compare .section-title::after{
  content:'';display:block;width:56px;height:4px;background:#C9A874;
  border-radius:2px;margin-top:22px;
}
#compare .section-desc{
  font-size:16.5px;line-height:1.62;color:#55606e;max-width:56ch;margin:0 0 40px !important;
}

/* two-column comparison: criterion | Odoo | Odoo + automation */
.comparison-table-2col{table-layout:fixed;width:100%}
.comparison-table-2col th:first-child,
.comparison-table-2col td:first-child{width:46%;text-align:left}
.comparison-table-2col th:not(:first-child),
.comparison-table-2col td:not(:first-child){width:27%;text-align:center}
@media(max-width:640px){
  .comparison-table-2col th:first-child,
  .comparison-table-2col td:first-child{width:52%}
  .comparison-table-2col th:not(:first-child),
  .comparison-table-2col td:not(:first-child){width:24%}
}

/* band captions inside the comparison table */
.comparison-table .cmp-band td{
  padding:26px 0 10px !important;
  border:0 !important;background:transparent !important;
  font-family:'Geist Mono',monospace !important;
  font-size:10px !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:#C9A874 !important;
  text-align:left !important;
}
.comparison-table .cmp-band:first-child td{padding-top:8px !important}


/* =================================================================
   ALTERNATING BANDS — cream / navy / cream down the page
   hero+marquee+trust (cream) · odoo (navy) · sectors (cream)
   compare (navy) · process (cream) · loi25 (navy) · contact (cream)
   ================================================================= */
.band-dark{background:#0F1F35 !important;color:#fff !important}

/* heads */
.band-dark .section-eyebrow{color:#C9A874 !important}
.band-dark .section-eyebrow::before,
.band-dark .section-eyebrow::after{display:none !important;content:none !important}
.band-dark .section-title{color:#fff !important}
.band-dark .section-title .italic{color:#C9A874 !important}
.band-dark .section-desc{color:rgba(255,255,255,.72) !important}
.band-dark .section-header-center h2{color:#fff !important}
.band-dark .section-header-center p{color:rgba(255,255,255,.72) !important}

/* comparison table on navy */
.band-dark .comparison-wrapper{background:transparent !important;border-color:rgba(255,255,255,.14) !important}

/* loi 25 on navy */
.band-dark .loi25-flag{background:rgba(255,255,255,.08) !important;border-color:rgba(255,255,255,.18) !important;color:#fff !important}
.band-dark .loi25-check{color:rgba(255,255,255,.82) !important}
.band-dark .loi25-check-icon{background:rgba(201,168,116,.18) !important;color:#C9A874 !important}
.band-dark .loi25-visual,
.band-dark .data-flow{background:rgba(255,255,255,.03) !important;border-color:rgba(255,255,255,.12) !important}
.band-dark .data-node{background:rgba(255,255,255,.06) !important;border-color:rgba(255,255,255,.14) !important}
.band-dark .data-node-icon{background:rgba(201,168,116,.16) !important;color:#C9A874 !important}
.band-dark .data-node-name{color:#fff !important}
.band-dark .data-node-loc,
.band-dark .data-node-flag{color:rgba(255,255,255,.6) !important}
.band-dark .data-arrow{color:rgba(201,168,116,.7) !important}

/* generic safety net for plain text nodes inside dark bands */
.band-dark p,.band-dark li,.band-dark td,.band-dark th,.band-dark h2,.band-dark h3,.band-dark h4{color:inherit}
.band-dark a:not(.btn):not(.pricing-cta){color:#C9A874}

/* contact on navy — closing band */
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-h{color:#fff !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-rule,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-rule-sm{background:#C9A874 !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-line,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-line-txt,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-addr,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-meta{color:rgba(255,255,255,.74) !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-meta b,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-meta strong,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-addr b,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-addr strong{color:#fff !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-social a{
  color:rgba(255,255,255,.9) !important;
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.22) !important;
}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-social a:hover{
  color:#0F1F35 !important;background:#C9A874 !important;border-color:#C9A874 !important;
}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq h3{color:#fff !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-line-txt a,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-hq-meta a{color:#C9A874 !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-info-split{border-color:rgba(255,255,255,.14) !important}

:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) input,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) select,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) textarea,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-select,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-textarea{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) input::placeholder,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) textarea::placeholder{color:rgba(255,255,255,.42) !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) input:focus,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) select:focus,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) textarea:focus{
  border-color:#C9A874 !important;
  background:rgba(255,255,255,.09) !important;
  outline:none !important;
}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) select option{background:#0F1F35;color:#fff}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-submit{background:#C9A874 !important;color:#0F1F35 !important;box-shadow:none !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .ct-submit:hover{background:#d8b985 !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .cf-confirm{color:#C9A874 !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .social-link{border-color:rgba(255,255,255,.2) !important;color:rgba(255,255,255,.8) !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .social-link:hover{border-color:#C9A874 !important;color:#C9A874 !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .footer-tagline,
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .footer-bottom{color:rgba(255,255,255,.6) !important}
:is(.band-dark.contact-section, html[lang="en"] #contact.contact-section) .footer-grid{border-color:rgba(255,255,255,.14) !important}


/* =================================================================
   BAND PALETTE — single cream, single navy
   Light bands were drifting across #FAFAF8 / #FAFAF7 / #F5F3EE /
   #F0EEE8 gradients; every light band is now the brand cream
   #F5F2EA flat, every dark band #0F1F35 flat.
   ================================================================= */
:root{--band-cream:#F5F2EA;--band-navy:#0F1F35}

html,body,
.hero,.hero.hero-corp,
.clients-marquee,
.trust-bar,
.sectors-section,
.process-section,
.contact-section,
.demo-section,
.benefits-section{
  background:var(--band-cream) !important;
}

.band-dark,
.odoo-section{
  background:var(--band-navy) !important;
}

/* cards and wrappers sitting on cream keep a hair of lift without a new hue */
.comparison-section .comparison-wrapper{background:transparent !important}
.sectors-section .container,
.process-section .container{background:transparent !important}


/* =================================================================
   FR-ONLY SECTIONS — Loi 25 is Quebec legislation, hide it in English
   ================================================================= */
html[lang="en"] [data-fr-only]{display:none !important}

/* EN closing band: Loi 25 is FR-only, so contact carries the final navy */
html[lang="en"] #contact.contact-section{background:var(--band-navy) !important;color:#fff !important}
html[lang="en"] #contact .section-eyebrow{color:#C9A874 !important}
html[lang="en"] #contact .section-title{color:#fff !important}
html[lang="en"] #contact .section-desc{color:rgba(255,255,255,.72) !important}


/* =================================================================
   DARK-BAND PALETTE FIX
   Cause: the #compare rules carry ID specificity, so they beat the
   .band-dark inversion — the heading was rendering #0F1F35 navy on a
   navy band (invisible) and the plum accent/green badges are
   off-palette on dark. On dark bands gold is the only accent.
   ================================================================= */
#compare.band-dark .section-title,
.band-dark .section-title{color:#fff !important}
#compare.band-dark .section-title .italic,
.band-dark .section-title .italic{color:#C9A874 !important}
#compare.band-dark .section-desc,
.band-dark .section-desc{color:rgba(255,255,255,.72) !important}
#compare.band-dark .section-eyebrow,
.band-dark .section-eyebrow{color:#C9A874 !important}
#compare.band-dark .section-title::after,
.band-dark .section-title::after{background:#C9A874 !important}

/* status badges on dark: gold for yes, muted white for the rest */
.band-dark .check-yes{
  background:rgba(201,168,116,.20) !important;
  color:#C9A874 !important;border-color:rgba(201,168,116,.45) !important;
}
.band-dark .check-partial{
  background:rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.55) !important;border-color:rgba(255,255,255,.20) !important;
}
.band-dark .check-no{
  background:rgba(255,255,255,.05) !important;
  color:rgba(255,255,255,.30) !important;border-color:rgba(255,255,255,.12) !important;
}

/* highlighted column reads as gold, not a pale grey slab */


/* =================================================================
   CONTRAST REPAIRS — measured, not guessed
   1. lang dropdown: the header rule .lang-toggle button.active set
      color:#fff, but the dropdown option sits on cream -> ratio 1.12
   2. Loi 25 inner text kept its light-band grey (#4A4A55) on navy -> 1.89
   3. dark-band table head was mid grey (#6b6b6b) on navy
   ================================================================= */
.bh-bar-right .lang-select-menu button,
.lang-select-menu button{color:#0F1F35 !important}
.bh-bar-right .lang-select-menu button.active,
.lang-select-menu button.active{background:#F5F2EA !important;color:#0F1F35 !important}

.band-dark .loi25-visual,
.band-dark .loi25-visual *,
.band-dark .data-flow,
.band-dark .data-flow *{color:rgba(255,255,255,.78) !important}
.band-dark .loi25-visual strong,
.band-dark .data-node-name{color:#fff !important}
.band-dark .data-node-icon,
.band-dark .data-arrow{color:#C9A874 !important}


/* sector index numbers were 2.0:1 on cream — deepen the gold */
.sector-row-n{color:#83612D !important}


/* =================================================================
   PALETTE DISCIPLINE
   1. Badges stayed green because
      .comparison-section .comparison-table .check-yes (0,3,0) beats
      .band-dark .check-yes (0,2,0) — both !important. Raised here.
   ================================================================= */



/* =================================================================
   COMPARISON TABLE — light card on the dark band
   Root cause: the table's own surface was a near-identical navy to the
   band behind it, so card and background merged (navy on navy on navy).
   The table becomes a cream card instead — dark section, light card.
   ================================================================= */
.comparison-section.band-dark .comparison-table{
  background:#FAFAF7 !important;
  border:1px solid rgba(15,31,53,.10) !important;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.5) !important;
}
.comparison-section.band-dark .comparison-table *{border-color:rgba(15,31,53,.10) !important}

/* head row */
.comparison-section.band-dark .comparison-table thead,
.comparison-section.band-dark .compare-head,
.comparison-section.band-dark .comparison-table tr:first-child{background:#F2EFE7 !important}
.comparison-section.band-dark .comparison-table th{
  color:#55606e !important;background:#F2EFE7 !important;
}

/* row content */
.comparison-section.band-dark .comparison-table td{background:transparent !important}
.comparison-section.band-dark .comparison-table tbody tr:nth-child(odd) td{background:rgba(15,31,53,.015) !important}
.comparison-section.band-dark .compare-feature-sub,
.comparison-section.band-dark .comparison-table small,
.comparison-section.band-dark .comparison-table p{color:#6b7280 !important}
.comparison-section.band-dark .compare-group-label,
.comparison-section.band-dark .comparison-table .group-label{
  color:#C9A874 !important;background:#F2EFE7 !important;
}

/* featured column: gold-tinted, clearly the highlighted one */
.comparison-section.band-dark .comparison-table .col-featured,
.comparison-section.band-dark .comparison-table th.featured,
.comparison-section.band-dark .comparison-table td.featured{
  background:rgba(201,168,116,.10) !important;
}
.comparison-section.band-dark .comparison-table th.featured{
  background:#0F1F35 !important;color:#C9A874 !important;
}

/* badges back to dark-on-light values */


/* the featured column is .us-col (not .featured) — highlight it for real */
.comparison-section.band-dark .comparison-table th.us-col{
  background:#0F1F35 !important;color:#C9A874 !important;
}
.comparison-section.band-dark .comparison-table td.us-col{
  background:rgba(201,168,116,.11) !important;
}
.comparison-section.band-dark .comparison-table .cmp-band td.us-col{
  background:rgba(201,168,116,.16) !important;
}
.comparison-section.band-dark .comparison-table .feature-name{color:#0F1F35 !important}
.comparison-section.band-dark .comparison-table .feature-sub{color:#6b7280 !important}
.comparison-section.band-dark .comparison-table .cmp-band td{
  background:#F2EFE7 !important;color:#8A6A32 !important;
}
.comparison-section.band-dark .comparison-table .cmp-band td.us-col{
  background:rgba(201,168,116,.16) !important;
}


/* =================================================================
   COMPARISON BADGES — semantic colour code
   green = included · grey = partial / manual · red = not available
   ================================================================= */
#compare .comparison-table .check-yes,
#compare .comparison-table .check-partial,
#compare .comparison-table .check-no{
  border-width:1px !important;border-style:solid !important;
}
#compare .comparison-table .check-yes{
  background:rgba(31,122,80,.12) !important;
  border-color:rgba(31,122,80,.38) !important;
  color:#1F7A50 !important;
}
#compare .comparison-table .check-partial{
  background:rgba(15,31,53,.06) !important;
  border-color:rgba(15,31,53,.20) !important;
  color:#78818f !important;
}
#compare .comparison-table .check-no{
  background:rgba(178,52,52,.10) !important;
  border-color:rgba(178,52,52,.34) !important;
  color:#B23434 !important;
}


/* =================================================================
   PROCESS TIMELINE — palette aligned to cream / navy / gold
   The dots still used the retired --brand-primary / --accent vars, so
   the final step rendered a muted blue-grey and read as "disabled"
   instead of "delivered". Progress now runs navy -> gold.
   ================================================================= */
.process-section .process-track{
  background:rgba(15,31,53,.12) !important;
}
.process-section .process-track-fill{
  background:linear-gradient(90deg,#0F1F35 0%,#C9A874 55%,#C9A874 100%) !important;
}

/* intermediate steps: white chip, navy rule + numeral */
.process-section .process-step-dot{
  background:#FFFFFF !important;
  border:1.5px solid rgba(15,31,53,.22) !important;
  color:#0F1F35 !important;
  box-shadow:0 2px 8px -4px rgba(15,31,53,.25) !important;
}
.process-section .process-step-num{
  font-family:'Geist',-apple-system,sans-serif;
  font-weight:700;font-size:15px;letter-spacing:-.01em;
}

/* first step: engaged */
.process-section .process-step-dot-start{
  background:#0F1F35 !important;
  border-color:#0F1F35 !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 20px -8px rgba(15,31,53,.55) !important;
}

/* last step: delivered — gold, not grey */
.process-section .process-step-dot-end{
  background:#C9A874 !important;
  border-color:#C9A874 !important;
  box-shadow:0 8px 20px -8px rgba(201,168,116,.7) !important;
}
.process-section .process-step-dot-end svg{color:#0F1F35 !important}

/* titles + captions: same type colours as the rest of the light bands */
.process-section .process-step-title{color:#0F1F35 !important;font-weight:600 !important}
.process-section .process-step-desc{color:#676D7B !important}

/* guarantee chips: gold check on cream, matching the sector tags */
.process-section .process-guarantee{
  background:#FFFFFF !important;
  border:1px solid rgba(15,31,53,.12) !important;
  color:#39424f !important;
}
.process-section .process-guarantee svg{color:#C9A874 !important}
.process-section .process-guarantee strong{color:#0F1F35 !important}


/* =================================================================
   CONTACT — privacy line (replaces the full Loi 25 section)
   ================================================================= */
.ct-privacy{
  display:grid;grid-template-columns:16px 1fr;gap:9px;align-items:start;
  margin:16px 0 0;font-size:12.5px;line-height:1.55;
  color:rgba(255,255,255,.6);
}
.ct-privacy svg{width:15px;height:15px;margin-top:2px;color:#C9A874}
.ct-privacy strong{color:rgba(255,255,255,.9);font-weight:600}
.ct-privacy a{color:#C9A874;text-decoration:none;border-bottom:1px solid rgba(201,168,116,.4)}
.ct-privacy a:hover{border-color:#C9A874}


/* footer tagline: last serif survivor of the corporate pass */
footer .footer-tagline{font-family:'Geist',-apple-system,sans-serif !important;font-style:normal !important}
footer a.is-current{color:#C9A874 !important}


/* footer-grid: keep 5 columns from collapsing to 3+2 with an orphan cell */
@media (max-width:1100px){
  footer .footer-grid{
    grid-template-columns:1.6fr repeat(2,1fr) !important;
    row-gap:38px !important;
  }
}
@media (max-width:680px){
  footer .footer-grid{grid-template-columns:1fr 1fr !important}
  footer .footer-col:first-child{grid-column:1 / -1 !important}
}
@media (max-width:460px){
  footer .footer-grid{grid-template-columns:1fr !important}
}


/* contact page: reachable coordinates beside the form */
.ct-coords{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 34px;margin:0 0 38px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.14)}
.ct-coord{display:flex;flex-direction:column;gap:6px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.86)}
.ct-coord-k{font-family:'Geist Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#C9A874}
.ct-coord a{color:rgba(255,255,255,.92);text-decoration:none;border-bottom:1px solid rgba(201,168,116,.4);padding-bottom:2px;align-self:flex-start;transition:border-color .2s,color .2s}
.ct-coord a:hover{color:#fff;border-color:#C9A874}
@media(max-width:600px){.ct-coords{grid-template-columns:1fr;gap:18px}}


/* Odoo section: enterprise pedigree stated in text, no borrowed marks */
.oo-brands{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.66)}
.oo-brands strong{color:#fff;font-weight:600}


/* marquee: non-client logos are plain spans, so keep the tile identical */
.clients-marquee span.cm-logo{cursor:default}
.clients-marquee .cm-logo img{background:transparent}


/* =================================================================
   GOLD ON LIGHT — contrast
   #C9A874 is a 2:1 gold: fine on navy, unreadable on cream/white.
   Use the darker token (3.53:1) wherever the resolved background is
   light; #C9A874 stays for navy bands only.
   ================================================================= */
.sectors-section .section-eyebrow{color:#9C7B3F !important}
.sectors-section .section-title .italic{color:#0F1F35 !important}


/* =================================================================
   CREAM-BAND CONTRAST
   These tones were all picked against white; the cream band #F5F2EA is
   darker, so each fell below AA. Values computed to the lightest tone
   that clears 4.6:1 on cream, hue preserved.
   ================================================================= */
.hero.hero-corp .hc-trust{color:#6D6D6D}
.clients-marquee .cm-label{color:#706C65}
.trust-bar .trust-bar-label{color:#6C6C74}
.sectors-section .section-eyebrow{color:#83612D !important}
.sector-row-desc{color:#676D7B}
.process-section .process-step-desc{color:#676D7B !important}
.comparison-section.band-dark .comparison-table .cmp-band td{color:#83612D !important}
