{"version":3,"file":"script_main.DjAtLPaG.mjs","names":["EmbedFonts","StickyRevealFonts","breakpoints","serializationHash","variantClassNames","breakpointRules","breakpointKeys","rules","mediaQueries","humanReadableVariantMap","HTMLStyle","getProps","Component","useRef","React.useId","css","EmbedFonts","StickyRevealFonts","breakpoints","serializationHash","variantClassNames","breakpointRules","breakpointKeys","rules","mediaQueries","humanReadableVariantMap","HTMLStyle","getProps","Component","useRef","React.useId","css","useRef","React.useId","React.createElement","HomeLayout","CustomHomesLayout","TractHomesLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/b5hFIof4cZd5pEXUy7E0/pa7nwwz70XQZfR6miAIP/StickyReveal.js","https:/framerusercontent.com/modules/BoDITlrftaXegzshER9g/N6pMopd00KvYXOjtUSvD/jvpUgmxek.js","https:/framerusercontent.com/modules/i5Z2L1iaSwCiJEmnGNyi/PkoN2FbSyAUHBtg6pHu9/p3MiPHEmp.js","https:/framerusercontent.com/modules/tTz0Xt7hNdzyK5NPAnK0/dUW5t42P7B5DMybMzHvV/lwlJzNbPn.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Sticky Reveal — slides the \"nav-sticky Embed\" layer into view on page scroll.\n * The embed sits fixed at top -offset; this moves it down by position (Y) only,\n * so the hidden bar never covers the hero menu.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function StickyReveal(props){const{target=\"nav-sticky Embed\",offset=140,desktopRange=500,phoneRange=300,phoneMaxWidth=809}=props;useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;let frame=0;const update=()=>{frame=0;const el=document.querySelector(`[data-framer-name=\"${target}\"]`);if(!el)return;const range=window.innerWidth<=phoneMaxWidth?phoneRange:desktopRange;const progress=Math.min(1,Math.max(0,window.scrollY/range));el.style.transform=`translateY(${(offset*progress).toFixed(1)}px)`;};const onScroll=()=>{if(!frame)frame=requestAnimationFrame(update);};update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);if(frame)cancelAnimationFrame(frame);};},[target,offset,desktopRange,phoneRange,phoneMaxWidth]);return /*#__PURE__*/_jsx(\"span\",{style:{display:\"none\"},\"aria-hidden\":\"true\"});}addPropertyControls(StickyReveal,{target:{type:ControlType.String,title:\"Layer name\",defaultValue:\"nav-sticky Embed\"},offset:{type:ControlType.Number,title:\"Hidden Y\",defaultValue:140,min:0,max:400,step:1},desktopRange:{type:ControlType.Number,title:\"Scroll (desktop)\",defaultValue:500,min:1,max:3e3,step:10},phoneRange:{type:ControlType.Number,title:\"Scroll (phone)\",defaultValue:300,min:1,max:3e3,step:10},phoneMaxWidth:{type:ControlType.Number,title:\"Phone max width\",defaultValue:809,min:320,max:1200,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StickyReveal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StickyReveal.map","// Generated by Framer (f8e97a5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/7LsYGOkyjLv3zWdmJA4n/Embed.js\";import StickyReveal from\"#framer/local/codeFile/JcZaJL9/StickyReveal.js\";const EmbedFonts=getFonts(Embed);const StickyRevealFonts=getFonts(StickyReveal);const breakpoints={B7aad9bsf:\"(min-width: 1200px)\",Djsg4bd6_:\"(min-width: 810px) and (max-width: 1199.98px)\",gzIAqYU2t:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-28Mjx\";const variantClassNames={B7aad9bsf:\"framer-v-1lz6768\",Djsg4bd6_:\"framer-v-47e28o\",gzIAqYU2t:\"framer-v-4c7ll3\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-28Mjx.framer-65fw3h, .framer-28Mjx .framer-65fw3h { display: block; }\",\".framer-28Mjx.framer-1lz6768 { align-content: center; align-items: center; background-color: var(--token-01be923f-4c54-4fab-8d2a-7d956bdb38f7); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-28Mjx .framer-qcwikt { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-28Mjx .framer-b1i7hb-container { flex: none; height: auto; left: 0px; order: 1001; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: -140px; z-index: 10; }\",\".framer-28Mjx .framer-11l0fnn-container { flex: none; height: 1px; left: 0px; order: 1002; position: absolute; top: 0px; width: 1px; }\",\".framer-28Mjx .framer-1qddi77-container { flex: none; height: auto; order: 1003; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={B7aad9bsf:\"(min-width: 1200px)\",Djsg4bd6_:\"(min-width: 810px) and (max-width: 1199.98px)\",gzIAqYU2t:\"(max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"B7aad9bsf\",Phone:\"gzIAqYU2t\",Tablet:\"Djsg4bd6_\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"B7aad9bsf\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"B7aad9bsf\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-01be923f-4c54-4fab-8d2a-7d956bdb38f7); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1lz6768\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-qcwikt\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-b1i7hb-container\",\"data-framer-name\":\"nav-sticky Embed\",isAuthoredByUser:true,isModuleExternal:true,layoutScroll:true,name:\"nav-sticky Embed\",nodeId:\"NmXKirYjp\",scopeId:\"jvpUgmxek\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — STICKY NAV — fixed to top, slides in after scrolling (every page) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk.hk-stickyroot{background:transparent!important;padding:0!important;display:flex!important;justify-content:center;overflow:visible!important;width:100%}\\n.hk-stickybar{flex:0 0 auto;margin:12px 0 0;width:min(1400px,calc(100vw - 24px));border-radius:20px;\\n  background:linear-gradient(180deg,rgba(38,44,56,.82),rgba(24,28,36,.78));-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);\\n  border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(10,14,21,.35)}\\n.hk-stickybar .hk-nav.solid{padding:14px 26px}\\n.hk-stickybar .hk-nav.solid .hk-cta{background:var(--blue)}\\n@media (max-width:900px){.hk-stickybar{margin:8px 0 0;width:calc(100vw - 16px);border-radius:16px}.hk-stickybar .hk-nav.solid{padding:10px 14px}}\\n</style>\\n<div class=\"hk hk-stickyroot\"><div class=\"hk-stickybar\"><nav class=\"hk-nav solid\" aria-label=\"Main\"><a class=\"hk-logo\" href=\"/\" aria-label=\"Hardacker Roofing home\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><ul class=\"hk-menu\"><li><a href=\"/residential\">Residential<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/residential\">Residential Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile Roofing</a></li><li><a href=\"/clay-roofing\">Clay Roofing</a></li><li><a href=\"/shingle-roofing\">Shingle Roofing</a></li><li><a href=\"/metal-roofing\">Metal Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li></ul></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/commercial\">Commercial Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li></ul></li><li><a href=\"/neighborhoods\">Areas<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a class=\"all\" href=\"/neighborhoods\">All areas →</a></li></ul></li><li><a href=\"/about\">Company<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></li></ul><a class=\"hk-tel\" href=\"tel:6023588458\">(602) 358-8458</a><a class=\"hk-cta hk-glass\" href=\"/contact\">Get a quote</a><details class=\"hk-burger\"><summary aria-label=\"Menu\"><i></i></summary><div class=\"hk-mpanel\"><h6>RESIDENTIAL</h6><a href=\"/residential\">Residential Roofing</a><a href=\"/roof-repair\">Roof Repair</a><a href=\"/roof-replacement\">Roof Replacement</a><a href=\"/tile-roofing\">Tile Roofing</a><a href=\"/clay-roofing\">Clay Roofing</a><a href=\"/shingle-roofing\">Shingle Roofing</a><a href=\"/metal-roofing\">Metal Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/custom-homes\">Custom Homes</a><a href=\"/tract-homes\">Tract Homes</a><h6>COMMERCIAL</h6><a href=\"/commercial\">Commercial Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/roof-repair\">Roof Repair</a><h6>AREAS</h6><a href=\"/neighborhoods/phoenix-az\">Phoenix</a><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a><a href=\"/neighborhoods/mesa-az\">Mesa</a><a href=\"/neighborhoods/gilbert-az\">Gilbert</a><a href=\"/neighborhoods/chandler-az\">Chandler</a><a href=\"/neighborhoods/glendale-az\">Glendale</a><a href=\"/neighborhoods/peoria-az\">Peoria</a><a href=\"/neighborhoods\">All areas →</a><h6>COMPANY</h6><a href=\"/about\">About</a><a href=\"/process\">Our Process</a><a href=\"/faq\">FAQ</a><a href=\"/blog\">Blog</a><a href=\"/contact\">Contact</a><a href=\"tel:6023588458\">Call (602) 358-8458</a><a class=\"btn\" href=\"/contact\">Get a quote</a></div></details></nav></div></div>\\n',id:\"NmXKirYjp\",layoutId:\"NmXKirYjp\",name:\"nav-sticky Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-11l0fnn-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Sticky Reveal\",isAuthoredByUser:true,name:\"Sticky Reveal\",nodeId:\"XCS7IgHVi\",scopeId:\"jvpUgmxek\",children:/*#__PURE__*/_jsx(StickyReveal,{desktopRange:500,height:\"100%\",id:\"XCS7IgHVi\",layoutId:\"XCS7IgHVi\",name:\"Sticky Reveal\",offset:140,phoneMaxWidth:809,phoneRange:300,style:{height:\"100%\",width:\"100%\"},target:\"nav-sticky Embed\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1qddi77-container\",\"data-framer-name\":\"Footer Embed\",isAuthoredByUser:true,isModuleExternal:true,name:\"Footer Embed\",nodeId:\"KztT979Tf\",scopeId:\"jvpUgmxek\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — FOOTER (global) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk-foot{background:var(--night);color:#fff;border-radius:28px;margin:16px 16px 0;padding:90px 0 40px}\\n.hk-foot .top{display:grid;grid-template-columns:1.3fr 2fr;gap:64px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .brand img{height:26px;display:block}\\n.hk-foot .brand h2{font-size:clamp(28px,2.6vw,40px);line-height:1.05;font-weight:700;letter-spacing:-.035em;margin-top:28px;max-width:440px}\\n.hk-foot .brand h2 em{font-style:normal;color:var(--blue)}\\n.hk-foot .brand .hk-btns{margin-top:30px}\\n.hk-foot .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}\\n.hk-foot h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}\\n.hk-foot ul{list-style:none;padding:0}\\n.hk-foot li a{display:block;padding:6px 0;color:rgba(255,255,255,.85);text-decoration:none;font-size:15px}\\n.hk-foot li a:hover,.hk-foot .info a:hover{color:var(--blue)}\\n.hk-foot .info{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .info small{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}\\n.hk-foot .info span,.hk-foot .info a{font-size:15px;line-height:1.55;color:#fff;text-decoration:none}\\n.hk-foot .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;font-size:13px;color:rgba(255,255,255,.55)}\\n.hk-foot .legal b{color:#fff;font-weight:600}\\n.hk-foot .hk-rvg{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;opacity:.85;transition:opacity .2s ease}.hk-foot .hk-rvg:hover{opacity:1}.hk-foot .hk-rvg img{height:14px;width:auto;max-width:none;display:block}.hk-foot .hk-rvg i{width:1px;height:17px;background:#6ba3be;display:block}.hk-foot .legal .hk-rvg{margin-top:6px}.hk-foot .hk-rvg span{font-size:9.5px;font-weight:500;letter-spacing:.3em;line-height:1;white-space:nowrap;color:#fff}\\n@media (max-width:900px){.hk-foot{margin:10px 10px 0;padding:60px 0 32px}.hk-foot .top{grid-template-columns:1fr;gap:40px}.hk-foot .cols{grid-template-columns:1fr 1fr}.hk-foot .info{grid-template-columns:1fr 1fr}}\\n.hk-foot .fam{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;margin-top:24px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}.hk-foot .fam a{opacity:.85;transition:opacity .2s ease}.hk-foot .fam a:hover{opacity:1}.hk-foot .fam a:active{transform:translateY(1px) scale(.97);transition-duration:.08s;transition-timing-function:ease-out}.hk-foot .fam .hk-hard img{height:22px;width:auto;display:block}@media (max-width:620px){.hk-foot .fam{gap:10px}.hk-foot .fam .hk-hard img{height:17px}.hk-foot .fam .hk-rvg img{height:11px}.hk-foot .fam .hk-rvg span{font-size:8px;letter-spacing:.18em}}</style>\\n<div class=\"hk\"><footer class=\"hk-foot\"><div class=\"hk-w\"><div class=\"top\"><div class=\"brand\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"><h2>Quality. Service. Integrity. <em>Family-owned in Phoenix since 1943.</em></h2><div class=\"hk-btns\"><a class=\"hk-pill solid\" href=\"/contact\"><span class=\"dot\">&rarr;</span>Get a quote</a><a class=\"hk-pill plain hk-glass\" href=\"tel:6023588458\">(602) 358-8458</a></div></div><div class=\"cols\"><div><h4>Services</h4><ul><li><a href=\"/residential\">Residential</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile</a></li><li><a href=\"/clay-roofing\">Clay</a></li><li><a href=\"/shingle-roofing\">Shingle</a></li><li><a href=\"/metal-roofing\">Metal</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam</a></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial</a></li></ul></div><div><h4>Service Areas</h4><ul><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a href=\"/neighborhoods\">All areas →</a></li></ul></div><div><h4>Company</h4><ul><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></div></div></div><div class=\"info\"><div><small>Call</small><a href=\"tel:6023588458\">602-358-8458</a></div><div><small>Email</small><a href=\"mailto:hardackerroofingaz@gmail.com\">hardackerroofingaz@gmail.com</a></div><div><small>Visit</small><span>2450 E Bell Rd<br>Phoenix, AZ 85032</span></div><div><small>Hours</small><span>Mon–Thu 8:00a–4:00p<br>Fri 8:00a–3:30p \\xb7 Sat–Sun Closed</span></div></div><div class=\"legal\"><span>\\xa9 2026 Hardacker Roofing. All rights reserved. \\xb7 Licensed &amp; Insured \\xb7 AZ ROC #354850 \\xb7 #209598</span><span><b>Family-owned in Phoenix</b> \\xb7 three generations since 1943</span></div><div class=\"fam\"><a class=\"hk-rvg\" href=\"https://www.revelvg.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Venture Group\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>VENTURE GROUP</span></a><a class=\"hk-hard\" href=\"/\" aria-label=\"Hardacker Roofing\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><a class=\"hk-rvg\" href=\"https://www.revelroofs.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Roofing\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>ROOFING</span></a></div></div></footer></div>\\n',id:\"KztT979Tf\",layoutId:\"KztT979Tf\",name:\"Footer Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Djsg4bd6_\":{\"layout\":[\"fixed\",\"fixed\"]},\"gzIAqYU2t\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"B7aad9bsf\":[\".framer-b1i7hb-container\",\".framer-11l0fnn-container\",\".framer-1qddi77-container\"],\"Djsg4bd6_\":[\".framer-b1i7hb-container\",\".framer-11l0fnn-container\",\".framer-1qddi77-container\"],\"gzIAqYU2t\":[\".framer-b1i7hb-container\",\".framer-11l0fnn-container\",\".framer-1qddi77-container\"]}\n * @framerBreakpoints {\"B7aad9bsf\":{\"min\":1200,\"canvasClassName\":\"framer-1lz6768-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"Djsg4bd6_\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-47e28o-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"gzIAqYU2t\":{\"max\":809,\"canvasClassName\":\"framer-4c7ll3-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant B7aad9bsf\n * @framerLayoutTemplate true\n */const FramerjvpUgmxek=withCSS(Component,css,\"framer-28Mjx\");export default FramerjvpUgmxek;FramerjvpUgmxek.displayName=\"Custom Homes Layout\";FramerjvpUgmxek.defaultProps={height:1e3,width:1200};addFonts(FramerjvpUgmxek,[{explicitInter:true,fonts:[]},...EmbedFonts,...StickyRevealFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerjvpUgmxek\",\"slots\":[],\"annotations\":{\"framerDefaultVariant\":\"B7aad9bsf\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerBreakpoints\":\"{\\\"B7aad9bsf\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1lz6768-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"Djsg4bd6_\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-47e28o-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"gzIAqYU2t\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-4c7ll3-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerLayoutTemplate\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerHitTargets\":\"{\\\"B7aad9bsf\\\":[\\\".framer-b1i7hb-container\\\",\\\".framer-11l0fnn-container\\\",\\\".framer-1qddi77-container\\\"],\\\"Djsg4bd6_\\\":[\\\".framer-b1i7hb-container\\\",\\\".framer-11l0fnn-container\\\",\\\".framer-1qddi77-container\\\"],\\\"gzIAqYU2t\\\":[\\\".framer-b1i7hb-container\\\",\\\".framer-11l0fnn-container\\\",\\\".framer-1qddi77-container\\\"]}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Djsg4bd6_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"gzIAqYU2t\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/7LsYGOkyjLv3zWdmJA4n/Embed.js\";import StickyReveal from\"#framer/local/codeFile/JcZaJL9/StickyReveal.js\";const EmbedFonts=getFonts(Embed);const StickyRevealFonts=getFonts(StickyReveal);const breakpoints={dokQIwKDA:\"(max-width: 809.98px)\",H3XlIydW9:\"(min-width: 810px) and (max-width: 1199.98px)\",zTIU0iCgy:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-XGJWj\";const variantClassNames={dokQIwKDA:\"framer-v-1jt6vtr\",H3XlIydW9:\"framer-v-2h93ew\",zTIU0iCgy:\"framer-v-12x44jp\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-XGJWj.framer-5iz1pl, .framer-XGJWj .framer-5iz1pl { display: block; }\",\".framer-XGJWj.framer-12x44jp { align-content: center; align-items: center; background-color: var(--token-01be923f-4c54-4fab-8d2a-7d956bdb38f7); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-XGJWj .framer-15bjry5 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-XGJWj .framer-46qxge-container { flex: none; height: auto; left: 0px; order: 1001; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: -140px; z-index: 10; }\",\".framer-XGJWj .framer-1kgkz57-container { flex: none; height: 1px; left: 0px; order: 1002; position: absolute; top: 0px; width: 1px; }\",\".framer-XGJWj .framer-1y947jn-container { flex: none; height: auto; order: 1003; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={dokQIwKDA:\"(max-width: 809.98px)\",H3XlIydW9:\"(min-width: 810px) and (max-width: 1199.98px)\",zTIU0iCgy:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"zTIU0iCgy\",Phone:\"dokQIwKDA\",Tablet:\"H3XlIydW9\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"zTIU0iCgy\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"zTIU0iCgy\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-01be923f-4c54-4fab-8d2a-7d956bdb38f7); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-12x44jp\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-15bjry5\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-46qxge-container\",\"data-framer-name\":\"nav-sticky Embed\",isAuthoredByUser:true,isModuleExternal:true,layoutScroll:true,name:\"nav-sticky Embed\",nodeId:\"y_0sni9Yg\",scopeId:\"p3MiPHEmp\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — STICKY NAV — fixed to top, slides in after scrolling (every page) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk.hk-stickyroot{background:transparent!important;padding:0!important;display:flex!important;justify-content:center;overflow:visible!important;width:100%}\\n.hk-stickybar{flex:0 0 auto;margin:12px 0 0;width:min(1400px,calc(100vw - 24px));border-radius:20px;\\n  background:linear-gradient(180deg,rgba(38,44,56,.82),rgba(24,28,36,.78));-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);\\n  border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(10,14,21,.35)}\\n.hk-stickybar .hk-nav.solid{padding:14px 26px}\\n.hk-stickybar .hk-nav.solid .hk-cta{background:var(--blue)}\\n@media (max-width:900px){.hk-stickybar{margin:8px 0 0;width:calc(100vw - 16px);border-radius:16px}.hk-stickybar .hk-nav.solid{padding:10px 14px}}\\n</style>\\n<div class=\"hk hk-stickyroot\"><div class=\"hk-stickybar\"><nav class=\"hk-nav solid\" aria-label=\"Main\"><a class=\"hk-logo\" href=\"/\" aria-label=\"Hardacker Roofing home\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><ul class=\"hk-menu\"><li><a href=\"/residential\">Residential<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/residential\">Residential Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile Roofing</a></li><li><a href=\"/clay-roofing\">Clay Roofing</a></li><li><a href=\"/shingle-roofing\">Shingle Roofing</a></li><li><a href=\"/metal-roofing\">Metal Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li></ul></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/commercial\">Commercial Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li></ul></li><li><a href=\"/neighborhoods\">Areas<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a class=\"all\" href=\"/neighborhoods\">All areas →</a></li></ul></li><li><a href=\"/about\">Company<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></li></ul><a class=\"hk-tel\" href=\"tel:6023588458\">(602) 358-8458</a><a class=\"hk-cta hk-glass\" href=\"/contact\">Get a quote</a><details class=\"hk-burger\"><summary aria-label=\"Menu\"><i></i></summary><div class=\"hk-mpanel\"><h6>RESIDENTIAL</h6><a href=\"/residential\">Residential Roofing</a><a href=\"/roof-repair\">Roof Repair</a><a href=\"/roof-replacement\">Roof Replacement</a><a href=\"/tile-roofing\">Tile Roofing</a><a href=\"/clay-roofing\">Clay Roofing</a><a href=\"/shingle-roofing\">Shingle Roofing</a><a href=\"/metal-roofing\">Metal Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/custom-homes\">Custom Homes</a><a href=\"/tract-homes\">Tract Homes</a><h6>COMMERCIAL</h6><a href=\"/commercial\">Commercial Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/roof-repair\">Roof Repair</a><h6>AREAS</h6><a href=\"/neighborhoods/phoenix-az\">Phoenix</a><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a><a href=\"/neighborhoods/mesa-az\">Mesa</a><a href=\"/neighborhoods/gilbert-az\">Gilbert</a><a href=\"/neighborhoods/chandler-az\">Chandler</a><a href=\"/neighborhoods/glendale-az\">Glendale</a><a href=\"/neighborhoods/peoria-az\">Peoria</a><a href=\"/neighborhoods\">All areas →</a><h6>COMPANY</h6><a href=\"/about\">About</a><a href=\"/process\">Our Process</a><a href=\"/faq\">FAQ</a><a href=\"/blog\">Blog</a><a href=\"/contact\">Contact</a><a href=\"tel:6023588458\">Call (602) 358-8458</a><a class=\"btn\" href=\"/contact\">Get a quote</a></div></details></nav></div></div>\\n',id:\"y_0sni9Yg\",layoutId:\"y_0sni9Yg\",name:\"nav-sticky Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1kgkz57-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Sticky Reveal\",isAuthoredByUser:true,name:\"Sticky Reveal\",nodeId:\"ojhyn44c1\",scopeId:\"p3MiPHEmp\",children:/*#__PURE__*/_jsx(StickyReveal,{desktopRange:500,height:\"100%\",id:\"ojhyn44c1\",layoutId:\"ojhyn44c1\",name:\"Sticky Reveal\",offset:140,phoneMaxWidth:809,phoneRange:300,style:{height:\"100%\",width:\"100%\"},target:\"nav-sticky Embed\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1y947jn-container\",\"data-framer-name\":\"Footer Embed\",isAuthoredByUser:true,isModuleExternal:true,name:\"Footer Embed\",nodeId:\"xLdxjlHJe\",scopeId:\"p3MiPHEmp\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — FOOTER (global) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk-foot{background:var(--night);color:#fff;border-radius:28px;margin:16px 16px 0;padding:90px 0 40px}\\n.hk-foot .top{display:grid;grid-template-columns:1.3fr 2fr;gap:64px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .brand img{height:26px;display:block}\\n.hk-foot .brand h2{font-size:clamp(28px,2.6vw,40px);line-height:1.05;font-weight:700;letter-spacing:-.035em;margin-top:28px;max-width:440px}\\n.hk-foot .brand h2 em{font-style:normal;color:var(--blue)}\\n.hk-foot .brand .hk-btns{margin-top:30px}\\n.hk-foot .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}\\n.hk-foot h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}\\n.hk-foot ul{list-style:none;padding:0}\\n.hk-foot li a{display:block;padding:6px 0;color:rgba(255,255,255,.85);text-decoration:none;font-size:15px}\\n.hk-foot li a:hover,.hk-foot .info a:hover{color:var(--blue)}\\n.hk-foot .info{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .info small{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}\\n.hk-foot .info span,.hk-foot .info a{font-size:15px;line-height:1.55;color:#fff;text-decoration:none}\\n.hk-foot .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;font-size:13px;color:rgba(255,255,255,.55)}\\n.hk-foot .legal b{color:#fff;font-weight:600}\\n.hk-foot .hk-rvg{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;opacity:.85;transition:opacity .2s ease}.hk-foot .hk-rvg:hover{opacity:1}.hk-foot .hk-rvg img{height:14px;width:auto;max-width:none;display:block}.hk-foot .hk-rvg i{width:1px;height:17px;background:#6ba3be;display:block}.hk-foot .legal .hk-rvg{margin-top:6px}.hk-foot .hk-rvg span{font-size:9.5px;font-weight:500;letter-spacing:.3em;line-height:1;white-space:nowrap;color:#fff}\\n@media (max-width:900px){.hk-foot{margin:10px 10px 0;padding:60px 0 32px}.hk-foot .top{grid-template-columns:1fr;gap:40px}.hk-foot .cols{grid-template-columns:1fr 1fr}.hk-foot .info{grid-template-columns:1fr 1fr}}\\n.hk-foot .fam{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;margin-top:24px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}.hk-foot .fam a{opacity:.85;transition:opacity .2s ease}.hk-foot .fam a:hover{opacity:1}.hk-foot .fam a:active{transform:translateY(1px) scale(.97);transition-duration:.08s;transition-timing-function:ease-out}.hk-foot .fam .hk-hard img{height:22px;width:auto;display:block}@media (max-width:620px){.hk-foot .fam{gap:10px}.hk-foot .fam .hk-hard img{height:17px}.hk-foot .fam .hk-rvg img{height:11px}.hk-foot .fam .hk-rvg span{font-size:8px;letter-spacing:.18em}}</style>\\n<div class=\"hk\"><footer class=\"hk-foot\"><div class=\"hk-w\"><div class=\"top\"><div class=\"brand\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"><h2>Quality. Service. Integrity. <em>Family-owned in Phoenix since 1943.</em></h2><div class=\"hk-btns\"><a class=\"hk-pill solid\" href=\"/contact\"><span class=\"dot\">&rarr;</span>Get a quote</a><a class=\"hk-pill plain hk-glass\" href=\"tel:6023588458\">(602) 358-8458</a></div></div><div class=\"cols\"><div><h4>Services</h4><ul><li><a href=\"/residential\">Residential</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile</a></li><li><a href=\"/clay-roofing\">Clay</a></li><li><a href=\"/shingle-roofing\">Shingle</a></li><li><a href=\"/metal-roofing\">Metal</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam</a></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial</a></li></ul></div><div><h4>Service Areas</h4><ul><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a href=\"/neighborhoods\">All areas →</a></li></ul></div><div><h4>Company</h4><ul><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></div></div></div><div class=\"info\"><div><small>Call</small><a href=\"tel:6023588458\">602-358-8458</a></div><div><small>Email</small><a href=\"mailto:hardackerroofingaz@gmail.com\">hardackerroofingaz@gmail.com</a></div><div><small>Visit</small><span>2450 E Bell Rd<br>Phoenix, AZ 85032</span></div><div><small>Hours</small><span>Mon–Thu 8:00a–4:00p<br>Fri 8:00a–3:30p \\xb7 Sat–Sun Closed</span></div></div><div class=\"legal\"><span>\\xa9 2026 Hardacker Roofing. All rights reserved. \\xb7 Licensed &amp; Insured \\xb7 AZ ROC #354850 \\xb7 #209598</span><span><b>Family-owned in Phoenix</b> \\xb7 three generations since 1943</span></div><div class=\"fam\"><a class=\"hk-rvg\" href=\"https://www.revelvg.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Venture Group\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>VENTURE GROUP</span></a><a class=\"hk-hard\" href=\"/\" aria-label=\"Hardacker Roofing\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><a class=\"hk-rvg\" href=\"https://www.revelroofs.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Roofing\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>ROOFING</span></a></div></div></footer></div>\\n',id:\"xLdxjlHJe\",layoutId:\"xLdxjlHJe\",name:\"Footer Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"H3XlIydW9\":{\"layout\":[\"fixed\",\"fixed\"]},\"dokQIwKDA\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"zTIU0iCgy\":[\".framer-46qxge-container\",\".framer-1kgkz57-container\",\".framer-1y947jn-container\"],\"H3XlIydW9\":[\".framer-46qxge-container\",\".framer-1kgkz57-container\",\".framer-1y947jn-container\"],\"dokQIwKDA\":[\".framer-46qxge-container\",\".framer-1kgkz57-container\",\".framer-1y947jn-container\"]}\n * @framerBreakpoints {\"zTIU0iCgy\":{\"min\":1200,\"canvasClassName\":\"framer-12x44jp-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"H3XlIydW9\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-2h93ew-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"dokQIwKDA\":{\"max\":809,\"canvasClassName\":\"framer-1jt6vtr-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant zTIU0iCgy\n * @framerLayoutTemplate true\n */const Framerp3MiPHEmp=withCSS(Component,css,\"framer-XGJWj\");export default Framerp3MiPHEmp;Framerp3MiPHEmp.displayName=\"Home Layout\";Framerp3MiPHEmp.defaultProps={height:1e3,width:1200};addFonts(Framerp3MiPHEmp,[{explicitInter:true,fonts:[]},...EmbedFonts,...StickyRevealFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerp3MiPHEmp\",\"slots\":[],\"annotations\":{\"framerHitTargets\":\"{\\\"zTIU0iCgy\\\":[\\\".framer-46qxge-container\\\",\\\".framer-1kgkz57-container\\\",\\\".framer-1y947jn-container\\\"],\\\"H3XlIydW9\\\":[\\\".framer-46qxge-container\\\",\\\".framer-1kgkz57-container\\\",\\\".framer-1y947jn-container\\\"],\\\"dokQIwKDA\\\":[\\\".framer-46qxge-container\\\",\\\".framer-1kgkz57-container\\\",\\\".framer-1y947jn-container\\\"]}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1000\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"H3XlIydW9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dokQIwKDA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerBreakpoints\":\"{\\\"zTIU0iCgy\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-12x44jp-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"H3XlIydW9\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-2h93ew-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"dokQIwKDA\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1jt6vtr-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerDefaultVariant\":\"zTIU0iCgy\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/7LsYGOkyjLv3zWdmJA4n/Embed.js\";import StickyReveal from\"#framer/local/codeFile/JcZaJL9/StickyReveal.js\";const EmbedFonts=getFonts(Embed);const StickyRevealFonts=getFonts(StickyReveal);const breakpoints={HEQh30DNo:\"(min-width: 1200px)\",jZe3iAY54:\"(max-width: 809.98px)\",xik6iJOky:\"(min-width: 810px) and (max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-qIYjW\";const variantClassNames={HEQh30DNo:\"framer-v-n2kji9\",jZe3iAY54:\"framer-v-16op4y7\",xik6iJOky:\"framer-v-e2syo6\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-qIYjW.framer-cjl8gi, .framer-qIYjW .framer-cjl8gi { display: block; }\",\".framer-qIYjW.framer-n2kji9 { align-content: center; align-items: center; background-color: #444040; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-qIYjW .framer-1qgyn3i { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-qIYjW .framer-78mrkk-container { flex: none; height: auto; left: 0px; order: 1001; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: -140px; z-index: 10; }\",\".framer-qIYjW .framer-ppt4qk-container { flex: none; height: 1px; left: 0px; order: 1002; position: absolute; top: 0px; width: 1px; }\",\".framer-qIYjW .framer-1osvtm4-container { flex: none; height: auto; order: 1003; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={HEQh30DNo:\"(min-width: 1200px)\",jZe3iAY54:\"(max-width: 809.98px)\",xik6iJOky:\"(min-width: 810px) and (max-width: 1199.98px)\"};const humanReadableVariantMap={Desktop:\"HEQh30DNo\",Phone:\"jZe3iAY54\",Tablet:\"xik6iJOky\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"HEQh30DNo\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"HEQh30DNo\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(68, 64, 64); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-n2kji9\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1qgyn3i\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-78mrkk-container\",\"data-framer-name\":\"nav-sticky Embed\",isAuthoredByUser:true,isModuleExternal:true,layoutScroll:true,name:\"nav-sticky Embed\",nodeId:\"W58mK5OQ7\",scopeId:\"lwlJzNbPn\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — STICKY NAV — fixed to top, slides in after scrolling (every page) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk.hk-stickyroot{background:transparent!important;padding:0!important;display:flex!important;justify-content:center;overflow:visible!important;width:100%}\\n.hk-stickybar{flex:0 0 auto;margin:12px 0 0;width:min(1400px,calc(100vw - 24px));border-radius:20px;\\n  background:linear-gradient(180deg,rgba(38,44,56,.82),rgba(24,28,36,.78));-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);\\n  border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(10,14,21,.35)}\\n.hk-stickybar .hk-nav.solid{padding:14px 26px}\\n.hk-stickybar .hk-nav.solid .hk-cta{background:var(--blue)}\\n@media (max-width:900px){.hk-stickybar{margin:8px 0 0;width:calc(100vw - 16px);border-radius:16px}.hk-stickybar .hk-nav.solid{padding:10px 14px}}\\n</style>\\n<div class=\"hk hk-stickyroot\"><div class=\"hk-stickybar\"><nav class=\"hk-nav solid\" aria-label=\"Main\"><a class=\"hk-logo\" href=\"/\" aria-label=\"Hardacker Roofing home\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><ul class=\"hk-menu\"><li><a href=\"/residential\">Residential<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/residential\">Residential Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile Roofing</a></li><li><a href=\"/clay-roofing\">Clay Roofing</a></li><li><a href=\"/shingle-roofing\">Shingle Roofing</a></li><li><a href=\"/metal-roofing\">Metal Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li></ul></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/commercial\">Commercial Roofing</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li></ul></li><li><a href=\"/neighborhoods\">Areas<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a class=\"all\" href=\"/neighborhoods\">All areas →</a></li></ul></li><li><a href=\"/about\">Company<span class=\"car\"></span></a><ul class=\"hk-drop\"><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></li></ul><a class=\"hk-tel\" href=\"tel:6023588458\">(602) 358-8458</a><a class=\"hk-cta hk-glass\" href=\"/contact\">Get a quote</a><details class=\"hk-burger\"><summary aria-label=\"Menu\"><i></i></summary><div class=\"hk-mpanel\"><h6>RESIDENTIAL</h6><a href=\"/residential\">Residential Roofing</a><a href=\"/roof-repair\">Roof Repair</a><a href=\"/roof-replacement\">Roof Replacement</a><a href=\"/tile-roofing\">Tile Roofing</a><a href=\"/clay-roofing\">Clay Roofing</a><a href=\"/shingle-roofing\">Shingle Roofing</a><a href=\"/metal-roofing\">Metal Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/custom-homes\">Custom Homes</a><a href=\"/tract-homes\">Tract Homes</a><h6>COMMERCIAL</h6><a href=\"/commercial\">Commercial Roofing</a><a href=\"/flat-roofing\">Flat &amp; Foam Roofing</a><a href=\"/roof-repair\">Roof Repair</a><h6>AREAS</h6><a href=\"/neighborhoods/phoenix-az\">Phoenix</a><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a><a href=\"/neighborhoods/mesa-az\">Mesa</a><a href=\"/neighborhoods/gilbert-az\">Gilbert</a><a href=\"/neighborhoods/chandler-az\">Chandler</a><a href=\"/neighborhoods/glendale-az\">Glendale</a><a href=\"/neighborhoods/peoria-az\">Peoria</a><a href=\"/neighborhoods\">All areas →</a><h6>COMPANY</h6><a href=\"/about\">About</a><a href=\"/process\">Our Process</a><a href=\"/faq\">FAQ</a><a href=\"/blog\">Blog</a><a href=\"/contact\">Contact</a><a href=\"tel:6023588458\">Call (602) 358-8458</a><a class=\"btn\" href=\"/contact\">Get a quote</a></div></details></nav></div></div>\\n',id:\"W58mK5OQ7\",layoutId:\"W58mK5OQ7\",name:\"nav-sticky Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-ppt4qk-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Sticky Reveal\",isAuthoredByUser:true,name:\"Sticky Reveal\",nodeId:\"CXjvt7l5J\",scopeId:\"lwlJzNbPn\",children:/*#__PURE__*/_jsx(StickyReveal,{desktopRange:500,height:\"100%\",id:\"CXjvt7l5J\",layoutId:\"CXjvt7l5J\",name:\"Sticky Reveal\",offset:140,phoneMaxWidth:809,phoneRange:300,style:{height:\"100%\",width:\"100%\"},target:\"nav-sticky Embed\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1osvtm4-container\",\"data-framer-name\":\"Footer Embed\",isAuthoredByUser:true,isModuleExternal:true,name:\"Footer Embed\",nodeId:\"fodB1WWWB\",scopeId:\"lwlJzNbPn\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!-- HARDACKER ROOFING — FOOTER (global) — drop-in embed (HTML). Do not restyle or reword. -->\\n<link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n<style>\\n.hk{width:100%;flex:1 1 100%;align-self:stretch;display:block;box-sizing:border-box;background:#EEF0F5;font-family:Inter,system-ui,-apple-system,sans-serif;color:#15171C;\\n  --ink:#15171C;--body:#4E5562;--muted:#7A8090;--blue:#0DA8F4;--blue-d:#0A86C4;--line:rgba(21,23,28,.08);--night:#0A0E15;padding-bottom:16px;-webkit-font-smoothing:antialiased}\\n.hk *{box-sizing:border-box;margin:0}\\n.hk a{color:inherit}\\n.hk img{max-width:100%}\\n.hk-glass{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(15,25,40,.18)}\\n\\n/* NAV (sits on the hero photo) */\\n.hk-nav{position:absolute;z-index:20;top:max(18px,2.4cqw);left:max(18px,3.3cqw);right:max(18px,3.3cqw);display:flex;align-items:center;gap:max(14px,1.6cqw);color:#fff}\\n.hk-nav.solid{position:relative;top:auto;left:auto;right:auto;max-width:1376px;margin:0 auto;padding:22px 32px}\\n.hk-logo{margin-right:auto;display:block}\\n.hk-logo img{height:max(20px,1.7cqw);max-height:26px;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}\\n.hk-menu{display:flex;align-items:center;gap:max(4px,.4cqw);list-style:none;padding:0}\\n.hk-menu>li{position:relative}\\n.hk-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:max(13px,.92cqw);font-size:clamp(13px,.92cqw,15px);color:rgba(255,255,255,.88);padding:10px 10px;border-radius:999px}\\n.hk-menu>li>a:hover,.hk-menu>li:focus-within>a{color:var(--blue);background:rgba(255,255,255,.10)}\\n.hk-menu .car{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8}\\n.hk-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:230px;padding:10px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(10,14,21,.25);list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:30}\\n.hk-menu>li:hover .hk-drop,.hk-menu>li:focus-within .hk-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}\\n.hk-drop a{display:block;padding:10px 14px;border-radius:10px;color:#15171C;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}\\n.hk-drop a:hover{background:#EEF0F5;color:var(--blue-d)}\\n.hk-drop .all{color:var(--blue-d);font-weight:600}\\n.hk-tel:hover,.hk-cta:hover,.hk-mpanel a:hover{color:var(--blue)!important}\\n.hk-tel{text-decoration:none;font-size:clamp(13px,.92cqw,15px);font-weight:600;white-space:nowrap}\\n.hk-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-burger{display:none}\\n.hk-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}\\n.hk-burger summary::-webkit-details-marker{display:none}\\n.hk-burger summary i,.hk-burger summary i::before,.hk-burger summary i::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;content:\"\"}\\n.hk-burger summary i::before{position:absolute;top:-6px}.hk-burger summary i::after{position:absolute;top:6px}\\n.hk-burger[open] summary i{background:transparent}.hk-burger[open] summary i::before{top:0;transform:rotate(45deg)}.hk-burger[open] summary i::after{top:0;transform:rotate(-45deg)}\\n.hk-mpanel{position:absolute;right:0;top:54px;width:min(88vw,360px);max-height:75vh;overflow:auto;background:#fff;color:#15171C;border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(10,14,21,.35)}\\n.hk-mpanel h6{font-size:11px;letter-spacing:.14em;color:var(--muted);margin:14px 6px 6px;font-weight:600}\\n.hk-mpanel a{display:block;padding:9px 6px;text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}\\n.hk-mpanel .btn{margin-top:16px;border:0;background:var(--blue);color:#fff;text-align:center;border-radius:999px;padding:14px;font-weight:600}\\n.hk-navbar{background:var(--night);border-radius:0 0 24px 24px;margin:0 0 0}\\n.hk-nav.solid .hk-cta{background:var(--blue);border:0;box-shadow:none}\\n/* HERO */\\n.hk-frame{position:relative;width:100%;aspect-ratio:16/8.4;min-height:600px;max-height:980px;border-radius:0 0 28px 28px;container-type:inline-size;color:#fff;isolation:isolate}\\n.hk-frame.sub{aspect-ratio:16/7.2;min-height:560px}\\n.hk-photo-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden}\\n.hk-photo-wrap img,.hk-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}\\n@media (prefers-reduced-motion:reduce){.hk-vid{display:none}}\\n.hk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,.7) 0%,rgba(10,14,21,.1) 30%,rgba(10,14,21,.25) 55%,rgba(10,14,21,.86) 100%)}\\n.hk-copy{position:absolute;z-index:2;left:max(20px,3.5cqw);bottom:max(36px,4.2cqw);max-width:62cqw}\\n.hk-kick{font-size:max(11px,.8cqw);font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:max(14px,1.2cqw)}\\n.hk-kick::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-copy h1{font-size:max(38px,5.4cqw);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:uppercase}\\n.hk-frame.sub .hk-copy h1{font-size:max(36px,4.8cqw)}\\n.hk-copy h1 em{font-style:normal;color:var(--blue)}\\n.hk-copy p.lead{font-size:max(15px,1.12cqw);line-height:1.55;max-width:max(320px,38cqw);opacity:.92;margin:max(16px,1.4cqw) 0 max(20px,1.7cqw)}\\n.hk-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}\\n.hk-pill{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 6px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;white-space:nowrap}\\n.hk-pill .dot{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}\\n.hk-pill.solid{background:var(--blue);box-shadow:0 10px 30px rgba(13,168,244,.35)}\\n.hk-pill.plain{padding:0 24px}\\n.hk-pill.ink{background:var(--ink);color:#fff}\\n.hk-pill.ink .dot{background:var(--blue);color:#fff}\\n.hk-badge{position:absolute;z-index:2;right:max(18px,3.3cqw);bottom:max(36px,4.2cqw);width:max(250px,19cqw);border-radius:22px;padding:max(16px,1.3cqw);color:#fff}\\n.hk-badge b{display:block;font-size:max(15px,1.1cqw);letter-spacing:-.01em;margin-bottom:max(10px,.8cqw)}\\n.hk-badge ul{list-style:none;padding:0;display:grid;gap:max(6px,.45cqw)}\\n.hk-badge li{font-size:max(11px,.78cqw);font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}\\n.hk-badge li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue)}\\n.hk-trustw{display:none}\\n.hk-trust{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}\\n.hk-trust b{font-size:17px;font-weight:600}\\n.hk-trust ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}\\n.hk-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}\\n.hk-trust li::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--blue)}\\n\\n/* SECTIONS */\\n.hk-w{max-width:1200px;margin:0 auto;padding:0 32px}\\n.hk-sec{padding:130px 0 0}\\n.hk-sec.last{padding-bottom:130px}\\n.hk-lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}\\n.hk-lbl::before{content:\"\";width:18px;height:1px;background:var(--blue)}\\n.hk-h2{font-size:clamp(40px,5.4vw,80px);line-height:.98;font-weight:700;letter-spacing:-.045em;max-width:1000px}\\n.hk-h2 em{font-style:normal;color:var(--blue)}\\n.hk-lead{font-size:20px;line-height:1.55;color:var(--body);max-width:680px;margin-top:26px}\\n.hk-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}\\n.hk-split .txt p{font-size:18px;line-height:1.65;color:var(--body)}\\n.hk-split .txt p+p{margin-top:18px}\\n.hk-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink)}\\n.hk-link i{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px}\\n.hk-link:hover{color:var(--blue-d)}\\n.hk-wide{margin-top:64px;border-radius:28px;overflow:hidden;aspect-ratio:21/9}\\n.hk-wide img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(21,23,28,.04),0 16px 40px rgba(21,23,28,.06);padding:34px 30px;text-decoration:none;display:flex;flex-direction:column}\\n.hk-card h3{font-size:23px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;line-height:1.15}\\n.hk-card p{font-size:16px;line-height:1.6;color:var(--body)}\\n.hk-card .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);margin-bottom:12px}\\na.hk-card:hover{border-color:rgba(13,168,244,.5)}\\n.hk-ico{width:44px;height:44px;border-radius:12px;background:rgba(13,168,244,.10);display:grid;place-items:center;margin-bottom:26px;flex:none}\\n.hk-ico svg{width:22px;height:22px;stroke:var(--blue-d);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\\n.hk-grid{display:grid;gap:20px;margin-top:60px}\\n.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}\\n.hk-card ul{list-style:none;padding:0;margin:20px 0 26px;border-top:1px solid var(--line)}\\n.hk-card li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;color:var(--ink)}\\n.hk-card li::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}\\n.hk-card .hk-link{margin-top:auto;padding-top:6px}\\n.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}\\n.hk-chips span,.hk-chips a{font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none}\\n.hk-chips.big span,.hk-chips.big a{font-size:18px;padding:14px 22px}\\n.hk-chips a:hover{border-color:var(--blue);color:var(--blue-d)}\\n\\n/* stats */\\n.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}\\n.hk-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px}\\n.hk-stat b{display:block;font-size:clamp(44px,4.6vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}\\n.hk-stat b span{color:var(--blue)}\\n.hk-stat b.w{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.04em}\\n.hk-stat p{margin-top:16px;font-size:15px;line-height:1.5;color:var(--body)}\\n\\n/* photo panel */\\n.hk-panel{position:relative;border-radius:28px;overflow:hidden;min-height:600px;margin:130px 16px 0;color:#fff;display:flex;align-items:flex-end;padding:56px}\\n.hk-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-panel::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,21,.84) 0%,rgba(10,14,21,.45) 58%,rgba(10,14,21,.1) 100%)}\\n.hk-panel-in{position:relative;z-index:1;max-width:680px;margin-left:max(0px,calc((100vw - 1200px)/2 + 16px))}\\n.hk-panel .hk-lbl{color:rgba(255,255,255,.75)}\\n.hk-panel h2{font-size:clamp(38px,4.8vw,72px);line-height:.98;font-weight:700;letter-spacing:-.045em}\\n.hk-panel h2 em{font-style:normal;color:var(--blue)}\\n.hk-panel p{font-size:18px;line-height:1.6;opacity:.92;margin-top:18px}\\n\\n/* dark band */\\n.hk-dark{background:var(--night);color:#fff;border-radius:28px;margin:130px 16px 0;padding:120px 0}\\n.hk-dark .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-dark .hk-lead{color:rgba(255,255,255,.7)}\\n.hk-steps{display:grid;gap:16px;margin-top:60px}\\n.hk-step{background:#141A24;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 30px}\\n.hk-step .n{font-size:68px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--blue);display:block;margin-bottom:38px}\\n.hk-step h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}\\n.hk-step p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}\\n\\n/* reviews */\\n.hk-rev{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:60px}\\n.hk-revphoto{border-radius:24px;overflow:hidden;position:relative;min-height:380px;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}\\n.hk-revphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\\n.hk-revphoto::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,21,0) 35%,rgba(10,14,21,.78) 100%)}\\n.hk-revphoto>*:not(img){position:relative;z-index:1}\\n.hk-stars{color:#FFC94A;font-size:20px;letter-spacing:2px}\\n.hk-revphoto b{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;display:block;margin:6px 0 4px}\\n.hk-quote p{font-size:18px;line-height:1.6;color:var(--ink)}\\n.hk-quote .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:15px;font-weight:600}\\n.hk-quote .who span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}\\n.hk-quote blockquote{margin-bottom:24px}\\n\\n/* gallery */\\n.hk-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}\\n.hk-gal figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5}\\n.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:auto}\\n.hk-gal img{width:100%;height:100%;object-fit:cover;display:block}\\n.hk-gal figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;color:#fff}\\n\\n/* faq */\\n.hk-faq{margin-top:56px;border-top:1px solid var(--line)}\\n.hk-faq details{border-bottom:1px solid var(--line)}\\n.hk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:clamp(19px,1.9vw,26px);font-weight:600;letter-spacing:-.02em}\\n.hk-faq summary::-webkit-details-marker{display:none}\\n.hk-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,28,.18);display:grid;place-items:center;font-style:normal;font-size:20px;font-weight:400;transition:transform .3s,background .3s}\\n.hk-faq details[open] summary i{transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff}\\n.hk-faq details>div{font-size:18px;line-height:1.65;color:var(--body);max-width:780px;padding:0 0 28px}\\n.hk-faq details>div a{font-weight:600;color:var(--blue-d);text-decoration:none;margin-left:6px}\\n\\n/* contact block */\\n.hk-contact{background:var(--ink);color:#fff;border-radius:28px;margin:130px 16px 0;padding:110px 0}\\n.hk-contact .hk-lbl{color:rgba(255,255,255,.55)}\\n.hk-contact .hk-h2{color:#fff}\\n.hk-contact .hk-lead{color:rgba(255,255,255,.72);font-size:18px}\\n.hk-cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}\\n.hk-rows{border-top:1px solid rgba(255,255,255,.12)}\\n.hk-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}\\n.hk-row small{font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);padding-top:3px;text-transform:uppercase}\\n.hk-row span,.hk-row a{font-size:17px;line-height:1.5;text-decoration:none}\\n.hk-row a:hover{color:var(--blue)}\\n.hk-contact .hk-btns{margin-top:36px}\\n\\n/* blog / article helpers */\\n.hk-band{background:#fff;border:1px solid var(--line);border-radius:28px;margin:130px 16px 0;padding:100px 0}\\n.hk-band .hk-stat{background:#EEF0F5;border-color:transparent}\\n\\n\\n/* hover: blue text + a blue beam of light that travels around the outline */\\n@property --hk-a{syntax:\\'<angle>\\';initial-value:0deg;inherits:false}\\n@keyframes hk-beam{to{--hk-a:360deg}}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span{position:relative}\\n.hk-pill,.hk-cta,.hk-chips a,.hk-chips span,.hk-badge{transition:color .25s,border-color .25s,transform .25s}\\n.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;\\n  background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);\\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);\\n  opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk-pill:hover::after,.hk-cta:hover::after,.hk-chips a:hover::after,.hk-chips span:hover::after,.hk-badge:hover::after{opacity:1;animation-play-state:running}\\n.hk-pill.plain:hover,.hk-cta:hover,.hk-chips a:hover,.hk-chips span:hover,.hk-badge:hover b,.hk-badge:hover li{color:var(--blue)!important}\\n.hk-chips a:hover,.hk-chips span:hover{transform:translateY(-2px)}\\n.hk-nav.solid .hk-cta:hover{color:#fff!important}\\n.hk-pill.solid::after{inset:-3px}\\n@media (prefers-reduced-motion:reduce){.hk-pill::after,.hk-cta::after,.hk-chips a::after,.hk-chips span::after,.hk-badge::after{animation:none;background:#0DA8F4}}\\n\\n@media (max-width:1180px){.hk-menu>li>a{padding:10px 7px}.hk-tel{display:none}}\\n@media (max-width:960px){\\n  .hk-menu,.hk-tel,.hk-nav>.hk-cta{display:none}\\n  .hk-burger{display:block;position:relative}\\n  .hk-nav.solid{padding:16px 20px}\\n}\\n@media (max-width:900px){\\n  .hk-frame,.hk-frame.sub{aspect-ratio:auto;height:92svh;min-height:640px;max-height:820px;border-radius:0 0 22px 22px}\\n  .hk-photo-wrap img{object-position:center center}\\n  .hk-badge{display:none}.hk-trustw{display:block}\\n  .hk-logo img{height:19px}\\n  .hk-copy{right:20px;max-width:none;bottom:28px}\\n  .hk-copy h1,.hk-frame.sub .hk-copy h1{font-size:40px}\\n  .hk-w{padding:0 20px}\\n  .hk-sec{padding-top:72px}.hk-sec.last{padding-bottom:72px}\\n  .hk-split,.hk-cgrid{grid-template-columns:1fr;gap:26px}\\n  .g2,.g3,.g4,.hk-rev,.hk-stats{grid-template-columns:1fr}\\n  .hk-steps{grid-template-columns:1fr!important}\\n  .hk-gal{grid-template-columns:1fr 1fr}.hk-gal figure:nth-child(1),.hk-gal figure:nth-child(6){grid-column:span 2;aspect-ratio:16/10}\\n  .hk-wide{aspect-ratio:4/3;margin-top:40px;border-radius:22px}\\n  .hk-panel{margin:72px 10px 0;padding:28px;min-height:540px}.hk-panel-in{margin-left:0}\\n  .hk-dark,.hk-contact,.hk-band{margin:72px 10px 0;padding:72px 0}\\n  .hk-step .n{font-size:50px;margin-bottom:18px}\\n  .hk-card{padding:28px 24px}\\n  .hk-chips span,.hk-chips a,.hk-chips.big span,.hk-chips.big a{font-size:15px;padding:11px 16px}\\n  .hk-row{grid-template-columns:1fr;gap:4px}\\n  .hk-pill{height:50px;font-size:14px}\\n}\\n@media (prefers-reduced-motion:reduce){.hk-faq summary i,.hk-drop{transition:none}}\\n\\n/* glass dropdown menus */\\n.hk .hk-drop{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),rgba(12,18,28,.34);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 50px rgba(10,14,21,.30)}\\n.hk .hk-drop a{color:#fff}\\n.hk .hk-drop a:hover{background:rgba(255,255,255,.16);color:var(--blue)}\\n.hk .hk-drop .all{color:var(--blue)}\\n.hk .hk-nav.solid .hk-drop{background:rgba(14,19,28,.66);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(10,14,21,.35)}\\n.hk .hk-stickybar .hk-nav.solid .hk-drop{background:linear-gradient(180deg,rgba(38,44,56,.90),rgba(24,28,36,.88))}\\n/* hover beam on linked cards (area cards) */\\n.hk a.hk-card{position:relative;transition:border-color .25s}\\n.hk a.hk-card::after{content:\"\";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;background:conic-gradient(from var(--hk-a),transparent 0deg 210deg,rgba(13,168,244,.35) 260deg,#0DA8F4 320deg,#D6F3FF 350deg,#0DA8F4 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .25s;animation:hk-beam 3.6s linear infinite;animation-play-state:paused}\\n.hk a.hk-card:hover::after{opacity:1;animation-play-state:running}\\n.hk a.hk-card:hover h3{color:var(--blue-d)}\\n@media (prefers-reduced-motion:reduce){.hk a.hk-card::after{animation:none;background:#0DA8F4}}\\n\\n/* press feedback: lift on hover, sink on click, spring back on release */\\n.hk a,.hk button,.hk summary{-webkit-tap-highlight-color:transparent}\\n.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-burger summary{transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s,filter .2s,transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform}\\n.hk .hk-pill .dot{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}\\n.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover{transform:translateY(-2px)}\\n.hk .hk-pill:hover .dot{transform:translateX(3px)}\\n.hk .hk-pill.solid:hover{box-shadow:0 16px 38px rgba(13,168,244,.48)}\\n.hk .hk-pill.ink:hover{box-shadow:0 14px 32px rgba(21,23,28,.28)}\\n.hk a.hk-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,23,28,.05),0 24px 54px rgba(21,23,28,.10)}\\n.hk .hk-pill:active,.hk .hk-cta:active,.hk .hk-chips a:active{transform:translateY(1px) scale(.96);transition-duration:.08s;transition-timing-function:ease-out}\\n.hk .hk-pill:active .dot{transform:translateX(1px) scale(.92);transition-duration:.08s}\\n.hk .hk-pill.solid:active,.hk .hk-cta:active{background:var(--blue-d);box-shadow:inset 0 2px 6px rgba(0,0,0,.18),0 4px 12px rgba(13,168,244,.30)}\\n.hk .hk-pill.ink:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 3px 10px rgba(21,23,28,.25)}\\n.hk .hk-pill.plain:active{box-shadow:inset 0 2px 10px rgba(0,0,0,.28)}\\n.hk a.hk-card:active{transform:translateY(0) scale(.985);transition-duration:.1s;transition-timing-function:ease-out;box-shadow:0 1px 2px rgba(21,23,28,.05),0 8px 20px rgba(21,23,28,.07)}\\n.hk .hk-burger summary:active{transform:scale(.9);transition-duration:.08s}\\n.hk .hk-drop a,.hk .hk-mpanel a,.hk .hk-faq summary{transition:background-color .15s,color .2s,transform .2s}\\n.hk .hk-drop a:active,.hk .hk-mpanel a:active{transform:scale(.97);background:rgba(13,168,244,.18)}\\n.hk .hk-faq summary:active{transform:scale(.995)}\\n.hk .hk-pill:focus-visible,.hk .hk-cta:focus-visible,.hk .hk-chips a:focus-visible,.hk a.hk-card:focus-visible,.hk .hk-drop a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\\n@media (hover:none){.hk .hk-pill:hover,.hk .hk-cta:hover,.hk .hk-chips a:hover,.hk a.hk-card:hover{transform:none}.hk .hk-pill:hover .dot{transform:none}}\\n@media (prefers-reduced-motion:reduce){.hk .hk-pill,.hk .hk-cta,.hk .hk-chips a,.hk a.hk-card,.hk .hk-pill .dot{transition:color .2s,background-color .2s,filter .2s;transform:none!important}}\\n\\n.hk-foot{background:var(--night);color:#fff;border-radius:28px;margin:16px 16px 0;padding:90px 0 40px}\\n.hk-foot .top{display:grid;grid-template-columns:1.3fr 2fr;gap:64px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .brand img{height:26px;display:block}\\n.hk-foot .brand h2{font-size:clamp(28px,2.6vw,40px);line-height:1.05;font-weight:700;letter-spacing:-.035em;margin-top:28px;max-width:440px}\\n.hk-foot .brand h2 em{font-style:normal;color:var(--blue)}\\n.hk-foot .brand .hk-btns{margin-top:30px}\\n.hk-foot .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}\\n.hk-foot h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}\\n.hk-foot ul{list-style:none;padding:0}\\n.hk-foot li a{display:block;padding:6px 0;color:rgba(255,255,255,.85);text-decoration:none;font-size:15px}\\n.hk-foot li a:hover,.hk-foot .info a:hover{color:var(--blue)}\\n.hk-foot .info{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.1)}\\n.hk-foot .info small{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}\\n.hk-foot .info span,.hk-foot .info a{font-size:15px;line-height:1.55;color:#fff;text-decoration:none}\\n.hk-foot .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;font-size:13px;color:rgba(255,255,255,.55)}\\n.hk-foot .legal b{color:#fff;font-weight:600}\\n.hk-foot .hk-rvg{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;opacity:.85;transition:opacity .2s ease}.hk-foot .hk-rvg:hover{opacity:1}.hk-foot .hk-rvg img{height:14px;width:auto;max-width:none;display:block}.hk-foot .hk-rvg i{width:1px;height:17px;background:#6ba3be;display:block}.hk-foot .legal .hk-rvg{margin-top:6px}.hk-foot .hk-rvg span{font-size:9.5px;font-weight:500;letter-spacing:.3em;line-height:1;white-space:nowrap;color:#fff}\\n@media (max-width:900px){.hk-foot{margin:10px 10px 0;padding:60px 0 32px}.hk-foot .top{grid-template-columns:1fr;gap:40px}.hk-foot .cols{grid-template-columns:1fr 1fr}.hk-foot .info{grid-template-columns:1fr 1fr}}\\n.hk-foot .fam{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;margin-top:24px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}.hk-foot .fam a{opacity:.85;transition:opacity .2s ease}.hk-foot .fam a:hover{opacity:1}.hk-foot .fam a:active{transform:translateY(1px) scale(.97);transition-duration:.08s;transition-timing-function:ease-out}.hk-foot .fam .hk-hard img{height:22px;width:auto;display:block}@media (max-width:620px){.hk-foot .fam{gap:10px}.hk-foot .fam .hk-hard img{height:17px}.hk-foot .fam .hk-rvg img{height:11px}.hk-foot .fam .hk-rvg span{font-size:8px;letter-spacing:.18em}}</style>\\n<div class=\"hk\"><footer class=\"hk-foot\"><div class=\"hk-w\"><div class=\"top\"><div class=\"brand\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"><h2>Quality. Service. Integrity. <em>Family-owned in Phoenix since 1943.</em></h2><div class=\"hk-btns\"><a class=\"hk-pill solid\" href=\"/contact\"><span class=\"dot\">&rarr;</span>Get a quote</a><a class=\"hk-pill plain hk-glass\" href=\"tel:6023588458\">(602) 358-8458</a></div></div><div class=\"cols\"><div><h4>Services</h4><ul><li><a href=\"/residential\">Residential</a></li><li><a href=\"/roof-repair\">Roof Repair</a></li><li><a href=\"/roof-replacement\">Roof Replacement</a></li><li><a href=\"/tile-roofing\">Tile</a></li><li><a href=\"/clay-roofing\">Clay</a></li><li><a href=\"/shingle-roofing\">Shingle</a></li><li><a href=\"/metal-roofing\">Metal</a></li><li><a href=\"/flat-roofing\">Flat &amp; Foam</a></li><li><a href=\"/custom-homes\">Custom Homes</a></li><li><a href=\"/tract-homes\">Tract Homes</a></li><li><a href=\"/commercial\">Commercial</a></li></ul></div><div><h4>Service Areas</h4><ul><li><a href=\"/neighborhoods/phoenix-az\">Phoenix</a></li><li><a href=\"/neighborhoods/scottsdale-az\">Scottsdale</a></li><li><a href=\"/neighborhoods/paradise-valley-az\">Paradise Valley</a></li><li><a href=\"/neighborhoods/fountain-hills-az\">Fountain Hills</a></li><li><a href=\"/neighborhoods/cave-creek-carefree-az\">Cave Creek &amp; Carefree</a></li><li><a href=\"/neighborhoods/mesa-az\">Mesa</a></li><li><a href=\"/neighborhoods/gilbert-az\">Gilbert</a></li><li><a href=\"/neighborhoods/chandler-az\">Chandler</a></li><li><a href=\"/neighborhoods/glendale-az\">Glendale</a></li><li><a href=\"/neighborhoods/peoria-az\">Peoria</a></li><li><a href=\"/neighborhoods\">All areas →</a></li></ul></div><div><h4>Company</h4><ul><li><a href=\"/about\">About</a></li><li><a href=\"/process\">Our Process</a></li><li><a href=\"/faq\">FAQ</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/contact\">Contact</a></li></ul></div></div></div><div class=\"info\"><div><small>Call</small><a href=\"tel:6023588458\">602-358-8458</a></div><div><small>Email</small><a href=\"mailto:hardackerroofingaz@gmail.com\">hardackerroofingaz@gmail.com</a></div><div><small>Visit</small><span>2450 E Bell Rd<br>Phoenix, AZ 85032</span></div><div><small>Hours</small><span>Mon–Thu 8:00a–4:00p<br>Fri 8:00a–3:30p \\xb7 Sat–Sun Closed</span></div></div><div class=\"legal\"><span>\\xa9 2026 Hardacker Roofing. All rights reserved. \\xb7 Licensed &amp; Insured \\xb7 AZ ROC #354850 \\xb7 #209598</span><span><b>Family-owned in Phoenix</b> \\xb7 three generations since 1943</span></div><div class=\"fam\"><a class=\"hk-rvg\" href=\"https://www.revelvg.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Venture Group\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>VENTURE GROUP</span></a><a class=\"hk-hard\" href=\"/\" aria-label=\"Hardacker Roofing\"><img src=\"https://framerusercontent.com/images/WF6Lws7ddGsrEwBAAwQZ7Ru9IA.png\" alt=\"Hardacker Roofing\"></a><a class=\"hk-rvg\" href=\"https://www.revelroofs.com/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Revel Roofing\"><img src=\"https://framerusercontent.com/images/9VLbfQj1xat95ZLFBYcfL4QpzY.png\" alt=\"Revel\"><i></i><span>ROOFING</span></a></div></div></footer></div>\\n',id:\"fodB1WWWB\",layoutId:\"fodB1WWWB\",name:\"Footer Embed\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"xik6iJOky\":{\"layout\":[\"fixed\",\"fixed\"]},\"jZe3iAY54\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"HEQh30DNo\":[\".framer-78mrkk-container\",\".framer-ppt4qk-container\",\".framer-1osvtm4-container\"],\"xik6iJOky\":[\".framer-78mrkk-container\",\".framer-ppt4qk-container\",\".framer-1osvtm4-container\"],\"jZe3iAY54\":[\".framer-78mrkk-container\",\".framer-ppt4qk-container\",\".framer-1osvtm4-container\"]}\n * @framerBreakpoints {\"HEQh30DNo\":{\"min\":1200,\"canvasClassName\":\"framer-n2kji9-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"xik6iJOky\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-e2syo6-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"jZe3iAY54\":{\"max\":809,\"canvasClassName\":\"framer-16op4y7-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant HEQh30DNo\n * @framerLayoutTemplate true\n */const FramerlwlJzNbPn=withCSS(Component,css,\"framer-qIYjW\");export default FramerlwlJzNbPn;FramerlwlJzNbPn.displayName=\"Tract Homes Layout\";FramerlwlJzNbPn.defaultProps={height:1e3,width:1200};addFonts(FramerlwlJzNbPn,[{explicitInter:true,fonts:[]},...EmbedFonts,...StickyRevealFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerlwlJzNbPn\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"xik6iJOky\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"jZe3iAY54\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1000\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerHitTargets\":\"{\\\"HEQh30DNo\\\":[\\\".framer-78mrkk-container\\\",\\\".framer-ppt4qk-container\\\",\\\".framer-1osvtm4-container\\\"],\\\"xik6iJOky\\\":[\\\".framer-78mrkk-container\\\",\\\".framer-ppt4qk-container\\\",\\\".framer-1osvtm4-container\\\"],\\\"jZe3iAY54\\\":[\\\".framer-78mrkk-container\\\",\\\".framer-ppt4qk-container\\\",\\\".framer-1osvtm4-container\\\"]}\",\"framerBreakpoints\":\"{\\\"HEQh30DNo\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-n2kji9-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"xik6iJOky\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-e2syo6-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"jZe3iAY54\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-16op4y7-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerDefaultVariant\":\"HEQh30DNo\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport CustomHomesLayout from \"https://framerusercontent.com/modules/BoDITlrftaXegzshER9g/N6pMopd00KvYXOjtUSvD/jvpUgmxek.js\";\r\nimport HomeLayout from \"https://framerusercontent.com/modules/i5Z2L1iaSwCiJEmnGNyi/PkoN2FbSyAUHBtg6pHu9/p3MiPHEmp.js\";\r\nimport TractHomesLayout from \"https://framerusercontent.com/modules/tTz0Xt7hNdzyK5NPAnK0/dUW5t42P7B5DMybMzHvV/lwlJzNbPn.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/1OEfvaDbX1mDmjoC3NJ8/UOLIk3EdosH9QTtbV0fM/augiA20Il.js\")), path: \"/\"}, nICzP9KYP: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/LNqpuK82IXWmt3zq3fD2/F22Mg6L1hhquWaslQWT6/nICzP9KYP.js\")), path: \"/custom-homes\"}, Bq7p8qnl3: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vIpvl0zqXQqpB2x8T86q/IbUAWRb0ZENVbKG6mcTE/Bq7p8qnl3.js\")), path: \"/tract-homes\"}, yXVr7ivL6: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tJC0UEasEAHheXB20PTQ/mTjvBRWYcz2qPNPuSaBw/yXVr7ivL6.js\")), path: \"/roof-repair\"}, bbLBqr2Ud: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/wB1mVyKz0XadwWfymizb/HDsjg9F7eQpRVIaPjP6G/bbLBqr2Ud.js\")), path: \"/blog\"}, jtkPPOgO9: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/LCw7iyd0Y0jc4yYwUfkL/FEkWW9dWWzkT2J9XjgBs/jtkPPOgO9.js\")), path: \"/neighborhoods\"}, zY6HJwD5A: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/AhWLcGkAXtkds5joEVDy/FSr5052IkRbAS8i5R4wd/zY6HJwD5A.js\")), path: \"/commercial\"}, EwBiF4xFg: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7wGywYkOiZclyguvQUNY/1gNJVyIgMSSaV1XUDz47/EwBiF4xFg.js\")), path: \"/residential\"}, bnDN3CIVF: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Eb3jPIVBr9xsXrQCnR1h/lVQB63lDyDvKQh6j4449/bnDN3CIVF.js\")), path: \"/about\"}, JzdQcNQRu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/6UVx9oWMlQxGUaqbLNUV/dYxL7ZxpHr98WDiZMERW/JzdQcNQRu.js\")), path: \"/process\"}, UE8Ub8pPQ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/w7PFnCmy6PgSPuf9wN1q/AN3AWYdihjlnhirzBxNT/UE8Ub8pPQ.js\")), path: \"/faq\"}, EWSG8d65q: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/P0UdrYI3287bAJEExv2T/cNwFOI8AMbpMYIUYQ7ik/EWSG8d65q.js\")), path: \"/contact\"}, TVwMehLME: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/DXivnC4xMWULImmY4WDs/2evzrtuyM8r1GtgZ9fpB/TVwMehLME.js\")), path: \"/roof-replacement\"}, kparCL6XR: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Hr0dHqu4ke6uLjyfYico/eTsZa9eZarJ9PwBWM2na/kparCL6XR.js\")), path: \"/metal-roofing\"}, ofmyXIZZZ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/SpxQZ9cJ6tPe8z5MZlfS/lEdTwuyKASiBJptEjy6R/ofmyXIZZZ.js\")), path: \"/shingle-roofing\"}, ijSs7hcMs: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/B0YQaOYfhuG8uEJe1ACF/O4v0gN1CqigDnVaU7YF1/ijSs7hcMs.js\")), path: \"/tile-roofing\"}, Is2GnbECk: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/XfohthSSbyzJbxVcHCCS/ovY0UeVFbDIg8DVshUqu/Is2GnbECk.js\")), path: \"/flat-roofing\"}, mMChYG83P: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/476eZdOMsZpbgnLr30ag/OYJdu6gfkqkwPtMdiI73/mMChYG83P.js\")), path: \"/clay-roofing\"}, tx7CKlMm7: {collectionId: \"WMxxordNI\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/rRcmhXe1rP7FXZ6SWJrY/kSslwKXaL3wWgB9MnTeD/tx7CKlMm7.js\")), path: \"/blog/:dzVFK01Fq\"}, njc6kAtX5: {collectionId: \"R8wrKk5wb\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pFVPxqJPd82JJQSrPt24/K5iAD12MWRJqp3ADMAS4/njc6kAtX5.js\")), path: \"/neighborhoods/:jD_z7wige\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {R8wrKk5wb: async () => (await import(\"https://framerusercontent.com/modules/QWmcStqnXPouWPuy7YQu/xkWBiD2vyMYOLdqYdwwF/R8wrKk5wb.js\"))?.[\"utils\"], WMxxordNI: async () => (await import(\"https://framerusercontent.com/modules/aXSqkpQVyTyM42CbCDAI/PDPLCWNRmfsVRSzz9Jqb/WMxxordNI.js\"))?.[\"utils\"]}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"ae1af3256716ee7184cc7e2f175ca986712bcffadea187f60484848850f04959\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\nreturn React.createElement(HomeLayout, {...props, key: \"HomeLayout\", style}, children(true));\r\ncase \"nICzP9KYP\":\r\nreturn React.createElement(CustomHomesLayout, {...props, key: \"CustomHomesLayout\", style}, children(true));\r\ncase \"Bq7p8qnl3\":\r\ncase \"yXVr7ivL6\":\r\ncase \"bbLBqr2Ud\":\r\ncase \"jtkPPOgO9\":\r\ncase \"zY6HJwD5A\":\r\ncase \"EwBiF4xFg\":\r\ncase \"bnDN3CIVF\":\r\ncase \"JzdQcNQRu\":\r\ncase \"UE8Ub8pPQ\":\r\ncase \"EWSG8d65q\":\r\ncase \"TVwMehLME\":\r\ncase \"kparCL6XR\":\r\ncase \"ofmyXIZZZ\":\r\ncase \"ijSs7hcMs\":\r\ncase \"Dwd3tdd_H\":\r\ncase \"Is2GnbECk\":\r\ncase \"mMChYG83P\":\r\ncase \"tx7CKlMm7\":\r\ncase \"njc6kAtX5\":\r\nreturn React.createElement(TractHomesLayout, {...props, key: \"TractHomesLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\nreturn [{hash: \"1jt6vtr\", mediaQuery: \"(max-width: 809.98px)\"}, {hash: \"2h93ew\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"12x44jp\", mediaQuery: \"(min-width: 1200px)\"}]\r\ncase \"nICzP9KYP\":\r\nreturn [{hash: \"4c7ll3\", mediaQuery: \"(max-width: 809.98px)\"}, {hash: \"47e28o\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"1lz6768\", mediaQuery: \"(min-width: 1200px)\"}]\r\ncase \"Bq7p8qnl3\":\r\ncase \"yXVr7ivL6\":\r\ncase \"bbLBqr2Ud\":\r\ncase \"jtkPPOgO9\":\r\ncase \"zY6HJwD5A\":\r\ncase \"EwBiF4xFg\":\r\ncase \"bnDN3CIVF\":\r\ncase \"JzdQcNQRu\":\r\ncase \"UE8Ub8pPQ\":\r\ncase \"EWSG8d65q\":\r\ncase \"TVwMehLME\":\r\ncase \"kparCL6XR\":\r\ncase \"ofmyXIZZZ\":\r\ncase \"ijSs7hcMs\":\r\ncase \"Dwd3tdd_H\":\r\ncase \"Is2GnbECk\":\r\ncase \"mMChYG83P\":\r\ncase \"tx7CKlMm7\":\r\ncase \"njc6kAtX5\":\r\nreturn [{hash: \"16op4y7\", mediaQuery: \"(max-width: 809.98px)\"}, {hash: \"e2syo6\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"n2kji9\", mediaQuery: \"(min-width: 1200px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://www.hardackerroofing.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/giOGi69u4tlPRlapomHw/Oki69cJNgNvDemdnNCzv/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}