{"id":12,"date":"2026-09-17T00:09:32","date_gmt":"2026-09-17T00:09:32","guid":{"rendered":"https:\/\/oryansurveyors.pro\/servicios\/"},"modified":"2026-10-01T04:04:18","modified_gmt":"2026-10-01T04:04:18","slug":"servicios","status":"publish","type":"page","link":"https:\/\/oryansurveyors.pro\/en\/servicios\/","title":{"rendered":"Services"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ea3bcb1 e-con e-atomic-element e-flexbox-base e-default-div e-425bc5e \" data-id=\"ea3bcb1\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"ea3bcb1\" data-e-type=\"e-flexbox\" data-id=\"ea3bcb1\">\n    \t\t<div class=\"elementor-element elementor-element-cf3ce93 elementor-widget elementor-widget-html\" data-id=\"cf3ce93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oryan-world\">\n  <header class=\"ow-header\">\n    <div>\n      <span class=\"ow-eyebrow\">O\u2019RYAN SURVEYORS<\/span>\n      <h2>Presencia por el mundo<\/h2>\n      <p>\n        Conoce los pa\u00edses donde hemos operado y donde se reconocen\n        nuestros certificados.\n      <\/p>\n    <\/div>\n\n    <div class=\"ow-stats\">\n      <div>\n        <strong data-total=\"operations\">8<\/strong>\n        <span>Pa\u00edses con operaciones<\/span>\n      <\/div>\n      <div>\n        <strong data-total=\"certifications\">13<\/strong>\n        <span>Pa\u00edses reconocen nuestros certificados<\/span>\n      <\/div>\n    <\/div>\n  <\/header>\n\n  <div class=\"ow-filters\" aria-label=\"Filtrar pa\u00edses\">\n    <button type=\"button\" data-filter=\"all\" aria-pressed=\"true\">\n      Todos\n    <\/button>\n\n    <button type=\"button\" data-filter=\"operations\" aria-pressed=\"false\">\n      <span class=\"ow-dot ow-red\"><\/span>\n      Operaciones\n    <\/button>\n\n    <button type=\"button\" data-filter=\"certifications\" aria-pressed=\"false\">\n      <span class=\"ow-dot ow-blue\"><\/span>\n      Certificaciones\n    <\/button>\n  <\/div>\n\n  <div class=\"ow-layout\">\n    <div class=\"ow-map\">\n      <svg\n        class=\"ow-svg\"\n        viewBox=\"0 0 1200 650\"\n        role=\"group\"\n        aria-label=\"Mapa interactivo de presencia internacional\"\n      >\n        <g class=\"ow-land\"><\/g>\n        <g class=\"ow-markers\"><\/g>\n      <\/svg>\n\n      <p class=\"ow-status\" role=\"status\">Cargando mapa\u2026<\/p>\n\n      <div class=\"ow-map-caption\">\n        Selecciona un marcador para conocer nuestra presencia.\n      <\/div>\n    <\/div>\n\n    <aside class=\"ow-sidebar\">\n      <div class=\"ow-details\" aria-live=\"polite\"><\/div>\n\n      <label class=\"ow-search-label\">\n        Buscar pa\u00eds\n        <input\n          class=\"ow-search\"\n          type=\"search\"\n          placeholder=\"Escribe un pa\u00eds...\"\n        >\n      <\/label>\n\n      <div class=\"ow-country-list\" aria-label=\"Lista de pa\u00edses\"><\/div>\n    <\/aside>\n  <\/div>\n\n  <div class=\"ow-legend\">\n    <span>\n      <span class=\"ow-dot ow-red\"><\/span>\n      Pa\u00edses donde hemos operado\n    <\/span>\n\n    <span>\n      <span class=\"ow-dot ow-blue\"><\/span>\n      Pa\u00edses donde reconocen nuestros certificados\n    <\/span>\n  <\/div>\n<\/div>\n\n<style>\n  .oryan-world {\n    --ow-blue: #2e4c96;\n    --ow-red: #ce3939;\n    --ow-text: #203047;\n    --ow-gray: #aaadaa;\n    width: 100%;\n    max-width: 1500px;\n    margin: 0 auto;\n    padding: 30px;\n    background: #fff;\n    color: var(--ow-text);\n    font-family: Arial, Helvetica, sans-serif;\n    box-sizing: border-box;\n  }\n\n  .oryan-world *,\n  .oryan-world *::before,\n  .oryan-world *::after {\n    box-sizing: border-box;\n  }\n\n  .oryan-world .ow-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-start;\n    gap: 35px;\n    margin-bottom: 25px;\n  }\n\n  .oryan-world .ow-eyebrow {\n    color: var(--ow-blue);\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 2px;\n  }\n\n  .oryan-world h2 {\n    margin: 12px 0;\n    color: var(--ow-text);\n    font-size: clamp(30px, 4vw, 48px);\n    line-height: 1.08;\n    letter-spacing: -1.5px;\n  }\n\n  .oryan-world .ow-header p {\n    max-width: 570px;\n    margin: 0;\n    color: #687487;\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  .oryan-world .ow-stats {\n    display: flex;\n    gap: 28px;\n    max-width: 340px;\n  }\n\n  .oryan-world .ow-stats > div {\n    flex: 1;\n  }\n\n  .oryan-world .ow-stats strong {\n    display: block;\n    color: var(--ow-blue);\n    font-size: 42px;\n    line-height: 1.2;\n  }\n\n  .oryan-world .ow-stats span {\n    display: block;\n    margin-top: 5px;\n    color: #687487;\n    font-size: 12px;\n    line-height: 1.5;\n  }\n\n  .oryan-world .ow-filters {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 9px;\n    margin-bottom: 18px;\n  }\n\n  .oryan-world .ow-filters button {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    min-height: 44px;\n    padding: 11px 18px;\n    border: 1px solid #dce2eb;\n    border-radius: 7px;\n    background: #fff;\n    color: var(--ow-text);\n    font: inherit;\n    font-size: 13px;\n    cursor: pointer;\n  }\n\n  .oryan-world .ow-filters button[aria-pressed=\"true\"] {\n    border-color: var(--ow-blue);\n    background: var(--ow-blue);\n    color: #fff;\n  }\n\n  .oryan-world .ow-dot {\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    flex-shrink: 0;\n    border-radius: 50%;\n  }\n\n  .oryan-world .ow-red {\n    background: var(--ow-red);\n  }\n\n  .oryan-world .ow-blue {\n    background: var(--ow-blue);\n  }\n\n  .oryan-world .ow-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) 270px;\n    gap: 18px;\n  }\n\n  .oryan-world .ow-map {\n    position: relative;\n    align-self: start;\n    overflow: hidden;\n    border-radius: 12px;\n    background: var(--ow-gray);\n  }\n\n  .oryan-world .ow-svg {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .oryan-world .ow-land {\n    fill: #fff;\n    stroke: var(--ow-gray);\n    stroke-width: 0.65;\n    stroke-linejoin: round;\n  }\n\n  .oryan-world .ow-marker {\n    cursor: pointer;\n  }\n\n  .oryan-world .ow-marker:hover,\n  .oryan-world .ow-marker:focus-visible {\n    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.55));\n  }\n\n  .oryan-world .ow-marker:focus-visible {\n    outline: none;\n  }\n\n  .oryan-world .ow-marker:focus-visible .ow-pin-body {\n    stroke: #ffd166;\n    stroke-width: 3;\n  }\n\n  .oryan-world .ow-map-caption {\n    padding: 12px;\n    color: #fff;\n    font-size: 11px;\n    text-align: center;\n  }\n\n  .oryan-world .ow-status {\n    position: absolute;\n    top: 15px;\n    left: 15px;\n    right: 15px;\n    margin: 0;\n    padding: 10px 14px;\n    border-radius: 6px;\n    background: rgba(255, 255, 255, 0.95);\n    color: var(--ow-text);\n    font-size: 13px;\n  }\n\n  .oryan-world .ow-status[hidden] {\n    display: none;\n  }\n\n  .oryan-world .ow-sidebar {\n    padding: 20px;\n    border-radius: 12px;\n    background: #f5f7fa;\n    min-width: 0;\n  }\n\n  .oryan-world .ow-details {\n    min-height: 135px;\n    margin-bottom: 18px;\n    padding-bottom: 15px;\n    border-bottom: 1px solid #dde3ec;\n  }\n\n  .oryan-world .ow-details h3 {\n    margin: 0 0 12px;\n    color: var(--ow-text);\n    font-size: 24px;\n    line-height: 1.2;\n  }\n\n  .oryan-world .ow-details p {\n    display: flex;\n    align-items: flex-start;\n    gap: 8px;\n    margin: 8px 0;\n    color: #58677b;\n    font-size: 13px;\n    line-height: 1.6;\n  }\n\n  .oryan-world .ow-details .ow-dot {\n    margin-top: 5px;\n  }\n\n  .oryan-world .ow-search-label {\n    display: block;\n    color: var(--ow-text);\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .oryan-world .ow-search {\n    display: block;\n    width: 100%;\n    margin: 8px 0 14px;\n    padding: 12px;\n    border: 1px solid #dce2eb;\n    border-radius: 6px;\n    background: #fff;\n    color: var(--ow-text);\n    font-family: inherit;\n    font-size: 13px;\n  }\n\n  .oryan-world .ow-country-list {\n    display: grid;\n    gap: 4px;\n    max-height: 290px;\n    overflow-y: auto;\n  }\n\n  .oryan-world .ow-country-list button {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 10px;\n    width: 100%;\n    min-height: 44px;\n    padding: 10px;\n    border: 0;\n    border-radius: 6px;\n    background: transparent;\n    color: var(--ow-text);\n    font-family: inherit;\n    font-size: 13px;\n    text-align: left;\n    cursor: pointer;\n  }\n\n  .oryan-world .ow-country-list button:hover,\n  .oryan-world .ow-country-list button[aria-pressed=\"true\"] {\n    background: #e4eaf5;\n    color: var(--ow-blue);\n  }\n\n  .oryan-world .ow-country-indicators {\n    display: flex;\n    gap: 5px;\n    flex-shrink: 0;\n  }\n\n  .oryan-world .ow-empty {\n    color: #687487;\n    font-size: 13px;\n  }\n\n  .oryan-world .ow-legend {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 14px 28px;\n    padding-top: 20px;\n    color: #687487;\n    font-size: 12px;\n  }\n\n  .oryan-world .ow-legend > span {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .oryan-world button:focus-visible,\n  .oryan-world input:focus-visible {\n    outline: 3px solid #e6b94f;\n    outline-offset: 3px;\n  }\n\n  @media (max-width: 850px) {\n    .oryan-world {\n      padding: 20px 12px;\n    }\n\n    .oryan-world .ow-header {\n      display: block;\n    }\n\n    .oryan-world .ow-stats {\n      margin-top: 20px;\n    }\n\n    .oryan-world .ow-stats strong {\n      font-size: 34px;\n    }\n\n    .oryan-world .ow-layout {\n      grid-template-columns: 1fr;\n    }\n\n    .oryan-world .ow-details {\n      min-height: 0;\n    }\n\n    .oryan-world .ow-country-list {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      max-height: 250px;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .oryan-world .ow-filters button {\n      padding: 10px 12px;\n      font-size: 12px;\n    }\n\n    .oryan-world .ow-country-list button {\n      font-size: 12px;\n    }\n\n    .oryan-world .ow-map-caption {\n      font-size: 10px;\n    }\n  }\n<\/style>\n\n<script>\n(() => {\n  \/*\n   * EDITAR PA\u00cdSES AQU\u00cd:\n   * operations: hemos realizado operaciones.\n   * certifications: se reconocen nuestros certificados.\n   * Las coordenadas representan el pa\u00eds, no una oficina.\n   *\/\n  const countries = [\n    { name: \"Chile\", lon: -71, lat: -33, operations: true, certifications: true },\n    { name: \"Argentina\", lon: -64, lat: -35, operations: true, certifications: true },\n    { name: \"Uruguay\", lon: -56, lat: -33, operations: true, certifications: true },\n    { name: \"Brasil\", lon: -49, lat: -16, operations: true, certifications: true },\n    { name: \"Ecuador\", lon: -78, lat: -1, operations: true, certifications: true },\n    { name: \"Colombia\", lon: -74, lat: 4, operations: true, certifications: true },\n    { name: \"Espa\u00f1a\", lon: -4, lat: 40, operations: true, certifications: true },\n    { name: \"Jap\u00f3n\", lon: 138, lat: 37, operations: true, certifications: true },\n    { name: \"Portugal\", lon: -8, lat: 39, operations: false, certifications: true },\n    { name: \"Suecia\", lon: 15, lat: 62, operations: false, certifications: true },\n    { name: \"Finlandia\", lon: 26, lat: 64, operations: false, certifications: true },\n    { name: \"Corea del Sur\", lon: 128, lat: 36, operations: false, certifications: true },\n    { name: \"Rep\u00fablica del Congo\", lon: 15, lat: -1, operations: false, certifications: true }\n  ];\n\n  const mapURL =\n    \"https:\/\/raw.githubusercontent.com\/nvkelso\/natural-earth-vector\/master\/geojson\/ne_110m_admin_0_countries.geojson\";\n\n  const ns = \"http:\/\/www.w3.org\/2000\/svg\";\n\n  \/\/ Proyecci\u00f3n consistente para pa\u00edses y marcadores.\n  function project(lon, lat) {\n    const limitedLat = Math.max(-60, Math.min(83, lat));\n    const radians = limitedLat * Math.PI \/ 180;\n    const x = (lon + 180) \/ 360 * 1200;\n    const y =\n      (1 - Math.log(Math.tan(Math.PI \/ 4 + radians \/ 2)) \/ Math.PI)\n      \/ 2 * 800 - 55;\n\n    return [x, y];\n  }\n\n  function normalize(value) {\n    return value\n      .toLocaleLowerCase(\"es\")\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\");\n  }\n\n  function makeDot(type) {\n    const dot = document.createElement(\"span\");\n    dot.className =\n      \"ow-dot \" + (type === \"operations\" ? \"ow-red\" : \"ow-blue\");\n    dot.setAttribute(\"aria-hidden\", \"true\");\n    return dot;\n  }\n\n  let mapPromise;\n\n  function loadMap() {\n    if (!mapPromise) {\n      mapPromise = fetch(mapURL)\n        .then(response => {\n          if (!response.ok) throw new Error(\"Error al cargar cartograf\u00eda\");\n          return response.json();\n        })\n        .catch(error => {\n          mapPromise = null;\n          throw error;\n        });\n    }\n\n    return mapPromise;\n  }\n\n  document.querySelectorAll(\".oryan-world\").forEach(root => {\n    if (root.dataset.initialized === \"true\") return;\n    root.dataset.initialized = \"true\";\n\n    const markers = root.querySelector(\".ow-markers\");\n    const land = root.querySelector(\".ow-land\");\n    const list = root.querySelector(\".ow-country-list\");\n    const details = root.querySelector(\".ow-details\");\n    const search = root.querySelector(\".ow-search\");\n    const status = root.querySelector(\".ow-status\");\n    const filterButtons = root.querySelectorAll(\"[data-filter]\");\n\n    let activeFilter = \"all\";\n    let selectedName = \"Chile\";\n\n    [\"operations\", \"certifications\"].forEach(type => {\n      root.querySelector('[data-total=\"' + type + '\"]').textContent =\n        countries.filter(country => country[type]).length;\n    });\n\n    function selectCountry(country, updateList = true) {\n      selectedName = country.name;\n      details.replaceChildren();\n\n      const title = document.createElement(\"h3\");\n      title.textContent = country.name;\n      details.appendChild(title);\n\n      if (country.operations) {\n        const line = document.createElement(\"p\");\n        line.append(\n          makeDot(\"operations\"),\n          document.createTextNode(\n            \"Hemos realizado operaciones en este pa\u00eds.\"\n          )\n        );\n        details.appendChild(line);\n      }\n\n      if (country.certifications) {\n        const line = document.createElement(\"p\");\n        line.append(\n          makeDot(\"certifications\"),\n          document.createTextNode(\n            \"Nuestros certificados son reconocidos en este pa\u00eds.\"\n          )\n        );\n        details.appendChild(line);\n      }\n\n      if (updateList) renderList();\n    }\n\n    function visibleCountries() {\n      return countries.filter(country =>\n        activeFilter === \"all\" || country[activeFilter]\n      );\n    }\n\n    function renderList() {\n      list.replaceChildren();\n\n      const query = normalize(search.value);\n      const matches = visibleCountries().filter(country =>\n        normalize(country.name).includes(query)\n      );\n\n      matches.forEach(country => {\n        const button = document.createElement(\"button\");\n        button.type = \"button\";\n        button.setAttribute(\n          \"aria-pressed\",\n          String(country.name === selectedName)\n        );\n\n        const name = document.createElement(\"span\");\n        name.textContent = country.name;\n\n        const indicators = document.createElement(\"span\");\n        indicators.className = \"ow-country-indicators\";\n        indicators.setAttribute(\"aria-hidden\", \"true\");\n\n        if (country.operations) {\n          indicators.appendChild(makeDot(\"operations\"));\n        }\n\n        if (country.certifications) {\n          indicators.appendChild(makeDot(\"certifications\"));\n        }\n\n        button.append(name, indicators);\n        button.addEventListener(\"click\", () => selectCountry(country));\n        list.appendChild(button);\n      });\n\n      if (!matches.length) {\n        const empty = document.createElement(\"p\");\n        empty.className = \"ow-empty\";\n        empty.textContent = \"No se encontraron pa\u00edses.\";\n        list.appendChild(empty);\n      }\n    }\n\n    function createMarker(country, type, offset) {\n      const [x, y] = project(country.lon, country.lat);\n      const group = document.createElementNS(ns, \"g\");\n\n      group.setAttribute(\n        \"transform\",\n        \"translate(\" + (x + offset) + \",\" + y + \")\"\n      );\n      group.setAttribute(\"class\", \"ow-marker\");\n      group.setAttribute(\"role\", \"button\");\n      group.setAttribute(\"tabindex\", \"0\");\n\n      const category =\n        type === \"operations\" ? \"Operaciones\" : \"Certificaciones\";\n\n      group.setAttribute(\"aria-label\", country.name + \": \" + category);\n\n      const title = document.createElementNS(ns, \"title\");\n      title.textContent = country.name + \" \u00b7 \" + category;\n\n      const pin = document.createElementNS(ns, \"path\");\n      pin.setAttribute(\"class\", \"ow-pin-body\");\n      pin.setAttribute(\n        \"d\",\n        \"M0 3 C-3 -1 -9 -7 -9 -13 A9 9 0 1 1 9 -13 C9 -7 3 -1 0 3 Z\"\n      );\n      pin.setAttribute(\n        \"fill\",\n        type === \"operations\" ? \"#ce3939\" : \"#2e4c96\"\n      );\n      pin.setAttribute(\"stroke\", \"#fff\");\n      pin.setAttribute(\"stroke-width\", \"1.5\");\n\n      const center = document.createElementNS(ns, \"circle\");\n      center.setAttribute(\"cx\", \"0\");\n      center.setAttribute(\"cy\", \"-13\");\n      center.setAttribute(\"r\", \"3.5\");\n      center.setAttribute(\"fill\", \"#fff\");\n\n      group.append(title, pin, center);\n\n      group.addEventListener(\"click\", () => selectCountry(country));\n      group.addEventListener(\"keydown\", event => {\n        if (event.key === \"Enter\" || event.key === \" \") {\n          event.preventDefault();\n          selectCountry(country);\n        }\n      });\n\n      markers.appendChild(group);\n    }\n\n    function renderMarkers() {\n      markers.replaceChildren();\n\n      visibleCountries().forEach(country => {\n        const types = activeFilter === \"all\"\n          ? [\n              ...(country.operations ? [\"operations\"] : []),\n              ...(country.certifications ? [\"certifications\"] : [])\n            ]\n          : [activeFilter];\n\n        types.forEach((type, index) => {\n          const offset = types.length === 2\n            ? (index === 0 ? -8 : 8)\n            : 0;\n\n          createMarker(country, type, offset);\n        });\n      });\n    }\n\n    filterButtons.forEach(button => {\n      button.addEventListener(\"click\", () => {\n        activeFilter = button.dataset.filter;\n\n        filterButtons.forEach(item => {\n          item.setAttribute(\n            \"aria-pressed\",\n            String(item === button)\n          );\n        });\n\n        const visible = visibleCountries();\n        if (!visible.some(country => country.name === selectedName)) {\n          selectCountry(visible[0], false);\n        }\n\n        renderMarkers();\n        renderList();\n      });\n    });\n\n    search.addEventListener(\"input\", renderList);\n\n    selectCountry(countries[0]);\n    renderMarkers();\n\n    loadMap()\n      .then(data => {\n        const fragment = document.createDocumentFragment();\n\n        data.features.forEach(feature => {\n          if (feature.properties.ADMIN === \"Antarctica\") return;\n\n          const geometry = feature.geometry;\n          if (!geometry) return;\n\n          const polygons = geometry.type === \"MultiPolygon\"\n            ? geometry.coordinates\n            : geometry.type === \"Polygon\"\n              ? [geometry.coordinates]\n              : [];\n\n          let pathData = \"\";\n\n          polygons.forEach(polygon => {\n            polygon.forEach(ring => {\n              pathData += ring.map((coordinate, index) => {\n                const [x, y] = project(coordinate[0], coordinate[1]);\n                return (index === 0 ? \"M\" : \"L\") +\n                  x.toFixed(1) + \",\" + y.toFixed(1);\n              }).join(\"\") + \"Z\";\n            });\n          });\n\n          const path = document.createElementNS(ns, \"path\");\n          path.setAttribute(\"d\", pathData);\n          path.setAttribute(\"fill-rule\", \"evenodd\");\n          fragment.appendChild(path);\n        });\n\n        land.replaceChildren(fragment);\n        status.hidden = true;\n      })\n      .catch(() => {\n        status.textContent =\n          \"No se pudo cargar la cartograf\u00eda. Puedes consultar los pa\u00edses en la lista.\";\n      });\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-6a4021cc e-flex e-con-boxed e-con e-parent\" data-id=\"6a4021cc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-695d134a e-con-full e-flex e-con e-child\" data-id=\"695d134a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4735a56f elementor-widget elementor-widget-image-box\" data-id=\"4735a56f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\">Control de calidad de astillas de madera<\/h4><p class=\"elementor-image-box-description\">Sistema confiable, t\u00e9cnico y normado de evaluaci\u00f3n de la calidad de astillas de madera utilizadas en procesos industriales, especialmente en plantas de celulosa y papel. Este control permite optimizar procesos, reducir costos, mejorar el rendimiento de la fibra y asegurar est\u00e1ndares de producci\u00f3n constantes.\n\n<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<a href=\"https:\/\/oryansurveyors.pro\/control-de-calidad-de-astillas-de-madera\/\" target=\"_blank\" class=\"e-c50b67b-c6a6d23 e-button-base e-default-a\" data-interaction-id=\"c50b67b\" data-e-type=\"widget\" data-id=\"c50b67b\">\n\tM\u00e1s Informaci\u00f3n\n<\/a>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f536817 elementor-widget elementor-widget-image-box\" data-id=\"7f536817\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\">Control de calidad de trozas de madera<\/h4><p class=\"elementor-image-box-description\">Dise\u00f1ado para garantizar que cada troza cumpla con los est\u00e1ndares t\u00e9cnicos, normativos y comerciales requeridos por nuestros clientes y los mercados m\u00e1s exigentes. Este proceso es fundamental para asegurar la eficiencia en las etapas posteriores de procesamiento, mejorar el aprovechamiento industrial y minimizar p\u00e9rdidas econ\u00f3micas.\n\n<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<a href=\"https:\/\/oryansurveyors.pro\/servicios\/control-de-calidad-de-trozas-de-madera\/\" target=\"_blank\" class=\"e-18fbd66-630d2ff e-button-base e-default-a\" data-interaction-id=\"18fbd66\" data-e-type=\"widget\" data-id=\"18fbd66\">\n\tM\u00e1s Informaci\u00f3n\n<\/a>\n\t\t\t\t<div class=\"elementor-element elementor-element-33faf959 elementor-widget elementor-widget-image-box\" data-id=\"33faf959\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\">Control de calidad de biocombustibles<\/h4><p class=\"elementor-image-box-description\">El servicio garantiza que esto productos cumplan con las normas t\u00e9cnicas y ambientales vigentes, mediante muestreos representativos, an\u00e1lisis fisicoqu\u00edmicos y detecci\u00f3n de impurezas o contaminantes. A trav\u00e9s de procedimientos certificados, se verifican propiedades claves, asegurando un rendimiento \u00f3ptimo, menor impacto ambiental y plena conformidad con est\u00e1ndares internacionales.\n\n<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<a href=\"https:\/\/oryansurveyors.pro\/servicios\/control-de-calidad-de-biocombustibles\/\" target=\"_blank\" class=\"e-5cbf433-2582281 e-button-base e-default-a\" data-interaction-id=\"5cbf433\" data-e-type=\"widget\" data-id=\"5cbf433\">\n\tM\u00e1s Informaci\u00f3n\n<\/a>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c18a003 e-con-full e-flex e-con e-child\" data-id=\"6c18a003\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2daa2c42 elementor-widget elementor-widget-heading\" data-id=\"2daa2c42\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Control de calidad\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3612f47c elementor-widget elementor-widget-text-editor\" data-id=\"3612f47c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"lead\">Prestamos servicios de control de cantidad en las diferentes etapas de la cadena.Inventarios Forestales en pie, pilas de rollizos, biomasa y astillas. Recepci\u00f3n y despacho en puertos, plantas y recintos de acopio. Consumos en plantas y complejos industriales.<\/p><div class=\"mt-5 row align-items-center\">\u00a0<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" class=\"e-image-base e-default-img e-9f7aaed-fe46307\" data-interaction-id=\"9f7aaed\" data-e-type=\"widget\" data-id=\"9f7aaed\" id=\"992\" src=\"https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia.webp\" width=\"1920\" height=\"1018\" srcset=\"https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia.webp 1920w, https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia-300x159.png 300w, https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia-1024x543.png 1024w, https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia-768x407.png 768w, https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia-1536x815.png 1536w, https:\/\/oryansurveyors.pro\/wp-content\/uploads\/2026\/09\/Captura-de-pantalla-2026-07-15-a-las-5.18.54-p.m.-Recuperado-copia-2048x1086.png 2048w\" alt=\"\"\/>\t\t<div class=\"elementor-element elementor-element-b1dae02 e-con e-atomic-element e-flexbox-base e-default-div \" data-id=\"b1dae02\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"b1dae02\" data-e-type=\"e-flexbox\" data-id=\"b1dae02\">\n    \n<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>O\u2019RYAN SURVEYORS Presencia por el mundo Conoce los pa\u00edses donde hemos operado y donde se reconocen nuestros certificados. 8 Pa\u00edses con operaciones 13 Pa\u00edses reconocen nuestros certificados Todos Operaciones Certificaciones Cargando mapa\u2026 Selecciona un marcador para conocer nuestra presencia. Buscar pa\u00eds Pa\u00edses donde hemos operado Pa\u00edses donde reconocen nuestros certificados Control de calidad de astillas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":12,"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":1058,"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/pages\/12\/revisions\/1058"}],"wp:attachment":[{"href":"https:\/\/oryansurveyors.pro\/en\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}