h1{font-family:var(--serif);font-size:clamp(2.2rem,5.5vw,5.2rem);font-weight:800;line-height:.9;letter-spacing:-.05em}
h1 em{font-style:normal;background:var(--lime);color:var(--ink);display:inline-block;padding:0 .12em}
h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:800;letter-spacing:-.05em;line-height:1.02}
h2 mark{background:var(--lime);color:var(--ink);padding:0 .15em}
h2.wh{color:#fff}

.offer-hero{background:var(--ink);padding:100px 2rem 5rem;position:relative;overflow:hidden}
.offer-hero-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:center}
.oh-bg{position:absolute;bottom:-2rem;right:-2rem;font-family:var(--serif);font-size:16vw;font-weight:800;color:rgba(255,255,255,.025);pointer-events:none;letter-spacing:-.06em}.oh-bg::before{content:'NFC';letter-spacing:-.06em}
.offer-hero h1{color:#fff;margin-bottom:1.2rem}
.offer-hero .sub{font-size:.95rem;font-weight:300;color:rgba(255,255,255,.48);line-height:1.78;margin-bottom:2rem}
.hero-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:400;color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);padding:.28rem .75rem;border-radius:2rem;border:1px solid rgba(255,255,255,.1)}
.chip svg{width:11px;height:11px;stroke:var(--lime);fill:none;stroke-width:2;stroke-linecap:round}
.hero-price-box{background:rgba(200,245,59,.07);border:1px solid rgba(200,245,59,.18);border-radius:.6rem;padding:1.8rem;text-align:center}
.hp-from{font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.4rem}
.hp-price{font-family:var(--serif);font-size:3.2rem;font-weight:800;color:var(--lime);letter-spacing:-.05em;line-height:1}
.hp-unit{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.65);margin-top:.3rem}
.hp-cta{display:block;margin-top:1.4rem;background:var(--lime);color:var(--ink);font-family:var(--serif);font-weight:700;font-size:.88rem;padding:.8rem 1.5rem;border-radius:3rem;transition:background .2s}
.hp-cta:hover{background:var(--lime2)}
.hp-note{font-size:.68rem;color:rgba(255,255,255,.55);margin-top:.65rem}
.breadcrumb{width:100%;max-width:1280px;margin:0 auto;padding:.8rem 0 0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.breadcrumb a{font-size:.72rem;color:rgba(255,255,255,.55);transition:color .18s}.breadcrumb span{font-size:.72rem;color:rgba(255,255,255,.25)}
.breadcrumb a:hover{color:var(--lime)}
.breadcrumb strong{font-size:.72rem;color:rgba(255,255,255,.7);font-weight:500}

.how-bg{padding:5.5rem 2rem}
.how-in{max-width:1280px;margin:0 auto}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.how-step{text-align:center;padding:2.5rem 2rem;background:var(--card);border-radius:.5rem}
.how-num{font-family:var(--serif);font-size:3rem;font-weight:800;color:var(--ink);letter-spacing:-.06em;line-height:1;margin-bottom:.8rem}
.how-icon{width:48px;height:48px;background:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem}
.how-icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round}
.how-title{font-family:var(--serif);font-size:1rem;font-weight:700;margin-bottom:.5rem}
.how-desc{font-size:.82rem;font-weight:300;color:var(--dust);line-height:1.6}

