/* ==========================================================================
   Section: Steps  ([rimas_steps])
   Dark navy band, 4 ruled columns, outlined numerals, meta line per step.
   ========================================================================== */
.rsteps{padding-block:var(--sec);color:var(--tx-inv);background:var(--ink)}
.rsteps--light{background:var(--paper);color:var(--tx)}

/* Head */
.rsteps__head{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.5rem clamp(2rem,4vw,5rem);
  align-items:end;margin-bottom:clamp(2.25rem,1.4rem + 2.6vw,3.75rem);
}
.rsteps__head .eyebrow{margin-bottom:1.1rem}
.rsteps__title{font-size:var(--t-h2);font-weight:800;line-height:.98;letter-spacing:-.022em;font-stretch:96%;text-wrap:balance}
.rsteps__lead{font-size:var(--t-lead);line-height:1.5;color:var(--tx-inv-mute);max-width:52ch;text-wrap:pretty;padding-bottom:.35rem}
.rsteps--light .rsteps__lead{color:var(--tx-mute)}

/* Steps */
.rsteps__list{
  display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:0;
  border-top:1px solid var(--rule-inv);counter-reset:step;
}
.rsteps--light .rsteps__list{border-top-color:var(--rule)}
.rstep{
  display:flex;flex-direction:column;gap:1.4rem;position:relative;
  padding:clamp(1.75rem,1.2rem + 1.6vw,2.6rem) clamp(1rem,2vw,2rem) 0 0;
  border-right:1px solid var(--rule-inv);
}
.rsteps--light .rstep{border-right-color:var(--rule)}
.rstep:last-child{border-right:0}
.rstep:not(:first-child){padding-left:clamp(1rem,2vw,2rem)}
/* accent tick on the top rule */
.rstep::before{content:"";position:absolute;top:-1px;left:0;width:2.25rem;height:3px;background:var(--rule-inv-2)}
.rstep:first-child::before{background:var(--signal)}
.rstep:not(:first-child)::before{left:clamp(1rem,2vw,2rem)}

.rstep__n{
  font-size:clamp(2.75rem,1.7rem + 3.8vw,4.75rem);font-weight:900;line-height:.8;letter-spacing:-.04em;
  font-stretch:88%;color:transparent;-webkit-text-stroke:1.5px var(--rule-inv-2);
  font-variant-numeric:tabular-nums;transition:color .25s var(--ease),-webkit-text-stroke-color .25s var(--ease);
}
.rsteps--light .rstep__n{-webkit-text-stroke-color:var(--rule-2)}
.rstep:first-child .rstep__n{-webkit-text-stroke-color:var(--accent)}
.rstep:hover .rstep__n{color:var(--accent);-webkit-text-stroke-color:var(--accent)}

.rstep__body{display:flex;flex-direction:column;gap:.55rem}
.rstep__title{font-size:var(--t-h3);font-weight:800;letter-spacing:-.015em;line-height:1.1;text-wrap:balance}
.rstep__meta{
  font-size:var(--t-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-3);font-stretch:104%;
}
.rsteps--light .rstep__meta{color:var(--accent)}
.rstep__text{font-size:var(--t-sm);color:var(--tx-inv-mute);line-height:1.55;text-wrap:pretty;margin-top:.25rem}
.rsteps--light .rstep__text{color:var(--tx-mute)}

/* Photo variant: portrait photo left, steps in a 2×2 grid right */
.rsteps__grid{display:grid;gap:clamp(2rem,3vw,4rem)}
.rsteps--photo .rsteps__grid{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:stretch}
.rsteps--photo .rsteps__list{grid-template-columns:repeat(2,minmax(0,1fr));border-top:0;align-content:start}
.rsteps--photo .rstep{padding-top:0;padding-bottom:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);border-right:0;padding-left:0!important;gap:1rem}
.rsteps--photo .rstep::before{display:none}
.rsteps--photo .rstep:nth-child(odd){padding-right:clamp(1rem,2vw,2rem);border-right:1px solid var(--rule-inv)}
.rsteps--photo .rstep:nth-child(even){padding-left:clamp(1rem,2vw,2rem)!important}
.rsteps--photo .rstep:nth-child(n+3){padding-top:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);border-top:1px solid var(--rule-inv)}
.rsteps--photo .rstep__n{font-size:clamp(2.4rem,1.6rem + 2.6vw,3.6rem)}
.rsteps--photo.rsteps--light .rstep:nth-child(odd){border-right-color:var(--rule)}
.rsteps--photo.rsteps--light .rstep:nth-child(n+3){border-top-color:var(--rule)}

