:root{
  --rs-hero:#242721;
  --rs-situazioni:#a87344;
  --rs-call:#c98b52;
  --rs-percorso:#3f4832;
  --rs-recensioni:#262d24;
  --rs-faq:#141713;
  --rs-accent:#d29661;
  --rs-accent-strong:#f0c393;
  --rs-radius-lg:24px;
  --rs-radius-md:18px;
  --rs-shadow-soft:0 8px 18px rgba(0,0,0,.35);
  --rs-shadow-mid:0 12px 24px rgba(0,0,0,.45);
  --rs-shadow-strong:0 16px 32px rgba(0,0,0,.55);
  --rs-transition-fast:.18s cubic-bezier(.22,1,.36,1);
  --rs-transition-slow:.8s cubic-bezier(.22,1,.36,1);

  /* TIPOGRAFIA RADICI SICURE: SOLO DUE DIMENSIONI */
  --rs-font-title: clamp(2.4rem, 3.2vw, 3rem);
  --rs-font-body: 1rem;
}

body.page-radici-sicure{
  background-color:var(--rs-hero);
  color:#f4f1ea;
  overflow-x:hidden;
  font-size:var(--rs-font-body);
}

/* STRUTTURA GENERALE */

.rs-shell{
  max-width:1040px;
  margin:0 auto;
  padding-inline:1.5rem;
}

.rs-band{
  position:relative;
  overflow:hidden;
  z-index:0;
}

.rs-band-inner{
  position:relative;
  z-index:5; /* testo/immagini sopra la spirale */
}

.rs-band:first-of-type .rs-band-inner{
  padding-top:6.2rem;
  padding-bottom:3.5rem;
}

.rs-band:not(:first-of-type) .rs-band-inner{
  padding-block:.5rem;
}

/* SFONDI E GRAIN */

.rs-band--hero{
  background:linear-gradient(180deg,#242721 0%,#35392a 100%);
  color:#f4f1ea;
}

.rs-band--situazioni{
  background:linear-gradient(180deg,#a87344 0%,#8d5e35 100%);
  color:#fff7ee;
}

/* sezione metodo (sovrascritta più giù) */
.rs-band--metodo{
  background:linear-gradient(180deg,#996743 0%,#7c5235 100%);
  color:#fff7ee;
}

.rs-band--call{
  background:linear-gradient(180deg,#c98b52 0%,#b4763f 100%);
  color:#2a180b;
}

.rs-band--percorso{
  background:linear-gradient(180deg,#3f4832 0%,#303726 100%);
  color:#f5f3eb;
}

.rs-band--recensioni{
  background:linear-gradient(180deg,#3f4832 0%,#aa7024 100%);
  color:#f5f3ed;
}

.rs-band--faq{
  background:linear-gradient(180deg,#3f4832 0%,#303726 100%);
  color:#f5f2ec;
}

/* immagine di sfondo sopra il gradiente, sotto il testo (sezione call mattone) */
.rs-band--call::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('Immagini/sfondomattone.jpg') center/cover no-repeat;
  opacity:.35;
  z-index:0;
  pointer-events:none;
}

.rs-grain{
  position:absolute;
  inset:-1px;
  z-index:0;
  opacity:.035;
  pointer-events:none;
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 2px);
  mix-blend-mode:multiply;
}

/* SPIRALE DI STELLE GENERALE (dietro tutto) */

.rs-star-spine-wrapper{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(260px,55vw);
  pointer-events:none;
  z-index:1; /* sotto tutto il contenuto di sezione */
}

.rs-star-spine{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  pointer-events:none;
}

.rs-star-spine path{
  fill:none;
  stroke:#f0c393;
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.25;
  filter:drop-shadow(0 0 4px rgba(240,195,147,.35));
}

@keyframes rs-star-node-glow{
  0%{opacity:.7;transform:scale(1);}
  50%{opacity:1;transform:scale(1.15);}
  100%{opacity:.7;transform:scale(1);}
}

.rs-star-spine .spine-star{
  fill:#fff4df;
  opacity:.6;
  filter:drop-shadow(0 0 6px rgba(240,195,147,.45));
  animation:rs-star-node-glow 4.5s ease-in-out infinite;
}

.rs-star-spine .spine-star.spine-star--slow{
  animation-duration:6s;
  animation-delay:.8s;
}

.rs-star-spine .spine-star.spine-star--fast{
  animation-duration:3.2s;
  animation-delay:.4s;
}

@media(max-width:960px){
  .rs-star-spine-wrapper{
    width:80vw;
  }
}

/* ONDE DI SEPARAZIONE */

.rs-wave{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  width:100%;
  height:clamp(46px,8.5vw,76px);
  line-height:0;
  pointer-events:none;
  z-index:2;
}

.rs-wave svg{
  width:100%;
  height:100%;
  display:block;
}

.rs-wave--hero path{fill:var(--rs-situazioni);}
.rs-wave--situazioni path{fill:var(--rs-call);}
.rs-wave--metodo path{fill:var(--rs-call);}
.rs-wave--call path{fill:var(--rs-percorso);}
.rs-wave--percorso path{fill:var(--rs-recensioni);}
.rs-wave--recensioni path{fill:var(--rs-faq);}

/* TIPOGRAFIA GENERALE */

.rs-section{
  margin-top:.5rem;
}

.rs-section-header{
  margin-bottom:1rem;
  max-width:640px;
}

.rs-hero-title,
.rs-section-header h2,
.rs-call-header h2,
.rs-path-intro h3,
.rs-path-text h4,
.rs-rec-side h3,
.rs-faq-item h3,
.rs-finale-inner h2,
.rs-card h3{
  font-family:'Playfair Display',serif;
  font-size:var(--rs-font-title);
  margin:0 0 .5rem;
  letter-spacing:.02em;
}

.rs-section-header p,
.rs-copy p,
.rs-narrativa,
.rs-narrativa p{
  line-height:1.8;
}

/* HERO */

.rs-hero-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.6rem;
}

.rs-hero-text{flex:1 1 0;}

.rs-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-size:var(--rs-font-body);
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.32rem .9rem;
  border-radius:999px;
  background-color:rgba(244,241,234,.12);
  margin-bottom:.75rem;
}

.rs-hero-badge span.dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--rs-accent),var(--rs-accent-strong));
}

