1import{j as e,r as i}from"./vendor-react-Q9QIeyCv.js";import{S as se}from"./SiteMeta-CCrEnF3_.js";import{f as te,a as ae}from"./ads-D5w0gjNE.js";import{aJ as re}from"./index--oCJJZBZ.js";import{u as le}from"./vendor-query-DUfuZ2aA.js";import{P as h,k as q,d as m,f as K,g as b,c as ne,A as C,u as ie,L as A,C as oe}from"./vendor-icons-HOwgAj6y.js";import"./vendor-helmet-CcKC0M08.js";import"./api-BkH1ItgH.js";import"./vendor-router-ZuuwdVxV.js";function de(s){const l=s.replace(/\D/g,"").slice(0,10);return l.length<=3?l:l.length<=6?`(${l.slice(0,3)}) ${l.slice(3)}`:`(${l.slice(0,3)}) ${l.slice(3,6)}-${l.slice(6)}`}function ce(s){return new Promise(l=>{if(window.google?.maps?.places){l();return}const o=document.getElementById("gmaps-script");if(o){o.addEventListener("load",()=>l());return}const n=document.createElement("script");n.id="gmaps-script",n.src=`https://maps.googleapis.com/maps/api/js?key=${s}&libraries=places`,n.async=!0,n.onload=()=>l(),document.head.appendChild(n)})}function S({count:s=5,size:l="md"}){const a=l==="sm"?"w-4 h-4":"w-5 h-5";return e.jsx("span",{className:"flex gap-0.5",children:Array.from({length:s}).map((o,n)=>e.jsx(b,{className:`${a} fill-yellow-400 text-yellow-400`},n))})}const me=[{name:"Sarah M.",city:"Edmond",initial:"S",color:"#1a73e8",stars:5,text:"Called Monday, had a brand-new roof by Wednesday. Insurance covered everything and Midtown handled all the paperwork. Couldn't be easier."},{name:"James T.",city:"Yukon",initial:"J",color:"#34a853",stars:5,text:"Hail took out my whole roof. Midtown showed up same-day, filed the insurance claim for me, and the crew was done in one day. Incredible service."},{name:"Linda R.",city:"Moore",initial:"L",color:"#ea4335",stars:5,text:"They found damage I didn't even know about. The inspection was totally free, no pressure at all. Got a full replacement paid by insurance."}],xe=[{q:"Is this really free?",a:"100%. The estimate, the inspection, and the insurance consultation are all completely free â no credit card, no commitment."},{q:"Will I get spammed?",a:"No. We use your info only to send your estimate and follow up once. We don't sell your data or add you to any lists."},{q:"How accurate is the satellite estimate?",a:"Very. We use the same satellite measurement tools professional adjusters use â accurate to within a few square feet."},{q:"What if insurance doesn't cover it?",a:"We'll tell you upfront. If it's not worth filing a claim, we'll say so â and still give you honest pricing options."}];function he({q:s,a:l}){const[a,o]=i.useState(!1);return e.jsxs("div",{className:"border-b border-gray-100 last:border-0",children:[e.jsxs("button",{className:"w-full flex items-center justify-between py-5 text-left gap-4 group",onClick:()=>o(n=>!n),children:[e.jsx("span",{className:"font-semibold text-gray-900 text-base group-hover:text-red-600 transition-colors leading-snug",children:s}),e.jsx(oe,{className:`w-5 h-5 text-gray-400 flex-shrink-0 transition-transform ${a?"rotate-180":""}`})]}),a&&e.jsx("p",{className:"pb-5 text-base text-gray-600 leading-relaxed",children:l})]})}function M({step:s}){const l=[{n:1,label:"Your Info"},{n:2,label:"Your Address"},{n:3,label:"Your Estimate"}];return e.jsx("div",{className:"flex items-center justify-center gap-0 mb-8",children:l.map((a,o)=>e.jsxs("div",{className:"flex items-center",children:[e.jsxs("div",{className:"flex flex-col items-center gap-1.5",children:[e.jsx("div",{className:`w-10 h-10 rounded-full flex items-center justify-center font-extrabold text-base transition-colors ${s>a.n?"bg-green-500 text-white":s===a.n?"bg-red-600 text-white":"bg-gray-100 text-gray-400"}`,children:s>a.n?e.jsx(m,{className:"w-5 h-5"}):a.n}),e.jsx("span",{className:`text-xs font-semibold whitespace-nowrap transition-colors ${s===a.n?"text-red-600":s>a.n?"text-green-600":"text-gray-400"}`,children:a.label})]}),o<l.length-1&&e.jsx("div",{className:`w-12 sm:w-20 h-0.5 mb-5 mx-1 transition-colors ${s>a.n?"bg-green-400":"bg-gray-200"}`})]},a.n))})}function ue(){const[s,l]=i.useState(1),[a,o]=i.useState({name:"",phone:"",email:""}),[n,y]=i.useState({}),[u,E]=i.useState(""),[j,w]=i.useState(""),[N,O]=i.useState(!1),[$,T]=i.useState(!1),[F,P]=i.useState(!1),[x,Y]=i.useState(null),g=i.useRef(null),G=i.useRef(null),p=i.useRef(null),{data:c}=le({queryKey:["public-site-settings"],queryFn:async()=>(await fetch("/api/settings")).json(),staleTime:300*1e3});i.useEffect(()=>{const t=c?.google_places_api_key;if(!t||!g.current||s!==2)return;let r;return ce(t).then(()=>
1{if(!g.current)return;const d=window.google;d?.maps?.places&&(r=new d.maps.places.Autocomplete(g.current,{componentRestrictions:{country:"us"},fields:["formatted_address","geometry"],types:["address"]}),r.addListener("place_changed",()=>{const v=r.getPlace();v?.formatted_address&&E(v.formatted_address)}))}),()=>{r&&window.google?.maps?.event?.clearInstanceListeners(r)}},[c?.google_places_api_key,s]),i.useEffect(()=>{p.current?.scrollIntoView({behavior:"smooth",block:"start"})},[s]);function H(){const t={};return(!a.name.trim()||a.name.length<2)&&(t.name="Please enter your name"),a.phone.replace(/\D/g,"").length<10&&(t.phone="Please enter a valid 10-digit phone number"),y(t),Object.keys(t).length===0}function B(){H()&&l(2)}async function I(t){if(!$){O(!0),T(!0);try{const r=await fetch("/api/leads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a.name,phone:a.phone,email:a.email||void 0,address:t||void 0,serviceType:"Free Estimate",message:"Free estimate request via /free-estimate landing page",sourcePage:"/free-estimate",...re()})});if(r.ok){const d=await r.json();d.leadId&&(G.current=d.leadId)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"midtown_lead_submitted"}),te(c?.google_ads_conversion_id),ae()}catch{}O(!1)}}async function D(t){P(!0);try{const r=window.google;if(!r?.maps?.Geocoder)return;const d=new r.maps.Geocoder,L=(await new Promise((Z,ee)=>d.geocode({address:t},(_,W)=>W==="OK"&&_?.[0]?Z(_[0]):ee(W)))).geometry.location,R=await fetch("/api/estimate/solar",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lat:L.lat(),lng:L.lng()})});if(!R.ok)return;const k=await R.json();if(!k.found||!k.squares)return;const U=1+parseFloat(c?.estimate_waste_factor??"15")/100,f=Math.ceil(k.squares*U),V=parseFloat(c?.estimate_good_price??"350"),Q=parseFloat(c?.estimate_better_price??"450"),X=parseFloat(c?.estimate_best_price??"550");Y({squares:f,goodPrice:Math.round(V*f),betterPrice:Math.round(Q*f),bestPrice:Math.round(X*f)})}catch{}finally{P(!1)}}async function J(){if(!u.trim()){w("Please enter your home address");return}w(""),l(3),await Promise.all([I(u),D(u)])}async function z(){l(3),await I("")}return s===1?e.jsxs("div",{ref:p,className:"max-w-xl mx-auto px-4 py-10",children:[e.jsx(M,{step:1}),e.jsxs("div",{className:"bg-white rounded-3xl shadow-xl border border-gray-100 p-7 sm:p-10",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-extrabold text-gray-900 mb-2 leading-tight",style:{fontFamily:"Montserrat, sans-serif"},children:"Let's Get Your Free Estimate"}),e.jsx("p",{className:"text-gray-500 text-base mb-6 leading-relaxed",children:"Enter your name and phone number below. We'll call you within 15 minutes â friendly conversation, no pressure."}),e.jsxs("div",{className:"flex items-center gap-2 bg-green-50 border border-green-200 rounded-xl px-4 py-3 mb-6",children:[e.jsx(m,{className:"w-5 h-5 text-green-600 flex-shrink-0"}),e.jsx("p",{className:"text-sm text-green-800 font-medium",children:"No sales pressure · No commitment · 100% free"})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-base font-bold text-gray-800 mb-2",children:["Your Name ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"text",autoComplete:"name",placeholder:"e.g. John Smith",className:`w-full px-5 py-4 text-lg rounded-2xl border-2 focus:outline-none focus:ring-4 focus:ring-red-100 transition-all ${n.name?"border-red-400 bg-red-50":"border-gray-200 focus:border-red-500"}`,value:a.name,onChange:t=>{o(r=>({...r,name:t.target.value})),y(r=>({...r,name:""}))}}),n.name&&e.jsx("p",{className:"mt-2 text-sm font-medium text-red-600",children:n.name})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-base font-bold text-gray-800 mb-2",children:["Your Phone Number ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"tel",autoComplete:"tel",placeholder:"(405) 555-0100",inputMode:"tel",className:`w-full px-5 py-4 text-lg rounded-2xl border-2 focus:outline-none focus:ring-4 focus:ring-red-100 transition-all ${n.phone?"border-red-400 bg-red-50":"border-gray-200 focus:border-red-500"}
1`,value:a.phone,onChange:t=>{o(r=>({...r,phone:de(t.target.value)})),y(r=>({...r,phone:""}))}}),n.phone?e.jsx("p",{className:"mt-2 text-sm font-medium text-red-600",children:n.phone}):e.jsx("p",{className:"mt-2 text-sm text-gray-400",children:"We'll call this number within 15 minutes during business hours"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-base font-bold text-gray-800 mb-1",children:["Email Address ",e.jsx("span",{className:"text-gray-400 font-normal text-sm",children:"(optional â to receive your estimate)"})]}),e.jsx("input",{type:"email",autoComplete:"email",placeholder:"[email protected]",className:"w-full px-5 py-4 text-lg rounded-2xl border-2 border-gray-200 focus:outline-none focus:border-red-500 focus:ring-4 focus:ring-red-100 transition-all",value:a.email,onChange:t=>o(r=>({...r,email:t.target.value}))})]})]}),e.jsx("div",{className:"mt-8 grid grid-cols-3 gap-3 text-center",children:[{icon:K,label:"Licensed & Insured"},{icon:m,label:"100% Free"},{icon:b,label:"5.0â
Google"}].map(({icon:t,label:r})=>e.jsxs("div",{className:"flex flex-col items-center gap-1.5",children:[e.jsx("div",{className:"w-9 h-9 bg-red-50 rounded-full flex items-center justify-center",children:e.jsx(t,{className:"w-4 h-4 text-red-600"})}),e.jsx("p",{className:"text-xs font-semibold text-gray-600 leading-tight",children:r})]},r))}),e.jsxs("button",{onClick:B,className:"mt-5 w-full flex items-center justify-center gap-3 bg-red-600 hover:bg-red-700 active:scale-95 text-white font-extrabold text-xl rounded-2xl py-5 shadow-lg shadow-red-600/30 transition-all",children:["See My Free Estimate",e.jsx(C,{className:"w-6 h-6"})]}),e.jsx("p",{className:"mt-3 text-center text-xs text-gray-400",children:"ð Your info is private. We call once â no spam, no sharing, ever."}),e.jsxs("div",{className:"mt-5 pt-5 border-t border-gray-100 text-center",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"Prefer to just call us?"}),e.jsxs("a",{href:"tel:+14054503010",className:"inline-flex items-center gap-2 text-red-600 font-bold text-lg hover:underline",children:[e.jsx(h,{className:"w-5 h-5"}),"(405) 450-3010"]})]})]})]}):s===2?e.jsxs("div",{ref:p,className:"max-w-xl mx-auto px-4 py-10",children:[e.jsx(M,{step:2}),e.jsxs("div",{className:"bg-white rounded-3xl shadow-xl border border-gray-100 p-7 sm:p-10",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-12 h-12 bg-red-50 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(ie,{className:"w-6 h-6 text-red-600"})}),e.jsx("h2",{className:"text-2xl sm:text-3xl font-extrabold text-gray-900 leading-tight",style:{fontFamily:"Montserrat, sans-serif"},children:"Where's Your Home?"})]}),e.jsx("p",{className:"text-gray-500 text-base mb-5 leading-relaxed",children:"We'll automatically check if your neighborhood was hit b
1y hail and measure your roof from satellite â no one needs to visit first."}),e.jsx("div",{className:"bg-slate-50 rounded-2xl px-5 py-4 mb-6 space-y-2",children:["â
12-month hail & storm history for your address","â
Satellite roof measurement (no ladder, no visit)","â
Instant pricing estimate for your roof size"].map(t=>e.jsx("p",{className:"text-sm text-slate-700 font-medium",children:t},t))}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-base font-bold text-gray-800 mb-2",children:["Home Address ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{ref:g,type:"text",autoComplete:"street-address",placeholder:"123 Main St, Oklahoma City, OK",className:`w-full px-5 py-4 text-lg rounded-2xl border-2 focus:outline-none focus:ring-4 focus:ring-red-100 transition-all ${j?"border-red-400 bg-red-50":"border-gray-200 focus:border-red-500"}`,value:u,onChange:t=>{E(t.target.value),w("")}}),j&&e.jsx("p",{className:"mt-2 text-sm font-medium text-red-600",children:j})]}),e.jsx("button",{onClick:J,disabled:N,className:"mt-7 w-full flex items-center justify-center gap-3 bg-red-600 hover:bg-red-700 active:scale-95 disabled:opacity-60 text-white font-extrabold text-xl rounded-2xl py-5 shadow-lg shadow-red-600/30 transition-all",children:N?e.jsx(A,{className:"w-6 h-6 animate-spin"}):e.jsxs(e.Fragment,{children:[e.jsx(C,{className:"w-6 h-6"}),"Check My Roof"]})}),e.jsx("button",{onClick:z,disabled:N,className:"mt-4 w-full text-center text-gray-400 text-sm hover:text-gray-600 transition-colors py-2",children:"Not sure of the exact address? That's okay â skip this and tell us when we call â"}),e.jsx("div",{className:"mt-5 text-center",children:e.jsxs("a",{href:"tel:+14054503010",className:"inline-flex items-center gap-2 text-red-600 font-bold text-lg hover:underline",children:[e.jsx(h,{className:"w-5 h-5"}),"(405) 450-3010"]})})]})]}):e.jsxs("div",{ref:p,className:"max-w-xl mx-auto px-4 py-10",children:[e.jsx(M,{step:3}),e.jsxs("div",{className:"bg-white rounded-3xl shadow-xl border border-gray-100 overflow-hidden",children:[e.jsxs("div",{className:"bg-green-500 px-7 py-7 text-white",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(m,{className:"w-7 h-7 text-white"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xl font-extrabold leading-tight",children:"We got your request!"}),e.jsx("p",{className:"text-green-100 text-sm",children:"Someone will call you within 15 minutes."})]})]}),e.jsxs("p",{className:"text-green-100 text-base mt-3 leading-relaxed",children:["We're calling ",e.jsx("span",{className:"text-white font-bold",children:a.name})," at"," ",e.jsx("span",{className:"text-white font-bold",children:a.phone}),". No pressure â just a friendly conversation about your roof."]})]}),e.jsxs("div",{className:"p-7 sm:p-10 space-y-6",children:[F&&e.jsxs("div",{className:"rounded-2xl border-2 border-dashed border-gray-200 p-6 flex items-center gap-4",children:[e.jsx(A,{className:"w-7 h-7 text-red-500 animate-spin flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-gray-800",children:"Measuring your roof by satelliteâ¦"}),e.jsx("p",{className:"text-sm text-gray-400",children:"This takes about 10 seconds"})]})]}),x&&!F&&e.jsxs("div",{className:"rounded-2xl bg-slate-50 border border-gray-100 overflow-hidden",children:[e.jsxs("div",{className:"bg-slate-800 px-5 py-3 flex items-center gap-2",children:[e.jsx(b,{className:"w-4 h-4 text-yellow-400"}),e.jsx("p",{className:"text-white font-bold text-sm",children:"Your Satellite Estimate (Architectural Shingles)"})]}),e.jsxs("div",{className:"p-5 space-y-3",children:[e.jsxs("p",{className:"text-sm text-gray-500",children:["Measured roof size: ",e.jsxs("span",{className:"font-bold text-gray-800",children:[x.squares," squares"]})]}),e.jsx("div",{className:"grid grid-cols-3 gap-3",children:[{label:"Good",price:x.goodPrice,highlight:!1},{label:"Better",price:x.betterPrice,highlight:!0},{label:"Best",price:x.bestPrice,highlight:!1}].map(({label:t,price:r,highlight:d})=>e.jsxs("div",{className:`rounded-xl p-4 text-center border-2 ${d?"border-red-500 bg-red-50":"border-gray-100 bg-white"}`,children:[e.jsx("p",{className:`text-xs font-bold mb-1 ${d?"text-red-600":"text-gray-500"}`,children:t}),e.jsxs("p",{className:"text-xl font-extrabold text-gray-900",children:["$",r.toLocaleStr
1ing()]})]},t))}),e.jsx("p",{className:"text-xs text-gray-400 leading-relaxed",children:"* Estimate based on satellite measurement. Final price confirmed after free inspection."})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-700 font-semibold text-base mb-3",children:"Can't wait? Call us right now:"}),e.jsxs("a",{href:"tel:+14054503010",className:"flex items-center justify-center gap-3 bg-red-600 hover:bg-red-700 active:scale-95 text-white font-extrabold text-xl rounded-2xl py-5 shadow-lg shadow-red-600/25 transition-all",children:[e.jsx(h,{className:"w-6 h-6"}),"(405) 450-3010"]})]}),e.jsxs("a",{href:"/book-inspection",className:"flex items-center justify-center gap-3 bg-slate-800 hover:bg-slate-700 active:scale-95 text-white font-bold text-lg rounded-2xl py-4 transition-all",children:["Book a Free Inspection",e.jsx(C,{className:"w-5 h-5"})]}),e.jsxs("div",{className:"bg-blue-50 rounded-2xl p-5",children:[e.jsx("p",{className:"font-bold text-blue-900 mb-3 text-base",children:"What happens next?"}),e.jsx("ul",{className:"space-y-3",children:["We call you within 15 minutes during business hours","Our Project Manager visits your home â usually same day or next day","You get a written, no-obligation quote with photos","We handle your insurance claim at no cost to you"].map((t,r)=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"w-6 h-6 bg-blue-600 text-white rounded-full flex items-center justify-center text-xs font-bold flex-shrink-0 mt-0.5",children:r+1}),e.jsx("span",{className:"text-sm text-blue-800 leading-relaxed",children:t})]},r))})]})]})]})]})}function ke(){return e.jsxs(e.Fragment,{children:[e.jsx(se,{pageKey:"free-estimate",defaultTitle:"Free OKC Roof Estimate â Hail Damage Check | Midtown Roofing",defaultDescription:"Free satellite-powered roof estimate in 60 seconds. We check 12-month hail history and handle your insurance claim at no cost. Serving OKC, Edmond & Yukon.",defaultKeywords:"free roof estimate Oklahoma City, hail damage roof OKC, free roof inspection OKC, storm damage estimate Oklahoma, insurance claim roof OKC"}),e.jsx("header",{className:"bg-white border-b border-gray-100 sticky top-0 z-50",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 h-16 flex items-center justify-between",children:[e.jsxs("a",{href:"/",className:"font-extrabold text-xl text-gray-900 tracking-tight hover:opacity-80 transition-opacity",style:{fontFamily:"Montserrat, sans-serif"},children:[e.jsx("span",{className:"text-red-600",children:"Midtown"})," Roofing"]}),e.jsxs("a",{href:"tel:+14054503010",className:"flex items-center gap-2 bg-red-600 text-white font-bold text-base px-5 py-3 rounded-xl hover:bg-red-700 transition-colors",children:[e.jsx(h,{className:"w-4 h-4"}),"(405) 450-3010"]})]})}),e.jsxs("main",{className:"bg-gray-50 min-h-screen pb-28 md:pb-0",children:[e.jsxs("section",{className:"relative overflow-hidden bg-gradient-to-br from-slate-900 via-red-950 to-slate-900",children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.04]",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='1' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E")`}}),e.jsxs("div",{className:"relative max-w-4xl mx-auto px-4 pt-10 pb-6 text-center",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-yellow-400 text-slate-900 text-sm font-extrabold px-5 py-2 rounded-full mb-6 uppercase tracking-wider shadow-lg",children:[e.jsx("span",{className:"w-2 h-2 bg-red-600 rounded-full animate-pulse"}),"OKC Storm Season â Act Now"]}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-extrabold text-white leading-[1.1] mb-4",style:{fontFamily:"Montserrat, sans-serif"},children:["Get an Instant Roof Estimate",e.jsx("br",{}),e.jsx("span",{className:"text-yellow-300",children:"Free â No Obligation"})]}),e.jsx("p",{className:"text-white/70 text-lg mb-8 max-w-xl mx-auto leading-relaxed",children:"Enter your name and phone number below â we'll call you within 15 minutes with a free estimate."}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(S,{}),e.jsx("span",{className:"text-white font-bold",children:"5.0"}),e.jsx("span",{className:"text-white/50 text-sm",children:"Google Reviews"})]}),e.jsx("div",{className:"h-4 w-px bg-white/20 hidden sm:block"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{className:"w-4 h-4 text-yellow-400"}),e.jsxs("span",{className:"text-white/70 text-sm",children:[e.jsx("span",{className:"text-white font-bold",children:"3,000+"})," OKC roofs replaced"]})]}),e.jsx("div",{className:"h-4 w-px bg-white/20 hidden sm:block"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-4 h-4 text-green-400"}),e.jsxs("span",{className:"text-white/70 text-sm",children:[e.jsx("span",{className:"text-white font-bold",children:"Free"})," impact-resistant shingle upgrade"]})]})]})]})]}),e.jsx(ue,{}),e.jsx("section",{className:"bg-slate-900 py-6",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4",children:e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-
15",children:[{icon:K,label:"Licensed & Insured",sub:"CIB #80006821"},{icon:m,label:"Insurance Experts",sub:"We handle your claim"},{icon:b,label:"5.0 Google Rating",sub:"Hundreds of reviews"},{icon:q,label:"3,000+ Roofs",sub:"Installed in OKC"}].map(({icon:s,label:l,sub:a})=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-red-600/20 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(s,{className:"w-5 h-5 text-red-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm font-bold leading-tight",children:l}),e.jsx("p",{className:"text-white/40 text-xs",children:a})]})]},l))})})}),e.jsx("section",{className:"py-14 bg-white",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("div",{className:"flex justify-center mb-3",children:e.jsx(S,{})}),e.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-gray-900 mb-2",style:{fontFamily:"Montserrat, sans-serif"},children:"OKC Homeowners Love Us"}),e.jsx("p",{className:"text-gray-400 text-base",children:"Verified Google reviews â no pressure, just results"})]}),e.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:me.map(s=>e.jsxs("div",{className:"rounded-2xl p-6 border border-gray-100 shadow-sm hover:shadow-md transition-shadow bg-white",children:[e.jsx(S,{size:"sm",count:s.stars}),e.jsxs("p",{className:"text-gray-700 text-base leading-relaxed mt-3 mb-5",children:['"',s.text,'"']}),e.jsxs("div",{className:"flex items-center gap-3 pt-3 border-t border-gray-50",children:[e.jsx("div",{className:"w-10 h-10 rounded-full flex items-center justify-center text-white font-bold text-sm flex-shrink-0",style:{backgroundColor:s.color},children:s.initial}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-gray-900",children:s.name}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ne,{className:"w-3 h-3 text-gray-300"}),e.jsxs("span",{className:"text-sm text-gray-400",children:[s.city,", OK"]})]})]})]})]},s.name))})]})}),e.jsx("section",{className:"py-12 bg-gray-50 border-t border-gray-100",children:e.jsxs("div",{className:"max-w-2xl mx-auto px-4",children:[e.jsx("h2",{className:"text-2xl font-extrabold text-gray-900 mb-6 text-center",style:{fontFamily:"Montserrat, sans-serif"},children:"Common Questions"}),e.jsx("div",{className:"bg-white rounded-2xl border border-gray-100 shadow-sm px-6",children:xe.map(s=>e.jsx(he,{...s},s.q))})]})}),e.jsx("section",{className:"py-14 bg-white border-t border-gray-100",children:e.jsxs("div",{className:"max-w-3xl mx-auto px-4 space-y-8 text-gray-600 leading-relaxed",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-extrabold text-gray-900 mb-3",style:{fontFamily:"Montserrat, sans-serif"},children:"Free Roof Inspections in Oklahoma City â What to Expect"}),e.jsx("p",{className:"text-base",children:"When you request a free roof inspection from Midtown Roofing, a licensed Oklahoma City roofing contractor arrives at your home â typically same day or next day â and performs a comprehensive 30-point inspection. We examine every shingle field, ridge cap, valley flashing, pipe boot, and drip edge for signs of hail impact, wind lifting, granule loss, and water intrusion. You receive a full written report with photos, completely free and with no obligation to hire us."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-2",children:"How Oklahoma Hail Damage Claims Work"}),e.jsx("p",{className:"text-base",children:"Oklahoma is consistently ranked among the top five states for hail damage insurance claims. Most standard homeowners insurance policies in Oklahoma cover hail and wind damage to your roof. Midtown Roofing works directly with all major insurers â State Farm, Farmers, Allstate, USAA, Shelter, and more â to document damage, meet with the adjuster, and ensure your claim is properly estimated. In most cases our customers pay only their deductible."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-2",children:"Serving Oklahoma City and the Entire OKC Metro"}),e.jsx("p",{className:"text-base",children:"Our free inspection service covers all of Oklahoma City and surrounding communities: Edmond, Yukon, Mustang, Moore, Norman, Midwest City, Del City, Choctaw, Piedmont, Blanchard, and beyond. No travel fees, no minimums â same-day inspection slots available Monday through Saturday."})]})]})}),e.jsx("section",{className:"py-8 bg-white border-t border-gray-100",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-4",children:[e.jsx("p",{className:"text-center text-xs font-semibold text-gray-300 uppercase tracking-widest mb-5",children:"Manufacturing Partners"}),e.jsx("div",{className:"flex flex-wrap justify-center gap-3",children:[{name:"GAF",sub:"Preferred Partner",color:"#c0392b",bg:"#fdf2f2"},{name:"Owens Corning",sub:"Preferred Partner",color:"#e07b00",bg:"#fdf6ee"},{name:"CertainTeed",sub:"SELECT ShingleMasterâ¢",color:"#1565c0",bg:"#eff5fd"},{name:"Malarkey",sub:"Preferred Partner",color:"#2e7d32",bg:"#f1f8f1"}].map(s=>e.jsxs("div",{className:"rounded-xl px-5 py-3 text-center min-w-[120px] border border-gray-50",style:{background:s.bg},children:[e.jsx("p",{className:"font-extrabold text-base",style:{color:s.color},children:s.name}),e.jsx("p",{className:"text-sm text-gray-400 mt-0.5",children:s.sub})]},s.name))})]})})]}),e.jsx("footer",{className:"bg-slate-900 text-gray-500 text-sm py-8 text-center border-t border-slate-800",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 space-y-2",children:[e.jsx("p",{className:"font-semibold text-gray-300 text-base",children:"Midtown Roofing OKC"}),e.jsx("p",{children:"(405) 450-3010 · [email protected]"}),e.jsx("p",{children:"Oklahoma City, OK · Licensed & Insured · CIB #80006821"}),e.jsxs("p",{className:"pt-1",children:["© ",new Date().getFullYear()," Midtown Roofing. All rights reserved."]})]})}),e.jsxs("div",{className:"fixed bottom-0 left-0 right-0 z-50 md:hidden bg-white/95 backdrop-blur border-t border-gray-200 px-4 py-3 shadow-2xl",children:[e.jsxs("a",{href:"tel:+14054503010",className:"flex items-center justify-center gap-3 bg-red-600 text-white font-extrabold text-lg rounded-2xl py-4 shadow-lg mr-16",children:[e.jsx(h,{className:"w-5 h-5"}),"Call Now â (405) 450-3010"]}),e.jsx("p",{className:"text-center text-sm text-gray-400 mt-1.5",children:"Free inspection · No commitment · Licensed & Insured"})]})]})}export{ke as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.