/* Stampiio — direction artistique Liquid Glass */
:root {
  --lg-purple: #0f8f83;
  --lg-purple-deep: #087267;
  --lg-ink: #151427;
  --lg-muted: #656477;
  --lg-line: rgba(255, 255, 255, .68);
  --lg-panel: linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.18));
  --lg-shadow: 0 24px 65px rgba(72, 48, 146, .13), inset 0 1px 0 rgba(255,255,255,.9);
}

/* Mobile guardrails for the Fidelyxa editorial redesign. Kept here because
   this theme is loaded after styles.css on the homepage. */
@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .site-header{left:12px;right:12px;width:auto;max-width:calc(100vw - 24px);height:64px;padding:0 18px}
  .site-header .brand{min-width:0}
  .site-header .brand img{width:118px;max-width:100%}
  .hero{width:auto;max-width:calc(100vw - 12px);margin:26px 6px 0;padding:46px 20px 64px;grid-template-columns:minmax(0,1fr);overflow:hidden}
  .hero-copy,.hero-visual{width:100%;min-width:0;max-width:100%}
  .hero h1{max-width:100%;font-size:clamp(39px,11vw,58px);line-height:1;overflow-wrap:normal}
  .hero-copy>p{max-width:100%;font-size:15px;line-height:1.7}
  .hero-actions{width:100%;grid-template-columns:1fr}
  .hero-actions .btn{width:100%;min-width:0}
  .wallet-block{width:100%;max-width:100%}
  .wallet-row{grid-template-columns:1fr 1fr}
  .trust-row{width:100%;max-width:100%}
  .hero-visual{min-height:460px;margin:0}
}

@media(max-width:600px){
  .hero{padding-inline:18px}
  .hero h1{font-size:clamp(36px,10.6vw,46px)}
  .wallet-row{grid-template-columns:1fr}
  .hero-visual{min-height:390px}
  .hero-wallet-phone{width:min(265px,76vw)}
  .hf1{right:0}.hf2{left:0}
}

/* Taste pass: calmer hierarchy, consistent geometry and one deliberate dark anchor. */
#publicSite {
  --marketing-radius: 28px;
  --marketing-card-radius: 18px;
  --marketing-control-radius: 12px;
}

#publicSite .hero h1,
#publicSite .section-heading h2,
#publicSite .commerce-heading h2,
#publicSite .dashboard-showcase-head h2,
#publicSite .cta h2 {
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.055em !important;
}

#publicSite .hero h1 {
  max-width: 660px;
  font-size: clamp(58px, 5.1vw, 74px);
  line-height: .98;
}

#publicSite .section-heading h2,
#publicSite .commerce-heading h2 {
  line-height: 1.06;
}

#publicSite > .section,
#publicSite > .dashboard-showcase {
  border-radius: var(--marketing-radius) !important;
}

#publicSite .journey-compact article,
#publicSite .feature-card,
#publicSite .commerce-grid article,
#publicSite .comparison-card,
#publicSite .steps article,
#publicSite .price-card,
#publicSite .trust-card,
#publicSite .premium-faq details {
  border-radius: var(--marketing-card-radius) !important;
}

#publicSite .btn,
#publicSite .wallet-brand-button,
#publicSite .billing-toggle,
#publicSite .pricing-cta {
  border-radius: var(--marketing-control-radius) !important;
}

/* Keep labels only where they genuinely orient the page. */
#publicSite #fonctionnalites .section-heading > span,
#publicSite .commerce-heading > div > span,
#publicSite .comparison-section .section-heading > span,
#publicSite #comment-ca-marche .section-heading > span,
#publicSite .trust-section .section-heading > span,
#publicSite .faq .section-heading > span {
  display: none !important;
}

/* The customer journey stays prominent without introducing a second dark theme. */
#publicSite > .customer-journey {
  border-color: rgba(8,123,112,.18) !important;
  background: linear-gradient(145deg,#e7f8f4,#d8f2ec) !important;
  box-shadow: 0 22px 54px rgba(5,83,75,.1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#publicSite > .customer-journey::before { opacity: .32; }
#publicSite > .customer-journey .section-heading > span { color: #087b70 !important; }
#publicSite > .customer-journey .section-heading h2 { color: #10211d !important; }
#publicSite > .customer-journey .section-heading p { color: #53635f !important; }
#publicSite > .customer-journey .journey-compact article {
  border-color: rgba(8,123,112,.14) !important;
  background: #f8fcfb !important;
  box-shadow: 0 12px 28px rgba(5,83,75,.08) !important;
}
#publicSite > .customer-journey .journey-compact-arrow { color: #0f8f83 !important; }

/* Secondary steps use the same light system; the dashboard remains the sole dark showcase. */
#publicSite > #comment-ca-marche {
  border-color: rgba(8,123,112,.16) !important;
  background: #eef8f5 !important;
  box-shadow: 0 20px 48px rgba(5,83,75,.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#publicSite > #comment-ca-marche::after { display: none !important; }
#publicSite > #comment-ca-marche .section-heading h2 { color: #10211d !important; }
#publicSite > #comment-ca-marche .steps article {
  border-color: rgba(8,123,112,.14) !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(5,83,75,.07) !important;
}

#publicSite #fonctionnalites .feature-card,
#publicSite .commerce-grid article {
  background: rgba(255,255,255,.9) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media(max-width:900px) {
  #publicSite .hero h1 {
    font-size: clamp(39px,11vw,58px) !important;
    letter-spacing: -.05em !important;
  }
}
@media(max-width:600px) {
  #publicSite .hero h1,
  #publicSite .hero h1 span {
    font-size: clamp(30px,8.5vw,35px) !important;
    line-height: 1.04 !important;
  }
}

/* Palette alternative : vert lagon, mise en page inchangée */
:root { --lg-purple:#0f8f83; --lg-purple-deep:#087267; }
.btn-primary, .showcase-cta, .auth-submit, .onboarding-ready>svg { background:linear-gradient(135deg,#16b8a6,#087267) !important; }
.hero h1 span { background:linear-gradient(135deg,#16b8a6,#087267) !important; }
.site-header .desktop-nav a:hover, .site-header .desktop-nav a.active { color:#087267 !important; }

html { background: #f3f0ff; }
body {
  color: var(--lg-ink);
  background:
    radial-gradient(circle at 8% 12%, rgba(177,164,255,.62), transparent 29%),
    radial-gradient(circle at 90% 17%, rgba(214,229,255,.88), transparent 30%),
    radial-gradient(circle at 55% 54%, rgba(255,255,255,.98), transparent 27%),
    radial-gradient(circle at 17% 78%, rgba(194,171,255,.43), transparent 29%),
    linear-gradient(135deg, #faf9ff 0%, #eeebff 43%, #f7f9ff 100%) !important;
  background-attachment: fixed !important;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .32;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}

#publicSite { width: min(1380px, calc(100% - 32px)); margin: 20px auto 70px; }

/* Surface en verre commune */
.hero,
.metrics article,
.journey-compact article,
.dashboard-showcase,
.feature-card,
.commerce-section,
.commerce-grid article,
.comparison-card,
.pricing-card,
.faq-item,
.cta-section,
.showcase-float-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--lg-line) !important;
  background: var(--lg-panel) !important;
  box-shadow: var(--lg-shadow) !important;
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}

.hero::before,
.dashboard-showcase::before,
.commerce-section::before,
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(125deg, rgba(255,255,255,.74), transparent 25%, transparent 70%, rgba(255,255,255,.16));
  opacity: .82;
}

/* Navigation flottante */
.site-header {
  width: min(1348px, calc(100% - 52px));
  height: 72px;
  top: 12px;
  margin: 16px auto 0;
  padding: 0 22px 0 26px;
  border-radius: 25px;
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(120deg, rgba(255,255,255,.67), rgba(255,255,255,.17)) !important;
  box-shadow: 0 18px 50px rgba(73,50,137,.14), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(26px) saturate(155%);
  -webkit-backdrop-filter: blur(26px) saturate(155%);
}
.site-header .desktop-nav a { color: #565469; font-weight: 500; }
.site-header .desktop-nav a:hover { color: var(--lg-purple); }
.site-header .btn { border-radius: 16px; }

/* Hero */
.hero {
  min-height: 610px;
  margin-top: 26px;
  padding: clamp(42px, 5vw, 70px);
  border-radius: 46px;
  isolation: isolate;
}
.hero-copy, .hero-visual { position: relative; z-index: 2; }
.hero h1 { max-width: 700px; letter-spacing: -.065em; line-height: .98; }
.hero h1 {
  font-family: "Century 751", "Century Gothic", Century, Georgia, serif;
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.04;
}
.hero .eyebrow {
  font-family: "Century 751", "Century Gothic", Century, Georgia, serif;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
}
.hero h1 span {
  color: transparent;
  background: linear-gradient(95deg, #6337df, #a16df8);
  background-clip: text;
  -webkit-background-clip: text;
}
.hero .eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #087b70;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hero .eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 2px solid rgba(255,255,255,.85);
  border-radius: 50%;
  background: #18b8a6;
  box-shadow: 0 0 0 4px rgba(24,184,166,.12), 0 0 14px rgba(24,184,166,.38);
}
.hero .eyebrow::after {
  content: "";
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, rgba(8,123,112,.55), transparent);
}
.btn-primary {
  border: 1px solid rgba(255,255,255,.3) !important;
  background: linear-gradient(135deg, #9b6cff, #692cec 54%, #551ed4) !important;
  box-shadow: 0 13px 30px rgba(103,43,231,.3), inset 0 1px 1px rgba(255,255,255,.48) !important;
}
.btn-secondary, .btn-ghost {
  border: 1px solid rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.32) !important;
  box-shadow: 0 10px 28px rgba(64,48,111,.08), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(14px);
}
.wallet-brand-button, .hero-float {
  border: 1px solid rgba(255,255,255,.72) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.2)) !important;
  box-shadow: 0 14px 34px rgba(62,46,112,.11), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(20px) saturate(140%);
}
.wallet-logo-frame {
  display: grid !important;
  place-items: center;
  border: 1px solid rgba(255,255,255,.86) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(238,231,255,.56)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 7px 18px rgba(96,52,229,.12) !important;
}
.wallet-logo-frame svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--lg-purple);
  stroke-width: 1.9;
}
.hero-glow {
  background: radial-gradient(circle, rgba(134,93,255,.37), rgba(177,200,255,.16) 42%, transparent 70%) !important;
  filter: blur(8px);
}

/* Contenu */
.metrics { gap: 14px; margin-top: 18px; }
.metrics article { border-radius: 24px; }
.hero + .metrics {
  position: relative;
  margin-top: 34px !important;
  padding-top: 34px;
}
.hero + .metrics::before {
  content: "";
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(8,123,112,.3) 24%, rgba(8,123,112,.3) 76%, transparent);
}
.hero + .metrics::after {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 11px;
  height: 11px;
  border: 3px solid #e7faf6;
  border-radius: 50%;
  background: #159d90;
  box-shadow: 0 0 0 1px rgba(8,123,112,.2), 0 0 16px rgba(21,157,144,.25);
  transform: translateX(-50%);
}
.section { padding-inline: clamp(10px, 3vw, 42px); }
.section-heading > span, .commerce-heading span { color: var(--lg-purple) !important; }
.journey-compact article, .feature-card, .commerce-grid article { border-radius: 25px !important; }
.feature-card:hover, .commerce-grid article:hover, .journey-compact article:hover {
  transform: translateY(-6px);
  background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(255,255,255,.25)) !important;
}
.feature-icon, .journey-compact-icon, .commerce-grid article > i {
  border: 1px solid rgba(255,255,255,.75) !important;
  background: rgba(255,255,255,.4) !important;
  box-shadow: inset 0 1px 0 #fff, 0 10px 25px rgba(86,52,173,.1) !important;
  color: var(--lg-purple) !important;
}
.dashboard-showcase, .commerce-section { border-radius: 38px !important; }
.dashboard-mockup {
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 34px 70px rgba(66,42,130,.2), inset 0 1px #fff !important;
}
.comparison-card, .pricing-card, .faq-item { border-radius: 28px !important; }
.digital-card, .pricing-card.featured {
  background: linear-gradient(145deg, rgba(124,77,255,.88), rgba(82,37,202,.83)) !important;
  border-color: rgba(255,255,255,.5) !important;
}
.digital-card,
.digital-card h3,
.digital-card li {
  color: #fff !important;
}
.digital-card .comparison-card-head small {
  color: rgba(255,255,255,.72) !important;
}
.digital-card ul {
  border-color: rgba(255,255,255,.28) !important;
}
.digital-card li svg {
  color: #7ef0b0 !important;
  stroke-width: 2.6;
}
.digital-card .comparison-card-icon {
  color: var(--lg-purple) !important;
  background: rgba(255,255,255,.92) !important;
}
.digital-card .comparison-verdict {
  color: rgba(42,29,79,.68) !important;
  background: rgba(255,255,255,.9) !important;
  border-color: rgba(255,255,255,.72) !important;
}
.digital-card .comparison-verdict span {
  color: var(--lg-purple) !important;
}
.cta-section {
  border-radius: 40px !important;
  background: linear-gradient(135deg, rgba(117,70,245,.88), rgba(76,36,184,.9)) !important;
}