.rs-hero-badge--section{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  width:100%;
  margin-bottom:2rem;
}

.rs-hero-badge--section span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.rs-hero-badge--section .dot{
  margin-right:8px;
}

.rs-hero-kicker{
  font-size:var(--rs-font-body);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:.8rem;
  color:#d2d9d0;
  opacity:.9;
}

.rs-hero-title{
  line-height:1.08;
  color:#fdf8ee;
  letter-spacing:.01em;
}

.rs-hero-text p{
  margin-bottom:1.05rem;
  max-width:36rem;
}

.rs-hero-text p strong{
  font-weight:600;
  color:#fff;
}

.rs-hero-cta-note{
  font-size:var(--rs-font-body);
  opacity:.85;
  margin-top:.3rem;
}

.rs-hero-illus{
  flex:0 0 auto;
  max-width:330px;
}

.rs-hero-illus img{
  width:100%;
  display:block;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.4));
  transform-origin:center center;
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}

/* CTA PRINCIPALE */

.rs-cta-main{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.9rem 1.9rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--rs-accent),var(--rs-accent-strong));
  color:#2b2217;
  border:none;
  cursor:pointer;
  font-size:var(--rs-font-body);
  text-decoration:none;
  box-shadow:var(--rs-shadow-soft);
  transition:transform var(--rs-transition-fast),box-shadow var(--rs-transition-fast),filter var(--rs-transition-fast);
  white-space:nowrap;
}

.rs-cta-main span.text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.05rem;
}

.rs-cta-main span.label{font-weight:600;}

.rs-cta-main span.sub{
  font-size:var(--rs-font-body);
  opacity:.9;
}

.rs-cta-main span.arrow{
  font-size:1.05rem;
  transform:translateX(0);
  transition:transform var(--rs-transition-fast);
}

.rs-cta-main:hover{
  transform:translateY(-1px) scale(1.01);
  filter:brightness(1.05);
  box-shadow:var(--rs-shadow-strong);
}

.rs-cta-main:hover span.arrow{
  transform:translateX(3px);
}

/* CTA HERO stile “cartellino” quadrato */

.rs-cta-main--hero{
  background:#f0c393;
  border-radius:12px;
  padding:1rem 1.3rem;
  box-shadow:var(--rs-shadow-soft);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.rs-cta-main--hero .rs-cta-main-label{
  font-weight:700;
  text-align:center;
  margin-bottom:4px;
  font-size:var(--rs-font-body);
}

.rs-cta-main--hero .rs-cta-main-sub{
  text-align:center;
  line-height:1.3;
  font-size:calc(var(--rs-font-body)*.9);
  opacity:.85;
}

.rs-cta-main--hero .star-icon{
  width:20px;
  height:20px;
}

.rs-cta-main--hero:hover{
  transform:translateY(-2px);
  background:#f3d3a8;
  box-shadow:var(--rs-shadow-mid);
}

/* SITUAZIONI + CARDS */

.rs-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}

