/* ============================================================
   TRUSTY — landing · design system "Verdure" (charte app mobile)
   Manrope + Inter · néumorphisme · vert #2ED87B / #19A35A
   Certification blockchain d'actifs (SHA-256 + IPFS)
   ============================================================ */
:root{
  --bg:#E7EBF0; --t1:#2A2F3B; --t2:#6C7488; --t3:#9AA1B3;
  --accent:#2ED87B; --accent-deep:#19A35A; --accent-surf:#D9EFE1;
  --danger:#E85F3C; --danger-soft:#FF8A5B;
  --sh-light:#FFFFFF; --sh-dark:#BDC3CF;
  --grad-top:#F3F5F9; --grad-bot:#DFE3EB;
  --accent-grad:linear-gradient(145deg,#2ED87B,#19A35A);
  --surf-grad:linear-gradient(145deg,#F3F5F9,#DFE3EB);
  --f-head:'Manrope',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --r:22px; --r-lg:28px;
  /* neumorphic shadows — light source top-left */
  --nm-out:-8px -8px 18px var(--sh-light),8px 8px 18px var(--sh-dark);
  --nm-out-sm:-5px -5px 12px var(--sh-light),5px 5px 12px var(--sh-dark);
  --nm-in:inset 4px 4px 10px var(--sh-dark),inset -4px -4px 10px var(--sh-light);
  --glow:0 10px 30px -6px rgba(46,216,123,.5);
  --maxw:1140px; --gut:clamp(20px,5vw,60px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);background:var(--bg);color:var(--t1);line-height:1.6;font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}svg,img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;color:var(--t1);line-height:1.12;letter-spacing:-.03em}
.eyebrow{font-family:var(--f-body);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:'';width:18px;height:18px;border-radius:6px;background:var(--accent-grad);box-shadow:var(--glow)}

/* neumorphic helpers */
.nm{background:var(--bg);border-radius:var(--r-lg);box-shadow:var(--nm-out)}
.pill-nm{background:var(--bg);border-radius:999px;box-shadow:var(--nm-out-sm)}

/* nav */
.nav{position:fixed;inset:14px 14px auto;z-index:100;max-width:calc(var(--maxw) + 28px);margin-inline:auto;border-radius:999px;background:var(--bg);box-shadow:var(--nm-out-sm)}
.nav__in{padding:12px 22px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:11px}
.logo img{width:38px;height:38px;border-radius:11px;box-shadow:var(--nm-out-sm)}
.logo b{font-family:var(--f-head);font-weight:800;font-size:20px;letter-spacing:-.02em}
.nav__l{display:flex;gap:26px;align-items:center}
.nav__l a{font-size:14px;font-weight:600;color:var(--t2)}
.nav__l a:hover{color:var(--t1)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-weight:700;font-size:15px;padding:13px 24px;border-radius:999px;cursor:pointer;border:none;transition:transform .2s var(--ease),box-shadow .25s,filter .2s;letter-spacing:-.01em}
.btn--primary{background:var(--accent-grad);color:#fff;box-shadow:var(--glow)}
.btn--primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn--nm{background:var(--bg);color:var(--t1);box-shadow:var(--nm-out-sm)}
.btn--nm:hover{box-shadow:var(--nm-in);transform:translateY(1px)}
.btn svg{width:16px;height:16px}
.burger{display:none;background:none;border:0;cursor:pointer;padding:6px}
.burger span{display:block;width:24px;height:2px;background:var(--t1);margin:5px 0;border-radius:2px}

/* hero */
.hero{padding:170px 0 90px;position:relative}
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(40px,6.2vw,68px)}
.hero h1 .g{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__sub{margin-top:22px;max-width:46ch;font-size:clamp(16px,1.5vw,18px);color:var(--t2)}
.hero__cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.hero__meta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}
.hero__meta span{font-family:var(--f-body);font-weight:600;font-size:12.5px;color:var(--t2);padding:10px 16px;border-radius:999px;background:var(--bg);box-shadow:var(--nm-out-sm);display:inline-flex;align-items:center;gap:8px}
.hero__meta span::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* certify panel signature */
.certify{padding:30px;border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--nm-out)}
.certify__row{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r);background:var(--bg);box-shadow:var(--nm-in);margin-bottom:14px}
.certify__row .ic{width:44px;height:44px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--bg);box-shadow:var(--nm-out-sm)}
.certify__row .ic svg{width:22px;height:22px;stroke:var(--accent-deep);fill:none;stroke-width:2}
.certify__row b{font-family:var(--f-head);font-size:14px;display:block}
.certify__row small{font-family:var(--f-body);font-size:11px;color:var(--t3);word-break:break-all}
.certify__arrow{text-align:center;color:var(--t3);margin:-6px 0 8px;font-size:18px}
.certify__seal{display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--r);background:var(--accent-surf);box-shadow:var(--nm-out-sm)}
.certify__seal .badge{width:48px;height:48px;border-radius:50%;background:var(--accent-grad);display:grid;place-items:center;box-shadow:var(--glow);flex:none}
.certify__seal .badge svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2.4}
.certify__seal b{font-family:var(--f-head);font-size:15px;color:var(--accent-deep);display:block}
.certify__seal small{font-size:11.5px;color:var(--accent-deep);opacity:.8}

