/* =========================================================
   Pra quem serve — layout e tipografia próprios
   ========================================================= */

.method--fit{
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,100px) 0!important;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%,rgba(255,106,0,.12),transparent 58%),
    linear-gradient(180deg,#0c0b0a 0%,#12100e 100%)!important;
}

.method-fit{
  width:min(100% - 2rem,1120px);
  margin:0 auto;
}

/* ---- Intro ---- */
.method-fit__intro{
  max-width:38rem;
  margin:0 0 clamp(2rem,4vw,2.75rem);
  text-align:left;
}
.method-fit__intro .eyebrow{
  margin:0 0 .9rem;
}
.method-fit__title{
  margin:0 0 1rem;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-weight:650;
  font-size:clamp(2.15rem,4.6vw,3.65rem);
  line-height:1.05;
  letter-spacing:-.04em;
  color:#fff;
}
.method-fit__title-main{
  display:block;
}
.method-fit__title-main em{
  display:inline;
  font-family:var(--editorial,"Libre Bodoni",Georgia,serif);
  font-style:italic;
  font-weight:500;
  font-size:1.02em;
  color:#ff8a3d;
  -webkit-text-fill-color:#ff8a3d;
  letter-spacing:-.03em;
  -webkit-text-stroke:0;
  background:none;
}
.method-fit__title-sub{
  display:block;
  margin-top:.12em;
  color:#fff;
}
.method-fit__lead{
  margin:0;
  max-width:32rem;
  font-size:clamp(.95rem,1.2vw,1.05rem);
  line-height:1.55;
  color:rgba(255,255,255,.58);
  letter-spacing:-.01em;
}

/* ---- Layout: só 4 pontos positivos (sem painel negativo) ---- */
.method-fit--compact{
  padding:clamp(52px,6.5vw,80px) 0!important;
}
.method-fit__layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.72fr);
  gap:clamp(1rem,2.2vw,1.35rem);
  align-items:stretch;
}
.method-fit__panel{display:none!important}

.method-fit__grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(.85rem,1.5vw,1rem);
  min-width:0;
}
.method-fit__grid--solo{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.75rem,1.4vw,.9rem);
}
@media (max-width:960px){
  .method-fit__grid--solo{
    grid-template-columns:1fr 1fr;
  }
}

.method-fit__card{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:0;
  min-width:0;
  margin:0;
  padding:1.15rem 1.15rem 1.2rem;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.method-fit__num{
  display:block;
  margin:0 0 .55rem;
  color:#ff6a00;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
}
.method-fit__card-title{
  margin:0 0 .5rem;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-weight:650;
  font-size:clamp(1.02rem,1.4vw,1.14rem);
  line-height:1.22;
  letter-spacing:-.03em;
  color:#fff;
}
.method-fit__card-text{
  margin:0;
  font-size:.88rem;
  line-height:1.48;
  color:rgba(255,255,255,.58);
  letter-spacing:-.01em;
}
.method-fit--compact .method-fit__intro{
  max-width:34rem;
  margin-bottom:clamp(1.35rem,2.5vw,1.75rem);
}
.method-fit--compact .method-fit__card{
  padding:1rem 1rem 1.05rem;
  min-height:0;
}

/* ---- Side panel ---- */
.method-fit__panel{
  display:flex;
  flex-direction:column;
  min-height:0;
  margin:0;
  padding:1.25rem 1.2rem 1.3rem;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.method-fit__panel-label{
  margin:0 0 1.05rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  line-height:1.35;
  max-width:22ch;
}
.method-fit__panel-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
  flex:1 1 auto;
}
.method-fit__panel-list li{
  display:flex;
  flex-direction:column;
  gap:.42rem;
  padding:.9rem 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.method-fit__panel-list li:first-child{
  padding-top:0;
  border-top:0;
}
.method-fit__panel-list li:last-child{
  padding-bottom:0;
}
.method-fit__panel-list span{
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#ff8a3d;
  line-height:1.25;
}
.method-fit__panel-list strong{
  font-size:.9rem;
  font-weight:550;
  color:rgba(255,255,255,.88);
  line-height:1.45;
  letter-spacing:-.01em;
}

/* ---- Responsive ---- */
@media (max-width:960px){
  .method-fit__layout{
    grid-template-columns:1fr;
  }
  .method-fit__panel{
    order:2;
  }
  .method-fit__title{
    font-size:clamp(2rem,6.5vw,3rem);
  }
}

@media (max-width:560px){
  .method--fit{
    padding:clamp(52px,12vw,72px) 0!important;
  }
  .method-fit{
    width:min(100% - 1.5rem,1120px);
  }
  .method-fit__grid{
    grid-template-columns:1fr;
    gap:.75rem;
  }
  .method-fit__intro{
    margin-bottom:1.5rem;
  }
  .method-fit__title{
    font-size:clamp(1.85rem,8.5vw,2.4rem);
  }
  .method-fit__lead{
    font-size:.94rem;
  }
  .method-fit__card{
    padding:1.15rem 1.1rem 1.2rem;
  }
  .method-fit__panel{
    padding:1.15rem 1.1rem 1.2rem;
  }
}

/* Não herdar o grid genérico antigo de 5 colunas */
.method--fit .method-cards__grid,
.method--fit .visibility-layout{
  display:contents;
}