.rs-card{
  border-radius:var(--rs-radius-md);
  padding:1.25rem 1.25rem 1.3rem;
  background:rgba(40,22,11,.34);
  box-shadow:var(--rs-shadow-soft);
  font-size:var(--rs-font-body);
  line-height:1.75;
  color:#fffaf3;
  border:1px solid rgba(20,7,3,.3);
  backdrop-filter:blur(9px);
  transition:transform var(--rs-transition-fast),box-shadow var(--rs-transition-fast),background var(--rs-transition-fast);
}

.rs-card h3{
  margin:0 0 .45rem;
  font-weight:600;
}

.rs-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--rs-shadow-mid);
  background:rgba(40,22,11,.42);
}

/* testo narrativo lungo */

.rs-narrativa{
  text-align:center;
  max-width:860px;
  margin:0 auto;
  font-size:var(--rs-font-body);
  line-height:1.9;
}

.rs-narrativa strong{font-weight:600;}

/* BLOCCO CALL GENERALE (tipografia unica) */

.rs-call-block{
  max-width:880px;
  margin:0 auto;
  padding:2.2rem 0 2.6rem;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}

.rs-call-block.rs-call-block--simple{
  padding-inline:0;
}

/* sezione “Verso la tua Stella” (radici-sicure.html) */

#verso-la-tua-stella .rs-band-inner{
  padding-top:1.6rem;
  padding-bottom:2rem;
}

#verso-la-tua-stella .rs-call-block{
  padding-top:2rem;
  padding-bottom:2.2rem;
}

.rs-call-header{
  margin-bottom:1.2rem;
}

.rs-call-kicker{
  font-size:var(--rs-font-body);
  text-transform:uppercase;
  letter-spacing:.14em;
  margin:0 0 .3rem;
  opacity:.85;
  font-weight:600;
}

#verso-la-tua-stella .rs-call-header h2{
  font-family:'Playfair Display',serif;
  font-size:var(--rs-font-title);
  line-height:1.15;
  margin:0 0 .4rem;
  font-weight:700;
}

.rs-call-body p,
#verso-la-tua-stella .rs-metodo-text p{
  font-size:var(--rs-font-body);
  line-height:1.8;
  margin:0 0 .9rem;
  max-width:640px;
}

.rs-call-cta{
  margin-top:1.8rem;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:1rem 1.6rem;
}

.rs-cta-main--call{
  margin:0;
}

/* CTA verso stella più grande su desktop */

@media(min-width:960px){
  #verso-la-tua-stella .rs-cta-main.rs-cta-main--call{
    padding:2rem 20rem;
    border-radius:16px;
    box-shadow:var(--rs-shadow-mid);
  }

  #verso-la-tua-stella .rs-cta-main-label{
    font-size:calc(var(--rs-font-body)*1.15);
    font-weight:700;
  }

  #verso-la-tua-stella .rs-cta-main-sub{
    font-size:var(--rs-font-body);
    line-height:1.3;
  }

  #verso-la-tua-stella .rs-cta-main--call .star-icon{
    width:24px;
    height:24px;
  }
}

/* IMMAGINE DECORATIVA DI SEZIONE (generica) */

.section-deco{
  position:absolute;
  inset:0;
  z-index:2; /* sopra sfondo, sotto testo/sezioni */
  pointer-events:none;
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:var(--deco-opacity,1);
}

.section-deco img{
  width:100%;
  max-width:1920px;
  object-fit:contain;
  filter:blur(.4px);
}

/* Verso la tua stella – tuning mobile */

@media(max-width:768px){
  #verso-la-tua-stella .section-deco{
    justify-content:center;
    align-items:flex-start;
    padding-top:120px;
  }

  #verso-la-tua-stella .section-deco img{
    width:150%;
    max-width:none;
    opacity:.12;
    filter:blur(0);
    transform:translateY(-20%);
  }
}

/* CAMMINO “RADICI SICURE” */

.rs-path-wrapper{
  max-width:880px;
  margin:0 auto;
}

.rs-path-intro{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
  max-width:760px;
  margin-inline:auto;
  margin-bottom:1.2rem;
}

.rs-path-title-center{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-inline:auto;
}

.rs-path-title-center span:last-child{
  font-size:1.15rem;
}

#radici-sicure-percorso .rs-path-intro p{
  font-size:var(--rs-font-body);
  line-height:1.75;
  opacity:.95;
  text-align:center;
  max-width:720px;
  margin-inline:auto;
}