.rsteps__media{position:relative;margin:0;min-height:100%;overflow:hidden;background:var(--ink-2)}
.rsteps__media picture,.rsteps__media img{width:100%;height:100%}
.rsteps__img{object-fit:cover;object-position:50% 30%;position:absolute;inset:0}
.rsteps__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,39,72,0) 55%,rgba(11,39,72,.75) 100%);pointer-events:none}
.rsteps__badge{
  position:absolute;left:1.25rem;bottom:1.25rem;z-index:1;
  display:flex;flex-direction:column;gap:.1rem;padding:.85rem 1.1rem;
  background:var(--signal);color:#fff;
}
.rsteps__badge b{font-size:1.35rem;font-weight:900;line-height:1;letter-spacing:-.02em}
.rsteps__badge span{font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}

/* Closing CTA row */
.rsteps__cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem;
  margin-top:clamp(2.5rem,1.8rem + 2.4vw,4rem);padding-top:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);
  border-top:1px solid var(--rule-inv);
}
.rsteps--light .rsteps__cta{border-top-color:var(--rule)}
.rsteps__cta-tx{flex:1 1 20rem;min-width:0}
.rsteps__cta-tx b{display:block;font-size:clamp(1.1rem,1rem + .55vw,1.45rem);font-weight:800;letter-spacing:-.018em;line-height:1.2}
.rsteps__cta-tx span{display:block;font-size:var(--t-sm);color:var(--tx-inv-mute);margin-top:.3rem;max-width:52ch;text-wrap:pretty}
.rsteps--light .rsteps__cta-tx span{color:var(--tx-mute)}
.rsteps__cta-btns{display:flex;gap:.75rem;flex-wrap:wrap;flex:none}

@media (max-width:900px){
  .rsteps__head{grid-template-columns:1fr;align-items:start}
  .rsteps--photo .rsteps__grid{grid-template-columns:1fr}
  .rsteps__media{min-height:0;aspect-ratio:4/3}
  .rsteps__media picture{position:absolute;inset:0}
  .rsteps__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rstep:nth-child(2n){border-right:0}
  .rstep:nth-child(odd){padding-left:0}
  .rstep:nth-child(odd)::before{left:0}
  .rstep:nth-last-child(n+3){border-bottom:1px solid var(--rule-inv);padding-bottom:2rem}
  .rsteps--light .rstep:nth-last-child(n+3){border-bottom-color:var(--rule)}
}
@media (max-width:560px){
  .rsteps__list,.rsteps--photo .rsteps__list{grid-template-columns:1fr}
  .rsteps--photo .rstep:nth-child(odd){padding-right:0;border-right:0}
  .rsteps--photo .rstep:nth-child(n+2){padding-top:1.5rem;border-top:1px solid var(--rule-inv)}
  .rsteps--photo .rstep{padding-bottom:1.5rem}
  .rstep{border-right:0;padding-left:0!important;padding-right:0;flex-direction:row;gap:1.25rem;align-items:flex-start}
  .rstep::before{left:0!important}
  .rstep:not(:last-child){border-bottom:1px solid var(--rule-inv);padding-bottom:1.75rem}
  .rstep__n{flex:none;width:3.6rem;font-size:2.6rem;line-height:1}
  .rsteps__cta-btns{width:100%}
  .rsteps__cta-btns .rbtn{flex:1 1 100%}
}
