
/* ===== Impression : nouveau style ===== */
section[data-view="impression"]>.vhead,section[data-view="impression"]>nav.toc{display:none}
.imx-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:center;padding:26px 30px;margin:6px 0 18px;border-radius:24px;color:#fff;background:linear-gradient(130deg,#7a2bd8 0%,#b0219f 50%,#e0137a 100%);box-shadow:0 28px 56px -34px rgba(122,43,216,.8)}
.imx-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.imx-bg i{position:absolute;border-radius:50%;filter:blur(42px);opacity:.55;animation:imxDrift 12s ease-in-out infinite alternate}
.imx-bg i:nth-child(1){width:300px;height:300px;right:-70px;top:-120px;background:#4cc3f0}.imx-bg i:nth-child(2){width:240px;height:240px;left:-60px;bottom:-130px;background:#ffd400;opacity:.35;animation-delay:-6s}
@keyframes imxDrift{to{transform:translate(-50px,40px) scale(1.2)}}
.imx-eye{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16)}
.imx-hero h2{font-family:var(--f-display);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.06;margin:10px 0 8px;color:#fff}
.imx-hero h2 em{font-style:normal;color:#ffd400}
.imx-tx>p{margin:0 0 12px;font-size:.98rem;line-height:1.55;opacity:.93;max-width:54ch}
.imx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.imx-chips span{font-weight:700;font-size:.84rem;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.imx-cta{display:flex;flex-wrap:wrap;gap:10px}
.imx-b{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.92rem;padding:11px 15px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.24);text-decoration:none;transition:transform .2s,background .2s}
.imx-b:hover,.imx-b:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.24)}.imx-b:focus-visible{outline:2px solid #fff;outline-offset:2px}
.imx-b.pri{background:#fff;color:#7a2bd8;border-color:#fff}
.imx-art svg{width:100%;max-width:280px;height:auto;display:block;margin:0 auto;overflow:hidden}
/* animation : l'imprimante imprime, les pages s'envolent (cycle de 4,5 s) */
.imx-pr{transform-box:fill-box;transform-origin:center bottom;animation:imxVib .18s linear infinite}
@keyframes imxVib{50%{transform:translateY(-1px)}}
.imx-p{opacity:0;animation:imxFly 4.5s cubic-bezier(.3,.1,.3,1) infinite}
.imx-p.p2{animation-delay:1.5s}.imx-p.p3{animation-delay:3s}
@keyframes imxFly{0%{transform:translate(150px,140px) scale(.6) rotate(0);opacity:0}10%{opacity:1;transform:translate(150px,110px) scale(.8)}45%{transform:translate(90px,40px) scale(1) rotate(-14deg);opacity:1}70%{transform:translate(40px,10px) scale(.9) rotate(-24deg);opacity:.9}100%{transform:translate(0,-30px) scale(.7) rotate(-34deg);opacity:0}}
.imx-p.p2{animation-name:imxFly2}@keyframes imxFly2{0%{transform:translate(150px,140px) scale(.6);opacity:0}10%{opacity:1;transform:translate(150px,110px) scale(.8)}45%{transform:translate(200px,36px) scale(1) rotate(12deg);opacity:1}70%{transform:translate(250px,8px) scale(.9) rotate(22deg);opacity:.9}100%{transform:translate(300px,-30px) scale(.7) rotate(30deg);opacity:0}}
.imx-p.p3{animation-name:imxFly3}@keyframes imxFly3{0%{transform:translate(150px,140px) scale(.6);opacity:0}10%{opacity:1;transform:translate(150px,110px) scale(.8)}45%{transform:translate(150px,30px) scale(1) rotate(-4deg);opacity:1}70%{transform:translate(160px,0) scale(.9) rotate(6deg);opacity:.9}100%{transform:translate(170px,-40px) scale(.7) rotate(10deg);opacity:0}}
.imx-tag{animation:imxTag 3s cubic-bezier(.3,1.6,.5,1) infinite}@keyframes imxTag{0%,100%{transform:translate(214px,196px) rotate(-8deg)}50%{transform:translate(214px,186px) rotate(-3deg)}}
.imx-led{animation:imxLed .9s steps(2,end) infinite}@keyframes imxLed{50%{opacity:.3}}
.imx-sp circle{animation:imxTw 2.4s ease-in-out infinite}.imx-sp circle:nth-child(2){animation-delay:.8s}.imx-sp circle:nth-child(3){animation-delay:1.6s}@keyframes imxTw{50%{opacity:.2}}
/* tarifs et blocs : plus vivants */
section[data-view="impression"] .prices .price{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
section[data-view="impression"] .prices .price:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#1fa6dc,#e0137a,#ffd400)}
section[data-view="impression"] .prices .price:hover{transform:translateY(-5px);box-shadow:0 20px 36px -24px rgba(122,43,216,.6)}
section[data-view="impression"] .prices .price .val{transition:transform .35s cubic-bezier(.3,1.6,.5,1);transform-origin:left bottom}
section[data-view="impression"] .prices .price:hover .val{transform:scale(1.08)}
section[data-view="impression"] .fmt .badge{animation:imxBadge 3.5s ease-in-out infinite}
@keyframes imxBadge{0%,85%,100%{transform:none}90%{transform:rotate(-6deg) scale(1.08)}95%{transform:rotate(4deg)}}
section[data-view="impression"] .mailhero{transition:transform .3s,box-shadow .3s}section[data-view="impression"] .mailhero:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(20,21,26,.6)}
section[data-view="impression"] .tipband{position:relative;overflow:hidden}
section[data-view="impression"] .tipband:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-100%);animation:imxShine 5s ease-in-out infinite;pointer-events:none}
@keyframes imxShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
section[data-view="impression"] .calc{border:1.5px solid color-mix(in srgb,#7a2bd8 25%,var(--line));box-shadow:0 20px 40px -30px rgba(122,43,216,.6)}
section[data-view="impression"] .calc .sum{background:linear-gradient(90deg,#7a2bd8,#e0137a);-webkit-background-clip:text;background-clip:text;color:transparent}
section[data-view="impression"] .cols .steps li{transition:transform .25s}section[data-view="impression"] .cols .steps li:hover{transform:translateX(4px)}
section[data-view="impression"] .brands span{transition:transform .2s,background .2s}section[data-view="impression"] .brands span:hover{transform:translateY(-2px)}
.imx-flash{animation:imxFlash 1.3s ease}@keyframes imxFlash{30%{box-shadow:0 0 0 4px #e0137a}}
@media (max-width:960px){.imx-hero{grid-template-columns:1fr;padding:20px 18px 18px}.imx-art{order:-1}.imx-art svg{max-width:210px;margin:-6px auto -8px}}
@media (max-width:560px){.imx-hero{border-radius:20px}.imx-hero h2{font-size:1.5rem}.imx-tx>p{font-size:.93rem}.imx-chips{display:grid;grid-template-columns:1fr}.imx-chips span{font-size:.8rem}.imx-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.imx-cta .imx-b{justify-content:center;padding:11px 8px;font-size:.86rem}.imx-cta .imx-b.pri{grid-column:1/-1}.imx-art svg{max-width:190px}}
@media (prefers-reduced-motion:reduce){.imx-bg i,section[data-view="impression"] .tipband:after,section[data-view="impression"] .fmt .badge{animation:none!important}}