@media (max-width: 900px) {
  #publicSite { width: calc(100% - 20px); margin-top: 12px; }
  .site-header { width: calc(100% - 24px); border-radius: 20px; }
  .site-header.open .nav-content {
    border: 1px solid rgba(255,255,255,.8);
    background: rgba(248,246,255,.88) !important;
    backdrop-filter: blur(24px);
  }
  .hero { padding: 42px 24px; border-radius: 32px; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-wallet-phone { animation: liquid-float 5.5s ease-in-out infinite; }
  @keyframes liquid-float { 0%,100% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-12px) rotate(-1deg); } }
}

/* Séparation visuelle des grands blocs */
#publicSite > .section,
#publicSite > .dashboard-showcase,
#publicSite > .commerce-section,
#publicSite > .comparison-section,
#publicSite > .pricing-section,
#publicSite > .faq {
  margin-top: 72px !important;
  margin-bottom: 72px !important;
}

#publicSite > .section.alt {
  padding: clamp(48px, 5vw, 76px) clamp(24px, 5vw, 72px) !important;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 42px;
  background:
    radial-gradient(circle at 12% 15%, rgba(154,118,255,.13), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(247,243,255,.28)) !important;
  box-shadow: 0 30px 80px rgba(71,45,139,.13), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}

#publicSite > .section.alt .section-heading.boxed {
  max-width: 760px;
  margin: 0 auto 44px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#publicSite > .section.alt .feature-grid {
  gap: 18px;
}

#publicSite > .section.alt .feature-card {
  background: rgba(255,255,255,.43) !important;
  box-shadow: 0 14px 38px rgba(69,48,127,.09), inset 0 1px 0 #fff !important;
}

#publicSite > .commerce-section {
  padding: clamp(50px, 5vw, 76px) clamp(24px, 5vw, 72px) !important;
  background:
    radial-gradient(circle at 88% 5%, rgba(126,225,212,.24), transparent 32%),
    radial-gradient(circle at 8% 90%, rgba(74,201,184,.18), transparent 31%),
    linear-gradient(145deg, rgba(226,249,245,.76), rgba(239,253,250,.58)) !important;
  box-shadow: 0 34px 90px rgba(15,110,103,.14), inset 0 1px 0 rgba(255,255,255,.95) !important;
}

#publicSite > .commerce-section .commerce-heading {
  padding-bottom: 30px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(15,143,131,.14);
}

#publicSite > .commerce-section .commerce-grid article {
  background: rgba(255,255,255,.52) !important;
  box-shadow: 0 16px 36px rgba(15,110,103,.09), inset 0 1px 0 #fff !important;
}

/* Rendu net : surfaces opaques, sans flou de fond */
#publicSite > .section,
#publicSite > .commerce-section,
#publicSite .feature-card,
#publicSite .commerce-grid article{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#publicSite > .section.alt{
  background:linear-gradient(145deg,#d3f1eb,#e4f7f3)!important;
  border-color:#b4e1d9!important;
  box-shadow:0 26px 65px rgba(8,95,88,.13),inset 0 1px #fff!important;
}
#publicSite > .section.alt .feature-card{
  background:#f7fcfb!important;
  border-color:#bfe4dd!important;
  box-shadow:0 12px 28px rgba(8,95,88,.10),inset 0 1px #fff!important;
}
#publicSite > .section{background:#dff4f0!important;border-color:#bfe7e0!important}
#publicSite > .commerce-section{background:linear-gradient(145deg,#d3f1eb,#e4f7f3)!important;border-color:#b4e1d9!important}
#publicSite .feature-card,
#publicSite .commerce-grid article{
  background:#f7fcfb!important;
  border-color:#bfe4dd!important;
  box-shadow:0 12px 28px rgba(8,95,88,.10)!important;
}

.section-divider {
  margin-block: 82px !important;
  opacity: .72;
}

@media (max-width: 900px) {
  #publicSite > .section,
  #publicSite > .dashboard-showcase,
  #publicSite > .commerce-section,
  #publicSite > .comparison-section,
  #publicSite > .pricing-section,
  #publicSite > .faq {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  #publicSite > .section.alt,
  #publicSite > .commerce-section { border-radius: 30px !important; }
}

/* Dashboard : pas de grande bande blanche, le verre reste sur le panneau utile */
#publicSite > .dashboard-showcase {
  width: 100%;
  padding: 24px clamp(10px, 3vw, 42px) !important;
  overflow: visible;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#publicSite > .dashboard-showcase::before { display: none !important; }

.dashboard-showcase .dashboard-section-heading {
  position: relative;
  width: min(720px, 100%);
  margin: 0 auto 44px;
  padding: 32px 38px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.2));
  box-shadow: 0 18px 48px rgba(66,46,126,.1), inset 0 1px 0 #fff;
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}

