/* hslp.fr — styles communs */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#EEF1F5;font-family:'Instrument Sans',system-ui,sans-serif;color:#141A24;overflow-x:hidden}
a{color:#1C2B4A;text-decoration:none}a:hover{opacity:.8}
img,svg{max-width:100%}
.page{max-width:1440px;margin:0 auto;min-height:100vh}
a:focus-visible,button:focus-visible{outline:3px solid #93B4F0;outline-offset:2px}
.xcard{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}.xcard:hover{opacity:1;transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,26,36,.10)}
.blw{transition:transform .35s cubic-bezier(.2,.9,.3,1)}.bl{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.bla{animation-name:blA}.blb{animation-name:blB}
@keyframes blA{0%{transform:translate(0,0)}25%{transform:translate(18px,-26px)}50%{transform:translate(-10px,-40px)}75%{transform:translate(-22px,-12px)}100%{transform:translate(0,0)}}
@keyframes blB{0%{transform:translate(0,0)}25%{transform:translate(-20px,18px)}50%{transform:translate(8px,34px)}75%{transform:translate(24px,10px)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion: reduce){.bl{animation:none}html{scroll-behavior:auto}}
.dd{position:relative;display:inline-flex}.dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font:inherit;color:#4A5566;cursor:pointer}.dd-menu{position:absolute;top:100%;left:-20px;padding-top:14px;display:none;z-index:50}.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}.dd-panel{background:#FFFFFF;border:1px solid #DCE1E8;border-radius:16px;box-shadow:0 18px 40px rgba(20,26,36,.12);padding:8px;width:300px;display:flex;flex-direction:column}.dd-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;color:#141A24}.dd-item:hover{opacity:1;background:#EEF1F5}
.lf{display:flex;gap:16px;flex-shrink:0;min-height:84px}
.lf-icon{width:84px;height:84px;border-radius:20px;object-fit:cover;display:block}

/* Tablette */
@media (max-width: 1100px){
  header,main section,footer{padding-left:40px!important;padding-right:40px!important}
  main [style*="repeat(3, minmax(0, 1fr))"],main [style*="repeat(4, minmax(0, 1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  main h1{font-size:64px!important;letter-spacing:-2px!important}
  header nav{gap:22px!important}
  header > div{gap:22px!important}
}

/* Mobile */
@media (max-width: 760px){
  header{flex-wrap:wrap;gap:14px;padding-top:20px!important;padding-bottom:16px!important;padding-left:20px!important;padding-right:20px!important}
  header > div{width:100%;justify-content:space-between;flex-wrap:wrap;gap:12px!important}
  header nav{gap:18px!important;font-size:15px!important;flex-wrap:wrap;row-gap:10px}
  header [role="group"] a{height:34px!important;padding:0 12px!important}
  .dd-menu{left:-60px}
  .dd-panel{width:260px}
  main section,footer{padding-left:20px!important;padding-right:20px!important}
  main section:not([style^="padding: 0 "]){padding-top:48px!important;padding-bottom:56px!important}
  main section[style^="padding: 0 "]{padding-bottom:64px!important}
  main h1{font-size:42px!important;letter-spacing:-1.5px!important;line-height:1.05!important}
  main h2{font-size:32px!important;letter-spacing:-1px!important;line-height:1.1!important}
  main h3{font-size:22px!important}
  main p{font-size:17px!important}
  main [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  main [style*="justify-content: space-between"]{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}
  main [style*="padding: 72px"],main [style*="padding: 64px"],main [style*="padding: 56px"]{padding:28px 22px!important}
  main [style*="padding: 48px"],main [style*="padding: 40px"]{padding:24px!important}
  main [style*="border-radius: 28px"]{border-radius:22px!important}
  main [style*="display: flex; gap: 16px"],main [style*="display: flex; gap: 12px"]{flex-wrap:wrap}
  main [style*="width: 860px"]{width:100%!important}
  main [style*="gap: 96px"]{gap:24px!important}
  main [style*="gap: 64px"],main [style*="gap: 48px"]{gap:24px!important}
  main [style*="font-size: 56px"],main [style*="font-size: 52px"],main [style*="font-size: 48px"]{font-size:32px!important}
  main [style*="font-size: 44px"]{font-size:30px!important}
  main a[style*="height: 56px"],main a[style*="height: 64px"]{height:auto!important;min-height:52px;padding:12px 24px!important;font-size:16px!important}
  .lf{gap:12px}.lf-icon{width:64px;height:64px;border-radius:16px}
  footer{flex-direction:column;gap:32px!important}
  footer > div:last-child{flex-wrap:wrap;gap:28px 40px!important}
  .home .blw{display:none}
}
