{"id":12,"date":"2026-07-29T04:59:02","date_gmt":"2026-07-29T04:59:02","guid":{"rendered":"https:\/\/prefabricados.concretosmiracle.com\/?page_id=12"},"modified":"2026-07-29T05:59:56","modified_gmt":"2026-07-29T05:59:56","slug":"prefabricados-2","status":"publish","type":"page","link":"https:\/\/prefabricados.concretosmiracle.com\/","title":{"rendered":"PREFABRICADOS"},"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-9cd6249 e-con e-atomic-element e-flexbox-base e-2937c6a \" data-id=\"9cd6249\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"9cd6249\">\n    \t\t<div class=\"elementor-element elementor-element-b787d2d elementor-widget elementor-widget-html\" data-id=\"b787d2d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n  :root{\n    --ink:#201E1B;\n    --concrete-900:#3A3733;\n    --concrete-700:#57534C;\n    --concrete-500:#847E73;\n    --concrete-300:#B5B0A6;\n    --paper:#EDEAE1;\n    --paper-2:#F6F4EF;\n    --yellow:#F58634;\n    --rust:#4B4B4D;\n    --line: rgba(237,234,225,0.18);\n    --font-display:'Big Shoulders Display', sans-serif;\n    --font-body:'IBM Plex Sans', sans-serif;\n    --font-mono:'IBM Plex Mono', monospace;\n  }\n  *{box-sizing:border-box; margin:0; padding:0;}\n  html{scroll-behavior:smooth;}\n  body{\n    background:var(--paper);\n    color:var(--ink);\n    font-family:var(--font-body);\n    line-height:1.5;\n    -webkit-font-smoothing:antialiased;\n  }\n  img,svg{display:block; max-width:100%;}\n  a{color:inherit; text-decoration:none;}\n  ul{list-style:none;}\n  button{font-family:inherit; cursor:pointer;}\n  .wrap{max-width:1400px; margin:0 auto; padding:0 32px;}\n  @media(max-width:640px){ .wrap{padding:0 20px;} }\n\n  .eyebrow{\n    font-family:var(--font-mono);\n    font-size:12px;\n    letter-spacing:0.18em;\n    text-transform:uppercase;\n    color:var(--rust);\n    display:flex; align-items:center; gap:10px;\n    margin-bottom:14px;\n  }\n  .eyebrow::before{content:\"\"; width:22px; height:2px; background:var(--rust);}\n\n  h1,h2,h3{font-family:var(--font-display); font-weight:900; letter-spacing:-0.01em; line-height:0.92;}\n\n  \/* ---------- NAV ---------- *\/\n  header{\n    position:fixed; top:0; left:0; right:0; z-index:100;\n    background:rgba(32,30,27,0.92);\n    backdrop-filter:blur(6px);\n    border-bottom:1px solid var(--line);\n  }\n  .nav{\n    display:flex; align-items:center; justify-content:space-between;\n    padding:16px 32px; max-width:1400px; margin:0 auto; color:var(--paper);\n  }\n  .logo{display:flex; align-items:center; gap:12px;}\n  .logo-plate{\n    background:var(--paper); padding:9px 16px; display:inline-flex; align-items:center; justify-content:center;\n    border-left:3px solid var(--yellow); height:48px; box-sizing:border-box; overflow:hidden;\n  }\n  .logo-plate img{height:30px; width:auto; max-width:170px; object-fit:contain; display:block;}\n  .logo span{color:var(--yellow); font-size:11.5px; font-family:var(--font-mono); font-weight:500; letter-spacing:0.1em; text-transform:uppercase;}\n  .nav-links{display:flex; gap:38px; align-items:center;}\n  .nav-links a{\n    font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase;\n    color:var(--concrete-300); transition:color .2s;\n    position:relative; padding:4px 0;\n  }\n  .nav-links a:hover{color:var(--paper);}\n  .nav-cta{\n    font-family:var(--font-mono) !important; font-size:13px !important; letter-spacing:.06em !important; text-transform:uppercase !important;\n    background:var(--yellow) !important; color:var(--ink) !important; padding:15px 26px !important; font-weight:500 !important;\n    border:1px solid var(--yellow) !important; transition:all .2s !important; line-height:normal !important; display:inline-block !important;\n  }\n  .nav-cta:hover{background:transparent !important; color:var(--yellow) !important;}\n  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none;}\n  .burger span{width:24px; height:2px; background:var(--paper);}\n  .mobile-menu{display:none; flex-direction:column; gap:0; background:var(--ink); border-top:1px solid var(--line);}\n  .mobile-menu a{padding:16px 24px; border-bottom:1px solid var(--line); color:var(--paper-2); font-family:var(--font-mono); font-size:13px; text-transform:uppercase; letter-spacing:.06em;}\n  @media(max-width:860px){\n    .nav-links{display:none;}\n    .burger{display:flex;}\n    .mobile-menu.open{display:flex;}\n  }\n  @media(max-width:560px){\n    .logo > span:not(.logo-plate){display:none;}\n    .logo-plate img{height:24px;}\n  }\n\n  \/* ---------- HERO ---------- *\/\n  .hero{\n    position:relative;\n    min-height:100vh;\n    background:var(--ink);\n    background-image:\n      linear-gradient(100deg, rgba(32,30,27,0.94) 0%, rgba(32,30,27,0.82) 35%, rgba(32,30,27,0.55) 65%, rgba(32,30,27,0.35) 100%),\n      url('https:\/\/prefabricados.concretosmiracle.com\/wp-content\/uploads\/2026\/07\/prefabricados-.png');\n    background-size:cover;\n    background-position:center;\n    color:var(--paper);\n    display:flex; align-items:center;\n    padding:120px 0 60px;\n    overflow:hidden;\n  }\n  .hero::before{\n    content:\"\";\n    position:absolute; inset:0;\n    background-image:\n      radial-gradient(circle at 15% 20%, rgba(242,169,0,0.08), transparent 40%),\n      radial-gradient(circle at 85% 75%, rgba(180,71,43,0.10), transparent 45%);\n    pointer-events:none;\n  }\n  .noise{position:absolute; inset:0; opacity:0.5; mix-blend-mode:overlay; pointer-events:none;}\n  .hero-grid{\n    position:relative; z-index:2;\n    display:grid; grid-template-columns:1.2fr 0.9fr; gap:60px; align-items:end;\n  }\n  @media(max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:48px;} }\n\n  .hero-stack{display:flex; flex-direction:column; gap:2px;}\n  .hero-stack .line{\n    display:flex; align-items:baseline; gap:16px; border-bottom:1px solid var(--line); padding:6px 0;\n  }\n  .hero-stack .num{font-family:var(--font-mono); font-size:13px; color:var(--concrete-300); width:24px;}\n  .hero-stack .word{\n    font-family:var(--font-display); font-weight:900; font-size:clamp(40px, 8vw, 92px);\n    letter-spacing:-0.01em; color:var(--paper);\n  }\n  .hero-stack .line:nth-child(1) .word{color:var(--yellow);}\n  .hero-sub{\n    font-family:var(--font-body); font-size:16.5px; color:var(--concrete-300); max-width:44ch; margin-top:22px;\n  }\n  .hero-ctas{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}\n  .btn{\n    font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase;\n    padding:15px 26px; border:1px solid var(--paper); font-weight:500; transition:all .2s;\n    display:inline-flex; align-items:center; gap:10px;\n  }\n  .btn-primary{background:var(--yellow); border-color:var(--yellow); color:var(--ink);}\n  .btn-primary:hover{background:transparent; color:var(--yellow);}\n  .btn-ghost{color:var(--paper); background:transparent;}\n  .btn-ghost:hover{background:var(--paper); color:var(--ink);}\n\n  .spec-plate{\n    border:1px solid var(--line); padding:24px; background:rgba(237,234,225,0.03);\n  }\n  .spec-plate .plate-head{\n    display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:11px;\n    color:var(--concrete-300); text-transform:uppercase; letter-spacing:.08em; padding-bottom:14px;\n    border-bottom:1px dashed var(--line); margin-bottom:16px;\n  }\n  .stat-row{display:grid; grid-template-columns:1fr 1fr; gap:20px 16px;}\n  .stat{border-left:2px solid var(--yellow); padding-left:12px;}\n  .stat b{display:block; font-family:var(--font-display); font-size:34px; font-weight:700; color:var(--paper);}\n  .stat span{font-family:var(--font-mono); font-size:11px; color:var(--concrete-300); text-transform:uppercase; letter-spacing:.04em;}\n\n  .scroll-cue{\n    position:absolute; bottom:28px; left:32px; z-index:2;\n    font-family:var(--font-mono); font-size:11px; color:var(--concrete-300);\n    display:flex; align-items:center; gap:10px; letter-spacing:.08em; text-transform:uppercase;\n  }\n  .scroll-cue::after{content:\"\"; width:1px; height:34px; background:linear-gradient(var(--yellow), transparent); animation:drip 1.8s infinite;}\n  @keyframes drip{0%{opacity:0; transform:translateY(-6px);} 50%{opacity:1;} 100%{opacity:0; transform:translateY(6px);}}\n\n  \/* ---------- SECTION GENERIC ---------- *\/\n  section{padding:100px 0;}\n  .section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap;}\n  .section-head h2{font-size:clamp(32px,4.5vw,52px); max-width:16ch;}\n  .section-head p{font-family:var(--font-body); color:var(--concrete-700); max-width:40ch; font-size:15px;}\n\n  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}\n  .reveal.in{opacity:1; transform:translateY(0);}\n\n  \/* ---------- CATALOG ---------- *\/\n  .catalog{background:var(--paper);}\n  .cat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--concrete-300); border:1px solid var(--concrete-300);}\n  @media(max-width:760px){ .cat-grid{grid-template-columns:1fr;} }\n  .cat-card{\n    background:var(--paper-2); padding:36px; display:flex; flex-direction:column; gap:18px;\n    transition:background .25s;\n  }\n  .cat-card:hover{background:var(--ink); color:var(--paper);}\n  .cat-card:hover .cat-desc{color:var(--concrete-300);}\n  .cat-card:hover .spec-line{border-color:var(--line); color:var(--paper-2);}\n  .cat-top{display:flex; justify-content:space-between; align-items:flex-start; gap:16px;}\n  .cat-id{font-family:var(--font-mono); font-size:12px; color:var(--rust);}\n  .cat-name{font-size:clamp(30px,3.4vw,42px); font-family:var(--font-display); font-weight:900;}\n  .cat-tag{font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--concrete-700);}\n  .cat-card:hover .cat-tag{color:var(--yellow);}\n  .cat-icon{height:120px; display:flex; align-items:center; justify-content:center;}\n  .cat-icon svg{width:100%; height:100%;}\n  .cat-icon path,.cat-icon circle,.cat-icon rect,.cat-icon line{\n    stroke-dasharray:400; stroke-dashoffset:400; transition:stroke-dashoffset 1.4s ease;\n  }\n  .cat-card.in .cat-icon path,.cat-card.in .cat-icon circle,.cat-card.in .cat-icon rect,.cat-card.in .cat-icon line{\n    stroke-dashoffset:0;\n  }\n  .cat-desc{font-size:14.5px; color:var(--concrete-700); flex:1;}\n  .spec-line{\n    font-family:var(--font-mono); font-size:12px; border-top:1px dashed var(--concrete-300);\n    padding-top:12px; display:flex; flex-direction:column; gap:4px; color:var(--concrete-700);\n  }\n  .spec-line b{color:inherit; font-weight:600;}\n  .cat-link{font-family:var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; display:flex; align-items:center; gap:8px; margin-top:4px;}\n  .cat-link svg{width:14px; height:14px;}\n\n  \/* ---------- PROCESS ---------- *\/\n  .process{background:var(--ink); color:var(--paper);}\n  .process .section-head p{color:var(--concrete-300);}\n  .process-rail{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--concrete-900);}\n  @media(max-width:900px){ .process-rail{grid-template-columns:repeat(2,1fr);} }\n  @media(max-width:520px){ .process-rail{grid-template-columns:1fr;} }\n  .p-step{background:var(--ink); padding:28px 20px; border-top:2px solid var(--concrete-700);}\n  .p-step .p-num{font-family:var(--font-mono); font-size:12px; color:var(--yellow);}\n  .p-step h3{font-size:22px; margin:10px 0 10px; font-weight:700;}\n  .p-step p{font-size:13.5px; color:var(--concrete-300);}\n\n  \/* ---------- APPLICATIONS ---------- *\/\n  .apps{background:var(--paper-2);}\n  .apps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}\n  @media(max-width:900px){ .apps-grid{grid-template-columns:repeat(2,1fr);} }\n  .app-tile{\n    aspect-ratio:4\/5; position:relative; overflow:hidden; border:1px solid var(--concrete-300);\n    display:flex; align-items:flex-end; padding:18px;\n  }\n  .app-tile span{font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--paper); position:relative; z-index:2;}\n  .app-tile::after{content:\"\"; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(32,30,27,0.82) 100%);}\n  .pat-muro{background:repeating-linear-gradient(0deg, var(--concrete-500) 0 26px, var(--concrete-700) 26px 28px), repeating-linear-gradient(90deg, transparent 0 58px, rgba(32,30,27,.35) 58px 60px);}\n  .pat-calle{background:conic-gradient(from 45deg, var(--concrete-500) 25%, var(--concrete-300) 0 50%, var(--concrete-500) 0 75%, var(--concrete-300) 0) 0 0\/40px 40px;}\n  .pat-pasto{background:linear-gradient(var(--concrete-700), var(--concrete-700)) center\/70% 70% no-repeat, repeating-linear-gradient(45deg, #5C6B3F 0 8px, #4B5833 8px 16px); background-blend-mode:normal;}\n  .pat-celosia{background-image:repeating-linear-gradient(45deg, var(--concrete-700) 0 4px, transparent 4px 26px), repeating-linear-gradient(-45deg, var(--concrete-700) 0 4px, transparent 4px 26px); background-color:var(--concrete-300);}\n\n  \/* ---------- CONTACT ---------- *\/\n  .contact{background:var(--paper);}\n  .contact-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px;}\n  @media(max-width:900px){ .contact-grid{grid-template-columns:1fr;} }\n  .field{margin-bottom:20px;}\n  .field label{display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--concrete-700); margin-bottom:8px;}\n  .field input, .field select, .field textarea{\n    width:100%; border:1px solid var(--concrete-300); background:var(--paper-2); padding:13px 14px;\n    font-family:var(--font-body); font-size:14.5px; color:var(--ink); transition:border-color .2s;\n  }\n  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--rust);}\n  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}\n  @media(max-width:520px){ .field-row{grid-template-columns:1fr;} }\n  .submit-btn{\n    font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase;\n    background:var(--ink); color:var(--paper); border:1px solid var(--ink); padding:16px 30px; width:100%;\n    transition:all .2s;\n  }\n  .submit-btn:hover{background:var(--rust); border-color:var(--rust);}\n\n  .info-card{background:var(--ink); color:var(--paper); padding:36px; height:100%;}\n  .info-card h3{font-size:26px; margin-bottom:18px; font-weight:700;}\n  .info-row{border-top:1px dashed var(--line); padding:16px 0; font-size:14px;}\n  .info-row span{display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; color:var(--concrete-300); letter-spacing:.06em; margin-bottom:6px;}\n  .wa-btn{\n    margin-top:24px; display:flex; align-items:center; justify-content:center; gap:10px;\n    background:var(--yellow); color:var(--ink); padding:14px; font-family:var(--font-mono);\n    font-size:13px; text-transform:uppercase; letter-spacing:.06em; font-weight:600;\n  }\n\n  \/* ---------- FOOTER ---------- *\/\n  footer{background:var(--ink); color:var(--concrete-300); padding:56px 0 28px;}\n  .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; padding-bottom:36px; border-bottom:1px solid var(--line);}\n  .foot-links{display:flex; gap:40px; flex-wrap:wrap;}\n  .foot-col h4{font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--paper); margin-bottom:14px;}\n  .foot-col a{display:block; font-size:13.5px; padding:5px 0; color:var(--concrete-300);}\n  .foot-col a:hover{color:var(--yellow);}\n  .foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-family:var(--font-mono); font-size:11.5px; flex-wrap:wrap; gap:10px; color:var(--concrete-300);}\n  .foot-bottom a{color:var(--concrete-300); text-decoration:underline;}\n  .foot-bottom a:hover{color:var(--yellow);}\n  \/* ---------- SECTION HEAD CENTERED ---------- *\/\n  .section-head-center{text-align:center; max-width:700px; margin:0 auto 56px;}\n  .section-head-center .eyebrow{justify-content:center; margin-bottom:22px;}\n  .section-head-center .eyebrow::before{display:none;}\n  .section-head-center h2{font-size:clamp(32px,4.5vw,50px); line-height:1.15;}\n  .accent-rule{width:64px; height:3px; background:var(--yellow); margin:22px auto 20px;}\n  .section-head-center p{font-family:var(--font-body); color:var(--concrete-300); font-size:15px;}\n\n  \/* ---------- ALLIANCES ---------- *\/\n  .alliances{background:var(--ink); color:var(--paper);}\n  .group-label{\n    font-family:var(--font-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;\n    color:var(--concrete-300); text-align:center; margin-bottom:24px;\n  }\n  .alliance-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:900px; margin:0 auto;}\n  @media(max-width:700px){ .alliance-grid{grid-template-columns:1fr;} }\n  .alliance-card{\n    border:1px solid var(--line); padding:30px; background:rgba(237,234,225,0.03);\n    transition:border-color .2s, background .2s;\n  }\n  .alliance-card:hover{border-color:var(--yellow); background:rgba(237,234,225,0.05);}\n  .alliance-mark{margin-bottom:16px;}\n  .alliance-mark.bar{width:3px; height:26px; background:var(--yellow);}\n  .alliance-mark.ring{width:22px; height:22px; border:2px solid var(--yellow); border-radius:50%; position:relative;}\n  .alliance-mark.ring::after{content:\"\"; position:absolute; inset:6px; background:var(--yellow); border-radius:50%;}\n  .alliance-card h3{\n    font-family:var(--font-body); font-weight:600; font-size:18px; text-transform:uppercase;\n    letter-spacing:.02em; line-height:1.3; margin-bottom:14px;\n  }\n  .alliance-card h3 span{display:block; color:var(--yellow); letter-spacing:.14em; font-size:15px; font-weight:500;}\n  .alliance-card p{font-size:14px; color:var(--concrete-300); margin-bottom:18px;}\n  .alliance-card a{\n    font-family:var(--font-mono); font-size:12.5px; color:var(--yellow); display:inline-flex; align-items:center; gap:6px;\n  }\n  .alliance-card a svg{width:13px; height:13px;}\n\n  \/* ---------- COVERAGE ---------- *\/\n  .coverage{background:var(--ink); color:var(--paper);}\n  .coverage .section-head-center p b{color:var(--yellow);}\n  .coverage-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}\n  @media(max-width:980px){ .coverage-grid{grid-template-columns:repeat(2,1fr);} }\n  @media(max-width:560px){ .coverage-grid{grid-template-columns:1fr;} }\n  .coverage-card{border:1px solid var(--line); background:rgba(237,234,225,0.03); padding:24px; display:flex; flex-direction:column;}\n  .coverage-head{display:flex; align-items:center; gap:10px; margin-bottom:16px;}\n  .coverage-head svg{width:18px; height:18px; color:var(--yellow); flex-shrink:0;}\n  .coverage-head h3{font-family:var(--font-body); font-weight:600; font-size:16.5px;}\n  .coverage-card ul{flex:1; margin-bottom:16px;}\n  .coverage-card li{\n    font-size:13.5px; color:var(--concrete-300); padding:5px 0; display:flex; gap:8px; align-items:flex-start;\n  }\n  .coverage-card li::before{content:\"\u2713\"; color:var(--yellow); font-family:var(--font-mono); font-size:12px; flex-shrink:0;}\n  .coverage-foot{border-top:1px dashed var(--line); padding-top:14px; display:flex; flex-direction:column; gap:8px;}\n  .coverage-foot div{display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:12px;}\n  .coverage-foot span{color:var(--concrete-300); text-transform:uppercase; letter-spacing:.04em;}\n  .coverage-foot b{font-weight:600;}\n  .coverage-foot b.free{color:var(--yellow);}\n\n  \/* ---------- CONTACT (v2) ---------- *\/\n  .contact{background:var(--ink); color:var(--paper);}\n  .contact .section-head-center p{color:var(--concrete-300);}\n  .contact-grid-v2{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}\n  @media(max-width:900px){ .contact-grid-v2{grid-template-columns:1fr; gap:44px;} }\n  .contact-intro h3{font-family:var(--font-display); font-weight:700; font-size:30px; margin-bottom:16px;}\n  .contact-intro p{font-size:15px; color:var(--concrete-300); max-width:44ch; margin-bottom:28px;}\n  .contact-info-list{display:flex; flex-direction:column;}\n  .contact-info-item{\n    display:flex; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--line);\n  }\n  .contact-info-item:last-child{padding-bottom:0;}\n  .info-icon{\n    width:44px; height:44px; flex-shrink:0; border-radius:2px;\n    display:flex; align-items:center; justify-content:center;\n  }\n  .info-icon svg{width:20px; height:20px;}\n  .info-icon.wa{background:rgba(37,211,102,0.12); color:#25D366;}\n  .info-icon.ac{background:rgba(245,134,52,0.12); color:var(--yellow);}\n  .contact-info-item .label{\n    display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase;\n    letter-spacing:.06em; color:var(--concrete-300); margin-bottom:3px;\n  }\n  .contact-info-item .value{font-size:15.5px; font-weight:500;}\n\n  .quote-card{border:1px solid var(--line); background:rgba(237,234,225,0.03); padding:32px;}\n  .quote-card h3{font-family:var(--font-display); font-weight:700; font-size:24px; margin-bottom:22px;}\n  .quote-card .field label{color:var(--concrete-300);}\n  .quote-card .field input, .quote-card .field select, .quote-card .field textarea{\n    background:rgba(237,234,225,0.05); border-color:var(--line); color:var(--paper);\n  }\n  .quote-card .field select option{background:var(--ink); color:var(--paper);}\n  .quote-card .field input::placeholder, .quote-card .field textarea::placeholder{color:var(--concrete-500);}\n  .quote-card .field input:focus, .quote-card .field select:focus, .quote-card .field textarea:focus{border-color:var(--yellow);}\n  .quote-btn{\n    display:flex; align-items:center; justify-content:center; gap:10px; width:100%;\n    background:var(--yellow); color:var(--ink); border:1px solid var(--yellow); padding:16px;\n    font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600;\n    transition:all .2s;\n  }\n  .quote-btn:hover{background:transparent; color:var(--yellow);}\n  .quote-btn svg{width:16px; height:16px;}\n  .quote-note{text-align:center; font-family:var(--font-mono); font-size:11.5px; color:var(--concrete-500); margin-top:14px;}\n\n  \/* ---------- FLOATING WHATSAPP BUTTON ---------- *\/\n  .wa-float{\n    position:fixed; bottom:26px; right:26px; z-index:200;\n    width:58px; height:58px; border-radius:50%;\n    background:#25D366; display:flex; align-items:center; justify-content:center;\n    box-shadow:0 6px 18px rgba(0,0,0,0.35);\n    transition:transform .2s ease;\n  }\n  .wa-float:hover{transform:scale(1.08);}\n  .wa-float svg{width:28px; height:28px; color:#fff;}\n  .wa-float::before{\n    content:\"\"; position:absolute; inset:0; border-radius:50%;\n    background:#25D366; opacity:.55; animation:wa-pulse 2.2s ease-out infinite;\n  }\n  @keyframes wa-pulse{\n    0%{transform:scale(1); opacity:.55;}\n    100%{transform:scale(1.7); opacity:0;}\n  }\n  @media(max-width:640px){\n    .wa-float{width:52px; height:52px; bottom:18px; right:18px;}\n    .wa-float svg{width:25px; height:25px;}\n  }\n  @media (prefers-reduced-motion: reduce){\n    .wa-float::before{animation:none;}\n  }\n<\/style>\n<header>\n  <nav class=\"nav\">\n    <a href=\"#top\" class=\"logo\">\n      <span class=\"logo-plate\"><img decoding=\"async\" src=\"https:\/\/prefabricados.concretosmiracle.com\/wp-content\/uploads\/2026\/07\/Prefabricados-Miracle-Logo-oficial.png\" alt=\"Prefabricados Miracle\" onerror=\"this.style.display='none'; this.parentElement.innerHTML='<b style=\\'font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--ink);\\'>PREFABRICADOS MIRACLE<\/b>';\"><\/span>\n      <span>Block&nbsp;\u00b7&nbsp;Adoqu\u00edn&nbsp;\u00b7&nbsp;Adopesto&nbsp;\u00b7&nbsp;Celos\u00eda<\/span>\n    <\/a>\n    <div class=\"nav-links\">\n      <a href=\"#catalogo\">Productos<\/a>\n      <a href=\"#proceso\">Proceso<\/a>\n      <a href=\"#aplicaciones\">Aplicaciones<\/a>\n      <a href=\"#cobertura\">Cobertura<\/a>\n      <a href=\"#contacto\">Contacto<\/a>\n      <a href=\"#contacto\" class=\"nav-cta\">Cotizar<\/a>\n    <\/div>\n    <button class=\"burger\" id=\"burger\"><span><\/span><span><\/span><span><\/span><\/button>\n  <\/nav>\n  <div class=\"mobile-menu\" id=\"mobileMenu\">\n    <a href=\"#catalogo\">Productos<\/a>\n    <a href=\"#proceso\">Proceso<\/a>\n    <a href=\"#aplicaciones\">Aplicaciones<\/a>\n    <a href=\"#cobertura\">Cobertura<\/a>\n    <a href=\"#contacto\">Contacto<\/a>\n  <\/div>\n<\/header>\n\n<section class=\"hero\" id=\"top\">\n  <svg class=\"noise\" width=\"100%\" height=\"100%\">\n    <filter id=\"n\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.85\" numOctaves=\"2\" stitchTiles=\"stitch\"\/><\/filter>\n    <rect width=\"100%\" height=\"100%\" filter=\"url(#n)\"\/>\n  <\/svg>\n  <div class=\"wrap hero-grid\">\n    <div>\n      <div class=\"eyebrow\" style=\"color:var(--yellow)\">F\u00e1brica de prefabricados de concreto<\/div>\n      <div class=\"hero-stack\">\n        <div class=\"line\"><span class=\"num\">01<\/span><span class=\"word\">BLOCK<\/span><\/div>\n        <div class=\"line\"><span class=\"num\">02<\/span><span class=\"word\">ADOQU\u00cdN<\/span><\/div>\n        <div class=\"line\"><span class=\"num\">03<\/span><span class=\"word\">ADOPESTO<\/span><\/div>\n        <div class=\"line\"><span class=\"num\">04<\/span><span class=\"word\">CELOS\u00cdA<\/span><\/div>\n      <\/div>\n      <p class=\"hero-sub\">Concreto vibrocomprimido bajo norma NMX para muros de carga, pavimentos, estacionamientos ecol\u00f3gicos y fachadas caladas. De planta a obra, sin intermediarios.<\/p>\n      <div class=\"hero-ctas\">\n        <a href=\"#catalogo\" class=\"btn btn-primary\">Ver cat\u00e1logo<\/a>\n        <a href=\"#contacto\" class=\"btn btn-ghost\">Solicitar cotizaci\u00f3n<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"spec-plate\">\n      <div class=\"plate-head\"><span>Ficha&nbsp;general<\/span><span>Planta&nbsp;01<\/span><\/div>\n      <div class=\"stat-row\">\n        <div class=\"stat\"><b>20+<\/b><span>A\u00f1os fabricando<\/span><\/div>\n        <div class=\"stat\"><b>4<\/b><span>L\u00edneas certificadas NMX<\/span><\/div>\n        <div class=\"stat\"><b>35K<\/b><span>m\u00b2 despachados \/ mes<\/span><\/div>\n        <div class=\"stat\"><b>400<\/b><span>kg\/cm\u00b2 resistencia m\u00e1x.<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"scroll-cue\">Despl\u00e1zate<\/div>\n<\/section>\n\n<section class=\"catalog\" id=\"catalogo\">\n  <div class=\"wrap\">\n    <div class=\"section-head reveal\">\n      <h2>Un mismo concreto,<br>cuatro sistemas constructivos<\/h2>\n      <p>Cada l\u00ednea se fabrica por vibrocompresi\u00f3n con agregados p\u00e9treos seleccionados y control de calidad en cada lote.<\/p>\n    <\/div>\n\n    <div class=\"cat-grid\">\n\n      <div class=\"cat-card reveal\">\n        <div class=\"cat-top\">\n          <div>\n            <div class=\"cat-id\">01 \/ MAMPOSTER\u00cdA<\/div>\n            <div class=\"cat-name\">Block<\/div>\n          <\/div>\n          <div class=\"cat-tag\">Estructural<\/div>\n        <\/div>\n        <div class=\"cat-icon\">\n          <svg viewBox=\"0 0 200 110\" fill=\"none\" stroke=\"var(--yellow)\" stroke-width=\"2\">\n            <rect x=\"20\" y=\"15\" width=\"160\" height=\"80\" rx=\"2\"\/>\n            <rect x=\"45\" y=\"35\" width=\"45\" height=\"40\"\/>\n            <rect x=\"110\" y=\"35\" width=\"45\" height=\"40\"\/>\n            <line x1=\"20\" y1=\"8\" x2=\"180\" y2=\"8\" stroke-dasharray=\"3 3\"\/>\n            <line x1=\"20\" y1=\"4\" x2=\"20\" y2=\"12\"\/><line x1=\"180\" y1=\"4\" x2=\"180\" y2=\"12\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"cat-desc\">Bloque hueco y macizo para muros de carga y divisorios. Cara lisa o rayada, listo para aplanar o dejar aparente.<\/p>\n        <div class=\"spec-line\">\n          <span><b>Dimensi\u00f3n:<\/b> 40\u00d720\u00d715 \/ 40\u00d720\u00d710 cm<\/span>\n          <span><b>Resistencia:<\/b> 100\u2013150 kg\/cm\u00b2<\/span>\n          <span><b>Norma:<\/b> NMX-C-404-ONNCCE<\/span>\n        <\/div>\n        <a href=\"#contacto\" class=\"cat-link\">Solicitar ficha t\u00e9cnica <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n\n      <div class=\"cat-card reveal\">\n        <div class=\"cat-top\">\n          <div>\n            <div class=\"cat-id\">02 \/ PAVIMENTO<\/div>\n            <div class=\"cat-name\">Adoqu\u00edn<\/div>\n          <\/div>\n          <div class=\"cat-tag\">Articulado<\/div>\n        <\/div>\n        <div class=\"cat-icon\">\n          <svg viewBox=\"0 0 200 110\" fill=\"none\" stroke=\"var(--yellow)\" stroke-width=\"2\">\n            <path d=\"M20 55 L50 30 L80 55 L50 80 Z\"\/>\n            <path d=\"M80 55 L110 30 L140 55 L110 80 Z\"\/>\n            <path d=\"M140 55 L170 30 L180 40\"\/>\n            <path d=\"M20 55 L10 65\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"cat-desc\">Piezas entrelazadas de alta resistencia para calles, andadores y patios de maniobra que distribuyen la carga vehicular.<\/p>\n        <div class=\"spec-line\">\n          <span><b>Dimensi\u00f3n:<\/b> 20\u00d710\u00d76 \/ 8 cm<\/span>\n          <span><b>Resistencia:<\/b> 350\u2013400 kg\/cm\u00b2<\/span>\n          <span><b>Norma:<\/b> NMX-C-406-ONNCCE<\/span>\n        <\/div>\n        <a href=\"#contacto\" class=\"cat-link\">Solicitar ficha t\u00e9cnica <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n\n      <div class=\"cat-card reveal\">\n        <div class=\"cat-top\">\n          <div>\n            <div class=\"cat-id\">03 \/ PAVIMENTO ECOL\u00d3GICO<\/div>\n            <div class=\"cat-name\">Adopesto<\/div>\n          <\/div>\n          <div class=\"cat-tag\">Permeable<\/div>\n        <\/div>\n        <div class=\"cat-icon\">\n          <svg viewBox=\"0 0 200 110\" fill=\"none\" stroke=\"var(--yellow)\" stroke-width=\"2\">\n            <rect x=\"30\" y=\"15\" width=\"140\" height=\"80\" rx=\"2\"\/>\n            <circle cx=\"65\" cy=\"40\" r=\"10\"\/><circle cx=\"135\" cy=\"40\" r=\"10\"\/>\n            <circle cx=\"65\" cy=\"70\" r=\"10\"\/><circle cx=\"135\" cy=\"70\" r=\"10\"\/>\n            <circle cx=\"100\" cy=\"55\" r=\"10\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"cat-desc\">Adoqu\u00edn con cavidades para siembra de pasto. Permite infiltraci\u00f3n pluvial en estacionamientos y \u00e1reas de baja circulaci\u00f3n.<\/p>\n        <div class=\"spec-line\">\n          <span><b>Dimensi\u00f3n:<\/b> 40\u00d740\u00d78 cm<\/span>\n          <span><b>\u00c1rea verde:<\/b> ~35% de la pieza<\/span>\n          <span><b>Uso:<\/b> Estacionamientos, andadores<\/span>\n        <\/div>\n        <a href=\"#contacto\" class=\"cat-link\">Solicitar ficha t\u00e9cnica <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n\n      <div class=\"cat-card reveal\">\n        <div class=\"cat-top\">\n          <div>\n            <div class=\"cat-id\">04 \/ MURO CALADO<\/div>\n            <div class=\"cat-name\">Celos\u00eda<\/div>\n          <\/div>\n          <div class=\"cat-tag\">Fachada<\/div>\n        <\/div>\n        <div class=\"cat-icon\">\n          <svg viewBox=\"0 0 200 110\" fill=\"none\" stroke=\"var(--yellow)\" stroke-width=\"2\">\n            <rect x=\"25\" y=\"15\" width=\"150\" height=\"80\" rx=\"2\"\/>\n            <path d=\"M55 15 L25 55 L55 95\"\/>\n            <path d=\"M100 15 L70 55 L100 95\"\/>\n            <path d=\"M145 15 L115 55 L145 95\"\/>\n            <path d=\"M175 55 L160 55\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"cat-desc\">Piezas caladas de concreto para barda, fachada ventilada o divisi\u00f3n de espacios. Filtran luz y viento sin perder privacidad.<\/p>\n        <div class=\"spec-line\">\n          <span><b>Dimensi\u00f3n:<\/b> 20\u00d720\u00d76 cm<\/span>\n          <span><b>Patrones:<\/b> 6 dise\u00f1os geom\u00e9tricos<\/span>\n          <span><b>Uso:<\/b> Bardas, jardineras, fachadas<\/span>\n        <\/div>\n        <a href=\"#contacto\" class=\"cat-link\">Solicitar ficha t\u00e9cnica <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"process\" id=\"proceso\">\n  <div class=\"wrap\">\n    <div class=\"section-head reveal\">\n      <h2>De la mezcla<br>a la obra<\/h2>\n      <p>Cinco etapas controladas garantizan que cada pieza salga de planta con la resistencia que promete su ficha t\u00e9cnica.<\/p>\n    <\/div>\n    <div class=\"process-rail reveal\">\n      <div class=\"p-step\"><div class=\"p-num\">01<\/div><h3>Dosificaci\u00f3n<\/h3><p>Agregados p\u00e9treos, cemento Portland y agua se dosifican por peso, no por volumen.<\/p><\/div>\n      <div class=\"p-step\"><div class=\"p-num\">02<\/div><h3>Vibrocompresi\u00f3n<\/h3><p>La mezcla se compacta a alta presi\u00f3n y vibraci\u00f3n para eliminar vac\u00edos internos.<\/p><\/div>\n      <div class=\"p-step\"><div class=\"p-num\">03<\/div><h3>Curado<\/h3><p>Las piezas reposan en c\u00e1mara h\u00fameda hasta alcanzar su resistencia de dise\u00f1o.<\/p><\/div>\n      <div class=\"p-step\"><div class=\"p-num\">04<\/div><h3>Control de calidad<\/h3><p>Muestreo y ensayo a compresi\u00f3n conforme a norma NMX en cada lote producido.<\/p><\/div>\n      <div class=\"p-step\"><div class=\"p-num\">05<\/div><h3>Despacho<\/h3><p>Carga paletizada y entrega directa a obra o punto de venta autorizado.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"apps\" id=\"aplicaciones\">\n  <div class=\"wrap\">\n    <div class=\"section-head reveal\">\n      <h2>D\u00f3nde trabaja<br>cada l\u00ednea<\/h2>\n      <p>Un sistema para cada superficie: muro, calle, estacionamiento y fachada.<\/p>\n    <\/div>\n    <div class=\"apps-grid reveal\">\n      <div class=\"app-tile pat-muro\"><span>Muros de carga \u2014 Block<\/span><\/div>\n      <div class=\"app-tile pat-calle\"><span>Calles y andadores \u2014 Adoqu\u00edn<\/span><\/div>\n      <div class=\"app-tile pat-pasto\"><span>Estacionamientos \u2014 Adopesto<\/span><\/div>\n      <div class=\"app-tile pat-celosia\"><span>Bardas y fachadas \u2014 Celos\u00eda<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"alliances\" id=\"alianzas\">\n  <div class=\"wrap\">\n    <div class=\"section-head-center reveal\">\n      <div class=\"eyebrow\">Parte del ecosistema Miracle<\/div>\n      <h2>Respaldo y Alianzas Estrat\u00e9gicas<\/h2>\n      <div class=\"accent-rule\"><\/div>\n      <p>Prefabricados Miracle forma parte de un grupo empresarial consolidado con presencia en materiales de construcci\u00f3n, concreto premezclado y desarrollo inmobiliario en el Pac\u00edfico mexicano.<\/p>\n    <\/div>\n    <div class=\"group-label reveal\">Empresas del grupo<\/div>\n    <div class=\"alliance-grid reveal\">\n      <div class=\"alliance-card\">\n        <div class=\"alliance-mark bar\"><\/div>\n        <h3>Concretos <span>Miracle<\/span><\/h3>\n        <p>Concreto premezclado y servicios de bombeo para la regi\u00f3n.<\/p>\n        <a href=\"https:\/\/concretosmiracle.com\/\" target=\"_blank\" rel=\"noopener\">Visitar sitio <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M7 17L17 7M17 7H8M17 7v9\"\/><\/svg><\/a>\n      <\/div>\n      <div class=\"alliance-card\">\n        <div class=\"alliance-mark ring\"><\/div>\n        <h3>Grupo <span>Miracle<\/span><\/h3>\n        <p>Holding constructor con m\u00e1s de 20 a\u00f1os en el Pac\u00edfico mexicano.<\/p>\n        <a href=\"https:\/\/grupomiracle.com\/\" target=\"_blank\" rel=\"noopener\">Visitar sitio <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M7 17L17 7M17 7H8M17 7v9\"\/><\/svg><\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"coverage\" id=\"cobertura\">\n  <div class=\"wrap\">\n    <div class=\"section-head-center reveal\">\n      <div class=\"eyebrow\">Zona de distribuci\u00f3n<\/div>\n      <h2>Cobertura Regional<\/h2>\n      <div class=\"accent-rule\"><\/div>\n      <p>Entregamos directamente desde nuestra f\u00e1brica en Puerto Vallarta. Flete <b>GRATIS<\/b> en Puerto Vallarta y Bah\u00eda de Banderas.<\/p>\n    <\/div>\n    <div class=\"coverage-grid reveal\">\n\n      <div class=\"coverage-card\">\n        <div class=\"coverage-head\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s7-6.5 7-12a7 7 0 10-14 0c0 5.5 7 12 7 12z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg>\n          <h3>Puerto Vallarta<\/h3>\n        <\/div>\n        <ul>\n          <li>Zona Hotelera<\/li>\n          <li>Centro Hist\u00f3rico<\/li>\n          <li>Fluvial Vallarta<\/li>\n          <li>Pitillal<\/li>\n          <li>El Pitillal<\/li>\n          <li>Marina Vallarta<\/li>\n          <li>Nuevo Vallarta (PV lado)<\/li>\n        <\/ul>\n        <div class=\"coverage-foot\">\n          <div><span>Flete<\/span><b class=\"free\">GRATIS<\/b><\/div>\n          <div><span>Tiempo<\/span><b>24\u201348 horas<\/b><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"coverage-card\">\n        <div class=\"coverage-head\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s7-6.5 7-12a7 7 0 10-14 0c0 5.5 7 12 7 12z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg>\n          <h3>Bah\u00eda de Banderas<\/h3>\n        <\/div>\n        <ul>\n          <li>Nuevo Vallarta<\/li>\n          <li>Bucer\u00edas<\/li>\n          <li>La Cruz de Huanacaxtle<\/li>\n          <li>Punta de Mita<\/li>\n          <li>Sayulita<\/li>\n          <li>San Pancho<\/li>\n          <li>Mezcales<\/li>\n        <\/ul>\n        <div class=\"coverage-foot\">\n          <div><span>Flete<\/span><b class=\"free\">GRATIS<\/b><\/div>\n          <div><span>Tiempo<\/span><b>24\u201348 horas<\/b><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"coverage-card\">\n        <div class=\"coverage-head\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s7-6.5 7-12a7 7 0 10-14 0c0 5.5 7 12 7 12z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg>\n          <h3>Riviera Nayarit<\/h3>\n        <\/div>\n        <ul>\n          <li>Guayabitos<\/li>\n          <li>Lo de Marcos<\/li>\n          <li>Rinc\u00f3n de Guayabitos<\/li>\n          <li>San Blas<\/li>\n          <li>Compostela<\/li>\n          <li>Tepic (cotizar)<\/li>\n        <\/ul>\n        <div class=\"coverage-foot\">\n          <div><span>Flete<\/span><b>Cotizar<\/b><\/div>\n          <div><span>Tiempo<\/span><b>2\u20133 d\u00edas h\u00e1biles<\/b><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"coverage-card\">\n        <div class=\"coverage-head\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s7-6.5 7-12a7 7 0 10-14 0c0 5.5 7 12 7 12z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg>\n          <h3>Costa Alegre \/ Interior<\/h3>\n        <\/div>\n        <ul>\n          <li>Careyes<\/li>\n          <li>Tenacatita<\/li>\n          <li>Barra de Navidad<\/li>\n          <li>Manzanillo<\/li>\n          <li>Guadalajara<\/li>\n          <li>Otros (cotizar)<\/li>\n        <\/ul>\n        <div class=\"coverage-foot\">\n          <div><span>Flete<\/span><b>Cotizar<\/b><\/div>\n          <div><span>Tiempo<\/span><b>A convenir<\/b><\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"contact\" id=\"contacto\">\n  <div class=\"wrap\">\n    <div class=\"section-head-center reveal\">\n      <div class=\"eyebrow\">Estamos aqu\u00ed para ayudarte<\/div>\n      <h2>Contacto<\/h2>\n      <div class=\"accent-rule\"><\/div>\n    <\/div>\n    <div class=\"contact-grid-v2 reveal\">\n\n      <div class=\"contact-intro\">\n        <h3>Hablemos de tu proyecto<\/h3>\n        <p>Cu\u00e9ntanos qu\u00e9 necesitas: metros cuadrados, zona de entrega, tipo de producto y te damos una cotizaci\u00f3n sin compromiso en minutos por WhatsApp.<\/p>\n\n        <div class=\"contact-info-list\">\n          <div class=\"contact-info-item\">\n            <div class=\"info-icon wa\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z\"\/><\/svg><\/div>\n            <div><span class=\"label\">WhatsApp<\/span><span class=\"value\">+52 (333) 739-5992<\/span><\/div>\n          <\/div>\n          <div class=\"contact-info-item\">\n            <div class=\"info-icon ac\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"1\"\/><path d=\"M3 6l9 7 9-7\"\/><\/svg><\/div>\n            <div><span class=\"label\">Email<\/span><span class=\"value\">ventas@bloqueramiracle.com<\/span><\/div>\n          <\/div>\n          <div class=\"contact-info-item\">\n            <div class=\"info-icon ac\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3.5 2\"\/><\/svg><\/div>\n            <div><span class=\"label\">Horario<\/span><span class=\"value\">Lun\u2013S\u00e1b 8:00am \u2013 6:00pm<\/span><\/div>\n          <\/div>\n          <div class=\"contact-info-item\">\n            <div class=\"info-icon ac\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s7-6.5 7-12a7 7 0 10-14 0c0 5.5 7 12 7 12z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg><\/div>\n            <div><span class=\"label\">Ubicaci\u00f3n<\/span><span class=\"value\">Puerto Vallarta, Jalisco, M\u00e9xico<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"quote-card\">\n        <h3>Cotizaci\u00f3n r\u00e1pida<\/h3>\n        <form id=\"quoteForm\">\n          <div class=\"field\">\n            <label>Tu nombre<\/label>\n            <input type=\"text\" id=\"qNombre\" placeholder=\"Juan P\u00e9rez\" required>\n          <\/div>\n          <div class=\"field\">\n            <label>Producto de inter\u00e9s<\/label>\n            <select id=\"qProducto\">\n              <option value=\"\">Seleccionar producto...<\/option>\n              <option value=\"Block\">Block<\/option>\n              <option value=\"Adoqu\u00edn\">Adoqu\u00edn<\/option>\n              <option value=\"Adopesto\">Adopesto<\/option>\n              <option value=\"Celos\u00eda de concreto\">Celos\u00eda de concreto<\/option>\n              <option value=\"No estoy seguro\">No estoy seguro<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"field\">\n            <label>Mensaje \/ Detalles del proyecto<\/label>\n            <textarea id=\"qMensaje\" rows=\"4\" placeholder=\"Ej: Necesito 200 m\u00b2 de adoqu\u00edn para un estacionamiento en Bucer\u00edas, \u00bfcu\u00e1nto tiempo tarda y cu\u00e1l es el precio por m\u00b2?\"><\/textarea>\n          <\/div>\n          <button class=\"quote-btn\" type=\"submit\" id=\"qBtn\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M22 2L11 13M22 2l-7 20-4-9-9-4z\"\/><\/svg>\n            <span id=\"qBtnLabel\">Enviar cotizaci\u00f3n por WhatsApp<\/span>\n          <\/button>\n        <\/form>\n        <p class=\"quote-note\">Al enviar, se abrir\u00e1 WhatsApp con tu mensaje prellenado.<\/p>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<footer>\n  <div class=\"wrap\">\n    <div class=\"foot-top\">\n      <div>\n        <a href=\"#top\" class=\"logo\"><span class=\"logo-plate\"><img decoding=\"async\" src=\"https:\/\/prefabricados.concretosmiracle.com\/wp-content\/uploads\/2026\/07\/Prefabricados-Miracle-Logo-oficial.png\" alt=\"Prefabricados Miracle\" onerror=\"this.style.display='none'; this.parentElement.innerHTML='<b style=\\'font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--ink);\\'>PREFABRICADOS MIRACLE<\/b>';\"><\/span><\/a>\n        <p style=\"max-width:32ch; font-size:13.5px; margin-top:14px; color:var(--concrete-300);\">Block, adoqu\u00edn, adopesto y celos\u00eda de concreto fabricados bajo norma NMX, directo de planta a obra.<\/p>\n      <\/div>\n      <div class=\"foot-links\">\n        <div class=\"foot-col\">\n          <h4>Productos<\/h4>\n          <a href=\"#catalogo\">Block<\/a>\n          <a href=\"#catalogo\">Adoqu\u00edn<\/a>\n          <a href=\"#catalogo\">Adopesto<\/a>\n          <a href=\"#catalogo\">Celos\u00eda<\/a>\n        <\/div>\n        <div class=\"foot-col\">\n          <h4>Empresa<\/h4>\n          <a href=\"#proceso\">Proceso<\/a>\n          <a href=\"#aplicaciones\">Aplicaciones<\/a>\n          <a href=\"#cobertura\">Cobertura<\/a>\n          <a href=\"#alianzas\">Alianzas<\/a>\n          <a href=\"#contacto\">Contacto<\/a>\n        <\/div>\n        <div class=\"foot-col\">\n          <h4>S\u00edguenos<\/h4>\n          <a href=\"#\">Facebook<\/a>\n          <a href=\"#\">Instagram<\/a>\n          <a href=\"#\">WhatsApp<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"foot-bottom\">\n      <span>\u00a9 2026 Prefabricados \u2014 Parte de <a href=\"http:\/\/www.grupomiracle.com\/\" target=\"_blank\" rel=\"noopener\">Grupo Miracle<\/a>.\u00ae Web Dise\u00f1o por <a href=\"https:\/\/xepia.mx\/\" target=\"_blank\" rel=\"noopener\">Xepia<\/a>. Todos los derechos reservados.<\/span>\n    <\/div>\n  <\/div>\n<\/footer>\n\n<a href=\"https:\/\/wa.me\/523337395992?text=Hola%2C%20me%20interesa%20cotizar%20block%2C%20adoqu%C3%ADn%2C%20adopesto%20o%20celos%C3%ADa%20de%20concreto.\" class=\"wa-float\" target=\"_blank\" rel=\"noopener\" aria-label=\"Escribir por WhatsApp\">\n  <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.47 14.38c-.29-.15-1.7-.84-1.96-.93-.26-.1-.46-.15-.65.14-.2.3-.75.94-.92 1.13-.17.2-.34.22-.63.08-.29-.15-1.22-.45-2.33-1.44-.86-.77-1.44-1.72-1.61-2.01-.17-.29-.02-.45.13-.6.13-.13.29-.34.44-.51.15-.17.2-.29.29-.49.1-.2.05-.37-.02-.52-.08-.15-.65-1.58-.9-2.16-.24-.58-.48-.5-.65-.5-.17-.01-.37-.01-.56-.01-.2 0-.52.07-.79.37-.27.29-1.04 1.02-1.04 2.48s1.07 2.87 1.22 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.62.71.23 1.36.2 1.87.12.57-.08 1.7-.7 1.94-1.37.24-.68.24-1.26.17-1.38-.07-.12-.26-.2-.55-.34z\"\/><path d=\"M12.02 2C6.5 2 2 6.48 2 12c0 1.85.5 3.58 1.36 5.07L2 22l5.07-1.33A9.96 9.96 0 0012.02 22C17.53 22 22 17.52 22 12S17.53 2 12.02 2zm0 18.2c-1.66 0-3.2-.46-4.53-1.26l-.32-.19-3.01.79.8-2.93-.21-.3A8.18 8.18 0 013.82 12c0-4.53 3.68-8.2 8.2-8.2 4.52 0 8.2 3.67 8.2 8.2 0 4.52-3.68 8.2-8.2 8.2z\"\/><\/svg>\n<\/a>\n\n<script>\n  const burger = document.getElementById('burger');\n  const mobileMenu = document.getElementById('mobileMenu');\n  burger.addEventListener('click', () => mobileMenu.classList.toggle('open'));\n  mobileMenu.querySelectorAll('a').forEach(a => a.addEventListener('click', () => mobileMenu.classList.remove('open')));\n\n  const io = new IntersectionObserver((entries) => {\n    entries.forEach(e => { if(e.isIntersecting){ e.target.classList.add('in'); } });\n  }, { threshold: 0.15 });\n  document.querySelectorAll('.reveal, .cat-card').forEach(el => io.observe(el));\n\n  const qProducto = document.getElementById('qProducto');\n  const qBtnLabel = document.getElementById('qBtnLabel');\n  if(qProducto){\n    qProducto.addEventListener('change', () => {\n      qBtnLabel.textContent = qProducto.value ? `Cotizar ${qProducto.value} por WhatsApp` : 'Enviar cotizaci\u00f3n por WhatsApp';\n    });\n  }\n  const quoteForm = document.getElementById('quoteForm');\n  if(quoteForm){\n    quoteForm.addEventListener('submit', (e) => {\n      e.preventDefault();\n      const nombre = document.getElementById('qNombre').value || 'Cliente';\n      const producto = document.getElementById('qProducto').value;\n      const mensaje = document.getElementById('qMensaje').value;\n      let texto = `Hola, soy ${nombre}.`;\n      if(producto) texto += ` Me interesa cotizar: ${producto}.`;\n      if(mensaje) texto += ` ${mensaje}`;\n      const url = `https:\/\/wa.me\/523337395992?text=${encodeURIComponent(texto)}`;\n      window.open(url, '_blank');\n    });\n  }\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":10,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":22,"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":40,"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions\/40"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=\/wp\/v2\/media\/10"}],"wp:attachment":[{"href":"https:\/\/prefabricados.concretosmiracle.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}