/* OSLOC 2026 — Nuestro método. Referencia gráfica: dos columnas, seis etapas. */
.osloc-method {
  position: relative;
  box-sizing: border-box;
  isolation: isolate;
  width: 100vw;
  max-width: none;
  margin: 0 0 0 calc(50% - 50vw);
  background: #FEFEFE !important;
  color: #062A40;
  padding: clamp(58px, 5.6vw, 88px) 0 clamp(95px, 8.2vw, 140px);
  font-family: 'Poppins', sans-serif !important;
  overflow: hidden;
  scroll-margin-top: 105px;
}
.osloc-method *, .osloc-method *::before, .osloc-method *::after {
  box-sizing: border-box;
}
.osloc-method__container {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 112px), 1280px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  gap: 0;
}
.osloc-method__identity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.osloc-method__logo {
  width: clamp(185px, 18vw, 245px);
  height: auto;
  max-height: 85px;
  max-width: 85%;
  object-fit: contain;
  object-position: left center;
  display: block;
  margin: 0 0 clamp(60px, 6.8vw, 103px);
  padding: 0;
  box-shadow: none;
  border: 0;
  filter: none;
}
.osloc-method .osloc-method__identity h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(52px, 5.9vw, 93px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: -.042em;
  text-align: left !important;
  color: #0A4B73 !important;
  margin: 0 !important;
  padding: 0;
  text-transform: none !important;
}
.osloc-method__identity h2 span,
.osloc-method__identity h2 strong {
  display: block;
}
.osloc-method .osloc-method__identity h2 strong {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  color: #062A40 !important;
}
.osloc-method .osloc-method__description {
  font: 400 clamp(19px, 2vw, 29px)/1.38 'Poppins', sans-serif !important;
  color: #0A4B73 !important;
  margin: clamp(55px, 5.6vw, 89px) 10% 0 0 !important;
  max-width: 470px;
  text-align: left !important;
  letter-spacing: -.015em;
}
.osloc-method__steps {
  list-style: none !important;
  counter-reset: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(22px, 2.35vw, 34px);
  margin: clamp(105px, 10.5vw, 158px) 0 0 !important;
  padding: 0 !important;
}
.osloc-method__step {
  display: grid;
  grid-template-columns: clamp(52px, 6vw, 90px) minmax(0, 1fr);
  gap: clamp(9px, 1.5vw, 20px);
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  align-items: start;
}
.osloc-method__step::before,
.osloc-method__step::marker {
  content: none !important;
}
.osloc-method .osloc-method__number {
  display: block;
  font: 400 clamp(22px, 2.05vw, 31px)/1.25 'Poppins', sans-serif !important;
  color: #0F628C !important;
  padding-top: .1em;
  letter-spacing: -.02em;
}
.osloc-method .osloc-method__copy h3 {
  display: block;
  font: 700 clamp(22px, 2.3vw, 32px)/1.25 'Poppins', sans-serif !important;
  letter-spacing: -.027em;
  color: #062A40 !important;
  text-align: left !important;
  text-transform: none !important;
  margin: 0 0 5px !important;
}
.osloc-method .osloc-method__copy p {
  font: 400 clamp(18px, 1.83vw, 27px)/1.4 'Poppins', sans-serif !important;
  color: #1D252B !important;
  margin: 0 !important;
  text-align: left !important;
  letter-spacing: -.02em;
}
.osloc-method__ornament {
  position: absolute;
  z-index: 0;
  bottom: clamp(-240px, -15vw, -115px);
  left: clamp(-235px, -11vw, -90px);
  width: clamp(280px, 34vw, 520px);
  height: auto;
  display: block;
  pointer-events: none;
  user-select: none;
  opacity: 1;
  filter: none;
}
@media (max-width: 1080px) {
  .osloc-method__container { width: calc(100% - 90px); grid-template-columns: minmax(0, 48%) minmax(0, 52%); }
  .osloc-method__steps { margin-top: 116px !important; }
  .osloc-method .osloc-method__copy h3 { font-size: clamp(21px, 2.35vw, 28px) !important; }
  .osloc-method .osloc-method__copy p { font-size: clamp(16px, 2vw, 24px) !important; }
}
@media (max-width: 730px) {
  .osloc-method { padding: 54px 0 85px; }
  .osloc-method__container {
    grid-template-columns: 1fr;
    width: calc(100% - 44px);
  }
  .osloc-method__logo {
    width: min(190px, 56vw);
    margin-bottom: 42px;
  }
  .osloc-method .osloc-method__identity h2 { font-size: clamp(56px, 12vw, 76px) !important; line-height: 1.1 !important; }
  .osloc-method .osloc-method__description {
    margin: 26px 0 0 !important;
    max-width: 470px;
    font-size: clamp(18px, 4.25vw, 23px) !important;
  }
  .osloc-method__steps {
    margin: 55px 0 0 !important;
    gap: 27px;
  }
  .osloc-method__step { grid-template-columns: 45px minmax(0,1fr); gap: 12px; }
  .osloc-method .osloc-method__number { font-size: 19px !important; }
  .osloc-method .osloc-method__copy h3 { font-size: clamp(22px, 5.4vw, 27px) !important; }
  .osloc-method .osloc-method__copy p { font-size: clamp(17px, 4.2vw, 20px) !important; }
  .osloc-method__ornament {
    width: 240px;
    left: -115px;
    bottom: -135px;
    opacity: .8;
  }
}
