/*! Repost Studio – pagina Servizi (componenti in più rispetto a Contatti) */

/* ---------- hero: scorciatoie ai servizi ---------- */
.rsp-chips .et_pb_text_inner{ display:flex; flex-wrap:wrap; gap:12px; }
.rsp-chips p{ display:contents; }
.rsp-chips a{
  display:inline-flex; align-items:center; gap:10px; padding:10px 18px 10px 10px; border-radius:999px;
  background:#f6f2f8; color:#111 !important; text-decoration:none !important; font:600 15px/1 Poppins, sans-serif;
  transition:background .3s ease, transform .45s var(--rsc-bounce), box-shadow .3s ease;
}
.rsp-chips a img{ width:30px; height:auto; transition:transform .45s var(--rsc-bounce); }
.rsp-chips a:hover{ background:#fff; transform:translateY(-3px); box-shadow:0 14px 26px -16px rgba(108,40,135,.6); }
.rsp-chips a:hover img{ transform:rotate(-10deg) scale(1.12); }
body.rs-page #main-content .rsc-sec .rsp-chips{ margin-top:clamp(24px,3vw,40px) !important; }

/* ---------- blocchi servizio ---------- */
body.rs-page #main-content .rsp-service{ scroll-margin-top:30px; }
body.rs-page #main-content .rsp-service > .et_pb_row{
  display:flex !important; flex-wrap:wrap; align-items:center !important; gap:clamp(32px,5vw,90px) !important;
  padding:clamp(56px,7vw,110px) 0 !important;
}
body.rs-page #main-content .rsp-service > .et_pb_row > .et_pb_column{ margin:0 !important; flex:1 1 420px !important; width:auto !important; max-width:none !important; }
body.rs-page #main-content .rsp-service.rsp-alt > .et_pb_row{ flex-direction:row-reverse; }
.rsp-service .rsc-h2 :is(h2,h3){ font-size:clamp(36px,4.6vw,68px) !important; line-height:1.02 !important; }
body.rs-page #main-content .rsp-service .rsc-h2{ margin-bottom:0 !important; }
body.rs-page #main-content .rsp-service .rsc-lead{ margin:clamp(16px,2vw,24px) 0 clamp(14px,2vw,22px) !important; }
body.rs-page #main-content .rsp-service .rsc-btn, body.rs-page #main-content .rsp-service .et_pb_button_module_wrapper{ margin-top:clamp(24px,3vw,36px) !important; }
/* punti del servizio: stesse righe dei contatti, senza freccia */
.rsp-point{ cursor:default !important; }
.rsp-point .rsc-go{ visibility:hidden; }
.rsp-point:hover .et_pb_module_header, .rsp-point:hover .et_pb_module_header span{ background-size:100% 100%; }
.rsp-point .et_pb_module_header{
  background:linear-gradient(transparent 60%, rgba(254,193,68,.9) 60%, rgba(254,193,68,.9) 92%, transparent 92%) no-repeat 0 0 / 0% 100%;
  transition:background-size .5s var(--rsc-ease); display:inline !important;
}