.dashboard-showcase .dashboard-section-heading > span { color: #087f70 !important; }
.dashboard-showcase .dashboard-section-heading h2 { color: #10211d !important; }
.dashboard-showcase .dashboard-section-heading p { color: #53635f !important; }

.dashboard-showcase .dashboard-showcase-layout {
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 90% 8%, rgba(22,184,166,.72), transparent 34%),
    linear-gradient(135deg, #075f63, #082f38 72%) !important;
}

.dashboard-showcase .chart-bars i{
  background:linear-gradient(#33d2bd,#0f8f83)!important;
}
.dashboard-showcase .chart-bars i:last-child{
  background:linear-gradient(#75e6b4,#20a966)!important;
}
.dashboard-showcase .demo-activity p span{
  background:#e4f8f5!important;
  color:#087267!important;
}

@media (max-width: 1000px) {
  .dashboard-showcase .dashboard-showcase-layout {
    width: 100% !important;
    padding: 48px 32px !important;
  }
}

@media (max-width: 620px) {
  #publicSite > .dashboard-showcase { padding-inline: 0 !important; }
  .dashboard-showcase .dashboard-section-heading { padding: 26px 18px; border-radius: 24px; }
  .dashboard-showcase .dashboard-showcase-layout { padding: 38px 16px 24px !important; }
}

/* Écran de chargement Liquid Glass */
.site-splash {
  color: var(--lg-ink) !important;
  transition-duration: .18s !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(82,211,194,.48), transparent 31%),
    radial-gradient(circle at 86% 22%, rgba(178,240,231,.68), transparent 32%),
    radial-gradient(circle at 55% 88%, rgba(91,210,194,.30), transparent 35%),
    linear-gradient(135deg, #f3fffd, #dff6f2 50%, #f1fbfa) !important;
}
.site-splash::before,
.site-splash::after {
  content: "";
  position: absolute;
  width: min(520px, 48vw);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.62);
  background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.8), rgba(255,255,255,.12) 38%, rgba(15,143,131,.09) 66%, transparent 72%);
  box-shadow: inset 18px 18px 45px rgba(255,255,255,.38), inset -20px -20px 50px rgba(15,143,131,.11), 0 35px 90px rgba(15,110,103,.11);
  animation: splashOrb 5.5s ease-in-out infinite;
}
.site-splash::before { left: -13vw; top: 12%; }
.site-splash::after { right: -12vw; bottom: 2%; animation-delay: -2.7s; }
.splash-scene {
  width: min(590px, 84vw) !important;
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 38px;
  background: linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.19));
  box-shadow: 0 30px 80px rgba(15,110,103,.15), inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter: blur(30px) saturate(150%);
  -webkit-backdrop-filter: blur(30px) saturate(150%);
}
.splash-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(125deg, rgba(255,255,255,.7), transparent 30%, transparent 70%, rgba(255,255,255,.15));
}
.splash-wordmark-mask, .splash-signature { position: relative; z-index: 1; }
.splash-wordmark { width: min(330px, 62vw) !important; }
.splash-stamp-demo {
  position: absolute;
  z-index: 3;
  right: clamp(18px, 4vw, 48px);
  bottom: clamp(18px, 3vw, 34px);
  width: 112px;
  height: 118px;
  pointer-events: none;
}
.splash-stamper {
  position: absolute;
  z-index: 2;
  left: 15px;
  top: -94px;
  width: 82px;
  height: 104px;
  transform: translateY(-120px);
  transform-origin: 50% 100%;
  filter: drop-shadow(0 18px 13px rgba(6, 84, 77, .27));
  animation: splashStamp .46s .02s cubic-bezier(.22,.82,.25,1) both;
}
.splash-stamper-handle {
  position: absolute;
  left: 21px;
  top: 0;
  width: 40px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 20px 20px 12px 12px;
  background: linear-gradient(110deg, #effffc 0%, #fff 34%, #bcebe3 72%, #86d5c9 100%);
  box-shadow: inset 2px 2px 3px rgba(255,255,255,.95), inset -3px -3px 7px rgba(4,95,86,.12), 0 8px 18px rgba(8,113,103,.17);
}
.splash-stamper-handle::after {
  content: "";
  position: absolute;
  inset: 8px 7px auto;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.52);
  transform: rotate(-8deg);
}
.splash-stamper-neck {
  position: absolute;
  left: 32px;
  top: 48px;
  width: 18px;
  height: 30px;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(90deg, #064e47, #20b9a8 52%, #075e56);
  box-shadow: inset 3px 0 rgba(255,255,255,.18);
}
.splash-stamper-base {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 82px;
  height: 29px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 14px 14px 7px 7px;
  background: linear-gradient(180deg, #18aa9b 0%, #08776d 52%, #054b45 100%);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.28), inset 0 -5px 0 #043c37, 0 5px 8px rgba(4,65,59,.22);
}
.splash-stamper-base::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: -4px;
  height: 6px;
  border-radius: 2px 2px 5px 5px;
  background: #063c37;
}
.splash-stamp-mark {
  position: absolute;
  z-index: 1;
  right: 14px;
  bottom: 0;
  width: 72px;
  height: 72px;
  display: grid;
  place-content: center;
  border: 3px double #087f74;
  border-radius: 50%;
  color: #087b70;
  line-height: 1;
  opacity: 0;
  transform: scale(1.35);
  box-shadow: inset 0 0 0 2px rgba(12,159,144,.13);
  animation: splashMark .15s .29s cubic-bezier(.18,.9,.3,1.3) forwards;
}
.splash-stamp-mark span { font: 800 27px/1 var(--sans); letter-spacing: -.06em; }
.splash-stamp-mark small { margin-top: 4px; font: 700 6px/1 var(--mono); letter-spacing: .12em; }
.splash-impact-ring {
  position: absolute;
  right: 8px;
  bottom: -6px;
  width: 84px;
  height: 84px;
  border: 2px solid rgba(14,183,166,.5);
  border-radius: 50%;
  opacity: 0;
  animation: splashImpact .15s .28s ease-out forwards;
}
@keyframes splashStamp {
  0% { transform: translateY(-125px); opacity: 0; }
  18% { opacity: 1; }
  54% { transform: translateY(96px); }
  61% { transform: translateY(101px) scaleY(.95); }
  70% { transform: translateY(88px) scaleY(1); }
  100% { transform: translateY(-112px); opacity: 0; }
}
@keyframes splashMark {
  0% { opacity: 0; transform: scale(1.35); }
  45% { opacity: .88; }
  100% { opacity: .82; transform: scale(1); }
}
@keyframes splashImpact {
  0% { opacity: .7; transform: scale(.55); }
  100% { opacity: 0; transform: scale(1.35); }
}
.splash-signature {
  width: min(330px, 62vw) !important;
  border-color: rgba(74,52,132,.14) !important;
  color: rgba(35,28,54,.58) !important;
}
.splash-topline { color: rgba(42,31,73,.48) !important; }
.splash-footer { color: rgba(42,31,73,.42) !important; }
.splash-progress {
  height: 3px !important;
  border-radius: 999px;
  background: rgba(15,143,131,.12) !important;
}
.splash-progress span {
  border-radius: inherit;
  background: linear-gradient(90deg, #16b8a6, #087267) !important;
  box-shadow: 0 0 16px rgba(15,143,131,.38);
}
@keyframes splashOrb {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-18px) scale(1.035); }
}
@media (max-width: 600px) {
  .splash-scene { padding: 34px 22px; border-radius: 28px; }
  .site-splash::before, .site-splash::after { width: 76vw; }
  .splash-stamp-demo { right: 5px; bottom: 8px; transform: scale(.72); transform-origin: right bottom; }
}
@media (prefers-reduced-motion: reduce) {
  .splash-stamper, .splash-impact-ring { display: none; }
  .splash-stamp-mark { opacity: .82; transform: scale(1); animation: none; }
}

/* Accents fidélité — vert forêt cohérent sur les cartes produit */
.digital-card {
  background: linear-gradient(145deg, #0b766b, #064e47) !important;
  border-color: rgba(177, 244, 231, .5) !important;
  box-shadow: 0 25px 58px rgba(4, 78, 70, .24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.digital-card .comparison-card-icon,
.digital-card .comparison-verdict span {
  color: #087b70 !important;
}
.digital-card li svg { color: #68f0c4 !important; }

.nfc-pass {
  background: linear-gradient(145deg, #0b766b, #064e47) !important;
  box-shadow: 0 14px 30px rgba(4, 78, 70, .28);
}
.nfc-pass span { color: #075f56 !important; }
.nfc-waves i { border-color: #0b766b !important; }
.nfc-waves span { color: #075f56 !important; }

.setup-service {
  border-color: rgba(8, 123, 112, .28) !important;
  background: linear-gradient(135deg, rgba(244,255,252,.94), rgba(214,244,237,.88)) !important;
  box-shadow: 0 20px 45px rgba(4, 78, 70, .1) !important;
}
.setup-service-title > svg {
  background: linear-gradient(145deg, #0b766b, #064e47) !important;
}
.setup-service > p { border-color: rgba(8, 123, 112, .18) !important; }

/* FAQ — panneau vert forêt en Liquid Glass */
#publicSite > .faq {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 6vw, 86px) clamp(24px, 6vw, 84px) !important;
  border: 1px solid rgba(184, 255, 239, .42) !important;
  border-radius: 46px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(80, 224, 199, .28), transparent 33%),
    radial-gradient(circle at 92% 90%, rgba(2, 45, 41, .42), transparent 40%),
    linear-gradient(145deg, rgba(8, 126, 114, .94), rgba(4, 73, 67, .96)) !important;
  box-shadow: 0 32px 75px rgba(3, 69, 63, .25), inset 0 1px 0 rgba(255,255,255,.35) !important;
  backdrop-filter: blur(30px) saturate(145%);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
}
#publicSite > .faq::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,.2), transparent 28%, transparent 68%, rgba(117,238,216,.1));
}
#publicSite > .faq .section-heading,
#publicSite > .faq .premium-faq { position: relative; z-index: 1; }
#publicSite > .faq .section-heading span { color: #8ef3dc !important; }
#publicSite > .faq .section-heading h2 { color: #fff !important; }
#publicSite > .faq .premium-faq details {
  border-color: rgba(255,255,255,.5) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(226,250,245,.76)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 12px 28px rgba(2,55,50,.12) !important;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
#publicSite > .faq .premium-faq details:hover,
#publicSite > .faq .premium-faq details[open] {
  border-color: rgba(145, 248, 225, .9) !important;
  box-shadow: inset 0 1px 0 #fff, 0 16px 32px rgba(2,45,41,.2) !important;
}
#publicSite > .faq .faq-question > svg,
#publicSite > .faq .premium-faq summary > svg { color: #087b70 !important; }

/* Parcours client — même panneau vert forêt en Liquid Glass */
#publicSite > .customer-journey {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 6vw, 86px) clamp(24px, 6vw, 84px) !important;
  border: 1px solid rgba(184, 255, 239, .42) !important;
  border-radius: 46px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(80, 224, 199, .28), transparent 33%),
    radial-gradient(circle at 92% 90%, rgba(2, 45, 41, .42), transparent 40%),
    linear-gradient(145deg, rgba(8, 126, 114, .94), rgba(4, 73, 67, .96)) !important;
  box-shadow: 0 32px 75px rgba(3, 69, 63, .25), inset 0 1px 0 rgba(255,255,255,.35) !important;
  backdrop-filter: blur(30px) saturate(145%);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
}
#publicSite > .customer-journey::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,.2), transparent 28%, transparent 68%, rgba(117,238,216,.1));
}
#publicSite > .customer-journey .section-heading,
#publicSite > .customer-journey .journey-compact { position: relative; z-index: 1; }
#publicSite > .customer-journey .section-heading > span { color: #8ef3dc !important; }
#publicSite > .customer-journey .section-heading h2 { color: #fff !important; }
#publicSite > .customer-journey .section-heading p { color: rgba(235,255,251,.74) !important; }
#publicSite > .customer-journey .journey-compact article {
  border-color: rgba(255,255,255,.5) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(226,250,245,.76)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 16px 32px rgba(2,55,50,.18) !important;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
#publicSite > .customer-journey .journey-compact article:hover {
  border-color: rgba(145,248,225,.9) !important;
  box-shadow: inset 0 1px 0 #fff, 0 20px 38px rgba(2,45,41,.24) !important;
}
#publicSite > .customer-journey .journey-compact-icon {
  color: #087b70 !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(198,242,233,.8)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 8px 18px rgba(4,90,81,.1);
}
#publicSite > .customer-journey .journey-compact-number { color: #0a8f82 !important; }
#publicSite > .customer-journey .journey-compact-arrow { color: #8ef3dc !important; }
#publicSite > .customer-journey .journey-compact small svg { color: #087b70 !important; }