.features-bg{background:var(--ink);padding:5.5rem 2rem}
.features-in{max-width:1280px;margin:0 auto}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
.feat-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:1.8rem;transition:border-color .2s}
.feat-card:hover{border-color:var(--lime)}
.feat-ico{width:36px;height:36px;background:rgba(200,245,59,.1);border-radius:.4rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.feat-ico svg{width:16px;height:16px;stroke:var(--lime);fill:none;stroke-width:1.8;stroke-linecap:round}
.feat-name{font-family:var(--serif);font-size:.95rem;font-weight:700;color:#fff;margin-bottom:.4rem;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.feat-badge{font-family:var(--body);font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:.2rem .5rem;border-radius:2rem;line-height:1}
.feat-desc{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.42);line-height:1.65}

.pricing-bg{background:var(--card);padding:5.5rem 2rem}
.pricing-in{max-width:1280px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
.p-card{background:var(--paper);border-radius:.5rem;padding:2rem;border:1.5px solid transparent;transition:border-color .2s,box-shadow .2s;position:relative}
.p-card:hover{border-color:var(--lime);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.p-card.best{background:var(--ink);color:#fff}
.p-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;margin-bottom:.4rem}
.p-card.best .p-name{color:#fff}
.p-from{font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dust);margin-bottom:.1rem}
.p-card.best .p-from{color:rgba(255,255,255,.4)}
.p-price{font-family:var(--serif);font-size:2.2rem;font-weight:800;color:var(--ink);letter-spacing:-.04em;line-height:1}
.p-card.best .p-price{color:var(--lime)}
.p-unit{font-family:var(--body);font-size:.72rem;font-weight:300;color:var(--dust);margin-left:.2rem}
.p-card.best .p-unit{color:var(--lime)}
.p-period{font-size:.72rem;color:var(--dust);margin-top:.1rem}
.p-card.best .p-period{color:rgba(255,255,255,.4)}
.p-list{list-style:none;margin-top:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.p-list li{font-size:.8rem;font-weight:300;color:var(--dust);display:flex;align-items:center;gap:.5rem}
.p-card.best .p-list li{color:rgba(255,255,255,.5)}
.p-list li::before{content:'';width:5px;height:5px;background:var(--lime);border-radius:50%;flex-shrink:0}
.p-cta{display:block;margin-top:1.5rem;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.65rem;border:1.5px solid var(--ink);border-radius:2rem;color:var(--ink);transition:all .18s}
.p-cta:hover{background:var(--ink);color:var(--lime)}
.p-card.best .p-cta{border-color:var(--lime);color:var(--lime)}
.p-card.best .p-cta:hover{background:var(--lime);color:var(--ink)}

.profil-bg{padding:5.5rem 2rem;border-top:1.5px solid rgba(0,0,0,.08)}
.profil-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.profil-mockup{background:var(--ink);border-radius:1.2rem;padding:2rem;max-width:300px}
.pm-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.pm-avatar{width:64px;height:64px;background:var(--lime);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;font-family:var(--serif);font-size:1.4rem;font-weight:800;color:var(--ink)}
.pm-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.2rem}
.pm-role{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.4)}
.pm-links{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem}
.pm-link{display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;background:rgba(255,255,255,.05);border-radius:.4rem;font-size:.8rem;font-weight:400;color:rgba(255,255,255,.6)}
.pm-link svg{width:14px;height:14px;stroke:var(--lime);fill:none;stroke-width:1.8;stroke-linecap:round;flex-shrink:0}

.faq-bg{padding:5.5rem 2rem;border-top:1.5px solid rgba(0,0,0,.08)}
.faq-in{max-width:860px;margin:0 auto}
.faq-list{margin-top:2.8rem;display:flex;flex-direction:column;gap:.6rem}
.faq-item{border:1.5px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden}
.faq-item.open{border-color:var(--ink)}
.faq-q{width:100%;background:none;border:none;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--body);font-size:.9rem;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;transition:background .16s}
.faq-q:hover{background:rgba(0,0,0,.03)}
.faq-item.open .faq-q{background:var(--ink);color:#fff}
.faq-icon{width:18px;height:18px;flex-shrink:0;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center}
.faq-icon svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;transition:transform .24s}
.faq-item.open .faq-icon svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:500px}
.faq-a-inner{padding:1.2rem 1.4rem;font-size:.87rem;font-weight:300;color:var(--dust);line-height:1.75;border-top:1.5px solid rgba(0,0,0,.08)}

.cta-band{background:var(--lime);padding:5.5rem 2rem}
.cta-band-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem}
.cta-hl{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:800;letter-spacing:-.05em;line-height:.93;color:var(--ink)}
.cta-hl em{font-style:normal;-webkit-text-stroke:2px var(--ink);color:transparent}
.cta-side{display:flex;flex-direction:column;gap:.65rem;align-items:flex-end}
.cta-note{font-size:.7rem;color:rgba(0,0,0,.42);text-align:right}

