:root{
  --bg:#06070f;--bg2:#0b0e1d;--card:#0e1226;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --ink:#f5f6fb;--text:#b9bfd6;--muted:#7d84a3;--blue:#5b74ff;--blue2:#3a4ff0;--amber:#ffb23e;--r:28px;
  color-scheme:dark
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}a:hover{text-decoration-color:var(--amber)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px 12px;z-index:30}
h1,h2,h3{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,sans-serif;margin:0}
h1{font-size:clamp(46px,8.4vw,108px);line-height:.95;letter-spacing:-.05em;font-weight:800}
h2{font-size:clamp(34px,5vw,60px);line-height:1;letter-spacing:-.04em;font-weight:800}
h3{font-size:24px;line-height:1.15;letter-spacing:-.02em;font-weight:700}
.serif{font-family:"New York",ui-serif,Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;letter-spacing:-.03em}
.amber{color:var(--amber)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.kicker:before{content:"";width:22px;height:1px;background:var(--amber)}
.lead{font-size:clamp(18px,1.8vw,21px);line-height:1.55;color:var(--text);max-width:600px;margin:26px 0 0}

/* Header */
.top{position:sticky;top:0;z-index:20;background:rgba(6,7,15,.72);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:12px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-weight:700;font-size:18px;letter-spacing:-.02em;text-decoration:none}
.brand img{width:32px;height:32px;border-radius:8px}
nav{display:flex;align-items:center;gap:2px}
nav a{color:var(--text);font-size:15px;padding:8px 14px;border-radius:999px;text-decoration:none;transition:color .2s,background .2s}
nav a:hover,nav a[aria-current]{color:var(--ink);background:rgba(255,255,255,.06)}
nav .navcta{background:var(--ink);color:#06070f;font-weight:600;margin-left:10px}nav .navcta:hover{background:var(--amber);color:#06070f}

/* Buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#06070f;padding:15px 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{background:var(--amber);transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,178,62,.25)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}.btn.ghost:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.btn svg{transition:transform .2s}.btn:hover svg{transform:translateX(3px)}

/* Hero */
.hero{position:relative;padding:110px 0 120px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(55% 70% at 85% 10%,rgba(58,79,240,.26),transparent 75%),radial-gradient(40% 50% at 0% 100%,rgba(255,178,62,.07),transparent 70%);pointer-events:none}
.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(70% 60% at 70% 30%,#000,transparent);mask-image:radial-gradient(70% 60% at 70% 30%,#000,transparent);opacity:.55;pointer-events:none}
.hgrid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.stack{position:relative;height:440px}
.stack img{position:absolute;border-radius:23%;box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);animation:float 8s ease-in-out infinite}
.stack .i1{width:190px;left:14%;top:4%;transform:rotate(-9deg);animation-delay:-1s}
.stack .i2{width:170px;right:2%;top:30%;transform:rotate(7deg);animation-delay:-3s}
.stack .i3{width:150px;left:4%;bottom:2%;transform:rotate(4deg);animation-delay:-5s}
@keyframes float{50%{translate:0 -14px}}
.proof{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:46px;padding-top:26px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.proof b{color:var(--ink);font-weight:600}

/* Sections */
.sec{padding-top:120px;padding-bottom:120px}
.shead{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:50px}
.shead p{max-width:420px;margin:0;color:var(--muted)}

/* App cards */
.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.app{position:relative;display:flex;flex-direction:column;border-radius:var(--r);padding:34px;min-height:520px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.app:hover{transform:translateY(-6px)}
.app .ic{width:88px;height:88px;border-radius:22%;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.app .tag{margin:34px 0 10px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.app h3{font-size:clamp(28px,2.6vw,34px);letter-spacing:-.035em;line-height:1.05;color:inherit}
.app p{margin:16px 0 0;opacity:.82}
.app .foot{margin-top:auto;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.app .rate{font-size:14px;opacity:.75}
.store{color:inherit;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;background:currentColor}
.store span{color:var(--sbtn)}
.liferank{background:radial-gradient(120% 70% at 100% 0%,rgba(110,150,255,.32),transparent 60%),linear-gradient(170deg,#141c46,#090c1f);color:#e9eeff;box-shadow:inset 0 0 0 1px rgba(140,170,255,.18);--sbtn:#0b1030}
.kazu{background:radial-gradient(90% 60% at 100% 0%,#ffe2cf,transparent 70%),#f5ece0;color:#3a2a22;--sbtn:#f5ece0}
.forge{background:radial-gradient(100% 70% at 100% 0%,rgba(240,89,42,.35),transparent 60%),#100b09;color:#f6e9e2;box-shadow:inset 0 0 0 1px rgba(240,89,42,.2);--sbtn:#100b09}
.soon{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#f0592a}
.soon:before{content:"";width:8px;height:8px;border-radius:50%;background:#f0592a;box-shadow:0 0 0 4px rgba(240,89,42,.2);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(240,89,42,0)}}

/* Manifesto */

/* Principles */

/* CTA */
.cta{position:relative;overflow:hidden;border-radius:36px;padding:80px 60px;text-align:center;background:radial-gradient(60% 90% at 50% 0%,rgba(91,116,255,.45),transparent 70%),radial-gradient(50% 60% at 50% 110%,rgba(255,178,62,.25),transparent 70%),var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.cta h2{max-width:760px;margin:0 auto}
.cta p{max-width:520px;margin:20px auto 0;font-size:19px}
.cta .btns{justify-content:center}

/* Inner pages */
.phero{position:relative;padding:100px 0 70px;overflow:hidden}
.phero:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 90% 0%,rgba(58,79,240,.22),transparent 75%);pointer-events:none}
.phero .wrap{position:relative}
.phero h1{font-size:clamp(42px,6.6vw,86px)}
.phero.small{padding:80px 0 30px}.phero.small h1{font-size:clamp(36px,5vw,58px)}
.phero.small .lead{margin-top:14px;font-size:16px;color:var(--muted)}

/* App rows (apps page) */

/* About */

.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pill{border-radius:24px;padding:34px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.pill b{display:block;font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;color:var(--ink);font-weight:700}
.pill b:after{content:"";display:block;width:28px;height:2px;background:var(--amber);margin:18px 0 0}
.pill p{margin:18px 0 0}
@media (max-width:980px){.pills{grid-template-columns:1fr}}
/* Contact */
a.ccard:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--line2),0 24px 50px rgba(0,0,0,.4)}
.mailbig{display:inline-block;margin-top:34px;font-size:clamp(24px,4vw,44px);font-weight:700;letter-spacing:-.03em;color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:8px;word-break:break-all}

/* Legal */
.legal{max-width:760px;padding-top:20px}
.legal h2{font-size:22px;letter-spacing:-.02em;margin:44px 0 10px}.legal h2:first-child{margin-top:0}
.legal p{margin:0 0 12px}

/* Footer */
footer{margin-top:120px;border-top:1px solid var(--line);padding:70px 0 30px}
.cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.fb p{color:var(--muted);font-size:15px;margin:16px 0 0;max-width:300px}
footer h4{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}
footer .cols a:not(.brand){display:block;color:var(--text);font-size:15px;margin:8px 0;text-decoration:none}footer .cols a:not(.brand):hover{color:var(--ink)}
.copy{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.copy a{color:var(--muted)}
.wordmark{font-size:clamp(64px,15.5vw,210px);font-weight:800;letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);margin:60px 0 0;white-space:nowrap;user-select:none}

/* Reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.stack img,.soon:before{animation:none}html{scroll-behavior:auto}}

@media(max-width:980px){
  .apps{grid-template-columns:1fr}.app{min-height:0}
  .hgrid{grid-template-columns:1fr}.stack{height:220px;max-width:460px}
  .stack .i1{width:130px;left:0;top:10px}.stack .i2{width:120px;left:36%;right:auto;top:50px}.stack .i3{width:110px;left:auto;right:0;bottom:auto;top:0}
  .row{grid-template-columns:1fr;gap:30px;padding:40px}
  .two{grid-template-columns:1fr}.fact{position:static}
  .cgrid{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  nav a:not(.navcta){display:none}
  .hero{padding:56px 0 80px}.sec{padding-top:84px;padding-bottom:84px}.phero{padding:64px 0 46px}
  .grid3{grid-template-columns:1fr}.pr,.pr+.pr{padding:28px 0 6px;border-left:0}.pr+.pr{border-top:1px solid var(--line)}
  .app{padding:28px}.row{padding:30px;border-radius:28px}.row .ic{width:110px;height:110px}
  .cta{padding:56px 24px;border-radius:28px}
  .stack{height:180px}.stack .i1{width:110px}.stack .i2{width:100px;top:40px}.stack .i3{width:92px}
  .cols{grid-template-columns:1fr}
}

/* À propos */
.story{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(60% 80% at 50% 120%,rgba(255,178,62,.12),transparent 70%),var(--bg2)}
.story h2{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.04em;max-width:900px}
.cols2{display:grid;gap:22px;margin-top:40px;max-width:560px}.cols2 p{margin:0;font-size:clamp(18px,1.7vw,21px);line-height:1.6}
.kq{margin:56px 0 0;padding:30px 0 0 0;border-top:1px solid var(--line);max-width:760px;font-size:clamp(20px,2.2vw,26px);line-height:1.45;color:var(--ink);letter-spacing:-.01em}
.sgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.phones{position:relative;height:540px}
.ph{position:absolute;width:210px;aspect-ratio:1206/2472;border-radius:34px;padding:7px;background:#1b1f33;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 40px 80px rgba(0,0,0,.55)}
.ph img{display:block;width:100%;height:100%;object-fit:cover;border-radius:28px}
.p1{left:0;top:70px;transform:rotate(-7deg)}.p2{left:50%;top:0;margin-left:-105px;z-index:2}.p3{right:0;top:70px;transform:rotate(7deg)}
@media (max-width:980px){.sgrid{grid-template-columns:1fr}.phones{height:470px;max-width:520px;margin:20px auto 0;width:100%}.ph{width:180px}.p2{margin-left:-90px}}
@media (max-width:700px){.phones{height:330px}.ph{width:128px;border-radius:24px;padding:5px}.ph img{border-radius:20px}.p2{margin-left:-64px}.p1,.p3{top:44px}}
/* Méthode */
.method{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.mhead{position:sticky;top:110px}.mhead p:not(.kicker){color:var(--muted);margin:20px 0 0;max-width:360px}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:34px 0;border-bottom:1px solid var(--line)}
.steps b{font-size:14px;color:var(--amber);letter-spacing:.1em;padding-top:6px;font-variant-numeric:tabular-nums}
.steps h3{font-size:24px;letter-spacing:-.02em}.steps p{margin:10px 0 0}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pill{border-radius:24px;padding:34px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.pill b{display:block;font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;color:var(--ink);font-weight:700}
.pill b:after{content:"";display:block;width:28px;height:2px;background:var(--amber);margin:18px 0 0}
.pill p{margin:18px 0 0}
@media (max-width:980px){.pills{grid-template-columns:1fr}}
/* Contact */
#contact{padding-bottom:110px;scroll-margin-top:90px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.chips a{font-size:15px;padding:9px 16px;border-radius:999px;color:var(--text);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line2);transition:background .2s,color .2s}
.chips a:hover{background:rgba(255,255,255,.06);color:var(--ink)}
#apps,#a-propos,#methode{scroll-margin-top:70px}
html{scroll-behavior:smooth}
@media (max-width:980px){.method{grid-template-columns:1fr;gap:36px}.mhead{position:static}}
@media (max-width:700px){.cols2{gap:18px}.steps li{grid-template-columns:48px 1fr}.steps h3{font-size:21px}}