/* Commerces — panneau vert forêt en Liquid Glass */
#publicSite > .commerce-section {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(184,255,239,.42) !important;
  border-radius: 46px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(80,224,199,.28), transparent 33%),
    radial-gradient(circle at 92% 90%, rgba(2,45,41,.42), transparent 40%),
    linear-gradient(145deg, rgba(8,126,114,.94), rgba(4,73,67,.96)) !important;
  box-shadow: 0 32px 75px rgba(3,69,63,.25), inset 0 1px 0 rgba(255,255,255,.35) !important;
  backdrop-filter: blur(30px) saturate(145%);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
}
#publicSite > .commerce-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,.2), transparent 28%, transparent 68%, rgba(117,238,216,.1));
}
#publicSite > .commerce-section .commerce-heading,
#publicSite > .commerce-section .commerce-grid { position: relative; z-index: 1; }
#publicSite > .commerce-section .commerce-heading > span { color: #8ef3dc !important; }
#publicSite > .commerce-section .commerce-heading h2 { color: #fff !important; }
#publicSite > .commerce-section .commerce-heading > p { color: rgba(235,255,251,.74) !important; }
#publicSite > .commerce-section .commerce-grid article {
  border-color: rgba(255,255,255,.5) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(226,250,245,.76)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 16px 32px rgba(2,55,50,.18) !important;
}
#publicSite > .commerce-section .commerce-grid article:hover {
  border-color: rgba(145,248,225,.9) !important;
  box-shadow: inset 0 1px 0 #fff, 0 20px 38px rgba(2,45,41,.24) !important;
}
#publicSite > .commerce-section .commerce-grid svg {
  color: #087b70 !important;
  background: rgba(208,246,238,.72) !important;
}
#publicSite > .commerce-section .commerce-grid span { color: #087b70 !important; }

/* Comparatif — grand conteneur arrondi */
#publicSite > .comparison-section {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.76) !important;
  border-radius: 46px !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(71,211,190,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(219,246,241,.38)) !important;
  box-shadow: 0 28px 68px rgba(4,78,70,.13), inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter: blur(28px) saturate(140%);
  -webkit-backdrop-filter: blur(28px) saturate(140%);
}

/* NFC — panneau vert forêt en Liquid Glass */
#publicSite > .nfc-section {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(184,255,239,.42) !important;
  border-radius: 46px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(80,224,199,.28), transparent 33%),
    radial-gradient(circle at 92% 90%, rgba(2,45,41,.42), transparent 40%),
    linear-gradient(145deg, rgba(8,126,114,.94), rgba(4,73,67,.96)) !important;
  box-shadow: 0 32px 75px rgba(3,69,63,.25), inset 0 1px 0 rgba(255,255,255,.35) !important;
  backdrop-filter: blur(30px) saturate(145%);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
}
#publicSite > .nfc-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,.2), transparent 28%, transparent 68%, rgba(117,238,216,.1));
}
#publicSite > .nfc-section .nfc-copy,
#publicSite > .nfc-section .nfc-visual { position: relative; z-index: 1; }
#publicSite > .nfc-section .nfc-copy > span { color: #8ef3dc !important; }
#publicSite > .nfc-section .nfc-copy h2 { color: #fff !important; }
#publicSite > .nfc-section .nfc-copy > p { color: rgba(235,255,251,.76) !important; }
#publicSite > .nfc-section .nfc-note {
  border-color: rgba(255,255,255,.46) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(226,250,245,.78)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 14px 28px rgba(2,55,50,.16);
}
#publicSite > .nfc-section .nfc-note p { color: #365e59 !important; }
#publicSite > .nfc-section .nfc-note svg { color: #087b70 !important; }
#publicSite > .nfc-section .nfc-waves i { border-color: #8ef3dc !important; }
#publicSite > .nfc-section .nfc-waves span { color: #8ef3dc !important; }

/* Réassurance du hero — badges Liquid Glass */
.hero .trust-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.hero .trust-row > span {
  min-width:0; min-height:62px; padding:12px 13px; gap:10px; border:1px solid rgba(255,255,255,.9); border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(225,249,244,.76));
  box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(4,78,70,.1);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
}
.hero .trust-row > span > .trust-icon { width:34px; height:34px; flex:0 0 34px; padding:8px; border-radius:10px; color:#05685f; background:#ccefe8; }
.hero .trust-row > span > span { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:2px; }
.hero .trust-row b { color:#102e2b; font-size:12px; line-height:1.2; white-space:nowrap; }
.hero .trust-row small { max-width:100%; color:#526d69; font-size:9px; line-height:1.3; white-space:normal; }
.hero .wallet-brand-button .wallet-logo-frame {
  color: #05685f !important;
  background: #ccefe8 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hero .wallet-brand-button .wallet-logo-frame svg { color: #05685f !important; }
.hero .hero-wallet-phone {
  width: min(330px, 76%) !important;
  max-height: 520px;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.hero .hero-wallet-phone .phone-img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
  transform: none !important;
  filter: drop-shadow(0 28px 28px rgba(3,42,38,.32));
}

@media (max-width: 600px) {
  #publicSite > .faq { border-radius: 30px !important; padding: 44px 18px !important; }
  #publicSite > .customer-journey { border-radius: 30px !important; padding: 44px 18px !important; }
  #publicSite > .commerce-section { border-radius: 30px !important; }
  #publicSite > .comparison-section,
  #publicSite > .nfc-section { border-radius: 30px !important; }
  .hero .trust-row { grid-template-columns: 1fr; }
}

/* Tarifs regroupés dans une bulle Liquid Glass */
#tarifs {
  padding: clamp(52px, 5vw, 78px) clamp(24px, 5vw, 70px) !important;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 44px;
  background:
    radial-gradient(circle at 10% 10%, rgba(159,123,255,.14), transparent 30%),
    radial-gradient(circle at 90% 88%, rgba(164,204,255,.16), transparent 31%),
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(245,241,255,.27)) !important;
  box-shadow: 0 32px 85px rgba(69,45,135,.14), inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter: blur(30px) saturate(145%);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
}
#tarifs .section-heading { margin-bottom: 34px; }
#tarifs .pricing-grid { gap: 18px; align-items: stretch; }
#tarifs .price-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.52) !important;
  box-shadow: 0 18px 44px rgba(62,44,118,.1), inset 0 1px 0 #fff;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
#tarifs .price-card ul { flex: 1; }
#tarifs .price-card .pricing-cta { margin-top: auto; }
#tarifs .price em {
  display: block;
  margin-top: 7px;
  color: var(--lg-purple);
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
}
#tarifs .price-card.popular {
  border: 2px solid rgba(178,245,232,.62) !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(93,226,203,.28), transparent 40%),
    linear-gradient(145deg, #0f8f83, #087267) !important;
  box-shadow: 0 28px 60px rgba(8,114,103,.26), inset 0 1px 0 rgba(255,255,255,.28), 0 0 0 1px rgba(57,190,165,.12) !important;
}
#tarifs .price-card.popular .plan-name { color: rgba(255,255,255,.7) !important; }
#tarifs .price-card.popular .price { color: #fff !important; }
#tarifs .price-card.popular .price small { color: rgba(255,255,255,.62) !important; }
#tarifs .price-card.popular .signup-fee,
#tarifs .price-card.popular > p { color: rgba(255,255,255,.68) !important; }
#tarifs .price-card.popular .signup-fee strong { color: #fff !important; }
#tarifs .price-card.popular ul { border-color: rgba(255,255,255,.14) !important; }
#tarifs .price-card.popular li { color: rgba(255,255,255,.88) !important; }
#tarifs .price-card.popular li::before { color: #58e0b9 !important; }
#tarifs .price-card.popular .pricing-cta {
  border-color: rgba(91,231,195,.28) !important;
  background: linear-gradient(135deg, #159d90, #087267) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
}
@media (max-width: 900px) {
  #tarifs { padding: 44px 18px !important; border-radius: 30px; }
}

/* Démo et création de programme en Liquid Glass */
.modal {
  background: rgba(42,30,72,.35) !important;
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
}
.demo-card,
.auth-card {
  border: 1px solid rgba(255,255,255,.76) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(243,238,255,.42)) !important;
  box-shadow: 0 40px 110px rgba(55,34,112,.28), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(32px) saturate(150%);
  -webkit-backdrop-filter: blur(32px) saturate(150%);
}
.demo-visual {
  background: radial-gradient(circle at 28% 20%, rgba(255,255,255,.75), transparent 28%), linear-gradient(145deg, rgba(203,188,255,.76), rgba(218,231,255,.62)) !important;
}
.demo-details { background: rgba(255,255,255,.2); }
.demo-points span,
.auth-input {
  border-color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.54) !important;
  box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(67,46,125,.07);
}
.auth-showcase {
  background: radial-gradient(circle at 85% 85%, rgba(137,91,255,.65), transparent 36%), linear-gradient(145deg,#37206b,#171020 74%) !important;
}
.auth-panel { background: rgba(255,255,255,.3) !important; }
.auth-card > .modal-close,
.demo-card > .modal-close {
  border-color: rgba(255,255,255,.85) !important;
  background: rgba(255,255,255,.68) !important;
  box-shadow: 0 8px 24px rgba(54,37,102,.12) !important;
  backdrop-filter: blur(12px);
}
.onboarding-billing {
  display: flex;
  width: fit-content;
  margin: 20px auto -10px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 14px;
  background: rgba(238,233,246,.66);
  box-shadow: inset 0 1px 0 #fff, 0 8px 24px rgba(62,42,119,.08);
}
.onboarding-billing button {
  min-width: 112px;
  padding: 9px 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #716b79;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.onboarding-billing button.active {
  color: var(--lg-purple);
  background: rgba(255,255,255,.9);
  box-shadow: 0 5px 16px rgba(55,35,105,.1);
}
.onboarding-billing button em {
  margin-left: 4px;
  color: #20a966;
  font-size: 9px;
  font-style: normal;
}
.plan-options small[data-monthly] { min-height: 26px; }

/* Appel à l'action final, volontairement minimal */
#publicSite > .cta {
  width: fit-content;
  margin: 76px auto;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.2)) !important;
  box-shadow: 0 22px 55px rgba(72,45,148,.16), inset 0 1px 0 #fff;
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
}
#publicSite .liquid-bottom-cta {
  min-height: 58px;
  padding-inline: 30px;
  border-radius: 17px;
  font-size: 15px;
}
#publicSite .liquid-bottom-cta span { margin-left: 10px; font-size: 19px; }