#radici-sicure-percorso .rs-path-intro .rs-hero-badge{
  margin:0 auto 1.2rem auto;
}

/* struttura percorso */

.rs-path{
  position:relative;
  margin-top:1.8rem;
  padding-bottom:.4rem;
}

/* linea centrale che si disegna */

#radici-sicure-percorso .rs-path::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%) scaleY(var(--rs-path-progress,0));
  transform-origin:top;
  width:3px;
  height:100%;
  background:linear-gradient(
    to bottom,
    rgba(240,195,147,.15),
    rgba(240,195,147,.9)
  );
  border-radius:999px;
  z-index:0; /* sotto stelle e testo */
  opacity:.8;
}

.rs-path-steps{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.rs-path-step{
  display:grid;
  grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);
  column-gap:1.4rem;
  align-items:flex-start;
}

.rs-path-marker{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rs-star-node{
  position:relative;
  width:34px;
  height:34px;
  border-radius:50%;
  background:radial-gradient(circle,var(--rs-accent-strong) 0%,var(--rs-accent) 60%,#8b5329 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  animation:rs-star-node-glow 4s ease-in-out infinite;
}

.rs-star-node span{
  font-size:1.15rem;
  color:#2b170a;
  line-height:1;
}

.rs-path-text{
  font-size:var(--rs-font-body);
  line-height:1.7;
}

.rs-path-text p{
  margin:0;
}

.rs-path-step--left .rs-path-text{
  grid-column:1;
  text-align:right;
}

.rs-path-step--left .rs-path-empty{
  grid-column:3;
}

.rs-path-step--right .rs-path-empty{
  grid-column:1;
}

.rs-path-step--right .rs-path-text{
  grid-column:3;
  text-align:left;
}

.rs-path-empty{
  min-height:1px;
}

/* RECENSIONI */

.rs-rec-layout{
  display:grid;
  grid-template-columns:1.2fr .9fr;
  gap:2rem;
  align-items:center;
}

.rs-quote-main{
  position:relative;
  padding:1.5rem 1.6rem 1.7rem;
  border-radius:var(--rs-radius-lg);
  background:rgba(0,0,0,.32);
  box-shadow:var(--rs-shadow-mid);
  border:1px solid rgba(255,255,255,.12);
  font-size:var(--rs-font-body);
  line-height:1.9;
}

.rs-quote-main::before{
  content:"“";
  position:absolute;
  left:.7rem;
  top:-.8rem;
  font-family:'Playfair Display',serif;
  font-size:3.4rem;
  color:rgba(255,255,255,.09);
}

.rs-quote-main span{
  display:block;
  margin-top:.6rem;
  font-size:var(--rs-font-body);
  opacity:.9;
}

.rs-quote-main em{
  font-style:italic;
}

.rs-rec-side h3{
  margin:0 0 .5rem;
  font-weight:600;
}

.rs-rec-side p{
  margin:0 0 .8rem;
  font-size:var(--rs-font-body);
  line-height:1.7;
}

.rs-rec-pills{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.rs-rec-pills li{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:var(--rs-font-body);
  padding:.45rem .7rem;
  border-radius:999px;
  background:rgba(58,116,30,.85);
  border:1px solid rgba(190,195,182,.3);
  box-shadow:0 7px 16px rgba(0,0,0,.45);
}

.rs-rec-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:radial-gradient(circle,var(--rs-accent-strong),var(--rs-accent));
}

/* layout recensione singola / come ti sentirai */

.rs-rec-layout-single{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.rs-rec-side-full{
  max-width:760px;
  margin:0 auto;
}

.rs-rec-side-full h3{
  margin-bottom:1rem;
  text-align:center;
}

/* FAQ */

.rs-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;
}

.rs-faq-item{
  border-radius:var(--rs-radius-md);
  padding:1rem 1rem 1.05rem;
  background:rgba(38,82,40,.9);
  box-shadow:var(--rs-shadow-soft);
  font-size:var(--rs-font-body);
  line-height:1.65;
  color:#f5f2ec;
  border:1px solid rgba(211,215,204,.28);
  backdrop-filter:blur(8px);
}

/* CTA finale */

.rs-finale-inner{
  text-align:center;
  max-width:700px;
  margin:0 auto;
}

.rs-finale-inner h2{
  color:#fdf7ee;
  letter-spacing:.03em;
}

.rs-finale-inner p{
  max-width:620px;
  margin:0 auto 1.5rem;
  line-height:1.8;
  font-size:var(--rs-font-body);
}

/* ANIMAZIONI SCROLL (contenuti) */

[data-rs-animate]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity var(--rs-transition-slow),transform var(--rs-transition-slow);
  will-change:opacity,transform;
}

[data-rs-animate="fade-left"]{transform:translateX(22px);}
[data-rs-animate="fade-right"]{transform:translateX(-22px);}
[data-rs-animate="scale-in"]{transform:scale(.97);}

[data-rs-animate].is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

/* SEZIONE METODO / STORIA */

.rs-metodo-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);
  gap:2.5rem;
  align-items:flex-start;
  margin-top:2.4rem;
}

