/* ==============================================================
   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 {
  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 .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 .nav-links li {
  margin: 0 !important;
  padding: 0 !important;
}
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 .nav-links a:hover {
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
nav .nav-links a.is-active,
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 .logo,
nav a.logo,
nav > a:first-child {
  display: inline-flex;
  align-items: center;
}
nav .logo img,
nav a.logo img,
nav > a:first-child img {
  height: 68px !important;
  width: auto !important;
}

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

/* CTA in nav: pill style matching */
nav .nav-actions .btn-primary,
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 .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 .lang-toggle,
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 .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 { padding: 0.85rem 1rem !important; }
  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 { position: relative; }
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 .nav-links .mega-trigger:hover,
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));
  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: #c9a874; }    /* warm gold */
.mega-cat-websites h4      { color: #5d8a9c; }    /* dusty teal */
.mega-cat-supply h4        { color: #8a5d7a; }    /* aubergine */
.mega-cat-hr h4            { color: #4A6890; }
.mega-cat-marketing h4     { color: #c9a874; }
.mega-cat-services h4      { color: #8a5d7a; }
.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; }
}


/* =================================================================
   MOBILE — hamburger menu & responsive nav pill
   ================================================================= */
.mobile-menu-btn{display:none}
@media (max-width: 980px) {
  nav .nav-inner{padding:8px 10px 8px 14px !important; gap:8px !important}
  nav .logo img{height:48px !important}
  nav .nav-links{display:none !important}
  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{
  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;
}
html[lang="fr"] .comparison-section .comparison-table .feature-name[data-fr],
html[lang="en"] .comparison-section .comparison-table .feature-name[data-en]{
  display: block !important;
}
.comparison-section .comparison-table .feature-sub{
  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;
}
html[lang="fr"] .comparison-section .comparison-table .feature-sub[data-fr],
html[lang="en"] .comparison-section .comparison-table .feature-sub[data-en]{
  display: block !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;
  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; }
}


/* 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; }