#publicFooter .footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.1);
}
#publicFooter .footer-bottom small {
  grid-column: auto;
  padding: 0;
  border: 0;
}
#publicFooter .footer-bottom .liquid-bottom-cta {
  min-height: 44px;
  padding: 10px 19px;
  border-radius: 14px;
}
@media (max-width: 620px) {
  #publicFooter .footer-bottom { flex-direction: column-reverse; gap: 14px; }
}

.btn-primary,.showcase-cta,.auth-submit{background:#0f8f83 !important;box-shadow:0 8px 22px rgba(15,143,131,.28)!important}
.hero h1 span{background:linear-gradient(135deg,#16b8a6,#087267)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
html,body{background:#eefaf8!important}
.hero,.dashboard-showcase{background:linear-gradient(135deg,#f5fffd,#e8f8f5 55%,#f2fbff)!important}
html{background:#eefaf8!important}
body::before{background:radial-gradient(circle at 8% 8%,rgba(82,211,194,.28),transparent 25%),radial-gradient(circle at 88% 13%,rgba(180,240,232,.4),transparent 28%),linear-gradient(135deg,#f2fffd,#dff6f2 50%,#f5fbff)!important}
.auth-showcase{background:linear-gradient(145deg,#075f63,#0b343e 72%)!important}
.auth-showcase::after{border-color:rgba(22,184,166,.72)!important;box-shadow:0 0 100px rgba(22,184,166,.35)!important}
.auth-kicker,.auth-showcase li svg{color:#72eadb!important}

/* Hero product reveal — séquence unique, état final inchangé */
.hero .hero-visual{perspective:1400px;perspective-origin:50% 44%}
.hero .hero-wallet-phone{animation:none!important;transform-style:preserve-3d;transform-origin:50% 50%;will-change:transform,opacity}
.hero .hero-wallet-phone::before{content:"";position:absolute;z-index:-1;inset:7% 9% 8%;border:1px solid rgba(255,255,255,.25);border-radius:44px;background:linear-gradient(100deg,#080b0b,#48504e 45%,#080a0a);opacity:0;transform:translate3d(12px,0,-18px);pointer-events:none;will-change:opacity,transform}
.hero .hero-wallet-insert-card{position:absolute;z-index:6;top:31%;left:13%;width:74%;aspect-ratio:1.58;display:flex;flex-direction:column;justify-content:space-between;padding:14px;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:17px;color:#083d38;background:linear-gradient(145deg,rgba(230,255,250,.97),rgba(91,229,204,.94));box-shadow:0 22px 46px rgba(1,48,44,.26),inset 0 1px 0 #fff;opacity:0;transform:translate3d(-42px,18px,150px) rotateY(-7deg) scale(.84);transform-style:preserve-3d;pointer-events:none;will-change:transform,opacity}
.hero-wallet-insert-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.62),transparent 34%,transparent 68%,rgba(3,116,103,.12))}
.hero-wallet-insert-card img{position:relative;z-index:1;width:34px;height:34px;object-fit:contain}
.hero-wallet-insert-card>span{position:relative;z-index:1;font-size:17px;font-weight:800;letter-spacing:-.03em}
.hero-wallet-insert-card>div{position:relative;z-index:1;display:flex;gap:5px}
.hero-wallet-insert-card i{width:14px;height:14px;border-radius:50%;background:#087b70;box-shadow:inset 0 1px rgba(255,255,255,.5)}
body:not(.hero-intro-ready) .hero .hero-wallet-phone{opacity:0;transform:translate3d(0,14px,0) rotateY(-70deg) rotateX(5deg) scale(.9)}
body.hero-intro-ready .hero .hero-wallet-phone{animation:fidelyxaPhoneArrival 1.4s cubic-bezier(.16,1,.3,1) both!important}
body.hero-intro-ready .hero .hero-wallet-phone::before{animation:fidelyxaPhoneEdge 1.4s cubic-bezier(.16,1,.3,1) both}
body.hero-intro-ready .hero .hero-wallet-insert-card{animation:fidelyxaCardInsert 1.28s .08s cubic-bezier(.22,.8,.2,1) both}
.hero .hero-float{animation:none!important;opacity:0;will-change:transform,opacity}
body.hero-intro-ready .hero .hero-float{animation:fidelyxaFloatReveal .58s cubic-bezier(.16,1,.3,1) forwards!important}
body.hero-intro-ready .hero .hf1{animation-delay:1.5s!important}
body.hero-intro-ready .hero .hf2{animation-delay:1.62s!important}
body.hero-intro-ready .hero .hf3{animation-delay:1.74s!important}
body.hero-intro-ready .hero .hf4{animation-delay:1.86s!important}
@keyframes fidelyxaPhoneArrival{0%{opacity:0;transform:translate3d(0,14px,0) rotateY(-70deg) rotateX(5deg) scale(.9)}18%{opacity:1}72%{transform:translate3d(0,-3px,0) rotateY(-7deg) rotateX(1deg) scale(1.012)}100%{opacity:1;transform:none}}
@keyframes fidelyxaPhoneEdge{0%{opacity:.88;transform:translate3d(16px,0,-20px)}70%{opacity:.35;transform:translate3d(5px,0,-10px)}100%{opacity:0;transform:translate3d(0,0,-2px)}}
@keyframes fidelyxaCardInsert{0%{opacity:0;transform:translate3d(-42px,18px,150px) rotateY(-7deg) scale(.84)}15%{opacity:1}68%{opacity:.96;transform:translate3d(-4px,2px,45px) rotateY(-1deg) scale(.94)}88%{opacity:.78;transform:translate3d(0,0,4px) rotateY(0) scale(.87)}100%{opacity:0;transform:translate3d(0,0,-8px) scale(.82)}}
@keyframes fidelyxaFloatReveal{0%{opacity:0;transform:translate3d(0,12px,0) scale(.94)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero .hero-wallet-phone,body:not(.hero-intro-ready) .hero .hero-wallet-phone,body.hero-intro-ready .hero .hero-wallet-phone,.hero .hero-float,body.hero-intro-ready .hero .hero-float{animation:none!important;opacity:1!important;transform:none!important}.hero .hero-wallet-phone::before,.hero .hero-wallet-insert-card{display:none!important}}

/* Hero simplifié — rotation unique de l’iPhone */
.hero .hero-wallet-phone::before,.hero .hero-wallet-insert-card{display:none!important}
.hero .hero-float,body.hero-intro-ready .hero .hero-float{opacity:1!important;transform:none!important;animation:none!important}
body:not(.hero-intro-ready) .hero .hero-wallet-phone{opacity:0;transform:translate3d(0,10px,0) rotateY(-12deg) scale(.98)}
body.hero-intro-ready .hero .hero-wallet-phone{animation:fidelyxaPhoneRotation .82s cubic-bezier(.23,1,.32,1) both!important}
@keyframes fidelyxaPhoneRotation{0%{opacity:0;transform:translate3d(0,10px,0) rotateY(-12deg) scale(.98)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0deg) scale(1)}}
@media(prefers-reduced-motion:reduce){body:not(.hero-intro-ready) .hero .hero-wallet-phone,body.hero-intro-ready .hero .hero-wallet-phone{opacity:1!important;transform:none!important;animation:none!important}}

/* Typographie éditoriale du hero */
.hero .hero-copy h1{
  font-family:'DM Serif Display',Georgia,serif!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
  line-height:1.02!important;
}
.hero .hero-copy>p{
  font-family:'Manrope',Inter,sans-serif!important;
  font-weight:500;
  letter-spacing:-.012em;
  line-height:1.68;
}

/* Contraste renforcé — section commerces */
#publicSite > .commerce-section .commerce-heading span{
  color:#b9fff2!important;
  text-shadow:0 1px 12px rgba(0,0,0,.16);
}
#publicSite > .commerce-section .commerce-heading>p{
  color:#f1fffc!important;
  font-weight:600;
  text-shadow:0 1px 12px rgba(0,0,0,.18);
}
#publicSite > .commerce-section .commerce-grid article{
  border-color:rgba(255,255,255,.88)!important;
  background:linear-gradient(135deg,#fff,rgba(235,252,248,.96))!important;
}
#publicSite > .commerce-section .commerce-grid h3{color:#131b24!important}
#publicSite > .commerce-section .commerce-grid p{
  color:#4f5d5d!important;
  font-weight:500;
}
#publicSite > .commerce-section .commerce-grid svg{
  color:#087b70!important;
  background:#CCEFE8!important;
}
#publicSite > .commerce-section .commerce-grid span{
  color:#006b61!important;
  font-weight:800;
}

/* Suppression de la ligne qui traversait les cartes des étapes */
#publicSite #comment-ca-marche .steps::before{
  display:none!important;
  content:none!important;
}

/* Lisibilité des micro-textes marketing */
#publicSite .metrics span{
  color:#596768!important;
  font-size:10px!important;
  font-weight:550;
  line-height:1.4;
}
#publicSite .metrics article{
  align-items:flex-start!important;
  min-height:82px;
}
#publicSite .metrics article>svg{
  margin-top:1px;
}
#publicSite .metrics article>div{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  align-self:stretch;
  justify-content:flex-start;
}
#publicSite .metrics strong{
  min-height:17px;
  line-height:1.35;
}
#publicSite .metrics span{
  min-height:28px;
}
#publicSite > .customer-journey .journey-compact small{
  color:#486563!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.35;
}
#publicSite > .customer-journey .journey-compact small svg{
  width:14px!important;
  height:14px!important;
}
#publicSite > .commerce-section .commerce-grid span{
  font-size:10px!important;
  line-height:1.3;
  letter-spacing:.005em;
}
@media(max-width:560px){
  #publicSite .metrics article{min-height:78px}
}
@media(max-width:600px){
  #publicSite .site-header .brand img{
    width:84px!important;
    height:auto!important;
    max-width:84px!important;
    max-height:27px!important;
  }
}