.rs-metodo-portrait{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.rs-metodo-photo-frame img{
  display:block;
  width:100%;
  height:100%;
}

.rs-metodo-photo-caption{
  font-size:.95rem;
  line-height:1.8;
  opacity:.95;
}

.rs-metodo-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.2rem;
}

.rs-metodo-tags span{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:.2rem .6rem;
  border-radius:999px;
  border:1px solid rgba(240,195,147,.5);
  background:rgba(20,7,3,.35);
}

.rs-metodo-text{
  position:relative;
  padding-left:1.4rem;
  border-left:1px solid rgba(240,195,147,.4);
}

.rs-metodo-text h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.3rem,2vw,1.6rem);
  margin-bottom:.9rem;
  letter-spacing:.02em;
}

.rs-metodo-text p{
  line-height:1.85;
  margin-bottom:.9rem;
}

/* override sfondo metodo più scuro/verde */

.rs-band--metodo{
  background-color:#35392a!important;
  background-image:none!important;
}

.rs-wave--situazioni path{
  fill:#35392a!important;
}

/* CTA nella sezione FAQ */

.rs-call-cta--faq{
  margin-top:3rem;
  display:flex;
  justify-content:center;
  
}

#rs-cta-faq{
  margin-top:1rem;
}

/* PILL “come ti sentirai dopo” – animazione */

#radici-sicure-sentirai .rs-rec-pills li{
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .45s var(--rs-transition-fast),
    transform .45s var(--rs-transition-fast);
}

#radici-sicure-sentirai .rs-rec-pills li.rs-pill-visible{
  opacity:1;
  transform:translateY(0);
}

/* OVERRIDE COLORI SEZIONI (se servono) */

:root{
  --rs-percorso-bg-override:#3f4832;
  --rs-recensioni-bg-override:#3f4832;
}

body.page-radici-sicure .rs-band--percorso{
  background-color:var(--rs-percorso-bg-override)!important;
}

body.page-radici-sicure .rs-band--recensioni{
  background-color:var(--rs-recensioni-bg-override)!important;
}

body.page-radici-sicure .rs-wave--percorso svg path{
  fill:var(--rs-percorso-bg-override)!important;
}

body.page-radici-sicure .rs-wave--recensioni svg path{
  fill:var(--rs-recensioni-bg-override)!important;
}

/* RESPONSIVE GENERALE */

@media(max-width:960px){
  .rs-shell{padding-inline:1.25rem;}

  .rs-band:first-of-type .rs-band-inner{
    padding-top:5.6rem;
    padding-bottom:3.2rem;
  }

  .rs-band:not(:first-of-type) .rs-band-inner{
    padding-block:2.7rem;
  }

  .rs-hero-grid{
    flex-direction:column;
    gap:2rem;
  }

  .rs-hero-illus{
    order:-1;
    max-width:260px;
    align-self:center;
  }

  .rs-cards{
    grid-template-columns:minmax(0,1fr);
  }

  .rs-call-block{
    padding-inline:1.4rem;
  }

  .rs-rec-layout{
    grid-template-columns:minmax(0,1fr);
    gap:1.6rem;
  }

  .rs-faq-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .rs-cta-main{
    width:100%;
    justify-content:space-between;
  }

  .rs-metodo-layout{
    grid-template-columns:1fr;
    gap:2rem;
  }

  .rs-metodo-text{
    padding-left:1rem;
    border-left:1px solid rgba(240,195,147,.3);
  }
}

/* riduzione leggera del body su mobile, titoli invariati */

@media(max-width:600px){
  :root{
    --rs-font-title:2.4rem;
    --rs-font-body:.95rem;
  }

  .rs-hero-text p,
  .rs-narrativa{
    line-height:1.8;
  }

  .rs-metodo-photo-frame{
    border-radius:24px;
  }

  .rs-metodo-photo-frame img{
    border-radius:18px;
  }

  .rs-metodo-text h3{
    font-size:1.2rem;
  }
}

