/* DigiFive — Design System (couleurs du PDF officiel) */
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sora-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/sora-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2')}

:root{
  --blue:#2436D8;--blue-dark:#1A2AAE;--purple:#8B2FD8;--magenta:#B02BC9;
  --ink:#171A33;--grey:#575C74;--light:#F3F4FE;--line:#E4E6F8;--green:#12A05C;
  --grad:linear-gradient(105deg,#2436D8 10%,#8B2FD8 90%);
  --grad-soft:linear-gradient(105deg,rgba(36,54,216,.08),rgba(139,47,216,.08));
  --radius:18px;--shadow:0 14px 40px -18px rgba(26,42,174,.28);
  --font-head:'Sora',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:#fff;line-height:1.65;font-size:1.02rem}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--purple)}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:4px}
.container{width:min(1180px,92%);margin-inline:auto}
h1,h2,h3{font-family:var(--font-head);font-weight:800;line-height:1.16;letter-spacing:-.015em}
h1{font-size:clamp(2rem,4.6vw,3.3rem)}
h2{font-size:clamp(1.55rem,3vw,2.3rem);margin-bottom:.6em}
h3{font-size:1.22rem;font-weight:700}
p{color:var(--grey)}
section{padding:1px 0}
.lead{font-size:1.13rem;max-width:60ch}

/* Motif signature : pixels du logo */
.px{display:inline-block;width:.55em;height:.55em;border-radius:3px;background:var(--grad);margin-right:.55em;transform:translateY(-.05em)}
h2 .px{width:.5em;height:.5em}

/* ---------- Header ---------- */
.topbar{background:var(--blue-dark);color:#fff;font-size:.88rem;padding:7px 0}
.topbar .container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600}
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:52px;width:auto}
.menu{display:flex;gap:26px;list-style:none;align-items:center}
.menu a{color:var(--ink);font-weight:600;font-size:.98rem;position:relative;padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:2px;background:var(--grad);transition:width .25s}
.menu a:hover::after,.menu a[aria-current="page"]::after{width:100%}
.btn{display:inline-block;font-weight:600;font-family:var(--font-head);padding:13px 26px;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s;font-size:.98rem}
.btn-grad{background:var(--grad);color:#fff;box-shadow:var(--shadow)}
.btn-grad:hover{transform:translateY(-2px);color:#fff}
.btn-ghost{border:2px solid var(--blue);color:var(--blue);background:#fff}
.btn-ghost:hover{background:var(--light)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.3s}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 420px at 85% -10%,rgba(139,47,216,.14),transparent 60%),
  radial-gradient(700px 380px at -5% 110%,rgba(36,54,216,.12),transparent 60%),#fff}
.hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:15px 0 90px}
.hero h1 span.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin:22px 0 30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-proof{display:flex;gap:30px;margin-top:40px;flex-wrap:wrap}
.hero-proof strong{font-family:var(--font-head);font-size:1.5rem;display:block;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-proof span{font-size:.88rem;color:var(--grey)}
.hero-visual{position:relative}
.hero-visual img{filter:drop-shadow(0 24px 44px rgba(26,42,174,.22))}
/* trainée de pixels animée (signature) */
.pixels{position:absolute;inset:0;pointer-events:none}
.pixels i{position:absolute;width:12px;height:12px;border-radius:3px;background:var(--grad);opacity:0;animation:fly 4.2s ease-in-out infinite}
.pixels i:nth-child(2){width:8px;height:8px;animation-delay:.7s;top:12%!important}
.pixels i:nth-child(3){width:6px;height:6px;animation-delay:1.5s;top:70%!important}
.pixels i:nth-child(4){width:9px;height:9px;animation-delay:2.3s;top:40%!important}
@keyframes fly{0%{transform:translateX(-60px);opacity:0}25%{opacity:.9}60%{opacity:.6}100%{transform:translateX(120px) translateY(-30px);opacity:0}}

/* ---------- Bande gradient (comme le PDF) ---------- */
.band{background:var(--grad);color:#fff;text-align:center;padding:60px 0}
.band h2,.band p{color:#fff}
.band p{opacity:.92;max-width:64ch;margin-inline:auto}

/* ---------- Cartes services ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card h3{margin:16px 0 10px}
.card .ico{width:56px;height:56px;border-radius:14px;background:var(--grad-soft);display:grid;place-items:center}
.card .ico svg{width:30px;height:30px}
.card a.more{font-weight:600;display:inline-block;margin-top:12px}

/* ---------- Pricing ---------- */
.pricing{background:var(--light)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.plan{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.plan-head{padding:28px 26px;color:#fff;text-align:center}
.plan-head.blue{background:linear-gradient(120deg,#2436D8,#1A2AAE)}
.plan-head.purple{background:linear-gradient(120deg,#2436D8,#8B2FD8)}
.plan-head.magenta{background:linear-gradient(120deg,#8B2FD8,#B02BC9)}
.plan-head .name{font-family:var(--font-head);font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.plan-head .price{font-family:var(--font-head);font-weight:800;font-size:2.1rem;margin:6px 0 2px}
.plan-head .per{font-size:.86rem;opacity:.9}
.badge-best{position:absolute;top:14px;right:-40px;transform:rotate(38deg);background:var(--green);color:#fff;font-weight:700;font-size:.74rem;padding:5px 46px;letter-spacing:.04em}
.plan ul{list-style:none;padding:24px 26px;flex:1}
.plan li{padding:8px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:12px;font-size:.94rem}
.plan li:last-child{border:0}
.plan li b{color:var(--blue);white-space:nowrap}
.plan li.new{justify-content:flex-start}
.plan li.new b{margin-left:auto}
.plan li.new::before{content:"+";color:var(--green);font-weight:800;margin-right:6px}
.plan .foot{padding:0 26px 26px}
.plan .foot .btn{width:100%;text-align:center}

/* ---------- Tableau comparatif ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}
table.compare{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
.compare th,.compare td{padding:14px 16px;text-align:center;font-size:.94rem;border-bottom:1px solid var(--line)}
.compare th{background:var(--blue-dark);color:#fff;font-family:var(--font-head);font-weight:700}
.compare th.us{background:var(--purple)}
.compare td:first-child{text-align:left;font-weight:600}
.compare td.us{background:#F5EDFC;color:var(--purple);font-weight:700}
.compare tr:nth-child(even) td:not(.us){background:var(--light)}
.note{font-size:.84rem;color:var(--grey);margin-top:12px}

/* ---------- Étapes / process ---------- */
.steps{counter-reset:step}
.steps .card{position:relative;padding-top:58px}
.steps .card::before{counter-increment:step;content:counter(step);position:absolute;top:-22px;left:26px;width:46px;height:46px;border-radius:12px;background:var(--grad);color:#fff;font-family:var(--font-head);font-weight:800;display:grid;place-items:center;font-size:1.15rem;box-shadow:var(--shadow)}

/* ---------- FAQ ---------- */
.faq details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:600;font-family:var(--font-head);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--purple);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 18px}

/* ---------- Stats / compteurs ---------- */
.stats{background:var(--grad);color:#fff}
.stats .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats strong{font-family:var(--font-head);font-size:2.4rem;font-weight:800;display:block}
.stats span{opacity:.9;font-size:.92rem}

/* ---------- Témoignages ---------- */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.quote p{font-style:italic}
.quote .who{margin-top:14px;font-weight:600;color:var(--ink);font-style:normal;display:flex;align-items:center;gap:10px}
.quote .who i{width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-style:normal;font-family:var(--font-head);font-weight:700}

/* ---------- Blog ---------- */
.post-card{overflow:hidden;padding:0}
.post-card img{width:100%;aspect-ratio:480/260;object-fit:cover}
.post-card .in{padding:24px}
.post-card time{font-size:.84rem;color:var(--grey)}
article.post{max-width:760px;margin-inline:auto}
article.post h2{margin-top:1.6em}
article.post ul{margin:1em 0 1em 1.3em;color:var(--grey)}
article.post p{margin-bottom:1em}
.breadcrumb{font-size:.86rem;color:var(--grey);padding:18px 0}
.breadcrumb a{color:var(--grey)}
.breadcrumb a:hover{color:var(--purple)}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
form .field{margin-bottom:16px}
form label{display:block;font-weight:600;margin-bottom:6px;font-size:.94rem}
form input,form select,form textarea{width:100%;padding:13px 16px;border:2px solid var(--line);border-radius:12px;font:inherit;background:#fff;transition:border-color .2s}
form input:focus,form select:focus,form textarea:focus{border-color:var(--purple);outline:none}
.info-box{background:var(--light);border-radius:var(--radius);padding:30px}
.info-box li{list-style:none;padding:10px 0;border-bottom:1px dashed var(--line);color:var(--grey)}
.info-box li strong{color:var(--ink);display:block;font-size:.9rem}

/* ---------- CTA finale ---------- */
.cta-final{background:var(--grad);border-radius:26px;color:#fff;padding:54px 44px;display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.cta-final h2{color:#fff;margin:0}
.cta-final p{color:#fff;opacity:.92}
.cta-final .btn{background:#fff;color:var(--blue)}

/* ---------- Footer ---------- */
footer.site{background:#10142E;color:#C6CAE6;padding:64px 0 0;margin-top:80px}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
footer h4{color:#fff;font-family:var(--font-head);font-size:1rem;margin-bottom:16px}
footer a{color:#C6CAE6}
footer a:hover{color:#fff}
footer li{list-style:none;padding:5px 0;font-size:.94rem}
footer .brandf img{height:56px;background:#fff;border-radius:12px;padding:6px}
footer .legal{border-top:1px solid #262B4E;margin-top:44px;padding:20px 0;font-size:.85rem;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---------- Animations reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .pixels i{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero .container{grid-template-columns:1fr;gap:40px}
  .grid-3,.plans{grid-template-columns:1fr 1fr}
  .stats .grid-4{grid-template-columns:1fr 1fr}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .topbar .container span:first-child{display:none}
  .topbar .container{justify-content:center}
  .menu{position:fixed;inset:76px 0 auto 0;background:#fff;flex-direction:column;padding:22px;border-bottom:1px solid var(--line);gap:14px;transform:translateY(-130%);transition:transform .3s;box-shadow:0 20px 30px rgba(0,0,0,.08)}
  .menu.open{transform:none}
  .burger{display:block}
  .nav .btn{display:none}
  .grid-3,.grid-2,.plans,.contact-grid{grid-template-columns:1fr}
  section{padding:56px 0}
  .cta-final{padding:36px 26px}
}

/* ---------- Sous-menu Services ---------- */
.has-sub{position:relative}
.has-sub>a::after{content:" ▾";font-size:.7em}
.sub{position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px;min-width:250px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:70}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub li a{display:block;padding:9px 14px;border-radius:9px;font-size:.93rem}
.sub li a:hover{background:var(--light)}
.sub li a::after{display:none}
@media (max-width:760px){
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;min-width:0}
  .has-sub>a::after{content:""}
}

/* ---------- Sous-menu Services ---------- */
.has-sub{position:relative}
.has-sub>a::after{content:" \25BE";font-size:.7em}
.sub{position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px;min-width:250px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:70}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub li a{display:block;padding:9px 14px;border-radius:9px;font-size:.93rem}
.sub li a:hover{background:var(--light)}
.sub li a::after{display:none}
@media (max-width:760px){
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;min-width:0}
  .has-sub>a::after{content:""}
}