/* Fenêtre de démonstration — Fidelyxa vert forêt */
#demoModal{background:rgba(6,35,32,.5)!important}
#demoModal .demo-card{border-color:rgba(190,255,240,.48)!important;background:linear-gradient(135deg,rgba(243,255,252,.92),rgba(218,245,239,.78))!important;box-shadow:0 42px 110px rgba(3,47,43,.34),inset 0 1px 0 #fff!important}
#demoModal .demo-visual{background:radial-gradient(circle at 22% 16%,rgba(120,239,215,.32),transparent 32%),linear-gradient(145deg,#0d8276,#054b45 76%,#032f2b)!important}
#demoModal .demo-visual::before{background-image:radial-gradient(rgba(159,246,228,.2) 1px,transparent 1px)!important}
#demoModal .demo-visual-label{color:#a4f4e2!important}
#demoModal .demo-phone-glow{background:rgba(55,220,191,.24)!important}
#demoModal .demo-visual>img{width:230px!important;height:390px!important;max-width:none;bottom:-6px!important;left:50%!important;object-fit:contain!important;object-position:center!important;transform:translateX(-50%) rotate(-3deg)!important;filter:drop-shadow(0 28px 28px rgba(0,24,22,.4))!important}
#demoModal .demo-details{background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(222,246,241,.42))!important}
#demoModal .demo-details .demo-eyebrow{color:#087b70!important}
#demoModal .demo-points span{border-color:rgba(8,123,112,.18)!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(4,78,70,.08)!important}
#demoModal .demo-points svg{color:#087b70!important}
#demoModal .demo-float>svg{color:#087b70!important}
@media(max-width:700px){#demoModal .demo-visual>img{width:145px!important;height:225px!important;bottom:-12px!important}}

/* Étapes — panneau vert forêt après suppression de la section NFC */
#publicSite>#comment-ca-marche{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(184,255,239,.42)!important;
  border-radius:46px!important;
  background:radial-gradient(circle at 8% 8%,rgba(80,224,199,.28),transparent 33%),radial-gradient(circle at 92% 90%,rgba(2,45,41,.42),transparent 40%),linear-gradient(145deg,rgba(8,126,114,.94),rgba(4,73,67,.96))!important;
  box-shadow:0 32px 75px rgba(3,69,63,.25),inset 0 1px 0 rgba(255,255,255,.35)!important;
  backdrop-filter:blur(30px) saturate(145%);
  -webkit-backdrop-filter:blur(30px) saturate(145%);
}
#publicSite>#comment-ca-marche::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.18),transparent 28%,transparent 68%,rgba(117,238,216,.1))}
#publicSite>#comment-ca-marche .section-heading,#publicSite>#comment-ca-marche .steps{position:relative;z-index:1}
#publicSite>#comment-ca-marche .section-heading>span{color:#8ef3dc!important}
#publicSite>#comment-ca-marche .section-heading h2{color:#fff!important}
#publicSite>#comment-ca-marche .steps::before{background:linear-gradient(90deg,rgba(142,243,220,.2),#8ef3dc,rgba(142,243,220,.2))!important}
#publicSite>#comment-ca-marche .steps article{border-color:rgba(255,255,255,.58)!important;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(225,249,244,.78))!important;box-shadow:inset 0 1px 0 #fff,0 16px 32px rgba(2,55,50,.18)!important}
#publicSite>#comment-ca-marche .step-num{color:#087b70!important}
@media(max-width:600px){#publicSite>#comment-ca-marche{border-radius:30px!important}}

/* Démonstration complète — palette Fidelyxa identique au site */
.app-shell .sidebar{background:linear-gradient(180deg,#071c1a,#0b2422 62%,#061412)!important}
.app-shell .dashboard-welcome,
.app-shell .module-hero,
.app-shell .program-hero{background:radial-gradient(circle at 92% 18%,rgba(38,207,182,.24),transparent 28%),linear-gradient(130deg,#071b19,#0a4c45 62%,#0f8f83 125%)!important;box-shadow:0 16px 38px rgba(4,78,70,.2)!important}
.app-shell .dashboard-eyebrow{color:#8ef3dc!important}
.app-shell .dashboard-btn-solid{color:#075f56!important}
.app-shell .member-bar span{background:linear-gradient(180deg,#32d5bd,#087b70)!important;box-shadow:0 6px 14px rgba(8,123,112,.2)!important}
.app-shell .member-bar:last-child span{background:linear-gradient(180deg,#63e4b1,#15965c)!important}
.app-shell .health-track.violet i{background:linear-gradient(90deg,#087b70,#34d5bd)!important}
.app-shell .health-summary{background:#e2f8f3!important;color:#087b70!important}
.app-shell .health-summary span{color:#426d67!important}
.app-shell .program-steps span.active{border-color:#a9e8dc!important;background:#eefbf8!important;color:#087b70!important}
.app-shell .program-steps span.active b{color:#087b70!important}
.app-shell .scanner-view .scanner-viewfinder{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#6bdcc8,#087b70) border-box!important;box-shadow:0 18px 42px rgba(4,78,70,.13)!important}
.app-shell .scanner-view .scanner-viewfinder>.scan-line{box-shadow:0 0 12px rgba(8,123,112,.4)!important}
.app-shell .onboarding-options input:checked+span{border-color:#0f8f83!important;background:#eefbf8!important;box-shadow:0 9px 24px rgba(8,123,112,.12)!important}
.app-shell .module-stats article>svg,
.app-shell .program-panel>h3>span,
.app-shell .scanner-empty-icon{background:#e2f8f3!important;color:#087b70!important}

/* iPhone recto-verso pendant la rotation du Hero */
.hero .hero-wallet-phone .phone-img{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero .hero-wallet-phone .phone-back{
  position:absolute;
  z-index:2;
  top:0;
  left:50%;
  width:auto;
  height:100%;
  max-width:none;
  object-fit:contain;
  pointer-events:none;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateX(-50%) rotateY(180deg);
  filter:drop-shadow(0 28px 28px rgba(3,42,38,.32));
  will-change:transform;
}

/* iPhone statique — animation 3D désactivée */
body:not(.hero-intro-ready) .hero .hero-wallet-phone,
body.hero-intro-ready .hero .hero-wallet-phone,
.hero .hero-wallet-phone{
  opacity:1!important;
  will-change:transform!important;
}

/* Finitions des offres */
#tarifs .price-card:not(.popular){
  border:2px solid #0f8f83!important;
  box-shadow:0 18px 44px rgba(8,114,103,.12),inset 0 1px 0 #fff!important;
}
#tarifs .price-card:not(.popular) .pricing-cta{
  border:1.5px solid #0f8f83!important;
  color:#087267!important;
  background:rgba(255,255,255,.82)!important;
}
#tarifs .price-card:not(.popular) .pricing-cta:hover{
  border-color:#087267!important;
  background:#e4f8f5!important;
  box-shadow:0 8px 20px rgba(8,114,103,.14)!important;
}
#tarifs .price-card.popular .pricing-cta{
  border-color:rgba(255,255,255,.38)!important;
  background:linear-gradient(135deg,#35cbb6,#19aa99)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(4,78,70,.22)!important;
}

/* Mise en service compacte */
#tarifs .setup-service{
  grid-template-columns:.62fr 1.7fr!important;
  gap:15px 22px!important;
  margin-top:18px!important;
  padding:18px 21px!important;
  border-radius:17px!important;
}
#tarifs .setup-service-title{gap:11px!important}
#tarifs .setup-service-title>svg{width:38px!important;height:38px!important;padding:10px!important;border-radius:11px!important}
#tarifs .setup-service-title span{font-size:10px!important}
#tarifs .setup-service-title strong{font-size:15px!important;margin-top:3px!important}
#tarifs .setup-service ul{grid-template-columns:repeat(3,1fr)!important;gap:9px 14px!important}
#tarifs .setup-service li{font-size:10px!important}
#tarifs .setup-service li svg{width:14px!important}
#tarifs .setup-service>p{padding-top:11px!important;font-size:9px!important;line-height:1.45!important}
@media(max-width:900px){#tarifs .setup-service{grid-template-columns:1fr!important}#tarifs .setup-service ul{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){#tarifs .setup-service ul{grid-template-columns:1fr!important}}

/* Responsive hardening: keep every marketing block inside the real mobile viewport. */
@media (min-width: 601px) and (max-width: 900px) {
  .hero .hf1 { right: 18px; top: 20%; }
  .hero .hf2 { left: 18px; bottom: 25%; }
  .hero .hf3 { left: 18px; top: 10%; }
  .hero .hf4 { right: 18px; bottom: 12%; }
}

@media (max-width: 600px) {
  #publicSite {
    width: calc(100% - 12px);
    margin-top: 8px;
  }

  #publicSite > .hero {
    width: 100%;
    min-width: 0;
    padding: 34px 18px 28px;
    gap: 24px;
    border-radius: 28px;
  }

  .hero-copy,
  .hero-visual,
  .hero-actions,
  .wallet-block,
  .wallet-row,
  .trust-row {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(28px, 8.6vw, 34px);
    line-height: 1.04;
    overflow-wrap: anywhere;
  }

  .hero-copy > p {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  .hero-actions,
  .wallet-row,
  .hero .trust-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-visual {
    min-height: 370px;
    margin: 0;
    transform: none;
    overflow: hidden;
  }

  .hero .hero-wallet-phone {
    width: min(280px, 76vw) !important;
    max-width: 100% !important;
  }

  #publicSite > .section,
  #publicSite > .dashboard-showcase,
  #publicSite > .commerce-section,
  #publicSite > .comparison-section,
  #publicSite > .pricing-section,
  #publicSite > .faq {
    width: 100%;
    max-width: 100%;
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }
}

/* Final responsive constraints: this block intentionally closes the cascade. */
@media(max-width:900px){
  .site-header{left:12px!important;right:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;padding:0 18px!important}
  .hero{width:auto!important;max-width:calc(100vw - 12px)!important;margin:26px 6px 0!important;padding:46px 20px 64px!important;grid-template-columns:minmax(0,1fr)!important;overflow:hidden!important}
  .hero-copy,.hero-visual{width:100%!important;min-width:0!important;max-width:100%!important}
  .hero h1{width:auto!important;max-width:100%!important;font-size:clamp(39px,11vw,58px)!important;line-height:1!important;overflow-wrap:normal!important}
  .hero-copy>p{width:auto!important;max-width:100%!important;font-size:15px!important;line-height:1.7!important}
  .hero-actions{width:100%!important;grid-template-columns:1fr!important}
  .hero-actions .btn{width:100%!important;min-width:0!important}
  .wallet-block,.trust-row{width:100%!important;max-width:100%!important}
  .hero-visual{min-height:460px!important;margin:0!important}
}
@media(max-width:600px){
  #publicSite{width:calc(100% - 24px)!important;margin-inline:12px!important}
  .hero{width:100%!important;max-width:100%!important;margin:26px 0 0!important;padding-inline:18px!important}
  .hero h1,.hero h1 span{max-width:100%!important;font-size:clamp(30px,8.5vw,35px)!important;white-space:normal!important;text-wrap:wrap!important;overflow-wrap:anywhere!important}
  .hero-copy>p{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .site-header .menu-btn{display:grid!important;place-items:center;margin-left:auto}
  .wallet-row{grid-template-columns:1fr!important}
  .hero-visual{min-height:390px!important}
}

/* Final Taste overrides live last so the legacy theme cannot reintroduce them. */
@media(min-width:901px){
  #publicSite .hero h1{max-width:680px!important;font-size:64px!important}
  #publicSite .hero h1 span{display:inline!important}
}
#publicSite > section.customer-journey{
  border-color:rgba(8,123,112,.18)!important;
  background:linear-gradient(145deg,#e7f8f4,#d8f2ec)!important;
  box-shadow:0 22px 54px rgba(5,83,75,.1)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#publicSite > section.customer-journey .section-heading>span{color:#087b70!important}
#publicSite > section.customer-journey .section-heading h2{color:#10211d!important}
#publicSite > section.customer-journey .section-heading p{color:#53635f!important}
#publicSite > section.customer-journey .journey-compact article{
  border-color:rgba(8,123,112,.14)!important;
  background:#f8fcfb!important;
  box-shadow:0 12px 28px rgba(5,83,75,.08)!important;
}
#publicSite > section.customer-journey .journey-compact-arrow{color:#0f8f83!important}

/* Stampioo-inspired composition, rebuilt with the Fidelyxa identity and assets. */
:root{
  --fx-brand:#0f8f83;
  --fx-brand-deep:#075b53;
  --fx-mint:#ddf5f0;
  --fx-paper:#f7fffd;
  --fx-ink:#10211d;
  --fx-muted:#5f706b;
  --fx-dark:#102522;
  --fx-line:rgba(15,143,131,.17);
  --fx-section-radius:56px;
  --fx-card-radius:24px;
  --fx-ease-out:cubic-bezier(.23,1,.32,1);
}

html{background:var(--fx-paper)!important}
body{
  color:var(--fx-ink)!important;
  background:var(--fx-paper)!important;
}
body::after{display:none!important}

#publicHeader.site-header{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;height:68px!important;
  padding:0 max(24px,calc((100vw - 1100px)/2))!important;
  border:0!important;border-bottom:1px solid rgba(16,33,29,.08)!important;
  border-radius:0!important;
  background:rgba(247,255,253,.92)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(135%)!important;
}
#publicHeader .desktop-nav{gap:4px}
#publicHeader .desktop-nav a{padding:10px 13px;border-radius:9px;font-size:13px}
#publicHeader .header-actions{gap:8px}
#publicHeader .btn{min-height:42px;padding:0 20px;border-radius:999px!important;box-shadow:none!important}

#publicSite{width:100%!important;margin:68px 0 0!important;overflow:hidden}
#publicSite>.hero,
#publicSite>.metrics,
#publicSite>.section,
#publicSite>.dashboard-showcase,
#publicSite>.commerce-section,
#publicSite>.comparison-section{
  width:100%!important;max-width:none!important;margin:0!important;
}

#publicSite>.hero{
  min-height:680px!important;
  padding:92px max(24px,calc((100vw - 1100px)/2)) 74px!important;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:72px!important;
  border:0!important;border-radius:0!important;
  background-color:var(--fx-paper)!important;
  background-image:radial-gradient(circle,rgba(15,143,131,.16) 1px,transparent 1.2px)!important;
  background-size:28px 28px!important;
  box-shadow:none!important;
}
#publicSite>.hero::before{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--fx-paper));pointer-events:none}
#publicSite .hero-copy{position:relative;z-index:2;align-self:center}
#publicSite .hero .eyebrow{margin-bottom:25px;color:var(--fx-brand);font-size:10px;letter-spacing:.16em}
#publicSite .hero h1{
  max-width:650px!important;margin:0!important;
  font-size:clamp(54px,4.7vw,72px)!important;line-height:.98!important;
  letter-spacing:-.065em!important;color:var(--fx-ink)!important;
}
#publicSite .hero h1 span{display:inline!important;color:var(--fx-brand)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
#publicSite .hero-copy>p{max-width:590px!important;margin:28px 0 0!important;font-size:18px!important;line-height:1.65!important;color:var(--fx-muted)!important}
#publicSite .hero-actions{display:flex!important;gap:12px!important;margin-top:30px!important}
#publicSite .hero-actions .btn{width:auto!important;min-height:52px!important;padding:0 27px!important;border-radius:999px!important}
#publicSite .btn-primary{background:var(--fx-brand)!important;box-shadow:none!important}
#publicSite .btn-secondary{background:#fff!important;border-color:rgba(16,33,29,.14)!important}
#publicSite .wallet-block{margin-top:30px!important}
#publicSite .wallet-row{max-width:470px;gap:10px}
#publicSite .wallet-brand-button{min-height:58px;border-radius:15px!important;background:rgba(255,255,255,.86)!important;box-shadow:none!important}
#publicSite .trust-row{display:flex!important;gap:24px!important;margin-top:24px!important}
#publicSite .trust-row>span{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#publicSite .trust-row .trust-icon{width:28px!important;height:28px!important;padding:7px!important}
#publicSite .hero-visual{min-height:510px!important}
#publicSite .hero-visual::before{width:410px!important;height:470px!important;border-radius:50%!important;background:var(--fx-mint)!important;border:1px solid rgba(15,143,131,.12)!important;box-shadow:none!important}
#publicSite .hero-wallet-phone{width:345px!important;filter:drop-shadow(0 28px 28px rgba(7,71,65,.2))!important}
#publicSite .hero-float{border-color:rgba(15,143,131,.15)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 14px 34px rgba(7,71,65,.1)!important}

#publicSite>.metrics{
  position:relative;z-index:3;
  grid-template-columns:repeat(4,1fr)!important;gap:0!important;
  padding:0 max(24px,calc((100vw - 1100px)/2)) 86px!important;
  background:var(--fx-paper)!important;
}
#publicSite>.metrics article{min-height:86px!important;padding:20px!important;border-width:1px 0 1px 1px!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
#publicSite>.metrics article:first-child{border-radius:18px 0 0 18px!important}
#publicSite>.metrics article:last-child{border-right:1px solid var(--fx-line)!important;border-radius:0 18px 18px 0!important}
#publicSite .section-divider{display:none!important}

#publicSite>.section,
#publicSite>.dashboard-showcase,
#publicSite>.commerce-section,
#publicSite>.comparison-section{
  position:relative!important;z-index:2!important;
  margin-top:-56px!important;
  padding:136px max(24px,calc((100vw - 1100px)/2)) 150px!important;
  border:0!important;border-radius:var(--fx-section-radius) var(--fx-section-radius) 0 0!important;
  box-shadow:0 -24px 60px -38px rgba(7,91,83,.26)!important;
}
#publicSite>.customer-journey{margin-top:0!important;background:var(--fx-dark)!important;color:#fff!important}
#publicSite>.customer-journey .section-heading>span{color:#85dfd3!important}
#publicSite>.customer-journey .section-heading h2{color:#fff!important}
#publicSite>.customer-journey .section-heading p{color:rgba(255,255,255,.64)!important}
#publicSite>.customer-journey .journey-compact{gap:18px!important;margin-top:64px!important}
#publicSite>.customer-journey .journey-compact article{min-height:280px!important;padding:30px!important;border:1px solid rgba(221,245,240,.14)!important;border-radius:var(--fx-card-radius)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;box-shadow:none!important}
#publicSite>.customer-journey .journey-compact article p{color:rgba(255,255,255,.62)!important}
#publicSite>.customer-journey .journey-compact article small{color:#9ae5db!important;border-color:rgba(255,255,255,.12)!important}

#publicSite>.dashboard-showcase{background:var(--fx-mint)!important}
#publicSite .dashboard-section-heading{margin-bottom:64px!important}
#publicSite .dashboard-showcase-layout{padding:64px!important;border-radius:var(--fx-card-radius)!important;background:var(--fx-dark)!important;box-shadow:0 24px 60px rgba(7,71,65,.16)!important}
#publicSite .dashboard-showcase-layout::before{display:none!important}
#publicSite .dashboard-showcase .dashboard-mockup{transform:none!important;border-radius:18px!important;box-shadow:0 28px 50px rgba(0,0,0,.25)!important}

#publicSite>#fonctionnalites{background:var(--fx-paper)!important}
#publicSite .section-heading{max-width:800px!important;margin:0 auto 64px!important}
#publicSite .section-heading h2,#publicSite .commerce-heading h2{font-size:clamp(40px,4.2vw,58px)!important;line-height:1.02!important;letter-spacing:-.06em!important}
#publicSite .section-heading p{margin-top:20px!important;font-size:17px!important;line-height:1.65!important}
#publicSite .feature-grid{grid-template-columns:repeat(2,1fr)!important;gap:18px!important;max-width:1000px!important}
#publicSite .feature-card{min-height:250px!important;padding:34px!important;border:1px solid var(--fx-line)!important;border-radius:var(--fx-card-radius)!important;background:#fff!important;box-shadow:none!important}
#publicSite .feature-card h3{margin-top:26px!important;font-size:22px!important}
#publicSite .feature-card p{max-width:48ch;font-size:14px!important;line-height:1.7!important}

#publicSite>.commerce-section{background:var(--fx-dark)!important;color:#fff!important}
#publicSite .commerce-heading{max-width:1100px!important;margin-bottom:64px!important}
#publicSite .commerce-heading h2{color:#fff!important}
#publicSite .commerce-heading>p{color:rgba(255,255,255,.62)!important}
#publicSite .commerce-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px!important;max-width:1100px!important}
#publicSite .commerce-grid article{min-height:240px!important;padding:30px!important;border:1px solid rgba(221,245,240,.14)!important;border-radius:var(--fx-card-radius)!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important}
#publicSite .commerce-grid article h3{color:#fff!important}
#publicSite .commerce-grid article p{color:rgba(255,255,255,.6)!important}
#publicSite .commerce-grid article span{color:#89dfd4!important}

#publicSite>.comparison-section{background:var(--fx-paper)!important}
#publicSite .comparison-cards{max-width:1000px!important;gap:18px!important}
#publicSite .comparison-card{padding:36px!important;border-radius:var(--fx-card-radius)!important;box-shadow:none!important}
#publicSite>.comparison-section+.section{background:var(--fx-mint)!important}
#publicSite>#comment-ca-marche{background:var(--fx-mint)!important}
#publicSite>#comment-ca-marche .steps{gap:0!important;max-width:1000px!important}
#publicSite>#comment-ca-marche .steps article{min-height:250px!important;padding:34px!important;border-radius:0!important;border-width:1px 0 1px 1px!important;background:#fff!important;box-shadow:none!important}
#publicSite>#comment-ca-marche .steps article:first-child{border-radius:var(--fx-card-radius) 0 0 var(--fx-card-radius)!important}
#publicSite>#comment-ca-marche .steps article:last-child{border-right:1px solid var(--fx-line)!important;border-radius:0 var(--fx-card-radius) var(--fx-card-radius) 0!important}

#publicSite>#tarifs{background:var(--fx-paper)!important}
#publicSite .pricing-grid{gap:16px!important;max-width:1100px!important}
#publicSite .price-card{padding:34px!important;border:1px solid var(--fx-line)!important;border-radius:var(--fx-card-radius)!important;box-shadow:none!important}
#publicSite .price-card.popular{background:var(--fx-brand-deep)!important;transform:none!important}
#publicSite .billing-toggle{border-radius:999px!important}
#publicSite .pricing-cta{border-radius:999px!important}

#publicSite>.trust-section{background:var(--fx-dark)!important;color:#fff!important}
#publicSite>.trust-section .section-heading h2{color:#fff!important}
#publicSite>.trust-section .trust-card{border:1px solid rgba(221,245,240,.14)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;box-shadow:none!important}
#publicSite>.trust-section .trust-card p{color:rgba(255,255,255,.6)!important}
#publicSite>.faq{background:var(--fx-paper)!important}
#publicSite>.faq .section-heading h2{color:var(--fx-ink)!important}
#publicSite>.faq .premium-faq{max-width:900px!important;margin:auto!important}
#publicSite>.faq .premium-faq details{border:1px solid var(--fx-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}

#publicFooter{margin:0!important;padding:82px max(24px,calc((100vw - 1100px)/2)) 46px!important;border-radius:var(--fx-section-radius) var(--fx-section-radius) 0 0!important;background:#091916!important}

#publicSite .btn,#publicSite button,#publicHeader .btn{
  transition:transform 150ms var(--fx-ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease!important;
}
#publicSite .btn:active,#publicSite button:active,#publicHeader .btn:active{transform:scale(.97)!important}
#publicSite .reveal,#publicSite .reveal-child{
  filter:none!important;transform:translate3d(0,18px,0)!important;
  transition:opacity 520ms var(--fx-ease-out),transform 520ms var(--fx-ease-out)!important;
}
#publicSite .reveal.visible,#publicSite .reveal-child.visible{transform:translate3d(0,0,0)!important}
@media(hover:hover) and (pointer:fine){
  #publicSite .feature-card:hover,#publicSite .commerce-grid article:hover,#publicSite .price-card:hover,#publicSite .comparison-card:hover,#publicSite .journey-compact article:hover{transform:translateY(-3px)!important;box-shadow:0 18px 36px rgba(7,71,65,.09)!important}
}

@media(max-width:900px){
  #publicHeader.site-header{padding:0 18px!important}
  #publicHeader.site-header.open .nav-content{top:calc(100% + 1px)!important;border-radius:0 0 18px 18px!important}
  #publicSite{margin-top:68px!important}
  #publicSite>.hero{grid-template-columns:1fr!important;gap:42px!important;padding:72px 28px 74px!important}
  #publicSite .hero h1{max-width:700px!important;font-size:clamp(48px,8.4vw,66px)!important}
  #publicSite .hero-visual{min-height:480px!important}
  #publicSite>.metrics{grid-template-columns:repeat(2,1fr)!important;padding:0 28px 90px!important}
  #publicSite>.metrics article,#publicSite>.metrics article:first-child,#publicSite>.metrics article:last-child{border:1px solid var(--fx-line)!important;border-radius:16px!important}
  #publicSite>.section,#publicSite>.dashboard-showcase,#publicSite>.commerce-section,#publicSite>.comparison-section{padding:112px 28px 126px!important}
  #publicSite .commerce-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  :root{--fx-section-radius:34px;--fx-card-radius:20px}
  #publicSite{width:100%!important;margin-inline:0!important}
  #publicSite>.hero{margin:0!important;padding:54px 20px 58px!important;border-radius:0!important}
  #publicSite .hero h1,#publicSite .hero h1 span{font-size:clamp(39px,11.2vw,48px)!important;line-height:.98!important;overflow-wrap:normal!important}
  #publicSite .hero-copy>p{font-size:16px!important;line-height:1.6!important}
  #publicSite .hero-actions{display:grid!important;grid-template-columns:1fr!important}
  #publicSite .hero-actions .btn{width:100%!important}
  #publicSite .trust-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
  #publicSite .trust-row>span:last-child{grid-column:1/-1}
  #publicSite .hero-visual{min-height:430px!important}
  #publicSite .hero-wallet-phone{width:min(285px,78vw)!important}
  #publicSite>.metrics{grid-template-columns:1fr!important;padding:0 20px 76px!important;gap:8px!important}
  #publicSite>.section,#publicSite>.dashboard-showcase,#publicSite>.commerce-section,#publicSite>.comparison-section{margin-top:-34px!important;padding:88px 20px 104px!important}
  #publicSite>.customer-journey{margin-top:0!important}
  #publicSite .section-heading{margin-bottom:42px!important;text-align:left!important}
  #publicSite .section-heading h2,#publicSite .commerce-heading h2{font-size:clamp(34px,10vw,43px)!important}
  #publicSite .section-heading p{font-size:15px!important}
  #publicSite .journey-compact,#publicSite .feature-grid,#publicSite .commerce-grid,#publicSite .comparison-cards,#publicSite .pricing-grid{grid-template-columns:1fr!important}
  #publicSite .journey-compact-arrow{display:none!important}
  #publicSite .feature-card,#publicSite .commerce-grid article{min-height:220px!important;padding:28px!important}
  #publicSite .dashboard-showcase-layout{padding:36px 18px 24px!important}
  #publicSite>#comment-ca-marche .steps{grid-template-columns:1fr!important;gap:10px!important}
  #publicSite>#comment-ca-marche .steps article,#publicSite>#comment-ca-marche .steps article:first-child,#publicSite>#comment-ca-marche .steps article:last-child{min-height:0!important;border:1px solid var(--fx-line)!important;border-radius:var(--fx-card-radius)!important}
  #publicFooter{padding:68px 22px 38px!important}
}
@media(prefers-reduced-motion:reduce){
  #publicSite .reveal,#publicSite .reveal-child{transform:none!important;transition:opacity 180ms ease!important}
}

/* Specificity guard for the legacy customer-journey theme. */
#publicSite > section.customer-journey{background:var(--fx-dark)!important;color:#fff!important}
#publicSite > section.customer-journey .section-heading>span{color:#85dfd3!important}
#publicSite > section.customer-journey .section-heading h2{color:#fff!important}
#publicSite > section.customer-journey .section-heading h2::first-line{color:#fff!important}
#publicSite > section.customer-journey .section-heading p{color:rgba(255,255,255,.64)!important}
#publicSite > section.customer-journey .journey-compact article{background:rgba(255,255,255,.055)!important;color:#fff!important}
#publicSite > section.customer-journey .journey-compact article h3{color:#fff!important}
#publicSite > section.customer-journey .journey-compact article p{color:rgba(255,255,255,.62)!important}