/* ============================================
   CAMMINO RADICI SICURE – MOBILE
   Testo a TUTTA LARGHEZZA sopra linea+stelle
   ============================================ */

@media(max-width:768px){

  #radici-sicure-percorso .rs-path-wrapper{
    padding-top:1rem;
    padding-bottom:1.5rem;
  }

  /* ogni step diventa colonna singola, niente grid tagliata */
  #radici-sicure-percorso .rs-path-step{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    gap:.6rem;
    position:relative;
    width:100%;
  }

  /* testo a tutta larghezza, sopra la linea e le stelle (z-index) */
  #radici-sicure-percorso .rs-path-step .rs-path-text{
    order:0;
    width:100%;
    max-width:100%;
    margin-inline:0;
    text-align:left!important;
    z-index:2; /* sopra linea + stelle */
  }

  #radici-sicure-percorso .rs-path-step .rs-path-text h4{
    margin-bottom:.35rem;
  }

  #radici-sicure-percorso .rs-path-step .rs-path-text p{
    margin:0;
    line-height:1.8;
  }

  /* stella centrata sotto il blocco testo, sotto in z-index */
  #radici-sicure-percorso .rs-path-step .rs-path-marker{
    order:1;
    margin-top:.4rem;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:1;
  }

  /* colonna vuota non serve */
  #radici-sicure-percorso .rs-path-step .rs-path-empty{
    display:none!important;
  }

  /* neutralizzo allineamenti destra/sinistra */
  #radici-sicure-percorso .rs-path-step--left .rs-path-text,
  #radici-sicure-percorso .rs-path-step--right .rs-path-text{
    text-align:left!important;
  }

  /* linea centrale un po' più sottile ma sempre al centro, sotto al testo */
  #radici-sicure-percorso .rs-path::before{
    width:2px;
    opacity:.9;
    z-index:0;
  }
}
/* ============================================
   RIDUZIONE SPAZIO TRA RECENSIONI E FAQ
   ============================================ */

/* Riduce spazio sopra la FAQ */
#radici-sicure-faq .rs-band-inner {
  padding-top: 0.1rem !important;   /* prima era molto più alto */
}

/* Riduce ancora lo spazio sotto la sezione precedente */
#radici-sicure-sentirai.rs-band .rs-band-inner,
.rs-band--recensioni .rs-band-inner {
  padding-bottom: 0.1rem !important;
}
/* ============================================
   RIDUZIONE SPAZI TRA LE SEZIONI RADICI SICURE
   ============================================ */

/* Riduce padding generico delle sezioni (tutte tranne la prima) */
.rs-band:not(:first-of-type) .rs-band-inner {
  padding-top: 0.1rem !important;
  padding-bottom: 0.1rem !important;
}

/* Riduce ancora più marcatamente lo spazio nei punti critici */
#radici-sicure-situazioni .rs-band-inner,
#radici-sicure-metodo .rs-band-inner,
#verso-la-tua-stella .rs-band-inner,
#radici-sicure-percorso .rs-band-inner,
#radici-sicure-sentirai .rs-band-inner,
#radici-sicure-faq .rs-band-inner {
  padding-top: 0.1rem !important;
  padding-bottom: 0.1rem !important;
}

/* Le onde spesso aggiungono una "percezione" di vuoto.
   Riduciamo la loro altezza globale. */
.rs-wave {
  height: clamp(30px, 5vw, 55px) !important;
}

/* Nel caso specifico FAQ: riavviciniamo ancora di più la sezione precedente */
.rs-band--recensioni .rs-band-inner {
  padding-bottom: 0.1rem !important;
}

#radici-sicure-faq .rs-band-inner {
  padding-top: 0.1rem !important;
}
/* ============================================
   DECORAZIONI DI SEZIONE UNIFORMATE (Radici Sicure)
   Gestione generale di .section-deco su desktop e mobile
   ============================================ */

/* Base per tutte le illustrazioni decorative di Radici Sicure */
body.page-radici-sicure .section-deco {
  position: absolute;
 
  inset: 0;
  z-index: 2;               /* sopra il gradiente ma sotto i contenuti */
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: var(--deco-opacity, 0.8);
}

/* Comportamento generale delle immagini decorative */
body.page-radici-sicure .section-deco img {
  width: 200%;
  max-width: none;
  height: auto;
  object-fit: contain;
  opacity: 0.95;
  filter: blur(0.3px);
  transform: translateY(-15);
  transition:
    opacity 0.3s ease-out,
    transform 0.3s ease-out,
    filter 0.3s ease-out;
}

