:root{
  --ps-yellow:#f2c200;
  --ps-yellow-dark:#c99f00;
  --ps-ink:#1d2126;
  --ps-graphite:#2b3036;
  --ps-steel:#5c6670;
  --ps-line:#e4e7eb;
  --ps-bg:#f5f6f8;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ps-ink);background:#fff}
a{color:var(--ps-ink)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ps-yellow);color:#000;padding:.5rem 1rem;z-index:2000}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--ps-yellow);outline-offset:2px}

/* Top bar & nav */
.topbar{background:var(--ps-ink);color:#c9ced4;font-size:.85rem}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{color:var(--ps-yellow)}
.navbar{border-bottom:1px solid var(--ps-line)}
.navbar-brand img{height:42px;width:auto}
.nav-link{font-weight:500;color:var(--ps-ink)}
.nav-link:hover,.nav-link.active{color:var(--ps-yellow-dark)}
.btn-ps{background:var(--ps-yellow);border-color:var(--ps-yellow);color:#111;font-weight:600}
.btn-ps:hover,.btn-ps:focus{background:var(--ps-yellow-dark);border-color:var(--ps-yellow-dark);color:#111}
.btn-outline-light:hover{color:#111}

/* Hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;
  background:linear-gradient(90deg,rgba(18,21,25,.88) 0%,rgba(18,21,25,.72) 50%,rgba(18,21,25,.45) 100%),
  url("https://press-steel.eu/wp-content/uploads/2022/08/DJI_0148-scaled-e1661975578868.jpg") center/cover no-repeat}
.hero .eyebrow{color:var(--ps-yellow);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}
.hero h1{font-weight:800;line-height:1.1}
.hero .lead{color:#dfe3e7;max-width:620px}
.hero-badges span{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:2rem;padding:.35rem .8rem;font-size:.85rem;margin:0 .4rem .5rem 0}

/* Figures */
.figures{background:var(--ps-yellow)}
.figure-num{font-size:2.4rem;font-weight:800;line-height:1;color:#111}
.figure-lbl{font-size:.9rem;color:#2a2a2a}

/* Sections */
.section{padding:5rem 0}
.section-alt{background:var(--ps-bg)}
.section-title{font-weight:800;margin-bottom:.5rem}
.section-sub{color:var(--ps-steel);max-width:680px}
.kicker{display:inline-block;color:var(--ps-yellow-dark);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:.5rem}
.kicker::before{content:"";display:inline-block;width:24px;height:3px;background:var(--ps-yellow);vertical-align:middle;margin-right:.5rem}

.svc{border:1px solid var(--ps-line);border-radius:.5rem;overflow:hidden;height:100%;background:#fff;transition:box-shadow .2s,transform .2s}
.svc:hover{box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.svc img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}
.svc .svc-body{padding:1.25rem}
.svc h3{font-size:1.1rem;font-weight:700}
.svc ul{padding-left:1.1rem;margin:0;color:var(--ps-steel);font-size:.93rem}
.svc .ico{width:40px;height:40px;border-radius:.4rem;background:var(--ps-ink);color:var(--ps-yellow);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.75rem}

/* Process */
.step{position:relative;padding-left:3.5rem;margin-bottom:1.75rem}
.step .n{position:absolute;left:0;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ps-ink);color:var(--ps-yellow);font-weight:800;display:flex;align-items:center;justify-content:center}
.step h3{font-size:1.05rem;font-weight:700;margin-bottom:.2rem}
.step p{color:var(--ps-steel);margin:0;font-size:.95rem}

/* Machines */
.machine{display:flex;gap:1.25rem;align-items:flex-start;background:#fff;border:1px solid var(--ps-line);border-radius:.5rem;padding:1rem;height:100%}
.machine img{width:140px;height:110px;object-fit:cover;border-radius:.35rem;flex-shrink:0}
.machine h3{font-size:1.05rem;font-weight:700}
.machine dl{margin:0;font-size:.88rem;color:var(--ps-steel)}
.machine dt{font-weight:600;color:var(--ps-ink);display:inline}
.machine dd{display:inline;margin:0}
.machine dd::after{content:"";display:block}
.todo{background:#fff8d6;border-bottom:1px dashed var(--ps-yellow-dark)}

/* Why */
.why{background:var(--ps-ink);color:#dfe3e7}
.why h2{color:#fff}
.why .item i{color:var(--ps-yellow);font-size:1.6rem}
.why .item h3{color:#fff;font-size:1.05rem;font-weight:700;margin-top:.5rem}
.why .item p{font-size:.93rem;margin:0}

/* Quote form */
.quote-card{background:#fff;border:1px solid var(--ps-line);border-radius:.6rem;padding:2rem;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.form-label{font-weight:600;font-size:.9rem}
.dropzone{border:2px dashed #c3c9d0;border-radius:.5rem;padding:1.25rem;text-align:center;color:var(--ps-steel);cursor:pointer;transition:border-color .2s,background .2s}
.dropzone.drag{border-color:var(--ps-yellow-dark);background:#fffbea}
.file-list{font-size:.85rem}
.contact-aside{background:var(--ps-ink);color:#dfe3e7;border-radius:.6rem;padding:2rem;height:100%}
.contact-aside a{color:#fff;text-decoration:none}
.contact-aside a:hover{color:var(--ps-yellow)}
.contact-aside i{color:var(--ps-yellow)}
.map-wrap{border-radius:.6rem;overflow:hidden;border:1px solid var(--ps-line)}
.map-wrap iframe{display:block;width:100%;height:320px;border:0}
.map-placeholder{height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ps-bg);color:var(--ps-steel);text-align:center;padding:1rem}

/* Footer */
footer{background:#14171a;color:#9aa3ad;font-size:.9rem}
footer a{color:#c9ced4;text-decoration:none}
footer a:hover{color:var(--ps-yellow)}
footer h2{font-size:.95rem;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.05em}

/* Mobile call bar */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;box-shadow:0 -4px 14px rgba(0,0,0,.15)}
.mobile-cta a{flex:1;text-align:center;padding:.85rem;font-weight:700;text-decoration:none}
@media (min-width:992px){.mobile-cta{display:none}}
@media (max-width:991.98px){body{padding-bottom:56px}.hero{min-height:auto;padding:5rem 0}}

/* Cookie banner */
#cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1060;max-width:560px;background:#fff;border:1px solid var(--ps-line);border-radius:.6rem;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:1.25rem;display:none}
@media (max-width:991.98px){#cookie-banner{bottom:70px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.svc{transition:none}}

/* === Protection contre les styles Divi injectés (v1.0.1) === */
body.ps-home{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important}
.ps-home .hero h1,.ps-home .hero h1 *{color:#fff !important;opacity:1 !important}
.ps-home .why h2,.ps-home .why h3{color:#fff !important}
.ps-home .navbar .nav-link,.ps-home .navbar .btn{white-space:nowrap}
@media (min-width:992px) and (max-width:1199.98px){
  .ps-home .navbar-nav .nav-link{padding-left:.45rem;padding-right:.45rem;font-size:.95rem}
  .ps-home .navbar-brand img{height:36px}
}

/* v1.0.4 : logo + menu sur une ligne en mobile */
.ps-home .navbar>.container{flex-wrap:nowrap}
@media (max-width:991.98px){.ps-home .navbar-collapse{position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem;border-bottom:1px solid var(--ps-line)}}
@media (max-width:575.98px){.ps-home .navbar-brand img{height:30px;max-width:65vw;object-fit:contain}}
