/* mounib.ca : même style que sos.mounib.net (clair, halos doux, bordure dégradée animée) */
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{color-scheme:light;scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
body{min-height:100vh;color:#1c1f2e;background:#f5f6fb;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
a{color:inherit}
:focus-visible{outline:2px solid #8b5cf6;outline-offset:3px}
/* Fond */
.bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.bg>span{position:absolute}
.b1,.b2,.b3{border-radius:50%;filter:blur(80px)}
.b1{width:46vmax;height:46vmax;left:-14vmax;top:-16vmax;background:#93c5fd;opacity:.45;animation:f1 18s ease-in-out infinite alternate}
.b2{width:42vmax;height:42vmax;right:-12vmax;bottom:-14vmax;background:#c4b5fd;opacity:.5;animation:f2 22s ease-in-out infinite alternate}
.b3{width:26vmax;height:26vmax;left:58%;top:6%;background:#f9a8d4;opacity:.35;animation:f3 26s ease-in-out infinite alternate}
.grid{inset:0;background-image:linear-gradient(rgba(30,41,90,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,41,90,.06) 1px,transparent 1px);
 background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 15%,transparent 70%);animation:gm 20s linear infinite}
.dust{left:0;top:0;width:1px;height:1px;border-radius:50%}
.d1{box-shadow:663px 1941px 0 0px rgba(124,58,237,.35),808px 1333px 0 0px rgba(124,58,237,.35),148px 1681px 0 1px rgba(124,58,237,.35),192px 748px 0 1px rgba(124,58,237,.35),118px 1863px 0 1px rgba(124,58,237,.35),439px 76px 0 0px rgba(124,58,237,.35),888px 856px 0 0px rgba(124,58,237,.35),492px 185px 0 1px rgba(124,58,237,.35),869px 121px 0 1px rgba(124,58,237,.35),253px 1940px 0 0px rgba(124,58,237,.35),1291px 1284px 0 1px rgba(124,58,237,.35),1940px 126px 0 1px rgba(124,58,237,.35),1199px 812px 0 0px rgba(124,58,237,.35),1999px 452px 0 0px rgba(124,58,237,.35),1140px 1758px 0 0px rgba(124,58,237,.35),593px 858px 0 0px rgba(124,58,237,.35),1107px 241px 0 1px rgba(124,58,237,.35),631px 1147px 0 1px rgba(124,58,237,.35),370px 211px 0 1px rgba(124,58,237,.35),1169px 1308px 0 0px rgba(124,58,237,.35),762px 199px 0 1px rgba(124,58,237,.35),1458px 128px 0 1px rgba(124,58,237,.35),122px 1267px 0 0px rgba(124,58,237,.35),1016px 1393px 0 1px rgba(124,58,237,.35),875px 1591px 0 0px rgba(124,58,237,.35),953px 1199px 0 0px rgba(124,58,237,.35),740px 613px 0 0px rgba(124,58,237,.35),1626px 368px 0 1px rgba(124,58,237,.35),1597px 499px 0 0px rgba(124,58,237,.35),1176px 614px 0 1px rgba(124,58,237,.35),1013px 1792px 0 0px rgba(124,58,237,.35),1493px 919px 0 0px rgba(124,58,237,.35),1247px 149px 0 0px rgba(124,58,237,.35),1048px 856px 0 0px rgba(124,58,237,.35),1550px 700px 0 0px rgba(124,58,237,.35),1911px 1001px 0 0px rgba(124,58,237,.35),80px 1970px 0 1px rgba(124,58,237,.35),158px 1565px 0 1px rgba(124,58,237,.35),1173px 1616px 0 0px rgba(124,58,237,.35),696px 1423px 0 0px rgba(124,58,237,.35),1217px 1017px 0 1px rgba(124,58,237,.35),1632px 934px 0 0px rgba(124,58,237,.35),1720px 191px 0 0px rgba(124,58,237,.35),970px 1427px 0 1px rgba(124,58,237,.35),133px 124px 0 1px rgba(124,58,237,.35),1436px 634px 0 1px rgba(124,58,237,.35),1183px 1395px 0 0px rgba(124,58,237,.35),582px 1467px 0 0px rgba(124,58,237,.35),1816px 1369px 0 0px rgba(124,58,237,.35),46px 1926px 0 0px rgba(124,58,237,.35),727px 344px 0 1px rgba(124,58,237,.35),239px 1011px 0 0px rgba(124,58,237,.35),446px 1573px 0 0px rgba(124,58,237,.35),264px 1512px 0 0px rgba(124,58,237,.35),814px 800px 0 0px rgba(124,58,237,.35),165px 340px 0 0px rgba(124,58,237,.35),822px 1125px 0 0px rgba(124,58,237,.35),1809px 280px 0 0px rgba(124,58,237,.35),1769px 1126px 0 0px rgba(124,58,237,.35),1446px 850px 0 0px rgba(124,58,237,.35),1398px 1810px 0 0px rgba(124,58,237,.35),1961px 472px 0 0px rgba(124,58,237,.35),169px 360px 0 0px rgba(124,58,237,.35),475px 1348px 0 0px rgba(124,58,237,.35),24px 993px 0 1px rgba(124,58,237,.35),373px 538px 0 0px rgba(124,58,237,.35),8px 298px 0 0px rgba(124,58,237,.35),1094px 756px 0 1px rgba(124,58,237,.35),1159px 652px 0 0px rgba(124,58,237,.35),1414px 1759px 0 1px rgba(124,58,237,.35);opacity:.55;animation:up1 60s linear infinite}
.d2{box-shadow:1946px 1264px 0 1px rgba(37,99,235,.3),1384px 1515px 0 0px rgba(37,99,235,.3),935px 1842px 0 1px rgba(37,99,235,.3),1634px 1145px 0 0px rgba(37,99,235,.3),815px 817px 0 0px rgba(37,99,235,.3),212px 986px 0 1px rgba(37,99,235,.3),820px 127px 0 0px rgba(37,99,235,.3),137px 427px 0 0px rgba(37,99,235,.3),332px 225px 0 0px rgba(37,99,235,.3),1230px 107px 0 0px rgba(37,99,235,.3),0px 1160px 0 0px rgba(37,99,235,.3),1098px 207px 0 0px rgba(37,99,235,.3),1256px 52px 0 0px rgba(37,99,235,.3),1790px 425px 0 1px rgba(37,99,235,.3),770px 304px 0 1px rgba(37,99,235,.3),516px 1956px 0 0px rgba(37,99,235,.3),1233px 745px 0 0px rgba(37,99,235,.3),251px 236px 0 0px rgba(37,99,235,.3),954px 983px 0 0px rgba(37,99,235,.3),638px 175px 0 0px rgba(37,99,235,.3),209px 1535px 0 0px rgba(37,99,235,.3),1516px 542px 0 0px rgba(37,99,235,.3),1697px 1417px 0 0px rgba(37,99,235,.3),1057px 47px 0 0px rgba(37,99,235,.3),1947px 1949px 0 1px rgba(37,99,235,.3),740px 300px 0 1px rgba(37,99,235,.3),1112px 1872px 0 0px rgba(37,99,235,.3),1552px 1081px 0 0px rgba(37,99,235,.3),1316px 1768px 0 0px rgba(37,99,235,.3),1425px 1731px 0 0px rgba(37,99,235,.3),1061px 751px 0 0px rgba(37,99,235,.3),728px 1580px 0 0px rgba(37,99,235,.3),1090px 1109px 0 1px rgba(37,99,235,.3),675px 1303px 0 0px rgba(37,99,235,.3),1255px 1661px 0 0px rgba(37,99,235,.3),1650px 490px 0 0px rgba(37,99,235,.3),1515px 1645px 0 0px rgba(37,99,235,.3),409px 1060px 0 0px rgba(37,99,235,.3),728px 1497px 0 0px rgba(37,99,235,.3),57px 1618px 0 0px rgba(37,99,235,.3),967px 530px 0 0px rgba(37,99,235,.3),1418px 1239px 0 0px rgba(37,99,235,.3),915px 1655px 0 1px rgba(37,99,235,.3),715px 1955px 0 0px rgba(37,99,235,.3),164px 451px 0 0px rgba(37,99,235,.3),464px 962px 0 0px rgba(37,99,235,.3),691px 418px 0 0px rgba(37,99,235,.3),1278px 1843px 0 1px rgba(37,99,235,.3),1721px 3px 0 0px rgba(37,99,235,.3),1862px 1337px 0 0px rgba(37,99,235,.3);opacity:.4;animation:up1 90s linear infinite}
.d1::after,.d2::after{content:"";position:absolute;left:0;top:2000px;width:1px;height:1px;border-radius:50%;box-shadow:inherit}
@keyframes f1{to{transform:translate(14vmax,10vmax) scale(1.1)}}
@keyframes f2{to{transform:translate(-12vmax,-8vmax) scale(1.15)}}
@keyframes f3{to{transform:translate(-18vmax,22vmax) scale(.9)}}
@keyframes gm{to{background-position:48px 48px}}
@keyframes up1{to{transform:translateY(-2000px)}}


.wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left,0px)) 24px}
/* en-tête */
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;margin-bottom:18px}
.top::before{content:"";position:absolute;inset:0 -100vmax;background:rgba(245,246,251,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(30,41,90,.06);z-index:-1}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1c1f2e}
.logo{width:40px;height:40px;flex:none;border-radius:11px}
.bt{display:grid;line-height:1.1}
.bt b{font:700 1.15rem Georgia,"Times New Roman",serif;letter-spacing:.02em}
.bt small{font-size:.66rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#6b7088}
.nav{display:flex;align-items:center;gap:4px}
.nav a,.nav button{font:500 .92rem inherit;color:#2a2f45;text-decoration:none;background:none;border:0;padding:8px 12px;border-radius:999px;cursor:pointer}
.nav a:hover{background:rgba(124,58,237,.08);color:#5b21b6}
.nav a[aria-current="page"]{color:#5b21b6;font-weight:600}
.nav .pill{border:1px solid rgba(30,41,90,.15);background:rgba(255,255,255,.75);margin-left:6px;padding:6px 14px}
.nav .pill:hover{border-color:#8b5cf6;color:#5b21b6}
.nav .ico-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(30,41,90,.15);background:rgba(255,255,255,.75)}
.nav .ico-link:hover{border-color:#8b5cf6}
.dlic{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.logo{width:42px;height:42px}
.nav .cta{background:#111318;color:#fff}
.nav .cta:hover{background:#2a2d40;color:#fff}
.menu-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(30,41,90,.15);background:rgba(255,255,255,.8);cursor:pointer;align-items:center;justify-content:center}
.menu-btn span{display:block;width:18px;height:2px;background:#1c1f2e;border-radius:2px;position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#1c1f2e;border-radius:2px;transition:transform .2s}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:760px){
  .nav .ico-link{width:auto;height:auto;justify-content:flex-start;gap:10px;padding:12px 14px;border:0;background:none}
  .nav .ico-link::after{content:attr(title)}
  .menu-btn{display:inline-flex}
  .nav{position:absolute;top:calc(100% + 6px);right:0;left:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:#fff;border:1px solid #e6e3f3;border-radius:18px;box-shadow:0 24px 50px -20px rgba(60,50,140,.35);display:none}
  .nav.open{display:flex}
  .nav a,.nav button{padding:12px 14px;border-radius:12px;text-align:left;font-size:1rem}
  .nav .pill{margin:6px 0 0;text-align:center}
}
/* carte à bordure animée */
.card{position:relative;border-radius:26px;padding:1.5px;animation:rise 1s cubic-bezier(.2,.8,.2,1) both}
.border{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.border::before{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 58%,#7dd3fc 72%,#a78bfa 82%,#f472b6 92%,transparent 100%);animation:spin 7s linear infinite}
.inner{position:relative;border-radius:25px;padding:clamp(26px,5vw,52px);background:linear-gradient(180deg,#ffffff,#fbfaff);box-shadow:0 30px 70px -20px rgba(60,50,140,.25),0 2px 6px rgba(30,41,90,.06)}
.hero .inner{display:grid;grid-template-columns:1.15fr .95fr;gap:32px;align-items:center}
.eyebrow{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:#7c6fb0;margin-bottom:14px}
h1{font:600 clamp(1.55rem,3.2vw,2.15rem)/1.15 Georgia,"Times New Roman",serif;color:#111318;margin-bottom:16px;letter-spacing:-.005em}
h1 span{display:block;color:#5a6078;font-size:.64em;margin-top:8px;line-height:1.3;font-weight:500}
.lede{color:#5a6078;max-width:52ch;font-size:1rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem inherit;text-decoration:none;border-radius:999px;padding:12px 22px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.dark{background:#111318;color:#fff}.btn.dark:hover{background:#2a2d40}
.btn.light{background:#fff;color:#1c1f2e;border-color:#ddd6fe}.btn.light:hover{border-color:#8b5cf6}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:#6b7088;font-size:.88rem}
.facts span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#db2777);margin-right:8px;vertical-align:middle}
/* animation du héros */
.orbit{width:100%;max-width:460px;justify-self:center}
.orbit svg{display:block;width:100%;height:auto;overflow:visible}
.orbit .dev{fill:#fff;stroke:#c9cbe0;stroke-width:2}
.orbit .scr{fill:#111318}
.orbit .ln{fill:none;stroke:#b9bcd4;stroke-width:2;stroke-linecap:round}
.orbit .lk{fill:none;stroke:rgba(124,58,237,.4);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round;animation:flow 1.2s linear infinite}
.orbit .node{fill:#fff;stroke:#ddd6fe;stroke-width:1.5}
.orbit .ic{fill:none;stroke:#4c1d95;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.orbit .sig{fill:#8b5cf6}
.orbit .muted{fill:rgba(255,255,255,.2)}
.orbit .float{animation:bob 5s ease-in-out infinite}
.orbit .float.f2{animation-delay:-1.2s}.orbit .float.f3{animation-delay:-2.5s}.orbit .float.f4{animation-delay:-3.7s}
.orbit .pk{animation:travel 2.6s cubic-bezier(.5,0,.5,1) infinite}
.orbit .pk1{offset-path:path("M250 150 L110 60")}.orbit .pk2{offset-path:path("M250 150 L390 60");animation-delay:.6s}
.orbit .pk3{offset-path:path("M250 150 L100 250");animation-delay:1.2s}.orbit .pk4{offset-path:path("M250 150 L400 250");animation-delay:1.8s}
.orbit .ping{transform-box:fill-box;transform-origin:center;fill:none;stroke:#a78bfa;stroke-width:1.5;animation:ping 3s ease-out infinite}
.orbit .ping.p2{animation-delay:1.5s}
.orbit .bar{transform-box:fill-box;transform-origin:left;animation:fill 5s ease-in-out infinite}
.orbit .cur{animation:blink 1s steps(2) infinite}
@keyframes flow{to{stroke-dashoffset:-20}}
@keyframes travel{from{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}
@keyframes bob{50%{transform:translateY(-6px)}}
@keyframes ping{from{transform:scale(.6);opacity:.7}to{transform:scale(1.5);opacity:0}}
@keyframes fill{0%,15%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes blink{50%{opacity:0}}
/* sections */
.sec{margin-top:72px;scroll-margin-top:90px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
h2{font:600 clamp(1.5rem,3.4vw,2.1rem)/1.15 Georgia,"Times New Roman",serif;color:#111318}
.sec-head p{color:#5a6078;max-width:48ch}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tile{position:relative;border-radius:20px;padding:24px;background:rgba(255,255,255,.85);border:1px solid #e6e3f3;box-shadow:0 10px 30px -20px rgba(60,50,140,.35);display:grid;gap:10px;align-content:start;transition:transform .2s,box-shadow .2s,border-color .2s}
.tile:hover{transform:translateY(-3px);border-color:#c4b5fd;box-shadow:0 18px 40px -22px rgba(60,50,140,.5)}
.tile .ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#f5f3ff 55%,#fdf2f8);border:1px solid #ddd6fe}
.tile .ico svg{width:24px;height:24px;fill:none;stroke:#4c1d95;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tile h3{font-size:1.05rem;color:#111318;line-height:1.3}
.tile p{color:#5a6078;font-size:.92rem;line-height:1.55}
a.tile{text-decoration:none}
.tile .go{margin-top:6px;font-weight:600;font-size:.9rem;color:#5b21b6}
.tile.dl-t{grid-template-columns:auto 1fr;align-items:center;column-gap:16px}
.tile.dl-t .ico{grid-row:span 3}
/* bandeau portail */
.band{margin-top:72px;border-radius:24px;padding:clamp(24px,4vw,40px);background:#111318;color:#eceef5;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.45),transparent 70%)}
.band h2{color:#fff}
.band p{color:#a3a8bf;margin-top:6px;max-width:52ch}
.band .btn{position:relative;z-index:1}
.band .btn.light{border-color:transparent}
/* page contact */
.contact .inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.side p{color:#5a6078;margin-top:4px}
.side .call{margin-top:22px;display:grid;gap:4px}
.side .call small{color:#6b7088;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem}
.side .call a{font:600 1.4rem Georgia,"Times New Roman",serif;text-decoration:none;color:#111318}
.side .call a:hover{color:#5b21b6}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.field{display:grid;gap:6px;min-width:0}.full{grid-column:1/-1}
.field label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6b7088}
.field label i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;color:#8a8fa6}
.field input,.field textarea{font:inherit;color:#1c1f2e;background:#f7f7fc;border:1px solid #e3e1f0;border-radius:12px;padding:12px 14px;width:100%}
.field textarea{resize:vertical;min-height:130px}
.field input:focus,.field textarea:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.field.err input,.field.err textarea{border-color:#dc2626}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.form-status{margin:0;font-size:.92rem;color:#5a6078}.form-status.ok-msg{color:#15803d;font-weight:500}.form-status.err-msg{color:#dc2626}
.privacy{grid-column:1/-1;font-size:.8rem;color:#6b7088;line-height:1.45}
/* page téléchargements */
.dl-login{max-width:460px;margin:24px auto 0}
.dl-login .inner{text-align:center}
.dl-login .lede{margin:0 auto}
.lock{display:block;width:58px;height:58px;margin:0 auto 14px;fill:none;stroke:#4c1d95;stroke-width:3;stroke-linecap:round}
.dl-form{display:grid;gap:14px;margin-top:22px;text-align:left}
.dl-form .btn{justify-self:start}
.alert{margin:0;padding:10px 12px;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:.9rem}
.dl-head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.dl-cat{margin-top:26px}
.dl-cat h2{font-size:1.15rem;margin-bottom:10px}
.dl-list{list-style:none;padding:0;display:grid;gap:8px}
.dl-list a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid #e6e3f3;background:#fbfbfe;text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
.dl-list a:hover{border-color:#a78bfa;background:#fff;transform:translateY(-1px)}
.dl-list .ext{flex:none;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font:700 .7rem ui-monospace,monospace;letter-spacing:.06em;color:#4c1d95;background:linear-gradient(135deg,#eff6ff,#f5f3ff 55%,#fdf2f8);border:1px solid #ddd6fe}
.dl-list .fn{flex:1;min-width:0;display:grid}
.dl-list .fn b{font-weight:600;color:#111318;overflow-wrap:anywhere}
.dl-list .fn small{color:#6b7088;font-size:.82rem}
.dl-list .get svg{width:22px;height:22px;fill:none;stroke:#7c3aed;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dl-empty{margin-top:22px;color:#6b7088}
.dl-help{margin-top:24px;font-size:.88rem;color:#6b7088}
/* page confidentialité */
.pv{max-width:none}
.pv .pv-h{font-size:clamp(1.5rem,3.2vw,2.1rem)}
.pv h2{font-size:1.15rem;margin:28px 0 8px}
.pv p,.pv li{max-width:70ch;color:#3f4459}
.pv ul{padding-left:1.2em;margin:8px 0}
.pv .upd{color:#6b7088;margin-bottom:22px}
.pv a{color:#5b21b6}
.pv .box{background:#f7f6fd;border:1px solid #e6e3f3;border-radius:14px;padding:16px 18px;margin-top:10px}
.pv hr{border:0;border-top:1px solid #e6e3f3;margin:44px 0 30px;scroll-margin-top:90px}
footer{position:relative;z-index:1;text-align:center;color:#7a7f96;font-size:.82rem;letter-spacing:.04em;padding:56px 16px 34px}
footer a{color:inherit}
@keyframes rise{from{opacity:0;transform:translateY(20px) scale(.98)}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:960px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.hero .inner,.contact .inner{grid-template-columns:1fr;gap:26px}.orbit{order:-1;max-width:360px}}
@media (max-width:600px){.grid2,.grid4{grid-template-columns:1fr}.form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition:none!important}html{scroll-behavior:auto}}

/* Logo identique au site : icône + Mounib / GROUPE IT */
.brand.lockup{display:flex;align-items:center;gap:12px;text-decoration:none;color:#111318}
.brand.lockup .lg{width:40px;height:40px;flex:none;border-radius:12px}
.brand.lockup .wm{display:grid;line-height:1}
.brand.lockup .wm b{font:800 1.2rem/1 "Manrope",system-ui,sans-serif;letter-spacing:-.02em;color:#111318}
.brand.lockup .wm small{font:500 .62rem/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.3em;color:#5b5f72;margin-top:5px}
