/*
  style.css
  Base theme for the site.
*/

html, body {
  overflow-x: hidden;
}
:root {
  --color-bg: #12091F;
  --color-text: #F6F5FA;
  --color-accent: #B8955E;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #FFFFFF;
  color: #12091F;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.6;
}
body.nav-open {
  overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0 0 1rem;
}
h1 {
  background: linear-gradient(180deg, #FFFFFF, #E3C88A);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  color: #12091F;
}
.btn {
  display: inline-block;
  background-color: var(--color-accent);
  color: #12091F;
  border: none;
  border-radius: 8px;
  padding: 0.75rem 1.5rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.btn:hover,
.btn:focus {
  opacity: 0.85;
}
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
header.header-dark {
  background: rgba(18, 9, 31, 0.95);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}
header .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  justify-content: center;
  align-items: center;
}
header .nav a,
header a {
  color: #12091F;
  text-decoration: none;
  font-weight: 600;
  padding: 0.5rem 0;
  transition: color 0.2s ease;
}
header .nav a:hover,
header a:hover {
  color: #B8955E;
}
header.header-dark .nav a,
header.header-dark a {
  color: #F6F5FA;
}
header.header-dark .nav a:hover,
header.header-dark a:hover {
  color: #B8955E;
}
.logo {
  height: 36px;
  width: auto;
  transition: opacity 0.3s ease;
}
.header-logo {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  height: 36px;
  width: auto;
}
.header-logo .logo {
  grid-area: 1 / 1;
  height: 36px;
  width: auto;
  transition: opacity 0.3s ease;
}
.logo-light {
  opacity: 1;
}
header.header-dark .logo-light {
  opacity: 0;
}
header.header-dark .logo-dark {
  opacity: 1;
}
.header-controls {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.lang-btn,
.theme-btn {
  background: transparent;
  border: 1px solid rgba(75, 42, 140, 0.3);
  border-radius: 6px;
  color: #12091F;
  font-family: inherit;
  font-size: 0.9rem;
  padding: 0.35rem 0.6rem;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.lang-btn:hover,
.theme-btn:hover {
  background: rgba(75, 42, 140, 0.1);
}
html.dark header {
  background: rgba(18, 9, 31, 0.9);
  border-bottom-color: rgba(184, 149, 94, 0.2);
}
html.dark header .nav a,
html.dark header a,
html.dark .lang-btn,
html.dark .theme-btn {
  color: #F6F5FA;
}
html.dark .lang-btn,
html.dark .theme-btn {
  border-color: rgba(246, 245, 250, 0.3);
}
footer {
  text-align: center;
  padding: 2rem 1rem;
}
footer .footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}
footer .footer a,
footer a {
  color: #B8955E;
  text-decoration: none;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  transition: color 0.2s ease;
}
footer .footer a:hover,
footer a:hover {
  color: #F6F5FA;
}
.container > *:not(:last-child) {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .header-inner {
    padding: 0.75rem 1rem;
  }

  header .nav {
    gap: 1rem;
  }

  .header-controls {
    right: 1rem;
    gap: 0.3rem;
  }

  footer .footer {
    gap: 1rem;
  }
}
.hero-banner {
  position: relative;
  width: 100%;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  text-align: left;
  padding: 4rem 2rem;
  background-image: url('img/krevia_banniere.png');
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.hero-text {
  flex: 1;
}
.hero-device {
  flex: 1.6;
  max-width: 100%;
  margin-right: 3rem;
}
.hero-device img {
  width: 100%;
  display: block;
  filter: drop-shadow(0 30px 60px rgba(18,9,31,0.28));
}
.hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18,9,31,0.35);
  z-index: 1;
}
.hero-banner > * {
  position: relative;
  z-index: 2;
}
.hero-banner h1 {
  max-width: 700px;
  margin: 0 0 1.5rem;
}
.hero-banner p {
  color: #F6F5FA;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  max-width: 600px;
  margin: 0 0 2rem;
}
.gold {
  color: #B8955E;
}
/* Burger menu */
.burger {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 2rem;
  height: 2rem;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}
.burger span {
  display: block;
  width: 100%;
  height: 3px;
  background: #12091F;
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}
header.header-dark .burger span {
  background: #F6F5FA;
}
.nav-close {
  display: none;
}
/* Section layout */
.container {
  padding: 0 1.5rem 0;
}
.container > section {
  margin-bottom: 0;
  padding: 100px 1.5rem;
}
.container > section:nth-of-type(even) {
  background: #F6F5FA;
}
.container > section:nth-of-type(odd) {
  background: #FFFFFF;
}
.container > section:not(.stats) h2 {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 2rem;
}
.section-label {
  display: block;
  text-align: center;
  text-transform: uppercase;
  color: #4B2A8C;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.card { background: #FFFFFF; border: 1px solid #E8E4F0; border-radius: 12px; padding: 2rem; box-shadow: 0 4px 12px rgba(18,9,31,0.04); position: relative; }
.card h3,
.step h3 {
  font-size: 1.1rem;
  margin: 0 0 0.5rem;
  font-weight: 600;
}
.card p,
.step p {
  color: #777;
  font-size: 0.95rem;
  margin: 0.25rem 0 0;
}
.card .emoji {
  color: #4B2A8C;
  font-size: 2rem;
  display: inline-block;
  margin-bottom: 0.75rem;
}
.card.featured {
  border: 2px solid #B8955E;
  position: relative;
}
.badge {
  position: absolute;
  top: -12px;
  right: 1rem;
  background: #B8955E;
  color: #12091F;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
}
.problem-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.problem-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.8rem;
  background: #E6E0F7;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  flex-shrink: 0;
}
.problem-content {
  flex: 1;
  min-width: 0;
}
.problem-content h3 {
  margin: 0 0 0.5rem;
}
.problem-warning {
  width: 100%;
  margin-top: 1rem;
  background: #F0EBFA;
  color: #4B2A8C;
  border-radius: 6px;
  padding: 0.75rem 1rem;
}
.problem-warning strong {
  color: #4B2A8C;
}
.offer-btn {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #E8E4F0;
  border: none;
  color: #4B2A8C;
  font-size: 1.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(18,9,31,0.1);
  transition: transform 0.2s;
}
.offer-btn:hover {
  transform: scale(1.05);
}
.card.featured .offer-btn {
  background: #B8955E;
  color: #12091F;
}
/* Stats band */
.stats {
  background: transparent !important;
  padding: 0 1.5rem !important;
  margin-top: 0;
  position: relative;
  height: 0;
  z-index: 10;
}
.stats.reveal,
.stats.reveal.is-visible {
  transform: none !important;
}
.stats-card {
  background: rgba(18,9,31,0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(184,149,94,0.35);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(18,9,31,0.2);
  padding: 2rem 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
}
.stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
}
.stat-emoji {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(184,149,94,0.4);
  color: #B8955E;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
.stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: #F6F5FA;
  line-height: 1.2;
}
.stat-label {
  display: block;
  color: rgba(246,245,250,0.85);
  font-weight: 500;
  white-space: nowrap;
  font-size: 0.85rem;
}
.stat-divider {
  width: 1px;
  height: 60%;
  background: rgba(184,149,94,0.25);
  flex: 0 0 1px;
  margin: 0 1rem;
  align-self: center;
}
/* Steps with dotted line */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.step {
  text-align: center;
  position: relative;
}
.step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1.25rem;
  right: -3rem;
  width: 3rem;
  border-top: 2px dashed rgba(75,42,140,0.3);
}
.step-number {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #4B2A8C;
  color: #F6F5FA;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  margin-bottom: 0;
}
.step h3 {
  margin-top: 1rem;
}
.step p {
  margin-top: 0.5rem;
}
/* Process section */
.process {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  background: #F6F5FA url('img/process-bg.png') center/cover no-repeat !important;
  padding: 6rem 2rem;
  text-align: center;
}
.process {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
}
.pillars-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 3rem;
}
.pillars-head {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 4rem;
}
.pillar {
  flex: 1;
  max-width: 260px;
  text-align: center;
}
.pillar-icon {
  color: #B8955E;
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}
.pillar-icon img {
  width: 220px;
  height: 220px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.audit {
  background: #F6F5FA url('img/audit-bg.png') center/cover no-repeat !important;
  padding: 6rem 2rem;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
}
.audit-card {
  max-width: 1520px;
  margin: 0 auto;
  background: rgba(255,255,255,0.28);
  backdrop-filter: blur(1px);
  border-radius: 20px;
  padding: 4.5rem;
  display: flex;
  align-items: stretch;
  gap: 4rem;
  text-align: left;
  position: relative;
}
.audit-left {
  flex: 1.2;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.audit-left p {
  text-align: left !important;
}
.audit-left h2 { text-align: left !important; font-size: 2.4rem; font-weight: 700; color: #12091F; line-height: 1.2; margin: 0.75rem 0 0; }
.audit-left h2 .accent {
  color: #B8955E;
}
.audit-rule {
  display: block;
  width: 44px;
  height: 3px;
  background: #B8955E;
  margin: 1.5rem 0;
}
.audit-sub {
  color: #6b6b7b;
  line-height: 1.7;
  margin: 0 0 2.5rem;
}
.audit-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-bottom: 3.5rem;
}
.af {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.af + .af {
  border-left: 1px solid rgba(109,63,184,0.15);
  padding-left: 1.25rem;
}
.af h4 {
  font-size: 0.9rem;
  color: #12091F;
  margin: 0 0 0.3rem;
}
.af p {
  font-size: 0.8rem;
  color: #6b6b7b;
  margin: 0;
  line-height: 1.5;
}
.audit-proof {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: rgba(36,17,70,0.06);
  border: 1px solid rgba(109,63,184,0.18);
  border-radius: 14px;
  padding: 1.5rem 2rem;
}
.proof-number {
  font-size: 2.4rem;
  font-weight: 700;
  color: #4B2A8C;
  line-height: 1;
}
.proof-text strong {
  display: block;
  color: #12091F;
  font-size: 1.05rem;
  margin-bottom: 0.25rem;
}
.proof-text span {
  color: #6b6b7b;
  font-size: 0.88rem;
  line-height: 1.5;
}
.audit-note {
  font-size: 0.85rem;
  color: #6b6b7b;
  position: absolute;
  bottom: 1.5rem;
  left: 4.5rem;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.audit-right {
  flex: 1;
  display: flex;
}
.audit-form {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(18,9,31,0.08);
  flex: 1;
  display: flex;
  flex-direction: column;
}
.audit-form h3 {
  font-size: 1.15rem;
  text-align: center;
  margin: 0 0 0.5rem;
  color: #12091F;
}
.audit-form > p {
  font-size: 0.85rem;
  color: #6b6b7b;
  text-align: center;
  margin: 0 0 1.5rem;
  line-height: 1.5;
}
.audit-form input,
.audit-form select,
.audit-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.8rem 1rem;
  margin-bottom: 0.75rem;
  border: 1px solid #D8D2EC;
  border-radius: 8px;
  font-family: inherit;
  font-size: 0.9rem;
  background: #F3F1FA;
  appearance: none;
  -webkit-appearance: none;
  color: #12091F;
}
.audit-form textarea {
  flex: 1;
}
.audit-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236D3FB8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.af-row {
  display: flex;
  gap: 0.75rem;
}
.audit-form .btn-gold {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  background: #B8955E;
  color: #12091F;
  padding: 0.9rem;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  margin-top: 0.5rem;
}
.form-note {
  font-size: 0.75rem;
  color: #9a97a8;
  text-align: center;
  margin: 3rem 0 0;
  margin-top: 1.2rem !important;
}
.form-note a {
  color: #6D3FB8;
  text-decoration: underline;
}
.form-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(109,63,184,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
}
.eyebrow {
  color: #4B2A8C;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  margin-bottom: 1rem;
}
.process h2 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #12091F;
  margin: 0 0 0.5rem;
}
.process h2 .accent {
  color: #6D3FB8;
}
.process-sub {
  color: #6b6b7b;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.process-grid {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  gap: 2.5rem;
}
.process-grid::before {
  content: "";
  position: absolute;
  top: 36px;
  left: 12%;
  right: 12%;
  height: 2px;
  background: #B9A5E0;
  z-index: 0;
}
.process-item {
  flex: 1;
  max-width: 320px;
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.process-num {
  position: absolute;
  top: -1.5rem;
  left: 0;
  transform: none;
  z-index: 0;
  font-size: 3.5rem;
  font-weight: 800;
  color: #F4F2FB;
  -webkit-text-stroke: 3px rgba(75,42,140,0.16);
  paint-order: stroke fill;
}
.process-icon {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #6D3FB8;
  box-shadow: 0 0 0 8px rgba(109,63,184,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4B2A8C;
}
.process-icon svg {
  width: 28px;
  height: 28px;
}
.process-card {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 4rem 2rem 2.5rem;
  margin-top: -36px;
  min-height: 340px;
  box-shadow: 0 10px 40px rgba(18,9,31,0.08);
  border-bottom: 3px solid #6D3FB8;
}
.process-item:last-child .process-card {
  border-bottom-color: #B8955E;
}
.process-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #12091F;
  margin: 0 0 0.25rem;
}
.process-tag {
  font-size: 0.82rem;
  color: #6D3FB8;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.process-rule {
  display: block;
  width: 28px;
  height: 2px;
  background: #B8955E;
  margin: 0.9rem auto;
}
.process-desc {
  font-size: 0.95rem;
  color: #6b6b7b;
  line-height: 1.6;
  margin: 0;
}
.process-arrow {
  position: relative;
  z-index: 2;
  align-self: flex-start;
  margin-top: 20px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid #D9CEF0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #6D3FB8;
}
.process-cta {
  max-width: 1200px;
  margin: 4rem auto 0;
  background: linear-gradient(120deg, #241146, #4B2A8C);
  background-image: url('img/cta-bg.png');
  background-size: cover;
  background-position: center;
  background-blend-mode: soft-light;
  background-color: #2A1350;
  border-radius: 16px;
  padding: 2.5rem 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.cta-left {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-align: left;
}
.cta-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  flex-shrink: 0;
}
.cta-left h3 {
  color: #fff;
  font-size: 1.4rem;
  margin: 0 0 0.4rem;
}
.cta-left p {
  color: rgba(255,255,255,0.7);
  font-size: 0.9rem;
  margin: 0;
}
.cta-right {
  text-align: center;
}
.cta-note {
  color: rgba(255,255,255,0.7);
  font-size: 0.82rem;
  margin-top: 0.8rem;
}
.process-cta .btn-gold {
  background: #B8955E;
  color: #12091F;
  padding: 0.9rem 1.8rem;
  border-radius: 8px;
  font-weight: 700;
  display: inline-block;
  text-decoration: none;
}
.stars {
  color: #B8955E;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}
.person {
  font-weight: 600;
  color: #4B2A8C;
  margin-top: 1rem;
}
.faq {
  background: #F6F5FA url('img/faq-bg.png') center/cover no-repeat !important;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
  padding: 6rem 2rem;
}
.faq-link:hover {
  color: #B8955E;
  border-color: #4B2A8C;
}
.faq-list details[open] summary {
  margin-bottom: 0.5rem;
}
/* Final CTA block */
.cta {
  background: #241146;
  color: #F6F5FA;
  text-align: center;
  padding: 100px 2rem;
}
.cta h2 {
  color: #F6F5FA;
  font-size: 2.5rem;
  margin-bottom: 2rem;
}
.final-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin: 0 auto 2rem;
  max-width: 900px;
}
.final-item {
  text-align: center;
}
.final-icon {
  font-size: 2.5rem;
  color: #B8955E;
  display: block;
  margin-bottom: 0.75rem;
}
.final-item h3 {
  color: #F6F5FA;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}
.final-item p {
  color: rgba(246,245,250,0.85);
  font-size: 0.95rem;
}
/* Price */
.price {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4B2A8C;
  margin: 0.5rem 0;
}
.emoji {
  color: #4B2A8C;
}
.lucide {
  width: 20px;
  height: 20px;
  stroke-width: 1.5;
  color: #4B2A8C;
}
/* Header CTA button */
.header-cta {
  display: inline-block;
  background-color: #B8955E;
  color: #12091F;
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
  margin-left: 1rem;
}
.header-cta:hover {
  opacity: 0.85;
}
/* Parallax stats card */

/* Jurisdiction section layout */
.jurisdictions {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #EDEBF2;
}
.jurisdiction-header {
  text-align: left;
  margin-bottom: 1.5rem;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem;
}
.jurisdiction-header h2 {
  font-size: 2.6rem !important;
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 1rem;
  max-width: 1000px;
  text-align: left !important;
}
.jurisdiction-header .section-label {
  text-align: left !important;
}
.jurisdiction-header .sub {
  color: #777;
  margin-top: 0.25rem;
  line-height: 1.6;
  text-align: left !important;
}
.jurisdiction-layout {
  display: flex;
  gap: 2rem;
  align-items: stretch;
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem;
}
.jurisdiction-globe {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 660px !important;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}
.placeholder-box {
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9B9FA7;
  font-weight: 600;
  margin: 0;
  overflow: visible;
}
.jurisdiction-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1.1 1 0;
  min-width: 0;
  height: 660px !important;
  min-height: 0 !important;
  max-height: 660px !important;
  overflow: hidden !important;
}
.accordion-item {
  flex: none;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E3DEF0;
  border-radius: 16px;
  padding: 0.75rem 1rem;
  position: relative;
  transition: height 0.4s ease, border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 12px rgba(18,9,31,0.04);
  margin-bottom: 0;
  order: 0;
  overflow: hidden;
  height: auto;
}
.accordion-item.active { order: -1; flex: none; min-height: 0; border-color: #4B2A8C; box-shadow: 0 8px 30px rgba(75,42,140,0.12); overflow: hidden; z-index: 2; border: 2px solid #4B2A8C; }
.accordion-active-content {
  position: relative;
  max-height: 100%;
  overflow: hidden;
}
.accordion-active-content .flag {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.5rem;
}
.j-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #4B2A8C;
  margin: 0;
}
.j-form {
  color: #777;
  font-weight: 500;
  margin-top: 0.25rem;
}
.j-flag {
  font-size: 1.6rem;
  line-height: 1;
}
.check-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #4B2A8C;
  color: #F6F5FA;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.accordion-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #4B2A8C;
  color: #F6F5FA;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  cursor: pointer;
  border: none;
}
.j-description {
  margin-top: 1rem;
  color: #555;
  line-height: 1.5;
}
.j-divider {
  border: 0;
  border-top: 1px solid #E3DEF0;
  margin: 1.5rem 0;
}
.accordion-active-content .btn {
  margin-top: 1rem;
}
.advantage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.advantage {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  background: #F6F5FA;
  padding: 0.75rem;
  border-radius: 8px;
}
.adv-icon {
  width: 2.2rem;
  height: 2.2rem;
  flex-shrink: 0;
  border-radius: 0.5rem;
  background: #E6E0F7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #4B2A8C;
}
.adv-text {
  min-width: 0;
}
.adv-text strong {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  color: #12091F;
  margin-bottom: 0.2rem;
}
.adv-text span {
  display: block;
  font-size: 0.8rem;
  color: #777;
  line-height: 1.35;
}
.accordion-inactive {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  height: 100%;
  min-height: 0;
  padding: 0.25rem 0;
}
.accordion-item.active .accordion-inactive {
  display: none;
}
.accordion-item:not(.active) .accordion-active-content {
  display: none;
}
.accordion-item:not(.active) {
  flex: none;
  min-height: 0;
  overflow: hidden;
  z-index: 1;
}
.accordion-item:not(.active) .accordion-inactive {
  display: flex;
}
.jurisdiction-accordion.has-active .accordion-item:not(.active) .j-body .j-form,
.jurisdiction-accordion.has-active .accordion-item:not(.active) .j-body .j-desc,
.jurisdiction-accordion.has-active .accordion-item:not(.active) .j-body .j-tags-divider,
.jurisdiction-accordion.has-active .accordion-item:not(.active) .j-body .j-tags {
  display: none;
}
.accordion-trigger {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #EDE9F7;
  border: 1px solid #D9CFF0;
  color: #4B2A8C;
  font-size: 1.2rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, background-color 0.2s;
}
.accordion-trigger:hover { background: #E1D9F2; transform: translateX(2px); }
@media (max-width: 899px) {
  .jurisdiction-header {
    text-align: left;
    margin-bottom: 1.5rem;
  }
  .jurisdiction-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .placeholder-box {
    width: 500px;
    height: 500px;
    aspect-ratio: auto;
    margin: 0 auto;
  }
}
/* Left align heading & sub in Trois juridictions */
.jurisdiction-intro h2 {
  text-align: left !important;
  margin-left: 0 !important;
}
.jurisdiction-intro .sub,
.jurisdiction-intro .section-label {
  text-align: left;
}
.jurisdiction-intro .sub {
  max-width: 400px;
  margin-left: 0;
}
.jurisdiction-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 0.5rem;
  color: #12091F;
}
.jurisdiction-wrap,
.jurisdiction-intro,
.jurisdictions {
  overflow: visible;
}
/* Active card: flag left, title+form right */
.j-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.j-head .flag {
  font-size: 2.5rem;
  line-height: 1;
  display: inline-block;
  margin: 0;
}
.j-head > div {
  min-width: 0;
}
.j-head .j-title,
.j-head .j-form {
  margin: 0;
}
/* Collapsed cards: flag, name, form on one left-aligned row */
.accordion-inactive .j-info {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  margin-left: 0;
  padding-left: 0;
}
.accordion-inactive .j-info .flag { margin-left: 0; width: 28px; height: 20px; flex-shrink: 0; margin-top: 0.25rem; }
.accordion-inactive .j-body {
  flex: 1;
  min-width: 0;
}
.accordion-inactive .j-title {
  font-weight: 700;
  font-size: 1.4rem;
  color: #12091F;
  margin: 0;
}
.accordion-inactive .j-form {
  color: #777;
  font-size: 0.9rem;
  margin-top: 0.05rem;
}
.accordion-inactive .j-desc {
  color: #8A8A93;
  font-size: 0.9rem;
  line-height: 1.4;
  margin-top: 0.2rem;
  white-space: normal;
  max-width: 300px;
  overflow-wrap: break-word;
}
.accordion-inactive .j-tags-divider {
  border: 0;
  border-top: 1px solid #E3DEF0;
  margin: 0.4rem 0;
}
.accordion-inactive .j-tags {
  color: #4B2A8C;
  font-size: 0.8rem;
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
}
.accordion-inactive .j-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  flex-shrink: 0;
}
#globe-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}
#globe-container canvas {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block;
  margin: auto;
}
#globe-container .globe-fallback {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #9B9FA7;
  font-weight: 600;
}
.flag {
  display: inline-block;
  width: 28px;
  height: 20px;
  line-height: 1;
  flex-shrink: 0;
}
/* FAQ heading */
.faq-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 3.5rem;
}
.faq-head h2 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #12091F;
  line-height: 1.2;
  margin: 0.75rem 0 1.25rem;
}
.faq-head h2 .accent {
  color: #B8955E;
}
.faq-sub {
  color: #6b6b7b;
  line-height: 1.7;
  margin: 0;
}
.faq-list details { border: 1px solid #E8E3F5; border-radius: 12px; padding: 0; margin-bottom: 0.85rem; background: #FFFFFF; box-shadow: 0 2px 10px rgba(18,9,31,0.04); }
.faq-list summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.5rem; color: #12091F; font-size: 0.98rem; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-ico {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #F1ECFB;
  flex-shrink: 0;
  line-height: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.faq-plus {
  margin-left: auto;
  color: #6D3FB8;
  font-size: 1.3rem;
  font-weight: 400;
}
.faq-list details[open] .faq-plus {
  transform: rotate(45deg);
}
.faq-list details p {
  margin: 0;
  padding: 0 1.5rem 1.3rem 4.5rem;
  color: #6b6b7b;
  line-height: 1.7;
  font-size: 0.92rem;
}
.faq-cta {
  max-width: 860px;
  margin: 2.5rem auto 0;
  background: #FFFFFF;
  border: 1px solid #E8E3F5;
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.faq-cta-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.faq-cta-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #241146;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.faq-cta strong {
  display: block;
  color: #12091F;
  font-size: 1rem;
}
.faq-cta span {
  color: #6b6b7b;
  font-size: 0.87rem;
}
.faq-cta .btn-gold {
  background: #B8955E;
  color: #12091F;
  padding: 0.8rem 1.6rem;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .faq-head h2 {
    font-size: 1.9rem;
  }
  .faq-cta {
    flex-direction: column;
    text-align: center;
  }
  .faq-cta-left {
    flex-direction: column;
  }
}
/* Force solid background for .jurisdictions */
.jurisdictions {
  background: #EDEBF2 !important;
  background-image: none !important;
}
/* Force solid background for .process */
.process {
  background-color: #EDEBF2 !important;
}
.footer {
  background: #12091F;
  padding: 4rem 2rem 2rem;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
  display: block;
}
.footer-top {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 4rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.footer-brand {
  flex: 1.5;
}
.footer-logo {
  height: 32px;
  margin-bottom: 1rem;
}
.footer-brand p {
  color: rgba(255,255,255,0.55);
  font-size: 0.88rem;
  line-height: 1.7;
  margin: 0;
  max-width: 320px;
}
.footer-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.footer-col h4 {
  color: #B8955E;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}
.footer-col a {
  color: rgba(255,255,255,0.65);
  font-size: 0.9rem;
  text-decoration: none;
  padding: 0.35rem 0;
}
.footer-col a:hover {
  color: #FFFFFF;
}
.footer-bottom {
  max-width: 1200px;
  margin: 2rem auto 0;
}
.footer-bottom p {
  color: rgba(255,255,255,0.35);
  font-size: 0.78rem;
  margin: 0.35rem 0;
}
.faq-link { display: block; margin-top: 1.5rem; color: #4B2A8C; font-weight: 600; text-decoration: none; border-bottom: 2px solid #B8955E; padding-bottom: 0.2rem; transition: color 0.2s ease, border-color 0.2s ease; max-width: 860px; margin-left: auto; margin-right: auto; text-align: right; }
.footer-social {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.5rem;
}
.footer-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.7);
  line-height: 0;
  padding: 0;
  text-indent: 0;
}
.footer-social a:hover {
  background: #B8955E;
  color: #12091F;
}
.footer-social a svg {
  display: block;
  margin: 0 auto;
}
.banniere-mid { display: block; width: 100%; margin: 0; padding: 0; font-size: 0; line-height: 0; background: none; }
.banniere-mid img { display: block; width: 100%; height: auto; margin: 0; }
.banniere-mid + .container { padding-top:0 !important; }
.container:has(+ .banniere-mid) { padding-bottom:0 !important; }
.soon {
  background: #FFFFFF;
  padding: 5rem 2rem;
  text-align: center;
  width: 100%;
}
.soon .eyebrow,
.soon-sub {
  text-align: center !important;
}
.soon h2 {
  font-size: 2rem;
  color: #12091F;
  margin: 0.75rem 0 1rem;
}
.soon-sub {
  color: #6b6b7b;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.7;
}
.jurisdictions.reveal,
.process.reveal,
.audit.reveal,
.faq.reveal,
.pillars.reveal {
  opacity: 1 !important;
  transform: none !important;
}
.header-logo-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  line-height: 0;
}
.header-logo a {
  display: inline-flex;
  align-items: center;
}
.mid-cta { text-align: center; padding: 0 !important; background: transparent !important; margin: 0 !important; height: 0 !important; position: relative !important; z-index: 20 !important; overflow: visible !important; }
.mid-cta a { display: inline-block; background: #4B2A8C; color: #fff; padding: 1rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 0.95rem; position: relative !important; top: -30px !important; }
.container:has(> .mid-cta) {
  background: transparent !important;
  padding: 0 !important;
}
header.header-dark .nav-drop-sep { color: #E3C88A !important; border-top-color: rgba(255,255,255,0.12) !important; }
.nav { margin-right: auto !important; }
.header-right { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; }
.lang-drop { position: relative; }
.lang-toggle { cursor: pointer; font-size: 0.9rem; font-weight: 600; }
.lang-drop:hover .lang-menu { display: block; }
.btn-login { text-decoration: none; font-size: 0.92rem; font-weight: 600; color: inherit; }
header.header-dark .lang-menu { background: rgba(18,9,31,0.98); border-color: rgba(255,255,255,0.10); }
header.header-dark .lang-menu a { color: #fff; }
.header-inner { max-width: 100% !important; margin: 0 auto; padding: 1rem 1.5rem; display: flex; justify-content: flex-start !important; align-items: center; gap: 2.5rem !important; padding-left: 2rem !important; padding-right: 2rem !important; position: relative !important; }
header.header-dark .nav-drop-menu { background: #12091F !important; border-color: rgba(255,255,255,0.10) !important; }
header.header-dark .nav-drop-menu a:hover { background: rgba(255,255,255,0.06) !important; }
header.header-dark .nav-drop-toggle { color: #FFFFFF !important; }
.pillars { background: #12091F !important; padding: 5rem 2rem; margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); width: 100vw; max-width: 100vw; }
.pillars-head h2 { color: #FFFFFF !important; font-size: 1.6rem; font-weight: 700; margin: 0.75rem 0 0; }
.pillars-head .eyebrow { color: #B8955E !important; }
.pillar h3 { color: #FFFFFF !important; font-size: 1.25rem; font-weight: 600; margin: 0 0 0.75rem; }
.pillar p { color: rgba(255,255,255,0.65) !important; font-size: 0.9rem; line-height: 1.6; margin: 0; }
.avis-dots span { width: 8px; height: 8px; border-radius: 50%; background: rgba(75,42,140,0.25); cursor: pointer; }
.avis-dots span.on { background: #4B2A8C; width: 22px; border-radius: 4px; }
.avis-nav { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: 2rem; }
.avis-prev, .avis-next { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(75,42,140,0.2); background: #fff; color: #4B2A8C; font-size: 1.3rem; cursor: pointer; line-height: 1; }
.avis-prev:hover, .avis-next:hover { background: #F1ECFB; }
.avis-dots { display: flex; justify-content: center; gap: 0.5rem; margin-top: 0; }
.avis-client p { color: #12091F; line-height: 1.6 !important; margin: 0 0 1.25rem; font-size: 1.35rem !important; }
.avis-client { background: #F6F5FA !important; border-radius: 16px; padding: 3rem !important; text-align: center !important; }
.avis-head { text-align: center; margin-bottom: 3rem; }
.avis-quote { position: absolute; top: 1.2rem; left: 2rem; font-size: 4.5rem; color: rgba(255,255,255,0.10); line-height: 1; font-family: Georgia, serif; }
.avis-wrap { max-width: 760px !important; margin: 0 auto; position: relative; min-height: 340px; }
.avis-slide.active { display: flex !important; grid-template-columns: 1fr !important; gap: 1.25rem !important; }
.avis-slide.pos-center { opacity: 1; pointer-events: auto; transform: scale(1); z-index: 3; }
.avis-slide.pos-left p, .avis-slide.pos-right p, .avis-slide.pos-left .avis-name, .avis-slide.pos-right .avis-name { color: #12091F !important; }
.avis-slide.pos-left .avis-reply, .avis-slide.pos-right .avis-reply { display: none; }
.avis-reply-label { display: block; color: #E3C88A !important; font-size: 0.72rem !important; letter-spacing: 0.02em !important; text-transform: uppercase; font-weight: 700; margin-bottom: 0.5rem !important; line-height: 1.2 !important; }
.avis-reply p { color: rgba(255,255,255,0.7) !important; line-height: 1.7; margin: 0.4rem 0 0 !important; font-size: 0.85rem !important; text-align: center !important; }
.avis-reply { background: transparent !important; border-radius: 16px; padding: 0 !important; display: flex; flex-direction: column; justify-content: center; align-items: center !important; text-align: center; background-image: none !important; max-width: 760px; margin: 1.5rem auto 0; margin-top: 1rem !important; padding-top: 1rem !important; border-top: 1px solid rgba(255,255,255,0.12); }
.avis-rep { display: none; }
.avis-rep.on { display: block; }
.avis-head h2 { font-size: 2.2rem; color: #12091F !important; margin: 0.75rem 0 1rem; }
.avis-sub { color: #6b6b7b !important; max-width: 620px; margin: 0 auto; }
.avis-rep .avis-reply-label { color: #4B2A8C !important; font-size: 0.72rem !important; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; }
.avis-rep p { color: #6b6b7b !important; font-size: 0.9rem !important; margin: 0.4rem 0 0 !important; line-height: 1.6; }
.avis-source { text-align: center; font-size: 0.85rem; color: #6b6b7b !important; margin-top: 1.25rem; }
.avis-source a { color: #4B2A8C !important; font-weight: 600; }
.avis-slide.pos-left, .avis-slide.pos-right { box-shadow: none !important; background-color: transparent !important; min-height: 320px !important; height: 320px !important; align-self: auto !important; }
.avis-name { font-weight: 700; color: #FFFFFF !important; font-size: 1rem; margin-top: 0 !important; }
.avis-stars { color: #E3C88A !important; font-size: 1.25rem !important; letter-spacing: 3px; margin-bottom: 1rem !important; }
.avis-reps { max-width: 620px; margin: 1.5rem auto 0; text-align: center; min-height: 70px; margin-top: 1rem !important; }
header .nav > a, header .nav-drop-toggle, header .btn-login, header .lang-toggle { color: #FFFFFF !important; }
header .logo-light { display: none !important; }
header .logo-dark { display: block !important; }
.logo-dark { opacity: 1 !important; display: block !important; visibility: visible !important; }
.header-logo img { display: block !important; }
header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 100; width: 100%; background: #12091F !important; backdrop-filter: none !important; -webkit-backdrop-filter: blur(8px); padding: 0; box-shadow: 0 2px 12px rgba(0,0,0,0.3) !important; border-bottom: none !important; }
.avis { background: linear-gradient(135deg, #E4DAF5 0%, #EFE4F0 45%, #F5E6D3 100%) !important; padding: 5rem 2rem !important; margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; width: 100vw !important; max-width: 100vw !important; overflow: hidden !important; }
.hero-text h1 { font-size: clamp(1.9rem, 3.6vw, 3.6rem) !important; line-height: 1.15 !important; }
.hero-text p { font-size: clamp(0.9rem, 1.05vw, 1.05rem) !important; }
.hero-text .btn { font-size: clamp(0.85rem, 1vw, 1rem) !important; }
.nav > a, .nav-drop-toggle { font-weight: 500 !important; font-size: clamp(0.78rem, 0.95vw, 0.95rem) !important; }
.header-cta, .btn-login { font-size: clamp(0.78rem, 0.9vw, 0.92rem) !important; }
h2 { font-size: clamp(1.5rem, 2.6vw, 2.4rem) !important; }
.avis-slide p { color: #FFFFFF !important; font-size: clamp(0.88rem, 1.1vw, 1.15rem) !important; line-height: 1.65 !important; margin: 0 0 1.5rem !important; margin-bottom: 0.75rem !important; display: -webkit-box !important; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden !important; }
.avis-stage { position: relative; max-width: 1200px; margin: 0 auto; height: auto !important; min-height: 400px !important; padding-bottom: 2rem; overflow: hidden !important; }
.avis-slide.pos-left { opacity: 1 !important; transform: translateX(-105%) scale(.92) !important; z-index: 2; background: #F6F5FA url('img/avis-side.png') center/cover no-repeat; }
.avis-slide.pos-right { opacity: 1 !important; transform: translateX(5%) scale(.92) !important; z-index: 2; background: #F6F5FA url('img/avis-side.png') center/cover no-repeat; }
.avis-slide.pos-left p, .avis-slide.pos-right p { font-size: 0.78rem !important; line-height: 1.5 !important; -webkit-line-clamp: 7 !important; }
.avis-slide.pos-left .avis-stars, .avis-slide.pos-right .avis-stars { font-size: 0.95rem !important; margin-bottom: 0.6rem !important; }
.avis-slide.pos-left .avis-name, .avis-slide.pos-right .avis-name { font-size: 0.82rem !important; }
.avis-slide.pos-left .avis-quote, .avis-slide.pos-right .avis-quote { font-size: 3rem !important; }
.avis-slide { display: flex !important; grid-template-columns: 1fr 1fr; gap: 0 !important; background: #241146 url('img/avis-center.png') center/cover no-repeat; border-radius: 20px; padding: 2.5rem 3rem !important; text-align: center; position: absolute; box-shadow: none !important; min-height: 380px !important; flex-direction: column !important; align-items: center; justify-content: center !important; top: 0; left: 50%; width: clamp(300px, 34vw, 480px) !important; margin-left: 0 !important; transition: transform .5s ease, opacity .5s ease; opacity: 0; pointer-events: none; z-index: 1; height: 380px !important; max-height: 380px !important; overflow: hidden; transform: translateX(-50%) !important; }
.af-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.af-icon { width: 68px; height: 68px; border-radius: 50%; background: #EDE8F9 !important; margin: 0 auto 0.9rem; display: flex; align-items: center; justify-content: center; }
/* === Dropdowns : meme fond que la navbar sticky === */
header.header-dark .nav-drop-menu, header.header-dark .lang-menu { background: #12091F !important; }
header.header-dark .nav-drop-menu a { color: #FFFFFF !important; background: transparent !important; }
/* === Pages juridiction (creation-us / uk / hk) === */
.hero-page { background: linear-gradient(160deg,#241146 0%,#12091F 100%); padding: 11rem 0 5rem; text-align: center; }
.hero-page h1 { color:#fff; font-size: clamp(2rem,4vw,3.2rem); line-height:1.15; margin:.6rem 0 1.2rem; }
.hero-page .lead { color: rgba(255,255,255,.78); max-width: 720px; margin: 0 auto 2rem; font-size:1.08rem; line-height:1.65; }
.hero-page .eyebrow { color:#B8955E; letter-spacing:.14em; font-size:.78rem; font-weight:600; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 1.5rem; }
.sec { padding: 4.5rem 0; }
.sec-alt { background: #EDEBF2; }
.sec h2 { color:#241146; font-size: clamp(1.5rem,2.6vw,2.1rem); margin-bottom:1.4rem; }
.sec p { color:#3B3450; line-height:1.7; margin-bottom:1rem; }
.sec .note { font-size:.9rem; color:#6B6480; border-left:3px solid #B8955E; padding-left:1rem; margin-top:1.6rem; }
.check-list { list-style:none; padding:0; margin:0 0 1rem; display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem 2rem; }
.check-list li { position:relative; padding-left:1.9rem; color:#3B3450; line-height:1.55; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:0; color:#B8955E; font-weight:700; }
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1rem; }
.price-card { background:#fff; border:1px solid rgba(75,42,140,.14); border-radius:14px; padding:2rem 1.5rem; text-align:center; }
.price-main { background:linear-gradient(160deg,#241146,#12091F); border-color:transparent; }
.price-main .price-label, .price-main .price-sub { color:rgba(255,255,255,.75); }
.price-main .price-amount { color:#E3C88A; }
.price-label { font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:#6B6480; margin-bottom:.7rem; }
.price-amount { font-size:2.4rem; font-weight:700; color:#241146; line-height:1; margin-bottom:.7rem; }
.price-amount span { font-size:1rem; font-weight:500; }
.price-sub { font-size:.9rem; color:#6B6480; line-height:1.55; margin-bottom:1.2rem; }
.price-card .btn-primary { display:inline-block; margin-top:.4rem; }
.oblig-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:1.4rem; }
.oblig-card { background:#fff; border-radius:14px; padding:1.6rem; border:1px solid rgba(75,42,140,.14); }
.oblig-card h3 { color:#241146; font-size:1.05rem; margin-bottom:.6rem; }
.oblig-card p { font-size:.94rem; margin:0; }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:1.4rem; }
.step-card { background:#fff; border:1px solid rgba(75,42,140,.14); border-radius:14px; padding:1.6rem; }
.step-num { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#241146; color:#E3C88A; font-weight:700; margin-bottom:.9rem; }
.step-card h3 { color:#241146; font-size:1rem; margin-bottom:.5rem; }
.step-card p { font-size:.92rem; margin:0; }
.faq-list { max-width: 860px; margin-left: auto; margin-right: auto; margin: 0 auto; display: grid; gap: .9rem; margin-top: 1.2rem; }
.faq-item { background:#fff; border-radius:12px; padding:1.3rem 1.5rem; border:1px solid rgba(75,42,140,.14); }
.faq-item h3 { color:#241146; font-size:1rem; margin-bottom:.45rem; }
.faq-item p { font-size:.94rem; margin:0; }
.sec-cta { background:linear-gradient(160deg,#241146,#12091F); text-align:center; }
.sec-cta h2 { color:#fff; }
.sec-cta p { color:rgba(255,255,255,.78); margin-bottom:1.6rem; }
/* === Banniere pages juridiction : meme image, format court === */
.hero-page {
  position: relative;
  background-image: url('img/krevia_banniere.png') !important;
  background-size: cover !important;
  background-position: center !important;
  min-height: 380px;
  display: flex;
  align-items: center;
  padding: 9rem 0 4rem !important;
  overflow: hidden;
}
.hero-page::before { content:""; position:absolute; inset:0; background: rgba(18,9,31,0.55); z-index:1; }
.hero-page > * { position: relative; z-index: 2; }
/* === Fix dropdowns : positionnement et pont de survol === */
/* le dernier menu ne deborde pas a droite */
.nav > .nav-drop:last-of-type .nav-drop-menu { left: auto !important; right: 0 !important; }
/* === Ecart navbar / dropdown + alignement Ressources === */
.nav > .nav-drop:last-of-type .nav-drop-menu { left: 0 !important; right: auto !important; }
/* === Espace visible entre navbar et dropdown === */

/* === Dropdown ancre sur le header, espace garanti === */
header { position: relative; }
header:hover .nav-drop-menu, .nav-drop:hover .nav-drop-menu { }
/* === Alignement horizontal des dropdowns (parent static) === */
.nav > .nav-drop:nth-of-type(1) .nav-drop-menu { left: 190px !important; }
.nav > .nav-drop:nth-of-type(2) .nav-drop-menu { left: 345px !important; }
.nav > .nav-drop:nth-of-type(3) .nav-drop-menu { left: 590px !important; }
.nav > .nav-drop:nth-of-type(4) .nav-drop-menu { left: 680px !important; }
/* === Pont de survol sans casser le positionnement === */

/* === Dropdown ouvert via JS === */

/* === Banniere creation-us : texte + iPhone === */
.hero-page { text-align: left !important; min-height: 460px !important; }
.hero-page-inner { display: flex; align-items: center; gap: 3rem; width: 100%; }
.hero-page-text h1 { margin-bottom: 1rem; }
.hero-page-text .lead { margin: 0 0 1.8rem; }
/* === iPhone en absolu pour debordement reel === */
.hero-page-device { position: absolute !important; right: 0; bottom: -30%; flex: none !important; margin: 0 !important; }
.hero-page-device img { width: 100%; max-width: 380px !important; display: block; filter: drop-shadow(0 24px 48px rgba(18,9,31,0.45)); }
.hero-page-text { flex: 1; max-width: 58%; }
/* === iPhone +15% === */
.hero-page-device img { max-width: 437px !important; }
/* === iPhone ancre en haut : deborde uniquement par le bas === */
.hero-page { min-height: 460px !important; }
.hero-page-device { flex: 0 0 240px; display: flex; justify-content: flex-end; top: 90px !important; bottom: auto !important; }
/* === iPhone colle au haut de la banniere === */
.hero-page-device { top: 0 !important; bottom: auto !important; }
/* === btn-primary aligne sur le bouton dore du site === */
.btn-primary {
  display: inline-block;
  background-color: #B8955E;
  color: #12091F;
  padding: 0.9rem 1.8rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.btn-primary:hover { opacity: 0.85; }
/* === Section "A qui s adresse" === */
.sec-adresse { background: #FBFAFE; padding: 5rem 0; }
.adresse-inner { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 3.5rem; align-items: start; }
.eyebrow-line { color: #4B2A8C; font-size: .74rem; letter-spacing: .16em; font-weight: 700; border-left: 3px solid #B8955E; padding-left: .7rem; margin-bottom: 1.2rem; }
.adresse-left h2 { color: #241146; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; margin: 0 0 1.2rem; }
.adresse-rule { display: block; width: 48px; height: 3px; background: #B8955E; margin-bottom: 1.6rem; }
.adresse-left p { color: #4A4360; font-size: .96rem; line-height: 1.75; }
.adresse-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.adresse-card { background: #fff; border: 1px solid rgba(75,42,140,.10); border-radius: 16px; padding: 1.8rem 1.3rem; text-align: center; box-shadow: 0 2px 12px rgba(36,17,70,.04); }
.adresse-ico { width: 54px; height: 54px; margin: 0 auto 1rem; border-radius: 50%; background: rgba(75,42,140,.08); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; color: #4B2A8C; }
.adresse-card h3 { color: #241146; font-size: 1rem; margin: 0 0 .7rem; line-height: 1.3; }
.adresse-dash { display: block; width: 26px; height: 2px; background: #B8955E; margin: 0 auto .9rem; }
.adresse-card p { color: #6B6480; font-size: .87rem; line-height: 1.6; margin: 0; }
.adresse-note { display: flex; gap: 1.3rem; align-items: flex-start; background: #fff; border: 1px solid rgba(75,42,140,.10); border-radius: 16px; padding: 1.7rem; margin-top: 1.1rem; box-shadow: 0 2px 12px rgba(36,17,70,.04); }
.adresse-note-ico { flex: 0 0 54px; height: 54px; border-radius: 50%; background: rgba(184,149,94,.14); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; }
.adresse-note h3 { color: #241146; font-size: 1.02rem; margin: 0 0 .5rem; }
.adresse-note p { color: #6B6480; font-size: .89rem; line-height: 1.65; margin: 0; }
/* === Section "A qui s adresse" plus large === */
.sec-adresse .wrap { max-width: 1360px !important; }
@media (max-width: 1400px) {
.header-inner { padding-left: 1.25rem !important; padding-right: 1.25rem !important; gap: 1.25rem !important; }
  .nav { gap: 1rem !important; }
  .nav > a, .nav-drop-toggle { font-size: 0.85rem !important; white-space: nowrap !important; }
  .header-right { gap: 0.75rem !important; }
  .btn-login, .lang-toggle { font-size: 0.82rem !important; white-space: nowrap !important; }
  .header-cta { font-size: 0.85rem !important; padding: 0.7rem 1.1rem !important; white-space: nowrap !important; }
  .header-logo img, .footer-logo { height: 26px !important; }
.hero-banner { padding-top: 7rem !important; padding-bottom: 3rem !important; }
  .hero-text h1 { font-size: 2.6rem !important; line-height: 1.15 !important; }
  .hero-text p { font-size: 0.95rem !important; }
  .hero-device { max-width: 48% !important; flex: 1 !important; }
.hero-device { max-width: 60% !important; flex: 1.5 !important; }
  .hero-text { flex: 1 !important; }
.avis-slide { width: 440px !important; margin-left: -220px !important; padding: 2rem !important; }
  .avis-slide p { font-size: 0.95rem !important; }
  .avis-slide.pos-left { transform: translateX(-72%) scale(.72) !important; }
  .avis-slide.pos-right { transform: translateX(72%) scale(.72) !important; }
.sec-adresse .wrap { max-width: 1180px !important; }
}
/* === Icones SVG section adresse === */
.adresse-ico svg, .adresse-note-ico svg { width: 24px; height: 24px; display: block; }
/* === Section adresse : pleine largeur === */
.sec-adresse .wrap { max-width: none !important; width: 100% !important; padding: 0 3.5rem !important; }
/* === Section adresse alignee sur la largeur de process === */
.sec-adresse .wrap { max-width: 1400px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; padding: 0 1.5rem !important; }
/* === Banniere : contenu aligne sur 1400px === */
.hero-page .wrap { max-width: 1400px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; padding: 0 1.5rem !important; }
/* === iPhone -10% === */
.hero-page-device img { max-width: 393px !important; }
/* === Section "Ce qui est inclus" === */
.sec-inclus { background: #FBFAFE; padding: 5rem 0; }
.sec-inclus .wrap { max-width: 1400px !important; width: 100% !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.inclus-left h2 { color: #241146; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; margin: 0 0 1.2rem; }
.inclus-left p { color: #4A4360; font-size: .96rem; line-height: 1.75; }
.inclus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.incl-card { display: flex; align-items: center; gap: 1rem; background: #fff; border: 1px solid rgba(75,42,140,.10); border-radius: 12px; padding: 1.2rem 1.3rem; box-shadow: 0 2px 10px rgba(36,17,70,.04); }
.incl-check { flex: 0 0 30px; height: 30px; border-radius: 50%; background: rgba(75,42,140,.10); display: flex; align-items: center; justify-content: center; }
.incl-check svg { width: 16px; height: 16px; display: block; }
.incl-card p { margin: 0; color: #241146; font-size: .92rem; line-height: 1.45; font-weight: 500; }
.inclus-note-ico { flex: 0 0 46px; height: 46px; width: 46px; border-radius: 50%; background: rgba(184,149,94,.14); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; }
/* === Section inclus : inversion gauche/droite === */
.inclus-inner { grid-template-columns: 1.2fr 0.8fr !important; }
.inclus-left { order: 2; }
/* === Inversion par grid-column (fiable) === */
.inclus-left { order: 0 !important; grid-column: 2 !important; }
.inclus-right { order: 0 !important; grid-column: 1 !important; grid-row: 1 !important; }
/* === Annule les inversions CSS (ordre gere en HTML) === */
.inclus-left, .inclus-right { order: 0 !important; grid-column: auto !important; grid-row: auto !important; }
.inclus-inner { display: grid; grid-template-columns: 1.2fr 0.8fr !important; gap: 3.5rem; align-items: start; }
/* === Colonnes : tableau large a gauche, texte a droite === */
.inclus-inner { display: grid !important; grid-template-columns: 1.25fr 0.75fr !important; gap: 3.5rem !important; align-items: start !important; }
@media (max-width: 900px) {
.burger {
    display: flex;
  }

  header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  header .nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 80vw;
    max-width: 320px;
    background: #F6F5FA;
    z-index: 200;
    border-left: 2px solid #5B2D6E;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    padding: 4rem 2rem 2rem;
    gap: 1.5rem;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0.3s ease;
  }

  header.nav-open .nav {
    transform: translateX(0);
    visibility: visible;
  }

  header.nav-open .nav a {
    color: #12091F;
    font-size: 1.2rem;
    font-weight: 600;
    text-align: left;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(18, 9, 31, 0.1);
  }

  header.nav-open .nav-close {
    display: block;
  }

  .nav-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: none;
    color: #12091F;
    font-size: 2.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    z-index: 210;
  }

  .nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 190;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  body.nav-open .nav-overlay {
    opacity: 1;
    visibility: visible;
  }
.pillars-grid {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
  .pillar {
    max-width: 100%;
  }
.audit-card {
    flex-direction: column;
    padding: 2rem;
    gap: 2.5rem;
  }
  .audit-features {
    grid-template-columns: repeat(2, 1fr);
  }
  .audit-left h2 {
    font-size: 1.8rem;
  }
.process-cta {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
  }
  .cta-left {
    flex-direction: column;
    text-align: center;
  }
.process-grid {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }

  .process-arrow {
    display: none;
  }

  .process-item {
    max-width: 320px;
  }
.footer-top {
    flex-direction: column;
    gap: 2.5rem;
  }
.hero-device {
    display: none !important;
  }
  .hero-banner {
    flex-direction: column !important;
    padding-top: 5rem !important;
    text-align: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
  }
  .hero-text {
    text-align: center !important;
    padding-left: 0 !important;
  }
  .hero-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 1 !important;
  }
  .hero-text h1,
  .hero-text p {
    text-align: center !important;
  }
  .hero-text .btn {
    margin: 0 auto !important;
  }
  .jurisdiction-header h2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  .header-cta {
    display: none !important;
  }
  .burger {
    order: 2 !important;
    margin-left: auto !important;
  }
  .jurisdictions .globe,
  .jurisdictions canvas,
  #globe {
    display: none !important;
  }
  .jurisdictions-inner,
  .jurisdictions-grid {
    display: block !important;
    width: 100% !important;
  }
  .jurisdiction-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 1rem 0 !important;
    text-align: center !important;
  }
  .jurisdiction-card .toggle,
  .jurisdiction-card details summary::-webkit-details-marker {
    display: none !important;
  }
  .jurisdiction-card details,
  .jurisdiction-card .card-body {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .jurisdiction-globe {
    display: none !important;
  }
  .jurisdiction-layout {
    display: block !important;
  }
  .jurisdiction-accordion {
    width: 100% !important;
    max-width: 100% !important;
  }
  .accordion-item {
    width: 100% !important;
    margin: 0 0 1rem 0 !important;
    text-align: center !important;
  }
  .accordion-inactive {
    display: none !important;
  }
  .accordion-active-content {
    display: block !important;
  }
  .accordion-close,
  .accordion-trigger {
    display: none !important;
  }
  .accordion-active-content > div:first-child {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
  }
  .accordion-item svg {
    margin: 0 auto !important;
  }
  .j-title,
  .j-form {
    text-align: center !important;
  }
  .accordion-item,
  .accordion-active-content {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .advantage-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.9rem !important;
  }
  .advantage {
    width: 100% !important;
  }
  .jurisdictions,
  .jurisdiction-layout,
  .jurisdiction-accordion {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .pillars-head {
    display: block !important;
  }
  .pillars-head h2 {
    font-size: 1.1rem !important;
  }
  .pillars-head .eyebrow {
    display: none !important;
  }
  .audit-note {
    justify-content: center !important;
  }
  .af {
    border-left: none !important;
    padding-left: 0 !important;
  }
  .af p {
    text-align: center !important;
  }
  .pillars-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem 1rem !important;
  }
  .pillar {
    max-width: 100% !important;
  }
  .pillar p {
    display: none !important;
  }
  .pillar h3 {
    font-size: 1rem !important;
  }
  .pillar-icon img {
    width: 96px !important;
    height: 96px !important;
  }
  .pillars-grid {
    gap: 3rem 1.5rem !important;
    padding: 0 1.5rem !important;
  }
  .pillar-icon {
    margin-bottom: 1rem !important;
  }
  .audit-proof {
    flex-direction: row !important;
    text-align: center !important;
    gap: 0.5rem !important;
    padding: 0.9rem 1rem !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .proof-number {
    font-size: 1.4rem !important;
  }
  .proof-text strong {
    font-size: 0.95rem !important;
  }
  .proof-text span {
    font-size: 0.82rem !important;
    display: none !important;
  }
  .audit-proof {
    display: none !important;
  }
  .mid-cta {
    background: transparent !important;
    padding: 0 !important;
    height: 0 !important;
    position: relative !important;
    z-index: 10 !important;
    overflow: visible !important;
  }
  .mid-cta a {
    transform: translateY(-50%) !important;
    box-shadow: 0 8px 24px rgba(18,9,31,0.18) !important;
  }
.avis-slide.active { grid-template-columns: 1fr; gap: 1rem; } .avis { padding: 3rem 1.25rem; }
.avis-slide { padding: 2rem 1.5rem; } .avis-slide p { font-size: 1rem !important; }
.avis-stage { height: auto; min-height: 460px; } .avis-slide { width: 90%; margin-left: -45%; padding: 1.75rem; } .avis-slide.pos-left, .avis-slide.pos-right { display: none !important; }
.hero-page { padding: 8rem 0 3.5rem; }
  .check-list, .price-grid, .oblig-grid, .steps-grid { grid-template-columns:1fr; }
.hero-page { min-height: 300px; padding: 7rem 0 3rem !important; }
.hero-page-inner { flex-direction: column; text-align: center; gap: 2rem; }
  .hero-page-device { flex: none; justify-content: center; }
  .hero-page-device img { max-width: 180px; }
.hero-page-device { position: relative !important; right: auto; bottom: auto; }
  .hero-page-text { max-width: 100%; }
.hero-page-device img { max-width: 276px !important; }
.hero-page { min-height: 300px !important; }
  .hero-page-device { top: auto !important; }
.adresse-inner { grid-template-columns: 1fr; gap: 2.2rem; }
  .adresse-cards { grid-template-columns: 1fr; }
  .adresse-left h2 br { display: none; }
  .adresse-note { flex-direction: column; gap: .9rem; }
.sec-adresse .wrap { padding: 0 1.5rem !important; }
.hero-page-device img { max-width: 248px !important; }
.inclus-inner { grid-template-columns: 1fr !important; }
  .inclus-left { order: 1; }
  .inclus-right { order: 2; }
.inclus-left { grid-column: 1 !important; grid-row: 1 !important; }
  .inclus-right { grid-column: 1 !important; grid-row: 2 !important; }
.inclus-inner { grid-template-columns: 1fr !important; }
.inclus-inner { grid-template-columns: 1fr !important; }
}
.inclus-note { display: flex; align-items: center; gap: 1.2rem; background: rgba(75,42,140,.06); border-radius: 14px; padding: 1.4rem 1.6rem; margin-top: 1rem; grid-column: 1 / -1; }
/* === Inclus : colonnes plus larges === */
.inclus-inner { grid-template-columns: 1.55fr 0.85fr !important; gap: 4rem !important; }
/* === FOND INCLUS BRUT === */
.sec-inclus { background: url('img/bg-inclus.png') center / cover no-repeat; padding: 5rem 0; position: relative; }
/* === Raccord adresse / inclus en EDEBF2 === */
.sec-adresse { background-color: #EDEBF2 !important; }
.sec-inclus { background-color: #EDEBF2 !important; }
/* === Section tarifs : fond sombre, contenu clair === */
#tarifs { background: linear-gradient(160deg, #241146 0%, #12091F 100%) !important; }
#tarifs h2 { color: #FFFFFF !important; }
#tarifs .note { color: rgba(255,255,255,0.62) !important; border-left-color: #B8955E !important; }
#tarifs .price-card { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.12) !important; }
#tarifs .price-card .price-label { color: rgba(255,255,255,0.65) !important; }
#tarifs .price-card .price-amount { color: #E3C88A !important; }
#tarifs .price-card .price-sub { color: rgba(255,255,255,0.72) !important; }
#tarifs .price-main { background: rgba(184,149,94,0.14) !important; border-color: rgba(184,149,94,0.45) !important; }
/* ============================================================
   NAVIGATION — MENUS DEROULANTS (bloc unique, consolide)
   Parent en static : le menu se positionne sous le header.
   Decalages horizontaux : voir .nav > .nav-drop:nth-of-type
   Ouverture geree en JS (classe .open) — voir app.js
   ============================================================ */
.nav-drop { position: static !important; }
.nav-drop-toggle { cursor: pointer; }
.nav-drop-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 10px) !important;
  min-width: 340px;
  padding: 1rem;
  background: #12091F !important;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  z-index: 100;
}
.nav-drop-menu.open { display: flex !important; flex-direction: column; }
.nav-drop-menu::before { content: ""; position: absolute; bottom: 100%; left: 0; width: 100%; height: 14px; }
.nav-drop-menu a {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  column-gap: 0.9rem;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  background: transparent !important;
  color: #FFFFFF;
  font-size: 0.9rem;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
}
.nav-drop-menu a:hover { background: rgba(255,255,255,0.06) !important; }
.nav-drop-menu a:not(:has(.menu-ico)) { display: block; }
.lang-menu { display: none; position: absolute; top: 100%; right: 0; background: #12091F !important; border: 1px solid rgba(75,42,140,0.15); border-radius: 8px; padding: 0.4rem; min-width: 70px; z-index: 200; border-color: rgba(255,255,255,0.10) !important; }
.lang-menu a { display: block; padding: 0.5rem 0.75rem; text-align: center; text-decoration: none; color: #FFFFFF !important; border-radius: 6px; font-size: 0.9rem; background: transparent !important; }
.lang-menu a:hover { background: rgba(255,255,255,0.06) !important; }
/* === Menus deroulants : texte clair === */
.nav-drop-menu a, .nav-drop-menu a * { color: #FFFFFF !important; }
.nav-drop-menu a span { grid-column: 2; display: block; font-size: 0.78rem; font-weight: 400; opacity: 0.6; margin-top: 0.25rem; color: rgba(255,255,255,0.6) !important; }
.nav-drop-sep { color: #E3C88A !important; border-top: none; margin-top: 0.3rem; }
/* === Menus deroulants : espace icone / texte === */
.nav-drop-menu a { grid-template-columns: 64px 1fr !important; column-gap: 1.1rem !important; }
.menu-ico { width: 100%; height: auto; object-fit: contain; grid-row: span 2; filter: saturate(0.75) brightness(0.92) contrast(0.95); max-width: 56px; display: block; }
/* === Bouton S inscrire : hover lisible === */
.header-cta:hover { background-color: #A07F4C !important; color: #12091F !important; opacity: 1 !important; }

/* === Reserve la largeur du logo avant chargement (evite le saut de la nav) === */
.header-logo { min-width: 150px; }
.header-logo .logo, .logo { min-width: 150px; }

/* === Largeur exacte du logo (800x213 -> 135px a 36px de haut) === */
.header-logo { min-width: 135px !important; }
.header-logo .logo, .logo { min-width: 135px !important; }

/* === Tarifs creation : deux cartes centrees === */
.price-solo { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); gap: 1.5rem; justify-content: center; margin-top: 1rem; }
@media (max-width: 900px) { .price-solo { grid-template-columns: 1fr; } }

/* === Offres creation : deux cartes === */
.price-solo { display: grid; grid-template-columns: repeat(2, minmax(0, 380px)); gap: 1.75rem; justify-content: center; align-items: stretch; margin-top: 1.5rem; }
.price-solo .price-card { display: flex; flex-direction: column; text-align: left; position: relative; padding: 2.2rem 1.9rem; }
.price-badge { position: absolute; top: -13px; left: 1.9rem; background: #B8955E; color: #12091F; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .35rem .8rem; border-radius: 20px; }
.price-list { list-style: none; padding: 0; margin: 1.4rem 0 1.8rem; display: grid; gap: .7rem; }
.price-list li { position: relative; padding-left: 1.6rem; font-size: .9rem; line-height: 1.5; }
.price-list li::before { content: "✓"; position: absolute; left: 0; color: #B8955E; font-weight: 700; }
.price-solo .btn-primary { margin-top: auto; text-align: center; }
@media (max-width: 900px) { .price-solo { grid-template-columns: 1fr; } }

/* === Section offres (fond sombre) === */
.sec-offres { background: linear-gradient(150deg,#1A0E33 0%,#12091F 55%,#241146 100%) !important; padding: 5.5rem 0 4rem; }
.sec-offres .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.offres-inner { display: grid; grid-template-columns: 0.95fr 1.25fr; gap: 4rem; align-items: center; }
.offres-eyebrow { color: #B8955E !important; border-left-color: #B8955E !important; }
.offres-left h2 { color: #fff; font-size: clamp(1.9rem,3.2vw,3rem); line-height: 1.12; margin: 0 0 1.3rem; }
.offres-gold { color: #E3C88A; }
.offres-lead { color: rgba(255,255,255,.72); font-size: .98rem; line-height: 1.7; margin-bottom: 2.4rem; }
.offres-args { display: grid; gap: 1.5rem; }
.offres-arg { display: flex; gap: 1.1rem; align-items: flex-start; }
.offres-arg-ico { flex: 0 0 46px; height: 46px; border-radius: 12px; background: rgba(184,149,94,.12); border: 1px solid rgba(184,149,94,.28); display: flex; align-items: center; justify-content: center; }
.offres-arg-ico svg { width: 21px; height: 21px; }
.offres-arg h3 { color: #fff; font-size: 1rem; margin: 0 0 .25rem; }
.offres-arg p { color: rgba(255,255,255,.6); font-size: .88rem; margin: 0; line-height: 1.5; }

.offres-right { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: stretch; }
.pc { position: relative; display: flex; flex-direction: column; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.10); border-radius: 18px; padding: 2.2rem 1.7rem; text-align: center; }
.pc-main { background: linear-gradient(170deg, rgba(75,42,140,.32), rgba(18,9,31,.6)); border: 1px solid rgba(184,149,94,.55); box-shadow: 0 0 44px rgba(184,149,94,.16); }
.pc-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); white-space: nowrap; background: linear-gradient(135deg,#E3C88A,#B8955E); color: #12091F; font-size: .68rem; font-weight: 800; letter-spacing: .08em; padding: .4rem .95rem; border-radius: 20px; }
.pc-label { color: #C9B6EA; font-size: .74rem; font-weight: 700; letter-spacing: .13em; margin: 0 0 .8rem; }
.pc-main .pc-label { color: #E3C88A; }
.pc-rule { display: block; width: 34px; height: 2px; background: #B8955E; margin: 0 auto 1.2rem; }
.pc-amount { font-size: 2.9rem; font-weight: 800; color: #C9A9F5; line-height: 1; margin: 0 0 .7rem; }
.pc-main .pc-amount { color: #E3C88A; }
.pc-sub { color: rgba(255,255,255,.88); font-size: .95rem; margin: 0 0 .3rem; }
.pc-tag { color: rgba(255,255,255,.45); font-size: .8rem; margin: 0 0 1.6rem; }
.pc-list { list-style: none; padding: 0; margin: 0 0 1.8rem; display: grid; gap: .75rem; text-align: left; }
.pc-list li { display: flex; gap: .7rem; align-items: flex-start; color: rgba(255,255,255,.85); font-size: .87rem; line-height: 1.45; }
.pc-chk { flex: 0 0 18px; color: #B8955E; margin-top: 1px; }
.pc-main .pc-chk { color: #E3C88A; }
.pc-chk svg { width: 18px; height: 18px; display: block; }
.pc-btn { margin-top: auto; display: block; padding: .85rem 1rem; border-radius: 10px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-weight: 600; font-size: .92rem; text-decoration: none; transition: background .2s ease; }
.pc-btn:hover { background: rgba(255,255,255,.08); }
.pc-btn-gold { background: linear-gradient(135deg,#E3C88A,#B8955E); border-color: transparent; color: #12091F; }
.pc-btn-gold:hover { background: #A07F4C; }

.offres-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 3rem; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 1.5rem 1.8rem; }
.offres-trust-item { display: flex; gap: 1rem; align-items: center; }
.offres-trust-ico { flex: 0 0 42px; height: 42px; border-radius: 50%; background: rgba(184,149,94,.12); display: flex; align-items: center; justify-content: center; }
.offres-trust-ico svg { width: 19px; height: 19px; }
.offres-trust strong { display: block; color: #fff; font-size: .88rem; font-weight: 600; line-height: 1.4; }
.offres-trust span { display: block; color: rgba(255,255,255,.5); font-size: .84rem; }
.offres-warn { color: rgba(255,255,255,.42); font-size: .82rem; text-align: center; margin-top: 1.4rem; }

@media (max-width: 1100px) { .offres-inner { grid-template-columns: 1fr; gap: 2.6rem; } }
@media (max-width: 900px) { .offres-right, .offres-trust { grid-template-columns: 1fr; } .offres-trust-item { align-items: flex-start; } }

/* === Fond image section offres === */
.sec-offres { background: #12091F url('img/bg-offres.png') center / cover no-repeat !important; }
.sec-offres { background: #12091F url('img/bg-offres.png') center / cover no-repeat !important; border: 4px solid red !important; }
.sec-offres { border: none !important; background-color: #FFFFFF !important; }

/* === Fond offres : cible l ID, qui prime sur la classe === */
#tarifs.sec-offres { background: #12091F url('img/bg-offres.png') center / cover no-repeat !important; }

/* === Offres : lisibilite des textes sur fond image === */
.offres-lead { color: rgba(255,255,255,.88) !important; }
.offres-arg p { color: rgba(255,255,255,.75) !important; }
.pc-label { color: #E3C88A !important; }
.pc-amount { color: #FFFFFF !important; }
.pc-main .pc-amount { color: #E3C88A !important; }
.pc-sub { color: rgba(255,255,255,.95) !important; }
.pc-tag { color: rgba(255,255,255,.62) !important; }
.pc-list li { color: rgba(255,255,255,.92) !important; }
.offres-trust span { color: rgba(255,255,255,.68) !important; }
.offres-warn { color: rgba(255,255,255,.6) !important; }

/* === Offres : carte recommandee plus imposante === */
.offres-right { align-items: center !important; }
.pc { transform: scale(0.94); opacity: .92; }
.pc-main { transform: scale(1.06); opacity: 1; z-index: 2; }
@media (max-width: 900px) { .pc, .pc-main { transform: none !important; } }

/* === Offres : agrandissement colonne gauche === */
.offres-left h2 { font-size: clamp(2.4rem, 4vw, 3.6rem) !important; }
.offres-lead { font-size: 1.12rem !important; line-height: 1.75 !important; }
.offres-arg h3 { font-size: 1.15rem !important; }
.offres-arg p { font-size: 1rem !important; }
.offres-arg-ico { flex: 0 0 54px !important; height: 54px !important; }
.offres-arg-ico svg { width: 25px !important; height: 25px !important; }

/* === Bandeau confiance : centrage des icones === */
.offres-trust-ico { display: flex !important; align-items: center !important; justify-content: center !important; line-height: 0 !important; }
.offres-trust-ico svg { display: block !important; margin: 0 auto !important; }

/* === Badge recommande : recentrage malgre le scale === */
.pc-main { overflow: visible !important; }
.pc-badge { top: -16px !important; left: 50% !important; transform: translateX(-50%) !important; }

/* === Badge recommande : a cheval sur la bordure haute === */
.pc-badge { top: 0 !important; transform: translate(-50%, -50%) !important; }

/* === Badge : centrage vertical sur la bordure === */
.pc-main .pc-badge { top: 0 !important; transform: translate(-50%, -50%) !important; margin: 0 !important; }

/* === Comparatif juridictions === */
.sec-compare { background: #FBFAFE; padding: 5rem 0; }
.sec-compare .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.sec-compare h2 { color: #241146; font-size: clamp(1.8rem,3vw,2.6rem); margin: 0 0 1rem; }
.cmp-lead { color: #4A4360; font-size: 1rem; line-height: 1.7; max-width: 720px; margin-bottom: 2.4rem; }
.cmp-scroll { overflow-x: auto; }
.cmp-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 16px; overflow: hidden; min-width: 700px; }
.cmp-table th, .cmp-table td { padding: 1.1rem 1.3rem; text-align: left; font-size: .92rem; border-bottom: 1px solid rgba(75,42,140,.08); }
.cmp-table thead th { background: #241146; color: #fff; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.cmp-table thead th.cmp-best { background: #4B2A8C; color: #E3C88A; }
.cmp-table tbody th { color: #241146; font-weight: 600; width: 30%; }
.cmp-table tbody td { color: #4A4360; }
.cmp-table tbody td.cmp-best { background: rgba(184,149,94,.07); color: #241146; font-weight: 600; }
.cmp-table tbody tr:last-child th, .cmp-table tbody tr:last-child td { border-bottom: none; }
.cmp-verdict { margin-top: 2rem; background: #fff; border-left: 4px solid #B8955E; border-radius: 12px; padding: 1.6rem 1.8rem; }
.cmp-verdict p { color: #4A4360; font-size: .94rem; line-height: 1.7; margin: 0 0 .9rem; }
.cmp-verdict p:last-child { margin-bottom: 0; }
.cmp-verdict strong { color: #241146; }

/* === Fond comparatif : reprend le visuel de la section inclus === */
.sec-compare { background: #EDEBF2 url('img/bg-inclus.png') center / cover no-repeat !important; }

/* === Section obligations === */
.sec-oblig { background: #F7F5FC; padding: 5rem 0; }
.sec-oblig .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.oblig-inner { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 3.5rem; align-items: center; }
.oblig-eyebrow { display: flex; align-items: center; gap: .6rem; border-left: none !important; padding-left: 0 !important; }
.oblig-eb-ico svg { width: 18px; height: 18px; display: block; }
.oblig-left h2 { color: #241146; font-size: clamp(2rem,3.4vw,3rem); line-height: 1.12; margin: 0 0 1.1rem; }
.oblig-left > p { color: #4A4360; font-size: 1rem; line-height: 1.7; }
.oblig-note { display: flex; gap: 1rem; align-items: center; margin-top: 2rem; }
.oblig-note-ico { flex: 0 0 50px; height: 50px; border-radius: 50%; background: rgba(184,149,94,.14); display: flex; align-items: center; justify-content: center; }
.oblig-note-ico svg { width: 22px; height: 22px; }
.oblig-note strong { display: block; color: #B8955E; font-size: .96rem; }
.oblig-note span { display: block; color: #4A4360; font-size: .92rem; }
.oblig-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.ob-card { background: linear-gradient(165deg,#2A1552,#12091F); border-radius: 18px; padding: 1.8rem; color: #fff; }
.ob-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; }
.ob-ico { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(184,149,94,.4); background: rgba(184,149,94,.10); display: flex; align-items: center; justify-content: center; }
.ob-ico svg { width: 23px; height: 23px; }
.ob-tag { font-size: .68rem; font-weight: 700; letter-spacing: .1em; color: #E3C88A; border: 1px solid rgba(184,149,94,.45); border-radius: 20px; padding: .3rem .8rem; }
.ob-kicker { color: rgba(255,255,255,.5); font-size: .7rem; letter-spacing: .12em; font-weight: 700; margin: 0 0 .5rem; }
.ob-card h3 { color: #fff; font-size: 1.32rem; line-height: 1.25; margin: 0 0 .9rem; }
.ob-rule { display: block; width: 40px; height: 2px; background: #B8955E; margin-bottom: 1rem; }
.ob-txt { color: rgba(255,255,255,.75); font-size: .93rem; line-height: 1.6; margin: 0 0 1.6rem; }
.ob-txt strong { color: #E3C88A; }
.ob-foot { display: flex; gap: .9rem; align-items: center; color: rgba(255,255,255,.7); font-size: .85rem; line-height: 1.4; }
.ob-foot strong { color: #E3C88A; }
.ob-foot-ico { flex: 0 0 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.06); display: flex; align-items: center; justify-content: center; }
.ob-foot-ico svg { width: 18px; height: 18px; }
.ob-alert { display: flex; gap: .9rem; align-items: center; background: rgba(224,90,90,.10); border: 1px solid rgba(224,90,90,.35); border-radius: 12px; padding: .9rem 1.1rem; }
.ob-alert-ico svg { width: 22px; height: 22px; display: block; }
.ob-alert-lbl { display: block; color: rgba(255,255,255,.6); font-size: .64rem; letter-spacing: .09em; font-weight: 700; }
.ob-alert strong { color: #E05A5A; font-size: 1.35rem; }
.oblig-bar { display: flex; align-items: center; gap: 1.5rem; background: #fff; border: 1px solid rgba(75,42,140,.10); border-radius: 16px; padding: 1.3rem 1.8rem; margin-top: 1.4rem; box-shadow: 0 2px 14px rgba(36,17,70,.05); }
.ob-bar-item { display: flex; align-items: center; gap: 1rem; flex: 1; }
.ob-bar-right { justify-content: flex-end; text-align: right; }
.ob-bar-ico { flex: 0 0 46px; height: 46px; border-radius: 50%; background: rgba(109,63,184,.10); display: flex; align-items: center; justify-content: center; }
.ob-bar-ico svg { width: 20px; height: 20px; }
.ob-bar-item strong { display: block; color: #241146; font-size: .95rem; }
.ob-bar-item span { display: block; color: #6B6480; font-size: .85rem; line-height: 1.4; }
.ob-bar-sep { width: 1px; height: 40px; background: rgba(75,42,140,.12); }
@media (max-width: 1100px) { .oblig-inner { grid-template-columns: 1fr; gap: 2.4rem; } }
@media (max-width: 900px) {
  .oblig-cards { grid-template-columns: 1fr; }
  .oblig-bar { flex-direction: column; align-items: flex-start; }
  .ob-bar-right { justify-content: flex-start; text-align: left; flex-direction: row-reverse; }
  .ob-bar-sep { width: 100%; height: 1px; }
}

/* === Obligations : centrage des icones dans leurs cercles === */
.ob-ico, .ob-foot-ico, .ob-bar-ico, .oblig-note-ico, .ob-alert-ico {
  display: flex !important; align-items: center !important; justify-content: center !important; line-height: 0 !important;
}
.ob-ico svg, .ob-foot-ico svg, .ob-bar-ico svg, .oblig-note-ico svg, .ob-alert-ico svg {
  display: block !important; margin: 0 !important; flex: none !important;
}

/* === Obligations : ombre portee sur les cartes sombres === */
.ob-card { box-shadow: 0 18px 44px rgba(18,9,31,.28), 0 2px 8px rgba(18,9,31,.16) !important; transition: transform .25s ease, box-shadow .25s ease; }
.ob-card:hover { transform: translateY(-4px); box-shadow: 0 26px 60px rgba(18,9,31,.34), 0 4px 12px rgba(18,9,31,.2) !important; }

/* === CTA final : meme style que le bouton mid-cta de l accueil === */
.cta-btn { text-align: center; }
.cta-btn a { display: inline-block; background: #4B2A8C; color: #fff; padding: 1rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 0.95rem; transition: background .2s ease; }
.cta-btn a:hover { background: #6D3FB8; }

/* === CTA final isole : espacement === */
.cta-btn { padding: 3.5rem 1.5rem; }

/* === CTA final dans la FAQ === */
.faq .cta-btn { padding: 2.5rem 0 0 !important; }

/* === Cartes obligations : lisibilite du texte === */
.ob-txt { color: rgba(255,255,255,.92) !important; }
.ob-kicker { color: rgba(255,255,255,.72) !important; }
.ob-foot { color: rgba(255,255,255,.88) !important; }
.ob-alert-lbl { color: rgba(255,255,255,.85) !important; }

/* === Page choisir sa juridiction === */
.sec-quiz { background: #FBFAFE; padding: 5rem 0; }
.sec-quiz .wrap { max-width: 900px; margin: 0 auto; padding: 0 1.5rem; }
.sec-quiz h2 { color: #241146; font-size: clamp(1.7rem,2.8vw,2.4rem); text-align: center; margin-bottom: 2.2rem; }
.quiz-box { background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 18px; padding: 2.5rem; box-shadow: 0 4px 24px rgba(36,17,70,.06); }
.quiz-num { color: #B8955E; font-size: .74rem; letter-spacing: .14em; font-weight: 700; margin: 0 0 .8rem; }
.quiz-q h3, .quiz-res h3 { color: #241146; font-size: 1.3rem; margin: 0 0 1.6rem; line-height: 1.3; }
.quiz-opts { display: grid; gap: .8rem; }
.quiz-opts button { text-align: left; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14); border-radius: 12px; padding: 1.1rem 1.3rem; font-size: .95rem; color: #241146; cursor: pointer; font-family: inherit; transition: all .18s ease; }
.quiz-opts button:hover { background: rgba(75,42,140,.08); border-color: #4B2A8C; }
.quiz-res-txt { color: #4A4360; line-height: 1.7; font-size: .96rem; margin-bottom: 1.8rem; }
.quiz-res-actions { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
.quiz-res-alt { color: #4B2A8C; font-size: .92rem; text-decoration: underline; }
.quiz-restart { display: block; margin-top: 1.6rem; background: none; border: none; color: #6B6480; font-size: .86rem; text-decoration: underline; cursor: pointer; padding: 0; font-family: inherit; }
.quiz-note { color: #6B6480; font-size: .85rem; text-align: center; margin-top: 1.6rem; line-height: 1.6; }

/* === Quiz : formulaire de contact === */
.quiz-form { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(75,42,140,.12); }
.quiz-form h4 { color: #241146; font-size: 1.1rem; margin: 0 0 .4rem; }
.quiz-form-sub { color: #6B6480; font-size: .9rem; margin: 0 0 1.3rem; line-height: 1.6; }
.quiz-form input, .quiz-form textarea { width: 100%; box-sizing: border-box; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14); border-radius: 10px; padding: .9rem 1.1rem; font-size: .93rem; font-family: inherit; color: #241146; margin-bottom: .8rem; }
.quiz-form input::placeholder, .quiz-form textarea::placeholder { color: #9A93AD; }
.quiz-form .af-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.quiz-form .btn-primary { display: block; text-align: center; margin-top: .4rem; }
@media (max-width: 600px) { .quiz-form .af-row { grid-template-columns: 1fr; } }

/* === Quiz : select juridiction === */
.quiz-form select { width: 100%; box-sizing: border-box; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14); border-radius: 10px; padding: .9rem 1.1rem; font-size: .93rem; font-family: inherit; color: #241146; margin-bottom: .8rem; }

/* === Quiz : select aligne sur les autres champs === */
.quiz-form select {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #F7F5FC !important;
  border: 1px solid rgba(75,42,140,.14) !important;
  border-radius: 10px !important;
  padding: .9rem 1.1rem !important;
  font-size: .93rem !important;
  font-family: inherit !important;
  color: #241146 !important;
  margin-bottom: .8rem !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%234B2A8C' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1.1rem center !important;
  cursor: pointer;
}

/* === Quiz : hauteur stable === */
.quiz-box { min-height: 620px; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 600px) { .quiz-box { min-height: 0; } }

/* === Quiz : barre de progression et resultat detaille === */
.quiz-bar { height: 4px; background: rgba(75,42,140,.12); border-radius: 4px; margin-bottom: 2rem; overflow: hidden; }
.quiz-bar-fill { display: block; height: 100%; width: 0; background: linear-gradient(90deg,#4B2A8C,#B8955E); border-radius: 4px; transition: width .3s ease; }
.quiz-res-why { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; gap: .6rem; }
.quiz-res-why li { position: relative; padding-left: 1.7rem; color: #4A4360; font-size: .92rem; line-height: 1.5; }
.quiz-res-why li::before { content: "✓"; position: absolute; left: 0; color: #B8955E; font-weight: 700; }
.quiz-res-price { color: #241146 !important; font-weight: 600; }
.quiz-res-warn { background: rgba(184,149,94,.08); border-left: 3px solid #B8955E; border-radius: 10px; padding: 1.1rem 1.3rem; margin-bottom: 1.8rem; }
.quiz-res-warn strong { display: block; color: #241146; font-size: .88rem; margin-bottom: .4rem; }
.quiz-res-warn-txt { color: #4A4360; font-size: .89rem; line-height: 1.6; margin: 0; }
.quiz-box { min-height: 680px; }

/* === Quiz : bouton retour === */
.quiz-back { display: block; margin-top: 1.4rem; background: none; border: none; color: #6B6480; font-size: .88rem; cursor: pointer; padding: 0; font-family: inherit; transition: color .2s ease; }
.quiz-back:hover { color: #4B2A8C; }

/* === Quiz : lien WhatsApp === */
.quiz-wa { display: inline-block; padding: .9rem 1.4rem; border-radius: 8px; border: 1px solid rgba(75,42,140,.25); color: #4B2A8C; font-weight: 600; font-size: .92rem; text-decoration: none; transition: all .2s ease; }
.quiz-wa:hover { background: rgba(75,42,140,.07); border-color: #4B2A8C; }

/* === Compliance : timeline === */
.sec-timeline { background: #FBFAFE; padding: 5rem 0; }
.sec-timeline .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.sec-timeline h2 { color: #241146; font-size: clamp(1.8rem,3vw,2.6rem); margin: 0 0 1rem; }
.tl-lead { color: #4A4360; font-size: 1rem; line-height: 1.7; max-width: 720px; margin-bottom: 3rem; }
.tl { position: relative; display: grid; gap: 1.6rem; padding-left: 2.5rem; }
.tl-line { position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, rgba(75,42,140,.2), rgba(184,149,94,.5), rgba(75,42,140,.2)); }
.tl-item { position: relative; }
.tl-dot { position: absolute; left: -2.5rem; top: 1.6rem; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid #4B2A8C; }
.tl-dot-gold { border-color: #B8955E; box-shadow: 0 0 0 5px rgba(184,149,94,.14); }
.tl-card { background: #fff; border: 1px solid rgba(75,42,140,.10); border-radius: 14px; padding: 1.5rem 1.8rem; box-shadow: 0 2px 12px rgba(36,17,70,.04); }
.tl-card-key { border-left: 4px solid #B8955E; }
.tl-when { color: #B8955E; font-size: .7rem; letter-spacing: .12em; font-weight: 700; margin: 0 0 .5rem; }
.tl-card h3 { color: #241146; font-size: 1.1rem; margin: 0 0 .5rem; }
.tl-card p { color: #4A4360; font-size: .93rem; line-height: 1.65; margin: 0; }

/* === Compliance : risques === */
.sec-risque { background: #241146; padding: 4rem 0; }
.sec-risque .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.risque-inner { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 3rem; align-items: center; }
.risque-left h2 { color: #fff; font-size: clamp(1.6rem,2.6vw,2.2rem); margin: 0 0 .8rem; }
.risque-left p { color: rgba(255,255,255,.7); font-size: .96rem; line-height: 1.65; margin: 0; }
.risque-right { display: grid; gap: 1rem; }
.rq { display: flex; gap: 1.2rem; align-items: center; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 12px; padding: 1.2rem 1.5rem; }
.rq-flag { font-size: 1.6rem; }
.rq strong { display: block; color: #E05A5A; font-size: 1.25rem; }
.rq span { display: block; color: rgba(255,255,255,.7); font-size: .87rem; line-height: 1.5; }

/* === Compliance : cartes juridiction === */
.sec-jur { background: #FBFAFE; padding: 5rem 0; }
.sec-jur .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.sec-jur h2 { color: #241146; font-size: clamp(1.6rem,2.6vw,2.2rem); margin: 0 0 2rem; }
.jur-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; }
.jur-card { display: block; background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 16px; padding: 1.9rem; text-decoration: none; transition: all .22s ease; }
.jur-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(36,17,70,.10); border-color: #B8955E; }
.jur-flag { font-size: 2rem; display: block; margin-bottom: .9rem; }
.jur-card h3 { color: #241146; font-size: 1.15rem; margin: 0 0 .5rem; }
.jur-card p { color: #4A4360; font-size: .9rem; line-height: 1.6; margin: 0 0 1.1rem; }
.jur-more { color: #4B2A8C; font-size: .88rem; font-weight: 600; }

@media (max-width: 900px) {
  .risque-inner { grid-template-columns: 1fr; gap: 2rem; }
  .jur-grid { grid-template-columns: 1fr; }
}

/* === Banque : ce qu on fait / ce qu on ne fait pas === */
.sec-role { background: #FBFAFE; padding: 5rem 0; }
.sec-role .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.role-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.role-yes, .role-no { background: #fff; border-radius: 18px; padding: 2.2rem; border: 1px solid rgba(75,42,140,.10); }
.role-no { background: #F7F5FC; }
.role-tag { font-size: .74rem; letter-spacing: .13em; font-weight: 700; margin: 0 0 1.4rem; }
.role-tag-yes { color: #2E9E6B; }
.role-tag-no { color: #B8955E; }
.role-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .9rem; }
.role-list li { position: relative; padding-left: 1.9rem; color: #4A4360; font-size: .93rem; line-height: 1.6; }
.role-list li::before { content: "✓"; position: absolute; left: 0; color: #2E9E6B; font-weight: 700; }
.role-list-no li::before { content: "✕"; color: #B8955E; }
.role-warn { margin-top: 1.6rem; padding-top: 1.3rem; border-top: 1px solid rgba(75,42,140,.10); color: #6B6480; font-size: .87rem; line-height: 1.6; }

/* === Banque : etapes === */
.sec-etapes { background: #fff; padding: 5rem 0; }
.sec-etapes .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.sec-etapes h2 { color: #241146; font-size: clamp(1.7rem,2.8vw,2.4rem); margin: 0 0 2.2rem; }
.etapes-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.4rem; }
.etape { border-top: 3px solid #B8955E; padding-top: 1.4rem; }
.etape-num { display: block; color: #B8955E; font-size: 1.6rem; font-weight: 800; margin-bottom: .6rem; }
.etape h3 { color: #241146; font-size: 1.05rem; margin: 0 0 .5rem; }
.etape p { color: #4A4360; font-size: .9rem; line-height: 1.6; margin: 0; }

/* === Banque : motifs de refus === */
.sec-refus { background: #241146; padding: 4.5rem 0; }
.sec-refus .wrap { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.refus-inner { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 3rem; align-items: start; }
.refus-left h2 { color: #fff; font-size: clamp(1.6rem,2.6vw,2.2rem); margin: 0 0 .8rem; }
.refus-left p { color: rgba(255,255,255,.7); font-size: .95rem; line-height: 1.65; margin: 0; }
.refus-right { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rf { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 12px; padding: 1.3rem 1.5rem; }
.rf strong { display: block; color: #E3C88A; font-size: .95rem; margin-bottom: .4rem; }
.rf span { display: block; color: rgba(255,255,255,.7); font-size: .86rem; line-height: 1.55; }

@media (max-width: 900px) {
  .role-inner, .etapes-grid, .refus-inner, .refus-right { grid-template-columns: 1fr; }
}

/* === Banque : cartes non cliquables et bloc stripe === */
.jur-card-static { cursor: default; }
.jur-card-static:hover { transform: none; box-shadow: none; border-color: rgba(75,42,140,.12); }
.jur-note { color: #6B6480; font-size: .87rem; line-height: 1.6; margin-top: 1.6rem; padding-left: 1rem; border-left: 3px solid #B8955E; }
.sec-stripe { background: #fff; padding: 4.5rem 0; }
.sec-stripe .wrap { max-width: 900px; margin: 0 auto; padding: 0 1.5rem; }
.sec-stripe h2 { color: #241146; font-size: clamp(1.6rem,2.6vw,2.2rem); margin: 0 0 1.2rem; }
.sec-stripe p { color: #4A4360; font-size: .96rem; line-height: 1.75; margin: 0 0 1rem; }

/* === Formulaire de conformite === */
.sec-form { background: #FBFAFE; padding: 8rem 0 5rem; }
.form-wrap { max-width: 720px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.form-wrap h1 { color: #241146; font-size: clamp(1.8rem,3vw,2.6rem); margin: .4rem 0 1rem; line-height: 1.2; }
.form-intro { color: #4A4360; font-size: .97rem; line-height: 1.7; margin-bottom: 2.5rem; }
.fsec { background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 16px; padding: 2rem 1.9rem; margin-bottom: 1.4rem; box-shadow: 0 2px 14px rgba(36,17,70,.04); }
.fsec-num { color: #B8955E; font-size: .7rem; letter-spacing: .14em; font-weight: 700; margin: 0 0 .5rem; }
.fsec h2 { color: #241146; font-size: 1.25rem; margin: 0 0 1.4rem; }
.fsec-sub { color: #6B6480; font-size: .9rem; line-height: 1.6; margin: -.9rem 0 1.5rem; }
.fsec label { display: block; color: #241146; font-size: .9rem; font-weight: 600; margin-bottom: .45rem; }
.fsec label small { display: block; color: #6B6480; font-size: .82rem; font-weight: 400; margin-top: .2rem; line-height: 1.5; }
.req { color: #B8955E; }
.fsec input[type=text], .fsec input[type=email], .fsec textarea, .fsec select {
  width: 100%; box-sizing: border-box; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14);
  border-radius: 10px; padding: .85rem 1.1rem; font-size: .93rem; font-family: inherit; color: #241146; margin-bottom: 1.2rem;
}
.fsec input:focus, .fsec textarea:focus, .fsec select:focus { outline: none; border-color: #4B2A8C; background: #fff; }
.fsec input::placeholder, .fsec textarea::placeholder { color: #9A93AD; }
.fsec .af-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fcheck { display: flex !important; align-items: center; gap: .6rem; font-weight: 400 !important; color: #4A4360 !important; font-size: .88rem !important; margin: -.7rem 0 1.3rem !important; cursor: pointer; }
.fcheck input { width: auto !important; margin: 0 !important; }
.fnote { background: rgba(184,149,94,.09); border-left: 3px solid #B8955E; border-radius: 10px; padding: .9rem 1.1rem; color: #4A4360; font-size: .87rem; line-height: 1.6; }
.form-send { display: block !important; text-align: center; width: 100%; box-sizing: border-box; padding: 1.1rem !important; font-size: 1rem !important; margin-top: .6rem; }
.form-legal { color: #6B6480; font-size: .82rem; line-height: 1.6; text-align: center; margin-top: 1.3rem; }
.form-legal a { color: #4B2A8C; }
@media (max-width: 600px) { .fsec .af-row { grid-template-columns: 1fr; } .sec-form { padding: 6.5rem 0 3rem; } }

/* === Formulaire : etapes === */
.fbar { height: 4px; background: rgba(75,42,140,.12); border-radius: 4px; margin-bottom: 1rem; overflow: hidden; }
.fbar-fill { display: block; height: 100%; width: 25%; background: linear-gradient(90deg,#4B2A8C,#B8955E); border-radius: 4px; transition: width .3s ease; }
.fstep-num { color: #6B6480; font-size: .82rem; font-weight: 600; margin: 0 0 1.4rem; }
.fnav { display: flex; gap: 1rem; align-items: center; margin-top: .4rem; }
.fnav-back { background: none; border: 1px solid rgba(75,42,140,.25); border-radius: 8px; color: #4B2A8C; font-size: .92rem; font-weight: 600; padding: 1.05rem 1.4rem; cursor: pointer; font-family: inherit; }
.fnav-back:hover { background: rgba(75,42,140,.07); }
.fnav-next { flex: 1; text-align: center; border: none; cursor: pointer; font-family: inherit; font-size: 1rem !important; padding: 1.1rem !important; }

/* === Formulaire : deux colonnes pleine largeur === */
.sec-form { padding: 7rem 0 4rem !important; }
.form-wrap { max-width: 1400px !important; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 4rem; align-items: start; }
.form-left { position: sticky; top: 120px; }
.form-left h1 { font-size: clamp(1.9rem,2.8vw,2.6rem); margin: .4rem 0 1rem; }
.form-left .form-intro { margin-bottom: 2rem; }
.form-steps-list { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .8rem; }
.form-steps-list li { display: flex; align-items: center; gap: .9rem; color: #9A93AD; font-size: .93rem; transition: color .2s ease; }
.form-steps-list li span { flex: 0 0 28px; height: 28px; border-radius: 50%; background: rgba(75,42,140,.08); color: #9A93AD; display: flex; align-items: center; justify-content: center; font-size: .82rem; font-weight: 700; }
.form-steps-list li.on { color: #241146; font-weight: 600; }
.form-steps-list li.on span { background: #4B2A8C; color: #fff; }
.form-steps-list li.done span { background: rgba(184,149,94,.2); color: #B8955E; }
.form-right .fsec { margin-bottom: 1.2rem; }
.form-legal { grid-column: 1 / -1; }
@media (max-width: 1000px) {
  .form-wrap { grid-template-columns: 1fr; gap: 2rem; }
  .form-left { position: static; }
  .form-steps-list { display: none; }
}

/* === Formulaire : compactage pour tenir sans scroll === */
.sec-form { padding: 6rem 0 2.5rem !important; }
.form-right .fsec { padding: 1.6rem 1.7rem !important; margin-bottom: 1rem !important; }
.form-right .fsec h2 { font-size: 1.15rem !important; margin: 0 0 1rem !important; }
.form-right .fsec-sub { margin: -.5rem 0 1rem !important; font-size: .85rem !important; }
.form-right .fsec label { font-size: .86rem !important; margin-bottom: .3rem !important; }
.form-right .fsec label small { font-size: .78rem !important; margin-top: .1rem !important; }
.form-right .fsec input[type=text],
.form-right .fsec input[type=email],
.form-right .fsec textarea,
.form-right .fsec select { padding: .68rem 1rem !important; font-size: .9rem !important; margin-bottom: .85rem !important; }
.form-right .fsec textarea { rows: 2; min-height: 62px; }
.form-right .fcheck { margin: -.5rem 0 .9rem !important; }
.form-right .fnav { margin-top: .2rem !important; }
.form-right .fnav-next, .form-right .form-send { padding: .9rem !important; font-size: .95rem !important; }
.form-right .fnav-back { padding: .85rem 1.2rem !important; }
.form-legal { margin-top: .9rem !important; font-size: .78rem !important; }

/* === Formulaire : respecter l attribut hidden === */
.form-send[hidden], .fnav-next[hidden], .fnav-back[hidden], .fsec[hidden] { display: none !important; }

/* === Formulaire : selects et indicatif === */
.form-right .fsec select {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%234B2A8C' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.4rem !important;
}
.ftel { display: grid; grid-template-columns: 116px 1fr; gap: .5rem; }
.ftel select, .ftel input { margin-bottom: .85rem !important; }

/* === Formulaire : eviter le flash au chargement === */
.form-right .fsec { display: none; }
.form-right .fsec:first-of-type { display: block; }
.form-right .fsec[hidden] { display: none !important; }
.fhr { border: none; border-top: 1px solid rgba(75,42,140,.12); margin: 1.4rem 0; }
.fwarn { background: rgba(184,149,94,.10); border-left: 3px solid #B8955E; border-radius: 8px; padding: .7rem .9rem; color: #4A4360; font-size: .82rem; line-height: 1.5; margin: -.4rem 0 1rem; }

/* === Formulaire : choix final paiement / WhatsApp === */
.fchoice { background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 16px; padding: 1.8rem; box-shadow: 0 2px 14px rgba(36,17,70,.04); }
.fchoice[hidden] { display: none !important; }
.fchoice-title { color: #241146; font-size: 1.15rem; font-weight: 700; margin: 0 0 .4rem; }
.fchoice-sub { color: #6B6480; font-size: .88rem; line-height: 1.6; margin: 0 0 1.5rem; }
.fchoice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.fch { display: flex; flex-direction: column; border: 1px solid rgba(75,42,140,.14); border-radius: 14px; padding: 1.5rem 1.4rem; }
.fch-main { border-color: rgba(184,149,94,.55); background: rgba(184,149,94,.05); position: relative; }
.fch-tag { position: absolute; top: -11px; left: 1.4rem; background: linear-gradient(135deg,#E3C88A,#B8955E); color: #12091F; font-size: .64rem; font-weight: 800; letter-spacing: .08em; padding: .3rem .7rem; border-radius: 20px; }
.fch h3 { color: #241146; font-size: 1.05rem; margin: 0 0 .5rem; }
.fch-price { color: #B8955E; font-size: 1.7rem; font-weight: 800; margin: 0 0 .7rem; line-height: 1; }
.fch-price-alt { color: #4B2A8C; font-size: 1.15rem; }
.fch p { color: #4A4360; font-size: .86rem; line-height: 1.55; margin: 0 0 1.2rem; }
.fch .pc-btn { margin-top: auto; text-align: center; display: block; padding: .85rem 1rem; border-radius: 10px; text-decoration: none; font-size: .9rem; font-weight: 600; border: 1px solid rgba(75,42,140,.22); color: #4B2A8C; }
.fch .pc-btn:hover { background: rgba(75,42,140,.07); }
.fch .pc-btn-gold { background: linear-gradient(135deg,#E3C88A,#B8955E); border-color: transparent; color: #12091F; }
.fch .pc-btn-gold:hover { background: #A07F4C; }
@media (max-width: 700px) { .fchoice-grid { grid-template-columns: 1fr; } }

/* ============================================================
   MOBILE — NAVBAR ET MENU LATERAL (bloc unique, consolide)
   Navbar : logo + burger uniquement. FR et connexion dans le panneau.
   ============================================================ */
@media (max-width: 900px) {

  /* --- navbar epuree --- */
  header .header-right { display: none !important; }
  header .burger { display: flex !important; align-items: center; justify-content: center;
    background: none; border: none; cursor: pointer; padding: .4rem; margin-left: auto; z-index: 1002; }

  /* --- panneau lateral --- */
  header .nav {
    position: fixed !important;
    top: 0; right: 0; bottom: 0;
    width: min(84vw, 340px);
    max-width: 340px;
    background: #0C0616 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 5.5rem 1.5rem 2rem !important;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 1001;
    box-shadow: -10px 0 40px rgba(0,0,0,.5);
  }
  header.nav-open .nav { transform: translateX(0); }

  header .nav-close { display: block !important; position: absolute; top: 1.4rem; right: 1.4rem;
    background: none; border: none; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; z-index: 1003; }

  /* --- liens du panneau --- */
  header .nav > a,
  header .nav-drop-toggle {
    display: block !important; color: #fff !important; font-size: 1rem !important;
    padding: 1rem 0 !important; border-bottom: 1px solid rgba(255,255,255,.08);
    text-decoration: none; text-align: left !important;
  }
  header .nav-drop { position: static !important; display: block !important; }
  header .nav-drop-menu {
    position: static !important; display: none !important;
    background: transparent !important; border: none !important; box-shadow: none !important;
    padding: .2rem 0 .8rem 1rem !important; min-width: 0 !important; width: 100% !important;
    transform: none !important; margin: 0 !important;
  }
  header .nav-drop.open .nav-drop-menu,
  header .nav-drop-menu.open { display: block !important; }
  header .nav-drop-menu a {
    display: block !important; grid-template-columns: none !important;
    padding: .7rem 0 !important; font-size: .9rem !important;
    color: rgba(255,255,255,.75) !important; border: none !important;
  }
  header .nav-drop-menu a span { font-size: .78rem !important; opacity: .55; }
  header .nav-drop-menu .menu-ico { display: none !important; }

  /* --- FR et connexion dans le panneau --- */
  header .nav::after {
    content: "";
    display: block;
    margin-top: auto;
  }
  header .nav-mobile-actions { display: flex !important; flex-direction: column; gap: .8rem; margin-top: 2rem; }
  header .nav-mobile-actions a { display: block; text-align: center; padding: .9rem; border-radius: 10px;
    text-decoration: none; font-weight: 600; font-size: .95rem; }
  header .nav-mobile-actions .m-login { border: 1px solid rgba(255,255,255,.25); color: #fff; }
  header .nav-mobile-actions .m-signup { background: #B8955E; color: #12091F; }
  header .nav-mobile-actions .m-lang { color: rgba(255,255,255,.6); font-size: .85rem; text-align: center; }

  /* --- overlay --- */
  .nav-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55);
    opacity: 0; pointer-events: none; transition: opacity .3s ease; z-index: 1000; }
  header.nav-open ~ .nav-overlay,
  body.nav-open .nav-overlay { opacity: 1; pointer-events: auto; }
  body.nav-open { overflow: hidden; }
}

/* === Burger : trois barres blanches === */
@media (max-width: 900px) {
  header .burger { display: flex !important; flex-direction: column; justify-content: center; gap: 5px; }
  header .burger span { display: block !important; width: 24px; height: 2px; background: #fff !important; border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
  header.nav-open .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  header.nav-open .burger span:nth-child(2) { opacity: 0; }
  header.nav-open .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

/* === Mobile : le survol ne doit pas ouvrir les dropdowns === */
@media (max-width: 900px) {
  header .nav-drop:hover .nav-drop-menu { display: none !important; }
  header .nav-drop.open .nav-drop-menu { display: block !important; }
}

/* === Mobile : boutons du panneau lateral === */
@media (max-width: 900px) {
  header .nav-mobile-actions .m-login {
    color: #FFFFFF !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.3) !important;
  }
  header .nav-mobile-actions .m-signup {
    background: #B8955E !important;
    color: #12091F !important;
    border: none !important;
  }
  header .nav-mobile-actions a {
    padding: .6rem .9rem !important;
    font-size: .85rem !important;
    line-height: 1.2 !important;
  }
  header .nav-mobile-actions { gap: .5rem !important; margin-top: 1.3rem !important; }
}

/* === Page connexion === */
.sec-login { background: #FBFAFE; padding: 9rem 0 5rem; min-height: 70vh; }
.login-wrap { max-width: 420px !important; margin: 0 auto !important; padding: 0 1.5rem !important; background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 18px; padding: 2.5rem 2rem !important; box-shadow: 0 4px 24px rgba(36,17,70,.06); }
.login-wrap h1 { color: #241146; font-size: 1.9rem; margin: .3rem 0 .6rem; }
.login-sub { color: #6B6480; font-size: .9rem; line-height: 1.6; margin-bottom: 1.8rem; }
.login-wrap label { display: block; color: #241146; font-size: .86rem; font-weight: 600; margin-bottom: .4rem; }
.login-wrap input { width: 100%; box-sizing: border-box; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14); border-radius: 10px; padding: .85rem 1.1rem; font-size: .93rem; font-family: inherit; color: #241146; margin-bottom: 1.1rem; }
.login-wrap input:focus { outline: none; border-color: #4B2A8C; background: #fff; }
.login-btn { display: block !important; text-align: center; width: 100%; box-sizing: border-box; padding: .95rem !important; margin-top: .3rem; }
.login-msg { font-size: .86rem; line-height: 1.5; margin: 1rem 0 0; min-height: 1.2rem; }
.login-msg.err { color: #E05A5A; }
.login-msg.info { color: #4B2A8C; }
.login-help { color: #6B6480; font-size: .84rem; line-height: 1.6; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(75,42,140,.10); }
.login-help a { color: #4B2A8C; }

/* === Espace client === */
.sec-espace { background: #FBFAFE; padding: 8rem 0 5rem; min-height: 75vh; }
.esp-wrap { max-width: 980px !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
#esp-login { max-width: 460px; margin: 0 auto; background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 18px; padding: 2.4rem 2rem; box-shadow: 0 4px 24px rgba(36,17,70,.06); }
#esp-login h1 { color: #241146; font-size: 1.75rem; line-height: 1.2; margin: .4rem 0 .8rem; }
.esp-intro { color: #6B6480; font-size: .9rem; line-height: 1.65; margin-bottom: 1.6rem; }
#esp-login label { display: block; color: #241146; font-size: .85rem; font-weight: 600; margin-bottom: .35rem; }
#esp-login input { width: 100%; box-sizing: border-box; background: #F7F5FC; border: 1px solid rgba(75,42,140,.14); border-radius: 10px; padding: .85rem 1.1rem; font-size: .93rem; font-family: inherit; color: #241146; margin-bottom: 1rem; }
#esp-login input:focus { outline: none; border-color: #4B2A8C; background: #fff; }
.esp-btn { display: block !important; text-align: center; width: 100%; box-sizing: border-box; padding: .95rem !important; }
.esp-msg { font-size: .86rem; line-height: 1.55; margin: 1rem 0 0; min-height: 1.2rem; }
.esp-msg.ok { color: #2E9E6B; } .esp-msg.err { color: #E05A5A; }
.esp-help { color: #6B6480; font-size: .84rem; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(75,42,140,.10); }
.esp-help a { color: #4B2A8C; }
.esp-head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.esp-head h1 { color: #241146; font-size: 1.7rem; margin: 0; }
.esp-head p { color: #6B6480; font-size: .88rem; margin: .2rem 0 0; }
.esp-out { background: none; border: 1px solid rgba(75,42,140,.2); color: #4B2A8C; border-radius: 8px; padding: .5rem 1rem; font-size: .82rem; cursor: pointer; font-family: inherit; font-weight: 600; }
.esp-card { background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 16px; margin-bottom: 1.3rem; overflow: hidden; box-shadow: 0 2px 14px rgba(36,17,70,.04); }
.esp-card h3 { padding: 1.1rem 1.4rem; font-size: 1rem; color: #241146; border-bottom: 1px solid rgba(75,42,140,.08); margin: 0; }
.esp-card .in { padding: 1.3rem 1.4rem; }
.esp-soc { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(75,42,140,.07); flex-wrap: wrap; }
.esp-soc:last-child { border-bottom: none; }
.esp-soc b { color: #241146; font-size: 1rem; }
.esp-soc span { color: #6B6480; font-size: .84rem; }
.esp-etapes { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .6rem; }
.esp-et { font-size: .72rem; font-weight: 700; padding: .22rem .6rem; border-radius: 20px; }
.esp-doc { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid rgba(75,42,140,.07); flex-wrap: wrap; }
.esp-doc:last-child { border-bottom: none; }
.esp-dl { background: #fff; border: 1px solid rgba(75,42,140,.2); color: #4B2A8C; border-radius: 8px; padding: .4rem .9rem; font-size: .8rem; text-decoration: none; font-weight: 600; white-space: nowrap; }
.esp-vide { color: #6B6480; font-size: .88rem; line-height: 1.6; padding: 1.6rem 0; text-align: center; }
@media (max-width: 700px) { .sec-espace { padding: 6.5rem 0 3rem; } }

/* === Bloc conformité dans les offres === */
.offres-comp { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.12); }
.offres-comp-head { max-width: 720px; margin-bottom: 1.8rem; }
.offres-comp-head h3 { color: #fff; font-size: clamp(1.4rem,2.4vw,1.9rem); margin: .3rem 0 .8rem; }
.offres-comp-head p { color: rgba(255,255,255,.75); font-size: .95rem; line-height: 1.7; margin: 0; }
.offres-comp-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 1.4rem; }
.ocg { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; padding: 1.6rem 1.5rem; }
.ocg-main { background: linear-gradient(170deg, rgba(75,42,140,.30), rgba(18,9,31,.55)); border-color: rgba(184,149,94,.45); }
.ocg-lbl { color: #E3C88A; font-size: .72rem; letter-spacing: .12em; font-weight: 700; margin: 0 0 .8rem; }
.ocg-prix { color: #fff; font-size: 2rem; font-weight: 800; line-height: 1; margin: 0 0 .5rem; }
.ocg-prix span { font-size: .95rem; font-weight: 500; color: rgba(255,255,255,.7); }
.ocg-alt { color: rgba(255,255,255,.55); }
.ocg-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-bottom: .9rem; }
.ocg-duo span { color: rgba(255,255,255,.6); font-size: .8rem; }
.ocg-txt { color: rgba(255,255,255,.78); font-size: .87rem; line-height: 1.65; margin: 0; }
.offres-comp-notes { display: grid; gap: .55rem; margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.10); }
.offres-comp-notes span { color: rgba(255,255,255,.62); font-size: .84rem; line-height: 1.6; }
.offres-comp-notes b { color: #E3C88A; font-weight: 700; }
@media (max-width: 900px) { .offres-comp-grid, .ocg-duo { grid-template-columns: 1fr; } }

/* === Offres : lisibilité des listes === */
.pc-list li { color: rgba(255,255,255,.95) !important; opacity: 1 !important; }
.pc-list li * { opacity: 1 !important; }
.pc-sub { color: rgba(255,255,255,.95) !important; }
.pc-tag { color: rgba(255,255,255,.7) !important; }
.pc-label { color: #E3C88A !important; }
.pc-amount { color: #FFFFFF !important; }
.pc-main .pc-amount { color: #E3C88A !important; }

/* === Bloc conformité : lisibilité === */
.offres-comp-head p { color: rgba(255,255,255,.9) !important; }
.ocg-txt { color: rgba(255,255,255,.92) !important; }
.ocg-prix { color: #FFFFFF !important; }
.ocg-prix span { color: rgba(255,255,255,.85) !important; }
.ocg-alt { color: rgba(255,255,255,.75) !important; }
.ocg-duo span { color: rgba(255,255,255,.8) !important; }
.ocg-lbl { color: #E3C88A !important; }
.offres-comp-notes span { color: rgba(255,255,255,.85) !important; }
.offres-comp-cta { margin: .4rem 0 1.6rem; }

/* === Bloc conformité : centrage === */
.offres-comp-head { max-width: 720px !important; margin: 0 auto 1.6rem !important; text-align: center; }
.offres-comp-head .eyebrow-line { border-left: none !important; padding-left: 0 !important; }
.offres-comp-cta { text-align: center; margin: .4rem 0 2rem !important; }
.offres-comp-notes { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }

/* === Formulaire création : options et validation === */
.fopt { align-items: flex-start !important; padding: .85rem 1rem; background: #F7F5FC; border: 1px solid rgba(75,42,140,.12); border-radius: 12px; margin: 0 0 .7rem !important; }
.fopt span { font-weight: 400 !important; font-size: .87rem !important; line-height: 1.55; color: #4A4360 !important; }
.fopt b { color: #241146; }
.fopt:hover { border-color: rgba(75,42,140,.28); }
.fobli { align-items: flex-start !important; padding: .9rem 1.1rem; background: rgba(75,42,140,.05); border: 1px solid rgba(75,42,140,.16); border-radius: 12px; margin: 0 0 .8rem !important; }
.fobli span { font-weight: 400 !important; font-size: .85rem !important; line-height: 1.6; color: #4A4360 !important; }
.fdanger { background: rgba(199,123,123,.07) !important; border-color: rgba(199,123,123,.35) !important; }
.frecap { background: #fff; border: 1px solid rgba(75,42,140,.14); border-radius: 12px; padding: 1.1rem 1.3rem; margin-bottom: 1.2rem; }
.frecap-l { display: flex; justify-content: space-between; padding: .35rem 0; font-size: .88rem; color: #4A4360; }
.frecap-l b { color: #241146; }
.frecap-tot { display: flex; justify-content: space-between; align-items: baseline; margin-top: .7rem; padding-top: .8rem; border-top: 2px solid #B8955E; }
.frecap-tot span { color: #241146; font-weight: 700; }
.frecap-tot b { color: #B8955E; font-size: 1.5rem; }
.frecap-sub { color: #6B6480; font-size: .8rem; line-height: 1.55; margin-top: .6rem; }

/* === Formulaire de souscription au suivi === */
.sok { background: rgba(46,158,107,.07); border-left: 3px solid #2E9E6B; border-radius: 10px; padding: 1rem 1.2rem; }
.sok b { color: #2E9E6B; font-size: .95rem; }
.sok p { color: #4A4360; font-size: .87rem; line-height: 1.6; margin: .3rem 0 0; }
.smois { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin: .8rem 0 1.2rem; }
.smois label { display: flex; align-items: center; gap: .5rem; padding: .55rem .7rem; background: #F7F5FC; border: 1px solid rgba(75,42,140,.12); border-radius: 9px; cursor: pointer; font-size: .85rem; color: #4A4360; font-weight: 500; margin: 0; }
.smois label:hover { border-color: rgba(75,42,140,.3); }
.smois input:checked + span { color: #241146; font-weight: 700; }
.sannee { border: 1px solid rgba(75,42,140,.14); border-radius: 12px; padding: 1.1rem 1.2rem; margin-bottom: .9rem; }
.sannee h4 { color: #241146; font-size: 1rem; margin: 0 0 .3rem; }
.sannee > p { color: #6B6480; font-size: .84rem; line-height: 1.55; margin: 0 0 .8rem; }
.sopt { display: flex; align-items: flex-start; gap: .6rem; padding: .6rem .8rem; margin-bottom: .4rem; border: 1px solid rgba(75,42,140,.12); border-radius: 9px; cursor: pointer; font-size: .86rem; color: #4A4360; }
.sopt:hover { border-color: rgba(75,42,140,.28); }
.sopt b { color: #241146; }
.sopt small { display: block; color: #6B6480; font-size: .8rem; line-height: 1.5; margin-top: .15rem; }
.sdecharge { background: rgba(199,123,123,.07); border: 1px solid rgba(199,123,123,.3); border-radius: 9px; padding: .8rem 1rem; margin-top: .5rem; color: #4A4360; font-size: .82rem; line-height: 1.6; }

/* === Formulaire de souscription au suivi === */
.sok { background: rgba(46,158,107,.07); border-left: 3px solid #2E9E6B; border-radius: 10px; padding: 1rem 1.2rem; }
.sok b { color: #2E9E6B; font-size: .95rem; }
.sok p { color: #4A4360; font-size: .87rem; line-height: 1.6; margin: .3rem 0 0; }
.smois { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin: .8rem 0 1.2rem; }
.smois label { display: flex; align-items: center; gap: .5rem; padding: .55rem .7rem; background: #F7F5FC; border: 1px solid rgba(75,42,140,.12); border-radius: 9px; cursor: pointer; font-size: .85rem; color: #4A4360; font-weight: 500; margin: 0; }
.smois label:hover { border-color: rgba(75,42,140,.3); }
.smois input:checked + span { color: #241146; font-weight: 700; }
.sannee { border: 1px solid rgba(75,42,140,.14); border-radius: 12px; padding: 1.1rem 1.2rem; margin-bottom: .9rem; }
.sannee h4 { color: #241146; font-size: 1rem; margin: 0 0 .3rem; }
.sannee > p { color: #6B6480; font-size: .84rem; line-height: 1.55; margin: 0 0 .8rem; }
.sopt { display: flex; align-items: flex-start; gap: .6rem; padding: .6rem .8rem; margin-bottom: .4rem; border: 1px solid rgba(75,42,140,.12); border-radius: 9px; cursor: pointer; font-size: .86rem; color: #4A4360; }
.sopt:hover { border-color: rgba(75,42,140,.28); }
.sopt b { color: #241146; }
.sopt small { display: block; color: #6B6480; font-size: .8rem; line-height: 1.5; margin-top: .15rem; }
.sdecharge { background: rgba(199,123,123,.07); border: 1px solid rgba(199,123,123,.3); border-radius: 9px; padding: .8rem 1rem; margin-top: .5rem; color: #4A4360; font-size: .82rem; line-height: 1.6; }

/* === Espace client : menu latéral === */
.esp-layout { display: grid; grid-template-columns: 250px 1fr; gap: 2rem; align-items: start; }
.esp-nav { position: sticky; top: 100px; }
.esp-burger { display: none; width: 100%; background: #fff; border: 1px solid rgba(75,42,140,.14); border-radius: 12px; padding: .8rem 1rem; font-family: inherit; font-size: .92rem; font-weight: 600; color: #241146; cursor: pointer; text-align: left; }
.esp-nav-in { display: flex; flex-direction: column; gap: .3rem; }
.esp-lien { display: block; padding: .7rem .9rem; border-radius: 10px; text-decoration: none; border-left: 3px solid transparent; transition: .15s; }
.esp-lien b { display: block; color: #241146; font-size: .9rem; font-weight: 600; }
.esp-lien span { display: block; color: #9A93AD; font-size: .76rem; line-height: 1.4; margin-top: .1rem; }
.esp-lien:hover { background: #F7F5FC; }
.esp-lien.on { background: rgba(75,42,140,.07); border-left-color: #4B2A8C; }
.esp-lien.on b { color: #4B2A8C; }
.esp-lien.on span { color: #6B6480; }
.esp-vue { min-width: 0; }
@media (max-width: 860px) {
  .esp-layout { grid-template-columns: 1fr; gap: 1rem; }
  .esp-nav { position: static; }
  .esp-burger { display: block; margin-bottom: .5rem; }
  .esp-nav-in { display: none; background: #fff; border: 1px solid rgba(75,42,140,.12); border-radius: 12px; padding: .5rem; }
  .esp-nav-in.ouvert { display: flex; }
}
@media (max-width: 700px) {
  .esp-card .in > div[style*="repeat(4,1fr)"] { grid-template-columns: repeat(2,1fr) !important; }
}

/* === Pages légales : mentions, CGV, confidentialité === */
.container {
  max-width: 740px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 4.5rem;
}
.container h1 {
  color: #241146;
  font-size: 1.9rem;
  line-height: 1.25;
  margin: 0 0 2.2rem;
}
.container h2 {
  color: #241146;
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 2.2rem 0 .7rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(75,42,140,.1);
}
.container h1 + h2 { border-top: none; padding-top: 0; margin-top: 0; }
.container p {
  color: #4A4360;
  font-size: .95rem;
  line-height: 1.75;
  margin: 0 0 .9rem;
}
.container ul { margin: .8rem 0 1.2rem; padding: 0; list-style: none; }
.container li {
  color: #4A4360;
  font-size: .93rem;
  line-height: 1.7;
  margin-bottom: .75rem;
  padding-left: 1.4rem;
  position: relative;
}
.container li::before {
  content: "";
  position: absolute;
  left: 0; top: .63rem;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #B8955E;
}
.container b { color: #241146; font-weight: 600; }
.container a { color: #4B2A8C; text-decoration: none; border-bottom: 1px solid rgba(75,42,140,.25); }
.container a:hover { border-bottom-color: #4B2A8C; }
@media (max-width: 640px) {
  .container { padding: 2.5rem 1.2rem 3rem; }
  .container h1 { font-size: 1.5rem; margin-bottom: 1.6rem; }
  .container h2 { font-size: 1.02rem; }
}