/* section */
.sec{padding:clamp(66px,9vw,116px) 0}
.sh{max-width:620px;margin-bottom:50px}
.sh h2{font-size:clamp(28px,4.4vw,46px)}
.sh p{margin-top:14px;color:var(--t2);font-size:16px}

/* feature grid neumorphic */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fc{padding:32px;border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--nm-out);transition:transform .3s var(--ease)}
.fc:hover{transform:translateY(-5px)}
.fc .i{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--bg);box-shadow:var(--nm-out-sm);margin-bottom:20px}
.fc .i svg{width:26px;height:26px;stroke:var(--accent-deep);fill:none;stroke-width:1.9}
.fc h3{font-size:20px}
.fc p{margin-top:9px;color:var(--t2);font-size:14.5px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
.st{padding:30px;border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--nm-out);position:relative}
.st__n{counter-increment:s;font-family:var(--f-head);font-weight:800;font-size:15px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bg);box-shadow:var(--nm-in);color:var(--accent-deep);margin-bottom:18px}
.st__n::before{content:'0' counter(s)}
.st h4{font-size:19px}
.st p{margin-top:9px;color:var(--t2);font-size:14.5px}

/* vault band */
.vault{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.vault__panel{padding:34px;border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--nm-out)}
.vrow{display:flex;align-items:center;gap:14px;padding:15px;border-radius:var(--r);background:var(--bg);box-shadow:var(--nm-out-sm);margin-bottom:12px}
.vrow .lock{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--accent-surf)}
.vrow .lock svg{width:20px;height:20px;stroke:var(--accent-deep);fill:none;stroke-width:2}
.vrow b{font-family:var(--f-head);font-size:14px;display:block}
.vrow small{font-family:var(--f-body);font-size:11px;color:var(--t3)}
.vault ul{list-style:none;margin-top:22px}
.vault li{padding:14px 0;border-bottom:1px solid rgba(154,161,179,.2);display:flex;gap:12px}
.vault li svg{width:20px;height:20px;stroke:var(--accent-deep);fill:none;stroke-width:2;flex:none;margin-top:2px}
.vault li b{font-family:var(--f-head);font-size:15px}
.vault li span{display:block;color:var(--t2);font-size:14px;margin-top:1px}

/* CTA */
.cta{padding:clamp(46px,7vw,80px);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--nm-out);text-align:center;position:relative;overflow:hidden}
.cta h2{font-size:clamp(30px,5vw,54px)}
.cta h2 .g{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cta p{margin:16px auto 0;max-width:42ch;color:var(--t2);font-size:16px}
.cta .row{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* download section */
.dl{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:clamp(30px,5vw,54px)}
.dl__txt h2{font-size:clamp(26px,3.6vw,40px);margin-top:12px}
.dl__hint{margin-top:12px;color:var(--t2);font-size:15px}
.dl__hint b{color:var(--accent-deep)}
.dl__badges{display:flex;flex-direction:column;gap:14px}
.store{display:flex;align-items:center;gap:13px;background:var(--t1);color:#fff;padding:13px 22px;border-radius:16px;min-width:220px;border:2px solid transparent;transition:transform .2s var(--ease),box-shadow .25s}
.store svg{width:26px;height:26px;flex:none}
.store span{display:flex;flex-direction:column;line-height:1.1}
.store small{font-size:10.5px;opacity:.85}
.store b{font-family:var(--f-head);font-size:18px;font-weight:800;letter-spacing:-.02em}
.store:hover{transform:translateY(-2px)}
.store.detected{border-color:var(--accent);box-shadow:var(--glow)}
.store.dimmed{opacity:.45}

/* footer */
.foot{margin-top:90px;padding:56px 0 40px;background:#20242E;color:#EEF0F5;border-radius:36px 36px 0 0}
.foot__logo{display:inline-block;margin-bottom:24px}
.foot__logo img{height:66px}
.foot__grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:flex-end}
.foot p{color:#9DA4B8;font-size:14px;max-width:34ch}
.foot a.back{color:#B8BECC;font-size:14px;font-weight:600}.foot a.back:hover{color:#fff}
.foot__bar{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot .meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6A7187}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .nav__l{display:none}.burger{display:block}
  .hero__in{grid-template-columns:1fr;gap:44px}
  .feat{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .vault{grid-template-columns:1fr;gap:40px}
  .dl{grid-template-columns:1fr;gap:26px}
}
@media(max-width:520px){.store{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