/* ============================
   DESKTOP / LARGE VIEWPORTS
   ============================ */
@media (min-width: 960px) {
  body.page-radici-sicure .section-deco img {
    width: 60%;
    max-width: 1400px;
    opacity: 0.80;          /* leggermente più soft su monitor grandi */
    filter: blur(0.35px);
    transform: translateY();
  }

  /* margini verticali leggermente più ariosi per respirare con l’illustrazione */
  body.page-radici-sicure .rs-band .rs-band-inner {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  /* la prima sezione hero mantiene un po' più spazio in alto */
  body.page-radici-sicure .rs-band:first-of-type .rs-band-inner {
    padding-top: 5.6rem;
  }
}

/* ============================
   TABLET / MOBILE
   ============================ */
@media (max-width: 959px) {
  /* tutte le sezioni hanno spaziatura più compatta */
  body.page-radici-sicure .rs-band .rs-band-inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  /* l’illustrazione diventa più grande e più leggera,
     così riempie lo sfondo senza disturbare il testo */
  body.page-radici-sicure .section-deco img {
    width: 190%;
    max-width: none;
    opacity: 0.18;
    transform: translateY(-12%);
    filter: blur(0);
  }
}

/* ============================
   MOBILE PICCOLO
   ============================ */
@media (max-width: 600px) {
  body.page-radici-sicure .section-deco img {
    width: 200%;
    opacity: 0.14;
    transform: translateY(-18%);
  }
}
/* ======================================================
   OVERRIDE SPECIFICO — SEZIONE "Come ti sentirai dopo"
   (#radici-sicure-sentirai)
   ====================================================== */

#radici-sicure-sentirai .section-deco img {
  width: 130%;
  max-width: 1500px;
  opacity: 0.28;
  filter: blur(0.2px);
  transform: translateY(-4%);
}

/* ============================
   DESKTOP
   ============================ */
@media (min-width: 960px) {
  #radici-sicure-sentirai .section-deco img {
    width: 80%;
    max-width: 1900px;
    opacity: 0.32;       /* un po' più presente */
    transform: translateY(0%);
    filter: blur(0.25px);
  }

  #radici-sicure-sentirai .rs-band-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.7rem;
  }
}

/* ============================
   TABLET / MOBILE
   ============================ */
@media (max-width: 959px) {
  #radici-sicure-sentirai .section-deco img {
    width: 190%;
    opacity: 0.16;      /* più soft per non disturbare il testo */
    transform: translateY(-12%);
    filter: blur(0);
  }

  #radici-sicure-sentirai .rs-band-inner {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

/* ============================
   MOBILE PICCOLO
   ============================ */
@media (max-width: 600px) {
  #radici-sicure-sentirai .section-deco img {
    width: 190%;
    opacity: 0.12;
    transform: translateY(-20%);
  }
}
/* ============================================
   DECORAZIONE SPECIFICA FAQ — .section-decofaq
   ============================================ */

.section-decofaq {
  position: absolute;
  inset: 0;
  z-index: 2;                      /* sopra il background gradiente, sotto il testo */
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: var(--deco-opacity, 0.35);
}

.section-decofaq img {
  width: 150%;
  max-width: 1900px;
  height: auto;
  object-fit: contain;
  opacity: 0.28;
  filter: blur(0.3px);
  transform: translateY(-50%);
  transition: opacity .3s ease-out, transform .3s ease-out;
}

/* ============================
   DESKTOP
   ============================ */
@media (min-width: 960px) {
  .section-decofaq img {
    width: 190%;
    max-width: 1900px;
    opacity: 0.32;
    transform: translateY(-25%);
    filter: blur(0.25px);
  }

  #radici-sicure-faq .rs-band-inner {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

/* ============================
   TABLET / MOBILE
   ============================ */
@media (max-width: 959px) {
  .section-decofaq img {
    width: 180%;
    max-width: none;
    opacity: 0.15;
    transform: translateY(-25%);
    filter: blur(0);
  }

  #radici-sicure-faq .rs-band-inner {
    padding-top: 1.4rem;
    padding-bottom: 1.6rem;
  }
}

/* ============================
   MOBILE PICCOLO
   ============================ */
@media (max-width: 600px) {
  .section-decofaq img {
    width: 210%;
    opacity: 0.12;
    transform: translateY(-20%);
  }
}
/* OVERRIDE SPAZIATURA SEZIONE "Verso la tua Stella" */
#verso-la-tua-stella .rs-band-inner {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

