/* ===========================================================================
   Oscar — heyoscar.ca · identité « néon galaxie » (alignée sur l'app)
   ======================================================================== */
:root {
  --bg:#07051A; --bg-deep:#04021A;
  --purple:#7C5CFC; --purple-lt:#A78BFA; --violet:#6C3AED;
  --pink:#EC4899; --blue:#60A5FA; --cyan:#22D3EE; --green:#34D399;
  --text:#F0EEFF; --muted:#8B7FB8;
  --card:rgba(255,255,255,0.042); --card-bd:rgba(255,255,255,0.07);
  --glow:rgba(124,92,252,0.45);
  --grad-primary:linear-gradient(135deg,#5B3AE8,#7C5CFC,#9B6DFC);
  --grad-accent:linear-gradient(135deg,#60A5FA,#A78BFA,#EC4899);
  --grad-text:linear-gradient(135deg,#A78BFA,#EC4899);
  --maxw:1080px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body {
  position:relative;
  margin:0; font-family:"Outfit",system-ui,sans-serif; color:var(--text);
  background:
    radial-gradient(110% 70% at 50% -10%, rgba(124,92,252,.22), transparent 55%),
    radial-gradient(80% 55% at 85% 5%, rgba(236,72,153,.14), transparent 60%),
    var(--bg);
  line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* champ d'étoiles */
#stars-canvas {
  position:absolute; top:0; left:0; width:100%; pointer-events:none; z-index:0;
}
.stars {
  position:fixed; top:0; left:0; width:1px; height:1px; border-radius:50%;
  background:transparent; z-index:0; pointer-events:none; display:none;
  box-shadow:1310px 115px rgba(255,255,255,0.4), 1519px 282px rgba(255,255,255,0.6), 458px 143px rgba(255,255,255,0.4), 1386px 759px rgba(255,255,255,0.4), 1210px 433px rgba(255,255,255,0.4), 62px 96px rgba(255,255,255,0.6), 477px 518px rgba(255,255,255,0.4), 1150px 204px rgba(255,255,255,1.0), 452px 460px rgba(255,255,255,0.8), 14px 778px rgba(255,255,255,0.6), 1430px 433px rgba(255,255,255,0.8), 570px 160px rgba(255,255,255,0.6), 1564px 345px rgba(255,255,255,0.4), 190px 390px rgba(255,255,255,0.4), 736px 868px rgba(255,255,255,0.8), 1237px 271px rgba(255,255,255,0.4), 1495px 471px rgba(255,255,255,0.4), 776px 81px rgba(255,255,255,0.8), 1288px 634px rgba(255,255,255,0.8), 1183px 197px rgba(255,255,255,0.4), 94px 678px rgba(255,255,255,0.6), 1584px 297px rgba(255,255,255,0.4), 477px 888px rgba(255,255,255,0.4), 779px 285px rgba(255,255,255,1.0), 1302px 855px rgba(255,255,255,0.8), 334px 380px rgba(255,255,255,0.8), 430px 687px rgba(255,255,255,0.8), 1438px 700px rgba(255,255,255,0.4), 1248px 651px rgba(255,255,255,0.6), 1094px 747px rgba(255,255,255,0.6), 335px 474px rgba(255,255,255,1.0), 553px 656px rgba(255,255,255,0.6), 1403px 333px rgba(255,255,255,0.4), 470px 842px rgba(255,255,255,0.4), 647px 411px rgba(255,255,255,0.8), 136px 217px rgba(255,255,255,0.8), 436px 672px rgba(255,255,255,1.0), 811px 659px rgba(255,255,255,1.0), 293px 272px rgba(255,255,255,0.6), 506px 763px rgba(255,255,255,0.8), 1530px 599px rgba(255,255,255,1.0), 1196px 409px rgba(255,255,255,0.8), 450px 142px rgba(255,255,255,1.0), 187px 774px rgba(255,255,255,0.4), 225px 157px rgba(255,255,255,0.6), 1394px 433px rgba(255,255,255,0.4), 789px 391px rgba(255,255,255,1.0), 1084px 258px rgba(255,255,255,0.4), 1394px 739px rgba(255,255,255,0.4), 1397px 550px rgba(255,255,255,0.8), 1575px 657px rgba(255,255,255,0.8), 229px 301px rgba(255,255,255,1.0), 324px 465px rgba(255,255,255,0.4), 1479px 897px rgba(255,255,255,0.8), 1026px 781px rgba(255,255,255,0.6), 1040px 109px rgba(255,255,255,0.8), 1309px 520px rgba(255,255,255,0.6), 314px 383px rgba(255,255,255,0.6), 1105px 798px rgba(255,255,255,0.4), 1227px 332px rgba(255,255,255,1.0), 40px 115px rgba(255,255,255,0.8), 630px 246px rgba(255,255,255,0.4), 494px 900px rgba(255,255,255,0.4), 176px 750px rgba(255,255,255,1.0), 142px 779px rgba(255,255,255,0.6), 263px 676px rgba(255,255,255,1.0), 1126px 170px rgba(255,255,255,0.8), 1081px 894px rgba(255,255,255,1.0), 434px 553px rgba(255,255,255,0.6), 1461px 320px rgba(255,255,255,1.0), 1376px 666px rgba(255,255,255,0.8), 898px 530px rgba(255,255,255,1.0), 248px 254px rgba(255,255,255,0.6), 132px 347px rgba(255,255,255,0.4), 1205px 568px rgba(255,255,255,0.6), 1206px 226px rgba(255,255,255,0.4), 146px 725px rgba(255,255,255,0.4), 469px 70px rgba(255,255,255,0.4), 677px 73px rgba(255,255,255,0.6), 571px 686px rgba(255,255,255,1.0), 439px 553px rgba(255,255,255,0.6), 1482px 585px rgba(255,255,255,1.0), 498px 804px rgba(255,255,255,1.0), 834px 195px rgba(255,255,255,0.4), 199px 675px rgba(255,255,255,1.0), 726px 434px rgba(255,255,255,1.0), 957px 885px rgba(255,255,255,0.4), 1380px 670px rgba(255,255,255,0.4), 125px 413px rgba(255,255,255,0.8), 224px 255px rgba(255,255,255,0.6), 390px 550px rgba(255,255,255,1.0), 288px 433px rgba(255,255,255,0.6), 571px 474px rgba(255,255,255,0.6), 155px 454px rgba(255,255,255,0.4), 104px 668px rgba(255,255,255,0.4), 192px 772px rgba(255,255,255,0.6), 341px 417px rgba(255,255,255,1.0), 986px 219px rgba(255,255,255,1.0), 121px 169px rgba(255,255,255,1.0), 5px 400px rgba(255,255,255,0.8), 932px 293px rgba(255,255,255,1.0), 1427px 749px rgba(255,255,255,1.0), 318px 195px rgba(255,255,255,0.8), 446px 60px rgba(255,255,255,0.4), 1532px 322px rgba(255,255,255,0.4), 103px 599px rgba(255,255,255,1.0), 1030px 874px rgba(255,255,255,0.6), 117px 521px rgba(255,255,255,0.4), 381px 71px rgba(255,255,255,0.4), 1383px 883px rgba(255,255,255,0.6), 827px 123px rgba(255,255,255,0.6), 1186px 609px rgba(255,255,255,0.4), 1269px 84px rgba(255,255,255,1.0), 1347px 598px rgba(255,255,255,0.8), 535px 210px rgba(255,255,255,0.8), 489px 272px rgba(255,255,255,1.0), 269px 688px rgba(255,255,255,0.8), 937px 324px rgba(255,255,255,0.4), 20px 470px rgba(255,255,255,0.4), 151px 551px rgba(255,255,255,0.6), 1037px 272px rgba(255,255,255,0.6), 715px 71px rgba(255,255,255,0.6), 757px 292px rgba(255,255,255,0.6), 898px 854px rgba(255,255,255,0.8), 1253px 827px rgba(255,255,255,0.4), 1368px 837px rgba(255,255,255,0.8), 1359px 107px rgba(255,255,255,0.6), 542px 119px rgba(255,255,255,0.4), 1521px 567px rgba(255,255,255,0.6), 558px 289px rgba(255,255,255,0.6), 1470px 352px rgba(255,255,255,0.6), 1408px 650px rgba(255,255,255,0.8), 1036px 501px rgba(255,255,255,0.8), 105px 95px rgba(255,255,255,1.0), 567px 46px rgba(255,255,255,0.4), 684px 790px rgba(255,255,255,0.6), 1305px 269px rgba(255,255,255,0.6), 1519px 453px rgba(255,255,255,1.0), 1149px 10px rgba(255,255,255,0.4), 155px 708px rgba(255,255,255,0.6), 1118px 37px rgba(255,255,255,0.8), 1193px 566px rgba(255,255,255,0.6), 881px 131px rgba(255,255,255,0.4), 632px 374px rgba(255,255,255,0.4), 733px 216px rgba(255,255,255,0.6), 1366px 106px rgba(255,255,255,0.8), 1598px 574px rgba(255,255,255,1.0), 1272px 768px rgba(255,255,255,0.6), 485px 886px rgba(255,255,255,0.6), 363px 423px rgba(255,255,255,0.4);
  animation:twinkle 5s ease-in-out infinite;
}
.stars::after {
  content:""; position:fixed; top:0; left:0; width:1px; height:1px; border-radius:50%;
  background:transparent; pointer-events:none; opacity:.6;
  box-shadow:828px 390px rgba(255,255,255,0.2), 1228px 184px rgba(255,255,255,0.2), 509px 137px rgba(255,255,255,0.2), 515px 747px rgba(255,255,255,0.35), 1088px 701px rgba(255,255,255,0.5), 1104px 92px rgba(255,255,255,0.5), 1003px 205px rgba(255,255,255,0.35), 1480px 628px rgba(255,255,255,0.5), 444px 812px rgba(255,255,255,0.35), 795px 883px rgba(255,255,255,0.5), 436px 156px rgba(255,255,255,0.35), 1353px 184px rgba(255,255,255,0.5), 694px 85px rgba(255,255,255,0.5), 1083px 694px rgba(255,255,255,0.2), 961px 324px rgba(255,255,255,0.35), 88px 276px rgba(255,255,255,0.5), 16px 436px rgba(255,255,255,0.2), 743px 548px rgba(255,255,255,0.2), 947px 532px rgba(255,255,255,0.2), 1241px 474px rgba(255,255,255,0.2), 733px 133px rgba(255,255,255,0.2), 1465px 165px rgba(255,255,255,0.5), 905px 610px rgba(255,255,255,0.2), 1031px 677px rgba(255,255,255,0.2), 76px 113px rgba(255,255,255,0.2), 351px 486px rgba(255,255,255,0.5), 859px 84px rgba(255,255,255,0.35), 1295px 89px rgba(255,255,255,0.2), 635px 633px rgba(255,255,255,0.2), 781px 338px rgba(255,255,255,0.2), 1072px 416px rgba(255,255,255,0.2), 114px 656px rgba(255,255,255,0.2), 908px 264px rgba(255,255,255,0.5), 828px 845px rgba(255,255,255,0.2), 725px 712px rgba(255,255,255,0.35), 115px 135px rgba(255,255,255,0.5), 1472px 615px rgba(255,255,255,0.5), 309px 623px rgba(255,255,255,0.35), 255px 99px rgba(255,255,255,0.2), 295px 304px rgba(255,255,255,0.2), 364px 420px rgba(255,255,255,0.2), 426px 575px rgba(255,255,255,0.35), 1579px 512px rgba(255,255,255,0.2), 528px 121px rgba(255,255,255,0.35), 381px 695px rgba(255,255,255,0.2), 1027px 295px rgba(255,255,255,0.2), 1200px 853px rgba(255,255,255,0.2), 692px 222px rgba(255,255,255,0.35), 818px 345px rgba(255,255,255,0.35), 791px 425px rgba(255,255,255,0.35), 1095px 95px rgba(255,255,255,0.2), 77px 382px rgba(255,255,255,0.5), 817px 790px rgba(255,255,255,0.35), 472px 319px rgba(255,255,255,0.5), 463px 670px rgba(255,255,255,0.5), 637px 109px rgba(255,255,255,0.5), 1477px 322px rgba(255,255,255,0.2), 1565px 829px rgba(255,255,255,0.5), 1381px 729px rgba(255,255,255,0.2), 786px 304px rgba(255,255,255,0.35), 1540px 83px rgba(255,255,255,0.35), 863px 263px rgba(255,255,255,0.2), 1031px 301px rgba(255,255,255,0.5), 657px 808px rgba(255,255,255,0.35), 1093px 131px rgba(255,255,255,0.35), 883px 298px rgba(255,255,255,0.35), 1349px 847px rgba(255,255,255,0.5), 327px 290px rgba(255,255,255,0.35), 1390px 695px rgba(255,255,255,0.5), 1268px 683px rgba(255,255,255,0.5), 902px 200px rgba(255,255,255,0.35), 690px 203px rgba(255,255,255,0.35), 9px 684px rgba(255,255,255,0.35), 1423px 303px rgba(255,255,255,0.2), 1362px 684px rgba(255,255,255,0.2), 1311px 268px rgba(255,255,255,0.5), 854px 761px rgba(255,255,255,0.5), 474px 419px rgba(255,255,255,0.35), 1345px 410px rgba(255,255,255,0.2), 231px 514px rgba(255,255,255,0.5), 415px 2px rgba(255,255,255,0.5), 636px 689px rgba(255,255,255,0.5), 343px 524px rgba(255,255,255,0.35), 421px 271px rgba(255,255,255,0.5), 1514px 427px rgba(255,255,255,0.35), 1148px 544px rgba(255,255,255,0.5), 1270px 787px rgba(255,255,255,0.5), 1567px 621px rgba(255,255,255,0.35), 411px 757px rgba(255,255,255,0.2), 216px 826px rgba(255,255,255,0.35), 155px 595px rgba(255,255,255,0.2), 120px 427px rgba(255,255,255,0.35), 757px 571px rgba(255,255,255,0.5), 1456px 603px rgba(255,255,255,0.5), 605px 199px rgba(255,255,255,0.2), 809px 409px rgba(255,255,255,0.2), 543px 472px rgba(255,255,255,0.35), 264px 899px rgba(255,255,255,0.2), 915px 889px rgba(255,255,255,0.5), 1438px 399px rgba(255,255,255,0.35);
  animation:twinkle 7s ease-in-out infinite reverse;
}
@keyframes twinkle { 0%,100%{opacity:.35;} 50%{opacity:.9;} }

/* nav */
.nav { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.85rem clamp(1.1rem,4vw,2.4rem);
  background:rgba(7,5,26,.72); backdrop-filter:blur(14px); border-bottom:1px solid var(--card-bd); }
.brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--text); }
.brand-mark { display:inline-block; width:36px; height:36px; border-radius:8px; overflow:hidden;
  box-shadow:0 0 12px var(--glow); flex-shrink:0; }
.brand-mark img { width:36px; height:36px; display:block; object-fit:cover; }
.brand-name { font-weight:800; font-size:1.3rem; letter-spacing:.2px; }
.nav-links { display:flex; gap:clamp(.7rem,2.5vw,1.6rem); }
.nav-links a { color:var(--muted); text-decoration:none; font-weight:600; font-size:.95rem;
  padding:.3rem 0; border-bottom:2px solid transparent; transition:.2s; }
.nav-links a:hover { color:var(--purple-lt); border-color:var(--purple); }
.nav-cta { background:var(--grad-primary); color:#fff !important; border:none !important;
  padding:.4rem 1rem !important; border-radius:50px !important; font-weight:700 !important;
  font-size:.85rem !important; box-shadow:0 0 14px var(--glow); transition:opacity .2s; }
.nav-cta:hover { opacity:.85; border-color:transparent !important; }

/* hero */
.hero { position:relative; z-index:2; max-width:var(--maxw); margin:0 auto;
  padding:clamp(2rem,6vw,4rem) clamp(1.1rem,4vw,2.4rem) clamp(1.5rem,4vw,2.5rem); text-align:center; }
.lockup { display:flex; flex-direction:column; align-items:center; gap:.45rem; margin-bottom:.4rem;
  animation:pop .9s cubic-bezier(.2,.8,.2,1) both; }
.hero-icon { width:clamp(210px,40vw,340px); height:auto; aspect-ratio:1/1;
  border-radius:22%; overflow:hidden;
  filter:drop-shadow(0 16px 50px rgba(124,92,252,.45)); }
.hero-wordmark { font-weight:900; font-size:clamp(2rem,6.5vw,3.2rem); letter-spacing:.5px; margin:0;
  color:#fff; text-shadow:0 0 26px rgba(124,92,252,.6), 0 0 10px rgba(236,72,153,.4); }
.hero .eyebrow { animation:rise .8s .05s ease both; }
.hero h1 { font-weight:900; font-size:clamp(2.4rem,7.5vw,4.4rem); line-height:1.04;
  margin:.3rem auto .2rem; max-width:16ch; letter-spacing:-.5px; animation:rise .8s .12s ease both; }
.grad { background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .lead { color:var(--muted); font-size:clamp(1.05rem,2.4vw,1.28rem); max-width:54ch;
  margin:2.2rem auto 0; animation:rise .8s .2s ease both; }
.cta-row { margin-top:2.2rem; display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap;
  animation:rise .8s .28s ease both; }
.btn { display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  padding:.9rem 1.5rem; border-radius:50px; font-weight:700; font-size:1rem; transition:transform .15s,box-shadow .2s; }
.btn-primary { background:var(--grad-primary); color:#fff; box-shadow:0 12px 34px var(--glow); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 44px var(--glow); }
.btn-ghost { border:1px solid rgba(255,255,255,.11); color:var(--purple-lt); }
.btn-ghost:hover { border-color:var(--purple); color:#fff; }
.eyebrow { text-transform:uppercase; letter-spacing:.22em; font-size:.74rem; font-weight:800;
  background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; margin:0; }

/* cartes */
.cards { position:relative; z-index:2; max-width:var(--maxw); margin:1rem auto 4rem;
  padding:0 clamp(1.1rem,4vw,2.4rem); display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media (max-width:680px){ .cards { grid-template-columns:1fr; } }
@media (max-width:600px){ .nav-links a:not(.nav-cta) { display:none; } }
.card { display:block; text-decoration:none; color:var(--text); background:var(--card);
  border:1px solid var(--card-bd); border-radius:16px; padding:1.6rem 1.5rem; transition:.22s; }
.card:hover { border-color:var(--purple); transform:translateY(-3px); box-shadow:0 14px 40px rgba(124,92,252,.22); }
.card h3 { font-weight:800; font-size:1.35rem; margin:.3rem 0 .4rem; }
.card p { color:var(--muted); margin:0; font-size:.98rem; }
.card .arrow { color:var(--pink); font-weight:800; }

/* pages légales */
.legal { position:relative; z-index:2; max-width:var(--maxw); margin:0 auto;
  padding:clamp(2.2rem,6vw,3.6rem) clamp(1.1rem,4vw,2.4rem) 2rem; }
.legal-head { border-bottom:1px solid var(--card-bd); padding-bottom:1.5rem; margin-bottom:2rem; }
.legal-head h1 { font-weight:900; letter-spacing:-.5px; font-size:clamp(2rem,6vw,3.1rem); line-height:1.05; margin:.5rem 0 .6rem; }
.legal-sub { color:var(--muted); margin:0; font-size:.98rem; }
.legal-grid { display:grid; grid-template-columns:240px 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; }
@media (max-width:860px){ .legal-grid { grid-template-columns:1fr; } }
.toc { position:sticky; top:90px; }
@media (max-width:860px){ .toc { position:static; } }
.toc summary { font-weight:800; font-size:1.02rem; cursor:pointer; color:var(--purple-lt); margin-bottom:.6rem; }
.toc ol { list-style:none; margin:.4rem 0 0; padding:0; font-size:.9rem; }
.toc li { margin:.15rem 0; }
.toc a { color:var(--muted); text-decoration:none; display:block; padding:.28rem .55rem; border-radius:8px;
  border-left:2px solid transparent; transition:.18s; }
.toc a:hover { color:var(--text); background:var(--card); border-color:var(--purple); }
.prose { max-width:70ch; }
.prose h2 { font-weight:800; font-size:clamp(1.3rem,3vw,1.65rem); margin:2.4rem 0 .7rem; line-height:1.2; }
.prose h2:first-child { margin-top:0; }
.prose h3 { font-weight:700; font-size:1.1rem; margin:1.5rem 0 .4rem; color:var(--purple-lt); }
.prose p, .prose li { color:#ded6f5; }
.prose p { margin:.7rem 0; }
.prose ul { margin:.6rem 0; padding-left:1.1rem; }
.prose li { margin:.35rem 0; }
.prose li::marker { color:var(--pink); }
.prose strong { color:#fff; font-weight:700; }
.prose a { color:var(--purple-lt); }
.prose blockquote { margin:1.1rem 0; padding:.9rem 1.2rem; border-left:3px solid var(--pink);
  background:var(--card); border-radius:0 12px 12px 0; color:var(--muted); font-style:italic; }
.table-wrap { overflow-x:auto; margin:1.1rem 0; border:1px solid var(--card-bd); border-radius:12px; }
table { border-collapse:collapse; width:100%; font-size:.92rem; min-width:520px; }
th,td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--card-bd); vertical-align:top; }
th { background:rgba(124,92,252,.12); font-weight:700; color:var(--text); }
tr:last-child td { border-bottom:none; }
mark.todo { background:rgba(124,92,252,.16); color:var(--purple-lt);
  border:1px dashed rgba(236,72,153,.55); border-radius:6px; padding:0 .35em; font-size:.92em; font-style:normal; }

/* boutons de téléchargement */
.store-center { display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:36vh; padding:2rem 1rem; gap:.8rem; }
.store-row { display:flex; flex-direction:column; gap:.6rem; align-items:center;
  animation:rise .8s .28s ease both; }
.store-badge { display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; transition:transform .2s ease, opacity .2s ease;
  height:64px; width:200px; }
.store-badge:hover { transform:translateY(-3px); opacity:.85; }
.store-or { color:rgba(255,255,255,0.3); font-size:.85rem; font-weight:500;
  letter-spacing:.05em; line-height:1; flex-shrink:0; }
.store-badge img { display:block; height:64px; width:200px; object-fit:contain; }
/* Google Play a ~18% de whitespace intégré — on compense avec scale */
.store-badge-google img { height:78px; width:244px; margin:-7px -22px; }
.store-btn { display:inline-flex; align-items:center; gap:.9rem; text-decoration:none;
  padding:1.1rem 2.8rem; border-radius:16px; width:260px; box-sizing:border-box;
  transition:transform .2s ease, box-shadow .2s ease;
  background:#0d0a24; border:1px solid rgba(255,255,255,.14); color:var(--text); transition:transform .15s,border-color .2s,box-shadow .2s; }
.store-apple { background:#000; border-color:rgba(255,255,255,0.25); color:#fff; }
.store-apple:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(0,0,0,.6); border-color:rgba(255,255,255,0.5); }
.store-google { background:#000; border-color:rgba(255,255,255,0.25); color:#fff; }
.store-google:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(0,0,0,.6); border-color:rgba(255,255,255,0.5); }
.store-btn span { display:flex; flex-direction:column; line-height:1.15; font-weight:700; font-size:1.3rem; text-align:left; color:#fff; }
.store-btn small { font-weight:400; font-size:.72rem; text-transform:none; letter-spacing:.01em; color:rgba(255,255,255,0.85); margin-bottom:1px; }
.store-divider { width:120px; height:2px; background:linear-gradient(90deg, transparent, rgba(124,92,252,0.6), transparent);
  margin:3rem auto 2.5rem; border-radius:2px; }
.store-header { font-size:1.15rem; font-weight:700; color:var(--text); text-align:center;
  margin:0; letter-spacing:.01em; }
.store-subheader { text-align:center; margin:0; }
.store-subheader span { color:var(--purple-lt); font-weight:500; font-size:1rem; }
.store-note { color:var(--muted); font-size:.86rem; margin:1rem 0 0; animation:rise .8s .34s ease both; }

/* comment ça marche */
.steps-divider { width:120px; height:2px; background:linear-gradient(90deg, transparent, rgba(124,92,252,0.6), transparent);
  margin:0 auto 4rem; border-radius:2px; }
.steps-oscar { position:absolute; top:-5px; right:28%;
  width:110px; height:110px; object-fit:contain;
  filter:drop-shadow(0 6px 18px rgba(124,92,252,.4)); pointer-events:none; }
@media (max-width:700px) {
  .steps-oscar { top:2px; right:7%; width:85px; height:85px; transform:none; }
}
.steps { position:relative; z-index:2; max-width:var(--maxw); margin:1rem auto 4rem;
  padding:3rem clamp(1.1rem,4vw,2.4rem) 0; text-align:center; }
.steps > h2 { font-weight:900; font-size:clamp(1.6rem,4vw,2.3rem); margin:0 0 2rem; letter-spacing:-.5px; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
@media (max-width:680px){ .steps-grid { grid-template-columns:1fr; } }
.step { background:var(--card); border:1px solid var(--card-bd); border-radius:16px; padding:1.8rem 1.4rem; transition:.22s; }
.step:hover { border-color:var(--purple); transform:translateY(-3px); box-shadow:0 14px 40px rgba(124,92,252,.2); }
.step-num { display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; background:var(--grad-primary);
  color:#fff; font-size:.85rem; font-weight:900; margin-bottom:.6rem;
  box-shadow:0 0 12px var(--glow); }
.step-emoji { font-size:2rem; display:block; margin-bottom:.6rem; }
.step-label { text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; font-weight:800; color:var(--pink); margin:0 0 .35rem; }
.step h3 { font-weight:800; font-size:1.2rem; margin:0 0 .35rem; }
.step p { color:var(--muted); margin:0; font-size:.97rem; }

/* footer */
.footer { position:relative; z-index:2; text-align:center; border-top:1px solid var(--card-bd);
  margin-top:3rem; padding:clamp(2.2rem,6vw,3.4rem) 1.2rem 3rem; }
.footer-mark { display:inline-block; width:52px; height:52px; border-radius:22%; margin:0 auto 1rem;
  overflow:hidden; box-shadow:0 0 20px var(--glow); }
.footer-mark img { width:52px; height:52px; display:block; object-fit:cover; }
.footer-tag { font-style:italic; font-weight:600; font-size:1.2rem; margin:0 0 1rem; }
.footer-links { display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; margin-bottom:1rem; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:.92rem; }
.footer-links a:hover { color:var(--purple-lt); }
.footer-fine { color:#6b6388; font-size:.82rem; margin:0; }

@keyframes rise { from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;} }
@keyframes pop { 0%{opacity:0; transform:scale(.7);} 60%{opacity:1; transform:scale(1.05);} 100%{transform:scale(1);} }
@media (prefers-reduced-motion:reduce){ *{animation:none!important; transition:none!important;} }
a:focus-visible, summary:focus-visible { outline:2px solid var(--purple); outline-offset:3px; border-radius:6px; }
