{"id":24795,"date":"2026-05-18T18:21:10","date_gmt":"2026-05-18T16:21:10","guid":{"rendered":"https:\/\/cortez-engineering.com\/?page_id=24795"},"modified":"2026-05-18T18:21:31","modified_gmt":"2026-05-18T16:21:31","slug":"contacto","status":"publish","type":"page","link":"https:\/\/cortez-engineering.com\/es\/contacto\/","title":{"rendered":"Contacto"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24795\" class=\"elementor elementor-24795\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-85531de elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"85531de\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5471efe\" data-id=\"5471efe\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b7e2b9f elementor-widget elementor-widget-html\" data-id=\"b7e2b9f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--\r\nELEMENTOR READY \u2014 Cortez Engineering \u00b7 Contacto (ES)\r\n\r\nPega este bloque en un widget HTML de Elementor en \/es\/contacto\/\r\nNo incluye <!DOCTYPE>, <html>, <head> ni <body>.\r\n\r\nFORMULARIO\r\n- Env\u00eda por fetch() a un endpoint propio de WordPress:\r\n  \/wp-json\/cortez\/v1\/contact-request\r\n- No depende de Contact Form 7.\r\n- Requiere el snippet PHP de contacto avanzado en Code Snippets.\r\n- Campos enviados:\r\n  lang \u00b7 your-name \u00b7 your-company \u00b7 your-email \u00b7 your-phone\r\n  project-type \u00b7 has-files \u00b7 cad-file \u00b7 your-message\r\n  summary \u00b7 website \u00b7 privacy-acceptance\r\n- El idioma se detecta autom\u00e1ticamente desde la URL:\r\n  \/es\/ \u2192 es \u00b7 \/de\/ \u2192 de \u00b7 \/en\/ \u2192 en\r\n\r\nIMPORTANTE\r\n- El error anterior ven\u00eda de un salto de l\u00ednea real dentro de lines.join().\r\n- Ahora se usa String.fromCharCode(10), que evita problemas de escape al pegar en Elementor.\r\n-->\r\n\r\n<script type=\"application\/ld+json\">\r\n[\r\n  {\r\n    \"@context\": \"https:\/\/schema.org\",\r\n    \"@type\": [\"LocalBusiness\", \"ProfessionalService\"],\r\n    \"@id\": \"https:\/\/cortez-engineering.com\/#business\",\r\n    \"name\": \"Cortez Engineering\",\r\n    \"url\": \"https:\/\/cortez-engineering.com\/es\/\",\r\n    \"email\": \"contact@cortez-engineering.com\",\r\n    \"telephone\": \"TELEFONO\",\r\n    \"description\": \"Ingenier\u00eda avanzada de componentes en la regi\u00f3n de Stuttgart: simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica, fabricaci\u00f3n aditiva met\u00e1lica, CFRP y aerodin\u00e1mica para automoci\u00f3n, motorsport y aerospace.\",\r\n    \"founder\": {\r\n      \"@type\": \"Person\",\r\n      \"name\": \"Hilario Cortez Rivera\",\r\n      \"jobTitle\": \"Ingeniero estructural y de fabricaci\u00f3n avanzada\",\r\n      \"sameAs\": \"https:\/\/www.linkedin.com\/in\/hilario-cortez-3508391ba\"\r\n    },\r\n    \"address\": {\r\n      \"@type\": \"PostalAddress\",\r\n      \"streetAddress\": \"Waliser Str. 26\",\r\n      \"postalCode\": \"71640\",\r\n      \"addressLocality\": \"Ludwigsburg\",\r\n      \"addressRegion\": \"Baden-W\u00fcrttemberg\",\r\n      \"addressCountry\": \"DE\"\r\n    },\r\n    \"areaServed\": [\"Stuttgart\", \"Ludwigsburg\", \"Baden-W\u00fcrttemberg\", \"Germany\", \"Europe\"],\r\n    \"sameAs\": [\r\n      \"https:\/\/www.linkedin.com\/in\/hilario-cortez-3508391ba\"\r\n    ]\r\n  },\r\n  {\r\n    \"@context\": \"https:\/\/schema.org\",\r\n    \"@type\": \"ContactPage\",\r\n    \"@id\": \"https:\/\/cortez-engineering.com\/es\/contacto\/\",\r\n    \"name\": \"Contacto \u2014 Cortez Engineering\",\r\n    \"url\": \"https:\/\/cortez-engineering.com\/es\/contacto\/\",\r\n    \"description\": \"Contacta con Cortez Engineering en la regi\u00f3n de Stuttgart para proyectos de simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica, fabricaci\u00f3n aditiva, composites e ingenier\u00eda avanzada.\"\r\n  },\r\n  {\r\n    \"@context\": \"https:\/\/schema.org\",\r\n    \"@type\": \"FAQPage\",\r\n    \"mainEntity\": [\r\n      {\r\n        \"@type\": \"Question\",\r\n        \"name\": \"\u00bfQu\u00e9 tipo de proyectos acept\u00e1is?\",\r\n        \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Trabajamos principalmente con proyectos B2B de ingenier\u00eda avanzada para automoci\u00f3n, motorsport, aerospace, e-mobility y componentes de alto rendimiento. Podemos ayudarte con simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica, dise\u00f1o para fabricaci\u00f3n aditiva met\u00e1lica, composites, aerodin\u00e1mica e ingenier\u00eda inversa. Si no sabes si tu proyecto encaja, env\u00edanos una breve descripci\u00f3n y te orientamos sin compromiso.\"}\r\n      },\r\n      {\r\n        \"@type\": \"Question\",\r\n        \"name\": \"\u00bfLa primera consulta es realmente gratuita?\",\r\n        \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed. Revisamos tu consulta inicial sin coste y sin compromiso. Si el proyecto encaja con nuestras capacidades, te damos una primera orientaci\u00f3n t\u00e9cnica y, si hace falta, proponemos una llamada breve para definir alcance, restricciones y pr\u00f3ximos pasos antes de preparar una propuesta.\"}\r\n      },\r\n      {\r\n        \"@type\": \"Question\",\r\n        \"name\": \"\u00bfTrabaj\u00e1is con empresas fuera de Alemania?\",\r\n        \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed. Nuestra base est\u00e1 en la regi\u00f3n de Stuttgart, Alemania, y colaboramos con empresas de toda Europa. Muchos proyectos se gestionan de forma remota mediante reuniones online, intercambio seguro de archivos y entregables digitales como CAD, documentaci\u00f3n t\u00e9cnica, informes FEM y recomendaciones de fabricaci\u00f3n.\"}\r\n      },\r\n      {\r\n        \"@type\": \"Question\",\r\n        \"name\": \"\u00bfCu\u00e1nto tiempo tarda en llegar la propuesta?\",\r\n        \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Normalmente respondemos en menos de 24 horas laborables con una primera valoraci\u00f3n t\u00e9cnica. Si el proyecto requiere una propuesta formal, el plazo habitual es de 2 a 4 d\u00edas h\u00e1biles, dependiendo del nivel de informaci\u00f3n disponible, la complejidad t\u00e9cnica y los entregables necesarios.\"}\r\n      },\r\n      {\r\n        \"@type\": \"Question\",\r\n        \"name\": \"\u00bfQu\u00e9 necesito para enviar el brief?\",\r\n        \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Puedes enviarnos lo que tengas disponible: archivos STEP, STL o CAD, planos en PDF, im\u00e1genes, un boceto, datos de carga o simplemente una descripci\u00f3n del problema. Cuanto m\u00e1s contexto nos des sobre objetivo, material, restricciones, plazo y uso final del componente, m\u00e1s precisa ser\u00e1 la primera valoraci\u00f3n.\"}\r\n      }\r\n    ]\r\n  }\r\n]\r\n<\/script>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@400;600;700;800;900&display=swap');\r\n\r\n#ce-contact{\r\n  --ac:#18f07e;--acd:#0ec46a;--acs:rgba(24,240,126,.10);\r\n  --bk:#0d0d0d;--bg-s:#f5f6f7;--bd:#e3e5e8;\r\n  --tx:#111;--tx2:#555c62;--tx3:#9199a0;\r\n  --pill:9999px;--rl:22px;--r:14px;--mx:1180px;\r\n  font-family:Outfit,system-ui,sans-serif;color:var(--tx);background:#fff;\r\n}\r\n#ce-contact *{box-sizing:border-box;margin:0;padding:0}\r\n#ce-contact a{color:inherit}\r\n\r\n#ce-contact .cc-hero{\r\n  --hero-spot-x:50%;\r\n  --hero-spot-y:0%;\r\n  margin:38px 24px 0;\r\n  padding:110px 40px 34px;\r\n  background:\r\n    radial-gradient(circle at var(--hero-spot-x) var(--hero-spot-y), rgba(24,240,126,.18), transparent 32%),\r\n    radial-gradient(circle at 18% 86%, rgba(24,240,126,.08), transparent 24%),\r\n    linear-gradient(180deg,rgba(4,6,6,.38) 0%,rgba(4,5,5,.52) 52%,rgba(2,2,2,.72) 100%),\r\n    linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.22) 50%,rgba(0,0,0,.58) 100%),\r\n    url('https:\/\/cortez-engineering.com\/wp-content\/uploads\/2026\/05\/3f2e9be7-bf95-4ad1-bef3-c1ee070f759e.png');\r\n  background-size:auto,auto,auto,auto,cover;\r\n  background-position:center,center,center,center,center;\r\n  background-repeat:no-repeat;\r\n  border-radius:32px;\r\n  border:1px solid rgba(255,255,255,.05);\r\n  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04);\r\n  text-align:center;\r\n  position:relative;\r\n  overflow:hidden;\r\n  isolation:isolate;\r\n  transition:box-shadow .25s ease,border-color .25s ease;\r\n}\r\n#ce-contact .cc-hero.cc-hero-hover{\r\n  border-color:rgba(24,240,126,.20);\r\n  box-shadow:0 30px 90px rgba(0,0,0,.25),0 0 0 1px rgba(24,240,126,.08) inset,inset 0 1px 0 rgba(255,255,255,.05);\r\n}\r\n#ce-contact .cc-hero::before{\r\n  content:'';\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),\r\n    linear-gradient(0deg,rgba(255,255,255,.018) 1px,transparent 1px);\r\n  background-size:64px 64px;\r\n  mask-image:radial-gradient(circle at 50% 42%,black,transparent 72%);\r\n  opacity:.65;\r\n  pointer-events:none;\r\n  z-index:-1;\r\n  animation:cc-hero-grid-drift 18s linear infinite;\r\n}\r\n#ce-contact .cc-hero::after{\r\n  content:'';\r\n  position:absolute;\r\n  left:40px;\r\n  right:40px;\r\n  top:0;\r\n  height:2px;\r\n  background:linear-gradient(90deg,transparent,rgba(24,240,126,.18),var(--ac),rgba(24,240,126,.18),transparent);\r\n  background-size:220% 100%;\r\n  opacity:.75;\r\n  pointer-events:none;\r\n  animation:cc-hero-scan-line 3.8s ease-in-out infinite;\r\n}\r\n#ce-contact .cc-hero-inner{\r\n  max-width:760px;\r\n  margin:0 auto;\r\n  display:flex;\r\n  flex-direction:column;\r\n  align-items:center;\r\n  gap:18px;\r\n  position:relative;\r\n  z-index:1;\r\n}\r\n#ce-contact .cc-hero-inner::before{\r\n  content:'';\r\n  position:absolute;\r\n  left:50%;top:50%;\r\n  width:620px;height:260px;\r\n  transform:translate(-50%,-50%);\r\n  background:radial-gradient(circle,rgba(255,255,255,.045),transparent 68%);\r\n  pointer-events:none;\r\n  z-index:-1;\r\n}\r\n#ce-contact .cc-eyebrow{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  font-size:12px;\r\n  font-weight:800;\r\n  letter-spacing:.16em;\r\n  text-transform:uppercase;\r\n  color:var(--ac);\r\n  margin-bottom:4px;\r\n}\r\n#ce-contact .cc-eyebrow:before{content:'';width:24px;height:2px;background:var(--ac);box-shadow:0 0 16px rgba(24,240,126,.5)}\r\n#ce-contact .cc-hero h1{font-size:clamp(34px,4.4vw,58px);font-weight:900;letter-spacing:-.035em;line-height:1.05;color:#fff;max-width:860px;text-wrap:balance;text-shadow:0 4px 22px rgba(0,0,0,.42)}\r\n#ce-contact .cc-hero h1 span{color:var(--ac)}\r\n#ce-contact .cc-hero-sub{font-size:17px;color:rgba(255,255,255,.82);line-height:1.65;max-width:720px;text-shadow:0 2px 16px rgba(0,0,0,.38)}\r\n#ce-contact .cc-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}\r\n#ce-contact .cc-hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:var(--pill);font-size:14px;font-weight:800;line-height:1;text-decoration:none;border:1.5px solid transparent;transition:all .25s ease;font-family:inherit;cursor:pointer}\r\n#ce-contact .cc-hero-btn svg{width:14px;height:14px;flex-shrink:0}\r\n#ce-contact .cc-hero-btn-primary{background:var(--ac);color:var(--bk);box-shadow:0 6px 18px rgba(24,240,126,.25)}\r\n#ce-contact .cc-hero-btn-primary:hover{background:var(--acd);transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,240,126,.4)}\r\n#ce-contact .cc-hero-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}\r\n#ce-contact .cc-hero-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-2px)}\r\n#ce-contact .cc-trust-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}\r\n#ce-contact .cc-trust-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border-radius:var(--pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:13.5px;font-weight:800;color:rgba(255,255,255,.82);backdrop-filter:blur(6px)}\r\n#ce-contact .cc-trust-pill svg{width:14px;height:14px;color:var(--ac);flex-shrink:0}\r\n#ce-contact .cc-hero-logo-bridge{margin-top:52px;padding-top:30px;position:relative;z-index:1}\r\n#ce-contact .cc-hero-logo-bridge::before{content:'';position:absolute;left:50%;top:0;width:min(760px,64vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(24,240,126,.12),rgba(24,240,126,.65),rgba(24,240,126,.12),transparent);box-shadow:0 0 18px rgba(24,240,126,.16);pointer-events:none}\r\n#ce-contact .cc-hero-logo-bridge-inner{--bridge-spot-x:50%;--bridge-spot-y:0%;max-width:100%;min-height:88px;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 40px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden;background:radial-gradient(circle at var(--bridge-spot-x) var(--bridge-spot-y), rgba(24,240,126,.12), transparent 26%),linear-gradient(135deg,rgba(16,16,16,.82) 0%,rgba(11,11,11,.88) 58%,rgba(5,5,5,.92) 100%);backdrop-filter:blur(3px)}\r\n#ce-contact .cc-hero-logo-bridge-inner::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,black 14%,black 86%,transparent);pointer-events:none;animation:cc-hero-grid-drift 18s linear infinite}\r\n#ce-contact .cc-hero-logo-bridge-inner::after{content:'';position:absolute;left:22px;right:22px;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(24,240,126,.25),var(--ac),rgba(24,240,126,.25),transparent);background-size:220% 100%;opacity:.9;pointer-events:none;animation:cc-hero-scan-line 3.8s ease-in-out infinite}\r\n#ce-contact .cc-hero-divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18));position:relative;z-index:1}\r\n#ce-contact .cc-hero-divider-line.right{background:linear-gradient(90deg,rgba(255,255,255,.18),transparent)}\r\n#ce-contact .cc-hero-logo-slot{display:inline-flex;align-items:center;justify-content:center;padding:0 26px;min-width:190px;min-height:44px;position:relative;white-space:nowrap;z-index:1}\r\n#ce-contact .cc-hero-logo-slot::before{content:'';position:absolute;left:50%;top:50%;width:160px;height:44px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(24,240,126,.12),transparent 68%);pointer-events:none}\r\n#ce-contact .cc-hero-logo-slot img{display:block;width:auto;max-width:250px;max-height:46px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 0 16px rgba(24,240,126,.18))}\r\n@keyframes cc-hero-grid-drift{from{background-position:0 0,0 0}to{background-position:56px 28px,56px 28px}}\r\n@keyframes cc-hero-scan-line{0%,100%{background-position:0 0;opacity:.45}50%{background-position:100% 0;opacity:1}}\r\n@media (prefers-reduced-motion: reduce){#ce-contact .cc-hero::before,#ce-contact .cc-hero::after,#ce-contact .cc-hero-logo-bridge-inner::before,#ce-contact .cc-hero-logo-bridge-inner::after{animation:none}}\r\n\r\n#ce-contact .cc-main-inner{max-width:var(--mx);margin:0 auto;padding:72px 40px;display:grid;grid-template-columns:1fr 420px;gap:72px;align-items:start}\r\n#ce-contact .cc-form-wrap{background:#fff;border:1px solid var(--bd);border-radius:var(--rl);padding:40px;box-shadow:0 4px 24px rgba(0,0,0,.05)}\r\n#ce-contact .cc-form-title{font-size:20px;font-weight:800;letter-spacing:-.018em;margin-bottom:6px}\r\n#ce-contact .cc-form-sub{font-size:14.5px;color:var(--tx2);line-height:1.5;margin-bottom:28px}\r\n#ce-contact .cc-fields{display:flex;flex-direction:column;gap:16px}\r\n#ce-contact .cc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}\r\n#ce-contact .cc-field{display:flex;flex-direction:column;gap:6px}\r\n#ce-contact .cc-field label{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2)}\r\n#ce-contact .cc-field input,#ce-contact .cc-field select,#ce-contact .cc-field textarea{width:100%;border:1.5px solid var(--bd);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--tx);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}\r\n#ce-contact .cc-field input:not([type=\"file\"]),#ce-contact .cc-field select{height:52px;min-height:52px;padding:0 16px;line-height:1.2}\r\n#ce-contact .cc-field input:focus,#ce-contact .cc-field select:focus,#ce-contact .cc-field textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs)}\r\n#ce-contact .cc-field textarea{resize:vertical;min-height:150px;padding:14px 16px;line-height:1.55}\r\n#ce-contact .cc-field select{background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239199a0' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n#ce-contact .cc-field select option{font-size:14px;color:#111;background:#fff}\r\n#ce-contact .cc-help{font-size:13px;color:var(--tx3);line-height:1.45;margin-top:5px}\r\n#ce-contact .cc-file-help{font-size:12.5px;color:var(--tx3);line-height:1.45;margin-top:5px}\r\n#ce-contact .cc-file-control{height:52px;min-height:52px;border:1.5px solid var(--bd);border-radius:var(--r);background:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:6px 10px;transition:border-color .2s,box-shadow .2s;overflow:hidden}\r\n#ce-contact .cc-file-control:focus-within{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs)}\r\n#ce-contact .cc-file-control.error{border-color:#f04040;box-shadow:0 0 0 3px rgba(240,64,64,.08)}\r\n#ce-contact .cc-file-input{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important;overflow:hidden!important}\r\n#ce-contact .cc-file-button{height:38px;padding:0 14px;border-radius:999px;background:#f1f3f4;border:1px solid #dde1e5;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#202428;cursor:pointer;white-space:nowrap;letter-spacing:0;text-transform:none}\r\n#ce-contact .cc-file-button:hover{background:#e9ecef}\r\n#ce-contact .cc-file-name{font-size:13px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}\r\n#ce-contact .cc-check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:flex-start;font-size:14px;color:var(--tx2);line-height:1.55;background:#f8faf9;border:1.5px solid var(--bd);border-radius:14px;padding:14px 16px;cursor:pointer;position:relative}\r\n#ce-contact .cc-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}\r\n#ce-contact .cc-check-box{width:22px;height:22px;border-radius:7px;border:2px solid #cfd6dc;background:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .2s;box-shadow:inset 0 0 0 2px #fff}\r\n#ce-contact .cc-check input:checked + .cc-check-box{background:var(--ac);border-color:var(--ac)}\r\n#ce-contact .cc-check input:checked + .cc-check-box:after{content:'\u2713';font-size:15px;font-weight:900;color:#0d0d0d;line-height:1}\r\n#ce-contact .cc-check:hover .cc-check-box{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs)}\r\n#ce-contact .cc-check input:focus + .cc-check-box{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs)}\r\n#ce-contact .cc-check-text{display:block;padding-top:1px}\r\n#ce-contact .cc-check a{color:var(--acd);font-weight:800;text-decoration:none}\r\n#ce-contact .cc-check.error{color:#f04040;border-color:#f04040;background:rgba(240,64,64,.05)}\r\n#ce-contact .cc-check.error .cc-check-box{border-color:#f04040;box-shadow:0 0 0 3px rgba(240,64,64,.08)}\r\n#ce-contact .cc-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important}\r\n#ce-contact .cc-submit-wrap{margin-top:8px;display:flex;flex-direction:column;gap:10px}\r\n#ce-contact .cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 28px;border-radius:var(--pill);font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;border:none;background:var(--ac);color:var(--bk);box-shadow:0 6px 18px rgba(24,240,126,.3);transition:all .25s}\r\n#ce-contact .cc-btn:hover:not(:disabled){background:var(--acd);transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,240,126,.45)}\r\n#ce-contact .cc-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}\r\n#ce-contact .cc-btn svg{width:16px;height:16px;flex-shrink:0}\r\n#ce-contact .cc-form-foot{font-size:13px;color:var(--tx3);text-align:center;line-height:1.5}\r\n#ce-contact .cc-field input.error,#ce-contact .cc-field select.error,#ce-contact .cc-field textarea.error{border-color:#f04040;box-shadow:0 0 0 3px rgba(240,64,64,.08)}\r\n#ce-contact .cc-form-error{font-size:13px;color:#f04040;font-weight:700;text-align:center;padding:10px;background:rgba(240,64,64,.07);border-radius:8px;display:none}\r\n\r\n#ce-contact .cc-success{display:none;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;gap:16px}\r\n#ce-contact .cc-success-icon{width:60px;height:60px;border-radius:50%;background:var(--acs);border:1.5px solid var(--ac);display:flex;align-items:center;justify-content:center}\r\n#ce-contact .cc-success-icon svg{width:26px;height:26px;color:var(--ac)}\r\n#ce-contact .cc-success h3{font-size:22px;font-weight:800;letter-spacing:-.018em}\r\n#ce-contact .cc-success p{font-size:14px;color:var(--tx2);line-height:1.55;max-width:380px}\r\n\r\n#ce-contact .cc-info-col{display:flex;flex-direction:column;gap:28px}\r\n#ce-contact .cc-info-card,#ce-contact .cc-steps-card{padding:28px;border:1px solid var(--bd);border-radius:var(--rl);background:#fff;display:flex;flex-direction:column;gap:20px}\r\n#ce-contact .cc-steps-card{background:var(--bg-s);gap:6px}\r\n#ce-contact .cc-info-card-title,#ce-contact .cc-steps-title{font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}\r\n#ce-contact .cc-info-item{display:flex;align-items:flex-start;gap:14px}\r\n#ce-contact .cc-info-icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;background:var(--acs);border:1px solid rgba(24,240,126,.2);display:flex;align-items:center;justify-content:center}\r\n#ce-contact .cc-info-icon svg{width:16px;height:16px;color:var(--ac)}\r\n#ce-contact .cc-info-text strong{display:block;font-size:13.5px;font-weight:800;color:var(--tx);margin-bottom:2px}\r\n#ce-contact .cc-info-text span{font-size:13.5px;color:var(--tx2)}\r\n#ce-contact .cc-info-text a{color:var(--acd);text-decoration:none;font-weight:700}\r\n#ce-contact .cc-info-divider{height:1px;background:var(--bd)}\r\n#ce-contact .cc-step{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--bd)}\r\n#ce-contact .cc-step:last-child{border-bottom:none;padding-bottom:0}\r\n#ce-contact .cc-step-num{width:32px;height:32px;border-radius:50%;background:var(--ac);color:var(--bk);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0}\r\n#ce-contact .cc-step-title{font-size:14px;font-weight:800;margin-bottom:2px}\r\n#ce-contact .cc-step-desc{font-size:13.5px;color:var(--tx2);line-height:1.45}\r\n\r\n#ce-contact .cc-faq-section{background:var(--bg-s);border-top:1px solid var(--bd);padding:72px 40px}\r\n#ce-contact .cc-faq-inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:40px}\r\n#ce-contact .cc-faq-label{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--acd);display:flex;align-items:center;gap:10px}\r\n#ce-contact .cc-faq-label:before{content:'';width:28px;height:2px;background:var(--ac)}\r\n#ce-contact .cc-faq-header h2{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:10px}\r\n#ce-contact .cc-faq-list{\r\n  display:flex;\r\n  flex-direction:column;\r\n  border:0!important;\r\n  border-left:0!important;\r\n  border-right:0!important;\r\n  outline:0!important;\r\n  box-shadow:none!important;\r\n  background:transparent!important;\r\n  border-radius:0!important;\r\n  overflow:visible!important;\r\n}\r\n#ce-contact .cc-faq-item{\r\n  border:0!important;\r\n  border-left:0!important;\r\n  border-right:0!important;\r\n  border-top:0!important;\r\n  border-bottom:1px solid var(--bd)!important;\r\n  background:transparent!important;\r\n  border-radius:0!important;\r\n  box-shadow:none!important;\r\n  outline:0!important;\r\n  overflow:visible!important;\r\n}\r\n#ce-contact .cc-faq-item:first-child{\r\n  border-top:none!important;\r\n}\r\n#ce-contact .cc-faq-item.open{\r\n  background:transparent!important;\r\n  border-radius:0!important;\r\n  box-shadow:none!important;\r\n  outline:none!important;\r\n}\r\n#ce-contact .cc-faq-q{\r\n  width:100%;\r\n  background:transparent!important;\r\n  border:0!important;\r\n  border-left:0!important;\r\n  border-right:0!important;\r\n  cursor:pointer;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  gap:16px;\r\n  padding:22px 0;\r\n  text-align:left;\r\n  font-family:inherit;\r\n  outline:0!important;\r\n  box-shadow:none!important;\r\n  border-radius:0!important;\r\n  appearance:none!important;\r\n  -webkit-appearance:none!important;\r\n  -webkit-tap-highlight-color:transparent;\r\n  user-select:none;\r\n}\r\n#ce-contact .cc-faq-q:hover,\r\n#ce-contact .cc-faq-q:focus,\r\n#ce-contact .cc-faq-q:active,\r\n#ce-contact .cc-faq-q:focus-visible{\r\n  background:transparent!important;\r\n  border:0!important;\r\n  outline:none!important;\r\n  box-shadow:none!important;\r\n}\r\n#ce-contact .cc-faq-q-text{\r\n  font-size:15px;\r\n  font-weight:800;\r\n  color:var(--tx);\r\n  line-height:1.3;\r\n}\r\n#ce-contact .cc-faq-icon{\r\n  width:30px;\r\n  height:30px;\r\n  border-radius:50%;\r\n  flex-shrink:0;\r\n  background:#fff;\r\n  border:1px solid var(--bd);\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  transition:background .2s,border-color .2s,transform .25s;\r\n}\r\n#ce-contact .cc-faq-icon svg{\r\n  width:13px;\r\n  height:13px;\r\n  color:var(--tx2);\r\n}\r\n#ce-contact .cc-faq-item.open .cc-faq-icon{\r\n  background:rgba(24,240,126,.12);\r\n  border-color:rgba(24,240,126,.45);\r\n  transform:rotate(45deg);\r\n}\r\n#ce-contact .cc-faq-item.open .cc-faq-icon svg{\r\n  color:var(--acd);\r\n}\r\n#ce-contact .cc-faq-a{\r\n  font-size:14px;\r\n  color:var(--tx2);\r\n  line-height:1.7;\r\n  max-height:0;\r\n  overflow:hidden;\r\n  transition:max-height .28s ease,padding .28s ease;\r\n  padding:0;\r\n  box-shadow:none!important;\r\n  background:transparent!important;\r\n  border:0!important;\r\n  outline:0!important;\r\n  border-radius:0!important;\r\n}\r\n#ce-contact .cc-faq-item.open .cc-faq-a{\r\n  max-height:340px;\r\n  padding:0 56px 22px 0;\r\n}\r\n#ce-contact .cc-bottom-links{\r\n  margin-top:2px;\r\n  padding:28px;\r\n  border:1px solid var(--bd);\r\n  border-radius:22px;\r\n  background:#fff;\r\n  text-align:center;\r\n  box-shadow:0 12px 30px rgba(0,0,0,.035);\r\n}\r\n#ce-contact .cc-bottom-title{\r\n  font-size:15px;\r\n  color:var(--tx2);\r\n  line-height:1.45;\r\n  margin-bottom:18px;\r\n}\r\n#ce-contact .cc-bottom-actions{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  justify-content:center;\r\n  gap:12px;\r\n}\r\n#ce-contact .cc-bottom-btn{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:8px;\r\n  min-height:46px;\r\n  padding:13px 22px;\r\n  border-radius:999px;\r\n  font-size:14px;\r\n  font-weight:800;\r\n  text-decoration:none;\r\n  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;\r\n}\r\n#ce-contact .cc-bottom-btn svg{\r\n  width:15px;\r\n  height:15px;\r\n  flex-shrink:0;\r\n}\r\n#ce-contact .cc-bottom-btn-primary{\r\n  background:var(--ac);\r\n  color:var(--bk);\r\n  border:1.5px solid var(--ac);\r\n  box-shadow:0 8px 20px rgba(24,240,126,.28);\r\n}\r\n#ce-contact .cc-bottom-btn-primary:hover{\r\n  background:var(--acd);\r\n  border-color:var(--acd);\r\n  transform:translateY(-2px);\r\n  box-shadow:0 12px 28px rgba(24,240,126,.38);\r\n}\r\n#ce-contact .cc-bottom-btn-secondary{\r\n  background:#111;\r\n  color:#fff;\r\n  border:1.5px solid #111;\r\n  box-shadow:0 8px 20px rgba(0,0,0,.12);\r\n}\r\n#ce-contact .cc-bottom-btn-secondary:hover{\r\n  background:#000;\r\n  border-color:#000;\r\n  transform:translateY(-2px);\r\n  box-shadow:0 12px 28px rgba(0,0,0,.20);\r\n}\r\n\r\n#ce-contact .cc-risk{\r\n  background:#fff;\r\n  border-top:1px solid var(--bd);\r\n  padding:34px 40px;\r\n}\r\n#ce-contact .cc-risk-inner{\r\n  max-width:var(--mx);\r\n  margin:0 auto;\r\n  display:grid;\r\n  grid-template-columns:repeat(4,minmax(0,1fr));\r\n  gap:14px;\r\n}\r\n#ce-contact .cc-risk-item{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:9px;\r\n  min-height:54px;\r\n  padding:13px 16px;\r\n  border:1px solid var(--bd);\r\n  border-radius:16px;\r\n  background:var(--bg-s);\r\n  font-size:14px;\r\n  font-weight:800;\r\n  color:var(--tx2);\r\n  text-align:center;\r\n  box-shadow:0 8px 22px rgba(0,0,0,.025);\r\n}\r\n#ce-contact .cc-risk-item:before{\r\n  content:'\u2713';\r\n  width:20px;\r\n  height:20px;\r\n  border-radius:50%;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  background:rgba(24,240,126,.14);\r\n  color:var(--acd);\r\n  font-size:12px;\r\n  font-weight:900;\r\n  flex-shrink:0;\r\n}\r\n\r\n@media(max-width:900px){#ce-contact .cc-main-inner{grid-template-columns:1fr;gap:40px}#ce-contact .cc-row{grid-template-columns:1fr}#ce-contact .cc-risk-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n@media(max-width:600px){#ce-contact .cc-hero{margin:18px 14px 0;padding:78px 20px 24px;border-radius:24px}#ce-contact .cc-hero-actions{gap:10px}#ce-contact .cc-hero-btn{width:100%;max-width:320px}#ce-contact .cc-hero-logo-bridge{margin-top:34px;padding-top:22px}#ce-contact .cc-hero-logo-bridge-inner{min-height:64px;padding:12px 16px;border-radius:20px}#ce-contact .cc-hero-logo-slot{min-width:150px;min-height:38px;padding:0 14px}#ce-contact .cc-hero-logo-slot img{max-width:170px;max-height:32px}#ce-contact .cc-main-inner{padding:48px 20px}#ce-contact .cc-form-wrap{padding:28px 20px}#ce-contact .cc-bottom-links{padding:22px 18px}#ce-contact .cc-bottom-actions{flex-direction:column}#ce-contact .cc-bottom-btn{width:100%}#ce-contact .cc-risk{padding:24px 20px}#ce-contact .cc-risk-inner{grid-template-columns:1fr}}\r\n@keyframes cc-spin{to{transform:rotate(360deg)}}\r\n<\/style>\r\n\r\n<div id=\"ce-contact\">\r\n  <section class=\"cc-hero\">\r\n    <div class=\"cc-hero-inner\">\r\n      <div class=\"cc-eyebrow\">Contacto<\/div>\r\n      <h1>Cu\u00e9ntanos tu <span>reto de ingenier\u00eda<\/span><\/h1>\r\n      <p class=\"cc-hero-sub\">Ingeniero estructural en Stuttgart especializado en simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica y fabricaci\u00f3n aditiva para hypercar, motorsport y aerospace. Recibimos tu brief y te damos una respuesta t\u00e9cnica real en menos de 24h.<\/p>\r\n      <div class=\"cc-trust-pills\">\r\n        <span class=\"cc-trust-pill\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\r\n          Respuesta en 24h\r\n        <\/span>\r\n        <span class=\"cc-trust-pill\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\r\n          Primera consulta gratis\r\n        <\/span>\r\n        <span class=\"cc-trust-pill\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M3 9h18M9 21V9\"\/><\/svg>\r\n          Alcance claro antes de empezar\r\n        <\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cc-hero-logo-bridge\" aria-hidden=\"true\">\r\n      <div class=\"cc-hero-logo-bridge-inner\">\r\n        <span class=\"cc-hero-divider-line\"><\/span>\r\n        <span class=\"cc-hero-logo-slot\">\r\n          <img decoding=\"async\" src=\"https:\/\/cortez-engineering.com\/wp-content\/uploads\/2025\/03\/cortez_22_300ppp-e1740938487742.png\" alt=\"Cortez Engineering logo\" loading=\"lazy\">\r\n        <\/span>\r\n        <span class=\"cc-hero-divider-line right\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"cc-main\">\r\n    <div class=\"cc-main-inner\">\r\n      <div class=\"cc-form-wrap\">\r\n        <div id=\"cc-form-container\">\r\n          <p class=\"cc-form-title\">Cu\u00e9ntanos el proyecto<\/p>\r\n          <p class=\"cc-form-sub\">Cuanto m\u00e1s detalle nos des, m\u00e1s \u00fatil ser\u00e1 la primera respuesta.<\/p>\r\n\r\n          <form id=\"cc-form\" class=\"cc-fields\" novalidate enctype=\"multipart\/form-data\">\r\n            <div class=\"cc-row\">\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-name\">Nombre *<\/label>\r\n                <input type=\"text\" id=\"cc-name\" name=\"your-name\" placeholder=\"Tu nombre\" autocomplete=\"name\" required>\r\n              <\/div>\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-company\">Empresa<\/label>\r\n                <input type=\"text\" id=\"cc-company\" name=\"your-company\" placeholder=\"Nombre de la empresa\" autocomplete=\"organization\">\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cc-row\">\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-email\">Email profesional *<\/label>\r\n                <input type=\"email\" id=\"cc-email\" name=\"your-email\" placeholder=\"tu@empresa.com\" autocomplete=\"email\" required>\r\n              <\/div>\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-phone\">Tel\u00e9fono *<\/label>\r\n                <input type=\"tel\" id=\"cc-phone\" name=\"your-phone\" placeholder=\"Tu tel\u00e9fono\" autocomplete=\"tel\" required>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cc-field\">\r\n              <label for=\"cc-type\">Tipo de proyecto<\/label>\r\n              <select id=\"cc-type\" name=\"project-type\" required>\r\n                <option value=\"\" disabled selected>Elige la opci\u00f3n que mejor encaja<\/option>\r\n                <option value=\"Necesito simulaci\u00f3n FEM \/ validaci\u00f3n estructural\">Necesito simulaci\u00f3n FEM \/ validaci\u00f3n estructural<\/option>\r\n                <option value=\"Necesito optimizaci\u00f3n topol\u00f3gica \/ reducci\u00f3n de peso\">Necesito optimizaci\u00f3n topol\u00f3gica \/ reducci\u00f3n de peso<\/option>\r\n                <option value=\"Necesito dise\u00f1o para fabricaci\u00f3n aditiva met\u00e1lica\">Necesito dise\u00f1o para fabricaci\u00f3n aditiva met\u00e1lica<\/option>\r\n                <option value=\"Necesito composites \/ fibra de carbono\">Necesito composites \/ fibra de carbono<\/option>\r\n                <option value=\"Necesito aerodin\u00e1mica \/ CFD\">Necesito aerodin\u00e1mica \/ CFD<\/option>\r\n                <option value=\"Necesito ingenier\u00eda inversa \/ escaneo 3D\">Necesito ingenier\u00eda inversa \/ escaneo 3D<\/option>\r\n                <option value=\"Necesito desarrollo completo del componente\">Necesito desarrollo completo del componente<\/option>\r\n                <option value=\"No estoy seguro todav\u00eda\">No estoy seguro todav\u00eda<\/option>\r\n              <\/select>\r\n              <p class=\"cc-help\">Si no lo tienes claro, elige la opci\u00f3n m\u00e1s cercana. Lo revisamos contigo.<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"cc-row\">\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-files\">\u00bfTienes CAD o planos?<\/label>\r\n                <select id=\"cc-files\" name=\"has-files\">\r\n                  <option value=\"\" disabled selected>Selecciona lo que tienes ahora mismo<\/option>\r\n                  <option value=\"Ya tengo CAD 3D\">Ya tengo CAD 3D<\/option>\r\n                  <option value=\"Tengo planos o PDF\">Tengo planos o PDF<\/option>\r\n                  <option value=\"Tengo fotos, boceto o referencia\">Tengo fotos, boceto o referencia<\/option>\r\n                  <option value=\"Solo tengo la idea, a\u00fan sin archivos\">Solo tengo la idea, a\u00fan sin archivos<\/option>\r\n                  <option value=\"No estoy seguro\">No estoy seguro<\/option>\r\n                <\/select>\r\n                <p class=\"cc-help\">No hace falta tenerlo todo preparado para escribirnos.<\/p>\r\n              <\/div>\r\n\r\n              <div class=\"cc-field\">\r\n                <label for=\"cc-file\">Archivo opcional<\/label>\r\n                <div class=\"cc-file-control\" id=\"cc-file-control\">\r\n                  <input class=\"cc-file-input\" type=\"file\" id=\"cc-file\" name=\"cad-file\" accept=\".step,.stp,.iges,.igs,.stl,.3mf,.pdf,.zip,.jpg,.jpeg,.png\">\r\n                  <label class=\"cc-file-button\" for=\"cc-file\">Seleccionar archivo<\/label>\r\n                  <span class=\"cc-file-name\" id=\"cc-file-name\">Ning\u00fan archivo seleccionado<\/span>\r\n                <\/div>\r\n                <p class=\"cc-file-help\">STEP, STL, PDF, ZIP o imagen. M\u00e1x. recomendado: 250 MB.<\/p>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cc-field\">\r\n              <label for=\"cc-msg\">Descripci\u00f3n del proyecto<\/label>\r\n              <textarea id=\"cc-msg\" name=\"your-message\" placeholder=\"\u00bfQu\u00e9 componente es? \u00bfCu\u00e1l es el objetivo principal? \u00bfHay un plazo, material, carga, restricci\u00f3n de peso o proceso de fabricaci\u00f3n definido?\" required><\/textarea>\r\n            <\/div>\r\n\r\n            <div class=\"cc-hp\" aria-hidden=\"true\">\r\n              <label for=\"cc-website\">Website<\/label>\r\n              <input type=\"text\" id=\"cc-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\r\n            <\/div>\r\n\r\n            <label class=\"cc-check\" id=\"cc-privacy-wrap\" for=\"cc-privacy\">\r\n              <input type=\"checkbox\" id=\"cc-privacy\" name=\"privacy-acceptance\" value=\"1\" required>\r\n              <span class=\"cc-check-box\" aria-hidden=\"true\"><\/span>\r\n              <span class=\"cc-check-text\">Acepto que Cortez Engineering utilice estos datos para responder a mi consulta. He le\u00eddo la <a href=\"\/es\/privacidad\/\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de privacidad<\/a>.<\/span>\r\n            <\/label>\r\n\r\n            <div class=\"cc-submit-wrap\">\r\n              <div class=\"cc-form-error\" id=\"cc-form-error\">Algo fue mal. Prueba de nuevo o escr\u00edbenos directamente.<\/div>\r\n              <button type=\"submit\" class=\"cc-btn\" id=\"cc-submit\">\r\n                <span id=\"cc-btn-text\">Enviar proyecto<\/span>\r\n                <svg id=\"cc-btn-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M13 5l7 7-7 7\"\/><\/svg>\r\n                <svg id=\"cc-btn-spin\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" style=\"display:none;animation:cc-spin .8s linear infinite\"><path d=\"M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83\"\/><\/svg>\r\n              <\/button>\r\n              <p class=\"cc-form-foot\">Sin spam. Sin compromiso. Si el proyecto es confidencial, podemos trabajar bajo NDA.<\/p>\r\n            <\/div>\r\n          <\/form>\r\n        <\/div>\r\n\r\n        <div class=\"cc-success\" id=\"cc-success\">\r\n          <div class=\"cc-success-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div>\r\n          <h3>Mensaje recibido<\/h3>\r\n          <p>Gracias. Revisaremos tu proyecto y recibir\u00e1s una respuesta t\u00e9cnica real en menos de 24 horas.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"cc-info-col\">\r\n        <div class=\"cc-info-card\">\r\n          <p class=\"cc-info-card-title\">Contacto directo<\/p>\r\n          <div class=\"cc-info-item\"><div class=\"cc-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"\/><polyline points=\"22,6 12,13 2,6\"\/><\/svg><\/div><div class=\"cc-info-text\"><strong>Email<\/strong><span><a href=\"mailto:contact@cortez-engineering.com\">contact@cortez-engineering.com<\/a><\/span><\/div><\/div>\r\n          <div class=\"cc-info-divider\"><\/div>\r\n          <div class=\"cc-info-item\"><div class=\"cc-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg><\/div><div class=\"cc-info-text\"><strong>Tiempo de respuesta<\/strong><span>Menos de 24h en d\u00edas laborables<\/span><\/div><\/div>\r\n          <div class=\"cc-info-divider\"><\/div>\r\n          <div class=\"cc-info-item\"><div class=\"cc-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg><\/div><div class=\"cc-info-text\"><strong>Ubicaci\u00f3n<\/strong><span>Stuttgart, Alemania<\/span><\/div><\/div>\r\n          <div class=\"cc-info-divider\"><\/div>\r\n          <div class=\"cc-info-item\"><div class=\"cc-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6zM2 9h4v12H2z\"\/><circle cx=\"4\" cy=\"4\" r=\"2\"\/><\/svg><\/div><div class=\"cc-info-text\"><strong>LinkedIn<\/strong><span><a href=\"https:\/\/www.linkedin.com\/in\/hilario-cortez-3508391ba\" target=\"_blank\" rel=\"noopener\">Hilario Cortez Rivera<\/a><\/span><\/div><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"cc-steps-card\">\r\n          <p class=\"cc-steps-title\">\u00bfQu\u00e9 pasa despu\u00e9s?<\/p>\r\n          <div class=\"cc-step\"><div class=\"cc-step-num\">1<\/div><div><p class=\"cc-step-title\">Respuesta t\u00e9cnica en &lt; 24h<\/p><p class=\"cc-step-desc\">Analizamos el brief y te enviamos una primera valoraci\u00f3n t\u00e9cnica real.<\/p><\/div><\/div>\r\n          <div class=\"cc-step\"><div class=\"cc-step-num\">2<\/div><div><p class=\"cc-step-title\">Llamada de 30 min si procede<\/p><p class=\"cc-step-desc\">Alineamos alcance, plazos, restricciones y entregables.<\/p><\/div><\/div>\r\n          <div class=\"cc-step\"><div class=\"cc-step-num\">3<\/div><div><p class=\"cc-step-title\">Propuesta t\u00e9cnica clara<\/p><p class=\"cc-step-desc\">Definimos alcance, precio, plazo y pr\u00f3ximos pasos antes de empezar.<\/p><\/div><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"cc-faq-section\">\r\n    <div class=\"cc-faq-inner\">\r\n      <div class=\"cc-faq-header\">\r\n        <span class=\"cc-faq-label\">Preguntas frecuentes<\/span>\r\n        <h2>Preguntas habituales antes de iniciar un proyecto<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"cc-faq-list\">\r\n        <div class=\"cc-faq-item\">\r\n          <div class=\"cc-faq-q\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\r\n            <span class=\"cc-faq-q-text\">\u00bfQu\u00e9 tipo de proyectos acept\u00e1is?<\/span>\r\n            <span class=\"cc-faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\r\n          <\/div>\r\n          <div class=\"cc-faq-a\">Trabajamos principalmente con proyectos B2B de ingenier\u00eda avanzada para automoci\u00f3n, motorsport, aerospace, e-mobility y componentes de alto rendimiento. Podemos ayudarte con simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica, dise\u00f1o para fabricaci\u00f3n aditiva met\u00e1lica, composites, aerodin\u00e1mica e ingenier\u00eda inversa. Si no sabes si tu proyecto encaja, env\u00edanos una breve descripci\u00f3n y te orientamos sin compromiso.<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"cc-faq-item\">\r\n          <div class=\"cc-faq-q\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\r\n            <span class=\"cc-faq-q-text\">\u00bfLa primera consulta es realmente gratuita?<\/span>\r\n            <span class=\"cc-faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\r\n          <\/div>\r\n          <div class=\"cc-faq-a\">S\u00ed. Revisamos tu consulta inicial sin coste y sin compromiso. Si el proyecto encaja con nuestras capacidades, te damos una primera orientaci\u00f3n t\u00e9cnica y, si hace falta, proponemos una llamada breve para definir alcance, restricciones y pr\u00f3ximos pasos antes de preparar una propuesta.<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"cc-faq-item\">\r\n          <div class=\"cc-faq-q\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\r\n            <span class=\"cc-faq-q-text\">\u00bfTrabaj\u00e1is con empresas fuera de Alemania?<\/span>\r\n            <span class=\"cc-faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\r\n          <\/div>\r\n          <div class=\"cc-faq-a\">S\u00ed. Nuestra base est\u00e1 en la regi\u00f3n de Stuttgart, Alemania, y colaboramos con empresas de toda Europa. Muchos proyectos se gestionan de forma remota mediante reuniones online, intercambio seguro de archivos y entregables digitales como CAD, documentaci\u00f3n t\u00e9cnica, informes FEM y recomendaciones de fabricaci\u00f3n.<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"cc-faq-item\">\r\n          <div class=\"cc-faq-q\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\r\n            <span class=\"cc-faq-q-text\">\u00bfCu\u00e1nto tiempo tarda en llegar la propuesta?<\/span>\r\n            <span class=\"cc-faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\r\n          <\/div>\r\n          <div class=\"cc-faq-a\">Normalmente respondemos en menos de 24 horas laborables con una primera valoraci\u00f3n t\u00e9cnica. Si el proyecto requiere una propuesta formal, el plazo habitual es de 2 a 4 d\u00edas h\u00e1biles, dependiendo del nivel de informaci\u00f3n disponible, la complejidad t\u00e9cnica y los entregables necesarios.<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"cc-faq-item\">\r\n          <div class=\"cc-faq-q\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\r\n            <span class=\"cc-faq-q-text\">\u00bfQu\u00e9 necesito para enviar el brief?<\/span>\r\n            <span class=\"cc-faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\r\n          <\/div>\r\n          <div class=\"cc-faq-a\">Puedes enviarnos lo que tengas disponible: archivos STEP, STL o CAD, planos en PDF, im\u00e1genes, un boceto, datos de carga o simplemente una descripci\u00f3n del problema. Cuanto m\u00e1s contexto nos des sobre objetivo, material, restricciones, plazo y uso final del componente, m\u00e1s precisa ser\u00e1 la primera valoraci\u00f3n.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"cc-bottom-links\">\r\n        <p class=\"cc-bottom-title\">\u00bfQuieres ver resultados y capacidades antes de enviarnos tu proyecto?<\/p>\r\n        <div class=\"cc-bottom-actions\">\r\n          <a href=\"\/es\/proyectos\/\" class=\"cc-bottom-btn cc-bottom-btn-primary\">\r\n            Ver proyectos reales\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M13 5l7 7-7 7\"\/><\/svg>\r\n          <\/a>\r\n          <a href=\"\/es\/ingenieria-avanzada\/\" class=\"cc-bottom-btn cc-bottom-btn-secondary\">\r\n            Ver servicios\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M13 5l7 7-7 7\"\/><\/svg>\r\n          <\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <div class=\"cc-risk\">\r\n    <div class=\"cc-risk-inner\">\r\n      <span class=\"cc-risk-item\">Sin compromiso al consultar<\/span>\r\n      <span class=\"cc-risk-item\">Primera consulta siempre gratis<\/span>\r\n      <span class=\"cc-risk-item\">Precio cerrado antes de empezar<\/span>\r\n      <span class=\"cc-risk-item\">Respuesta garantizada en 24h<\/span>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('ce-contact');\r\n  if(!root) return;\r\n\r\n  var form = root.querySelector('#cc-form');\r\n  var success = root.querySelector('#cc-success');\r\n  var frmErr = root.querySelector('#cc-form-error');\r\n  var submit = root.querySelector('#cc-submit');\r\n  var btnTxt = root.querySelector('#cc-btn-text');\r\n  var btnArr = root.querySelector('#cc-btn-arrow');\r\n  var btnSpin = root.querySelector('#cc-btn-spin');\r\n\r\n  var CE_CONTACT_ENDPOINT = '\/wp-json\/cortez\/v1\/contact-request';\r\n  var MAX_FILE_BYTES = 250 * 1024 * 1024;\r\n  var CE_LANG = detectPageLang();\r\n  var TEST_MODE = false;\r\n\r\n  if(!form || !frmErr || !submit) return;\r\n\r\n  var heroSection = root.querySelector('.cc-hero');\r\n  if(heroSection && !window.matchMedia('(prefers-reduced-motion: reduce)').matches){\r\n    var heroRaf = null;\r\n    heroSection.addEventListener('pointermove', function(e){\r\n      if(heroRaf) cancelAnimationFrame(heroRaf);\r\n      heroRaf = requestAnimationFrame(function(){\r\n        var rect = heroSection.getBoundingClientRect();\r\n        var x = ((e.clientX - rect.left) \/ rect.width) * 100;\r\n        var y = ((e.clientY - rect.top) \/ rect.height) * 100;\r\n        heroSection.style.setProperty('--hero-spot-x', x.toFixed(1) + '%');\r\n        heroSection.style.setProperty('--hero-spot-y', y.toFixed(1) + '%');\r\n        heroSection.classList.add('cc-hero-hover');\r\n      });\r\n    });\r\n    heroSection.addEventListener('pointerleave', function(){\r\n      heroSection.classList.remove('cc-hero-hover');\r\n      heroSection.style.setProperty('--hero-spot-x','50%');\r\n      heroSection.style.setProperty('--hero-spot-y','0%');\r\n    });\r\n  }\r\n\r\n  function detectPageLang(){\r\n    var path = (window.location && window.location.pathname ? window.location.pathname : '').toLowerCase();\r\n    if(path.indexOf('\/de\/') === 0 || path === '\/de') return 'de';\r\n    if(path.indexOf('\/en\/') === 0 || path === '\/en') return 'en';\r\n    if(path.indexOf('\/es\/') === 0 || path === '\/es') return 'es';\r\n    return 'es';\r\n  }\r\n\r\n  function byId(id){ return root.querySelector('#' + id); }\r\n  function value(id){ var el = byId(id); return el && typeof el.value === 'string' ? el.value.trim() : ''; }\r\n\r\n  function setLoading(on){\r\n    submit.disabled = !!on;\r\n    if(btnTxt) btnTxt.textContent = on ? 'Enviando\u2026' : 'Enviar proyecto';\r\n    if(btnArr) btnArr.style.display = on ? 'none' : '';\r\n    if(btnSpin) btnSpin.style.display = on ? '' : 'none';\r\n  }\r\n\r\n  function markError(el){\r\n    if(!el) return;\r\n    el.classList.add('error');\r\n    if(el.id === 'cc-file'){\r\n      var fileControl = byId('cc-file-control');\r\n      if(fileControl) fileControl.classList.add('error');\r\n    }\r\n  }\r\n\r\n  function clearErrors(){\r\n    form.querySelectorAll('.error').forEach(function(el){ el.classList.remove('error'); });\r\n    var privacyWrap = byId('cc-privacy-wrap');\r\n    var fileControl = byId('cc-file-control');\r\n    if(privacyWrap) privacyWrap.classList.remove('error');\r\n    if(fileControl) fileControl.classList.remove('error');\r\n    frmErr.textContent = 'Algo fue mal. Prueba de nuevo o escr\u00edbenos directamente.';\r\n    frmErr.style.display = 'none';\r\n  }\r\n\r\n  function showError(message){\r\n    frmErr.textContent = message || 'Algo fue mal. Prueba de nuevo o escr\u00edbenos directamente.';\r\n    frmErr.style.display = 'block';\r\n  }\r\n\r\n  function validate(){\r\n    var ok = true;\r\n    ['cc-name','cc-email','cc-phone','cc-type','cc-msg'].forEach(function(id){\r\n      var el = byId(id);\r\n      if(!el || !el.value.trim()){\r\n        markError(el);\r\n        ok = false;\r\n      }\r\n    });\r\n\r\n    var emailEl = byId('cc-email');\r\n    if(emailEl && emailEl.value && !emailEl.checkValidity()){\r\n      markError(emailEl);\r\n      ok = false;\r\n    }\r\n\r\n    var privacy = byId('cc-privacy');\r\n    var privacyWrap = byId('cc-privacy-wrap');\r\n    if(!privacy || !privacy.checked){\r\n      if(privacyWrap) privacyWrap.classList.add('error');\r\n      ok = false;\r\n    }\r\n\r\n    var fileEl = byId('cc-file');\r\n    if(fileEl && fileEl.files && fileEl.files[0] && fileEl.files[0].size > MAX_FILE_BYTES){\r\n      markError(fileEl);\r\n      showError('El archivo supera los 250 MB. Env\u00eda primero la consulta y despu\u00e9s compartimos un enlace de carga seguro si hace falta.');\r\n      ok = false;\r\n    }\r\n\r\n    if(!ok && frmErr.style.display !== 'block'){\r\n      showError('Revisa los campos marcados antes de enviar.');\r\n    }\r\n\r\n    return ok;\r\n  }\r\n\r\n  function buildContactSummary(){\r\n    var lines = [];\r\n    lines.push('NUEVA CONSULTA DESDE LA PAGINA DE CONTACTO');\r\n    lines.push('Idioma: ' + CE_LANG.toUpperCase());\r\n    lines.push('');\r\n    lines.push('DATOS DEL CLIENTE');\r\n    lines.push('Nombre: ' + value('cc-name'));\r\n    lines.push('Empresa: ' + value('cc-company'));\r\n    lines.push('Email: ' + value('cc-email'));\r\n    lines.push('Telefono: ' + value('cc-phone')); \r\n    lines.push('');\r\n    lines.push('PROYECTO');\r\n    lines.push('Tipo de proyecto: ' + value('cc-type'));\r\n    lines.push('CAD \/ planos disponibles: ' + value('cc-files'));\r\n    lines.push('');\r\n    lines.push('MENSAJE');\r\n    lines.push(value('cc-msg'));\r\n    lines.push('');\r\n    lines.push('PRIVACIDAD');\r\n    lines.push('Aceptada: Si');\r\n    return lines.join(String.fromCharCode(10));\r\n  }\r\n\r\n  function appendFormData(body){\r\n    var honeypot = byId('cc-website');\r\n    body.append('lang', CE_LANG);\r\n    body.append('your-name', value('cc-name'));\r\n    body.append('your-company', value('cc-company'));\r\n    body.append('your-email', value('cc-email'));\r\n    body.append('your-phone', value('cc-phone'));\r\n    body.append('project-type', value('cc-type'));\r\n    body.append('has-files', value('cc-files'));\r\n    body.append('your-message', value('cc-msg'));\r\n    body.append('summary', buildContactSummary());\r\n    body.append('website', honeypot ? honeypot.value.trim() : '');\r\n    body.append('privacy-acceptance', byId('cc-privacy') && byId('cc-privacy').checked ? 'yes' : '');\r\n\r\n    var fileEl = byId('cc-file');\r\n    if(fileEl && fileEl.files && fileEl.files[0]){\r\n      body.append('cad-file', fileEl.files[0], fileEl.files[0].name);\r\n    }\r\n  }\r\n\r\n  function handleSuccess(data){\r\n    var container = byId('cc-form-container');\r\n    if(container) container.style.display = 'none';\r\n    if(success) success.style.display = 'flex';\r\n    var p = success ? success.querySelector('p') : null;\r\n    if(p && data && data.reference){\r\n      p.textContent = 'Gracias. Hemos recibido tu consulta con la referencia ' + data.reference + '. Revisaremos tu proyecto y recibir\u00e1s una respuesta t\u00e9cnica real en menos de 24 horas laborables.';\r\n    }\r\n  }\r\n\r\n  form.addEventListener('submit', function(e){\r\n    e.preventDefault();\r\n    clearErrors();\r\n    if(!validate()) return;\r\n\r\n    var honeypot = byId('cc-website');\r\n    if(honeypot && honeypot.value.trim()) return;\r\n\r\n    setLoading(true);\r\n\r\n    var body = new FormData();\r\n    appendFormData(body);\r\n\r\n    if(TEST_MODE){\r\n      setTimeout(function(){ handleSuccess({reference:'CE-CONTACT-TEST'}); }, 300);\r\n      return;\r\n    }\r\n\r\n    fetch(CE_CONTACT_ENDPOINT, { method:'POST', body:body })\r\n      .then(function(r){\r\n        return r.json().catch(function(){ return {}; }).then(function(data){\r\n          if(!r.ok || !data.success){\r\n            throw new Error(data.message || 'La consulta no se pudo enviar.');\r\n          }\r\n          return data;\r\n        });\r\n      })\r\n      .then(function(data){\r\n        handleSuccess(data);\r\n      })\r\n      .catch(function(err){\r\n        showError(err.message || 'Algo fue mal. Prueba de nuevo o escr\u00edbenos directamente.');\r\n        setLoading(false);\r\n      });\r\n  });\r\n\r\n  root.querySelectorAll('.cc-faq-q').forEach(function(btn){\r\n    function toggleFaq(){\r\n      var item = btn.closest('.cc-faq-item');\r\n      if(!item) return;\r\n      var open = item.classList.contains('open');\r\n      root.querySelectorAll('.cc-faq-item.open').forEach(function(el){\r\n        el.classList.remove('open');\r\n        var q = el.querySelector('.cc-faq-q');\r\n        if(q) q.setAttribute('aria-expanded','false');\r\n      });\r\n      if(!open){\r\n        item.classList.add('open');\r\n        btn.setAttribute('aria-expanded','true');\r\n      }\r\n    }\r\n\r\n    btn.addEventListener('click', toggleFaq);\r\n    btn.addEventListener('keydown', function(e){\r\n      if(e.key === 'Enter' || e.key === ' '){\r\n        e.preventDefault();\r\n        toggleFaq();\r\n      }\r\n    });\r\n  });\r\n\r\n  form.querySelectorAll('input,select,textarea').forEach(function(el){\r\n    el.addEventListener('input', function(){\r\n      el.classList.remove('error');\r\n      var privacyWrap = byId('cc-privacy-wrap');\r\n      var fileControl = byId('cc-file-control');\r\n      if(privacyWrap) privacyWrap.classList.remove('error');\r\n      if(fileControl) fileControl.classList.remove('error');\r\n      if(frmErr.style.display === 'block') frmErr.style.display = 'none';\r\n    });\r\n  });\r\n\r\n  var fileInput = byId('cc-file');\r\n  var fileName = byId('cc-file-name');\r\n  if(fileInput && fileName){\r\n    fileInput.addEventListener('change', function(){\r\n      var selected = fileInput.files && fileInput.files[0] ? fileInput.files[0].name : 'Ning\u00fan archivo seleccionado';\r\n      fileName.textContent = selected;\r\n      var fileControl = byId('cc-file-control');\r\n      if(fileControl) fileControl.classList.remove('error');\r\n      fileInput.classList.remove('error');\r\n    });\r\n  }\r\n\r\n  function runTests(){\r\n    console.assert(typeof buildContactSummary === 'function', 'TEST: buildContactSummary exists');\r\n    console.assert(buildContactSummary().indexOf(String.fromCharCode(10)) !== -1, 'TEST: summary uses safe newline character');\r\n    console.assert(buildContactSummary().indexOf(\"lines.join('\") === -1, 'TEST: no broken join string inside summary');\r\n    console.assert(CE_CONTACT_ENDPOINT === '\/wp-json\/cortez\/v1\/contact-request', 'TEST: contact endpoint configured');\r\n    console.assert(['es','de','en'].indexOf(CE_LANG) !== -1, 'TEST: language is detected as es\/de\/en');\r\n    console.assert(MAX_FILE_BYTES === 262144000, 'TEST: max file size is 250 MB');\r\n    console.assert(!!byId('cc-privacy'), 'TEST: privacy checkbox exists');\r\n    console.assert(!!root.querySelector('.cc-check-box'), 'TEST: custom privacy checkbox is visible');\r\n    console.assert(!!byId('cc-website'), 'TEST: honeypot field exists');\r\n    console.assert(!!byId('cc-file'), 'TEST: optional file input exists');\r\n    console.assert(!!byId('cc-type'), 'TEST: project type select exists');\r\n    console.assert(!!byId('cc-phone') && byId('cc-phone').required === true, 'TEST: phone is required');\r\n    console.assert(!!byId('cc-company') && byId('cc-company').required === false, 'TEST: company is optional');\r\n  }\r\n\r\n  runTests();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Contacto Cu\u00e9ntanos tu reto de ingenier\u00eda Ingeniero estructural en Stuttgart especializado en simulaci\u00f3n FEM, optimizaci\u00f3n topol\u00f3gica y fabricaci\u00f3n aditiva para hypercar, motorsport y aerospace. Recibimos tu brief y te damos una respuesta t\u00e9cnica real en menos de 24h. Respuesta en 24h&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-24795","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/pages\/24795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/comments?post=24795"}],"version-history":[{"count":4,"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/pages\/24795\/revisions"}],"predecessor-version":[{"id":24799,"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/pages\/24795\/revisions\/24799"}],"wp:attachment":[{"href":"https:\/\/cortez-engineering.com\/es\/wp-json\/wp\/v2\/media?parent=24795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}