/* RS Performance Épernay — Diagnostic antipollution */
.ap-page{--ap-yellow:#f4c64f;--ap-bright:#ffe28a;--ap-gold:#dca328;--ap-line:#29394d;--ap-ink:#090f1a;--ap-panel:#111e2d;--ap-muted:#aabed2;background:#090e17;color:#f4f7fe}
.ap-page .top{border-bottom-color:#293749}
.ap-page main{overflow:hidden}
.ap-page main .wrap{width:min(1200px,92%)}
.ap-page .ap-yellow-button{background:linear-gradient(110deg,#e6ad31,#f6cf67);border-color:#f6cb58;color:#101723;box-shadow:0 12px 28px #ce92152d}
.ap-page .ap-yellow-button:hover,.ap-page .ap-yellow-button:focus-visible{background:linear-gradient(110deg,#f8c859,#ffe39a);color:#11141b;box-shadow:0 12px 28px #f4c64f49}
.ap-page .ap-outline{background:transparent;border-color:#506177;color:#eff5ff;box-shadow:none}
.ap-page .ap-outline:hover,.ap-page .ap-outline:focus-visible{background:#1a293a;border-color:#c9ac67}
.ap-page .ap-yellow-button:focus-visible,.ap-page .ap-outline:focus-visible,.ap-page button:focus-visible,.ap-page summary:focus-visible{outline:2px solid var(--ap-yellow);outline-offset:3px}
.ap-page .ap-hero{position:relative;isolation:isolate;padding:94px 0 98px;background:radial-gradient(ellipse at 84% 42%,#c99e2924,transparent 39%),radial-gradient(ellipse at 8% 0%,#2280c41f,transparent 44%),#090e17}
.ap-page .ap-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0,transparent 62px,#ffffff03 63px,#ffffff03 64px)}
.ap-page .ap-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(24px,4vw,60px)}
.ap-page .ap-hero-copy{position:relative;z-index:1}
.ap-page .ap-badges{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:29px}
.ap-page .ap-badges span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;background:#142236;border:1px solid #35516d;color:#e3effe;font-size:.69rem;font-weight:850;letter-spacing:.09em}
.ap-page .ap-badges .ap-focus{background:#382a19;border-color:#746038;color:#ffe6a8}
.ap-page .ap-location i,.ap-page .ap-yellow-dot{width:7px;height:7px;display:inline-block;flex:none;background:var(--ap-yellow);border-radius:50%;box-shadow:0 0 11px #f7c95985}
.ap-page .ap-eyebrow{margin:0 0 15px;letter-spacing:.2em;color:#d5b76c;font-size:.74rem;font-weight:900}
.ap-page .ap-hero h1{font-size:clamp(2.85rem,4.8vw,4.9rem);line-height:1.09;letter-spacing:-.065em;font-weight:950;margin:0 0 25px;text-wrap:balance}
.ap-page .ap-hero h1 span{color:var(--ap-yellow)}
.ap-page .ap-lead{font-size:1.05rem;line-height:1.83;color:#b5c7d9;max-width:570px;margin:0}
.ap-page .ap-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.ap-page .ap-points{display:flex;gap:10px 21px;flex-wrap:wrap;font-size:.81rem;color:#b7c8d7;margin-top:28px}
.ap-page .ap-points span::first-letter{color:var(--ap-yellow)}
.ap-page .ap-diagnostic{position:relative;min-width:0;padding:24px 25px 20px;border:1px solid #5b4c34;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 52% 38%,#65491c30,transparent 43%),linear-gradient(152deg,#192638,#0c1624 65%,#111926);box-shadow:0 35px 80px #0007,0 0 58px #d4a63820}
.ap-page .ap-diagnostic:before{content:"";position:absolute;inset:-100px -35%;pointer-events:none;background:radial-gradient(ellipse at center,#f7bc3e1b,transparent 52%)}
.ap-page .ap-diagnostic-top{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1;font-size:.64rem;font-weight:900;letter-spacing:.12em;color:#e4e8ef}
.ap-page .ap-diagnostic-top span:last-child{color:#859bb4}
.ap-page .ap-diagnostic-top .ap-yellow-dot{margin-right:8px}
.ap-page .ap-radar{width:min(94%,400px);aspect-ratio:1;margin:12px auto 7px;position:relative;display:grid;place-items:center}
.ap-page .ap-radar:before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,#131e2c 0,#101a2a 54%,#0a1422 72%,transparent 74%)}
.ap-page .ap-radar-ring{position:absolute;border-radius:50%;border:1px solid #7f683f45}
.ap-page .ap-radar-ring-outer{inset:4%;border-color:#d1a24344;box-shadow:0 0 18px #e9b7411a,inset 0 0 24px #e9b74116}
.ap-page .ap-radar-ring-middle{inset:14%;border-style:dashed;border-color:#d6b16a66}
.ap-page .ap-radar-ring-inner{inset:27%;border-color:#7a91a744}
.ap-page .ap-radar-sweep{position:absolute;inset:8%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 275deg,#eec04c09 300deg,#ffd76c3b 350deg,transparent 360deg);animation:ap-rotate 6s linear infinite;opacity:.85}
.ap-page .ap-engine-symbol{position:relative;z-index:1;color:#f6cb64;width:44%;aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 22px #f0b93956);animation:ap-breathe 3.3s ease-in-out infinite}
.ap-page .ap-engine-symbol svg{width:100%;height:auto}
.ap-page .ap-diagnostic-status{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:relative;background:#0c1827;border:1px solid #394357;border-radius:10px;padding:12px 13px}
.ap-page .ap-diagnostic-status strong{font-size:.86rem;color:#dce8f5;letter-spacing:.04em}
.ap-page .ap-diagnostic-status b{color:#eab849;padding:0 3px}
.ap-page .ap-status-chip{display:flex;align-items:center;gap:8px;color:#ffda82;font-weight:900;font-size:.63rem;letter-spacing:.1em}
.ap-page .ap-status-chip i{width:7px;height:7px;display:inline-block;background:#eabe5e;border-radius:50%;box-shadow:0 0 11px #eabe5e;animation:ap-breathe 1.7s infinite}
.ap-page .ap-diagnostic-progress{position:relative;margin:15px 0 12px;height:4px;border-radius:8px;overflow:hidden;background:#263448}
.ap-page .ap-diagnostic-progress div{width:40%;height:100%;background:linear-gradient(90deg,transparent,#f2c85e,transparent);animation:ap-track 3.6s ease-in-out infinite}
.ap-page .ap-diagnostic-bottom{position:relative;display:flex;justify-content:space-between;gap:7px;color:#93a5bc;font-size:.57rem;letter-spacing:.12em;font-weight:900}
.ap-page .ap-diagnostic-disclaimer{position:relative;color:#72879e;font-size:.66rem;text-align:center;line-height:1.55;margin:15px 0 0}
@keyframes ap-rotate{to{transform:rotate(360deg)}}
@keyframes ap-breathe{50%{opacity:.6;filter:drop-shadow(0 0 7px #f0b93955)}}
@keyframes ap-track{0%{transform:translateX(-115%)}100%{transform:translateX(375%)}}
.ap-page .ap-service-strip{border-top:1px solid #2e3542;border-bottom:1px solid #303744;background:#101a28}
.ap-page .ap-service-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:19px 0}
.ap-page .ap-service-strip span{display:inline-flex;gap:13px;align-items:center;color:#ccd8e7;font-weight:800;font-size:.83rem}
.ap-page .ap-service-strip b{color:var(--ap-yellow);font-size:.71rem;letter-spacing:.09em}
.ap-page .ap-anchor-nav{background:#0d1724;border-bottom:1px solid #25384d}
.ap-page .ap-anchor-nav .wrap{display:flex;justify-content:center;align-items:center;overflow-x:auto;scrollbar-width:none}
.ap-page .ap-anchor-nav a{white-space:nowrap;color:#afc0d0;border-bottom:2px solid transparent;padding:15px 22px;font-size:.8rem;font-weight:770}
.ap-page .ap-anchor-nav a:hover,.ap-page .ap-anchor-nav a:focus-visible{color:var(--ap-bright);border-color:var(--ap-yellow)}
.ap-page .ap-section{padding:94px 0;scroll-margin-top:105px}
.ap-page .ap-section-head{max-width:790px;margin:0 0 35px}
.ap-page .ap-kicker{display:block;color:#e6bb60;font-size:.72rem;font-weight:900;letter-spacing:.16em;margin-bottom:16px}
.ap-page .ap-section h2,.ap-page .ap-conclusion h2{font-weight:950;letter-spacing:-.055em;font-size:clamp(2.05rem,4.15vw,3.7rem);line-height:1.12;margin:0 0 20px}
.ap-page .ap-section h2 span,.ap-page .ap-conclusion h2 span{color:var(--ap-yellow)}
.ap-page .ap-section p{color:#a8bed2;line-height:1.78}
.ap-page .ap-section-head p{margin:0}
.ap-page .ap-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ap-page .ap-service-card{border:1px solid #314357;background:linear-gradient(155deg,#162536,#0d1826 85%);border-radius:20px;padding:29px 25px 27px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;min-height:468px}
.ap-page .ap-service-card:hover{border-color:#a68643;transform:translateY(-3px)}
.ap-page .ap-card-highlight{border-color:#b28a3f;background:radial-gradient(circle at 95% 0,#dab0431d,transparent 53%),linear-gradient(155deg,#1b2736,#0d1826);box-shadow:inset 0 3px #e9bb57}
.ap-page .ap-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:26px}
.ap-page .ap-card-number{font-size:.66rem;letter-spacing:.14em;color:#9caec1;font-weight:900}
.ap-page .ap-card-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #6f613f;border-radius:12px;background:#453b2459;color:#ffcf6c}
.ap-page .ap-card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}
.ap-page .ap-service-card h3{font-size:1.45rem;letter-spacing:-.04em;line-height:1.22;margin:0 0 14px}
.ap-page .ap-service-card h3 span{color:#f3c460}
.ap-page .ap-service-card p{font-size:.86rem;margin:0 0 19px;line-height:1.65}
.ap-page .ap-service-card ul{list-style:none;margin:0 0 25px;padding:0;display:grid;gap:10px;color:#c9d5e2;font-size:.83rem}
.ap-page .ap-service-card li:before{content:'✓';color:var(--ap-yellow);font-weight:900;margin-right:10px}
.ap-page .ap-service-card>a{margin-top:auto;border-top:1px solid #39485a;padding-top:18px;color:#ffe097;font-size:.85rem;font-weight:850}
.ap-page .ap-service-card>a:hover{text-decoration:underline}
.ap-page .ap-diagnostic-section{background:#0d1724}
.ap-page .ap-checker{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:19px}
.ap-page .ap-checker-controls{display:grid;gap:11px;align-content:start}
.ap-page .ap-warning-choice{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:18px;border:1px solid #33475c;border-radius:13px;background:#121f30;color:#f4f8ff;font:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.ap-page .ap-warning-choice:hover,.ap-page .ap-warning-choice.is-selected{background:#262820;border-color:#d2a348}
.ap-page .ap-warning-choice.is-selected{box-shadow:inset 3px 0 #eabc54}
.ap-page .ap-warning-choice span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}
.ap-page .ap-warning-choice strong{font-size:.97rem}
.ap-page .ap-warning-choice small{color:#98aabc;font-size:.74rem}
.ap-page .ap-choice-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:10px;border:1px solid #776039;background:#46391e;color:#ffd573;font-size:1.3rem;font-weight:900}
.ap-page .ap-warning-choice>span:last-child{color:#cbaa5e}
.ap-page .ap-checker-result{position:relative;min-height:438px;overflow:hidden;border:1px solid #625033;border-radius:18px;padding:28px 31px;background:radial-gradient(circle at 90% 5%,#e6af3a22,transparent 46%),#111f2c;display:flex;flex-direction:column;align-items:flex-start}
.ap-page .ap-checker-top{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;width:100%;font-size:.69rem;font-weight:900;letter-spacing:.13em;color:#9db2c6}
.ap-page .ap-warning-badge{border-radius:6px;background:#44361e;border:1px solid #876934;padding:6px 10px;color:#f5d083}
.ap-page .ap-checker-symbol{width:53px;height:53px;display:grid;place-items:center;margin:23px 0 13px;border:2px solid #e9be5a;border-radius:50%;font-size:1.85rem;font-weight:900;color:#efc262;box-shadow:0 0 30px #f4c64f17}
.ap-page .ap-checker-label{font-weight:850;letter-spacing:.15em;color:#b6a06b;font-size:.67rem}
.ap-page .ap-checker-result h3{font-size:clamp(1.5rem,2.35vw,2.2rem);line-height:1.18;letter-spacing:-.035em;margin:8px 0 12px}
.ap-page .ap-checker-result>p{font-size:.91rem;margin:0 0 18px}
.ap-page .ap-checker-line{display:flex;flex-direction:column;gap:4px;border-left:3px solid #e2b24a;padding:8px 0 8px 14px;margin:0 0 13px;background:linear-gradient(90deg,#c8952312,transparent);font-size:.84rem;color:#b0c2d6}
.ap-page .ap-checker-line strong{color:#e4ecf5}
.ap-page .ap-checker-result .ap-checker-note{font-size:.72rem;color:#8c9eb0}
.ap-page .ap-checker-result>.btn{margin-top:auto}
.ap-page .ap-adblue{background:radial-gradient(ellipse at 77% 53%,#bd8c1d12,transparent 48%),#090f1a}
.ap-page .ap-adblue-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:clamp(28px,5vw,75px)}
.ap-page .ap-adblue-copy h2{max-width:610px}
.ap-page .ap-adblue-copy>p{max-width:560px}
.ap-page .ap-adblue-list{display:grid;gap:16px;margin:24px 0 28px}
.ap-page .ap-adblue-list>div{display:flex;gap:15px;align-items:start}
.ap-page .ap-adblue-list span{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border:1px solid #967439;background:#302617;border-radius:9px;color:#f1c666;font-size:.72rem;font-weight:950}
.ap-page .ap-adblue-list p{margin:2px 0;font-size:.85rem}
.ap-page .ap-alert-display{position:relative;padding:29px;border:1px solid #695638;border-radius:22px;box-shadow:0 27px 70px #0007,0 0 50px #e0ae2214;background:radial-gradient(circle at 50% 40%,#503e1933,transparent 44%),linear-gradient(145deg,#182433,#0b131f)}
/* Décompte AdBlue illustratif : jaune puis validation verte après réparation. */
.ap-page .ap-alert-display{min-height:425px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:border-color .55s ease,background .55s ease,box-shadow .55s ease}
.ap-page .ap-alert-display.is-resolved{border-color:#398d63;box-shadow:0 27px 70px #0007,0 0 55px #3bd8881f;background:radial-gradient(circle at 50% 40%,#2c8d5940,transparent 49%),linear-gradient(145deg,#162a2a,#0b171c)}
.ap-page .ap-alert-display.is-resolved .ap-alert-triangle{display:none}
.ap-page .ap-alert-success-icon{display:none;width:125px;margin:32px auto 18px;color:#70eea5;filter:drop-shadow(0 0 20px #30e28a55)}
.ap-page .ap-alert-success-icon svg{display:block;width:100%;height:auto;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ap-page .ap-alert-display.is-resolved .ap-alert-success-icon{display:block;animation:ap-resolved-pop .6s cubic-bezier(.15,.8,.2,1) both}
.ap-page .ap-alert-display.is-resolved .ap-alert-warning-text{display:none}
.ap-page .ap-alert-resolved{display:none;text-align:center;color:#9bfbc2;line-height:1.24}
.ap-page .ap-alert-resolved span{display:block;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:850}
.ap-page .ap-alert-resolved strong{display:block;margin-top:10px;font-size:clamp(1.65rem,3.5vw,2.35rem);font-weight:950;color:#60eda0;text-shadow:0 0 18px #60eda033}
.ap-page .ap-alert-display.is-resolved .ap-alert-resolved{display:block;animation:ap-resolved-pop .6s ease both}
.ap-page .ap-alert-display.is-resolved .ap-alert-info{color:#b8f8d0}
.ap-page .ap-alert-display.is-resolved .ap-alert-line span{background:linear-gradient(90deg,#26b36a,#7cf4b1)}
.ap-page .ap-alert-line span{transition:width .10s linear,background .4s ease}
@keyframes ap-resolved-pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:620px){.ap-page .ap-alert-display{min-height:400px}.ap-page .ap-alert-success-icon{width:105px}}
@media(prefers-reduced-motion:reduce){.ap-page .ap-alert-display,.ap-page .ap-alert-line span,.ap-page .ap-alert-success-icon,.ap-page .ap-alert-resolved{animation:none!important;transition:none!important}}
.ap-page .ap-alert-head{display:flex;justify-content:space-between;gap:10px;font-weight:900;color:#95a8bf;letter-spacing:.14em;font-size:.65rem}
.ap-page .ap-alert-triangle{width:125px;margin:32px auto 18px;color:#f3c259;filter:drop-shadow(0 0 20px #e6b64345);animation:ap-breathe 3s ease-in-out infinite}
.ap-page .ap-alert-triangle svg{display:block;width:100%;height:auto;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ap-page .ap-alert-title{text-align:center;font-weight:800;color:#dce7f5;font-size:1.02rem}
.ap-page .ap-alert-count{text-align:center;color:var(--ap-yellow);font-size:clamp(3.8rem,7vw,6rem);font-weight:950;letter-spacing:-.065em;line-height:1.15;text-shadow:0 0 26px #f0b92d24}
.ap-page .ap-alert-count small{font-size:.36em;letter-spacing:0}
.ap-page .ap-alert-info{text-align:center;color:#c2cedc;font-size:.83rem}
.ap-page .ap-alert-line{height:6px;background:#354053;margin:29px 0 20px;border-radius:99px;overflow:hidden}
.ap-page .ap-alert-line span{display:block;width:68%;height:100%;background:linear-gradient(90deg,#ffcc62,#ed9846);border-radius:inherit}
.ap-page .ap-alert-foot{text-align:center;color:#8196ac;font-size:.59rem;letter-spacing:.11em;font-weight:800}
.ap-page .ap-process{background:#0d1724}
.ap-page .ap-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ap-page .ap-steps article{padding:25px 23px;border:1px solid #304256;border-top:3px solid #f0c45d;border-radius:0 0 14px 14px;background:#121f2d}
.ap-page .ap-steps article:nth-child(even){border-top-color:#619fce}
.ap-page .ap-steps article>span{font-size:2.3rem;font-weight:950;color:#ebbf5c;letter-spacing:-.06em}
.ap-page .ap-steps article:nth-child(even)>span{color:#70b0de}
.ap-page .ap-steps h3{font-size:1.11rem;margin:14px 0 6px}
.ap-page .ap-steps p{margin:0;font-size:.84rem;line-height:1.6}
.ap-page .ap-regulations{padding:65px 0;background:#0b121e}
.ap-page .ap-reg-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;border:1px solid #826941;background:linear-gradient(110deg,#25231c,#121d2a 75%);border-radius:17px;padding:29px 32px}
.ap-page .ap-reg-icon{width:51px;height:51px;display:grid;place-items:center;border:2px solid var(--ap-yellow);border-radius:15px;color:var(--ap-yellow);font-size:1.85rem;font-weight:950}
.ap-page .ap-reg-card .ap-kicker{margin-bottom:8px}
.ap-page .ap-reg-card h2{font-size:clamp(1.45rem,2.7vw,2.2rem);margin:0 0 8px}
.ap-page .ap-reg-card p{margin:0;font-size:.83rem;line-height:1.65}
.ap-page .ap-reg-link{font-weight:800;color:var(--ap-bright);white-space:nowrap}
.ap-page .ap-faq-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px}
.ap-page .ap-faq-grid>div:first-child>p{max-width:380px}
.ap-page .ap-faq details{border-bottom:1px solid #334257;padding:19px 0}
.ap-page .ap-faq summary{cursor:pointer;list-style:none;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:1rem}
.ap-page .ap-faq summary::-webkit-details-marker{display:none}
.ap-page .ap-faq summary span{color:#eabc54;font-size:1.35rem;font-weight:500}
.ap-page .ap-faq details[open] summary span{transform:rotate(45deg)}
.ap-page .ap-faq p{margin:10px 0 0;font-size:.88rem}
.ap-page .ap-conclusion{padding:80px 0 100px;background:#0a101b}
.ap-page .ap-conclusion-panel{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:34px;padding:clamp(30px,5vw,57px);border-radius:24px;border:1px solid #8c703c;background:radial-gradient(ellipse at 86% 30%,#b8912828,transparent 56%),linear-gradient(130deg,#192737,#0e1825);box-shadow:0 35px 70px #0005}
.ap-page .ap-conclusion p{color:#b3c5d6;max-width:560px}
.ap-page .ap-conclusion-contact{display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.ap-page .ap-conclusion-contact span{color:#e5bb5e;font-weight:900;letter-spacing:.14em;font-size:.72rem}
.ap-page .ap-conclusion-contact a:first-of-type{font-size:clamp(1.55rem,3vw,2.35rem);font-weight:950;letter-spacing:-.055em;color:#fff}
.ap-page .ap-conclusion-contact a:nth-of-type(2){color:#d2deec;font-size:.88rem}
.ap-page .ap-conclusion-contact small{font-size:.78rem;color:#93aabe}
.ap-page footer{border-top-color:#2b3b4e}
@media(max-width:1100px){.ap-page .ap-service-card{padding:24px 21px}.ap-page .ap-hero-grid{gap:25px}.ap-page .ap-hero h1{font-size:clamp(2.7rem,5.1vw,4.25rem)}}
@media(max-width:930px){.ap-page .ap-hero-grid,.ap-page .ap-adblue-grid,.ap-page .ap-faq-grid,.ap-page .ap-conclusion-panel{grid-template-columns:1fr}.ap-page .ap-hero{padding:65px 0}.ap-page .ap-diagnostic{width:100%;max-width:590px;margin:10px auto 0}.ap-page .ap-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-page .ap-service-card:nth-child(3){grid-column:1/-1}.ap-page .ap-checker{grid-template-columns:1fr}.ap-page .ap-checker-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-page .ap-reg-card{grid-template-columns:auto 1fr}.ap-page .ap-reg-link{grid-column:2}.ap-page .ap-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-page .ap-section{padding:74px 0}.ap-page .ap-conclusion-contact{align-items:flex-start}}
@media(max-width:620px){.ap-page .ap-hero{padding:50px 0 63px}.ap-page .ap-hero h1{font-size:clamp(2.65rem,11.3vw,3.55rem)}.ap-page .ap-badges{gap:7px;margin-bottom:23px}.ap-page .ap-badges span{font-size:.58rem;padding:8px 9px}.ap-page .ap-eyebrow{font-size:.62rem;letter-spacing:.15em}.ap-page .ap-lead{font-size:.95rem}.ap-page .ap-actions .btn{width:100%}.ap-page .ap-points{gap:9px 16px;font-size:.72rem}.ap-page .ap-diagnostic{padding:19px 17px}.ap-page .ap-diagnostic-top{font-size:.54rem}.ap-page .ap-radar{width:min(90%,300px)}.ap-page .ap-diagnostic-bottom{font-size:.49rem}.ap-page .ap-service-strip .wrap{display:grid;grid-template-columns:1fr;gap:8px;padding:15px 0}.ap-page .ap-anchor-nav .wrap{justify-content:flex-start}.ap-page .ap-anchor-nav a{padding:13px 17px}.ap-page .ap-section{padding:65px 0}.ap-page .ap-service-cards,.ap-page .ap-checker-controls,.ap-page .ap-steps{grid-template-columns:1fr}.ap-page .ap-service-card:nth-child(3){grid-column:auto}.ap-page .ap-service-card{min-height:auto}.ap-page .ap-warning-choice{padding:13px}.ap-page .ap-checker-result{padding:23px 20px}.ap-page .ap-adblue-grid{gap:28px}.ap-page .ap-alert-display{padding:20px}.ap-page .ap-alert-triangle{width:105px}.ap-page .ap-reg-card{grid-template-columns:1fr;padding:23px}.ap-page .ap-reg-link{grid-column:1}.ap-page .ap-conclusion{padding:55px 0 100px}.ap-page .ap-conclusion-panel{padding:28px 22px}.ap-page .ap-conclusion-contact a:first-of-type{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.ap-page .ap-radar-sweep,.ap-page .ap-engine-symbol,.ap-page .ap-status-chip i,.ap-page .ap-diagnostic-progress div,.ap-page .ap-alert-triangle{animation:none!important}.ap-page .ap-service-card,.ap-page .ap-warning-choice{transition:none!important}}


/* Note légale en bas de page */
.ap-page .ap-legal-note-section{padding:18px 0 26px;background:#0a101b}
.ap-page .ap-legal-note{max-width:980px;margin:0 auto;padding:14px 16px;border:1px solid #3f4650;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));font-size:.76rem;line-height:1.55;color:#98a7b7}
.ap-page .ap-legal-note h3{margin:0 0 8px;font-size:.9rem;line-height:1.35;color:#d7e0ea;font-weight:800}
.ap-page .ap-legal-note p{margin:0}
.ap-page .ap-legal-note p + p{margin-top:8px}
@media(max-width:620px){.ap-page .ap-legal-note-section{padding:14px 0 20px}.ap-page .ap-legal-note{padding:13px 14px;font-size:.72rem}.ap-page .ap-legal-note h3{font-size:.86rem}}



/* Nouvelle animation d'accueil — interface OBD, signal ECU, étapes progressives. */
.ap-page .ap-obd-panel{width:100%;max-width:505px;min-width:0;margin-inline:auto;position:relative;overflow:hidden;padding:20px 20px 15px;border:1px solid #5c5947;border-radius:20px;background:radial-gradient(circle at 92% 14%,#d5ab4112,transparent 44%),linear-gradient(150deg,#182638,#0d1623 75%);box-shadow:0 25px 60px #0008,inset 0 1px #ffffff0c}
.ap-page .ap-obd-panel:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#eec260b0 35%,#5986a577 75%,transparent)}
.ap-page .ap-obd-header,.ap-page .ap-obd-heading,.ap-page .ap-obd-chart-header,.ap-page .ap-obd-console-label,.ap-page .ap-obd-console-main{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ap-page .ap-obd-header{font-size:.58rem;letter-spacing:.095em;font-weight:900;color:#e5eaf2}
.ap-page .ap-obd-identity{display:flex;align-items:center;gap:7px;white-space:nowrap;min-width:0}
.ap-page .ap-obd-identity small{font-size:.53rem;color:#899aad}
.ap-page .ap-obd-status-led,.ap-page .ap-obd-tiny-led{display:inline-block;flex:none;width:7px;height:7px;background:#efc45c;border-radius:50%;box-shadow:0 0 10px #f7c35b94}
.ap-page .ap-obd-demo{color:#f0cb78;border:1px solid #736140;border-radius:5px;padding:5px 7px;font-size:.51rem;white-space:nowrap}
.ap-page .ap-obd-heading{margin:20px 0 15px;align-items:end}
.ap-page .ap-obd-eyebrow{color:#a0afc1;font-size:.59rem;font-weight:850;letter-spacing:.15em}
.ap-page .ap-obd-heading h2{margin:6px 0 0;font-size:clamp(1.27rem,2.35vw,1.58rem);font-weight:900;letter-spacing:-.048em;line-height:1.16;color:#f0f6fc}
.ap-page .ap-obd-heading h2 em{font-style:normal;color:#f3cb6d}
.ap-page .ap-obd-chip{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #736440;border-radius:10px;color:#f3c766;background:#2c2b29}
.ap-page .ap-obd-chip svg{width:25px;height:25px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.ap-page .ap-obd-display{padding:15px 15px 13px;border:1px solid #324a5a;border-radius:13px;background:linear-gradient(180deg,#0c1826,#0b1420);box-shadow:inset 0 0 22px #0005}
.ap-page .ap-obd-chart-header{font-size:.62rem;color:#bdcbd8;font-weight:850;letter-spacing:.09em;white-space:nowrap}
.ap-page .ap-obd-chart-header>span:first-child{display:flex;gap:6px;align-items:center}
.ap-page .ap-obd-chart-header small{font-size:.52rem;color:#778ca0}
.ap-page .ap-obd-chart-meta{font-size:.53rem;color:#8ba2b2}
.ap-page .ap-obd-chart{height:116px;position:relative;margin:11px 0 13px;overflow:hidden;border:1px solid #243747;border-radius:7px;background-image:linear-gradient(#84a1b010 1px,transparent 1px),linear-gradient(90deg,#84a1b010 1px,transparent 1px),linear-gradient(180deg,#0c1e2c,#0a1622);background-size:100% 26px,27px 100%,auto}
.ap-page .ap-obd-chart svg{display:block;width:100%;height:100%;overflow:visible}
.ap-page .ap-obd-wave{stroke:#f4c961;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:680;stroke-dashoffset:680;animation:ap-obd-trace 3.5s cubic-bezier(.4,0,.3,1) infinite;filter:drop-shadow(0 0 4px #f8c45677)}
.ap-page .ap-obd-wave-fill{opacity:.55;animation:ap-obd-fill 3.5s ease-in-out infinite}
.ap-page .ap-obd-baseline{stroke:#6e8b9b;stroke-width:.8;opacity:.32;stroke-dasharray:3 8}
.ap-page .ap-obd-chart-scan{position:absolute;top:0;bottom:0;width:14%;left:-16%;pointer-events:none;border-right:1px solid #ffdc806b;background:linear-gradient(90deg,transparent,#ecc05e09 50%,#ecc05e16);animation:ap-obd-sweep 3.5s linear infinite}
.ap-page .ap-obd-console{border-top:1px solid #2a3d4d;padding-top:12px}
.ap-page .ap-obd-console-label{font-size:.54rem;letter-spacing:.14em;font-weight:900;color:#8da2b5}
.ap-page .ap-obd-console-label span{color:#e2bd68;font-variant-numeric:tabular-nums}
.ap-page .ap-obd-console-main{min-height:53px;align-items:center;margin-top:4px}
.ap-page .ap-obd-console-main>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.ap-page .ap-obd-console-main>div strong{font-size:1.04rem;line-height:1.2;font-weight:900;color:#f3f7fd}
.ap-page .ap-obd-console-main>div small{font-size:.68rem;color:#a2b4c6;line-height:1.3}
.ap-page .ap-obd-percent{font-size:1.87rem;color:#f1c861;font-weight:950;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.ap-page .ap-obd-percent small{font-size:.43em;margin-left:2px;color:#bac6d2}
.ap-page .ap-obd-track{height:5px;margin-top:6px;border-radius:15px;background:#25374a;overflow:hidden}
.ap-page .ap-obd-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b58b34,#ffd471);border-radius:inherit;box-shadow:0 0 12px #fed16e60;transition:width .09s linear}
.ap-page .ap-obd-panel.is-complete .ap-obd-console-main>div strong,.ap-page .ap-obd-panel.is-complete .ap-obd-percent{color:#8febbb}
.ap-page .ap-obd-panel.is-complete .ap-obd-track span{background:linear-gradient(90deg,#278a64,#81e5b0)}
.ap-page .ap-obd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
.ap-page .ap-obd-steps span{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px 4px;border:1px solid #344459;border-radius:7px;background:#101d2c;color:#8fa2b7;font-size:.52rem;letter-spacing:.02em;font-weight:850;white-space:nowrap;transition:background .24s,border-color .24s,color .24s}
.ap-page .ap-obd-steps span i{display:block;flex:none;width:5px;height:5px;border-radius:50%;background:#60798b}
.ap-page .ap-obd-steps span.is-active{border-color:#c59d4f;color:#ffe09b;background:#302c29}
.ap-page .ap-obd-steps span.is-active i{background:#f4c967;box-shadow:0 0 8px #f5c05e99}
.ap-page .ap-obd-steps span.is-done i{background:#7cdcb0}
.ap-page .ap-obd-disclaimer{text-align:center;margin:12px 0 0;color:#879bb0;font-size:.62rem;line-height:1.4}
@keyframes ap-obd-trace{0%{stroke-dashoffset:680;opacity:.25}12%{opacity:1}80%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes ap-obd-fill{0%,12%{opacity:0}65%,85%{opacity:.55}100%{opacity:0}}
@keyframes ap-obd-sweep{0%{left:-16%;opacity:0}8%{opacity:1}80%{left:102%;opacity:1}90%,100%{left:102%;opacity:0}}
@media(max-width:930px){.ap-page .ap-obd-panel{max-width:505px}}
@media(max-width:620px){.ap-page .ap-obd-panel{max-width:440px;padding:17px 14px 13px}.ap-page .ap-obd-heading{margin:18px 0 14px}.ap-page .ap-obd-chart{height:108px}.ap-page .ap-obd-display{padding:12px}.ap-page .ap-obd-chart-header{font-size:.55rem}.ap-page .ap-obd-chart-header small{font-size:.48rem}.ap-page .ap-obd-steps{gap:4px}.ap-page .ap-obd-steps span{font-size:.46rem;padding:8px 2px;gap:4px}}
@media(max-width:360px){.ap-page .ap-obd-identity small{display:none}.ap-page .ap-obd-chart-meta{display:none}.ap-page .ap-obd-steps span{font-size:.42rem}}
@media(prefers-reduced-motion:reduce){.ap-page .ap-obd-wave,.ap-page .ap-obd-wave-fill,.ap-page .ap-obd-chart-scan{animation:none!important}.ap-page .ap-obd-wave{stroke-dashoffset:0}.ap-page .ap-obd-wave-fill{opacity:.55}.ap-page .ap-obd-chart-scan{display:none}.ap-page .ap-obd-steps span,.ap-page .ap-obd-track span{transition:none!important}}

.ap-page .ap-obd-heading h2 em{margin-left:.08em}


/* Éclat jaune discret — page Anti-pollution */
@keyframes apSoftSpark{0%,100%{opacity:.4;transform:translateX(-8px)}50%{opacity:.8;transform:translateX(8px)}}
.ap-page .ap-yellow-button,.ap-page .ap-diagnostic,.ap-page .ap-alert-display,.ap-page .ap-card-highlight{position:relative;overflow:hidden}
.ap-page .ap-yellow-button:after,.ap-page .ap-diagnostic:after,.ap-page .ap-alert-display:after,.ap-page .ap-card-highlight:after{content:"";position:absolute;left:12%;right:12%;bottom:10px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,219,111,.96),transparent);opacity:.62;pointer-events:none;filter:blur(1.8px);animation:apSoftSpark 4.5s ease-in-out infinite}
.ap-page .ap-diagnostic{box-shadow:0 35px 80px #0007,0 0 60px rgba(212,166,56,.16)}
.ap-page .ap-alert-display{box-shadow:0 27px 70px #0007,0 0 42px rgba(224,174,34,.12)}
.ap-page .ap-alert-count,.ap-page .ap-service-card h3 span,.ap-page .ap-conclusion-contact span{text-shadow:0 0 16px rgba(244,198,79,.12)}
.ap-page .ap-alert-display.is-resolved:after{background:linear-gradient(90deg,transparent,rgba(111,235,165,.95),transparent)}
@media(prefers-reduced-motion:reduce){.ap-page .ap-yellow-button:after,.ap-page .ap-diagnostic:after,.ap-page .ap-alert-display:after,.ap-page .ap-card-highlight:after{animation:none!important}}


/* Footer sombre harmonisé */
body footer,.home-page footer,.ap-page footer,.rv-page footer,.rp-page footer,.er-page footer,.sp-page footer{background:linear-gradient(180deg,#0a1018 0%,#060b12 100%);border-top:1px solid #314557;position:relative}
body footer:before,.home-page footer:before,.ap-page footer:before,.rv-page footer:before,.rp-page footer:before,.er-page footer:before,.sp-page footer:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(125,177,255,.45),transparent)}
