/* ============================================================
   Boost&Code — design system global
   Extrait des 6 pages (regles identiques). Editer ICI, pas dans les pages.
   Palette :
     --bleu  #3772FF   --jaune #ffc337
     --nuit  #171c34   --creme #FFF6E6   --encre #060812
   ============================================================ */
:root{--bleu:#3772FF;--jaune:#ffc337;--nuit:#171c34;--creme:#FFF6E6;--encre:#060812;--gris:#3d4260}

html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:Inter,sans-serif;color:#171c34;background:#fff;overflow-x:clip}
/* utilitaires (referencees dans le markup, jamais definies avant) */
.posrel{position:relative}
.ohide{overflow:hidden}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.sec{padding:100px 0}
.bg-cream{background:#FFF6E6}
.bg-nuit{background:#171c34}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Lilita One',cursive;font-size:19px;letter-spacing:.4px;padding:15px 30px;border:3px solid #171c34;border-radius:999px;box-shadow:0 6px 0 #171c34;text-decoration:none;color:#171c34;transition:transform .15s,box-shadow .15s;cursor:pointer;background:#fff}
.btn:hover{transform:translateY(4px);box-shadow:0 2px 0 #171c34}
.btn-j{background:#ffc337}
.btn-n{background:#171c34;color:#fff;box-shadow:0 6px 0 #060812}
.btn-n:hover{box-shadow:0 2px 0 #060812}
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid #171c34;transition:background .3s}
.hdr-s{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .3s}
.hdr-s .hdr-in{height:60px}
.hlogo{height:58px;transition:height .3s}
.hdr-s .hlogo{height:40px}
.btn-hdr{font-size:17px;padding:12px 24px;transition:transform .15s,box-shadow .15s,font-size .3s,padding .3s}
.hdr-s .btn-hdr{font-size:15px;padding:9px 18px}
.nl{font-weight:600;font-size:15.5px;color:#171c34;text-decoration:none;padding:6px 2px;border-bottom:3px solid transparent;transition:.15s}
.nl:hover{color:#3772FF;border-bottom-color:#ffc337}
.nl-on{color:#3772FF;border-bottom-color:#ffc337}
.jaune{color:#ffc337}
.sp{position:absolute;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twk 2.4s ease-in-out infinite}
@keyframes twk{0%,100%{opacity:1;transform:translate(var(--px,0px),var(--py,0px)) scale(1)}50%{opacity:.25;transform:translate(var(--px,0px),var(--py,0px)) scale(.55) rotate(20deg)}}
.wave{display:block;width:100%;margin-bottom:-4px}
.subt{font-size:18px;line-height:1.6;color:#3d4260;max-width:620px;margin:16px auto 0}
.kick{font-family:'Lilita One',cursive;color:#3772FF;letter-spacing:2.5px;font-size:16px;text-transform:uppercase;margin:0 0 12px}
.hl{background:#ffc337;padding:2px 12px;border-radius:10px;display:inline-block;transform:rotate(-1.5deg);box-shadow:3px 3px 0 #171c34}
.ftr{color:#fff;padding:70px 0 30px}
.ftr a{color:#cecccc;text-decoration:none;font-size:15px;line-height:2.1;display:block}
.ftr a:hover{color:#ffc337}
.fh{font-family:'Lilita One',cursive;font-size:18px;letter-spacing:1px;color:#ffc337;margin:0 0 14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.fbot{border-top:2px solid rgba(206,204,204,.25);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 24px;font-size:13.5px;color:#8b8fa8}
.fbot a{display:inline;font-size:inherit;line-height:inherit;color:#8b8fa8!important;text-decoration:underline;text-underline-offset:3px}
.fbot a:hover{color:#ffc337!important}
@media (max-width:620px){.fbot{flex-direction:column;text-align:center;gap:8px}}
[data-depth]{transform:translate(var(--px,0px),var(--py,0px))}
.hascur,.hascur *{cursor:none!important}
#curStar,#curRing{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;display:none}
.hascur #curStar,.hascur #curRing{display:block}
.cur-c{display:block;transform:translate(-50%,-50%);transition:transform .18s}
.cur-in{display:block;width:24px;height:24px;background:#ffc337;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(2px 2px 0 #171c34);animation:spin 5s linear infinite;transition:background .2s}
.ring{display:block;width:46px;height:46px;border-radius:50%;border:3px dashed #ffc337;animation:spin 9s linear infinite reverse;box-sizing:border-box;transition:border-color .2s}
body:has(.ctasec:hover,.nlsec:hover,.mqband:hover) .cur-in{background:#3772FF}
body:has(.ctasec:hover,.nlsec:hover,.mqband:hover) .ring{border-color:#3772FF}
@keyframes spin{to{transform:rotate(360deg)}}
.curbig #curStar .cur-c{transform:translate(-50%,-50%) scale(1.9)}
.curbig #curRing .cur-c{transform:translate(-50%,-50%) scale(1.5)}
.curbig .ring{border-style:solid;border-color:#fff}
.curdown #curStar .cur-c{transform:translate(-50%,-50%) scale(.6)}
.puff{position:fixed;z-index:9998;pointer-events:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #171c34;animation:puffa .55s ease-out forwards}
@keyframes puffa{from{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(1.7) translateY(-16px)}}
.spc{position:absolute;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twk 2.4s ease-in-out infinite}
.spc-b{background:#3772FF}
.spc-j{background:#ffc337}
.bf1 .boil{filter:url(#boilA)}
.bf2 .boil{filter:url(#boilB)}
.bf3 .boil{filter:url(#boilC)}
.bchk{display:none}
.burger{display:none;width:52px;height:52px;border:3px solid #171c34;border-radius:14px;background:#ffc337;box-shadow:0 4px 0 #171c34;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;flex-shrink:0}
.burger:active{transform:translateY(3px);box-shadow:0 1px 0 #171c34}
.burger span{display:block;width:22px;height:3px;background:#171c34;border-radius:2px;transition:transform .2s,opacity .2s}
.mnav{display:none;flex-direction:column;background:#fff;border-top:3px solid #171c34;padding:6px 28px 20px}
.mnav a{font-family:'Lilita One',cursive;font-size:20px;color:#171c34;text-decoration:none;padding:13px 0;border-bottom:2px dashed #cecccc}
.mnav a:hover{color:#3772FF}
.bchk:checked ~ .mnav{display:flex}
.bchk:checked ~ .hdr-in .bl1{transform:translateY(8px) rotate(45deg)}
.bchk:checked ~ .hdr-in .bl2{opacity:0}
.bchk:checked ~ .hdr-in .bl3{transform:translateY(-8px) rotate(-45deg)}
@media (max-width:960px){.burger{display:flex}}
.noanim *{animation:none!important;transition:none!important}
@supports (animation-timeline: view()){.rev{animation:rise both;animation-timeline:view();animation-range:entry 0% entry 45%}@keyframes rise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}.drift{animation:driftY linear both;animation-timeline:view();animation-range:cover -20% cover 120%}.sp,.spc{animation:twk 2.4s ease-in-out infinite,driftY linear both;animation-timeline:auto,view();animation-range:normal,cover -20% cover 120%;animation-composition:replace,add}@keyframes driftY{from{transform:translateY(150px) rotate(0deg)}to{transform:translateY(-150px) rotate(140deg)}}}
