/* DoNote — accueil v2. Langage visuel DoBox : orbites, brume turquoise, grands titres, boutons dégradés. 100 % CSS, aucun asset tiers. */
:root{--ink:#0B1220;--ink2:#334155;--mute:#64748B;--paper:#F6FAFA;--card:rgba(255,255,255,.72);--line:rgba(15,23,42,.08);
--teal:#2DD4BF;--teal2:#0F766E;--indigo:#4F46E5;--violet:#7C3AED;--glow:rgba(45,212,191,.28);--shadow:0 30px 80px -30px rgba(15,23,42,.35)}
:root[data-theme=dark]{--ink:#F1F5F9;--ink2:#CBD5E1;--mute:#94A3B8;--paper:#070B14;--card:rgba(20,27,46,.66);--line:rgba(255,255,255,.08);--glow:rgba(45,212,191,.18);--shadow:0 30px 90px -30px rgba(0,0,0,.8)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#F1F5F9;--ink2:#CBD5E1;--mute:#94A3B8;--paper:#070B14;--card:rgba(20,27,46,.66);--line:rgba(255,255,255,.08);--glow:rgba(45,212,191,.18);--shadow:0 30px 90px -30px rgba(0,0,0,.8)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.v2{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Inter","Noto Sans",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.v2 a{color:inherit}.v2 a:focus-visible,.v2 button:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:10px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--card);padding:8px 12px;z-index:50}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
/* brume */
.mist{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.mist i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 26s ease-in-out infinite alternate}
.mist i:nth-child(1){width:60vw;height:60vw;left:-15vw;top:-20vw;background:radial-gradient(circle,#99F6E4,transparent 65%)}
.mist i:nth-child(2){width:50vw;height:50vw;right:-18vw;top:10vh;background:radial-gradient(circle,#C7D2FE,transparent 65%);animation-delay:-8s}
.mist i:nth-child(3){width:45vw;height:45vw;left:20vw;bottom:-25vw;background:radial-gradient(circle,#FDE68A,transparent 70%);opacity:.3;animation-delay:-14s}
:root[data-theme=dark] .mist i{opacity:.22}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mist i{opacity:.22}}
@keyframes drift{to{transform:translate3d(4vw,3vh,0) scale(1.08)}}
/* header */
.hd{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);background:color-mix(in srgb,var(--paper) 70%,transparent);border-bottom:1px solid var(--line)}
.hd .w{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.15rem;text-decoration:none;letter-spacing:-.01em}
.brand img{border-radius:9px;box-shadow:0 4px 14px -4px rgba(79,70,229,.5)}
.hd nav{margin-left:auto}.hd nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.hd nav a{display:block;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink2);font-size:.95rem;font-weight:500}
.hd nav a:hover{background:var(--line);color:var(--ink)}
.tt{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:1rem}
@media (max-width:820px){.hd nav{display:none}.tt{margin-left:auto}}
/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:16px;font-weight:650;text-decoration:none;font-size:1rem;border:0;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.btn-grad{color:#fff!important;background:linear-gradient(100deg,#5EEAD4 0%,#14B8A6 45%,#0F766E 100%);box-shadow:0 14px 34px -12px rgba(15,118,110,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-grad:hover{transform:translateY(-2px);box-shadow:0 20px 44px -14px rgba(15,118,110,.7)}
.btn-soft{background:var(--card);border:1px solid var(--line);color:var(--ink)!important;backdrop-filter:blur(10px)}
.btn-soft:hover{transform:translateY(-2px)}
.btn[aria-disabled=true]{cursor:default}
/* hero */
.hero{position:relative;padding:72px 0 40px;min-height:min(92vh,880px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px}
@media (max-width:920px){.hero{grid-template-columns:1fr;text-align:center;padding-top:40px}.hero .ctas,.hero .meta{justify-content:center}.hero .lead{margin-inline:auto}}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.85rem;font-weight:600;color:var(--ink2);backdrop-filter:blur(10px)}
.pill b{background:linear-gradient(100deg,#2DD4BF,#4F46E5);color:#fff;border-radius:999px;padding:2px 9px;font-size:.75rem;letter-spacing:.03em}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.9rem);line-height:.98;letter-spacing:-.045em;font-weight:820;margin:22px 0 22px}
.hero h1 .g{background:linear-gradient(100deg,#14B8A6 0%,#4F46E5 55%,#7C3AED 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(1.08rem,1.6vw,1.28rem);color:var(--ink2);max-width:36ch;margin:0 0 30px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:var(--mute);font-size:.9rem;list-style:none;padding:0}
.meta li::before{content:"✓ ";color:var(--teal2);font-weight:700}
/* scène téléphone + orbites */
.stage{position:relative;display:grid;place-items:center;aspect-ratio:1/1.08;max-width:560px;width:100%;margin:0 auto}
.orb{position:absolute;border:1px solid color-mix(in srgb,var(--teal) 30%,transparent);border-radius:50%;inset:var(--i);animation:spin var(--d) linear infinite}
.orb::after{content:"";position:absolute;top:50%;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 18px 4px var(--glow)}
.orb.o1{--i:2%;--d:48s}.orb.o2{--i:14%;--d:34s;animation-direction:reverse}.orb.o2::after{background:#818CF8;box-shadow:0 0 18px 4px rgba(129,140,248,.4)}.orb.o3{--i:26%;--d:26s}
@keyframes spin{to{transform:rotate(1turn)}}
.halo{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 68%);filter:blur(10px)}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(14px);font-size:.85rem;font-weight:600;animation:float 7s ease-in-out infinite}
.chip span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:.9rem}
.chip.c1{left:0;top:18%}.chip.c1 span{background:#CCFBF1}.chip.c2{right:-2%;top:46%;animation-delay:-2.5s}.chip.c2 span{background:#E0E7FF}.chip.c3{left:6%;bottom:12%;animation-delay:-4.5s}.chip.c3 span{background:#FEF3C7}
@keyframes float{50%{transform:translateY(-10px)}}
@media (max-width:520px){.chip{display:none}}
/* cadre téléphone (CSS) */
.phone{--pw:280px;position:relative;z-index:2;width:var(--pw);border-radius:calc(var(--pw)*.14);padding:calc(var(--pw)*.09) calc(var(--pw)*.035) calc(var(--pw)*.06);background:linear-gradient(145deg,#1E293B,#0B1220 60%,#334155);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 50px 100px -40px rgba(15,23,42,.65),0 18px 40px -20px rgba(15,118,110,.45)}
.phone::before{content:"";position:absolute;top:calc(var(--pw)*.038);left:50%;transform:translateX(-50%);width:22%;height:calc(var(--pw)*.022);border-radius:999px;background:#05070C;box-shadow:0 0 0 1px rgba(255,255,255,.06);z-index:3}
.phone .scr{position:relative;width:100%;aspect-ratio:var(--ar,480/1098);border-radius:calc(var(--pw)*.05);overflow:hidden;background:#F1F5F9}
.phone video,.phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.phone .scr::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 35%);pointer-events:none}
.hero .phone{--pw:clamp(230px,24vw,300px)}
.real{position:absolute;z-index:4;bottom:-34px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.75rem;color:var(--mute);display:flex;gap:6px;align-items:center}
.real::before{content:"";width:7px;height:7px;border-radius:50%;background:#EF4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
/* sections */
section.s{padding:110px 0}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal2)}
:root[data-theme=dark] .eyebrow{color:var(--teal)}
.s h2{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.04;letter-spacing:-.035em;font-weight:800;margin:12px 0 18px;max-width:18ch}
.s p.sub{color:var(--ink2);font-size:1.15rem;max-width:56ch;margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev>:first-child{order:2}
@media (max-width:920px){.split{grid-template-columns:1fr;gap:48px}.split.rev>:first-child{order:0}section.s{padding:72px 0}}
.feat{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.feat li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--line);backdrop-filter:blur(10px)}
.feat i{font-style:normal;flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(140deg,#CCFBF1,#E0E7FF);font-size:1.1rem}
.feat b{display:block;font-weight:700}.feat small{color:var(--mute);font-size:.92rem}
.duo{position:relative;display:flex;justify-content:center;gap:0;min-height:560px}
.duo .phone{--pw:clamp(200px,20vw,250px)}
.duo .phone:nth-child(1){transform:rotate(-6deg) translate(28px,22px)}
.duo .phone:nth-child(2){transform:rotate(5deg) translate(-28px,-10px);z-index:3}
.duo .real{bottom:-6px}
/* bande types */
.types{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.types span{padding:9px 15px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:600;font-size:.92rem}
/* galerie */
.gal{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 24px 50px;margin:40px -24px 0;scrollbar-width:none}
.gal::-webkit-scrollbar{display:none}
.gal figure{flex:none;margin:0;scroll-snap-align:center;text-align:center}
.gal .phone{--pw:230px}
.gal figcaption{margin-top:16px;font-size:.9rem;color:var(--mute);font-weight:500}
/* bloc données */
.trust{border-radius:32px;padding:clamp(28px,5vw,64px);background:linear-gradient(140deg,rgba(45,212,191,.14),rgba(79,70,229,.12));border:1px solid var(--line);position:relative;overflow:hidden}
.trust .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
@media (max-width:820px){.trust .grid3{grid-template-columns:1fr}}
.trust .grid3 div{padding:22px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.trust h3{margin:0 0 6px;font-size:1.08rem}.trust p{margin:0;color:var(--ink2);font-size:.97rem}
/* CTA finale */
.final{text-align:center;padding:120px 0 100px;position:relative}
.final h2{margin-inline:auto;max-width:16ch}
.final .ctas{justify-content:center;margin-top:30px}
.fam{margin-top:60px;color:var(--mute);font-size:.92rem}
.fam a{color:var(--ink2);font-weight:600}
footer.ft{border-top:1px solid var(--line);padding:34px 0 48px;color:var(--mute);font-size:.9rem}
footer.ft .w{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
footer.ft a{text-decoration:none;color:var(--ink2)}footer.ft a:hover{color:var(--ink)}
footer.ft .suite{margin-left:auto;opacity:.75}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
@media (max-width:600px){.duo{min-height:420px}.duo .phone{--pw:168px}.duo .phone:nth-child(1){transform:rotate(-5deg) translate(14px,16px)}.duo .phone:nth-child(2){transform:rotate(4deg) translate(-14px,-6px)}.duo .real{font-size:.68rem;bottom:-26px}.gal .phone{--pw:200px}}
/* v3 — maquette au ratio exact 412:892, écran entier visible */
.phone{--pw:280px;margin:0 0 40px;padding:calc(var(--pw)*.035);border-radius:calc(var(--pw)*.13)}
.phone::before{display:none}
.phone .scr{aspect-ratio:412/892;border-radius:calc(var(--pw)*.13 - var(--pw)*.035);background:#0F172A;transform:translateZ(0)}
.phone video,.phone img{width:100%;height:100%;object-fit:contain;object-position:center}
.phone .scr::after{background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 30%)}
.phone figcaption.real{bottom:-30px}
.hero .phone{--pw:clamp(240px,22vw,300px)}
.stage{aspect-ratio:auto;min-height:0;padding:20px 0 10px}
.show{display:flex;justify-content:center;min-width:0}
.show .phone{--pw:clamp(240px,22vw,300px)}
.pair{display:flex;gap:clamp(14px,3vw,32px);justify-content:center;align-items:flex-start}
.pair .phone{--pw:clamp(150px,19vw,260px)}
.pair .phone:nth-child(2){margin-top:48px}
.split>*{min-width:0}
@media (max-width:600px){.pair .phone{--pw:min(150px,42vw)}.pair .real{font-size:.64rem;white-space:normal;text-align:center;width:110%;justify-content:center;bottom:-34px}.pair .real::before{display:none}.stage .orb{display:none}}
/* v3.1 — bulles hors de l'écran du téléphone */
.hero .stage{--pw:clamp(240px,20vw,280px);max-width:640px}
.hero .stage .phone{--pw:inherit}
.chip{font-size:.8rem;padding:8px 11px;gap:7px;white-space:nowrap}
.chip span{width:22px;height:22px;font-size:.8rem}
.chip.c1,.chip.c3{left:auto;right:calc(50% + var(--pw)/2 + 10px)}
.chip.c2{right:auto;left:calc(50% + var(--pw)/2 + 10px)}
.chip.c1{top:16%}.chip.c2{top:44%}.chip.c3{top:auto;bottom:22%}
@media (max-width:640px){.chip{display:none}}
/* v3.2 — bulles : sur les côtés seulement s'il y a la place, sinon sous le téléphone (jamais rognées) */
@media (max-width:1400px){
.hero .stage{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:10px}
.hero .stage .phone{order:-1;flex:0 0 auto;margin:0 calc((100% - var(--pw))/2) 44px}
.hero .stage .chip{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;animation:none}
}
.v2 main{overflow-x:clip}