#verso-la-tua-stella .rs-call-block {
  padding-top: 2rem;
  padding-bottom: 2.2rem;
}
/* ============================================
   RADICI SICURE – DISATTIVA RIMBALZI / GLOW
   ============================================ */

/* Stelle della spirale: niente glow, niente rimbalzo */
.rs-star-spine .spine-star {
  animation: none !important;
  display: none;            /* ← se vuoi proprio SOLO la linea */
}

/* Stelle del percorso (timeline): niente rimbalzo */
.rs-star-node {
  animation: none !important;
}
/* =========================================================
   FIX INSTAGRAM — CARD SITUAZIONI + FAQ (mobile)
   SEMPLIFICAZIONE, RIDUZIONE, MAGGIOR COMPATIBILITÀ
   ========================================================= */
@media (max-width: 768px) {

  /* --- 1. CARDS SITUAZIONI --- */
  .rs-card {
    padding: 0.8rem 1rem !important;
    border-radius: 14px !important;
    background: rgba(40,22,11,0.28) !important;
    backdrop-filter: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25) !important;
    border: 1px solid rgba(20,7,3,0.18) !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
  }

  .rs-card p {
    margin-bottom: 0.65rem !important;
  }

  .rs-card .rs-hero-kicker {
    margin-bottom: 0.4rem !important;
    font-size: 0.82rem !important;
    opacity: 0.9;
  }

  /* Evita salti di layout visti negli screenshot */
  .rs-cards {
    gap: 1rem !important;
  }

  /* --- 2. FAQ CARDS --- */
  .rs-faq-item {
    padding: 0.9rem 1rem !important;
    border-radius: 14px !important;
    backdrop-filter: none !important;
    background: rgba(38,82,40,0.78) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25) !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
  }

  .rs-faq-item .rs-hero-kicker {
    font-size: 0.82rem !important;
    margin-bottom: 0.35rem !important;
    opacity: 0.9;
  }

  .rs-faq-grid {
    gap: 0.9rem !important;
  }


  /* --- 3. Riduzione decorazione di sfondo in SITUAZIONI e FAQ --- */
  #radici-sicure-situazioni .section-deco img,
  #radici-sicure-faq .section-decofaq img {
    width: 140% !important;
    opacity: 0.10 !important;
    transform: translateY(-8%) !important;
    filter: none !important;
  }

  /* --- 4. Riduzione padding della sezione per evitare "tagli" su IG --- */
  #radici-sicure-situazioni .rs-band-inner,
  #radici-sicure-faq .rs-band-inner {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
/* ============================================
   BOOST TIPOGRAFIA – SEZIONE "Verso la tua Stella"
   ============================================ */

/* Titolo molto più presente rispetto agli altri h2 */
#verso-la-tua-stella .rs-call-header h2{
  font-size: clamp(2.8rem, 3.8vw, 3.6rem);
}

/* Su mobile teniamo comunque il titolo più grande del resto */
@media (max-width: 768px){
  #verso-la-tua-stella .rs-call-header h2{
    font-size: 2.6rem;
  }
}

/* Kicker un filo più leggibile */
#verso-la-tua-stella .rs-call-kicker{
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Testo corpo leggermente più grande della base globale */
#verso-la-tua-stella .rs-call-body p,
#verso-la-tua-stella .rs-metodo-text p{
  font-size: 1.05rem;
  line-height: 1.9;
}

/* Mobile: non scendiamo sotto l'1rem come nel resto del sito */
@media (max-width: 600px){
  #verso-la-tua-stella .rs-call-body p,
  #verso-la-tua-stella .rs-metodo-text p{
    font-size: 1.02rem;
  }
}

/* CTA – label e sub più simili all'hero */
#verso-la-tua-stella .rs-cta-main.rs-cta-main--call{
  font-size: 1rem;
}

#verso-la-tua-stella .rs-cta-main-label{
  font-size: 1.15rem;
  font-weight: 600;
}

#verso-la-tua-stella .rs-cta-main-sub{
  font-size: 1rem;
  line-height: 1.35;
}
/* assicuriamoci che il frame possa ospitare l'overlay */
.rs-metodo-photo-frame{
  position: relative;
  overflow: hidden;
  border-radius: var(--rs-radius-lg); /* o il valore che usi già */
}

/* video che riempie il riquadro */
.rs-metodo-photo-frame video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* patina solo sopra al video */
.rs-metodo-photo-frame::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("../Immagini/grain.png"); /* o il tuo file di noise */
  background-repeat: repeat;
  background-size: 180%;  /* più alto = grain più fine */
  opacity: 0.16;          /* regola quanto si vede */
  mix-blend-mode: multiply;
}