@media(max-width:960px){.offer-hero-in,.profil-in{grid-template-columns:1fr}.how-steps,.features-grid{grid-template-columns:1fr 1fr}.pricing-grid{grid-template-columns:1fr}.cta-band-in{grid-template-columns:1fr}.cta-side{align-items:flex-start}.profil-mockup{max-width:100%}}
@media(max-width:960px){.cta-band-in{grid-template-columns:1fr}.cta-side{align-items:flex-start}.cta-note{text-align:left}}
@media(max-width:600px){
.profil-in > div:first-child .btn.btn-ink{width:100%;justify-content:center}
.cta-side{align-items:center;text-align:center}
.cta-note{text-align:center}
.offer-hero,.how-bg,.features-bg,.pricing-bg,.profil-bg,.faq-bg,.cta-band{padding:88px 1.4rem 3rem}
.breadcrumb{padding:1.4rem 0 0}
.cta-side p{text-align:left!important}

.how-steps,.features-grid{scrollbar-width:none;-ms-overflow-style:none}
.how-steps::-webkit-scrollbar,.features-grid::-webkit-scrollbar{display:none;width:0;height:0}

.how-steps{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;
  grid-template-columns:unset;gap:1rem;background:var(--paper);margin-top:3rem;
  width:calc(100% + 2.8rem);max-width:none;margin-left:-1.4rem;margin-right:-1.4rem;
  padding-left:max(1.4rem,env(safe-area-inset-left));padding-right:max(1.4rem,env(safe-area-inset-right));padding-bottom:0;box-sizing:border-box;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:max(1.4rem,env(safe-area-inset-left))
}
.how-steps .how-step{
  flex:0 0 min(83vw,19rem);max-width:min(83vw,19rem);scroll-snap-align:start;min-width:0;box-sizing:border-box
}

.features-grid{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;
  grid-template-columns:unset;gap:1rem;background:var(--ink);
  width:calc(100% + 2.8rem);max-width:none;margin-left:-1.4rem;margin-right:-1.4rem;
  padding-left:max(1.4rem,env(safe-area-inset-left));padding-right:max(1.4rem,env(safe-area-inset-right));padding-bottom:0;box-sizing:border-box;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:max(1.4rem,env(safe-area-inset-left))
}
.features-grid .feat-card{
  flex:0 0 min(83vw,19rem);max-width:min(83vw,19rem);scroll-snap-align:start;min-width:0;box-sizing:border-box;border-color:var(--lime)
}
}
@media(min-width:1060px){.offer-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.breadcrumb{align-self:flex-start}}@media(max-width:768px){h1{font-size:clamp(1.7rem,9vw,2.6rem);line-height:.9;letter-spacing:-.04em;overflow-wrap:break-word}}
#soon-toast .soon-toast-dot{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%;margin-right:.5rem;vertical-align:middle}
#soon-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-family:var(--body);font-size:.82rem;font-weight:500;padding:.75rem 1.5rem;border-radius:3rem;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:999;white-space:nowrap}
#soon-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Styles déplacés depuis les attributs style="" des pages (à renommer librement selon vos conventions). */
.carte-de-visite-numerique-s1{font-size:.9rem;font-weight:300;color:rgba(255,255,255,.45);margin-top:1rem;margin-bottom:0}
.carte-de-visite-numerique-s2{font-size:.75rem;font-weight:300;color:var(--dust);margin-top:.8rem;text-align:center}
.carte-de-visite-numerique-s3{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.4);margin-top:.8rem;text-align:center}
.carte-de-visite-numerique-s4{font-weight:600;color:var(--ink)}
.carte-de-visite-numerique-s5{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin-top:1.8rem}
.carte-de-visite-numerique-s6{display:flex;align-items:center;gap:.7rem;font-size:.85rem;font-weight:300;color:var(--dust)}
.carte-de-visite-numerique-s7{width:20px;height:20px;background:var(--lime);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.carte-de-visite-numerique-s8{width:8px;height:8px;stroke:#0f0f0f;fill:none;stroke-width:2;stroke-linecap:round}
.carte-de-visite-numerique-s9{display:flex;justify-content:center;align-items:center}
.carte-de-visite-numerique-s10{position:relative;width:340px}
.carte-de-visite-numerique-s11{background:#1a1a1a;border-radius:42px;padding:16px;box-shadow:0 0 0 2px #333,0 20px 60px rgba(0,0,0,.5)}
.carte-de-visite-numerique-s12{width:90px;height:6px;background:#333;border-radius:3px;margin:0 auto 12px}
.carte-de-visite-numerique-s13{border-radius:26px;overflow:hidden;height:640px;width:308px;position:relative}
.carte-de-visite-numerique-s14{width:390px;height:810px;border:none;display:block;transform:scale(0.79);transform-origin:top left}
.carte-de-visite-numerique-s15{width:40px;height:4px;background:#333;border-radius:2px;margin:10px auto 0}
.carte-de-visite-numerique-s16{text-align:center;font-size:.72rem;color:var(--dust);margin-top:1rem}
.carte-de-visite-numerique-s17{text-align:center;font-size:.72rem;color:var(--dust);margin-top:.4rem}
