:root{
  --ink:#0B1D2A; --ink-2:#132F40; --teal:#0F8B9C; --teal-d:#0B6C7A; --teal-l:#8FD6E0;
  --mist:#F3F7F9; --line:#D9E3E8; --text:#1C2B36; --muted:#55667A; --ok:#178A47; --alert:#B4351F;
}
body{background:#fff}
.rd{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--text);font-size:1.0625rem;line-height:1.65}
.rd *{box-sizing:border-box}
.rd h1,.rd h2,.rd h3,.rd h4{font-family:'IBM Plex Serif',Georgia,serif;color:var(--ink);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:0}
.rd p{margin:0}
.rd a{color:var(--teal-d)}
.rd-wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
.rd-blk{padding:5rem 0}
.rd-blk.alt{background:var(--mist);border-block:1px solid var(--line)}
.rd-head{max-width:46rem;margin-bottom:2.75rem}
.rd-head h2{font-size:clamp(1.7rem,3.2vw,2.35rem);margin-bottom:.9rem}
.rd-head p{color:var(--muted)}

.rd :focus-visible{outline:3px solid var(--teal-l);outline-offset:3px}

/* Buttons */
.rd-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.35rem;border-radius:6px;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s}
.rd a.rd-btn.main{background:var(--teal);color:#fff}
.rd a.rd-btn.main:hover{background:var(--teal-d)}
.rd a.rd-btn.wa{background:var(--ok);color:#fff}
.rd a.rd-btn.wa:hover{background:#106B37}
.rd a.rd-btn.ghost{border-color:currentColor;color:var(--ink)}
.rd a.rd-btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rd .on-dark a.rd-btn.ghost{color:#fff}
.rd .on-dark a.rd-btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.rd-actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* Hero */
.rd-hero{background:var(--ink);color:#fff;padding:8.5rem 0 4.5rem;position:relative;overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px}
.rd-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:center}
.rd .rd-hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:1.25rem}
.rd-hero .sub{color:#C9D6DE;max-width:36rem;margin-bottom:1.75rem}
.rd-free{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink);font-weight:600;padding:.5rem 1rem .5rem .6rem;border-radius:999px;margin-bottom:1.5rem;font-size:.98rem}
.rd-free i{background:var(--ok);color:#fff;width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-size:.95rem}
.rd-trust{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.9rem;color:#C9D6DE;font-size:.95rem;list-style:none;padding:0}
.rd-trust i{color:var(--teal-l);margin-right:.4rem}
.rd-disk{position:relative;aspect-ratio:1;max-width:440px;margin-inline:auto;width:100%}
.rd-disk svg{width:100%;height:100%;display:block}
.rd-disk .spin{transform-box:fill-box;transform-origin:center;animation:rd-spin 48s linear infinite}
@keyframes rd-spin{to{transform:rotate(360deg)}}
.rd-iso{position:absolute;left:0;bottom:2%;background:rgba(11,29,42,.92);border:1px solid rgba(143,214,224,.35);padding:.7rem 1rem;border-radius:6px;font-size:.88rem;color:#C9D6DE;max-width:15rem}
.rd-iso strong{display:block;color:#fff;font-size:1rem}

/* Contact strip */
.rd-strip{background:var(--teal);color:#fff}
.rd-strip-in{display:grid;grid-template-columns:repeat(3,1fr)}
.rd .rd-strip a{color:#fff;text-decoration:none;display:flex;gap:.9rem;align-items:center;padding:1.15rem 1rem;border-left:1px solid rgba(255,255,255,.25)}
.rd .rd-strip a:first-child{border-left:0}
.rd .rd-strip a:hover{background:var(--teal-d)}
.rd-strip i{font-size:1.5rem}
.rd-strip small{display:block;opacity:.85;font-size:.82rem;line-height:1.2}
.rd-strip b{font-weight:600;word-break:break-all}

/* Numbers */
.rd-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.rd-nums div{border-top:3px solid var(--teal);padding-top:.8rem}
.rd-nums b{display:block;font-family:'IBM Plex Serif',serif;font-size:2.1rem;color:var(--ink);line-height:1.1}
.rd-nums span{color:var(--muted);font-size:.95rem}

/* Video */
.rd-video{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,var(--ink-2),var(--ink));box-shadow:0 18px 40px -22px rgba(11,29,42,.6)}
.rd-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--ink);z-index:1}
.rd-video .ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.9rem;color:#C9D6DE;text-align:center;padding:1rem}
.rd-video .ph i{width:4.5rem;height:4.5rem;border-radius:50%;border:2px solid var(--teal-l);color:var(--teal-l);display:grid;place-items:center;font-size:2rem}
.rd-video .ph span{font-size:.95rem}
.rd-vlist{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.7rem}
.rd-vlist li{display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem}
.rd-vlist i{color:var(--teal);font-size:1.15rem;line-height:1.55}

/* Problem -> solution */
.rd-ps{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.rd-col{padding:2rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.rd-col.bad{border-top:4px solid var(--alert)}
.rd-col.good{border-top:4px solid var(--ok)}
.rd-col h3{font-size:1.4rem;margin-bottom:1.25rem}
.rd-col ul{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.rd-col li{display:grid;grid-template-columns:1.6rem 1fr;gap:.7rem}
.rd-col li i{font-size:1.2rem;line-height:1.5}
.rd-col.bad li i{color:var(--alert)}
.rd-col.good li i{color:var(--ok)}
.rd-col li strong{color:var(--ink)}
.rd-now{margin-top:2rem;background:var(--ink);color:#C9D6DE;border-radius:8px;padding:2rem;display:grid;grid-template-columns:auto 1fr;gap:1.5rem 2.5rem;align-items:center}
.rd .rd-now h3{color:#fff;font-size:1.35rem;max-width:15rem}
.rd-now ol{margin:0;padding-left:1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem}
.rd-now li strong{color:#fff}

/* Photo slot: SVG always visible, photo covers it when present */
.rd-fig{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,var(--ink-2),var(--ink));margin:0}
.rd-fig svg{position:absolute;inset:18%;width:64%;height:64%;color:var(--teal-l);opacity:.85}
.rd-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rd-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:.8rem 1rem;background:linear-gradient(transparent,rgba(11,29,42,.9));color:#fff;font-size:.9rem}

/* Clean room */
.rd-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:3.5rem;align-items:center}
.rd-split h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin-bottom:1rem}
.rd-feat{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin-top:2rem}
.rd-feat h4{font-family:'IBM Plex Sans',sans-serif;font-size:1.02rem;font-weight:600;margin-bottom:.25rem}
.rd-feat p{color:var(--muted);font-size:.97rem}
.rd-feat i{color:var(--teal);margin-right:.4rem}

/* Recovery types */
.rd-two{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.rd-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.rd-card .rd-fig{border-radius:0;aspect-ratio:16/9}
.rd-card .rd-fig svg{inset:16% auto auto 50%;transform:translateX(-50%);width:auto;height:68%;aspect-ratio:1}
.rd-card .body{padding:1.75rem;display:flex;flex-direction:column;gap:1rem}
.rd-card h3{font-size:1.4rem}
.rd-card .when{color:var(--muted);font-size:.98rem}
.rd-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.98rem}
.rd-card li i{color:var(--teal);margin-right:.5rem}
.rd-tag{align-self:flex-start;font-size:.88rem;font-weight:600;padding:.2rem .75rem;border-radius:999px;background:var(--mist);border:1px solid var(--line);color:var(--ink)}

/* Supports */
.rd-sup{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rd-sup>div{background:#fff;padding:1.75rem}
.rd-sup i.ic{font-size:1.7rem;color:var(--teal);display:block;margin-bottom:.8rem}
.rd-sup h3{font-size:1.15rem;margin-bottom:.5rem;font-family:'IBM Plex Sans',sans-serif;font-weight:600}
.rd-sup p{color:var(--muted);font-size:.97rem}
.rd-sup a{display:inline-block;margin-top:.6rem;font-weight:600;font-size:.95rem}

/* Steps */
.rd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;list-style:none;margin:0;padding:0;counter-reset:s}
.rd-steps li{counter-increment:s;position:relative;padding-top:3.4rem}
.rd-steps li::before{content:counter(s);position:absolute;top:0;left:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:600}
.rd-steps li::after{content:"";position:absolute;top:1.25rem;left:3.1rem;right:-.8rem;height:2px;background:var(--line)}
.rd-steps li:last-child::after{display:none}
.rd-steps h3{font-size:1.15rem;margin-bottom:.4rem;font-family:'IBM Plex Sans',sans-serif;font-weight:600}
.rd-steps p{color:var(--muted);font-size:.97rem}
.rd-steps .free h3{color:var(--ok)}

/* Audience */
.rd-who{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.rd-who>div{border:1px solid var(--line);border-radius:8px;padding:1.9rem;background:#fff;display:flex;flex-direction:column;gap:.8rem}
.rd-who h3{font-size:1.3rem}
.rd-who p{color:var(--muted);font-size:.98rem}
.rd-who ul{margin:0;padding:0;list-style:none;font-size:.96rem;display:grid;gap:.35rem}
.rd-who li i{color:var(--ok);margin-right:.45rem}
.rd-who .rd-btn{margin-top:auto;align-self:flex-start}

/* Logistics / office */
.rd-sede{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.5rem;margin-top:1.5rem}
.rd-sede h3{font-size:1.1rem;margin-bottom:.8rem;font-family:'IBM Plex Sans',sans-serif;font-weight:600}
.rd-sede table{width:100%;border-collapse:collapse;font-size:.97rem}
.rd-sede td{padding:.5rem 0;border-top:1px solid var(--line);vertical-align:top}
.rd-sede td:last-child{text-align:right;color:var(--muted)}
.rd-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}
.rd-pills span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .85rem;font-size:.92rem}
.rd-pills i{color:var(--ok);margin-right:.35rem}

/* Reviews */
.rd-rev{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.rd-rev blockquote{margin:0;padding:1.75rem;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:1rem;font-size:.99rem}
.rd-rev .st{color:#C98A00;letter-spacing:.15rem}
.rd-rev cite{font-style:normal;font-size:.92rem;color:var(--muted);margin-top:auto}
.rd-rev cite b{color:var(--ink);display:block}

/* Final CTA */
.rd-cta{background:var(--ink);color:#C9D6DE;text-align:center;padding:4.5rem 0}
.rd .rd-cta h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:1rem}
.rd-cta p{max-width:38rem;margin:0 auto 2rem}
.rd-cta .rd-actions{justify-content:center}

@media (max-width:991px){
  .rd-blk{padding:3.5rem 0}
  .rd-hero{padding-top:7rem}
  .rd-hero-grid,.rd-split,.rd-ps{grid-template-columns:1fr}
  .rd-disk{max-width:340px}
  .rd-now{grid-template-columns:1fr}
  .rd-nums,.rd-steps{grid-template-columns:1fr 1fr}
  .rd-steps li::after{display:none}
  .rd-sup,.rd-who,.rd-rev,.rd-two{grid-template-columns:1fr}
  .rd-strip-in{grid-template-columns:1fr}
  .rd .rd-strip a{border-left:0;border-top:1px solid rgba(255,255,255,.25)}
  .rd .rd-strip a:first-child{border-top:0}
}
@media (max-width:575px){
  .rd-now ol,.rd-feat{grid-template-columns:1fr}
  .rd-nums,.rd-steps{grid-template-columns:1fr}
  .rd-actions .rd-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.rd-disk .spin{animation:none}}

/* ===== Aggiunte B2B ===== */
/* Foto reale nell'hero */
.rd-hero-photo{position:relative;margin:0;border-radius:8px;overflow:hidden;box-shadow:0 24px 50px -24px rgba(0,0,0,.7);aspect-ratio:4/3;background:var(--ink-2)}
.rd-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.rd-hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:.9rem 1.1rem;background:linear-gradient(transparent,rgba(11,29,42,.92));color:#fff;font-size:.9rem}
.rd-hero-photo figcaption strong{display:block;font-size:1rem}

/* Galleria lavori */
.rd-gal{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.rd-gal figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;grid-column:span 2}
.rd-gal figure.wide{grid-column:span 3}
.rd-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.rd-gal figure.wide img{aspect-ratio:16/9}
.rd-gal figcaption{padding:1rem 1.1rem 1.15rem;font-size:.95rem;color:var(--muted)}
.rd-gal figcaption strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:.2rem}
.rd-note{margin-top:1.25rem;font-size:.92rem;color:var(--muted)}
.rd-note i{color:var(--teal);margin-right:.35rem}

/* Hero delle pagine interne */
.rd-hero.page{padding:8rem 0 3.5rem}
.rd-crumb{font-size:.9rem;color:#9FB6C3;margin-bottom:1rem}
.rd .rd-crumb a{color:#C9D6DE;text-decoration:none}

/* Elenco sintomi / punti */
.rd-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.rd-list li{display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem}
.rd-list i{color:var(--teal);font-size:1.15rem;line-height:1.55}
.rd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.rd-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.9rem}
.rd-box h3{font-size:1.3rem;margin-bottom:1rem}

/* FAQ */
.rd-faq{display:grid;gap:.8rem;max-width:52rem}
.rd-faq details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.3rem}
.rd-faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.rd-faq details p{margin-top:.7rem;color:var(--muted)}

@media (max-width:991px){
  .rd-gal{grid-template-columns:1fr 1fr}
  .rd-gal figure,.rd-gal figure.wide{grid-column:span 1}
  .rd-grid2{grid-template-columns:1fr}
}
@media (max-width:575px){
  .rd-gal{grid-template-columns:1fr}
}
.rd figcaption,.rd-gal figcaption,.rd-hero-photo figcaption{font-style:normal}
/* Mappa */
.rd-map{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--mist)}
.rd-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Moduli */
.rd-form{display:grid;gap:1rem}
.rd-form label{font-weight:600;font-size:.95rem;color:var(--ink);display:block;margin-bottom:.3rem}
.rd-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rd-form input[type=text],.rd-form input[type=email],.rd-form input[type=tel],.rd-form textarea,.rd-form select{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
.rd-form .hp{position:absolute;left:-9999px}
.rd-price{display:flex;gap:2rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.rd-price div{border-top:3px solid var(--teal);padding-top:.6rem;min-width:12rem}
.rd-price b{display:block;font-family:'IBM Plex Serif',serif;font-size:1.9rem;color:var(--ink)}
.rd-price span{color:var(--muted);font-size:.95rem}
.rd button.rd-btn{cursor:pointer}
.rd button.rd-btn.main{background:var(--teal);color:#fff}
.rd button.rd-btn.main:hover{background:var(--teal-d)}
@media (max-width:575px){.rd-form .row2{grid-template-columns:1fr}}
/* Fascia diagnosi gratuita */
.rd-freeband{background:#E8F6EE;border-bottom:1px solid #BFE3CD}
.rd-freeband .rd-wrap{display:flex;align-items:center;gap:1rem 1.5rem;padding:1.1rem 0;flex-wrap:wrap}
.rd-freeband i.bi-patch-check-fill{color:var(--ok);font-size:1.8rem}
.rd-freeband p{flex:1;min-width:16rem;color:var(--ink)}
.rd-sup p a{display:inline;margin:0;font-size:inherit}