/* immagini: una grande + una piccola che fluttua sopra */
.rsp-media-col{ position:relative; }
body.rs-page #main-content .rsp-media{ margin:0 !important; }
.rsp-media .et_pb_image_wrap{
  display:block; border-radius:clamp(24px,3vw,36px); overflow:hidden;
  background:linear-gradient(135deg,#f6f1f8,#fdf6e6);
  box-shadow:0 34px 60px -36px rgba(108,40,135,.55);
}
.rsp-media img{ width:100%; aspect-ratio:4/3.4; object-fit:cover; display:block; transition:transform 1.2s var(--rsc-ease); }
.rsp-media:hover img{ transform:scale(1.04); }
body.rs-page #main-content .rsp-media-2{
  position:absolute !important; width:38% !important; right:-4%; bottom:-10%; z-index:2; margin:0 !important;
  animation:rsp-float 6s ease-in-out infinite;
}
.rsp-alt .rsp-media-2{ right:auto !important; left:-4%; }
.rsp-media-2 .et_pb_image_wrap{ display:block; border-radius:22px; overflow:hidden; border:6px solid #fff; box-shadow:0 26px 40px -22px rgba(0,0,0,.45); background:#fff; }
.rsp-media-2 img{ width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
@keyframes rsp-float{ 0%,100%{ transform:translateY(0) rotate(-2deg); } 50%{ transform:translateY(-12px) rotate(1deg); } }
/* anello sfumato dietro l'immagine */
.rsp-media-col::before{
  content:""; position:absolute; z-index:0; width:46%; aspect-ratio:1; top:-8%; left:-8%; border-radius:50%; pointer-events:none;
  background:conic-gradient(from 200deg,#894092,#f2c937,#894092);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 18px),#000 calc(100% - 17px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 18px),#000 calc(100% - 17px));
  animation:rsc-spin 28s linear infinite; opacity:.85;
}
.rsp-alt .rsp-media-col::before{ left:auto; right:-8%; }
.rsp-media-col > .et_pb_module{ position:relative; z-index:1; }

/* ---------- servizio in evidenza su fondo scuro (Strumenti su misura) ---------- */
body.rs-page #main-content .rsp-dark > .et_pb_row{
  position:relative; overflow:hidden; isolation:isolate;
  width:94% !important; max-width:1400px !important; border-radius:clamp(28px,4vw,48px);
  padding:clamp(56px,7vw,110px) clamp(22px,5vw,80px) !important; margin:clamp(20px,3vw,40px) auto !important;
  background:radial-gradient(120% 90% at 30% 0%, #4a1a5e 0%, #26102f 55%, #1a0a21 100%);
  box-shadow:0 40px 80px -40px rgba(108,40,135,.65);
}
.rsp-dark .rsc-h2 :is(h2,h3), .rsp-dark .rsc-row .et_pb_module_header{ color:#fff !important; }
.rsp-dark .rsc-h2 em{ font-style:normal; color:var(--rsc-gold); }
.rsp-dark .rsc-lead p{ color:rgba(255,255,255,.8) !important; }
.rsp-dark .rsc-lead strong{ color:var(--rsc-gold); }
.rsp-dark .rsc-eyebrow p, .rsp-dark .rsc-row .et_pb_blurb_description, .rsp-dark .rsc-row .et_pb_blurb_description p{ color:var(--rsc-gold) !important; }
.rsp-dark .rsc-row::after{ background:rgba(255,255,255,.18); }
.rsp-dark .rsc-num{ color:rgba(255,255,255,.5); }
.rsp-dark .rsp-media .et_pb_image_wrap{ box-shadow:0 34px 60px -30px rgba(0,0,0,.7); }
.rsp-dark .rsp-media-2 .et_pb_image_wrap{ border-color:#2b1234; }

/* ---------- come lavoriamo ---------- */
body.rs-page #main-content .rsp-process > .et_pb_row{ padding:clamp(56px,7vw,110px) 0 0 !important; }
body.rs-page #main-content .rsp-steps > .et_pb_row{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.8vw,24px) !important; padding:clamp(24px,3vw,40px) 0 0 !important; }
body.rs-page #main-content .rsp-steps > .et_pb_row > .et_pb_column{ width:auto !important; margin:0 !important; max-width:none !important; }
body.rs-page #main-content .rsp-step{
  position:relative; height:100%; padding:clamp(22px,2.4vw,32px) !important; border-radius:28px; background:#f7f3f9;
  overflow:hidden; isolation:isolate; transition:transform .5s var(--rsc-bounce), box-shadow .4s ease, background .4s ease;
}
.rsp-step::before{
  content:""; position:absolute; z-index:-1; width:120px; aspect-ratio:1; right:-40px; top:-40px; border-radius:50%;
  background:conic-gradient(from 200deg,#894092,#f2c937,#894092);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px));
  opacity:.5; transition:transform .8s var(--rsc-ease), opacity .4s ease;
}
.rsp-step:hover{ transform:translateY(-8px); background:#fff; box-shadow:0 30px 50px -30px rgba(108,40,135,.55); }
.rsp-step:hover::before{ transform:rotate(120deg) scale(1.2); opacity:1; }
.rsp-step h3{ font:800 clamp(22px,1.9vw,28px)/1.1 Poppins, sans-serif !important; color:#000 !important; margin:0 0 10px !important; padding:0 !important; }
.rsp-step h3 span{
  display:block; margin-bottom:14px; font-size:clamp(40px,3.6vw,56px); line-height:1;
  background:linear-gradient(135deg,#894092,#f2c937); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.rsp-step p{ font:400 15px/1.6 Poppins, sans-serif !important; color:#555 !important; padding:0 !important; }

/* ---------- galleria lavori ---------- */
body.rs-page #main-content .rsp-works > .et_pb_row:first-child{ padding:clamp(56px,7vw,110px) 0 0 !important; }
body.rs-page #main-content .rsp-gallery{ display:block !important; column-count:4; column-gap:clamp(12px,1.6vw,22px); padding-top:clamp(24px,3vw,40px) !important; }
body.rs-page #main-content .rsp-gallery > .et_pb_module{ break-inside:avoid; margin:0 0 clamp(12px,1.6vw,22px) !important; width:100% !important; display:block !important; }
.rsp-shot .et_pb_image_wrap{ display:block; border-radius:24px; overflow:hidden; background:linear-gradient(135deg,#f6f1f8,#fdf6e6); position:relative; }
.rsp-shot img{ width:100%; display:block; transition:transform .9s var(--rsc-ease); }
.rsp-shot .et_pb_image_wrap::after{
  content:""; position:absolute; right:12px; bottom:12px; width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,#894092,#f2c937); transform:scale(0) rotate(-90deg); transition:transform .5s var(--rsc-bounce);
}
.rsp-shot:hover img{ transform:scale(1.05); }
.rsp-shot:hover .et_pb_image_wrap::after{ transform:none; }

@media (max-width:980px){
  body.rs-page #main-content .rsp-steps > .et_pb_row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.rs-page #main-content .rsp-gallery{ column-count:2; }
  body.rs-page #main-content .rsp-service.rsp-alt > .et_pb_row{ flex-direction:row; }
}
@media (max-width:600px){
  body.rs-page #main-content .rsp-steps > .et_pb_row{ grid-template-columns:1fr; }
  body.rs-page #main-content .rsp-media-2{ width:42% !important; right:-2%; bottom:-6%; }
}
@media (prefers-reduced-motion:reduce){ .rsp-media-2, .rsp-media-col::before{ animation:none !important; } }

/* parole evidenziate nei titoli: viola (oro sul fondo scuro), mai in corsivo */
.rsc-sec:not(.rsp-dark) .rsc-h2 em{ font-style:normal; color:var(--rsc-purple); }
.rsc-sec .rsc-h2 em{ font-style:normal; }
/* spazio sotto le immagini per l'immagine piccola che fluttua */
body.rs-page #main-content .rsp-media-col{ padding-bottom:clamp(40px,6vw,70px) !important; }
@media (max-width:980px){
  body.rs-page #main-content .rsp-media-col{ padding-bottom:clamp(50px,12vw,90px) !important; }
  body.rs-page #main-content .rsp-media-2{ bottom:0; }
}
/* immagini verticali (telefoni): intere, centrate nella card, niente ritaglio */
.rsp-media.rsp-tall .et_pb_image_wrap{ display:flex; justify-content:center; align-items:center; padding:clamp(20px,3vw,40px); }
.rsp-media.rsp-tall img{
  aspect-ratio:auto !important; object-fit:contain !important; width:auto !important; max-width:100%;
  height:clamp(340px,40vw,560px) !important; filter:drop-shadow(0 24px 30px rgba(40,10,50,.28));
}
.rsp-media.rsp-tall:hover img{ transform:translateY(-6px) scale(1.02); }
.rsp-dark .rsp-media.rsp-tall .et_pb_image_wrap{ background:radial-gradient(80% 70% at 50% 40%, rgba(242,201,55,.18), rgba(137,64,146,.12) 60%, transparent 100%); }
body.rs-page #main-content .rsp-media-2.rsp-tall{ width:26% !important; }
.rsp-media-2.rsp-tall .et_pb_image_wrap{ border:0 !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important; }
.rsp-media-2.rsp-tall img{ aspect-ratio:auto !important; object-fit:contain !important; height:auto !important; filter:drop-shadow(0 22px 26px rgba(40,10,50,.4)); }
@media (max-width:600px){ body.rs-page #main-content .rsp-media-2.rsp-tall{ width:30% !important; } }
/* card delle immagini verticali sempre larga quanto la colonna, telefono al centro */
body.rs-page #main-content .rsp-media.rsp-tall{ width:100% !important; text-align:center; }
.rsp-media.rsp-tall .et_pb_image_wrap{ width:100% !important; box-sizing:border-box; min-height:clamp(380px,44vw,620px); }