{"version":3,"file":"shared.Cs2YbZVD.mjs","names":["fonts","css","className","getProps","Icon","React.forwardRef","fonts","css","className","addPropertyOverrides","ArrowRight","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","Link","RichText","sharedStyle.css","sharedStyle.fonts","__FramerMetadata__","useId","useRef","OCIPNativeReact.useSyncExternalStore","OCIPNativeFramerLink","React.useState","React.useRef","fonts","css","className","fonts","css","className","Button","ButtonInfo","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","Link","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","Children","useRef","useId","useMemo","useState","isList","MarketplaceFAQ","useRef","useId","useSyncExternalStore","FramerLink","React.useContext","React.useRef","_Fragment","p","React.Fragment","c","CSS","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className"],"sources":["https:/framerusercontent.com/modules/bL0nA38lgOcE8nzxe5WN/vUMDIFb7HDbNC6pLsZw7/H7VZcC1WO.js","https:/framerusercontent.com/modules/4G0pHPXdxDC0q34eFfFr/oq0PkaqnOfre09AZeL9M/gXjG4ReaI.js","https:/framerusercontent.com/modules/elNO1JnOXxEQ5BizzowI/vlN6LHFJ28ul3IECoqq0/QfQP0gIXU.js","https:/framerusercontent.com/modules/xk7LtyonEvcS2KSBN4IE/41QB2DWSn5EyPh7UThUk/XfYeu5py0.js","https:/framerusercontent.com/modules/fJBSH3yVOQQrM3RSTdWU/degMahwx4X0l8VII6lgI/BrandMark.js","https:/framerusercontent.com/modules/7ACRIwZPJT8eZQZc39ib/OcEgIgMHmfOTAc3grgrf/Interactions.js","https:/framerusercontent.com/modules/EPfbDSmpzehuBDQFC1xH/oamVmb9JKx3EkG4UkEih/OCIPThemeSwitch.js","https:/framerusercontent.com/modules/wm8abjRxP4A2NlHYR8J7/dEuWHWs8y8qe6dqYINou/k9gSA62CF.js","https:/framerusercontent.com/modules/w5epRMwRg1wIQXx4QWFo/571ryj8796VHXSiATAf1/V5ojAPW64.js","https:/framerusercontent.com/modules/tXOiJChJry01UpbClC3q/TXbHYiafdBNaMD7X064E/xXWIbXPT7.js","https:/framerusercontent.com/modules/k1usDZVbPGGb6MwXSsed/GGsGcHV9htEwYIUYXwvp/SEO_FAQ.js","https:/framerusercontent.com/modules/t9bKdY8yRrRz2YhWW2Q6/EUOQUqIZT7BrCqPOTdWZ/OCIPFAQ.js","https:/framer.com/m/OCIPFAQ-nikzn5.js@EUOQUqIZT7BrCqPOTdWZ","https:/framerusercontent.com/modules/SOFqw8s5omkL0J1NksXh/hRNxDXsN9IyCx9PtUq1c/OCIPGHLForm.js","https:/framer.com/m/OCIPGHLForm-esYy6b.js@hRNxDXsN9IyCx9PtUq1c","https:/framerusercontent.com/modules/NK6BT1uiPc03FLqJRidf/zCenEJT1RmG0G8BYqPFs/OCIPPageSection.js","https:/framerusercontent.com/modules/irgVIX9wFiiqRjtj1Trl/WCLiGxOt1F1Gk20vUVDV/fvAX_mVI6.js","https:/framerusercontent.com/modules/vBTFw9asxTgTzPtp2SP4/ZkfG68XABfdYXWJd31Wv/JyMPfJ206.js","https:/framerusercontent.com/modules/3ScdU5eNbkrZOYxAghDw/UpCxBMsISB1KR1ZIAiIe/l9PDCXHJ0.js","https:/framerusercontent.com/modules/qbh2abzPOdAr5b9IlGY2/4doBywlcgSiew2nccWKy/LTCFOqRhx.js","https:/framerusercontent.com/modules/hPOM7k32LSQOfU9RluEH/IJRkvGdNuGx7pZLTLCCn/QivWqParE.js","https:/framerusercontent.com/modules/CkWJy07riWueu6KiyBoW/uXp4ggh2wF4kl4fHpilV/WAwP_xva6.js"],"sourcesContent":["// Generated by Framer (3db8496)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;JetBrains Mono-medium\",\"FS;JetBrains Mono-bold\",\"FS;JetBrains Mono-bold italic\",\"FS;JetBrains Mono-medium italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/WAVZNL4Z7TESTS4B4IIRZFODLSPP6FXA/E36Y7HT2GFM2VKF4G73CRBOSSERR73SW/33ZCUAC3GU2QVDMGY6EP3BNWHET5IUK4.woff2\",weight:\"500\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/BTOY6STFL42WXJYET4IAFJ4R4NWQMPYV/SIRJV64UEOICTYN5EECZFJJ3ML2D6HVV/ATU2C7QZBG7GCVXROP265OYM5E55WHMK.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4UER7KOM5ELODXZSILS67WJ47ZOE75JQ/6CQXJGOZP6EVG2LPOOVWXH2KM6JHNSRY/UTZ3OSIQCH2DNRJBPY7UY3LB6YDOZNJX.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/RYPPSTLQMV7DLOHH7PHCXPB6RLY42HYV/QCGHF55LMKJRYMLPWIC5T6ELCTX2YYRJ/YKQ7PORZM5DHBJRQMTFVQEHVSJOEFFJ5.woff2\",weight:\"500\"}]}];export const css=['.framer-ymtwj .framer-styles-preset-1yahxhl:not(.rich-text-wrapper), .framer-ymtwj .framer-styles-preset-1yahxhl.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-ymtwj .framer-styles-preset-1yahxhl:not(.rich-text-wrapper), .framer-ymtwj .framer-styles-preset-1yahxhl.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-ymtwj .framer-styles-preset-1yahxhl:not(.rich-text-wrapper), .framer-ymtwj .framer-styles-preset-1yahxhl.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 13px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-ymtwj\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 14 0\" fill=\"transparent\" height=\"1px\" id=\"h3fQSrHEV\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(5 12)\" width=\"14px\"/><path d=\"M 0 0 L 7 7 L 0 14\" fill=\"transparent\" height=\"14px\" id=\"DAe82Eor1\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(12 5)\" width=\"7px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"1175957644\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-SYorz\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-SYorz { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Right\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-SYorz\");Icon.displayName=\"Arrow Right\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Arrow Right\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3db8496)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;JetBrains Mono-regular\",\"FS;JetBrains Mono-bold\",\"FS;JetBrains Mono-bold italic\",\"FS;JetBrains Mono-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/TZ2PMVPWEVHUPJWOPNSWLOXAF6QPOEMZ/O4OZKA7ZLZGT4JOGT5IEKURK6U3RXYGM/EO5MKE3BUDOZN44BP4HDPXAJAC2BIMCD.woff2\",weight:\"400\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/BTOY6STFL42WXJYET4IAFJ4R4NWQMPYV/SIRJV64UEOICTYN5EECZFJJ3ML2D6HVV/ATU2C7QZBG7GCVXROP265OYM5E55WHMK.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4UER7KOM5ELODXZSILS67WJ47ZOE75JQ/6CQXJGOZP6EVG2LPOOVWXH2KM6JHNSRY/UTZ3OSIQCH2DNRJBPY7UY3LB6YDOZNJX.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4CLQH4JOZMAJ6BPWKUFRQYNRRCIRLEBP/3KY6UMEKQ554PCGWM3CWW3ONMSYQ3ELX/O32TDYA5Q7PAMBBEUNMO44BILZFPSQXN.woff2\",weight:\"400\"}]}];export const css=['.framer-xZD3M .framer-styles-preset-wgq5bz:not(.rich-text-wrapper), .framer-xZD3M .framer-styles-preset-wgq5bz.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.14em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-xZD3M .framer-styles-preset-wgq5bz:not(.rich-text-wrapper), .framer-xZD3M .framer-styles-preset-wgq5bz.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.14em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-xZD3M .framer-styles-preset-wgq5bz:not(.rich-text-wrapper), .framer-xZD3M .framer-styles-preset-wgq5bz.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 11px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.14em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-xZD3M\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (af78293)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import ArrowRight from\"https://framerusercontent.com/modules/4G0pHPXdxDC0q34eFfFr/oq0PkaqnOfre09AZeL9M/gXjG4ReaI.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/bL0nA38lgOcE8nzxe5WN/vUMDIFb7HDbNC6pLsZw7/H7VZcC1WO.js\";const ArrowRightFonts=getFonts(ArrowRight);const enabledGestures={AFwnHBTgY:{hover:true},aYy3PvLMc:{hover:true},DOErxrNPI:{hover:true},HFbTgvRLC:{hover:true},MfC0DCHlZ:{hover:true},Rcc2p9S9T:{hover:true}};const cycleOrder=[\"MfC0DCHlZ\",\"DOErxrNPI\",\"AFwnHBTgY\",\"HFbTgvRLC\",\"Rcc2p9S9T\",\"aYy3PvLMc\"];const serializationHash=\"framer-AcBTX\";const variantClassNames={AFwnHBTgY:\"framer-v-15y1vl9\",aYy3PvLMc:\"framer-v-1qfe3ch\",DOErxrNPI:\"framer-v-1u951ny\",HFbTgvRLC:\"framer-v-jgp5nq\",MfC0DCHlZ:\"framer-v-1nkgw2g\",Rcc2p9S9T:\"framer-v-by0eze\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const ES8q4HqzE=undefined;const Tke6UIO_i=undefined;const Cq_mjNB61=undefined;const EKsSRHfzp=undefined;const transition1={delay:0,duration:.48,ease:[.16,1,.3,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Accent Dark\":\"MfC0DCHlZ\",\"Accent Light\":\"AFwnHBTgY\",\"Ghost Dark\":\"DOErxrNPI\",\"Ghost Light\":\"HFbTgvRLC\",\"Nav Dark\":\"Rcc2p9S9T\",\"Nav Light\":\"aYy3PvLMc\"};const Variants=motion.create(React.Fragment);const getProps=({arrow,height,id,label,link,openInNewTab,width,...props})=>{return{...props,Cq_mjNB61:label??props.Cq_mjNB61??\"Button\",EKsSRHfzp:arrow??props.EKsSRHfzp??false,ES8q4HqzE:link??props.ES8q4HqzE,Tke6UIO_i:openInNewTab??props.Tke6UIO_i??false,variant:humanReadableVariantMap[props.variant]??props.variant??\"MfC0DCHlZ\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};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 componentViewport=useComponentViewport();const{style,className,layoutId,variant,Cq_mjNB61,ES8q4HqzE,EKsSRHfzp,Tke6UIO_i,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"MfC0DCHlZ\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:ES8q4HqzE,motionChild:true,nodeId:\"MfC0DCHlZ\",openInNewTab:Tke6UIO_i,scopeId:\"XfYeu5py0\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1nkgw2g\",className,classNames)} framer-111uk2g`,\"data-framer-name\":\"Accent Dark\",layoutDependency:layoutDependency,layoutId:\"MfC0DCHlZ\",ref:refBinding,style:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999,boxShadow:\"none\",...style},variants:{\"MfC0DCHlZ-hover\":{boxShadow:\"none\"},AFwnHBTgY:{boxShadow:\"none\"},aYy3PvLMc:{backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"inset 0px 0px 0px 1px var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},DOErxrNPI:{backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"inset 0px 0px 0px 1px rgba(245, 241, 234, 0.4)\"},HFbTgvRLC:{backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"inset 0px 0px 0px 1px var(--token-34de6aa1-1149-4dc6-af40-31c50878c1c6)\"},Rcc2p9S9T:{backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"inset 0px 0px 0px 1px var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"}},...addPropertyOverrides({\"AFwnHBTgY-hover\":{\"data-framer-name\":\"Accent Light Hover\"},\"aYy3PvLMc-hover\":{\"data-framer-name\":\"Nav Light Hover\"},\"DOErxrNPI-hover\":{\"data-framer-name\":\"Ghost Dark Hover\"},\"HFbTgvRLC-hover\":{\"data-framer-name\":\"Ghost Light Hover\"},\"MfC0DCHlZ-hover\":{\"data-framer-name\":\"Accent Dark Hover\"},\"Rcc2p9S9T-hover\":{\"data-framer-name\":\"Nav Dark Hover\"},AFwnHBTgY:{\"data-framer-name\":\"Accent Light\"},aYy3PvLMc:{\"data-framer-name\":\"Nav Light\"},DOErxrNPI:{\"data-framer-name\":\"Ghost Dark\"},HFbTgvRLC:{\"data-framer-name\":\"Ghost Light\"},Rcc2p9S9T:{\"data-framer-name\":\"Nav Dark\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1q2wpn7\",\"data-framer-name\":\"Wipe\",layoutDependency:layoutDependency,layoutId:\"Xpqrr3q33\",style:{backgroundColor:\"var(--token-98e0e140-7e0b-4afc-a771-70cd41303f63)\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},variants:{AFwnHBTgY:{backgroundColor:\"var(--token-07710a54-5870-4263-8a9f-b216e419fe4e)\"},aYy3PvLMc:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\"},DOErxrNPI:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\"},HFbTgvRLC:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\"},Rcc2p9S9T:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\"}}}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ngaubz\",\"data-framer-name\":\"Label Mask\",layoutDependency:layoutDependency,layoutId:\"u_3IlnKSx\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653))\"},children:\"Button\"})}),className:\"framer-1ul7cgh\",\"data-framer-name\":\"Label\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"aJ9LdaPOt\",style:{\"--extracted-r6o4lv\":\"var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653)\"},text:Cq_mjNB61,variants:{aYy3PvLMc:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},DOErxrNPI:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},HFbTgvRLC:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},Rcc2p9S9T:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({aYy3PvLMc:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:\"Button\"})})},DOErxrNPI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:\"Button\"})})},HFbTgvRLC:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:\"Button\"})})},Rcc2p9S9T:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:\"Button\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:\"Label\"})}),className:\"framer-ipelb2\",\"data-framer-name\":\"Label Roll\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"DDdILp0P7\",style:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},text:Cq_mjNB61,variants:{AFwnHBTgY:{\"--extracted-r6o4lv\":\"var(--token-217146e7-3ab1-4956-bf9e-d07298a6834a)\"},aYy3PvLMc:{\"--extracted-r6o4lv\":\"var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653)\"},DOErxrNPI:{\"--extracted-r6o4lv\":\"var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653)\"},HFbTgvRLC:{\"--extracted-r6o4lv\":\"var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653)\"},Rcc2p9S9T:{\"--extracted-r6o4lv\":\"var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"MfC0DCHlZ-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:\"Button\"})})},AFwnHBTgY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-217146e7-3ab1-4956-bf9e-d07298a6834a))\"},children:\"Button\"})})},aYy3PvLMc:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653))\"},children:\"Button\"})})},DOErxrNPI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653))\"},children:\"Button\"})})},HFbTgvRLC:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653))\"},children:\"Button\"})})},Rcc2p9S9T:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1yahxhl\",\"data-styles-preset\":\"H7VZcC1WO\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dacdc6cc-7e3d-47df-8ed0-b67c88818653))\"},children:\"Button\"})})}},baseVariant,gestureVariant)})]}),EKsSRHfzp!==false&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-w83hqa\",\"data-framer-name\":\"Arrow Box\",layoutDependency:layoutDependency,layoutId:\"suvGUtl_h\",children:/*#__PURE__*/_jsx(ArrowRight,{animated:true,className:\"framer-gifgk5\",layoutDependency:layoutDependency,layoutId:\"PsiV6xLwX\",style:{\"--1m973uw\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462, rgb(245, 241, 234))\",\"--js9iwy\":1.5},variants:{\"MfC0DCHlZ-hover\":{\"--1m973uw\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8, rgb(23, 19, 15))\"},AFwnHBTgY:{\"--1m973uw\":\"var(--token-217146e7-3ab1-4956-bf9e-d07298a6834a)\"},aYy3PvLMc:{\"--1m973uw\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8, rgb(23, 19, 15))\"},DOErxrNPI:{\"--1m973uw\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},HFbTgvRLC:{\"--1m973uw\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8, rgb(23, 19, 15))\"},Rcc2p9S9T:{\"--1m973uw\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"}}})})]})})})})});});const css=[\".framer-AcBTX.framer-111uk2g, .framer-AcBTX .framer-111uk2g { display: block; }\",\".framer-AcBTX.framer-1nkgw2g { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 13px; height: min-content; justify-content: center; min-height: 56px; overflow: var(--overflow-clip-fallback, clip); padding: 0px 29px 0px 29px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-AcBTX .framer-1q2wpn7 { flex: none; height: 100%; left: 0px; position: absolute; top: 60px; width: 100%; z-index: 0; }\",\".framer-AcBTX .framer-ngaubz { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 16px; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; z-index: 1; }\",\".framer-AcBTX .framer-1ul7cgh { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-AcBTX .framer-ipelb2 { flex: none; height: auto; left: 0px; position: absolute; top: 17px; white-space: pre; width: auto; }\",\".framer-AcBTX .framer-w83hqa { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; padding: 0px 5px 0px 0px; position: relative; width: 20px; z-index: 1; }\",\".framer-AcBTX .framer-gifgk5 { aspect-ratio: 1 / 1; flex: none; height: auto; position: relative; width: 15px; }\",\".framer-AcBTX.framer-v-by0eze.framer-1nkgw2g, .framer-AcBTX.framer-v-1qfe3ch.framer-1nkgw2g { min-height: 46px; padding: 0px 22px 0px 22px; }\",\".framer-AcBTX.framer-v-1nkgw2g.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-1nkgw2g.hover .framer-ipelb2, .framer-AcBTX.framer-v-1u951ny.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-1u951ny.hover .framer-ipelb2, .framer-AcBTX.framer-v-15y1vl9.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-15y1vl9.hover .framer-ipelb2, .framer-AcBTX.framer-v-jgp5nq.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-jgp5nq.hover .framer-ipelb2, .framer-AcBTX.framer-v-by0eze.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-by0eze.hover .framer-ipelb2, .framer-AcBTX.framer-v-1qfe3ch.hover .framer-1q2wpn7, .framer-AcBTX.framer-v-1qfe3ch.hover .framer-ipelb2 { top: 0px; }\",\".framer-AcBTX.framer-v-1nkgw2g.hover .framer-w83hqa, .framer-AcBTX.framer-v-1u951ny.hover .framer-w83hqa, .framer-AcBTX.framer-v-15y1vl9.hover .framer-w83hqa, .framer-AcBTX.framer-v-jgp5nq.hover .framer-w83hqa { padding: 0px 0px 0px 5px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 56\n * @framerIntrinsicWidth 125\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"DOErxrNPI\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"AFwnHBTgY\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"HFbTgvRLC\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"Rcc2p9S9T\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"46px\",null]},\"aYy3PvLMc\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"46px\",null]},\"JuDuJGSzd\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"vpZTbR7Mg\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"KZEuenkY9\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"SCJXxUm_B\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"56px\",null]},\"AExqTfOOS\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"46px\",null]},\"p24ZiCRL9\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[null,null,\"46px\",null]}}}\n * @framerVariables {\"Cq_mjNB61\":\"label\",\"ES8q4HqzE\":\"link\",\"EKsSRHfzp\":\"arrow\",\"Tke6UIO_i\":\"openInNewTab\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerXfYeu5py0=withCSS(Component,css,\"framer-AcBTX\");export default FramerXfYeu5py0;FramerXfYeu5py0.displayName=\"Button\";FramerXfYeu5py0.defaultProps={height:56,width:125};addPropertyControls(FramerXfYeu5py0,{variant:{options:[\"MfC0DCHlZ\",\"DOErxrNPI\",\"AFwnHBTgY\",\"HFbTgvRLC\",\"Rcc2p9S9T\",\"aYy3PvLMc\"],optionTitles:[\"Accent Dark\",\"Ghost Dark\",\"Accent Light\",\"Ghost Light\",\"Nav Dark\",\"Nav Light\"],title:\"Variant\",type:ControlType.Enum},Cq_mjNB61:{defaultValue:\"Button\",title:\"Label\",type:ControlType.String},onCq_mjNB61Change:{changes:\"Cq_mjNB61\",type:ControlType.ChangeHandler},ES8q4HqzE:{title:\"Link\",type:ControlType.Link},EKsSRHfzp:{defaultValue:false,title:\"Arrow\",type:ControlType.Boolean},onEKsSRHfzpChange:{changes:\"EKsSRHfzp\",type:ControlType.ChangeHandler},Tke6UIO_i:{defaultValue:false,title:\"Open In New Tab\",type:ControlType.Boolean},onTke6UIO_iChange:{changes:\"Tke6UIO_i\",type:ControlType.ChangeHandler}});addFonts(FramerXfYeu5py0,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ArrowRightFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXfYeu5py0\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"56\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"125\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"Cq_mjNB61\\\":\\\"label\\\",\\\"ES8q4HqzE\\\":\\\"link\\\",\\\"EKsSRHfzp\\\":\\\"arrow\\\",\\\"Tke6UIO_i\\\":\\\"openInNewTab\\\"}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"DOErxrNPI\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"AFwnHBTgY\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"HFbTgvRLC\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"Rcc2p9S9T\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"46px\\\",null]},\\\"aYy3PvLMc\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"46px\\\",null]},\\\"JuDuJGSzd\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"vpZTbR7Mg\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"KZEuenkY9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"SCJXxUm_B\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"56px\\\",null]},\\\"AExqTfOOS\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"46px\\\",null]},\\\"p24ZiCRL9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"46px\\\",null]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./XfYeu5py0.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useId}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Supplied OCIP Co. wordmark, rendered in the native foreground color.\n * The original artwork is an alpha mask. Its exact antialiased silhouette\n * is preserved and filled with the existing adaptive or fixed theme color.\n *\n * @framerIntrinsicWidth 30\n * @framerIntrinsicHeight 30\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BrandMark(props){const{color=\"#F5F1EA\"}=props;const maskId=`ocip-wordmark-${useId().replace(/:/g,\"\")}`;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"grid\",placeItems:\"center\",...props.style},children:/*#__PURE__*/_jsxs(\"svg\",{\"data-ocip-logo\":\"true\",viewBox:\"0 0 1032 373\",preserveAspectRatio:\"xMidYMid meet\",style:{width:\"100%\",height:\"100%\",display:\"block\"},\"aria-hidden\":\"true\",focusable:\"false\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"mask\",{id:maskId,x:\"0\",y:\"0\",width:\"1032\",height:\"373\",maskUnits:\"userSpaceOnUse\",style:{maskType:\"alpha\"},children:/*#__PURE__*/_jsx(\"image\",{href:\"https://framerusercontent.com/images/yueCXg0fXP1bcY6DMvI1hoUA.png\",width:\"1032\",height:\"373\"})})}),/*#__PURE__*/_jsx(\"rect\",{width:\"1032\",height:\"373\",fill:color,mask:`url(#${maskId})`})]})});}addPropertyControls(BrandMark,{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#F5F1EA\"},// Retained for compatibility with existing component instances.\nstrokeWidth:{type:ControlType.Number,title:\"Stroke\",defaultValue:1.2,min:.5,max:4,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrandMark\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"30\",\"framerIntrinsicWidth\":\"30\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrandMark.map","/* ============================================================\n   ATELIER — Framer code overrides\n   Ported from:\n   · js/cursor.js   → initMagnetic (withMagnetic, withMagneticOrb)\n   · js/core.js     → countUp (withCountUp), initParallax (withParallax*)\n   · js/sections.js → initNav progress (withNavProgress),\n                      initWork (withHorizontalScroll),\n                      initProcess (withProcessSteps),\n                      initVoices (withStackCompress)\n   No default export — every export is a higher-order override.\n   ============================================================ */import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef}from\"react\";import{useIsStaticRenderer}from\"framer\";import{animate}from\"framer-motion\";/* ══════════════════════════════════════════════════════════\n   PROTECTED LAYER NAMES  —  read before renaming layers\n   ──────────────────────────────────────────────────────────\n   These overrides find elements on the canvas by LAYER NAME.\n   Renaming any layer below silently disables the animation\n   it drives. If you rename one, update the matching string\n   here as well.\n\n     withHorizontalScroll  →  \"Work Track\"      (the panning row)\n                              \"Work Rail Fill\"  (progress bar fill)\n                              \"Work Counter\"    (01 / 08 readout)\n                              \"Work Card\"       (each project card)\n                              \"Media\"           (image inside a card)\n\n     withProcessSteps      →  \"Step Fill\"       (step progress bar)\n                              \"Step Body\"       (expanding step copy)\n\n   findLayer() logs a console warning in preview when a name\n   is missing, so a rename fails loudly instead of silently.\n   ══════════════════════════════════════════════════════════ */const warned=new Set;function findLayer(root,name){const found=root.querySelector('[data-framer-name=\"'+name+'\"]');if(!found&&!warned.has(name)){warned.add(name);console.warn('[Atelier] Layer \"'+name+'\" was not found, so the animation '+\"that depends on it is disabled. If you renamed this layer, \"+\"update the name in Interactions.tsx (see PROTECTED LAYER NAMES).\");}return found;}function findLayers(root,name){const found=Array.prototype.slice.call(root.querySelectorAll('[data-framer-name=\"'+name+'\"]'));if(found.length===0&&!warned.has(name)){warned.add(name);console.warn('[Atelier] No layers named \"'+name+'\" were found, so the '+\"animation that depends on them is disabled. See \"+\"PROTECTED LAYER NAMES in Interactions.tsx.\");}return found;}/* ══════════════════════════════════════════════════════════\n   Shared helpers\n   ══════════════════════════════════════════════════════════ */const clamp=(v,a,b)=>Math.min(Math.max(v,a),b);const lerp=(a,b,t)=>a+(b-a)*t;const pad2=n=>(n<10?\"0\":\"\")+n;const expoOut=t=>t>=1?1:1-Math.pow(2,-10*t);function prefersReducedMotion(){if(typeof window===\"undefined\")return true;return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;}function isCoarsePointer(){if(typeof window===\"undefined\")return true;return window.matchMedia(\"(pointer: coarse)\").matches;}function assignRef(ref,node){if(typeof ref===\"function\")ref(node);else if(ref&&typeof ref===\"object\")ref.current=node;}/** rAF-throttled scroll + resize subscription. Returns unsubscribe. */function onScrollRaf(update){let queued=false;let raf=0;const schedule=()=>{if(queued)return;queued=true;raf=window.requestAnimationFrame(()=>{queued=false;update();});};window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule,{passive:true});update();return()=>{window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);if(raf)window.cancelAnimationFrame(raf);};}/* ══════════════════════════════════════════════════════════\n   1 · MAGNETIC (port of cursor.js initMagnetic)\n   Two-layer motion: the element follows the pointer, the first\n   element child (label wrapper) follows at 45% strength.\n   Writes to element.style.translate so Framer's own transforms\n   stay untouched.\n   ══════════════════════════════════════════════════════════ */function makeMagnetic(strength){return function(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(prefersReducedMotion()||isCoarsePointer())return;const el=localRef.current;if(!el)return;const inner=el.firstElementChild;const radiusPad=30;let box=null;let tx=0// pointer-driven target\n;let ty=0;let cx=0// element position\n;let cy=0;let ix=0// inner label position\n;let iy=0;let raf=0;let running=false;let springs=[];let disposed=false;let engaged=false;const applyEl=()=>{el.style.translate=cx+\"px \"+cy+\"px\";};const applyInner=()=>{if(inner)inner.style.translate=ix+\"px \"+iy+\"px\";};const stopSprings=()=>{for(const s of springs)if(s&&s.stop)s.stop();springs=[];};const loop=()=>{if(disposed)return;// ~power3.out 0.7s ≈ lerp 0.18/frame; inner 0.9s ≈ 0.14\ncx=lerp(cx,tx,.18);cy=lerp(cy,ty,.18);ix=lerp(ix,tx*.45,.14);iy=lerp(iy,ty*.45,.14);applyEl();applyInner();const settled=Math.abs(tx-cx)<.05&&Math.abs(ty-cy)<.05&&Math.abs(tx*.45-ix)<.05&&Math.abs(ty*.45-iy)<.05;if(!settled){raf=window.requestAnimationFrame(loop);}else{running=false;raf=0;}};const kick=()=>{if(!running){running=true;raf=window.requestAnimationFrame(loop);}};const measure=()=>{box=el.getBoundingClientRect();};// elastic.out(1, 0.4) feel via spring\nconst springBack=()=>{/* Only spring back from an actually displaced state.\n                       Without this, every pointermove outside the reach\n                       radius rebuilt four spring animations per event. */if(!engaged)return;engaged=false;if(raf){window.cancelAnimationFrame(raf);raf=0;}running=false;stopSprings();tx=0;ty=0;const opts={type:\"spring\",stiffness:180,damping:12};springs.push(animate(cx,0,{...opts,onUpdate:v=>{cx=v;applyEl();}}),animate(cy,0,{...opts,onUpdate:v=>{cy=v;applyEl();}}));if(inner){springs.push(animate(ix,0,{...opts,onUpdate:v=>{ix=v;applyInner();}}),animate(iy,0,{...opts,onUpdate:v=>{iy=v;applyInner();}}));}};const move=e=>{if(!box)measure();if(!box)return;const bx=box.left+box.width/2;const by=box.top+box.height/2;const dx=e.clientX-bx;const dy=e.clientY-by;const dist=Math.hypot(dx,dy);const reach=Math.max(box.width,box.height)/2+radiusPad;if(dist>reach){springBack();return;}stopSprings();engaged=true;const f=1-dist/reach;tx=dx*strength*f;ty=dy*strength*f;kick();};const onEnter=()=>measure();const onLeave=()=>springBack();const onResize=()=>{box=null;};el.addEventListener(\"pointerenter\",onEnter);el.addEventListener(\"pointermove\",move);el.addEventListener(\"pointerleave\",onLeave);window.addEventListener(\"resize\",onResize,{passive:true});return()=>{disposed=true;el.removeEventListener(\"pointerenter\",onEnter);el.removeEventListener(\"pointermove\",move);el.removeEventListener(\"pointerleave\",onLeave);window.removeEventListener(\"resize\",onResize);if(raf)window.cancelAnimationFrame(raf);stopSprings();el.style.translate=\"\";if(inner)inner.style.translate=\"\";};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});};}export function withMagnetic(Component){return makeMagnetic(.34)(withNativeCanvasAttribution(Component));}export function withMagneticOrb(Component){return makeMagnetic(.5)(withNativeCanvasAttribution(Component));}/* ══════════════════════════════════════════════════════════\n   2 · COUNT UP (port of core.js countUp / initCounters)\n   Reads the number from the layer's own text, zeroes it, then\n   animates 0 → target over 2.1s expo.out once the element\n   enters ~18% from the bottom of the viewport.\n   ══════════════════════════════════════════════════════════ */export function withCountUp(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;// Reduced motion: leave the original text untouched\nif(prefersReducedMotion())return;const el=localRef.current;if(!el)return;/* Write into the existing text nodes instead of assigning\n               el.textContent. textContent replaces Framer's own markup —\n               the <p class=\"framer-text framer-styles-preset-…\"> that\n               carries the text style — with a bare text node, so the\n               number lost its preset and fell back to the browser\n               default size/colour. Mutating the text node in place keeps\n               every class, font and colour intact. */const walker=document.createTreeWalker(el,NodeFilter.SHOW_TEXT);const textNodes=[];while(walker.nextNode())textNodes.push(walker.currentNode);if(!textNodes.length)return;const originals=textNodes.map(n=>n.nodeValue||\"\");/* Only the nodes that actually carry glyphs take the number;\n               formatting whitespace is left exactly as it is. */const slots=[];for(let i=0;i<originals.length;i++)if(originals[i].trim())slots.push(i);if(!slots.length)return;const original=slots.map(i=>originals[i]).join(\"\").trim();// Animate only a leading number; keep units verbatim and leave\n// identifiers such as #1071389 or OC entirely untouched.\nconst parts=original.match(/^(-?(?:\\d+(?:\\.\\d*)?|\\.\\d+))(.*)$/);if(!parts)return;const numeric=parts[1];const suffix=parts[2];const target=parseFloat(numeric);if(isNaN(target))return;const dot=numeric.indexOf(\".\");const decimals=dot>=0?numeric.length-dot-1:0;const intWidth=(dot>=0?numeric.slice(0,dot):numeric).replace(\"-\",\"\").length;// Preserve decimals and any leading zeros of the original string\nconst format=v=>{let s=Math.abs(v).toFixed(decimals);const d=s.indexOf(\".\");const ip=d>=0?s.slice(0,d):s;if(ip.length<intWidth)s=new Array(intWidth-ip.length+1).join(\"0\")+s;return(v<0?\"-\":\"\")+s+suffix;};const write=text=>{textNodes[slots[0]].nodeValue=text;for(let k=1;k<slots.length;k++)textNodes[slots[k]].nodeValue=\"\";};write(format(0));let controls=null;let fired=false;// ScrollTrigger 'top 82%' ≈ 18% up from the bottom edge\nconst io=new IntersectionObserver(entries=>{for(let i=0;i<entries.length;i++){if(!entries[i].isIntersecting||fired)continue;fired=true;io.disconnect();controls=animate(0,target,{duration:2.1,ease:expoOut,onUpdate:v=>{write(format(v));}});}},{rootMargin:\"0px 0px -18% 0px\",threshold:0});io.observe(el);return()=>{io.disconnect();if(controls&&controls.stop)controls.stop();for(let i=0;i<textNodes.length;i++)textNodes[i].nodeValue=originals[i];};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}/* ══════════════════════════════════════════════════════════\n   3 · NAV PROGRESS (port of sections.js initNav onScroll rail)\n   scaleX = scrollY / (scrollHeight - innerHeight), origin left.\n   ══════════════════════════════════════════════════════════ */export function withNavProgress(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const el=localRef.current;if(!el)return;el.style.transformOrigin=\"left center\";const update=()=>{const doc=document.documentElement;const max=doc.scrollHeight-window.innerHeight;const y=window.scrollY||doc.scrollTop;el.style.transform=\"scaleX(\"+(max>0?y/max:0)+\")\";};const off=onScrollRaf(update);return()=>{off();el.style.transform=\"\";};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}/* ══════════════════════════════════════════════════════════\n   4 · WORK — HORIZONTAL SCROLL (port of sections.js initWork)\n   Applied to the Work pin WRAPPER frame. The inner sticky frame\n   is canvas-built (position: sticky, top 0, height 100svh).\n   The wrapper's height becomes the pin runway:\n   innerHeight + distance + innerHeight * 0.4.\n   ══════════════════════════════════════════════════════════ */export function withHorizontalScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const el=localRef.current;if(!el)return;const track=findLayer(el,\"Work Track\");if(!track)return;const railFill=findLayer(el,\"Work Rail Fill\");const counter=findLayer(el,\"Work Counter\");const cards=Array.prototype.slice.call(findLayers(el,\"Work Card\"));const total=cards.length;/* Editorial size rhythm from render.js:\n               ['', 'wcard--short', 'wcard--tall', '', 'wcard--tall',\n                'wcard--short', '', 'wcard--tall'] */const SIZES=[\"\",\"short\",\"tall\",\"\",\"tall\",\"short\",\"\",\"tall\"];for(let i=0;i<cards.length;i++){const kind=SIZES[i%SIZES.length];const card=cards[i];const media=findLayer(card,\"Media\");card.style.width=kind===\"short\"?\"clamp(220px, 22vw, 320px)\":\"clamp(260px, 30vw, 440px)\";if(media){media.style.height=\"auto\";media.style.aspectRatio=kind===\"short\"?\"1 / 1\":\"3 / 4\";}if(kind===\"short\"){card.style.alignSelf=\"flex-end\";card.style.marginBottom=\"clamp(0px, 4vw, 5rem)\";}else if(kind===\"tall\"){card.style.alignSelf=\"flex-start\";card.style.marginTop=\"clamp(0px, 4vw, 5rem)\";}}/* Touch and reduced-motion users get a native horizontal\n               swipe instead (port of the AV.reduced || AV.coarse branch) */if(prefersReducedMotion()||isCoarsePointer()){// The authored track is fit-content. Overflow alone cannot\n// scroll a row that is already as wide as every card; constrain\n// the scrollport while keeping its inner rows at their full width.\nconst restores=[];const style=(node,values)=>{if(!node)return;for(const[name,value]of Object.entries(values)){const previous=node.style.getPropertyValue(name);const priority=node.style.getPropertyPriority(name);node.style.setProperty(name,value);restores.push(()=>{if(previous)node.style.setProperty(name,previous,priority);else node.style.removeProperty(name);});}};const text=node=>{const nodes=[];if(node){const walker=document.createTreeWalker(node,NodeFilter.SHOW_TEXT);while(walker.nextNode()){const current=walker.currentNode;if(current.nodeValue?.trim())nodes.push(current);}}const originals=nodes.map(node=>node.nodeValue);restores.push(()=>nodes.forEach((node,i)=>{node.nodeValue=originals[i];}));return value=>nodes.forEach((node,i)=>{node.nodeValue=i===0?value:\"\";});};style(el,{height:\"auto\"});const sticky=track.parentElement;if(sticky&&sticky!==el)style(sticky,{height:\"auto\",position:\"relative\"});style(track,{width:\"100%\",\"max-width\":\"100%\",\"min-width\":\"0px\",\"box-sizing\":\"border-box\",\"overflow-x\":\"auto\",\"overflow-y\":\"hidden\",\"padding-block\":\"2rem\",\"-webkit-overflow-scrolling\":\"touch\"});const hud=findLayer(el,\"Work HUD\");// Keep the readout below the captions instead of over them.\nstyle(hud,{position:\"relative\",bottom:\"auto\",\"padding-bottom\":\"2rem\"});const hint=hud&&Array.from(hud.querySelectorAll(\"p\")).find(node=>node.textContent?.trim()===\"Keep scrolling to explore →\");if(hint)text(hint)(isCoarsePointer()?\"Swipe to explore →\":\"Scroll to explore →\");const writeCounter=text(counter);style(railFill,{\"transform-origin\":\"left center\"});const railTransform=railFill?.style.transform||\"\";restores.push(()=>{if(railFill)railFill.style.transform=railTransform;});for(const[name,value]of[[\"tabindex\",\"0\"],[\"role\",\"region\"],[\"aria-label\",\"OCIP project gallery\"]]){const previous=track.getAttribute(name);track.setAttribute(name,value);restores.push(()=>{if(previous===null)track.removeAttribute(name);else track.setAttribute(name,previous);});}const update=()=>{const distance=Math.max(0,track.scrollWidth-track.clientWidth);const progress=distance>0?clamp(track.scrollLeft/distance,0,1):0;if(total>0)writeCounter(pad2(Math.round(progress*(total-1))+1)+\" / \"+pad2(total));if(railFill)railFill.style.transform=\"scaleX(\"+progress+\")\";};update();track.addEventListener(\"scroll\",update,{passive:true});window.addEventListener(\"resize\",update,{passive:true});return()=>{track.removeEventListener(\"scroll\",update);window.removeEventListener(\"resize\",update);for(const restore of restores.reverse())restore();};}// Preserve the Framer text wrappers that carry the counter's\n// authored typography and colour, just as withCountUp does.\nconst counterTextNodes=[];if(counter){const walker=document.createTreeWalker(counter,NodeFilter.SHOW_TEXT);while(walker.nextNode())counterTextNodes.push(walker.currentNode);}const counterOriginals=counterTextNodes.map(node=>node.nodeValue||\"\");const counterSlots=[];for(let i=0;i<counterOriginals.length;i++)if(counterOriginals[i].trim())counterSlots.push(i);let distance=0;let p=0;let pSmooth=0// scrub 1  ≈ lerp 0.1/frame\n;let pSlow=0// scrub 1.4 ≈ lerp 0.07/frame\n;let raf=0;let running=false;let disposed=false;const measure=()=>{distance=Math.max(0,track.scrollWidth-window.innerWidth);el.style.height=window.innerHeight+distance+window.innerHeight*.4+\"px\";};const readProgress=()=>{const rect=el.getBoundingClientRect();const denom=el.offsetHeight-window.innerHeight;p=denom>0?clamp(-rect.top/denom,0,1):0;};const apply=()=>{track.style.transform=\"translateX(\"+-pSmooth*distance+\"px)\";if(railFill){railFill.style.transformOrigin=\"left center\";railFill.style.transform=\"scaleX(\"+pSmooth+\")\";}if(counter&&total>0){const n=clamp(Math.round(pSmooth*(total-1))+1,1,total);if(counterSlots.length){counterTextNodes[counterSlots[0]].nodeValue=pad2(n)+\" / \"+pad2(total);for(let k=1;k<counterSlots.length;k++)counterTextNodes[counterSlots[k]].nodeValue=\"\";}}// Cards counter-drift slightly so the row does not feel rigid\nfor(let i=0;i<cards.length;i++){const depth=i%3*.12;if(!depth)continue;cards[i].style.translate=\"0 \"+-34*depth*4*pSlow+\"px\";}};const loop=()=>{if(disposed)return;readProgress();pSmooth=lerp(pSmooth,p,.1);pSlow=lerp(pSlow,p,.07);apply();if(Math.abs(p-pSmooth)>5e-4||Math.abs(p-pSlow)>5e-4){raf=window.requestAnimationFrame(loop);}else{pSmooth=p;pSlow=p;apply();running=false;raf=0;}};const kick=()=>{if(!running){running=true;raf=window.requestAnimationFrame(loop);}};const onScroll=()=>kick();const onResize=()=>{measure();kick();};measure();readProgress();pSmooth=p;pSlow=p;apply();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onResize,{passive:true});// Re-measure once fonts have settled (pinned heights)…\nif(document.fonts&&document.fonts.ready){document.fonts.ready.then(()=>{if(!disposed)onResize();});}// …and again once lazy imagery has settled the layout\nconst onLoad=()=>onResize();if(document.readyState===\"complete\")onResize();else window.addEventListener(\"load\",onLoad);return()=>{disposed=true;if(raf)window.cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onResize);window.removeEventListener(\"load\",onLoad);el.style.height=\"\";track.style.transform=\"\";for(let i=0;i<counterTextNodes.length;i++)counterTextNodes[i].nodeValue=counterOriginals[i];for(let i=0;i<cards.length;i++)cards[i].style.translate=\"\";};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}/* ══════════════════════════════════════════════════════════\n   5 · PROCESS STEPS (port of sections.js initProcess)\n   Applied to the steps LIST frame — element children are the\n   steps. Per step: top-rule fill scrubs scaleX 0→1 between\n   'top 78%' and 'top 40%'; body reveals once at 'top 86%'\n   (opacity 0→1, y 26→0, 1s expo.out). The active index\n   (last step whose top < 62% of the viewport) is written to\n   el.dataset.activeStep for the ProcessDial to read.\n   ══════════════════════════════════════════════════════════ */export function withProcessSteps(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const el=localRef.current;if(!el)return;const steps=Array.prototype.slice.call(el.children);if(!steps.length)return;const fills=steps.map(s=>findLayer(s,\"Step Fill\"));const bodies=steps.map(s=>findLayer(s,\"Step Body\"));// Reduced motion: fills complete, bodies visible, no listeners\nif(prefersReducedMotion()){for(let i=0;i<fills.length;i++){const f=fills[i];if(!f)continue;f.style.transformOrigin=\"left center\";f.style.transform=\"scaleX(1)\";}return;}// Hide bodies until revealed (G.from equivalent)\nfor(let i=0;i<bodies.length;i++){const b=bodies[i];if(!b)continue;b.style.opacity=\"0\";b.style.translate=\"0 26px\";}const revealed=steps.map(()=>false);const anims=[];let activeIndex=-1;const update=()=>{const vh=window.innerHeight;let active=-1;for(let i=0;i<steps.length;i++){const rect=steps[i].getBoundingClientRect();// fill scrub: 'top 78%' → 'top 40%', linear, origin left\nconst fill=fills[i];if(fill){const s=clamp((vh*.78-rect.top)/(vh*.78-vh*.4),0,1);fill.style.transformOrigin=\"left center\";fill.style.transform=\"scaleX(\"+s+\")\";}// body reveal once at 'top 86%'\nconst body=bodies[i];if(body&&!revealed[i]&&rect.top<vh*.86){revealed[i]=true;anims.push(animate(0,1,{duration:1,ease:expoOut,onUpdate:v=>{body.style.opacity=String(v);body.style.translate=\"0 \"+26*(1-v)+\"px\";}}));}// active tracking: 'top 62%' / 'bottom 62%' equivalent\nif(rect.top<vh*.62&&rect.bottom>0)active=i;}if(active>=0&&active!==activeIndex){activeIndex=active;el.dataset.activeStep=String(active);}};const off=onScrollRaf(update);return()=>{off();for(let i=0;i<anims.length;i++)if(anims[i]&&anims[i].stop)anims[i].stop();for(let i=0;i<bodies.length;i++){const b=bodies[i];if(!b)continue;b.style.opacity=\"\";b.style.translate=\"\";}};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}/* ══════════════════════════════════════════════════════════\n   6 · VOICES — STACK COMPRESS (port of sections.js initVoices)\n   Applied to the sticky stack frame (children = cards).\n   Each card except the last is driven by the NEXT card's rect:\n   as it travels 'top 90%' → 'top 30%', the card scales down to\n   1 - (N-1-i)*0.018 and dims to opacity 0.5. Origin center top.\n   ══════════════════════════════════════════════════════════ */export function withStackCompress(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(prefersReducedMotion())return;const el=localRef.current;if(!el)return;const cards=Array.prototype.slice.call(el.children);const N=cards.length;if(N<2)return;const update=()=>{const vh=window.innerHeight;for(let i=0;i<N-1;i++){const nextRect=cards[i+1].getBoundingClientRect();const q=clamp((vh*.9-nextRect.top)/(vh*.9-vh*.3),0,1);const card=cards[i];card.style.transformOrigin=\"center top\";card.style.scale=String(1-(N-1-i)*.018*q);/* Dim the card CONTENT, not the card itself. Fading the\n                       whole card made its background translucent, so every\n                       card lower in the pile read through it and the quotes\n                       collided. Same curve, opaque surfaces. */const dim=String(1-.5*q);const kids=card.children;for(let k=0;k<kids.length;k++){kids[k].style.opacity=dim;}}};const off=onScrollRaf(update);return()=>{off();for(let i=0;i<N-1;i++){cards[i].style.scale=\"\";cards[i].style.opacity=\"\";const kids=cards[i].children;for(let k=0;k<kids.length;k++){kids[k].style.opacity=\"\";}}};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}/* ══════════════════════════════════════════════════════════\n   7 · PARALLAX (port of core.js initParallax)\n   Applied to the oversized IMG frame inside a clipping media\n   frame. Progress t of the PARENT through the viewport:\n   rect.top = vh → t 0, rect.bottom = 0 → t 1.\n   yPercent = -strength*50 + t*(strength*100), written to\n   style.translate so Framer transforms stay intact.\n   ══════════════════════════════════════════════════════════ */function makeParallax(strength){return function(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(prefersReducedMotion())return;const el=localRef.current;if(!el)return;const parent=el.parentElement;if(!parent)return;const update=()=>{const rect=parent.getBoundingClientRect();const vh=window.innerHeight;const t=clamp((vh-rect.top)/(vh+rect.height),0,1);const yPercent=-strength*50+t*(strength*100);el.style.translate=\"0 \"+yPercent+\"%\";};const off=onScrollRaf(update);return()=>{off();el.style.translate=\"\";};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});};}export function withNavAutoHide(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const el=localRef.current;if(!el)return;/* Reserve the scrollbar gutter for the whole document.\n\n               The loader locks the page with body { overflow: hidden }\n               and releases it when it finishes. On a classic (non\n               overlay) scrollbar that removes the scrollbar and then\n               puts it back, so roughly a second after load the usable\n               width jumps by the scrollbar's ~15px — the hero lede\n               re-wraps, the header and the bottom row slide sideways,\n               and the whole section looks like it resizes.\n\n               Reserving the gutter up front keeps the width identical\n               whether or not the scrollbar is being shown, so the lock\n               and release become invisible. It lives here, on the site\n               chrome, rather than in the loader: the loader's timeline,\n               look and scroll lock are left exactly as they are. */if(typeof CSS!==\"undefined\"&&typeof CSS.supports===\"function\"&&CSS.supports(\"scrollbar-gutter\",\"stable\")){document.documentElement.style.scrollbarGutter=\"stable\";}/* Always visible in this top band, so the page never\n               opens with a hidden header. */const REVEAL_ABOVE=120;const THRESHOLD=6;el.style.willChange=\"transform\";el.style.transition=prefersReducedMotion()?\"none\":\"transform 0.42s cubic-bezier(0.33, 1, 0.68, 1)\";let lastY=window.scrollY||0;let hidden=false;const update=()=>{const y=window.scrollY||document.documentElement.scrollTop||0;const delta=y-lastY;if(Math.abs(delta)<THRESHOLD)return;lastY=y;const next=delta>0&&y>REVEAL_ABOVE;if(next===hidden)return;hidden=next;el.style.transform=hidden?\"translate3d(0, -110%, 0)\":\"translate3d(0, 0, 0)\";};const off=onScrollRaf(update);return()=>{off();el.style.transition=\"\";el.style.transform=\"\";el.style.willChange=\"\";};},[isStatic]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;assignRef(ref,node);}});});}// URL-only native canvas attribution. No storage, tags, conversion events,\n// document click interception, history rewriting or provider-internal patches.\nimport*as OCIPNativeReact from\"react\";import{Link as OCIPNativeFramerLink}from\"framer\";/**\n * Build an internal href from attribution already present on the current URL.\n * No storage, history mutation, event interception, network request or tag firing.\n */function ocipNativeWithAttribution(href,currentPageUrl){if(!href||href.trim().startsWith(\"#\"))return href;try{const current=new URL(currentPageUrl);const destination=new URL(href,current);if(!/^https?:$/.test(destination.protocol)||destination.origin!==current.origin){return href;}let changed=false;const destinationKeys=new Set(destination.searchParams.keys());for(const[key,value]of current.searchParams){if(!/^(gclid|gbraid|wbraid|utm_[a-z0-9_]+)$/.test(key))continue;if(destinationKeys.has(key))continue;destination.searchParams.append(key,value);changed=true;}return changed?destination.pathname+destination.search+destination.hash:href;}catch{return href;}}// Page IDs and anchor IDs are read from the published 07ac05f22 route table.\nconst OCIP_NATIVE_ROUTES={\"augiA20Il\":{\"path\":\"/\",\"elements\":{\"clW7ojEbu\":\"voices\",\"I_TCw50Jz\":\"contact\",\"ISz9PPWYM\":\"carousel\",\"Jbw2KSb5k\":\"work\",\"KM_7PoAes\":\"awards\",\"mXVUlyGt4\":\"process-steps\",\"PqD18xDE6\":\"services\",\"SeqRACSgo\":\"anatomy\",\"SVOFd5Eeg\":\"materials\",\"TaZkyOKbE\":\"hero\",\"thGrlWGlu\":\"manifesto\",\"ubgy5C52c\":\"studio\",\"vh0EbgSML\":\"process\"}},\"ShY1gNcyt\":{\"path\":\"/404\",\"elements\":{}},\"LGv8sHox0\":{\"path\":\"/privacy-policy\",\"elements\":{\"GEk4TZXRw\":\"top\"}},\"R2_aThFK2\":{\"path\":\"/terms-of-service\",\"elements\":{\"VxT6PI7Tm\":\"top\"}},\"eR8AM0xoy\":{\"path\":\"/orange-county-pavers\",\"elements\":{\"LhQJeeycv\":\"quote\",\"MTsHbul3a\":\"paver-details\"}},\"mR541lTED\":{\"path\":\"/pool-decking-orange-county\",\"elements\":{\"d6Qf_Q3G3\":\"quote\",\"Vm6zG_NR8\":\"paver-details\"}},\"TwMQtIexs\":{\"path\":\"/pool-construction-irvine\",\"elements\":{\"cwxFHRqmz\":\"paver-details\",\"z4qOoV3hs\":\"quote\"}},\"JB4sg3nlN\":{\"path\":\"/pool-construction-orange-county\",\"elements\":{\"Ee7ejeELg\":\"quote\",\"gvw2n0fwz\":\"paver-details\"}},\"FilUM2k7o\":{\"path\":\"/yorba-linda-pavers\",\"elements\":{\"ixoZqgzUI\":\"quote\",\"rekKmqm2Z\":\"paver-details\"}},\"nN0TWqykj\":{\"path\":\"/seal-beach-pavers\",\"elements\":{\"Kv0RqvCdl\":\"quote\",\"uXsq9NCEf\":\"paver-details\"}},\"jN3StDmmm\":{\"path\":\"/san-juan-capistrano-pavers\",\"elements\":{\"dgEcbiSbN\":\"paver-details\",\"uAvdNTHdg\":\"quote\"}},\"iR0wgv2iQ\":{\"path\":\"/placentia-pavers\",\"elements\":{\"kRPE3ChlT\":\"paver-details\",\"p54gKbRbS\":\"quote\"}},\"pYIzTbGji\":{\"path\":\"/long-beach-pavers\",\"elements\":{\"gJdcAT0HC\":\"paver-details\",\"zSFrEWpBz\":\"quote\"}},\"vOqlDF2rT\":{\"path\":\"/lake-forest-pavers\",\"elements\":{\"eMYVxbkp6\":\"quote\",\"esUyIHVh7\":\"paver-details\"}},\"q3UjMdSI1\":{\"path\":\"/laguna-niguel-pavers\",\"elements\":{\"CSf97uXuP\":\"quote\",\"OfL7LAM_L\":\"paver-details\"}},\"sIlBPSqNy\":{\"path\":\"/irvine-pavers\",\"elements\":{\"lIAW_A2nR\":\"paver-details\",\"mVwfY0I6U\":\"quote\"}},\"ImU6ERlHf\":{\"path\":\"/huntington-beach-pavers\",\"elements\":{\"HEFqBxgDM\":\"paver-details\",\"UkmSgw6Op\":\"quote\"}},\"nPtfpfOdp\":{\"path\":\"/garden-grove-pavers\",\"elements\":{\"EisaTf44B\":\"paver-details\",\"lhp7ALNuy\":\"quote\"}},\"gKZAr7K49\":{\"path\":\"/fullerton-pavers\",\"elements\":{\"B86u7pykq\":\"quote\",\"UjU08I8hE\":\"paver-details\"}},\"Fmp0dil90\":{\"path\":\"/fountain-valley-pavers\",\"elements\":{\"KuTn2b7Zd\":\"quote\",\"zFB6mtKBU\":\"paver-details\"}},\"dWab3GXjV\":{\"path\":\"/cypress-pavers\",\"elements\":{\"AmIJlclAn\":\"paver-details\",\"jKOFdhPbn\":\"quote\"}},\"Uavb0uJ6j\":{\"path\":\"/brea-pavers\",\"elements\":{\"s4DzQmi43\":\"quote\",\"WRPcCK9iT\":\"paver-details\"}},\"L3pzrKFOd\":{\"path\":\"/service-areas\",\"elements\":{\"VELzecP9O\":\"quote\",\"XyAVoOafe\":\"paver-details\"}},\"njtO_9sQx\":{\"path\":\"/warranty\",\"elements\":{\"lwe1ZQPIJ\":\"quote\",\"ozp3bGEX3\":\"paver-details\"}},\"Oid2FzWaw\":{\"path\":\"/what-are-pavers\",\"elements\":{\"BK_F01yg0\":\"paver-details\",\"RA9b8hXV0\":\"quote\"}},\"v8pS69AnK\":{\"path\":\"/anaheim-pavers\",\"elements\":{\"IFpMWO0rP\":\"voices\",\"jbzCbH5S4\":\"details\",\"KsW2ERQui\":\"process\",\"XNpzqCGkN\":\"quote\",\"Xvkuqdp_L\":\"paver-details\",\"ZWvEBzc0U\":\"process-steps\"}},\"NjS8uUIDz\":{\"path\":\"/costa-mesa-pavers\",\"elements\":{\"FBY4bxLwC\":\"process-steps\",\"fzk4brl29\":\"quote\",\"kodcDD7Gn\":\"process\",\"MaaqTd66n\":\"details\",\"pBPZdhXP6\":\"voices\",\"Txp1Mse7A\":\"paver-details\"}},\"HwWSIZyOF\":{\"path\":\"/mission-viejo-pavers\",\"elements\":{\"G7Jh1086p\":\"voices\",\"kgA1jnI3v\":\"process\",\"mGOo87Vna\":\"quote\",\"ON5teBqXM\":\"process-steps\",\"q5ZLUObbz\":\"paver-details\",\"ynxtEaeMm\":\"details\"}},\"DmDBZUGSS\":{\"path\":\"/newport-beach-pavers\",\"elements\":{\"EoAMhQMbY\":\"process\",\"LmJwBA64b\":\"quote\",\"Qb9ydV20n\":\"paver-details\",\"R6yOx6Btr\":\"process-steps\",\"XoINVU3Eg\":\"voices\",\"ZppILrD9x\":\"details\"}},\"EURlx6xIH\":{\"path\":\"/santa-ana-pavers\",\"elements\":{\"GOpAY0N7S\":\"details\",\"iNM9Os_8e\":\"process-steps\",\"kqFLwaSYP\":\"voices\",\"Uyfctf34B\":\"paver-details\",\"XX3XKbany\":\"quote\",\"YwNeH7AV9\":\"process\"}},\"yFLNtChrR\":{\"path\":\"/san-clemente-pavers\",\"elements\":{\"AG7FpBeFW\":\"details\",\"B2As4TkDJ\":\"paver-details\",\"dEJMqu76A\":\"process\",\"qGXKQi3Ou\":\"process-steps\",\"U2tdCnCXW\":\"quote\",\"WIqneDGem\":\"voices\"}},\"ahZfeefAY\":{\"path\":\"/meet-our-team\",\"elements\":{\"hEiVS99YM\":\"quote\",\"HpNd4OCHz\":\"paver-details\"}},\"M83KFscld\":{\"path\":\"/pavers\",\"elements\":{\"Sbo90eLPR\":\"paver-details\",\"TF5cbRG20\":\"quote\"}},\"QJU9e0f_U\":{\"path\":\"/recent-projects\",\"elements\":{\"pBpmgXH1R\":\"top\",\"x7hDHw7RV\":\"archive\"}},\"HZ9DbsMN9\":{\"path\":\"/contact-us\",\"elements\":{\"JQN0HiEeX\":\"quote\",\"Wd31QaBdf\":\"paver-details\"}},\"FKbTFaoZQ\":{\"path\":\"/patios-and-walkways\",\"elements\":{\"M1hGCGCeU\":\"quote\",\"Sv8fCGckU\":\"paver-details\"}},\"xuD4K3qE2\":{\"path\":\"/paving-services\",\"elements\":{\"HDty2KgGB\":\"paver-details\",\"MDtQYCe6l\":\"quote\"}},\"uJ5KtJ4VC\":{\"path\":\"/hardscape\",\"elements\":{\"N8O_ooC6y\":\"quote\",\"nvibwj9mw\":\"paver-details\"}},\"Qb0BtLVWm\":{\"path\":\"/hardscape-estimate-form-top\",\"elements\":{}},\"Fm7JRDuqo\":{\"path\":\"/thank-you\",\"elements\":{}},\"VSbtB3l8t\":{\"path\":\"/message-sent-google\",\"elements\":{}},\"e7ksLOZNF\":{\"path\":\"/message-sent-meta\",\"elements\":{}},\"rxDxN3WgE\":{\"path\":\"/message-sent-yelp\",\"elements\":{}}};function ocipNativeTarget(href,currentPageUrl){if(!currentPageUrl)return href;let resolved;if(typeof href===\"string\")resolved=href;else if(href&&typeof href===\"object\"&&typeof href.webPageId===\"string\"){// Static pages only: leave CMS, unresolved slugs and unknown shapes intact.\nif([\"pathVariables\",\"hashVariables\",\"unresolvedPathSlugs\",\"unresolvedHashSlugs\"].some(key=>href[key]&&Object.keys(href[key]).length))return href;const route=OCIP_NATIVE_ROUTES[href.webPageId];if(!route)return href;let fragment=\"\";if(href.hash){if(typeof href.hash!==\"string\")return href;const hash=href.hash.startsWith(\":\")?route.elements[href.hash.slice(1)]:href.hash.replace(/^#/,\"\");if(!hash)return href;fragment=\"#\"+hash;}resolved=route.path+fragment;}else return href;const attributed=ocipNativeWithAttribution(resolved,currentPageUrl);if(attributed===resolved)return href;// Framer's internal route normalization drops a relative URL's query.\n// The supported absolute URL input retains the exact same-origin target.\nreturn new URL(attributed,currentPageUrl).href;}// Read current URL only. No persistent attribution, history changes or click listener.\nconst ocipNativeListeners=new Set;function ocipNativeNotify(){for(const listener of ocipNativeListeners)listener();}function ocipNativeSubscribe(listener){ocipNativeListeners.add(listener);if(ocipNativeListeners.size===1){window.navigation?.addEventListener(\"currententrychange\",ocipNativeNotify);window.addEventListener(\"popstate\",ocipNativeNotify);window.addEventListener(\"hashchange\",ocipNativeNotify);window.addEventListener(\"pageshow\",ocipNativeNotify);}return()=>{ocipNativeListeners.delete(listener);if(ocipNativeListeners.size===0){window.navigation?.removeEventListener(\"currententrychange\",ocipNativeNotify);window.removeEventListener(\"popstate\",ocipNativeNotify);window.removeEventListener(\"hashchange\",ocipNativeNotify);window.removeEventListener(\"pageshow\",ocipNativeNotify);}};}function ocipNativeCurrentUrl(){return typeof window===\"undefined\"?\"\":window.location.href;}function ocipNativeServerUrl(){return\"\";}// The server and first hydration pass retain the original href. Mounted links\n// then receive the current URL; renders and browser history changes refresh it.\nfunction useOCIPNativeCurrentPageUrl(){return OCIPNativeReact.useSyncExternalStore(ocipNativeSubscribe,ocipNativeCurrentUrl,ocipNativeServerUrl);}function ocipNativeChildren(children,currentPageUrl){if(Array.isArray(children)){const mapped=children.map(child=>ocipNativeChildren(child,currentPageUrl));return mapped.some((child,index)=>child!==children[index])?mapped:children;}// Render functions and opaque component internals are left untouched.\nif(!/*#__PURE__*/OCIPNativeReact.isValidElement(children))return children;const props=children.props;const updates={};if(children.type===OCIPNativeFramerLink&&props.download===undefined){const href=ocipNativeTarget(props.href,currentPageUrl);if(href!==props.href)updates.href=href;}const nested=ocipNativeChildren(props.children,currentPageUrl);if(nested!==props.children)updates.children=nested;return Object.keys(updates).length?/*#__PURE__*/OCIPNativeReact.cloneElement(children,updates):children;}export function withNativeCanvasAttribution(Component){return /*#__PURE__*/OCIPNativeReact.forwardRef((props,ref)=>{const currentPageUrl=useOCIPNativeCurrentPageUrl();const nextProps={...props};// Framer maps native component control IDs to their public names\n// before instance overrides. Button/Orb metadata and published\n// wrappers verify the public name \"link\"; keep raw IDs for direct use.\nfor(const key of[\"link\",\"ES8q4HqzE\",\"RS96wswNB\"]){if(Object.prototype.hasOwnProperty.call(props,key))nextProps[key]=ocipNativeTarget(props[key],currentPageUrl);}if(Object.prototype.hasOwnProperty.call(props,\"children\"))nextProps.children=ocipNativeChildren(props.children,currentPageUrl);return /*#__PURE__*/_jsx(Component,{...nextProps,ref:ref});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withHorizontalScroll\":{\"type\":\"reactHoc\",\"name\":\"withHorizontalScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withProcessSteps\":{\"type\":\"reactHoc\",\"name\":\"withProcessSteps\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNavProgress\":{\"type\":\"reactHoc\",\"name\":\"withNavProgress\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCountUp\":{\"type\":\"reactHoc\",\"name\":\"withCountUp\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNativeCanvasAttribution\":{\"type\":\"reactHoc\",\"name\":\"withNativeCanvasAttribution\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMagnetic\":{\"type\":\"reactHoc\",\"name\":\"withMagnetic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNavAutoHide\":{\"type\":\"reactHoc\",\"name\":\"withNavAutoHide\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStackCompress\":{\"type\":\"reactHoc\",\"name\":\"withStackCompress\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMagneticOrb\":{\"type\":\"reactHoc\",\"name\":\"withMagneticOrb\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Interactions.map","// Generated by scripts/build-theme-switch.mjs. Edit framer/theme sources.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const OCIP_THEME_PALETTE={\"a0f6a535-7535-4c1d-95f3-2f83c8dde669\":{\"light\":\"rgb(108, 99, 88)\",\"dark\":\"rgb(154, 143, 130)\"},\"9d73bad1-7848-4c09-89b0-f0672b31120d\":{\"light\":\"rgb(74, 64, 56)\",\"dark\":\"rgb(203, 193, 180)\"},\"7bb339c8-8d74-4149-be47-fec88d3537a8\":{\"light\":\"rgb(23, 19, 15)\",\"dark\":\"rgb(245, 241, 234)\"},\"e401e883-d234-4214-a34b-da04e471210e\":{\"light\":\"rgba(23, 19, 15, 0.13)\",\"dark\":\"rgba(245, 241, 234, 0.13)\"},\"34de6aa1-1149-4dc6-af40-31c50878c1c6\":{\"light\":\"rgba(23, 19, 15, 0.26)\",\"dark\":\"rgba(245, 241, 234, 0.26)\"},\"2420760b-ae05-414c-8adf-9c65aeacf16a\":{\"light\":\"rgba(23, 19, 15, 0.07)\",\"dark\":\"rgba(245, 241, 234, 0.07)\"},\"46f4eed8-8bc3-42be-a5c8-0ec872ea3d2e\":{\"light\":\"rgba(23, 19, 15, 0.18)\",\"dark\":\"rgba(245, 241, 234, 0.16)\"},\"ea9f2083-b839-4f07-a3e1-31f4fabb29f9\":{\"light\":\"rgba(23, 19, 15, 0.34)\",\"dark\":\"rgba(245, 241, 234, 0.28)\"},\"623a1f1c-0683-48c5-ba0e-333ca398c1a6\":{\"light\":\"rgba(122, 112, 100, 0.4)\",\"dark\":\"rgba(168, 157, 144, 0.4)\"},\"ad847647-6c18-4f7d-961c-f1f52cd07f87\":{\"light\":\"rgba(74, 64, 56, 0.5)\",\"dark\":\"rgba(198, 188, 175, 0.5)\"},\"7bc7ea83-634c-48f4-bb05-d203acaed8e8\":{\"light\":\"rgb(196, 30, 42)\",\"dark\":\"rgb(232, 65, 78)\"},\"98e0e140-7e0b-4afc-a771-70cd41303f63\":{\"light\":\"rgb(245, 241, 234)\",\"dark\":\"rgb(20, 17, 14)\"},\"f2585006-8254-4b1e-8b57-54750d90f13c\":{\"light\":\"rgb(237, 231, 221)\",\"dark\":\"rgb(27, 23, 19)\"},\"30f45053-c45a-45b0-a026-8a5341cfa092\":{\"light\":\"rgb(226, 217, 203)\",\"dark\":\"rgb(36, 31, 26)\"},\"03b28956-00bd-41ac-b883-d77956f31860\":{\"light\":\"rgb(205, 188, 166)\",\"dark\":\"rgb(48, 41, 35)\"},\"f0e8f1a9-7bea-4a1c-972f-225fa27e6b1d\":{\"light\":\"rgb(44, 38, 33)\",\"dark\":\"rgb(34, 29, 25)\"},\"07710a54-5870-4263-8a9f-b216e419fe4e\":{\"light\":\"rgb(23, 19, 15)\",\"dark\":\"rgb(13, 11, 9)\"},\"83d20dd8-e86f-4853-b94f-b800c16579fa\":{\"light\":\"rgb(11, 9, 8)\",\"dark\":\"rgb(7, 6, 5)\"},\"42adc31e-e5bb-43bd-b7ad-ca254d44535b\":{\"light\":\"rgba(245, 241, 234, 0.86)\",\"dark\":\"rgba(20, 17, 14, 0.86)\"},\"d57fecd7-0470-4a2f-903a-ca29b97e3e6f\":{\"light\":\"rgba(245, 241, 234, 0.92)\",\"dark\":\"rgba(20, 17, 14, 0.92)\"},\"fd4a3e0f-42c5-4ea1-b28d-d3d41feab284\":{\"light\":\"rgba(23, 19, 15, 0.6)\",\"dark\":\"rgba(245, 241, 234, 0.6)\"}};/* Canonical runtime shared by the generated head bootstrap and Framer TSX.\n * This file deliberately uses browser APIs only and has no module side effects.\n */function installOCIPThemeRuntime(win,doc,palette){const GLOBAL=\"__OCIP_THEME_V1__\";const KEY=\"ocip:appearance:v1\";const EVENT=\"ocip:appearance-change\";const STYLE_ID=\"ocip-theme-tokens-v1\";if(win[GLOBAL])return win[GLOBAL];const valid=value=>value===\"light\"||value===\"dark\";const readPreference=()=>{try{const value=win.localStorage.getItem(KEY);return valid(value)?value:null;}catch(_){return null;}};const media=typeof win.matchMedia===\"function\"?win.matchMedia(\"(prefers-color-scheme: dark)\"):null;let preference=readPreference();let snapshot=Object.freeze({choice:preference,theme:\"light\"});let sheet=doc.getElementById(STYLE_ID);if(!sheet){sheet=doc.createElement(\"style\");sheet.id=STYLE_ID;sheet.textContent=[\"light\",\"dark\"].map(theme=>{const declarations=Object.keys(palette).map(id=>\"--token-\"+id+\":\"+palette[id][theme]+\"!important;\").join(\"\");return'html[data-ocip-theme=\"'+theme+'\"],html[data-ocip-theme=\"'+theme+'\"] body{'+declarations+\"}\";}).join(\"\\n\");(doc.head||doc.documentElement).appendChild(sheet);}function apply(){const theme=preference||(media&&media.matches?\"dark\":\"light\");const root=doc.documentElement;// Apply token selection before notifying computed-surface consumers.\nroot.setAttribute(\"data-ocip-theme\",theme);root.style.colorScheme=theme;root.setAttribute(\"data-theme\",theme);snapshot=Object.freeze({choice:preference,theme});win.dispatchEvent(new win.CustomEvent(EVENT,{detail:snapshot}));}function setPreference(next){if(next!==null&&!valid(next))throw new TypeError(\"Invalid OCIP appearance\");preference=next;try{if(next===null)win.localStorage.removeItem(KEY);else win.localStorage.setItem(KEY,next);}catch(_){// The visible choice still works for this document without storage.\n}apply();}function onSystemChange(){if(preference===null)apply();}function onStorage(event){if(event.key!==KEY&&event.key!==null)return;preference=event.key===null?readPreference():valid(event.newValue)?event.newValue:null;apply();}const runtime=Object.freeze({version:1,storageKey:KEY,eventName:EVENT,getSnapshot:()=>snapshot,setPreference});win[GLOBAL]=runtime;if(media){if(typeof media.addEventListener===\"function\")media.addEventListener(\"change\",onSystemChange);else if(typeof media.addListener===\"function\")media.addListener(onSystemChange);}win.addEventListener(\"storage\",onStorage);apply();return runtime;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 152\n * @framerIntrinsicHeight 44\n */export default function OCIPThemeSwitch(props){const{appearance=\"adaptive\",style}=props;const isStatic=useIsStaticRenderer();const[theme,setTheme]=React.useState(null);const runtimeRef=React.useRef(null);React.useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const runtime=installOCIPThemeRuntime(window,document,OCIP_THEME_PALETTE);runtimeRef.current=runtime;const sync=()=>setTheme(runtime.getSnapshot().theme);window.addEventListener(runtime.eventName,sync);sync();return()=>{window.removeEventListener(runtime.eventName,sync);runtimeRef.current=null;};},[isStatic]);const darkSurface=appearance===\"onDark\";const foreground=darkSurface?\"rgb(245, 241, 234)\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8, rgb(23, 19, 15))\";const border=darkSurface?\"rgba(245, 241, 234, 0.32)\":\"var(--token-34de6aa1-1149-4dc6-af40-31c50878c1c6, rgba(23, 19, 15, 0.26))\";const selectedFill=darkSurface?\"rgba(245, 241, 234, 0.16)\":\"var(--token-e401e883-d234-4214-a34b-da04e471210e, rgba(23, 19, 15, 0.13))\";const displayTheme=theme||(isStatic?\"light\":null);return /*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":\"Appearance\",style:{display:\"flex\",boxSizing:\"border-box\",width:152,height:44,minWidth:132,minHeight:44,gap:0,border:`1px solid ${border}`,borderRadius:999,background:\"transparent\",color:foreground,...style},children:[\"light\",\"dark\"].map(mode=>{const selected=displayTheme===mode;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":selected,disabled:!isStatic&&!theme,onClick:()=>runtimeRef.current?.setPreference(mode),style:{appearance:\"none\",WebkitAppearance:\"none\",flex:\"1 1 0\",minWidth:0,minHeight:44,margin:-1,padding:\"0 13px\",border:\"1px solid transparent\",borderRadius:999,background:selected?selectedFill:\"transparent\",color:foreground,fontFamily:'\"JetBrains Mono\", monospace',fontSize:10,fontWeight:selected?600:400,lineHeight:\"1\",letterSpacing:\"0.06em\",textAlign:\"center\",cursor:\"pointer\",outlineOffset:3},children:mode===\"light\"?\"Light\":\"Dark\"},mode);})});}addPropertyControls(OCIPThemeSwitch,{appearance:{type:ControlType.Enum,title:\"Appearance\",options:[\"onDark\",\"adaptive\"],optionTitles:[\"On dark\",\"Adaptive\"],defaultValue:\"adaptive\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OCIPThemeSwitch\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"44\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"152\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OCIPThemeSwitch.map","// Generated by Framer (d039229)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-eTGgt .framer-styles-preset-1qma4wu:not(.rich-text-wrapper), .framer-eTGgt .framer-styles-preset-1qma4wu.rich-text-wrapper a { --framer-link-current-text-decoration: underline; --framer-link-current-text-decoration-color: var(--token-21c5febb-94c8-4e63-8ce5-04e409a682ae); --framer-link-current-text-decoration-offset: 4px; --framer-link-current-text-decoration-thickness: 1px; --framer-link-text-color: var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.24s; transition-property: color; transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }\"];export const className=\"framer-eTGgt\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d039229)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-e0POR .framer-styles-preset-1qlacz6:not(.rich-text-wrapper), .framer-e0POR .framer-styles-preset-1qlacz6.rich-text-wrapper a { --framer-link-current-text-decoration: underline; --framer-link-current-text-decoration-color: var(--token-441dcada-d2fa-4e03-9469-b26f2b102fd7); --framer-link-current-text-decoration-offset: 4px; --framer-link-current-text-decoration-thickness: 1px; --framer-link-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.24s; transition-property: color; transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }\"];export const className=\"framer-e0POR\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (af78293)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,Link,ResolveLinks,RichText,runTasksWithYield,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCodeBoundaryForOverrides,withCSS,withMappedReactProps}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import BrandMark from\"https://framerusercontent.com/modules/fJBSH3yVOQQrM3RSTdWU/degMahwx4X0l8VII6lgI/BrandMark.js\";import{withNativeCanvasAttribution,withNavProgress}from\"https://framerusercontent.com/modules/7ACRIwZPJT8eZQZc39ib/OcEgIgMHmfOTAc3grgrf/Interactions.js\";import OCIPThemeSwitch from\"https://framerusercontent.com/modules/EPfbDSmpzehuBDQFC1xH/oamVmb9JKx3EkG4UkEih/OCIPThemeSwitch.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/wm8abjRxP4A2NlHYR8J7/dEuWHWs8y8qe6dqYINou/k9gSA62CF.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/elNO1JnOXxEQ5BizzowI/vlN6LHFJ28ul3IECoqq0/QfQP0gIXU.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/w5epRMwRg1wIQXx4QWFo/571ryj8796VHXSiATAf1/V5ojAPW64.js\";import Button,*as ButtonInfo from\"https://framerusercontent.com/modules/xk7LtyonEvcS2KSBN4IE/41QB2DWSn5EyPh7UThUk/XfYeu5py0.js\";const BrandMarkFonts=getFonts(BrandMark);const OCIPThemeSwitchFonts=getFonts(OCIPThemeSwitch);const ButtonFonts=getFonts(Button);const ButtonWithNativeCanvasAttribution1uoz77yWithMappedReactProps1v1ipky=withMappedReactProps(withCodeBoundaryForOverrides(Button,{nodeId:\"sAFINORyW\",override:withNativeCanvasAttribution,scopeId:\"xXWIbXPT7\"}),ButtonInfo);const MotionDivWithNavProgressnjx629=withCodeBoundaryForOverrides(motion.div,{nodeId:\"f94GkFhB3\",override:withNavProgress,scopeId:\"xXWIbXPT7\"});const MotionHeaderWithNativeCanvasAttribution18nmmk7=withCodeBoundaryForOverrides(motion.header,{nodeId:\"CamKastVQ\",override:withNativeCanvasAttribution,scopeId:\"xXWIbXPT7\"});const cycleOrder=[\"CamKastVQ\",\"ALAdNMSwS\",\"yUu11Ib3v\",\"cVY8VGVaK\",\"h_4bRIBCo\",\"JxfEo1awB\"];const serializationHash=\"framer-euXEU\";const variantClassNames={ALAdNMSwS:\"framer-v-tgx3ah\",CamKastVQ:\"framer-v-18nmmk7\",cVY8VGVaK:\"framer-v-1afo5gi\",h_4bRIBCo:\"framer-v-1jlde6n\",JxfEo1awB:\"framer-v-980ytl\",yUu11Ib3v:\"framer-v-pe4l80\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const G_RwBm7hw=undefined;const transition1={delay:0,duration:.48,ease:[.25,1,.5,1],type:\"tween\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Desktop Pinned\":\"ALAdNMSwS\",\"Phone Pinned\":\"JxfEo1awB\",\"Tablet Pinned\":\"cVY8VGVaK\",Desktop:\"CamKastVQ\",Phone:\"h_4bRIBCo\",Tablet:\"yUu11Ib3v\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,openMenu,width,...props})=>{return{...props,G_RwBm7hw:openMenu??props.G_RwBm7hw,variant:humanReadableVariantMap[props.variant]??props.variant??\"CamKastVQ\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};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 componentViewport=useComponentViewport();const{style,className,layoutId,variant,G_RwBm7hw,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"CamKastVQ\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"yUu11Ib3v\",\"cVY8VGVaK\",\"h_4bRIBCo\",\"JxfEo1awB\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"h_4bRIBCo\",\"JxfEo1awB\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed2=()=>{if([\"yUu11Ib3v\",\"cVY8VGVaK\",\"h_4bRIBCo\",\"JxfEo1awB\"].includes(baseVariant))return true;return false;};const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapoj9r6=activeVariantCallback(async(...args)=>{if(G_RwBm7hw){const res=await G_RwBm7hw(...args);if(res===false)return false;}});return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(MotionHeaderWithNativeCanvasAttribution18nmmk7,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-18nmmk7\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"CamKastVQ\",ref:refBinding,style:{backdropFilter:\"none\",backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"none\",WebkitBackdropFilter:\"none\",...style},variants:{ALAdNMSwS:{backdropFilter:\"blur(18px)\",backgroundColor:\"var(--token-42adc31e-e5bb-43bd-b7ad-ca254d44535b)\",boxShadow:\"0px 1px 0px 0px rgba(23, 19, 15, 0.1)\",WebkitBackdropFilter:\"blur(18px)\"},cVY8VGVaK:{backdropFilter:\"blur(18px)\",backgroundColor:\"var(--token-42adc31e-e5bb-43bd-b7ad-ca254d44535b)\",boxShadow:\"0px 1px 0px 0px rgba(23, 19, 15, 0.1)\",WebkitBackdropFilter:\"blur(18px)\"},h_4bRIBCo:{backdropFilter:\"none\",backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"none\",WebkitBackdropFilter:\"none\"},JxfEo1awB:{backdropFilter:\"blur(18px)\",backgroundColor:\"var(--token-42adc31e-e5bb-43bd-b7ad-ca254d44535b)\",boxShadow:\"0px 1px 0px 0px rgba(23, 19, 15, 0.1)\",WebkitBackdropFilter:\"blur(18px)\"},yUu11Ib3v:{backdropFilter:\"none\",backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"none\",WebkitBackdropFilter:\"none\"}},...addPropertyOverrides({ALAdNMSwS:{\"data-framer-name\":\"Desktop Pinned\"},cVY8VGVaK:{\"data-framer-name\":\"Tablet Pinned\"},h_4bRIBCo:{\"data-framer-name\":\"Phone\"},JxfEo1awB:{\"data-framer-name\":\"Phone Pinned\"},yUu11Ib3v:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-vynaeq\",\"data-framer-name\":\"Nav Inner\",layoutDependency:layoutDependency,layoutId:\"K9CZkbT91\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"e3i2EZ7Hi\",scopeId:\"xXWIbXPT7\",children:/*#__PURE__*/_jsx(motion.a,{\"aria-label\":\"OCIP Co. — home\",className:\"framer-zw7iob framer-10zlzfr\",\"data-framer-name\":\"Brand\",layoutDependency:layoutDependency,layoutId:\"e3i2EZ7Hi\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1bt9c8n-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"kxNl29OtS-container\",nodeId:\"kxNl29OtS\",rendersWithMotion:true,scopeId:\"xXWIbXPT7\",children:/*#__PURE__*/_jsx(BrandMark,{color:\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\",height:\"100%\",id:\"kxNl29OtS\",layoutId:\"kxNl29OtS\",strokeWidth:1.2,style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({ALAdNMSwS:{color:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},cVY8VGVaK:{color:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},JxfEo1awB:{color:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},baseVariant,gestureVariant)})})})})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.nav,{\"aria-label\":\"Primary\",className:\"framer-z93okg\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"NGnUH9DI4\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ahZfeefAY\"},motionChild:true,nodeId:\"rcjBfuP9o\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qlacz6\",\"data-styles-preset\":\"V5ojAPW64\",children:\"About\"})})})}),className:\"framer-1ngygku\",\"data-framer-name\":\"Link Studio\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"rcjBfuP9o\",style:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{ALAdNMSwS:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ALAdNMSwS:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ahZfeefAY\"},motionChild:true,nodeId:\"rcjBfuP9o\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qma4wu\",\"data-styles-preset\":\"k9gSA62CF\",children:\"About\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xuD4K3qE2\"},motionChild:true,nodeId:\"xduYtcnE9\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qlacz6\",\"data-styles-preset\":\"V5ojAPW64\",children:\"Services\"})})})}),className:\"framer-ggq37a\",\"data-framer-name\":\"Link Services\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"xduYtcnE9\",style:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{ALAdNMSwS:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ALAdNMSwS:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xuD4K3qE2\"},motionChild:true,nodeId:\"xduYtcnE9\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qma4wu\",\"data-styles-preset\":\"k9gSA62CF\",children:\"Services\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QJU9e0f_U\"},motionChild:true,nodeId:\"Ye8dUhlfD\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qlacz6\",\"data-styles-preset\":\"V5ojAPW64\",children:\"Work\"})})})}),className:\"framer-1vyf18l\",\"data-framer-name\":\"Link Work\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Ye8dUhlfD\",style:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{ALAdNMSwS:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ALAdNMSwS:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QJU9e0f_U\"},motionChild:true,nodeId:\"Ye8dUhlfD\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qma4wu\",\"data-styles-preset\":\"k9gSA62CF\",children:\"Work\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:/*#__PURE__*/_jsx(Link,{href:{hash:\":vh0EbgSML\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"IpN59MBut\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qlacz6\",\"data-styles-preset\":\"V5ojAPW64\",children:\"Planning\"})})})}),className:\"framer-1dosbq8\",\"data-framer-name\":\"Link Process\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"IpN59MBut\",style:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{ALAdNMSwS:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ALAdNMSwS:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:/*#__PURE__*/_jsx(Link,{href:{hash:\":vh0EbgSML\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"IpN59MBut\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qma4wu\",\"data-styles-preset\":\"k9gSA62CF\",children:\"Planning\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"HZ9DbsMN9\"},motionChild:true,nodeId:\"Ih9okDb_r\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qlacz6\",\"data-styles-preset\":\"V5ojAPW64\",children:\"Contact\"})})})}),className:\"framer-15d43az\",\"data-framer-name\":\"Link Contact\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Ih9okDb_r\",style:{\"--extracted-r6o4lv\":\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{ALAdNMSwS:{\"--extracted-r6o4lv\":\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ALAdNMSwS:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-wgq5bz\",\"data-styles-preset\":\"QfQP0gIXU\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"HZ9DbsMN9\"},motionChild:true,nodeId:\"Ih9okDb_r\",openInNewTab:false,relValues:[],scopeId:\"xXWIbXPT7\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qma4wu\",\"data-styles-preset\":\"k9gSA62CF\",children:\"Contact\"})})})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-2sgbee\",\"data-framer-name\":\"Nav End\",layoutDependency:layoutDependency,layoutId:\"S8UuN7KiI\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1nf2lh2-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Appearance switch\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"a2NrtPAsp-container\",name:\"Appearance switch\",nodeId:\"a2NrtPAsp\",rendersWithMotion:true,scopeId:\"xXWIbXPT7\",children:/*#__PURE__*/_jsx(OCIPThemeSwitch,{appearance:\"onDark\",height:\"100%\",id:\"a2NrtPAsp\",layoutId:\"a2NrtPAsp\",name:\"Appearance switch\",style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({ALAdNMSwS:{appearance:\"adaptive\"}},baseVariant,gestureVariant)})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":JQN0HiEeX\",webPageId:\"HZ9DbsMN9\"},implicitPathVariables:undefined},{href:{hash:\":JQN0HiEeX\",webPageId:\"HZ9DbsMN9\"},implicitPathVariables:undefined},{href:{hash:\":JQN0HiEeX\",webPageId:\"HZ9DbsMN9\"},implicitPathVariables:undefined},{href:{hash:\":JQN0HiEeX\",webPageId:\"HZ9DbsMN9\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,y:(componentViewport?.y||0)+0+0+22+0,...addPropertyOverrides({cVY8VGVaK:{y:(componentViewport?.y||0)+0+0+20+0},yUu11Ib3v:{y:(componentViewport?.y||0)+0+0+20+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1uoz77y-container\",layoutDependency:layoutDependency,layoutId:\"sAFINORyW-container\",nodeId:\"sAFINORyW\",rendersWithMotion:true,scopeId:\"xXWIbXPT7\",children:/*#__PURE__*/_jsx(ButtonWithNativeCanvasAttribution1uoz77yWithMappedReactProps1v1ipky,{Cq_mjNB61:\"Request an estimate\",EKsSRHfzp:false,ES8q4HqzE:resolvedLinks[0],height:\"100%\",id:\"sAFINORyW\",layoutId:\"sAFINORyW\",Tke6UIO_i:false,variant:matchVariant(\"Rcc2p9S9T\"),width:\"100%\",...addPropertyOverrides({ALAdNMSwS:{ES8q4HqzE:resolvedLinks[1],variant:matchVariant(\"aYy3PvLMc\")},cVY8VGVaK:{ES8q4HqzE:resolvedLinks[3],variant:matchVariant(\"aYy3PvLMc\")},yUu11Ib3v:{ES8q4HqzE:resolvedLinks[2]}},baseVariant,gestureVariant)})})})}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.button,{\"aria-label\":\"Menu\",className:\"framer-1ovlrtw\",\"data-framer-name\":\"Burger\",\"data-highlight\":true,\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"aZie_eG6Y\",onTap:onTapoj9r6,style:{borderBottomLeftRadius:\"50%\",borderBottomRightRadius:\"50%\",borderTopLeftRadius:\"50%\",borderTopRightRadius:\"50%\",boxShadow:\"inset 0px 0px 0px 1px var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{cVY8VGVaK:{boxShadow:\"inset 0px 0px 0px 1px var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},JxfEo1awB:{boxShadow:\"inset 0px 0px 0px 1px var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-t7jpie\",\"data-framer-name\":\"Line 1\",layoutDependency:layoutDependency,layoutId:\"TyxZum_Yp\",style:{backgroundColor:\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{cVY8VGVaK:{backgroundColor:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},JxfEo1awB:{backgroundColor:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1nlwtqj\",\"data-framer-name\":\"Line 2\",layoutDependency:layoutDependency,layoutId:\"vjr5aeG0q\",style:{backgroundColor:\"var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462)\"},variants:{cVY8VGVaK:{backgroundColor:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"},JxfEo1awB:{backgroundColor:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8)\"}}})]})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-mpxsc1\",\"data-framer-name\":\"Progress\",layoutDependency:layoutDependency,layoutId:\"pUqnStFph\",children:/*#__PURE__*/_jsx(MotionDivWithNavProgressnjx629,{className:\"framer-njx629\",\"data-framer-name\":\"Progress Fill\",layoutDependency:layoutDependency,layoutId:\"f94GkFhB3\",style:{backgroundColor:\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8, rgb(196, 30, 42))\"}})})]})})})});});const css=[\".framer-euXEU.framer-10zlzfr, .framer-euXEU .framer-10zlzfr { display: block; }\",\".framer-euXEU.framer-18nmmk7 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 1200px; }\",\".framer-euXEU .framer-vynaeq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1440px; padding: 22px 48px 22px 48px; position: relative; width: 100%; }\",\".framer-euXEU .framer-zw7iob { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 11px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-euXEU .framer-1bt9c8n-container { flex: none; height: 42px; position: relative; width: 140px; }\",\".framer-euXEU .framer-z93okg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; padding: 0px; position: relative; width: min-content; }\",\".framer-euXEU .framer-1ngygku, .framer-euXEU .framer-ggq37a, .framer-euXEU .framer-1vyf18l, .framer-euXEU .framer-1dosbq8, .framer-euXEU .framer-15d43az { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-euXEU .framer-2sgbee { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-end; padding: 0px; position: relative; width: min-content; }\",\".framer-euXEU .framer-1nf2lh2-container { flex: none; height: 44px; position: relative; width: 152px; }\",\".framer-euXEU .framer-1uoz77y-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-euXEU .framer-1ovlrtw { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 5px; height: 46px; justify-content: center; padding: 0px; position: relative; width: 46px; }\",\".framer-euXEU .framer-t7jpie, .framer-euXEU .framer-1nlwtqj { flex: none; height: 1px; position: relative; width: 16px; }\",\".framer-euXEU .framer-mpxsc1 { flex: none; height: 1px; overflow: visible; position: relative; width: 100%; }\",\".framer-euXEU .framer-njx629 { flex: none; height: 1px; left: 0px; position: absolute; top: 0px; width: 100%; }\",\".framer-euXEU.framer-v-pe4l80.framer-18nmmk7, .framer-euXEU.framer-v-1afo5gi.framer-18nmmk7 { width: 810px; }\",\".framer-euXEU.framer-v-pe4l80 .framer-vynaeq, .framer-euXEU.framer-v-1afo5gi .framer-vynaeq { padding: 20px 32px 20px 32px; }\",\".framer-euXEU.framer-v-1jlde6n.framer-18nmmk7, .framer-euXEU.framer-v-980ytl.framer-18nmmk7 { width: 390px; }\",\".framer-euXEU.framer-v-1jlde6n .framer-vynaeq, .framer-euXEU.framer-v-980ytl .framer-vynaeq { padding: 16px 20px 16px 20px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 91\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"ALAdNMSwS\":{\"layout\":[\"fixed\",\"auto\"]},\"yUu11Ib3v\":{\"layout\":[\"fixed\",\"auto\"]},\"cVY8VGVaK\":{\"layout\":[\"fixed\",\"auto\"]},\"h_4bRIBCo\":{\"layout\":[\"fixed\",\"auto\"]},\"JxfEo1awB\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"G_RwBm7hw\":\"openMenu\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerxXWIbXPT7=withCSS(Component,css,\"framer-euXEU\");export default FramerxXWIbXPT7;FramerxXWIbXPT7.displayName=\"Nav\";FramerxXWIbXPT7.defaultProps={height:91,width:1200};addPropertyControls(FramerxXWIbXPT7,{variant:{options:[\"CamKastVQ\",\"ALAdNMSwS\",\"yUu11Ib3v\",\"cVY8VGVaK\",\"h_4bRIBCo\",\"JxfEo1awB\"],optionTitles:[\"Desktop\",\"Desktop Pinned\",\"Tablet\",\"Tablet Pinned\",\"Phone\",\"Phone Pinned\"],title:\"Variant\",type:ControlType.Enum},G_RwBm7hw:{title:\"Open Menu\",type:ControlType.EventHandler}});addFonts(FramerxXWIbXPT7,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...BrandMarkFonts,...OCIPThemeSwitchFonts,...ButtonFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});FramerxXWIbXPT7.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(Button,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerxXWIbXPT7\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ALAdNMSwS\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"yUu11Ib3v\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cVY8VGVaK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"h_4bRIBCo\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"JxfEo1awB\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"91\",\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"G_RwBm7hw\\\":\\\"openMenu\\\"}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,isValidElement,useEffect,useId,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";const HEADING=/^h[1-6]$/;/** Returns [top, right, bottom, left] in px from a CSS padding shorthand. */function parsePadding(value){const parts=(value||\"0px\").trim().split(/\\s+/).map(p=>parseFloat(p)||0);const[t,r=t,b=t,l=r]=parts;return[t,r,b,l];}function extractText(node){if(node===null||node===undefined||typeof node===\"boolean\")return\"\";if(typeof node===\"string\"||typeof node===\"number\")return String(node);if(Array.isArray(node))return node.map(extractText).join(\"\");if(/*#__PURE__*/isValidElement(node)){const children=node.props.children;const text=extractText(children);// Keep block boundaries readable in the schema text.\nreturn typeof node.type===\"string\"&&/^(p|li|h[1-6])$/.test(node.type)?text+\" \":text;}return\"\";}/** Finds the flat list of blocks (headings, paragraphs, lists) inside a Rich Text value. */function getBlocks(node,depth=0){if(!/*#__PURE__*/isValidElement(node)||depth>6)return[];const children=Children.toArray(node.props.children);const hasHeading=children.some(child=>/*#__PURE__*/isValidElement(child)&&typeof child.type===\"string\"&&HEADING.test(child.type));if(hasHeading)return children;for(const child of children){const found=getBlocks(child,depth+1);if(found.length)return found;}return[];}/** Headings become questions; every block until the next heading becomes the answer. */function parseRichText(richText){const entries=[];let current=null;for(const block of getBlocks(richText)){if(/*#__PURE__*/isValidElement(block)&&typeof block.type===\"string\"&&HEADING.test(block.type)){if(current)entries.push(current);current={question:block.props.children,answer:[]};}else if(current){current.answer.push(block);}}if(current)entries.push(current);return entries;}function parseManual(items=[]){return items.filter(item=>item&&item.question).map(item=>({question:item.question,answer:(item.answer||\"\").split(/\\n\\s*\\n/).filter(Boolean).map((paragraph,i)=>/*#__PURE__*/_jsx(\"p\",{children:paragraph},i))}));}function Icon({icon,open,isStatic}){if(icon.type===\"none\")return null;const color=open?icon.openColor:icon.color;const ease={duration:.3,ease:[.22,1,.36,1]};const svgProps={width:icon.size,height:icon.size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:icon.strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true};let glyph;if(icon.type===\"plus\"){// Plus that collapses into a minus.\nconst vertical={scaleY:open?0:1,opacity:open?0:1};const origin={transformBox:\"fill-box\",transformOrigin:\"center\"};glyph=/*#__PURE__*/_jsxs(\"svg\",{...svgProps,style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14\"}),isStatic?/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14\",style:{...origin,opacity:vertical.opacity,transform:`scaleY(${vertical.scaleY})`}}):/*#__PURE__*/_jsx(motion.path,{d:\"M12 5v14\",style:origin,initial:false,animate:vertical,transition:ease})]});}else{const shapes={chevron:{d:\"M6 9l6 6 6-6\",rotate:180},arrow:{d:\"M5 12h14M13 6l6 6-6 6\",rotate:90},plusRotate:{d:\"M12 5v14M5 12h14\",rotate:45}};const shape=shapes[icon.type]??shapes.chevron;const rotate=open?shape.rotate:0;glyph=isStatic?/*#__PURE__*/_jsx(\"svg\",{...svgProps,style:{display:\"block\",transform:`rotate(${rotate}deg)`},children:/*#__PURE__*/_jsx(\"path\",{d:shape.d})}):/*#__PURE__*/_jsx(motion.svg,{...svgProps,style:{display:\"block\",transition:\"stroke 0.2s ease\"},initial:false,animate:{rotate},transition:ease,children:/*#__PURE__*/_jsx(\"path\",{d:shape.d})});}const wrapperSize=icon.showBackground?Math.max(icon.backgroundSize,icon.size):icon.size;return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{flexShrink:0,width:wrapperSize,height:wrapperSize,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"50%\",background:icon.showBackground?open?icon.openBackground:icon.background:\"transparent\",transition:isStatic?undefined:\"background-color 0.2s ease\"},children:glyph});}function AnswerPanel({id,labelledBy,open,transition,isStatic,children}){const ref=useRef(null);// Closed answers stay readable by screen readers and crawlers, but links\n// inside them leave the tab order so keyboard focus never lands on hidden text.\nuseEffect(()=>{const panel=ref.current;if(!panel)return;const focusable=panel.querySelectorAll(\"a[href], button, input, select, textarea, [tabindex]\");focusable.forEach(node=>{if(!open){if(!node.hasAttribute(\"data-faq-tabindex\")){node.setAttribute(\"data-faq-tabindex\",node.getAttribute(\"tabindex\")??\"\");}node.setAttribute(\"tabindex\",\"-1\");}else if(node.hasAttribute(\"data-faq-tabindex\")){const previous=node.getAttribute(\"data-faq-tabindex\");if(previous)node.setAttribute(\"tabindex\",previous);else node.removeAttribute(\"tabindex\");node.removeAttribute(\"data-faq-tabindex\");}});},[open,children]);// Canvas and export: show the final state with no height or opacity animation.\nif(isStatic){return /*#__PURE__*/_jsx(\"div\",{ref:ref,id:id,role:\"region\",\"aria-labelledby\":labelledBy,style:{overflow:\"hidden\",height:open?\"auto\":0},children:children});}return /*#__PURE__*/_jsx(motion.div,{ref:ref,id:id,role:\"region\",\"aria-labelledby\":labelledBy,initial:false,animate:{height:open?\"auto\":0,opacity:open?1:0},transition:{...transition,opacity:{duration:open?.25:.15,delay:open?.05:0}},style:{overflow:\"hidden\"},children:children});}/**\n * FAQ Accordion — questions and answers from manual items or a Rich Text field,\n * shown as an accordion or a plain list, with FAQPage JSON-LD for SEO.\n *\n * In Rich Text mode, headings (h1–h6) become questions and every block that\n * follows (paragraphs, lists, links) becomes that question's answer.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 640\n * @framerDisableUnlink\n */export default function FAQAccordion(props){const{source,items,richText,displayMode,accordionStyle,allowMultiple,initialOpen,prefix,showAnswerDivider,gap,answerSpacing,paragraphSpacing,questionFont,answerFont,itemStyle,icon,text,focusColor,transition,emitSchema,style}=props;const isStatic=useIsStaticRenderer();const uid=useId().replace(/:/g,\"\");const scope=`faq-${uid}`;const entries=useMemo(()=>{if(source===\"richText\"){const parsed=parseRichText(richText);if(parsed.length||!isStatic)return parsed;return[{question:\"Add headings for questions\",answer:[/*#__PURE__*/_jsx(\"p\",{children:\"Paragraphs below each heading become the answer.\"},\"0\")]},{question:\"Lists and links are supported\",answer:[/*#__PURE__*/_jsx(\"p\",{children:\"Anything until the next heading is kept.\"},\"0\")]}];}return parseManual(items);},[source,richText,items,isStatic]);const initialSet=()=>{if(initialOpen===\"all\")return new Set(entries.map((_,i)=>i));if(initialOpen===\"first\"&&entries.length)return new Set([0]);return new Set;};const[openSet,setOpenSet]=useState(initialSet);// Keep the canvas preview in sync with the \"Initially Open\" control.\nuseEffect(()=>{if(isStatic)setOpenSet(initialSet());},[initialOpen,entries.length,isStatic]);const triggers=useRef([]);const toggle=index=>{startTransition(()=>setOpenSet(prev=>{const next=new Set(allowMultiple?prev:[]);if(prev.has(index))next.delete(index);else next.add(index);return next;}));};const onTriggerKeyDown=(event,index)=>{const count=entries.length;let target=null;if(event.key===\"ArrowDown\")target=(index+1)%count;else if(event.key===\"ArrowUp\")target=(index-1+count)%count;else if(event.key===\"Home\")target=0;else if(event.key===\"End\")target=count-1;if(target!==null){event.preventDefault();triggers.current[target]?.focus();}};const schema=useMemo(()=>JSON.stringify({\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",mainEntity:entries.map(entry=>({\"@type\":\"Question\",name:extractText(entry.question).trim(),acceptedAnswer:{\"@type\":\"Answer\",text:extractText(entry.answer).trim()}}))}),[entries]);const HeadingTag=text.headingTag||\"h3\";const[padT,padR,padB,padL]=parsePadding(itemStyle.padding);const iconWidth=icon.type===\"none\"?0:icon.showBackground?Math.max(icon.backgroundSize,icon.size):icon.size;const headerGap=16;const answerIndent=icon.position===\"left\"&&iconWidth?iconWidth+headerGap:0;const border=itemStyle.border||{};const borderWidth=border.borderWidth??0;const borderColor=border.borderColor||\"transparent\";const borderStyle=border.borderStyle||\"solid\";const divider=borderWidth?`${borderWidth}px ${borderStyle} ${borderColor}`:\"none\";const renderPrefix=(index,kind)=>{if(prefix===\"none\")return null;const label=prefix===\"numbers\"?kind===\"q\"?String(index+1).padStart(2,\"0\"):null:kind===\"q\"?\"Q\":\"A\";if(!label)return null;return /*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":true,style:{color:text.prefixColor,fontVariantNumeric:\"tabular-nums\",marginRight:\"0.6em\",flexShrink:0},children:[label,prefix===\"qa\"?\":\":\"\"]});};const css=`\n        .${scope} .faq-answer > * { margin: 0; }\n        .${scope} .faq-answer > * + * { margin-top: ${paragraphSpacing}px; }\n        .${scope} .faq-answer ul, .${scope} .faq-answer ol { padding-left: 1.25em; }\n        .${scope} .faq-answer li + li { margin-top: 0.35em; }\n        .${scope} .faq-answer a { color: ${text.linkColor}; text-decoration: underline; text-underline-offset: 0.2em; }\n        ${isStatic?\"\":`.${scope} .faq-item { transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.25s ease; }`}\n        .${scope} .faq-item[data-open=\"false\"]:not([data-minimal=\"true\"]):hover { background-color: ${itemStyle.hoverBackground} !important; }\n        .${scope} .faq-trigger { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; -webkit-tap-highlight-color: transparent; }\n        .${scope} .faq-trigger:focus-visible { outline: 2px solid ${focusColor}; outline-offset: -2px; border-radius: ${itemStyle.radius}; }\n    `;const answerContent=(entry,index)=>/*#__PURE__*/_jsx(\"div\",{className:\"faq-answer\",style:{color:text.answerColor,...answerFont},children:prefix===\"qa\"?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\"},children:[renderPrefix(index,\"a\"),/*#__PURE__*/_jsx(\"div\",{className:\"faq-answer\",style:{flex:1,minWidth:0},children:entry.answer})]}):entry.answer});const renderList=()=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap},children:entries.map((entry,index)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(HeadingTag,{style:{margin:0,marginBottom:answerSpacing,display:\"flex\",color:text.questionColor,...questionFont},children:[renderPrefix(index,\"q\"),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minWidth:0},children:entry.question})]}),answerContent(entry,index)]},index))});const renderAccordion=()=>{const joined=accordionStyle===\"joined\";const minimal=accordionStyle===\"minimal\";return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:joined||minimal?0:gap,...joined?{border:divider,borderRadius:itemStyle.radius,boxShadow:itemStyle.shadow,overflow:\"hidden\",background:itemStyle.background}:{}},children:entries.map((entry,index)=>{const open=openSet.has(index);const triggerId=`${scope}-q-${index}`;const panelId=`${scope}-a-${index}`;const itemCss=minimal?{background:\"transparent\",borderBottom:divider,borderColor:open?itemStyle.openBorderColor:borderColor}:joined?{background:open?itemStyle.openBackground:itemStyle.background,borderTop:index>0?divider:\"none\"}:{background:open?itemStyle.openBackground:itemStyle.background,borderStyle,borderColor:open?itemStyle.openBorderColor:borderColor,borderTopWidth:border.borderTopWidth??borderWidth,borderRightWidth:border.borderRightWidth??borderWidth,borderBottomWidth:border.borderBottomWidth??borderWidth,borderLeftWidth:border.borderLeftWidth??borderWidth,borderRadius:itemStyle.radius,boxShadow:open?itemStyle.openShadow||itemStyle.shadow:itemStyle.shadow};return /*#__PURE__*/_jsxs(\"div\",{className:\"faq-item\",\"data-open\":open?\"true\":\"false\",\"data-minimal\":minimal?\"true\":\"false\",style:{overflow:\"hidden\",...itemCss},children:[/*#__PURE__*/_jsx(HeadingTag,{style:{margin:0,font:\"inherit\"},children:/*#__PURE__*/_jsxs(\"button\",{ref:el=>{triggers.current[index]=el;},id:triggerId,type:\"button\",className:\"faq-trigger\",\"aria-expanded\":open,\"aria-controls\":panelId,onClick:()=>toggle(index),onKeyDown:e=>onTriggerKeyDown(e,index),style:{display:\"flex\",alignItems:\"center\",flexDirection:icon.position===\"left\"?\"row-reverse\":\"row\",gap:headerGap,padding:`${padT}px ${minimal?0:padR}px ${padB}px ${minimal?0:padL}px`,textAlign:\"left\",color:open?text.openQuestionColor:text.questionColor,transition:isStatic?undefined:\"color 0.2s ease\",...questionFont},children:[/*#__PURE__*/_jsxs(\"span\",{style:{flex:1,minWidth:0,display:\"flex\"},children:[renderPrefix(index,\"q\"),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minWidth:0},children:entry.question})]}),/*#__PURE__*/_jsx(Icon,{icon:icon,open:open,isStatic:isStatic})]})}),/*#__PURE__*/_jsx(AnswerPanel,{id:panelId,labelledBy:triggerId,open:open,transition:transition,isStatic:isStatic,children:/*#__PURE__*/_jsxs(\"div\",{style:{padding:`0 ${minimal?0:padR}px ${padB}px ${(minimal?0:padL)+answerIndent}px`},children:[showAnswerDivider&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{height:Math.max(borderWidth,1),background:borderColor,marginBottom:answerSpacing,opacity:.8}}),/*#__PURE__*/_jsx(\"div\",{style:{paddingTop:showAnswerDivider?0:Math.max(answerSpacing-padB,0)},children:answerContent(entry,index)})]})})]},index);})});};return /*#__PURE__*/_jsxs(\"div\",{className:scope,style:{...style,position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),displayMode===\"list\"?renderList():renderAccordion(),emitSchema&&entries.length>0&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:schema}})]});}FAQAccordion.displayName=\"FAQ Accordion\";const isList=p=>p.displayMode===\"list\";addPropertyControls(FAQAccordion,{source:{type:ControlType.Enum,title:\"Content\",options:[\"items\",\"richText\"],optionTitles:[\"Items\",\"Rich Text\"],defaultValue:\"items\",displaySegmentedControl:true},items:{type:ControlType.Array,title:\"Items\",hidden:p=>p.source===\"richText\",control:{type:ControlType.Object,controls:{question:{type:ControlType.String,title:\"Question\",defaultValue:\"What is your question?\"},answer:{type:ControlType.String,title:\"Answer\",displayTextArea:true,defaultValue:\"Write the answer here. Leave a blank line to start a new paragraph.\"}}},defaultValue:[{question:\"What is this component?\",answer:\"An accessible FAQ that works as an accordion or a plain list, and adds FAQ structured data so search engines can show your questions in results.\"},{question:\"Where do the questions come from?\",answer:\"Use Items to type questions and answers directly in the properties panel. Leave a blank line in an answer to start a new paragraph.\"},{question:\"Can I connect it to the CMS?\",answer:\"Yes. Switch Content to Rich Text and bind a CMS field. Each heading becomes a question, and everything below it until the next heading (paragraphs, lists and links) becomes the answer.\"},{question:\"Can more than one answer be open?\",answer:\"Turn on Allow Multiple to let visitors expand several answers at once. Initially Open decides whether none, the first or all answers start expanded.\"},{question:\"How do I change the look?\",answer:\"Pick a Style: Cards for separate items, Joined for one block with dividers, or Minimal for simple lines. The Item group sets fill, hover and open colors, border, radius, padding and shadows.\"},{question:\"Which icons are available?\",answer:\"Chevron, Plus / Minus, Plus / Close, Arrow or none. Place the icon on the left or right, adjust its size and stroke, and add a circular background that changes color when open.\"},{question:\"Can I number the questions?\",answer:\"Set Prefix to 01 for numbered questions, or Q / A to label questions and answers. Prefix color is set in Text Colors.\"},{question:\"Is it accessible?\",answer:\"Each question is a real button that announces whether it is open. Visitors can use Tab, the arrow keys, Home and End to move between questions, with a focus ring you can recolor.\"},{question:\"How does it help SEO?\",answer:\"SEO Schema adds FAQPage structured data. Closed answers stay in the page so search engines can still read them. Turn it off if another FAQ on the same page already adds schema.\"},{question:\"Can I show it without the accordion?\",answer:\"Switch Display to List to show every question and answer at once, using the same fonts, colors and spacing.\"}]},richText:{// RichText exists at runtime but is missing from the public typings.\ntype:ControlType.RichText,title:\"Rich Text\",hidden:p=>p.source!==\"richText\"},displayMode:{type:ControlType.Enum,title:\"Display\",options:[\"accordion\",\"list\"],optionTitles:[\"Accordion\",\"List\"],defaultValue:\"accordion\",displaySegmentedControl:true},accordionStyle:{type:ControlType.Enum,title:\"Style\",options:[\"cards\",\"joined\",\"minimal\"],optionTitles:[\"Cards\",\"Joined\",\"Minimal\"],defaultValue:\"cards\",displaySegmentedControl:true,hidden:isList},allowMultiple:{type:ControlType.Boolean,title:\"Allow Multiple\",defaultValue:false,hidden:isList},initialOpen:{type:ControlType.Enum,title:\"Initially Open\",options:[\"none\",\"first\",\"all\"],optionTitles:[\"None\",\"First\",\"All\"],defaultValue:\"first\",displaySegmentedControl:true,hidden:isList},prefix:{type:ControlType.Enum,title:\"Prefix\",options:[\"none\",\"numbers\",\"qa\"],optionTitles:[\"None\",\"01\",\"Q / A\"],defaultValue:\"none\",displaySegmentedControl:true},showAnswerDivider:{type:ControlType.Boolean,title:\"Answer Divider\",defaultValue:false,hidden:isList},gap:{type:ControlType.Number,title:\"Item Gap\",min:0,max:80,unit:\"px\",defaultValue:12},answerSpacing:{type:ControlType.Number,title:\"Q → A Spacing\",min:0,max:60,unit:\"px\",defaultValue:12},paragraphSpacing:{type:ControlType.Number,title:\"Paragraph Gap\",min:0,max:40,unit:\"px\",defaultValue:12},questionFont:{type:ControlType.Font,title:\"Question Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"18px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"}},answerFont:{type:ControlType.Font,title:\"Answer Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.6em\"}},text:{type:ControlType.Object,title:\"Text Colors\",icon:\"color\",controls:{questionColor:{type:ControlType.Color,title:\"Question\",defaultValue:\"#111111\"},openQuestionColor:{type:ControlType.Color,title:\"Question Open\",defaultValue:\"#111111\"},answerColor:{type:ControlType.Color,title:\"Answer\",defaultValue:\"#555555\"},prefixColor:{type:ControlType.Color,title:\"Prefix\",defaultValue:\"#999999\"},linkColor:{type:ControlType.Color,title:\"Links\",defaultValue:\"#0066FF\"},headingTag:{type:ControlType.Enum,title:\"Question Tag\",options:[\"h2\",\"h3\",\"h4\",\"p\"],optionTitles:[\"H2\",\"H3\",\"H4\",\"P\"],defaultValue:\"h3\",displaySegmentedControl:true}}},itemStyle:{type:ControlType.Object,title:\"Item\",icon:\"effect\",hidden:isList,controls:{background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#FFFFFF\"},hoverBackground:{type:ControlType.Color,title:\"Hover Fill\",defaultValue:\"#FAFAFA\"},openBackground:{type:ControlType.Color,title:\"Open Fill\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.08)\"}},openBorderColor:{type:ControlType.Color,title:\"Open Border\",defaultValue:\"rgba(0, 0, 0, 0.16)\"},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"14px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"20px 24px 20px 24px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0px 1px 2px 0px rgba(0, 0, 0, 0.04)\"},openShadow:{type:ControlType.BoxShadow,title:\"Open Shadow\",defaultValue:\"0px 8px 24px -8px rgba(0, 0, 0, 0.12)\"}}},icon:{type:ControlType.Object,title:\"Icon\",hidden:isList,controls:{type:{type:ControlType.Enum,title:\"Type\",options:[\"chevron\",\"plus\",\"plusRotate\",\"arrow\",\"none\"],optionTitles:[\"Chevron\",\"Plus / Minus\",\"Plus / Close\",\"Arrow\",\"None\"],defaultValue:\"chevron\"},position:{type:ControlType.Enum,title:\"Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"right\",displaySegmentedControl:true},size:{type:ControlType.Number,title:\"Size\",min:12,max:48,unit:\"px\",defaultValue:20},strokeWidth:{type:ControlType.Number,title:\"Stroke\",min:1,max:4,step:.25,defaultValue:2},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#111111\"},openColor:{type:ControlType.Color,title:\"Open Color\",defaultValue:\"#111111\"},showBackground:{type:ControlType.Boolean,title:\"Background\",defaultValue:false},background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#F2F2F2\",hidden:p=>!p.showBackground},openBackground:{type:ControlType.Color,title:\"Open Fill\",defaultValue:\"#111111\",hidden:p=>!p.showBackground},backgroundSize:{type:ControlType.Number,title:\"Fill Size\",min:16,max:64,unit:\"px\",defaultValue:32,hidden:p=>!p.showBackground}}},focusColor:{type:ControlType.Color,title:\"Focus Ring\",defaultValue:\"#0066FF\",hidden:isList},transition:{type:ControlType.Transition,title:\"Animation\",defaultValue:{type:\"tween\",ease:[.22,1,.36,1],duration:.35},hidden:isList},emitSchema:{type:ControlType.Boolean,title:\"SEO Schema\",description:\"Adds FAQPage structured data. Turn off if another FAQ on the page already emits it.\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FAQAccordion\",\"slots\":[\"richText\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"640\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SEO_FAQ.map","/**\n * OCIP configuration wrapper for SEO FAQs by Baruch Moskovits.\n * Free Marketplace component, Limited commercial license (client-site use).\n * https://www.framer.com/marketplace/components/seo-faqs/\n * https://www.framer.com/legal/community-terms\n * Original remote render, DOM and animation remain unchanged.\n * Local wrapper adds editable OCIP defaults only; schema is disabled.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";// @ts-ignore The Marketplace module is hosted by Framer without local TS declarations.\nimport MarketplaceFAQ from\"https://framerusercontent.com/modules/k1usDZVbPGGb6MwXSsed/GGsGcHV9htEwYIUYXwvp/SEO_FAQ.js\";const INK=\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8,#17130F)\";const BODY=\"var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d,#4A4038)\";const ACCENT=\"var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8)\";const LINE=\"var(--token-e401e883-d234-4214-a34b-da04e471210e,rgba(23,19,15,.13))\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 920\n */export default function OCIPFAQ(props){// Keep the approved OCIP families; the Font controls still edit size, weight and spacing.\nreturn /*#__PURE__*/_jsx(MarketplaceFAQ,{...props,source:\"items\",displayMode:\"accordion\",accordionStyle:\"minimal\",allowMultiple:false,initialOpen:\"none\",prefix:\"numbers\",emitSchema:false,text:{questionColor:INK,answerColor:BODY,openQuestionColor:ACCENT,prefixColor:ACCENT,linkColor:ACCENT,headingTag:\"h3\"},itemStyle:{...props.itemStyle,background:\"transparent\",hoverBackground:\"transparent\",openBackground:\"transparent\",border:{borderWidth:1,borderStyle:\"solid\",...props.itemStyle?.border,borderColor:LINE},openBorderColor:LINE},icon:{type:\"plus\",position:\"right\",size:20,strokeWidth:1.5,color:ACCENT,openColor:ACCENT,showBackground:false},questionFont:{fontSize:\"clamp(24px,2.1vw,28px)\",lineHeight:\"1.2em\",fontWeight:400,...props.questionFont,fontFamily:'\"Instrument Serif\", serif'},answerFont:{fontSize:\"17px\",lineHeight:\"1.6em\",fontWeight:400,...props.answerFont,fontFamily:'\"Inter\", sans-serif'},style:{...props.style,width:\"100%\",minWidth:0,maxWidth:920}});}OCIPFAQ.displayName=\"OCIP FAQ\";const isList=p=>p.displayMode===\"list\";addPropertyControls(OCIPFAQ,{source:{type:ControlType.Enum,title:\"Content\",options:[\"items\",\"richText\"],optionTitles:[\"Items\",\"Rich Text\"],defaultValue:\"items\",displaySegmentedControl:true},items:{type:ControlType.Array,title:\"Items\",hidden:p=>p.source===\"richText\",control:{type:ControlType.Object,controls:{question:{type:ControlType.String,title:\"Question\",defaultValue:\"What is your question?\"},answer:{type:ControlType.String,title:\"Answer\",displayTextArea:true,defaultValue:\"Write the answer here. Leave a blank line to start a new paragraph.\"}}},defaultValue:[{\"question\":\"Does OCIP offer concrete work?\",\"answer\":\"Yes. We build residential concrete driveways, patios and walkways in Orange County.\"},{\"question\":\"Which finish should I choose?\",\"answer\":\"Start with examples you like, then discuss the appearance, intended use and suitability of the available finishes for your project.\"},{\"question\":\"Can you replace existing concrete?\",\"answer\":\"Yes. We can discuss removal and replacement as part of your paving project. Send photos of the existing surface, its approximate size and access to the area.\"},{\"question\":\"Should I choose concrete or pavers?\",\"answer\":\"Start with the look you prefer and how you use the space. Compare the material, finish, preparation and included work for each option.\"},{\"question\":\"Can concrete be guaranteed not to crack?\",\"answer\":\"Concrete can develop cracks. Discuss the proposed joint plan, site preparation and care instructions with us, and confirm the written coverage for your project.\"},{\"question\":\"How much will it cost?\",\"answer\":\"A useful proposal needs a defined area and scope. The finish, existing surface, access and preparation should be discussed before you compare prices.\"},{\"question\":\"When could the work happen?\",\"answer\":\"Tell us your preferred timing and any access restrictions. We can discuss current availability and the sequence of work for your project.\"}]},richText:{type:ControlType.RichText,title:\"Rich Text\",hidden:p=>p.source!==\"richText\"},displayMode:{type:ControlType.Enum,title:\"Display\",options:[\"accordion\",\"list\"],optionTitles:[\"Accordion\",\"List\"],defaultValue:\"accordion\",displaySegmentedControl:true},accordionStyle:{type:ControlType.Enum,title:\"Style\",options:[\"cards\",\"joined\",\"minimal\"],optionTitles:[\"Cards\",\"Joined\",\"Minimal\"],defaultValue:\"minimal\",displaySegmentedControl:true,hidden:isList},allowMultiple:{type:ControlType.Boolean,title:\"Allow Multiple\",defaultValue:false,hidden:isList},initialOpen:{type:ControlType.Enum,title:\"Initially Open\",options:[\"none\",\"first\",\"all\"],optionTitles:[\"None\",\"First\",\"All\"],defaultValue:\"none\",displaySegmentedControl:true,hidden:isList},prefix:{type:ControlType.Enum,title:\"Prefix\",options:[\"none\",\"numbers\",\"qa\"],optionTitles:[\"None\",\"01\",\"Q / A\"],defaultValue:\"numbers\",displaySegmentedControl:true},showAnswerDivider:{type:ControlType.Boolean,title:\"Answer Divider\",defaultValue:false,hidden:isList},gap:{type:ControlType.Number,title:\"Item Gap\",min:0,max:80,unit:\"px\",defaultValue:12},answerSpacing:{type:ControlType.Number,title:\"Q → A Spacing\",min:0,max:60,unit:\"px\",defaultValue:12},paragraphSpacing:{type:ControlType.Number,title:\"Paragraph Gap\",min:0,max:40,unit:\"px\",defaultValue:12},questionFont:{type:ControlType.Font,title:\"Question Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"28px\",variant:\"Regular\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"}},answerFont:{type:ControlType.Font,title:\"Answer Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"17px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.6em\"}},text:{type:ControlType.Object,title:\"Text Colors\",icon:\"color\",controls:{questionColor:{type:ControlType.Color,title:\"Question\",defaultValue:INK},openQuestionColor:{type:ControlType.Color,title:\"Question Open\",defaultValue:ACCENT},answerColor:{type:ControlType.Color,title:\"Answer\",defaultValue:BODY},prefixColor:{type:ControlType.Color,title:\"Prefix\",defaultValue:ACCENT},linkColor:{type:ControlType.Color,title:\"Links\",defaultValue:ACCENT},headingTag:{type:ControlType.Enum,title:\"Question Tag\",options:[\"h2\",\"h3\",\"h4\",\"p\"],optionTitles:[\"H2\",\"H3\",\"H4\",\"P\"],defaultValue:\"h3\",displaySegmentedControl:true}}},itemStyle:{type:ControlType.Object,title:\"Item\",icon:\"effect\",hidden:isList,controls:{background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#FFFFFF\"},hoverBackground:{type:ControlType.Color,title:\"Hover Fill\",defaultValue:\"#FAFAFA\"},openBackground:{type:ControlType.Color,title:\"Open Fill\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:LINE}},openBorderColor:{type:ControlType.Color,title:\"Open Border\",defaultValue:ACCENT},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"24px 0px 24px 0px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0px 1px 2px 0px rgba(0, 0, 0, 0.04)\"},openShadow:{type:ControlType.BoxShadow,title:\"Open Shadow\",defaultValue:\"0px 8px 24px -8px rgba(0, 0, 0, 0.12)\"}}},icon:{type:ControlType.Object,title:\"Icon\",hidden:isList,controls:{type:{type:ControlType.Enum,title:\"Type\",options:[\"chevron\",\"plus\",\"plusRotate\",\"arrow\",\"none\"],optionTitles:[\"Chevron\",\"Plus / Minus\",\"Plus / Close\",\"Arrow\",\"None\"],defaultValue:\"plus\"},position:{type:ControlType.Enum,title:\"Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"right\",displaySegmentedControl:true},size:{type:ControlType.Number,title:\"Size\",min:12,max:48,unit:\"px\",defaultValue:20},strokeWidth:{type:ControlType.Number,title:\"Stroke\",min:1,max:4,step:.25,defaultValue:2},color:{type:ControlType.Color,title:\"Color\",defaultValue:ACCENT},openColor:{type:ControlType.Color,title:\"Open Color\",defaultValue:ACCENT},showBackground:{type:ControlType.Boolean,title:\"Background\",defaultValue:false},background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#F2F2F2\",hidden:p=>!p.showBackground},openBackground:{type:ControlType.Color,title:\"Open Fill\",defaultValue:INK,hidden:p=>!p.showBackground},backgroundSize:{type:ControlType.Number,title:\"Fill Size\",min:16,max:64,unit:\"px\",defaultValue:32,hidden:p=>!p.showBackground}}},focusColor:{type:ControlType.Color,title:\"Focus Ring\",defaultValue:ACCENT,hidden:isList},transition:{type:ControlType.Transition,title:\"Animation\",defaultValue:{type:\"tween\",ease:[.22,1,.36,1],duration:.35},hidden:isList},emitSchema:{type:ControlType.Boolean,title:\"SEO Schema\",description:\"Optional structured data. Disabled for this site; no Google FAQ rich-result claim.\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OCIPFAQ\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"920\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OCIPFAQ.map","/*\n * OCIPFAQ\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/t9bKdY8yRrRz2YhWW2Q6/EUOQUqIZT7BrCqPOTdWZ/OCIPFAQ.js\"\nexport { default } from \"https://framerusercontent.com/modules/t9bKdY8yRrRz2YhWW2Q6/EUOQUqIZT7BrCqPOTdWZ/OCIPFAQ.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useId,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const FORM_ID=\"FSsxtOHBR6L8QoYapDJB\";const FORM_URL=`https://api.leadconnectorhq.com/widget/form/${FORM_ID}`;const EMBED_SCRIPT_URL=\"https://link.msgsndr.com/js/form_embed.js\";const GENERATED_HEIGHT=1005;function preserveFallbackAttribution(event){const destination=new URL(FORM_URL);// Carry only actual attribution values; never generate a click identifier.\nnew URLSearchParams(window.location.search).forEach((value,key)=>{if(/^(gclid|gbraid|wbraid|utm_[a-z0-9_]+)$/i.test(key)){destination.searchParams.append(key,value);}});event.currentTarget.href=destination.toString();}function loadOfficialEmbedScript(){if(document.querySelector(`script[src=\"${EMBED_SCRIPT_URL}\"]`))return;const script=document.createElement(\"script\");script.src=EMBED_SCRIPT_URL;script.async=true;script.addEventListener(\"error\",()=>script.remove(),{once:true});document.body.appendChild(script);}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 520\n */export default function OCIPGHLForm({frameHeight=GENERATED_HEIGHT,style}){const hostRef=useRef(null);const instanceId=useId().replace(/[^a-zA-Z0-9_-]/g,\"\");const initialHeight=useRef(Math.max(GENERATED_HEIGHT,frameHeight));useEffect(()=>{const host=hostRef.current;if(!host)return;let iframe=null;function mountWhenVisible(){if(!host||iframe||host.getBoundingClientRect().width<=0)return;iframe=document.createElement(\"iframe\");const iframeId=`inline-${FORM_ID}-${instanceId}`;iframe.id=iframeId;iframe.src=FORM_URL;iframe.title=\"OCIP Framer Website - Project Enquiry\";Object.assign(iframe.style,{display:\"block\",width:\"100%\",minWidth:\"0\",height:`${initialHeight.current}px`,border:\"none\",borderRadius:\"3px\",colorScheme:\"light\",backgroundColor:\"#F5F1EA\"});// These settings come from this form's generated Inline embed.\niframe.setAttribute(\"data-layout\",\"{'id':'INLINE'}\");iframe.setAttribute(\"data-trigger-type\",\"alwaysShow\");iframe.setAttribute(\"data-trigger-value\",\"\");iframe.setAttribute(\"data-activation-type\",\"alwaysActivated\");iframe.setAttribute(\"data-activation-value\",\"\");iframe.setAttribute(\"data-deactivation-type\",\"neverDeactivate\");iframe.setAttribute(\"data-deactivation-value\",\"\");iframe.setAttribute(\"data-form-name\",\"OCIP Framer Website - Project Enquiry\");iframe.setAttribute(\"data-height\",String(GENERATED_HEIGHT));iframe.setAttribute(\"data-layout-iframe-id\",iframeId);iframe.setAttribute(\"data-form-id\",FORM_ID);iframe.setAttribute(\"data-cookie-consent\",\"true\");iframe.setAttribute(\"data-cookie-consent-provider\",\"auto\");// HighLevel wraps and resizes the iframe, so React owns only this host.\nhost.appendChild(iframe);loadOfficialEmbedScript();}mountWhenVisible();const observer=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(mountWhenVisible):null;observer?.observe(host);window.addEventListener(\"resize\",mountWhenVisible);return()=>{observer?.disconnect();window.removeEventListener(\"resize\",mountWhenVisible);host.replaceChildren();};},[instanceId]);const linkStyle={color:\"var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8,#17130F)\",fontFamily:'\"Inter\", sans-serif',fontSize:14,lineHeight:1.5,padding:\"12px 0\",textUnderlineOffset:4};return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:hostRef,style:{width:\"100%\",minWidth:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"0 20px\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"a\",{href:FORM_URL,onClick:preserveFallbackAttribution,target:\"_blank\",rel:\"noopener noreferrer\",style:linkStyle,children:\"Open the estimate form\"}),/*#__PURE__*/_jsx(\"a\",{href:\"tel:+17146275543\",style:linkStyle,children:\"Call 714-627-5543\"}),/*#__PURE__*/_jsx(\"a\",{href:\"mailto:tyler@ocip.biz\",style:linkStyle,children:\"Email your project\"})]})]});}addPropertyControls(OCIPGHLForm,{frameHeight:{type:ControlType.Number,title:\"Initial Height\",defaultValue:GENERATED_HEIGHT,min:GENERATED_HEIGHT,max:1600,step:10,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OCIPGHLForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"520\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OCIPGHLForm.map","/*\n * OCIPGHLForm\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/SOFqw8s5omkL0J1NksXh/hRNxDXsN9IyCx9PtUq1c/OCIPGHLForm.js\"\nexport { default } from \"https://framerusercontent.com/modules/SOFqw8s5omkL0J1NksXh/hRNxDXsN9IyCx9PtUq1c/OCIPGHLForm.js\"\n","// Generated from the reviewed local OCIPAttribution.ts and URL context helpers.\n// Kept inline because the provider typechecker does not resolve project-relative imports.\n/**\n * Build an internal href from attribution already present on the current URL.\n * No storage, history mutation, event interception, network request or tag firing.\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";function withCurrentAttribution(href,currentPageUrl){if(!href||href.trim().startsWith(\"#\"))return href;try{const current=new URL(currentPageUrl);const destination=new URL(href,current);if(!/^https?:$/.test(destination.protocol)||destination.origin!==current.origin){return href;}let changed=false;const destinationKeys=new Set(destination.searchParams.keys());for(const[key,value]of current.searchParams){if(!/^(gclid|gbraid|wbraid|utm_[a-z0-9_]+)$/.test(key))continue;if(destinationKeys.has(key))continue;destination.searchParams.append(key,value);changed=true;}return changed?destination.pathname+destination.search+destination.hash:href;}catch{return href;}}import{useSyncExternalStore}from\"react\";// Read current URL only. No persistent attribution, history changes or click listener.\nconst listeners=new Set;function notify(){for(const listener of listeners)listener();}function subscribe(listener){listeners.add(listener);if(listeners.size===1){window.navigation?.addEventListener(\"currententrychange\",notify);window.addEventListener(\"popstate\",notify);window.addEventListener(\"hashchange\",notify);window.addEventListener(\"pageshow\",notify);}return()=>{listeners.delete(listener);if(listeners.size===0){window.navigation?.removeEventListener(\"currententrychange\",notify);window.removeEventListener(\"popstate\",notify);window.removeEventListener(\"hashchange\",notify);window.removeEventListener(\"pageshow\",notify);}};}function currentUrl(){return typeof window===\"undefined\"?\"\":window.location.href;}function serverUrl(){return\"\";}// The server and first hydration pass retain the original href. Mounted links\n// then receive the current URL; renders and browser history changes refresh it.\nfunction useCurrentPageUrl(){return useSyncExternalStore(subscribe,currentUrl,serverUrl);}import{Link as FramerLink}from\"framer\";// Native page references let Framer route and preload internally, while every\n// rendered link retains an ordinary href for browsers, accessibility and crawlers.\nconst OCIP_ROUTE_IDS={\"/\":\"augiA20Il\",\"/orange-county-pavers\":\"eR8AM0xoy\",\"/pool-decking-orange-county\":\"mR541lTED\",\"/pool-construction-irvine\":\"TwMQtIexs\",\"/pool-construction-orange-county\":\"JB4sg3nlN\",\"/yorba-linda-pavers\":\"FilUM2k7o\",\"/seal-beach-pavers\":\"nN0TWqykj\",\"/san-juan-capistrano-pavers\":\"jN3StDmmm\",\"/placentia-pavers\":\"iR0wgv2iQ\",\"/long-beach-pavers\":\"pYIzTbGji\",\"/lake-forest-pavers\":\"vOqlDF2rT\",\"/laguna-niguel-pavers\":\"q3UjMdSI1\",\"/irvine-pavers\":\"sIlBPSqNy\",\"/huntington-beach-pavers\":\"ImU6ERlHf\",\"/garden-grove-pavers\":\"nPtfpfOdp\",\"/fullerton-pavers\":\"gKZAr7K49\",\"/fountain-valley-pavers\":\"Fmp0dil90\",\"/cypress-pavers\":\"dWab3GXjV\",\"/brea-pavers\":\"Uavb0uJ6j\",\"/service-areas\":\"L3pzrKFOd\",\"/warranty\":\"njtO_9sQx\",\"/what-are-pavers\":\"Oid2FzWaw\",\"/anaheim-pavers\":\"v8pS69AnK\",\"/costa-mesa-pavers\":\"NjS8uUIDz\",\"/mission-viejo-pavers\":\"HwWSIZyOF\",\"/newport-beach-pavers\":\"DmDBZUGSS\",\"/santa-ana-pavers\":\"EURlx6xIH\",\"/san-clemente-pavers\":\"yFLNtChrR\",\"/meet-our-team\":\"ahZfeefAY\",\"/pavers\":\"M83KFscld\",\"/recent-projects\":\"QJU9e0f_U\",\"/contact-us\":\"HZ9DbsMN9\",\"/patios-and-walkways\":\"FKbTFaoZQ\",\"/paving-services\":\"xuD4K3qE2\",\"/hardscape\":\"uJ5KtJ4VC\",\"/privacy-policy\":\"LGv8sHox0\",\"/terms-of-service\":\"R2_aThFK2\"};function OCIPLink({href,children,target,download,...props}){const currentPageUrl=useCurrentPageUrl();const attributedHref=typeof href===\"string\"&&download===undefined?withCurrentAttribution(href,currentPageUrl):href;const relative=typeof href===\"string\"&&href.startsWith(\"./\")?href.slice(1):href;const parts=typeof relative===\"string\"?relative.split(\"#\"):[];const path=parts[0]?.replace(/\\/$/,\"\")||\"/\";const pageId=OCIP_ROUTE_IDS[path];const internal=typeof relative===\"string\"&&relative.startsWith(\"/\")&&!relative.startsWith(\"//\");const eligible=internal&&pageId&&!relative.includes(\"?\")&&download===undefined&&(!target||target===\"_self\");const anchor=/*#__PURE__*/_jsx(\"a\",{...props,href:attributedHref,target:target,download:download,\"data-ocip-navigation\":eligible?\"framer\":\"native\",children:children});if(!eligible)return anchor;const hash=parts.length>1?parts.slice(1).join(\"#\"):undefined;// Framer normalizes relative URL strings through its route resolver and drops\n// their query. An absolute same-origin URL keeps this exact attributed target.\nconst framerHref=attributedHref!==href&&typeof attributedHref===\"string\"?new URL(attributedHref,currentPageUrl).href:{webPageId:pageId,...hash?{hash}:{}};return /*#__PURE__*/_jsx(FramerLink,{href:framerHref,openInNewTab:false,smoothScroll:false,children:anchor});}import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{animate,motion,useMotionValue,useReducedMotion,useScroll,useSpring,useTransform}from\"framer-motion\";// @ts-ignore Framer hosted component module has no external TypeScript declaration.\nimport OCIPFAQ from\"https://framer.com/m/OCIPFAQ-nikzn5.js@EUOQUqIZT7BrCqPOTdWZ\";// @ts-ignore Framer hosted component module has no external TypeScript declaration.\nimport OCIPGHLForm from\"https://framer.com/m/OCIPGHLForm-esYy6b.js@hRNxDXsN9IyCx9PtUq1c\";const pages={\"/\":{\"route\":\"/\",\"layout\":\"HOME-EXISTING\",\"hero\":{\"id\":\"hero\",\"breadcrumb\":[],\"businessName\":\"Orange County Interlocking Pavers\",\"eyebrow\":\"Pavers, concrete & hardscape\",\"reviewBadge\":{\"text\":\"Read our Google reviews\",\"href\":\"https://www.google.com/maps/place/Orange+County+Interlocking+Paver+Co./data=!4m2!3m1!1s0x0:0xad89ca380a03e64a\",\"stars\":null,\"position\":\"above-h1\",\"ratingRuleRef\":\"ratingVerificationRule\"},\"heading\":\"Interlocking\\n   pavers, laid\\nto last.\",\"lede\":\"Interlocking pavers, concrete, turf and walls for a more considered home. Pool decks and remodels of existing pools, planned around the property.\",\"primaryCta\":{\"label\":\"Get an estimate\",\"href\":\"/contact-us#quote\"},\"secondaryCta\":{\"label\":\"See our work\",\"href\":\"/recent-projects\"},\"infoRows\":[],\"serviceChips\":[{\"label\":\"Pavers\",\"href\":\"/orange-county-pavers\"},{\"label\":\"Concrete\",\"href\":\"/hardscape\"},{\"label\":\"Patios\",\"href\":\"/patios-and-walkways\"}],\"sectionCue\":{\"number\":\"06\",\"label\":\"PAVING\\nSERVICES\",\"prompt\":\"Take a closer look\",\"href\":\"/#services\"}},\"sections\":[{\"id\":\"premise\",\"type\":\"existing_animated_narrative\",\"eyebrow\":\"The premise\",\"lines\":[\"A driveway that welcomes you.\",\"A patio that draws you outside.\",\"A path that connects the two.\",\"Built from the ground up.\",\"The details show in the finish.\",\"Pavers. Concrete. A clear plan.\",\"Make the everyday feel better.\"],\"paragraphs\":[\"Interlocking pavers and concrete for the places you park, walk and gather. From the driveway out front to the patio behind your home.\"]},{\"id\":\"location-ticker\",\"type\":\"existing_text_ticker\",\"items\":[\"Newport Beach\",\"Irvine\",\"Orange\",\"Laguna Hills\",\"Placentia\",\"San Juan Capistrano\",\"Seal Beach\",\"Coto de Caza\"],\"links\":[{\"label\":\"View service areas\",\"href\":\"/service-areas\"}]},{\"id\":\"service-strip\",\"type\":\"existing_link_strip\",\"eyebrow\":\"Paving work \\xb7 The OCIP Co.\",\"links\":[{\"number\":\"01\",\"label\":\"Driveways\",\"href\":\"/orange-county-pavers\"},{\"number\":\"02\",\"label\":\"Pavers\",\"href\":\"/pavers\"},{\"number\":\"03\",\"label\":\"Concrete\",\"href\":\"/hardscape\"},{\"number\":\"04\",\"label\":\"Patios\",\"href\":\"/patios-and-walkways\"}]},{\"id\":\"about\",\"type\":\"existing_company\",\"eyebrow\":\"The company\",\"heading\":\"Paving roots.\\nLocal people.\\nPride in the work.\",\"paragraphs\":[\"Founded by Orange County native Tyler Watkins, OCIP began with interlocking pavers. Today, that paving background carries into driveways, patios, walkways and concrete work around Orange County homes, with the same attention to the finished surface.\",\"Customer service has been central from the start. Read the reviews and a pattern emerges: communication, attention to detail and people who care about the finished work. That is the experience we want you to have.\"],\"cards\":[{\"heading\":\"PAVERS\",\"body\":\"Where OCIP started\"},{\"heading\":\"CONCRETE\",\"body\":\"Poured and finished\"},{\"heading\":\"SERVICE\",\"body\":\"People who follow through\"},{\"heading\":\"LOCAL\",\"body\":\"Orange County roots\"}],\"links\":[{\"label\":\"Meet OCIP\",\"href\":\"/meet-our-team\"}]},{\"id\":\"services\",\"type\":\"existing_service_accordion\",\"eyebrow\":\"What we build\",\"heading\":\"Start with\\nthe surface.\",\"paragraphs\":[\"A new driveway, a finished patio or a larger paved area. Find the work that fits your property.\"],\"cards\":[{\"id\":\"Pu6FMl1Th\",\"number\":\"01\",\"heading\":\"Paver driveways\",\"eyebrow\":\"A better way to arrive\",\"body\":\"Give your driveway a defined pattern and finish, with interlocking pavers chosen to suit your home.\",\"bullets\":[\"Paver selection\",\"Layout and pattern\",\"Borders\",\"Driveway replacement\"],\"link\":{\"label\":\"Explore paver driveways\",\"href\":\"/orange-county-pavers\"},\"image\":{\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Broad gray paver driveway leading to a white two-story home\"}},{\"id\":\"xcDuX0gv0\",\"number\":\"02\",\"heading\":\"Concrete driveways\",\"eyebrow\":\"Poured and finished\",\"body\":\"Plan a concrete driveway around its use, with attention to preparation, drainage, joints and the finish.\",\"bullets\":[\"Driveway paving\",\"Surface finishes\",\"Edges and joints\",\"Concrete replacement\"],\"link\":{\"label\":\"Explore concrete driveways\",\"href\":\"/hardscape\"},\"image\":{\"src\":\"https://framerusercontent.com/images/eLSfue7FWKsXWuDNk9dHkLIvg.webp\",\"alt\":\"Concrete patio slabs with gravel joints beside a wood deck.\"}},{\"id\":\"YmUKXdQPL\",\"number\":\"03\",\"heading\":\"Patios & courtyards\",\"eyebrow\":\"Places to sit and gather\",\"body\":\"Make room for everyday use with a paved patio, planned around the home and the way you spend time outside.\",\"bullets\":[\"Paver patios\",\"Concrete patios\",\"Courtyards\",\"Seating areas\"],\"link\":{\"label\":\"Explore patios & courtyards\",\"href\":\"/patios-and-walkways\"},\"image\":{\"src\":\"https://framerusercontent.com/images/xPD1bVyA2dNOrz1WomxkoCNtoAU.webp\",\"alt\":\"Paved residential patio with a fire table beside sliding doors.\"}},{\"id\":\"QiDTDLjGz\",\"number\":\"04\",\"heading\":\"Walkways & entrances\",\"eyebrow\":\"A clear way through\",\"body\":\"Connect the driveway, front door and outdoor areas with paving that makes each route feel considered.\",\"bullets\":[\"Entry walks\",\"Side paths\",\"Garden walkways\",\"Connecting areas\"],\"link\":{\"label\":\"Explore walkways & entrances\",\"href\":\"/patios-and-walkways\"},\"image\":{\"src\":\"https://framerusercontent.com/images/hcsCMwYY6tjO1MfzfCclKxgOk0.webp\",\"alt\":\"Paved patio and side path beside planted borders and a fire table.\"}},{\"id\":\"y56IAu0N1\",\"number\":\"05\",\"heading\":\"Larger paved areas\",\"eyebrow\":\"One defined hardscape project\",\"body\":\"Bring several paved areas into one scope, with materials and transitions considered across your property.\",\"bullets\":[\"Driveway and patio\",\"Connecting paths\",\"Shared material palette\",\"Surface transitions\"],\"link\":{\"label\":\"Explore larger paved areas\",\"href\":\"/paving-services\"},\"image\":{\"src\":\"https://framerusercontent.com/images/5w9NtlelEn6k6RASYaBbhzvJ8Xk.webp\",\"alt\":\"Aerial view of a curved pool, paved patio and raised spa\"}},{\"id\":\"flkIv0xfp\",\"number\":\"06\",\"heading\":\"Remove & replace\",\"eyebrow\":\"A fresh start underfoot\",\"body\":\"Replace existing paving as part of a defined project, with the old surface and site conditions considered first.\",\"bullets\":[\"Existing concrete\",\"Existing pavers\",\"Site preparation\",\"New paving\"],\"link\":{\"label\":\"Explore remove & replace\",\"href\":\"/paving-services\"},\"image\":{\"src\":\"https://framerusercontent.com/images/buRyD09UCS9JAQUdki3gvtDHcU0.webp\",\"alt\":\"Backyard with a pool, lawn, paved patio and illuminated outdoor seating\"}}]},{\"id\":\"anatomy\",\"type\":\"existing_paver_anatomy\",\"eyebrow\":\"Beneath the surface\",\"heading\":\"Built from\\nthe ground up.\",\"caption\":\"Concept illustration. Not to scale.\",\"layerLabels\":[\"Pavers\",\"Bedding\",\"Base\",\"Ground\"],\"cards\":[{\"number\":\"01\",\"heading\":\"Paver surface\",\"subtitle\":\"Pattern \\xb7 joints \\xb7 edges\",\"body\":\"The visible finish, supported at its edges and between units.\"},{\"number\":\"02\",\"heading\":\"Bedding layer\",\"subtitle\":\"An even setting layer\",\"body\":\"The layer directly beneath the individual paving units.\"},{\"number\":\"03\",\"heading\":\"Compacted base\",\"subtitle\":\"Supporting aggregate\",\"body\":\"The supporting layer beneath the bedding and pavers.\"},{\"number\":\"04\",\"heading\":\"Prepared ground\",\"subtitle\":\"Existing site conditions\",\"body\":\"The ground beneath the pavement, considered before construction begins.\"}]},{\"id\":\"work\",\"type\":\"existing_gallery\",\"eyebrow\":\"A closer look\",\"heading\":\"See the surface.\\nNotice the details.\",\"links\":[{\"label\":\"Discuss your project →\",\"href\":\"/contact-us#quote\"}],\"cards\":[{\"id\":\"home-gallery-1\",\"number\":\"01\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"House & driveway\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-2\",\"number\":\"02\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Backyard at dusk\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-3\",\"number\":\"03\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Planted patio entrance\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-4\",\"number\":\"04\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Waterfall garden\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-5\",\"number\":\"05\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Poolside terrace\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-6\",\"number\":\"06\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Outdoor kitchen\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-7\",\"number\":\"07\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Evening terrace\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null},{\"id\":\"home-gallery-8\",\"number\":\"08\",\"eyebrow\":\"OCIP gallery\",\"actionLabel\":\"Explore\",\"heading\":\"Sunset paving\",\"subtitle\":\"OCIP photo gallery\",\"metadata\":[\"Photo\",\"Photo view\"],\"href\":\"/recent-projects\",\"city\":null}]},{\"id\":\"project-interlude\",\"type\":\"existing_motion_cta\",\"eyebrow\":\"Your hardscape project\",\"heading\":\"Your\\nproject.\",\"counter\":\"01 / 08\",\"prompt\":\"Keep scrolling to explore →\",\"primaryCta\":{\"label\":\"Request an estimate\",\"href\":\"/contact-us#quote\"}},{\"id\":\"process\",\"type\":\"existing_planning_motion\",\"eyebrow\":\"Planning your project\",\"heading\":\"Work through\\nthe\\ndetails.\",\"paragraphs\":[\"Five questions to shape the hardscape project, from how you use the space to what happens next.\"],\"cards\":[{\"number\":\"01\",\"heading\":\"What will it handle?\",\"subtitle\":\"Everyday use\",\"body\":\"Cars, foot traffic or a place to sit. Start with how the surface will be used.\"},{\"number\":\"02\",\"heading\":\"What is there now?\",\"subtitle\":\"The existing surface\",\"body\":\"Identify what needs removing, what stays and how the new paving will meet it.\"},{\"number\":\"03\",\"heading\":\"Which finish fits?\",\"subtitle\":\"Pavers or concrete\",\"body\":\"Compare color, texture and layout alongside the property and your preferred look.\"},{\"number\":\"04\",\"heading\":\"What does it need?\",\"subtitle\":\"Levels and drainage\",\"body\":\"Discuss drainage, access and site conditions before settling the details of the work.\"},{\"number\":\"05\",\"heading\":\"What happens next?\",\"subtitle\":\"Scope and timing\",\"body\":\"Review the proposed work, timing and responsibilities before deciding to move ahead.\"}]},{\"id\":\"materials\",\"type\":\"existing_material_rows\",\"eyebrow\":\"Materials & finishes\",\"heading\":\"Choose the surface.\\nRefine the details.\",\"paragraphs\":[\"Pavers and poured concrete give you different ways to finish a space. Consider the material alongside its color, pattern, texture and edges, with the property in view.\"],\"cards\":[{\"id\":\"ZhJKXb7wX\",\"heading\":\"Material\",\"subtitle\":\"Pavers \\xb7 concrete\",\"body\":\"Start with the intended use\"},{\"id\":\"Pf7RdTswm\",\"heading\":\"Color\",\"subtitle\":\"Warm \\xb7 cool \\xb7 neutral\",\"body\":\"Consider the whole property\"},{\"id\":\"kFqmzPViQ\",\"heading\":\"Pattern\",\"subtitle\":\"Direction \\xb7 scale\",\"body\":\"Shape the look of the paving\"},{\"id\":\"UfQfIdQpF\",\"heading\":\"Texture\",\"subtitle\":\"Surface \\xb7 finish\",\"body\":\"Compare the feel underfoot\"},{\"id\":\"mPQU9Na0g\",\"heading\":\"Borders\",\"subtitle\":\"Edges \\xb7 definition\",\"body\":\"Give the surface a clear edge\"},{\"id\":\"KShgln4hH\",\"heading\":\"Connections\",\"subtitle\":\"Levels \\xb7 transitions\",\"body\":\"Think about what meets it\"}]},{\"id\":\"detail-views\",\"type\":\"existing_drag_gallery\",\"eyebrow\":\"In the details\",\"heading\":\"A closer perspective.\",\"paragraphs\":[\"Drag through the views. Look at the finish.\"],\"captions\":[\"House & driveway\",\"Backyard at dusk\",\"Planted patio entrance\",\"Waterfall garden\",\"Poolside terrace\",\"Outdoor kitchen\",\"Evening terrace\",\"Sunset paving\"],\"links\":[{\"label\":\"Explore the gallery\",\"href\":\"/recent-projects\"}]},{\"id\":\"reviews\",\"type\":\"existing_customer_reviews\",\"eyebrow\":\"Customer reviews\",\"heading\":\"Good work.\\nIn their own words.\",\"paragraphs\":[\"Read what customers say about the work, the communication and the people behind it.\"],\"reviews\":[{\"id\":\"google-jack-roggenbuck\",\"quote\":\"We highly recommend OCIP, from Alex to Frank Oscar and the rest of the install crew we send a huge Thank You!!!\",\"author\":\"Jack Roggenbuck\",\"platform\":\"Google\",\"eyebrow\":\"Review on Google\",\"link\":{\"label\":\"Read on Google →\",\"href\":\"https://maps.app.goo.gl/t3JZ8NpdDcuGciDD9\"},\"sourceIds\":[\"google-review-receipts\"]},{\"id\":\"yelp-ting\",\"quote\":\"The crew left the site clean and neat at the end of each day. I really had no complaints - very satisfied with their work.\",\"author\":\"Ting L.\",\"platform\":\"Yelp\",\"eyebrow\":\"Review on Yelp\",\"link\":{\"label\":\"Read on Yelp →\",\"href\":\"https://www.yelp.com/biz/the-orange-county-interlocking-paver-co-newport-beach?hrid=vNsqb9CjnUqxi4t0d9gVLg\"},\"sourceIds\":[\"yelp-review-receipts\"]},{\"id\":\"google-frank-boccio\",\"quote\":\"They took my vision and turned it into a stunning reality, creating a beautiful outdoor space that has brought immense joy to my family.\",\"author\":\"Frank Boccio\",\"platform\":\"Google\",\"eyebrow\":\"Review on Google\",\"link\":{\"label\":\"Read on Google →\",\"href\":\"https://maps.app.goo.gl/KUt4USgpPmCwSozY8\"},\"sourceIds\":[\"google-review-receipts\"]},{\"id\":\"google-kevin-diao\",\"quote\":\"Their communication, responsiveness, vision for the project, and attention to detail stood out above other companies.\",\"author\":\"Kevin Diao\",\"platform\":\"Google\",\"eyebrow\":\"Review on Google\",\"link\":{\"label\":\"Read on Google →\",\"href\":\"https://www.google.com/maps/place/Orange+County+Interlocking+Paver+Co./data=!4m2!3m1!1s0x0:0xad89ca380a03e64a\"},\"sourceIds\":[\"kevin-review-receipt\"]},{\"id\":\"yelp-mo\",\"quote\":\"No project is perfect, but what made OCIP stand out was their willingness to work with me to get my complete satisfaction.\",\"author\":\"Mo S.\",\"platform\":\"Yelp\",\"eyebrow\":\"Review on Yelp\",\"link\":{\"label\":\"Read on Yelp →\",\"href\":\"https://www.yelp.com/biz/the-orange-county-interlocking-paver-co-newport-beach?hrid=lSGUKTFJa0LhiVR7r52Sew\"},\"sourceIds\":[\"yelp-review-receipts\"]}]},{\"id\":\"proof\",\"type\":\"existing_four_item_proof\",\"items\":[{\"value\":\"Written\",\"label\":\"Warranty coverage\",\"href\":\"/warranty\"},{\"value\":\"#1071389\",\"label\":\"California GC license\",\"href\":\"https://www.cslb.ca.gov/OnlineServices/CheckLicenseII/LicenseDetail.aspx?LicNum=1071389\"},{\"value\":\"Google\",\"label\":\"Read our Google reviews\",\"href\":\"https://www.google.com/maps/place/Orange+County+Interlocking+Paver+Co./data=!4m2!3m1!1s0x0:0xad89ca380a03e64a\",\"ratingRuleRef\":\"ratingVerificationRule\"},{\"value\":\"OC\",\"label\":\"Orange County roots\",\"href\":\"/meet-our-team\"}]},{\"id\":\"why-ocip\",\"type\":\"existing_reasons_list\",\"eyebrow\":\"Why OCIP\",\"heading\":\"Paving experience.\\nPeople who care about the result.\",\"cards\":[{\"id\":\"iLfIfiLmK\",\"number\":\"01\",\"heading\":\"Paver Installation Roots\",\"body\":\"Where OCIP started\",\"href\":\"/orange-county-pavers\"},{\"id\":\"pj7EkIiXG\",\"number\":\"02\",\"heading\":\"Concrete & Hardscape\",\"body\":\"Surfaces for everyday use\",\"href\":\"/hardscape\"},{\"id\":\"yf871J9ry\",\"number\":\"03\",\"heading\":\"Residential Paving\",\"body\":\"Work shaped around your home\",\"href\":\"/paving-services\"},{\"id\":\"u0PZpaDFv\",\"number\":\"04\",\"heading\":\"Responsive Communication\",\"body\":\"A theme in customer feedback\",\"href\":\"/#reviews\"},{\"id\":\"Hc90UhwYx\",\"number\":\"05\",\"heading\":\"Customers Recommend OCIP\",\"body\":\"Read their experiences\",\"href\":\"/#reviews\"},{\"id\":\"BgBFUrSg2\",\"number\":\"06\",\"heading\":\"Orange County Roots\",\"body\":\"Founded by a local\",\"href\":\"/meet-our-team\"},{\"id\":\"iLZMXniB9\",\"number\":\"07\",\"heading\":\"Written Warranty Coverage\",\"body\":\"Review the applicable terms\",\"href\":\"/warranty\"},{\"id\":\"Tr3ORhftu\",\"number\":\"08\",\"heading\":\"Customer Satisfaction\",\"body\":\"See the written commitment\",\"href\":\"/warranty\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"What homeowners ask.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Who installs interlocking pavers in Orange County?\",\"answer\":\"Orange County Interlocking Paver Co., known as OCIP, installs residential paver driveways, patios, walkways and pool decks across Orange County and in Long Beach. Share the area you want to improve and request a free estimate.\"},{\"question\":\"How should I choose a paver installer?\",\"answer\":\"Compare relevant work, customer reviews, the proposed materials and how preparation and drainage will be addressed. Review the written scope and warranty, and check current licensing through CSLB. OCIP’s California contractor license number is 1071389.\"},{\"question\":\"Does OCIP remodel existing pools?\",\"answer\":\"Yes. OCIP takes enquiries for remodeling existing pools and the decks around them. Pool work may involve licensed subcontractors. Confirm the scope, responsibilities and team for your project when you discuss the estimate.\"},{\"question\":\"Can turf and walls be planned with the paving?\",\"answer\":\"Yes. Share the turf areas and walls you want to include alongside your pavers or concrete. Planning the areas together helps coordinate the layout, edges and drainage. Confirm the proposed scope when you discuss the estimate.\"},{\"question\":\"Where does OCIP work?\",\"answer\":\"OCIP serves all of Orange County and also serves Long Beach. Explore the Service Areas page or include your city when requesting an estimate.\"},{\"question\":\"How do I get a free estimate?\",\"answer\":\"Use the Contact page estimate form, call 714-627-5543 or email tyler@ocip.biz. Include your city, the area you want to improve and approximate dimensions. Photos can be sent by email. Financing applications are available separately through OCIP’s Enhancify link.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"quote\":null,\"finalCta\":{\"id\":\"contact\",\"eyebrow\":\"Your project starts here\",\"heading\":\"Your\\nnext step\",\"intro\":\"A driveway, patio or larger paved area. Share your location, the approximate size and whether you are considering pavers or concrete.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/contact-us#quote\"},\"contactHeading\":\"Talk to OCIP\",\"contactLinks\":[{\"label\":\"tyler@ocip.biz\",\"href\":\"mailto:tyler@ocip.biz\"},{\"label\":\"714-627-5543\",\"href\":\"tel:+17146275543\"}],\"cards\":[{\"heading\":\"Orange County\",\"body\":\"Pavers, concrete and hardscape\",\"eyebrow\":\"Local roots\"},{\"heading\":\"Your property\",\"body\":\"Driveways, patios and walkways\",\"eyebrow\":\"Tell us what you need\"},{\"heading\":\"Your project\",\"body\":\"Share the area and existing surface\",\"eyebrow\":\"Start with a conversation\"}]},\"visualSlots\":[],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"existing_film_hero\",\"contentRef\":\"hero\"},{\"id\":\"premise\",\"type\":\"existing_animated_narrative\",\"contentRef\":\"sections.premise\"},{\"id\":\"location-ticker\",\"type\":\"existing_text_ticker\",\"contentRef\":\"sections.location-ticker\"},{\"id\":\"service-strip\",\"type\":\"existing_link_strip\",\"contentRef\":\"sections.service-strip\"},{\"id\":\"about\",\"type\":\"existing_company\",\"contentRef\":\"sections.about\"},{\"id\":\"services\",\"type\":\"existing_service_accordion\",\"contentRef\":\"sections.services\"},{\"id\":\"anatomy\",\"type\":\"existing_paver_anatomy\",\"contentRef\":\"sections.anatomy\"},{\"id\":\"work\",\"type\":\"existing_gallery\",\"contentRef\":\"sections.work\"},{\"id\":\"project-interlude\",\"type\":\"existing_motion_cta\",\"contentRef\":\"sections.project-interlude\"},{\"id\":\"process\",\"type\":\"existing_planning_motion\",\"contentRef\":\"sections.process\"},{\"id\":\"materials\",\"type\":\"existing_material_rows\",\"contentRef\":\"sections.materials\"},{\"id\":\"detail-views\",\"type\":\"existing_drag_gallery\",\"contentRef\":\"sections.detail-views\"},{\"id\":\"reviews\",\"type\":\"existing_customer_reviews\",\"contentRef\":\"sections.reviews\"},{\"id\":\"proof\",\"type\":\"existing_four_item_proof\",\"contentRef\":\"sections.proof\"},{\"id\":\"why-ocip\",\"type\":\"existing_reasons_list\",\"contentRef\":\"sections.why-ocip\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"contact\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Orange County Interlocking Pavers & Hardscape | OCIP\",\"description\":\"Pavers, concrete, turf and walls for Orange County homes, plus pool decks and existing-pool remodels. Explore OCIP’s work and request a free estimate.\"}},\"/paving-services\":{\"route\":\"/paving-services\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\"}],\"eyebrow\":\"PAVING SERVICES\",\"heading\":\"Paving that brings your property together.\",\"lede\":\"Pavers, concrete, turf and walls for Orange County homes, from a generous driveway to the paths and patios beyond. Pool decks and existing-pool remodeling are available too.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/paving-services#quote\"},\"secondaryCta\":{\"label\":\"Explore the details\",\"href\":\"/paving-services#details\"},\"infoRows\":[{\"label\":\"Region\",\"value\":\"Orange County, California\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers, concrete, turf, walls\"},{\"label\":\"Applications\",\"value\":\"Driveways, patios, pool decks\"},{\"label\":\"Start here\",\"value\":\"Request a free estimate\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"ONE PROPERTY, A CONNECTED PLAN\",\"heading\":\"Choose the surface. Consider the whole setting.\",\"paragraphs\":[\"Pavers bring pattern, texture and borders. Poured concrete offers a continuous finish, while turf and walls help define the areas around it. OCIP helps shape the material choice around your home and the way the area will be used.\",\"One property can include several surfaces: a paver driveway, a concrete walk and a patio beside the pool. Remodeling an existing pool can also be discussed, with appropriately licensed specialists involved as the work requires.\",\"Planning the connections together helps align finished heights, drainage and the palette. That wider view matters even when only one area is changing.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"eyebrow\":\"THE SURFACES WE INSTALL\",\"heading\":\"Which surface fits where?\",\"paragraphs\":[\"Four kinds of work. Find the one that matches your project, or mix them.\"],\"cards\":[{\"heading\":\"Interlocking pavers\",\"body\":\"Pattern, color and borders for driveways, patios and walks, set on a compacted base and held by edge restraint and joint sand.\"},{\"heading\":\"Poured concrete\",\"body\":\"A clean, continuous surface for driveways, patios and walks. We form it with a slope for drainage, then pour, finish and cut control joints.\"},{\"heading\":\"Turf & walls\",\"body\":\"Turf and walls alongside driveways, patios and paths, with their purpose, layout and site requirements considered with the paving.\"},{\"heading\":\"Tear-out and replacement\",\"body\":\"Old concrete or worn pavers come out. We rebuild the base for the new surface, which can be a different material than before.\"}],\"links\":[{\"label\":\"Explore paver installation\",\"href\":\"/orange-county-pavers\"},{\"label\":\"Explore concrete and hardscape\",\"href\":\"/hardscape\"},{\"label\":\"Explore patios and walkways\",\"href\":\"/patios-and-walkways\"},{\"label\":\"Discuss turf and walls\",\"href\":\"/paving-services#quote\"},{\"label\":\"Explore existing-pool remodeling\",\"href\":\"/pool-construction-orange-county\"},{\"label\":\"Explore pool decks\",\"href\":\"/pool-decking-orange-county\"},{\"label\":\"Irvine pool remodeling\",\"href\":\"/pool-construction-irvine\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"SURFACES IN PLACE\",\"heading\":\"Look at how the surfaces meet.\",\"paragraphs\":[\"Look at the full setting first, then the details: how the approach meets the garage, how a path reaches the patio, and how borders frame the planting. These are useful starting points for your own project.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"eyebrow\":\"GET TO KNOW OCIP\",\"heading\":\"Paving roots. Orange County perspective.\",\"paragraphs\":[\"Tyler Watkins founded OCIP with interlocking pavers, and that remains central to the work. Today you can discuss pavers, concrete, turf and walls, with pool decks and existing-pool remodels as part of a coordinated project.\",\"Browse completed work, read customer experiences and check California contractor license 1071389 directly with the CSLB. Then bring us your property, your priorities and the questions that matter to you.\"],\"links\":[{\"label\":\"Meet the OCIP team\",\"href\":\"/meet-our-team\"},{\"label\":\"Explore recent projects\",\"href\":\"/recent-projects\"}]},{\"id\":\"planning\",\"type\":\"planning_cards\",\"eyebrow\":\"HAVE THESE HANDY\",\"heading\":\"Four details worth sending.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Use\",\"body\":\"Who and what travels on it: cars, trucks or just foot traffic.\"},{\"heading\":\"Existing surfaces\",\"body\":\"Cracks, sunken spots, standing water and anything that has to stay, like a pool or planter.\"},{\"heading\":\"Access\",\"body\":\"Gate widths, side yards, slopes and any spot equipment cannot easily reach.\"},{\"heading\":\"Scope\",\"body\":\"Rough measurements, the material you lean toward and photos from a few angles.\"}]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"PLAN IT TOGETHER\",\"heading\":\"Three conversations first.\",\"paragraphs\":[\"Area first, then surface, then scope, so the estimate matches the job.\"],\"steps\":[{\"number\":\"01\",\"heading\":\"Map the areas\",\"body\":\"Which parts are changing: driveway, front walk, patio, pool surround? Which stay? That tells us where each surface goes and where two of them meet.\"},{\"number\":\"02\",\"heading\":\"Pick the surfaces\",\"body\":\"Pavers or concrete for each paved area, weighed by look, traffic and drainage. Bring photos of driveways or patios you like around town.\"},{\"number\":\"03\",\"heading\":\"Agree on the full scope\",\"body\":\"Removal, base work, drainage, access and how each surface ties into the next, all spelled out in one estimate you review before work starts.\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you hire.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"paving-services-faq-1\",\"question\":\"What does a paving contractor in Orange County install?\",\"answer\":\"OCIP installs paver and concrete driveways, patios, walkways and pool decks, with turf and walls also available. Existing-pool remodeling can be planned alongside the surrounding paving, with appropriately licensed specialists involved as required by the work. Start with the area and the change you have in mind.\"},{\"id\":\"paving-services-faq-2\",\"question\":\"Pavers vs concrete driveway: which should I pick?\",\"answer\":\"Choose by the look you want, your budget and how the drive gets used. Pavers give you the most say over color, pattern and borders. Concrete suits a clean, simple look. Ask about both on your free estimate and compare them.\"},{\"id\":\"paving-services-faq-3\",\"question\":\"Can I mix pavers and concrete in one project?\",\"answer\":\"Yes. A common mix is a concrete driveway with a paver border or apron, or a concrete patio joined by paver walkways. The key is planning the joins: matching heights, carrying water across the transition and holding each edge so neither surface creeps.\"},{\"id\":\"paving-services-faq-4\",\"question\":\"Should I pave the driveway, walkways and patio at the same time?\",\"answer\":\"If you can, yes: planning them together lines up levels, slopes and materials where they meet. If budget means building in phases, settle the full layout first so each later piece ties into the one before it.\"},{\"id\":\"paving-services-faq-5\",\"question\":\"How do I check a paving contractor's license in California?\",\"answer\":\"Use the California Contractors State License Board website to search the contractor’s name or license number. OCIP’s number is 1071389. The official record is the place to check current status, classifications and bond information, and to confirm that the proposed scope is appropriately covered.\"},{\"id\":\"paving-services-faq-6\",\"question\":\"Can I replace my existing driveway with pavers or concrete?\",\"answer\":\"Yes. The old surface comes out, the base is assessed and prepared for the new surface, and the edges and slope are set again. Discuss the existing material and condition when you request your free estimate.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Orange County paver installation\",\"href\":\"/orange-county-pavers\",\"description\":\"Paver driveways, patios and walks.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete and hardscape\",\"href\":\"/hardscape\",\"description\":\"Poured concrete for driveways and patios, plus finishes.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Recent projects\",\"href\":\"/recent-projects\",\"description\":\"Photos of finished paving and pool work.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"}},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which surfaces you are weighing, your city and a rough size. Photos help.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"START WITH ONE CALL\",\"heading\":\"Bring your plans into focus.\",\"intro\":\"Share the property, the surfaces you are considering and the result you want. Your estimate is free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/paving-services#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/wLlvVfmCkdPIVjwOokYtcE00CI.jpg\",\"alt\":\"A paver driveway leading to wooden gates in front of an illuminated white house at dusk.\",\"caption\":\"Paver driveway and gated entry.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"caption\":null,\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp\",\"alt\":\"Whole backyard with a pool, raised spa, paved seating areas, lawn and a home at dusk.\",\"caption\":null,\"imageMeta\":{\"title\":\"Whole backyard with pool and patio\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":779,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.43261), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.43261), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.43261), 658px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/9vaRdwPlAclpjVHsAz7cxnEEsfs.webp\",\"alt\":\"Wide paver driveway behind a wooden gate leading to a two-story home with three garage doors.\",\"caption\":\"A broad paver driveway connects the wooden entry gate with the garages beyond.\",\"title\":\"Gated driveway entrance\",\"imageMeta\":{\"title\":\"Gated driveway entrance\",\"width\":1600,\"height\":750,\"srcSet\":\"https://framerusercontent.com/images/dvT5FC6TVu1row9fQ3uFX088ueg.webp 800w, https://framerusercontent.com/images/9vaRdwPlAclpjVHsAz7cxnEEsfs.webp 1600w\",\"sizes\":\"(max-width: 809px) calc(100vw - 40px), (max-width: 1199px) calc(100vw - 80px), (max-width: 1568px) calc(100vw - 128px), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/VNaJt7emJ2AT1ng19pAMWsZ4QK8.webp\",\"alt\":\"Light gray rectangular pavers across the driveway of a white modern house with a wood garage door.\",\"caption\":\"Light gray rectangular pavers create a clean approach to a modern home.\",\"title\":\"Modern paver driveway\",\"imageMeta\":{\"title\":\"Modern paver driveway\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/zhlDceLxAPR70At4vJFU0Qi5Go.webp 800w, https://framerusercontent.com/images/VNaJt7emJ2AT1ng19pAMWsZ4QK8.webp 1200w\",\"sizes\":\"(max-width: 809px) calc(100vw - 40px), (max-width: 1199px) calc((100vw - 106px) * 0.56), (max-width: 1568px) calc((100vw - 154px) * 0.56), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/Y2H85t7jDMrUHYq5GE38SN4huw.webp\",\"alt\":\"Gray and tan paver pool deck with lounge chairs and dark umbrellas beside the water.\",\"caption\":\"Paving continues around the pool to a shaded row of lounge chairs.\",\"title\":\"Poolside paver deck\",\"imageMeta\":{\"title\":\"Poolside paver deck\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/IssUbQDWxHN4xD1vkWpFSFrXG0E.webp 800w, https://framerusercontent.com/images/Y2H85t7jDMrUHYq5GE38SN4huw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc(100vw - 40px), (max-width: 1199px) calc((100vw - 106px) * 0.44), (max-width: 1568px) calc((100vw - 154px) * 0.44), 622px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/yLNYRVOYfg5t3fMUOGqH45lLwg.webp\",\"alt\":\"Paver driveway and wooden gate framed by planting beds and a white fence in front of a large house at dusk.\",\"caption\":\"Curved planting beds and a white fence frame the paved approach to the home.\",\"title\":\"Driveway and front landscape\",\"imageMeta\":{\"title\":\"Driveway and front landscape\",\"width\":1600,\"height\":937,\"srcSet\":\"https://framerusercontent.com/images/z4Qews5BXtf4I6vdiJgy6ETTXmo.webp 800w, https://framerusercontent.com/images/yLNYRVOYfg5t3fMUOGqH45lLwg.webp 1600w\",\"sizes\":\"(max-width: 809px) calc(100vw - 40px), (max-width: 1199px) calc(100vw - 80px), (max-width: 1568px) calc(100vw - 128px), 1440px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"planning\",\"type\":\"planning_cards\",\"contentRef\":\"sections.planning\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Paving Contractor in Orange County: Pavers & Concrete | OCIP\",\"description\":\"OCIP paving services in Orange County: paver and concrete driveways, patios and pool decks, plus turf and walls. Request a free estimate.\",\"primaryKeyword\":\"paving contractor Orange County\"}},\"/orange-county-pavers\":{\"route\":\"/orange-county-pavers\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\",\"href\":\"/paving-services\"},{\"label\":\"Orange County pavers\"}],\"eyebrow\":\"OC PAVER INSTALLATION\",\"heading\":\"Orange County pavers, made for your home.\",\"lede\":\"Driveways, patios and walkways that bring the property together, from the first approach to the places you gather outside.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/orange-county-pavers#quote\"},\"secondaryCta\":{\"label\":\"Read the details\",\"href\":\"/orange-county-pavers#details\"},\"infoRows\":[{\"label\":\"Region\",\"value\":\"Orange County, California\"},{\"label\":\"Material\",\"value\":\"Interlocking pavers\"},{\"label\":\"Project types\",\"value\":\"New installs, full replacements\"},{\"label\":\"What's below\",\"value\":\"Compacted base, edges, drainage\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"FROM THE CURB TO THE BACK FENCE\",\"heading\":\"Give the whole property a sense of place.\",\"paragraphs\":[\"OCIP installs Orange County pavers for driveways, patios, walkways and connected outdoor spaces. A considered pattern, well-placed border and coordinated palette can make the approach and backyard feel like parts of the same home.\",\"Choose one area or plan several together. We handle new installations and full replacements, with removal and supporting construction included in the scope for your property.\",\"The finished look begins with practical decisions: levels at doors and the garage, access to the yard, drainage and the places where new paving meets what you want to keep.\"]},{\"id\":\"applications\",\"type\":\"application_cards\",\"eyebrow\":\"WHERE PAVERS FIT\",\"heading\":\"Every area has a different job.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Driveway pavers carry your cars, so the base, units and edges are all chosen for that load.\"},{\"heading\":\"Patios\",\"body\":\"Laid out around how you eat and sit outside, pitched so rainwater runs off.\"},{\"heading\":\"Walkways\",\"body\":\"Entry walks and side-yard paths, edged so the pattern stays tight along planting beds.\"},{\"heading\":\"Connected paving\",\"body\":\"One palette from street to backyard, with each area built for its own load and slope.\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"PAVERS IN PLACE\",\"heading\":\"See how the pavers meet the house.\",\"paragraphs\":[\"Look past the color to the details: straight borders, clean cuts at the edges, even joints and tidy transitions at the garage slab, steps and doors.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"preparation\",\"type\":\"narrative\",\"eyebrow\":\"BELOW THE FINISHED SURFACE\",\"heading\":\"A sound foundation for the finish.\",\"paragraphs\":[\"A conventional interlocking concrete pavement brings prepared ground, a compacted base, bedding, pavers, edge restraints and joint material into one system. The specification depends on the site, selected product and intended traffic.\",\"Note where water collects after rain and how the yard meets the house. These details help set finished levels and drainage before the color and pattern are finalized.\"]},{\"id\":\"areas\",\"type\":\"location_links\",\"eyebrow\":\"AROUND ORANGE COUNTY\",\"heading\":\"Where we install pavers.\",\"paragraphs\":[\"OCIP serves all of Orange County and Long Beach. The city links below are starting points, and we also work in communities including Westminster, Buena Park, La Palma, Los Alamitos, Rossmoor, Villa Park and North Tustin.\"],\"links\":[{\"label\":\"Newport Beach pavers\",\"href\":\"/newport-beach-pavers\"},{\"label\":\"Costa Mesa pavers\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Anaheim pavers\",\"href\":\"/anaheim-pavers\"},{\"label\":\"Santa Ana pavers\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Mission Viejo pavers\",\"href\":\"/mission-viejo-pavers\"},{\"label\":\"San Clemente pavers\",\"href\":\"/san-clemente-pavers\"},{\"label\":\"Elsewhere? Ask us.\",\"href\":\"/orange-county-pavers#quote\"}]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"PLAN THE PROJECT\",\"heading\":\"Measure, choose, compare.\",\"paragraphs\":[\"Three steps from a rough idea to a number you can plan around.\"],\"steps\":[{\"number\":\"01\",\"heading\":\"Measure the whole job\",\"body\":\"Rough lengths and widths are enough. Add photos that show the doors, gates and steps along the edges of each area.\"},{\"number\":\"02\",\"heading\":\"Choose color, pattern, borders\",\"body\":\"Hold samples against your house, not a screen. Driveways need units rated for vehicle traffic, so check that before falling for a color.\"},{\"number\":\"03\",\"heading\":\"Compare scopes, not totals\",\"body\":\"Compare the same areas, removal, supporting construction, materials, edging, drainage and cleanup. A clear scope makes differences between estimates easier to understand.\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you build.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"orange-county-pavers-faq-1\",\"question\":\"How much does paver installation cost in Orange County?\",\"answer\":\"Paver installation cost in Orange County depends on your site as much as the paver you pick. The size of the area, removing what's there now, base work, pattern and borders, steps or grade changes and access for equipment all move the number. Send rough sizes and photos and we'll put together a free estimate.\"},{\"id\":\"orange-county-pavers-faq-2\",\"question\":\"Do you install driveway pavers in Orange County?\",\"answer\":\"Yes. OCIP installs paver driveways for Orange County homes, with the selected units, laying pattern and supporting construction suited to vehicle traffic. The scope also considers the garage approach, drainage, borders and connections to the front walk, so the driveway works with the rest of the property.\"},{\"id\":\"orange-county-pavers-faq-3\",\"question\":\"Do I need HOA approval for pavers in Orange County?\",\"answer\":\"Check your association’s requirements before setting a start date. Where approval is required, the layout, paver selection and relevant project details can form part of your submission. OCIP’s published terms make the homeowner responsible for HOA compliance and document submittal. Share the guidelines early so they can inform the proposed work.\"},{\"id\":\"orange-county-pavers-faq-4\",\"question\":\"Do you have to remove old concrete before installing pavers?\",\"answer\":\"Removal depends on the existing slab, finished heights, selected product and installation method. Full replacement often involves removing old concrete so the supporting construction and drainage can be addressed. Photos help begin the discussion, but the appropriate approach must be established for the property before the scope is agreed.\"},{\"id\":\"orange-county-pavers-faq-5\",\"question\":\"Do you install pavers in Ladera Ranch, Dana Point and Laguna Beach?\",\"answer\":\"Yes. OCIP serves all of Orange County, including Ladera Ranch, Coto de Caza, Rancho Santa Margarita, Las Flores, Dana Point, Laguna Beach, Laguna Hills, Laguna Woods and Aliso Viejo. Include your community and the area you want to improve when requesting a free estimate.\"},{\"id\":\"orange-county-pavers-faq-6\",\"question\":\"Are Orange County pavers installed differently near the coast or in the hills?\",\"answer\":\"The basic principles are shared, but the construction and layout must suit the property. Ground conditions, slopes, drainage, vehicle loads and the chosen product all matter. A hillside approach may call for different planning than a level courtyard, while exposed or frequently wet areas deserve careful attention to surface texture.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep reading.\",\"links\":[{\"label\":\"Choose your pavers\",\"href\":\"/pavers\",\"description\":\"Compare concrete, porcelain, natural stone and clay brick.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Patios and walkways\",\"href\":\"/patios-and-walkways\",\"description\":\"Sizing, slope and paths that connect.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Warranty information\",\"href\":\"/warranty\",\"description\":\"Read the written warranty terms.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"}},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Your city, the areas to pave and a photo or two get things started.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"YOUR ESTIMATE IS FREE\",\"heading\":\"Plan a better arrival.\",\"intro\":\"Tell us your city and the driveway, patio or paths you want to bring together.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/orange-county-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/TVDvmJ3Kwg5KQCEkn5kqn2L1Ig.jpg\",\"alt\":\"Interlocking-paver entry courtyard leading to curved steps and a landscaped home.\",\"caption\":\"Paver entry courtyard, curved steps and landscaped borders.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"caption\":null,\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp\",\"alt\":\"Gray paver driveway leading to wood garage doors on a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway at the garage\",\"objectPosition\":\"50% 45%\",\"width\":819,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/98lGBTmsHO19i3zuBYD7zVnjoW8.webp 480w, https://framerusercontent.com/images/gRD62dy3iyO8s3OnZylvOzzAHs.webp 800w, https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp 819w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/Wrk5gNhzb8CjPN9g3E5l3LkqZyo.webp\",\"alt\":\"Gray paver walkway curving around a planted bed toward a stone and wood front porch.\",\"caption\":\"A curved paver walkway follows a planted border toward the front porch.\",\"title\":\"Curved front walkway\",\"imageMeta\":{\"title\":\"Curved front walkway\",\"objectPosition\":\"50% 65%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/4gwBqdVol18zWdLwxEdmiLK7vOU.webp 800w, https://framerusercontent.com/images/Wrk5gNhzb8CjPN9g3E5l3LkqZyo.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/gkl8m1Kbi79prVbLex2tC23D3g.webp\",\"alt\":\"Curving paved approach bordered by green lawns and mature trees, leading toward a house.\",\"caption\":\"A broad paved approach winds between lawns and mature trees toward the house.\",\"title\":\"Curving garden approach\",\"imageMeta\":{\"title\":\"Curving garden approach\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/qAMYfHs4tvtb2MHNBVgTegyvmsc.webp 800w, https://framerusercontent.com/images/gkl8m1Kbi79prVbLex2tC23D3g.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/ZwwCkDcAQ5tgaSmAmoRqlBF3Zo.webp\",\"alt\":\"Paver arrival area in front of a stone-faced house with a turret, steep roofs and planted borders.\",\"caption\":\"A broad paver surface connects the planted front garden with a stone-faced home.\",\"title\":\"A paved arrival\",\"imageMeta\":{\"title\":\"A paved arrival\",\"objectPosition\":\"52% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/iUg6eGCIo1EsA2QTR3AJSAPl0.webp 800w, https://framerusercontent.com/images/ZwwCkDcAQ5tgaSmAmoRqlBF3Zo.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/ZuLeQqcOwkrG433U7EPQ9qYPkk.webp\",\"alt\":\"Waterfront paver patio with outdoor chairs, tables and a walkway leading to a dock.\",\"caption\":\"Paved outdoor seating opens toward the water and a dock.\",\"title\":\"Waterfront patio\",\"imageMeta\":{\"title\":\"Waterfront patio\",\"objectPosition\":\"50% 65%\",\"width\":1422,\"height\":916,\"srcSet\":\"https://framerusercontent.com/images/rnxMyA5l50mhaZ4BNh9JkgrZ4Vo.webp 800w, https://framerusercontent.com/images/ZuLeQqcOwkrG433U7EPQ9qYPkk.webp 1422w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.08280), (max-width: 1199px) calc((100vw - 80px) * 1.08280), (max-width: 1568px) calc((100vw - 128px) * 1.08280), 1560px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"applications\",\"type\":\"application_cards\",\"contentRef\":\"sections.applications\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"preparation\",\"type\":\"narrative\",\"contentRef\":\"sections.preparation\"},{\"id\":\"areas\",\"type\":\"location_links\",\"contentRef\":\"sections.areas\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Orange County Pavers: Driveways, Patios, Walkways | OCIP\",\"description\":\"Orange County paver installation for driveways, patios and walkways. Plan materials, borders and the whole setting with OCIP. Request a free estimate.\",\"primaryKeyword\":\"Orange County pavers\"}},\"/hardscape\":{\"route\":\"/hardscape\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\",\"href\":\"/paving-services\"},{\"label\":\"Concrete and hardscape\"}],\"eyebrow\":\"CONCRETE & HARDSCAPE\",\"heading\":\"Concrete that completes the setting.\",\"lede\":\"Driveways, patios and walkways with a considered finish, planned around your home, the surfaces you keep and the way you use the property.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/hardscape#quote\"},\"secondaryCta\":{\"label\":\"See what’s included\",\"href\":\"/hardscape#details\"},\"infoRows\":[{\"label\":\"Region\",\"value\":\"Orange County, California\"},{\"label\":\"Surface\",\"value\":\"Poured concrete\"},{\"label\":\"Applications\",\"value\":\"Driveways, patios and walkways\"},{\"label\":\"Key details\",\"value\":\"Drainage, control joints, finish\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"WHAT HARDSCAPE COVERS AT OCIP\",\"heading\":\"Everything you drive, walk and sit on.\",\"paragraphs\":[\"Hardscape means the hard, built surfaces of a yard: driveway, patio and walks. As a hardscape contractor in Orange County, we build them in concrete and interlocking pavers, and every one starts with excavation.\",\"We form and pour concrete driveways, patios and walks, place control joints on a plan, and finish the surface to suit the house and how it gets used.\",\"Water has to leave every slab, so we set the slope into the grade before pouring, carrying rain away from the house and garage door.\"]},{\"id\":\"applications\",\"type\":\"application_cards\",\"eyebrow\":\"POURED CONCRETE\",\"heading\":\"A clear purpose for every surface.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Driveways\",\"body\":\"A concrete approach planned around vehicle use, the garage, the front walk and the home’s architecture.\"},{\"heading\":\"Patios\",\"body\":\"A concrete patio sized for the furniture you own, with room to pull chairs out and an edge that meets the lawn cleanly.\"},{\"heading\":\"Walkways\",\"body\":\"Front walks and side paths that line up with doors and gates and meet the driveway without a lip.\"},{\"heading\":\"Concrete replacement\",\"body\":\"When an old driveway or patio has had its day, it all comes out, and new concrete goes onto a rebuilt base.\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"HARDSCAPE DETAILS\",\"heading\":\"Surfaces, steps and the spaces between.\",\"paragraphs\":[\"Hardscape gives the yard its shape. Explore how terraces, steps, walls and paved areas connect the entrance, garden and outdoor living spaces. The surface you choose should feel part of the whole property.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"finish\",\"type\":\"narrative\",\"eyebrow\":\"FINISH AND JOINTS\",\"heading\":\"Texture for grip, joints for control.\",\"paragraphs\":[\"Texture matters on surfaces that get wet. Discuss finish samples, intended use and maintenance alongside the appearance you want, especially on paths, patios and poolside areas.\",\"Joints matter as much as finish. We plan control joints and expansion joints into the layout, including where the slab meets the house, garage or older paving.\"]},{\"id\":\"connected\",\"type\":\"narrative\",\"eyebrow\":\"WHERE SURFACES MEET\",\"heading\":\"Concrete patios that tie into the yard.\",\"paragraphs\":[\"A concrete patio may meet existing pavers, a planting bed or the house. A driveway may meet the front walk. Each join is planned for height and drainage.\",\"Tell us what stays and what might change later. If a path or a bigger patio is on the wish list, today’s edges and joints can be set so the next phase ties in cleanly.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"BEFORE WE POUR\",\"heading\":\"Photograph, choose, confirm.\",\"paragraphs\":[\"Three steps between your first call and a clear scope and price.\"],\"steps\":[{\"number\":\"01\",\"heading\":\"Photograph what’s there now\",\"body\":\"Snap the current surface, the edges where it meets the house and garage, and any spot where water sits after rain.\"},{\"number\":\"02\",\"heading\":\"Choose the concrete finish\",\"body\":\"Bring photos of finishes you like, then agree on where the joints fall and how the concrete meets doors, gates and existing paving.\"},{\"number\":\"03\",\"heading\":\"Confirm the full scope\",\"body\":\"Check that the estimate covers removal, base prep, forming, pouring, finish and cleanup. Ask about anything missing, and about warranty coverage, before work starts.\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you begin.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"hardscape-faq-1\",\"question\":\"What does a hardscape contractor in Orange County do?\",\"answer\":\"A hardscape contractor works on the built surfaces of a property. At OCIP, that includes concrete driveways, patios and walkways, plus paver installations and pool decks. The scope considers the finished material, supporting construction, drainage and connections to the home and existing outdoor areas.\"},{\"id\":\"hardscape-faq-2\",\"question\":\"What affects the cost of a concrete driveway in Orange County?\",\"answer\":\"Size, removal and base work drive most of the price. A driveway that needs old concrete broken out and hauled away, or soft soil dug out and replaced with compacted base, costs more than a clean new pour. Finish, access for trucks and how the drive meets the garage also count. Estimates are free.\"},{\"id\":\"hardscape-faq-3\",\"question\":\"What are control joints in a concrete driveway or patio?\",\"answer\":\"Control joints are planned grooves that give concrete a place to crack. Concrete shrinks as it cures and moves with temperature, so some cracking is normal; joints steer it into straight lines you barely notice. We place them as part of the layout, so they look deliberate rather than random.\"},{\"id\":\"hardscape-faq-4\",\"question\":\"What finish is right for a concrete patio?\",\"answer\":\"Choose a finish with some texture, because a patio gets wet from rain, hoses and sprinklers. Beyond grip, it comes down to looks: how the color and texture sit beside the house and any paving you are keeping. Ask how each option wears before you pick.\"},{\"id\":\"hardscape-faq-5\",\"question\":\"Does OCIP warranty concrete driveways and patios?\",\"answer\":\"OCIP’s published terms state that concrete cracks more than one eighth of an inch wide are covered, while hairline cracks are excluded. Read the complete warranty terms on this site and confirm their application in your written agreement before work begins.\"},{\"id\":\"hardscape-faq-6\",\"question\":\"How do you replace an old concrete driveway or patio?\",\"answer\":\"We break out the old concrete, haul it away and check the ground underneath. Soft or uneven soil comes out and gets replaced with compacted base, then we form the new driveway or patio, set the slope and joints, pour and finish it. A sound base gives the new slab a better start than the old one had.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep reading.\",\"links\":[{\"label\":\"Prefer pavers instead?\",\"href\":\"/pavers\",\"description\":\"Interlocking units instead of one slab.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Patios and walkways\",\"href\":\"/patios-and-walkways\",\"description\":\"Patios sized and sloped for daily use.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Warranty information\",\"href\":\"/warranty\",\"description\":\"How your coverage works.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"}},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us what is there now, what you want poured, and which city you are in.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"GET A CONCRETE ESTIMATE\",\"heading\":\"Send us a photo or two.\",\"intro\":\"Estimates are free. We follow up to talk through base, finish and joints, then price it.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/hardscape#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/0acIFwIXP9Q1RCRYnPsDqfnqQ8.webp\",\"alt\":\"Paved driveway, entrance gates, boundary walls and planting in front of a two-story home.\",\"caption\":\"Paved approach, entrance walls and planting.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"caption\":null,\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp\",\"alt\":\"Gray paver driveway leading to wood garage doors on a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway at the garage\",\"objectPosition\":\"50% 45%\",\"width\":819,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/98lGBTmsHO19i3zuBYD7zVnjoW8.webp 480w, https://framerusercontent.com/images/gRD62dy3iyO8s3OnZylvOzzAHs.webp 800w, https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp 819w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/uFyfDSp69wqRsOwrm0TiPyUck.webp\",\"alt\":\"Terraces and broad paved areas connect a hillside home with an outdoor kitchen, lounge seating, lawn and pool.\",\"caption\":\"Terraces and broad paved areas bring the kitchen, lounge seating and pool into one connected backyard.\",\"title\":\"A connected backyard\",\"imageMeta\":{\"title\":\"A connected backyard\",\"objectPosition\":\"50% 65%\",\"width\":1600,\"height\":1039,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w, https://framerusercontent.com/images/uFyfDSp69wqRsOwrm0TiPyUck.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.07411), (max-width: 1199px) calc((100vw - 80px) * 1.07411), (max-width: 1568px) calc((100vw - 128px) * 1.07411), 1547px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/1GWoPcB8DmkWnJCbZwnxrVDTP0.webp\",\"alt\":\"Gray steps and tiered walls lead from a paved approach to a modern home, with black railings and raised planting beds.\",\"caption\":\"Steps, tiered walls and raised planting beds connect the paved approach with the front entrance.\",\"title\":\"An entrance across levels\",\"imageMeta\":{\"title\":\"An entrance across levels\",\"objectPosition\":\"50% 35%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/XMrAEtkiPLNpU1uIfjD6xSdNT4.webp 480w, https://framerusercontent.com/images/iKIC3wj9phBEblwlv334lyY8CM.webp 800w, https://framerusercontent.com/images/ggBCIxWI3jb2Ro9JLPkBNK7Gfhk.webp 1200w, https://framerusercontent.com/images/1GWoPcB8DmkWnJCbZwnxrVDTP0.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp\",\"alt\":\"Broad pale steps rise between planting beds to a raised outdoor kitchen surrounded by trees.\",\"caption\":\"Broad steps lead through the planting to an outdoor kitchen on a raised terrace.\",\"title\":\"Steps into the garden kitchen\",\"imageMeta\":{\"title\":\"Steps into the garden kitchen\",\"objectPosition\":\"62% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/L56T2Gh2HUkcSRByei9AbUZVQU.webp 480w, https://framerusercontent.com/images/tDImyjgXLlVpwSvuwZc4Pa4pu6o.webp 800w, https://framerusercontent.com/images/f5yOzmH9uJbd82IKba0ZiRFq5ZE.webp 1200w, https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp\",\"alt\":\"A raised garden terrace with lounge chairs and a low fire feature sits above a textured wall, lawn and planted borders.\",\"caption\":\"A raised terrace holds a seating area above the lawn, with a low wall defining the garden edge.\",\"title\":\"A terrace above the lawn\",\"imageMeta\":{\"title\":\"A terrace above the lawn\",\"objectPosition\":\"50% 64%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/03mnC7CkacqUc89hHaJMlG9onsg.webp 480w, https://framerusercontent.com/images/4FmwaobSnD9cR3IPeI7iNdX8.webp 800w, https://framerusercontent.com/images/JmjnsqeCw6P46r4YmDTasXT0TRM.webp 1200w, https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"applications\",\"type\":\"application_cards\",\"contentRef\":\"sections.applications\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"finish\",\"type\":\"narrative\",\"contentRef\":\"sections.finish\"},{\"id\":\"connected\",\"type\":\"narrative\",\"contentRef\":\"sections.connected\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Hardscape Contractor in Orange County: Concrete | OCIP\",\"description\":\"OCIP builds concrete driveways, patios and walkways in Orange County. Plan the finish, joints, drainage and adjoining paving. Request a free estimate.\",\"primaryKeyword\":\"hardscape contractor Orange County\"}},\"/patios-and-walkways\":{\"route\":\"/patios-and-walkways\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\",\"href\":\"/paving-services\"},{\"label\":\"Patios and walkways\"}],\"eyebrow\":\"PATIOS & WALKWAYS\",\"heading\":\"A place to gather. A path to get there.\",\"lede\":\"Patios and walkways that invite you outside, with paving chosen to complement your Orange County home and the way you live.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/patios-and-walkways#quote\"},\"secondaryCta\":{\"label\":\"Plan your project\",\"href\":\"/patios-and-walkways#details\"},\"infoRows\":[{\"label\":\"Spaces\",\"value\":\"Patios and walkways\"},{\"label\":\"Materials\",\"value\":\"Pavers and concrete\"},{\"label\":\"Planned around\",\"value\":\"Furniture, routes and drainage\"},{\"label\":\"Region\",\"value\":\"Orange County, California\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"ROOM, ROUTE AND RAIN\",\"heading\":\"Start with how you’ll use it.\",\"paragraphs\":[\"We lay patio pavers in Orange County around three things: the table and chairs you own, the walkway that brings people out to them, and where the rain should go. Get those right and the surface choice gets easy.\",\"Concrete pavers, porcelain, stone, clay brick or poured concrete: the product and installation need to suit the space. OCIP plans the visible finish alongside ground preparation, edges, transitions and drainage.\",\"Finished levels should work with the doors, thresholds and surfaces around the patio, with drainage directed to an appropriate outlet away from the home.\"]},{\"id\":\"uses\",\"type\":\"planning_cards\",\"eyebrow\":\"HOW THE SPACE GETS USED\",\"heading\":\"Every square foot gets a job.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Gather\",\"body\":\"The dining set, the lounge chairs, the grill: give each its own zone so people aren’t squeezing past each other at dinner.\"},{\"heading\":\"Walk\",\"body\":\"Link the back door, side gate, driveway and patio with pavers or concrete, so every daily trip stays on solid ground.\"},{\"heading\":\"Arrive\",\"body\":\"Guests see the front walk first. A border or a pattern change at the porch makes the approach look deliberate.\"},{\"heading\":\"Keep what works\",\"body\":\"Point out the trees, beds and paving that stay. We plan the new edges around them, so nothing good gets torn out.\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"PATIOS & PATHS\",\"heading\":\"Spaces to gather. Paths to connect.\",\"paragraphs\":[\"A patio makes room for the people and furniture you love. A walkway connects it to the rest of the home. Explore open terraces, sheltered seating and planted paths, then picture how each could work in your own yard.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"materials\",\"type\":\"narrative\",\"eyebrow\":\"PAVERS OR CONCRETE\",\"heading\":\"Pick by use first, then by looks.\",\"paragraphs\":[\"Concrete, porcelain, natural stone and clay brick pavers each bring a different character to a patio. Poured concrete offers another direction, with the finish and joint layout considered alongside the house.\",\"Don’t decide yet. Lay out the space, then weigh both against the house, your budget and the paving you keep.\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"eyebrow\":\"PATHS THAT CONNECT\",\"heading\":\"Walkway pavers that link the whole yard.\",\"paragraphs\":[\"A walkway should follow the route people already take. Watch where the lawn is worn, where the hose drags and where guests cut the corner, then pave that line from drive to door, gate and patio.\",\"A well-placed path means the patio gets used more, because reaching it is easy, even with a tray of food in hand.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"PLANNING YOUR PATIO\",\"heading\":\"Measure, sketch, choose.\",\"paragraphs\":[\"Sort these out before the first shovel, and the estimate gets sharper.\"],\"steps\":[{\"number\":\"01\",\"heading\":\"Measure the furniture\",\"body\":\"Note the table, chairs, grill and lounger you plan to use, plus what feels cramped or awkward in the yard right now.\"},{\"number\":\"02\",\"heading\":\"Sketch the routes\",\"body\":\"Draw the yard with every door, gate and driveway marked. That shows where each path starts, turns and ends, and how wide it needs to be.\"},{\"number\":\"03\",\"heading\":\"Pick the right surface\",\"body\":\"Compare pavers and concrete on the same layout. Rough dimensions and your priorities, such as budget, look or upkeep, keep the patio installation estimate true to your yard.\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you begin.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"patios-and-walkways-faq-1\",\"question\":\"Patio pavers or concrete: which works better in Orange County?\",\"answer\":\"Both work well in Orange County; the choice comes down to use and looks. Pavers give you more ways to shape the look, with patterns and borders that can carry onto a walkway. Concrete gives a quieter, continuous surface. Whichever you pick, the base and slope decide how well the patio holds up.\"},{\"id\":\"patios-and-walkways-faq-2\",\"question\":\"How big should a paver patio be?\",\"answer\":\"Big enough for the furniture you own, plus room to walk around it while people are seated. Set out the table and chairs, pull each chair back as if someone is sitting, and measure from there. Chalk the outline on the lawn before you commit; a patio that looks generous on paper can feel tight with guests on it.\"},{\"id\":\"patios-and-walkways-faq-3\",\"question\":\"Should a patio slope away from the house?\",\"answer\":\"The drainage plan should carry water away from the house and doors to a suitable outlet. That may involve surface slopes, drains or a combination, depending on the property. Finished levels are considered with thresholds and adjoining areas so the patio remains comfortable to use as well as practical in wet weather.\"},{\"id\":\"patios-and-walkways-faq-4\",\"question\":\"How wide should a paver walkway be?\",\"answer\":\"It should be wide enough for the route and its intended use. A front walk may need room for people to arrive together; a side path may carry bins and garden equipment. Doors, gates, planting and any applicable access requirements should all be considered before the width is settled.\"},{\"id\":\"patios-and-walkways-faq-5\",\"question\":\"How do I connect a patio to the driveway or side gate?\",\"answer\":\"With a walkway that starts and ends at the same height as the surfaces it joins. At the driveway, the edge should be flush so nothing catches a heel or a wheel. At a side gate, leave room for the gate to swing and a bin to roll through. Plan those two ends first and the route between them follows.\"},{\"id\":\"patios-and-walkways-faq-6\",\"question\":\"Should walkway pavers match the patio?\",\"answer\":\"Not always, but they should look related. Running the same paver through both ties the yard together. A contrasting border, or a concrete path leading to a paver patio, works just as well when the colors suit the house. What matters most is a clean, planned line where one surface meets the other.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Related pages.\",\"links\":[{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\",\"description\":\"Compare color, pattern and size.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete and hardscape\",\"href\":\"/hardscape\",\"description\":\"Concrete driveways and patios.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Recent projects\",\"href\":\"/recent-projects\",\"description\":\"See the finished work, project by project.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"}},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Your city, rough size and a photo or two of the yard: that’s enough to start.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"READY FOR A PATIO?\",\"heading\":\"Let’s size up your yard.\",\"intro\":\"Estimates are free, and you see a clear scope and price before anyone breaks ground.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/patios-and-walkways#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/dchZgz4ZkX5O56TnZsQmZM1s.webp\",\"alt\":\"Paved patio with Adirondack seating, a fire bowl, curved steps and an outdoor fireplace beside a home.\",\"caption\":\"Patio seating and curved steps beside the home.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"caption\":null,\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp\",\"alt\":\"Whole backyard with a pool, raised spa, paved seating areas, lawn and a home at dusk.\",\"caption\":null,\"imageMeta\":{\"title\":\"Whole backyard with pool and patio\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":779,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.43261), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.43261), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.43261), 658px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp\",\"alt\":\"Paved patio with a round fire pit, lounge chairs, planted borders and a pergola over an outdoor dining area.\",\"caption\":\"A paved terrace links the fire pit, lounge chairs and dining space beneath the pergola.\",\"title\":\"Room to gather outdoors\",\"imageMeta\":{\"title\":\"Room to gather outdoors\",\"objectPosition\":\"50% 25%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/NNV6t7baKj6vM9xZObQpcRPChM.webp 480w, https://framerusercontent.com/images/FTeadfasVOYFqWol5dnsZYOP9ks.webp 800w, https://framerusercontent.com/images/VF9wo4BGwDRqK8GaLCZi3jUsMM.webp 1200w, https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp\",\"alt\":\"Covered patio with cushioned seating, a round coffee table, pale paving and a view of leafy trees.\",\"caption\":\"A covered patio makes room for deep seating, a low table and a view of the garden.\",\"title\":\"A sheltered place to unwind\",\"imageMeta\":{\"title\":\"A sheltered place to unwind\",\"objectPosition\":\"50% 30%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/t2xLFaOwOvevkOXtVEyDLnn7M.webp 480w, https://framerusercontent.com/images/6B0CrHW1OxUCfmcFhmMszIJbPPo.webp 800w, https://framerusercontent.com/images/ugXiCDVZ12jXLfs6rCKQNBvCrU.webp 1200w, https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway beside flowering beds leads to a stone-and-wood front porch.\",\"caption\":\"A curved walkway follows planted borders to a sheltered front porch.\",\"title\":\"A welcoming path to the door\",\"imageMeta\":{\"title\":\"A welcoming path to the door\",\"objectPosition\":\"72% 50%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/YPWWhjoL7cNqPZML4gFmBShqCw.webp\",\"alt\":\"Broad paved paths and low steps cross a green front garden bordered by white walls and flowering plants.\",\"caption\":\"Broad paths and low steps connect the front garden with the seating area beside the house.\",\"title\":\"Paths that connect the garden\",\"imageMeta\":{\"title\":\"Paths that connect the garden\",\"objectPosition\":\"18% 50%\",\"width\":1600,\"height\":739,\"srcSet\":\"https://framerusercontent.com/images/B66jsdYHVeBgsVNzEQzg9iBuk.webp 480w, https://framerusercontent.com/images/Uv35GHhtySV4yg1tJwqBO6G95PY.webp 800w, https://framerusercontent.com/images/D899Jb1wbb5nl1m5N6MOUNCeO14.webp 1200w, https://framerusercontent.com/images/YPWWhjoL7cNqPZML4gFmBShqCw.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.51015), (max-width: 1199px) calc((100vw - 80px) * 1.51015), (max-width: 1568px) calc((100vw - 128px) * 1.51015), 2175px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"uses\",\"type\":\"planning_cards\",\"contentRef\":\"sections.uses\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"materials\",\"type\":\"narrative\",\"contentRef\":\"sections.materials\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Patio Pavers Orange County: Patios and Walkways | OCIP\",\"description\":\"Patio pavers in Orange County, sized for your furniture and sloped away from the house, plus walkways that tie the yard together. Free estimates.\",\"primaryKeyword\":\"patio pavers Orange County\"}},\"/pavers\":{\"route\":\"/pavers\",\"layout\":\"GUIDE-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Paver choices\"}],\"eyebrow\":\"CHOOSING INTERLOCKING PAVERS\",\"heading\":\"The right paver for your home.\",\"lede\":\"Concrete, porcelain, natural stone and clay brick. Choose a surface that suits the architecture, the way you use the space and the finish you want.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/pavers#quote\"},\"secondaryCta\":{\"label\":\"Compare the options\",\"href\":\"/pavers#details\"},\"infoRows\":[{\"label\":\"Guide\",\"value\":\"Concrete, porcelain, stone and clay\"},{\"label\":\"Compare\",\"value\":\"Color, size, pattern and borders\"},{\"label\":\"Check\",\"value\":\"Driveway rating, base, edges\"},{\"label\":\"Next step\",\"value\":\"Your free estimate\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"A MATERIAL GUIDE\",\"heading\":\"Small sample, big driveway.\",\"paragraphs\":[\"A sample in your hand shows color and texture. Interlocking pavers on your driveway show something bigger: a pattern running across the whole front of the house, next to the garage door, the walls and planting.\",\"Start with the space. The same material can feel different across a broad driveway, an intimate dining patio or a narrow path. OCIP installs concrete, porcelain, natural stone and clay brick, with the product and layout chosen for each area.\",\"Then match the look to the load. A paver that works under patio chairs is not automatically right for a driveway, so check its vehicle rating.\"]},{\"id\":\"selection\",\"type\":\"selection_cards\",\"eyebrow\":\"FOUR CONNECTED CHOICES\",\"heading\":\"Pick all four together.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Color\",\"body\":\"Pull tones from the roof, trim and garage door. Decide whether the paving should blend with the house or frame it with contrast.\"},{\"heading\":\"Scale\",\"body\":\"Judge unit size from the front door, the patio and the street. What reads busy up close can look calm from farther back.\"},{\"heading\":\"Pattern\",\"body\":\"Set the direction first. Laying the pattern along the drive or across it changes how long or wide the space looks, and where cuts land.\"},{\"heading\":\"Borders\",\"body\":\"A soldier course or contrasting band frames the field and gives the edge restraint a clean line to hold where pavers meet lawn, beds or walls.\"}]},{\"id\":\"system\",\"type\":\"narrative\",\"eyebrow\":\"THE CONSTRUCTION UNDERNEATH\",\"heading\":\"Choose the construction with the surface.\",\"paragraphs\":[\"Conventional interlocking concrete pavers work with bedding, a compacted base, prepared ground, edge restraints and joint material. Porcelain, natural stone and clay products can have different installation requirements.\",\"Ask how the selected product will be installed for your site and use. Ground conditions, finished heights, drainage and vehicle loads all influence the specification below the surface.\"],\"links\":[{\"label\":\"New to pavers? Start with the basics.\",\"href\":\"/what-are-pavers\"}]},{\"id\":\"care\",\"type\":\"narrative\",\"eyebrow\":\"BEFORE YOU COMMIT\",\"heading\":\"Judge samples in daylight.\",\"paragraphs\":[\"Set samples where the paving will go and check them in morning and late-day sun. Wet them too, since color deepens when damp.\",\"Then check the scope. It should name the paver line, color, pattern and border you picked, so the surface that gets built matches the one you chose.\"]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Questions on interlocking pavers\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"pavers-faq-1\",\"question\":\"Which types of pavers does OCIP install?\",\"answer\":\"OCIP installs concrete pavers, porcelain, natural stone and clay brick. Each offers a different combination of color, texture and character. The choice also needs to suit the intended use, including vehicle loads where applicable, and the installation requirements of the selected product.\"},{\"id\":\"pavers-faq-2\",\"question\":\"Are driveway pavers different from patio pavers?\",\"answer\":\"They can be. A driveway must support vehicle loads and turning traffic, while a patio is primarily for people and furniture. Some products are suitable for both; others are not. Confirm the exact product, thickness and supporting construction before carrying a patio selection onto the driveway.\"},{\"id\":\"pavers-faq-3\",\"question\":\"How do I pick a paver pattern for a patio or driveway?\",\"answer\":\"Begin with the product and intended use, then consider the architecture. Herringbone is one option for interlocking concrete driveways, while patios may suit running bond, mixed sizes or a simpler grid. Pattern direction, borders and where cuts fall all affect how the finished area relates to the house.\"},{\"id\":\"pavers-faq-4\",\"question\":\"What paver color hides dirt and tire marks?\",\"answer\":\"A mid-tone blend usually does. A mix of shades in tan, gray or charcoal hides dust, leaves and tire marks better than a single solid color. Very light pavers show stains, and very dark ones show dust and get hotter underfoot in summer sun.\"},{\"id\":\"pavers-faq-5\",\"question\":\"Are large pavers or small pavers better for a patio?\",\"answer\":\"It depends on the shape of the space. Large-format units suit open, square-edged patios and keep the surface looking calm, with fewer joints. Smaller units handle curves and narrow side paths, where big pieces would need lots of cuts. Many layouts mix two or three sizes.\"},{\"id\":\"pavers-faq-6\",\"question\":\"How do I compare quotes from interlocking paver installers?\",\"answer\":\"Compare the same scope, not just the final price. Look for the proposed area, removal, product, pattern, borders, supporting construction, drainage and cleanup. Note any exclusions and ask how changes will be handled. That makes it easier to understand what each installer is actually proposing.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Related reading.\",\"links\":[{\"label\":\"Orange County paver installation\",\"href\":\"/orange-county-pavers\",\"description\":\"How we build across the county.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"What are pavers?\",\"href\":\"/what-are-pavers\",\"description\":\"The basics, explained simply.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Poured concrete\",\"href\":\"/hardscape\",\"description\":\"Driveways and patios in concrete.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us the area, the look you're after and whether cars will drive on it.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"PICKED A LOOK YET?\",\"heading\":\"Let's narrow the choices.\",\"intro\":\"Send photos of looks you like and the area to pave. We'll help you choose.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/m8feUfUED82F6SA707fPLEVdxY.webp\",\"alt\":\"Dark textured pavers laid in an interlocking pattern beside a planted border.\",\"caption\":null,\"imageMeta\":{\"title\":\"Dark paver pattern detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/OCGQCnOIMqLascnx2ckxZJQ.webp 480w, https://framerusercontent.com/images/0I2dZzlHpq0TCkrkFQxeVw.webp 800w, https://framerusercontent.com/images/m8feUfUED82F6SA707fPLEVdxY.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"caption\":null,\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"selection\",\"type\":\"selection_cards\",\"contentRef\":\"sections.selection\"},{\"id\":\"system\",\"type\":\"narrative\",\"contentRef\":\"sections.system\"},{\"id\":\"care\",\"type\":\"narrative\",\"contentRef\":\"sections.care\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Paver Materials, Colors & Patterns | OCIP\",\"description\":\"Choose concrete, porcelain, natural stone or clay brick pavers with OCIP. Compare color, pattern, size and suitability for your driveway or patio.\",\"primaryKeyword\":\"interlocking pavers\"}},\"/what-are-pavers\":{\"route\":\"/what-are-pavers\",\"layout\":\"GUIDE-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Paver choices\",\"href\":\"/pavers\"},{\"label\":\"What are pavers?\"}],\"eyebrow\":\"PAVERS EXPLAINED\",\"heading\":\"What are pavers?\",\"lede\":\"Pavers are individual units used to create a driveway, patio, walkway or pool deck. Their material, pattern and installation work together to form the finished surface.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/what-are-pavers#quote\"},\"secondaryCta\":{\"label\":\"Read the explainer\",\"href\":\"/what-are-pavers#details\"},\"infoRows\":[{\"label\":\"Guide\",\"value\":\"Pavers 101\"},{\"label\":\"Material\",\"value\":\"Concrete, porcelain, stone and clay\"},{\"label\":\"What's covered\",\"value\":\"Layers, joints, edges and value\"},{\"label\":\"Applications\",\"value\":\"Residential paving\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"PLAIN ENGLISH, NO JARGON\",\"heading\":\"Lots of small pieces. One solid surface.\",\"paragraphs\":[\"Pavers can be made from concrete, porcelain, natural stone or clay brick. Concrete units are manufactured in a range of sizes and finishes; other materials bring their own textures, colors and installation requirements.\",\"In a conventional interlocking concrete system, joints and edge restraints help the units work together over a prepared base. The finished pavement is a system, rather than a collection of loose pieces.\",\"You choose the visible material, color and pattern. The supporting construction is specified around the product, ground conditions and how the area will be used.\"]},{\"id\":\"layers\",\"type\":\"system_explainer\",\"eyebrow\":\"HOW THEY'RE BUILT\",\"heading\":\"Four layers, one job.\",\"paragraphs\":[\"This is a typical interlocking concrete paver assembly, read from the surface down. Materials and depths depend on the selected system, soil and intended traffic.\"],\"cards\":[{\"heading\":\"The pavers\",\"body\":\"The top layer: color, size, shape and laying pattern.\"},{\"heading\":\"Bedding\",\"body\":\"A prepared bedding layer that supports the pavers at the planned grade.\"},{\"heading\":\"Compacted base\",\"body\":\"A compacted aggregate layer specified for the ground conditions and intended load.\"},{\"heading\":\"Excavated ground\",\"body\":\"Prepared ground beneath the base, with levels and drainage considered as part of the system.\"}]},{\"id\":\"edges\",\"type\":\"narrative\",\"eyebrow\":\"WHAT HOLDS THE PATTERN TIGHT\",\"heading\":\"Sand locks it. Edges hold it.\",\"paragraphs\":[\"Joint sand is swept into the gaps between pavers. It packs each unit against its neighbors, so weight spreads across many pavers instead of pushing one down.\",\"An edge restraint runs along the outside row so the pavers cannot spread apart. Without it, joints open and the pattern drifts. Ask how edges are held before you sign.\"]},{\"id\":\"next\",\"type\":\"narrative\",\"eyebrow\":\"YOUR YARD, YOUR CALL\",\"heading\":\"What are pavers a good fit for?\",\"paragraphs\":[\"Driveways, entry walks, patios and pool decks, anywhere you want pattern and color underfoot. To narrow it down, think about whether cars will park on it, where rain runs now and what the surface has to meet.\",\"Ready to pick colors and patterns? Start with the paver guide. Ready to talk installation? The Orange County pavers page shows how we build them.\"],\"links\":[{\"label\":\"Pick your pavers\",\"href\":\"/pavers\"},{\"label\":\"Get pavers installed in Orange County\",\"href\":\"/orange-county-pavers\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Paver basics, answered.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"what-are-pavers-faq-1\",\"question\":\"Pavers vs concrete: what is the difference?\",\"answer\":\"Poured concrete forms a slab; pavers form a surface from individual units with joints between them. Both need appropriate ground preparation and drainage. Concrete uses planned joints to help manage movement and cracking, while an interlocking pavement relies on the interaction of its units, joints, edges and supporting layers.\"},{\"id\":\"what-are-pavers-faq-2\",\"question\":\"What are pavers laid on?\",\"answer\":\"A conventional interlocking concrete paver system uses a bedding layer over compacted aggregate and prepared ground. Other products and settings may require different assemblies. The correct installation depends on the selected paver, existing conditions and intended use, so the product guidance and site specification should be considered together.\"},{\"id\":\"what-are-pavers-faq-3\",\"question\":\"How are pavers installed?\",\"answer\":\"Pavers are installed in layers, from the ground up. The area is excavated and graded so water drains, a crushed rock base goes in and is compacted, then a smooth bed of sand. The pavers are laid in pattern, cut to fit at the edges, locked in with edge restraint and finished with joint sand.\"},{\"id\":\"what-are-pavers-faq-4\",\"question\":\"What is the sand between pavers for?\",\"answer\":\"Joint sand fills the narrow gaps between pavers and locks them together, so each unit braces the ones around it. It does a different job from the bedding sand below, which gives each paver a flat bed to sit in. Joint sand goes in last, once the pattern is laid.\"},{\"id\":\"what-are-pavers-faq-5\",\"question\":\"What holds pavers in place at the edges?\",\"answer\":\"An edge restraint does. It lines the outer row, often as a concrete curb, a border set in concrete or edging staked into the base, and stops the outer pavers from sliding outward. Everything inside leans on that edge, so it has to be solid.\"},{\"id\":\"what-are-pavers-faq-6\",\"question\":\"Are pavers worth it?\",\"answer\":\"Pavers are worth considering when you want choice in material, pattern, texture and borders. They can connect a driveway, patio and paths while allowing each area its own purpose. Their value depends on both the selected product and installation, so compare complete proposals alongside the finished look.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep reading.\",\"links\":[{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\",\"description\":\"Compare color, size, pattern and borders.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Orange County pavers\",\"href\":\"/orange-county-pavers\",\"description\":\"Installation from coast to foothills.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Concrete and hardscape\",\"href\":\"/hardscape\",\"description\":\"The poured concrete alternative.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Pricing pavers for your home? Send your city, the area and a photo or two.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"READY WHEN YOU ARE\",\"heading\":\"Let's plan your pavers.\",\"intro\":\"Tell us your city and the space you have in mind. We will take it from there.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/what-are-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"caption\":null,\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"layers\",\"type\":\"system_explainer\",\"contentRef\":\"sections.layers\"},{\"id\":\"edges\",\"type\":\"narrative\",\"contentRef\":\"sections.edges\"},{\"id\":\"next\",\"type\":\"narrative\",\"contentRef\":\"sections.next\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"What Are Pavers? A Plain-English Guide | OCIP\",\"description\":\"What are pavers? A plain-English guide to what they're made of, how they're installed, pavers vs concrete and whether they're worth it.\",\"primaryKeyword\":\"what are pavers\"}},\"/meet-our-team\":{\"route\":\"/meet-our-team\",\"layout\":\"ABOUT-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"About OCIP\"}],\"eyebrow\":\"MEET THE OCIP TEAM\",\"heading\":\"The people behind the work.\",\"lede\":\"Founded by Orange County native Tyler Watkins, OCIP brings people with different backgrounds together around a shared focus: the home and the homeowner.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/meet-our-team#quote\"},\"secondaryCta\":{\"label\":\"How OCIP started\",\"href\":\"/meet-our-team#details\"},\"infoRows\":[{\"label\":\"Company\",\"value\":\"OCIP\"},{\"label\":\"Owner\",\"value\":\"Tyler Watkins\"},{\"label\":\"Based\",\"value\":\"Orange, California\"},{\"label\":\"Roots\",\"value\":\"Interlocking pavers\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"OUR STARTING POINT\",\"heading\":\"It started with interlocking pavers.\",\"paragraphs\":[\"Tyler Watkins founded OCIP with interlocking pavers. Paving remains at the center of the business, alongside concrete, turf, walls and pool decks, with remodeling for existing pools.\",\"The conversation starts with your property and how you want it to feel and function. From a driveway to a larger project, the team helps bring the materials, scope and practical decisions into focus. Existing-pool remodels involve appropriately licensed specialists as required.\"]},{\"id\":\"people\",\"type\":\"team_profiles\",\"eyebrow\":\"MEET THE TEAM\",\"heading\":\"Different backgrounds. A shared commitment.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Tyler Watkins\",\"body\":\"Founder and owner. Tyler grew up in Orange County, in a family involved in contracting and real estate development. He studied communications at Chapman University, then earned an MBA focused on contracts and finance before starting OCIP.\",\"imageSlotId\":\"team-tyler-watkins-portrait\"},{\"heading\":\"Shaun Lund\",\"body\":\"Shaun grew up in Madison, Wisconsin, laying brick and doing landscape work before he went to the University of Wisconsin. He moved to Southern California and worked in acting and film, then came back to helping homeowners shape their outdoor spaces.\",\"imageSlotId\":\"team-shaun-lund-portrait\"},{\"heading\":\"Alex Miller\",\"body\":\"Alex is an Orange County native who grew up around contracting and studied public administration at California State University, Fullerton. Before joining OCIP, he worked with his father’s contracting company and on complex projects at EMCOR.\",\"imageSlotId\":\"team-alex-miller-portrait\"},{\"heading\":\"Heather Matias\",\"body\":\"Heather first hired OCIP for her own backyard, then joined the company. She is an Orange County native with a background in management, sales and customer service, and her interest in gardening and landscape design brings a homeowner’s view to the conversation.\",\"imageSlotId\":\"team-heather-matias-portrait\"},{\"heading\":\"Frank Tolifson\",\"body\":\"Frank grew up in a construction family in Phoenix, then continued his career in California’s hardscape industry. His experience covers planning and reworking outdoor spaces, including driveways, patios and walkways.\",\"imageSlotId\":\"team-frank-tolifson-portrait\"},{\"heading\":\"Faith Mae Jugan\",\"body\":\"Office manager. Faith keeps the team organized and the communication moving, inside OCIP and with clients. Her background in construction and management backs the day-to-day coordination every home project needs.\",\"imageSlotId\":\"team-faith-mae-jugan-portrait\"}]},{\"id\":\"principles\",\"type\":\"principles\",\"eyebrow\":\"OUR PLANNING HABITS\",\"heading\":\"Plan around the house first.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Everyday use\",\"body\":\"Cars, kids, dogs, a table for eight: how you use the space sets its size and layout before we talk materials.\"},{\"heading\":\"The whole property\",\"body\":\"We map what stays: steps, thresholds, planters, the walk you like. New surfaces have to meet each one at the right height.\"},{\"heading\":\"Written scope\",\"body\":\"The proposal puts the scope in writing, so you can read it against the other estimates on your table and decide.\"}]},{\"id\":\"conversation\",\"type\":\"narrative\",\"eyebrow\":\"BEFORE YOU HIRE\",\"heading\":\"Questions to ask the OCIP team.\",\"paragraphs\":[\"Ask who owns the company, who holds the license and what the estimate covers. Tell us about the area, the material you like and anything tricky about access, such as a narrow side yard.\",\"Then check our work and our license yourself: browse recent projects, or look up license 1071389 on the CSLB site.\"],\"links\":[{\"label\":\"View recent projects\",\"href\":\"/recent-projects\"},{\"label\":\"Look up California license 1071389\",\"href\":\"https://www.cslb.ca.gov/OnlineServices/CheckLicenseII/LicenseDetail.aspx?LicNum=1071389\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"The short answers.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"meet-our-team-faq-1\",\"question\":\"Who is the owner of OCIP?\",\"answer\":\"Tyler Watkins founded and owns Orange County Interlocking Paver Co., known as OCIP. An Orange County native, he started the company with interlocking pavers. The business is based in Orange and serves homeowners throughout Orange County and Long Beach, with paving still central to its work.\"},{\"id\":\"meet-our-team-faq-2\",\"question\":\"Who is on the OCIP team, and who will I deal with?\",\"answer\":\"The OCIP team is owner Tyler Watkins, office manager Faith Mae Jugan, Shaun Lund, Alex Miller, Heather Matias and Frank Tolifson. Faith coordinates communication across the team and with clients. When you request an estimate, ask who your main contact will be for your project.\"},{\"id\":\"meet-our-team-faq-3\",\"question\":\"How can I check OCIP’s contractor license?\",\"answer\":\"Search license 1071389 on the California Contractors State License Board website using the link on this page. The official record provides current status and classification information. Ask how the proposed work will be contracted and which appropriately licensed specialists will be involved where the scope requires them.\"},{\"id\":\"meet-our-team-faq-4\",\"question\":\"Where is OCIP based?\",\"answer\":\"OCIP is based at 355 S Calle Grande, Orange, CA 92869. The company takes on projects across Orange County and in Long Beach. Use the service areas page to explore local paving information, or include your city and property details when requesting a free estimate.\"},{\"id\":\"meet-our-team-faq-5\",\"question\":\"What is OCIP’s email address and phone number?\",\"answer\":\"The email is tyler@ocip.biz and the phone number is 714-627-5543. You can also use the estimate form on this page; estimates are free. If you would like to reach a particular person on the team, name them in your message.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Pavers, concrete and hardscape\",\"href\":\"/paving-services\",\"description\":\"Pick the surface that suits your property.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Recent projects\",\"href\":\"/recent-projects\",\"description\":\"Browse the driveways, patios and poolside paving.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\",\"description\":\"Phone, email and the estimate form.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Send your city, the space you want built and a few photos if you have them.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"TALK WITH THE TEAM\",\"heading\":\"Tell us what you want built.\",\"intro\":\"A rough size, your city and a photo or two are plenty to start the conversation.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/meet-our-team#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/s2KaeYs2wVKKCPaheCNEeH5mo.jpg\",\"alt\":\"A circular fire feature with wooden chairs on a paved patio, with curved steps and planting around the seating area.\",\"caption\":\"Fire feature and paved patio.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp\",\"alt\":\"Light gray rectangular paver driveway leading to a modern white home with wood garage doors.\",\"caption\":null,\"imageMeta\":{\"title\":\"Modern home and paver driveway\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/wIYU3UjytIzVqhmOkZJxrSFc.webp 480w, https://framerusercontent.com/images/Dz6SWBGy5W1m9vmU1Y8fZPr9TM.webp 800w, https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp\",\"alt\":\"Whole backyard with a pool, raised spa, paved seating areas, lawn and a home at dusk.\",\"caption\":null,\"imageMeta\":{\"title\":\"Whole backyard with pool and patio\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":779,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.43261), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.43261), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.43261), 658px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp\",\"alt\":\"Tyler Watkins with his son, both wearing light blue OCIP shirts.\",\"caption\":null,\"imageMeta\":{\"title\":\"Tyler Watkins with his son\",\"objectPosition\":\"50% 50%\",\"width\":1200,\"height\":900,\"srcSet\":\"https://framerusercontent.com/images/Osvcr6HIMxduK5JOX2cUnuSsM.webp 480w, https://framerusercontent.com/images/GYay75o6la2N1AP5TQVfDCJQ0.webp 800w, https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.24000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.24000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.24000), 569px\"}},{\"id\":\"company-divider\",\"src\":\"https://framerusercontent.com/images/gs77dMEQTqWbeMORMPcITW0z0w.webp\",\"alt\":\"Eight members of the OCIP team standing together outdoors.\",\"caption\":null,\"imageMeta\":{\"title\":\"The OCIP team\",\"width\":2e3,\"height\":1333,\"objectPosition\":\"50% 0%\",\"srcSet\":\"https://framerusercontent.com/images/pxf2d0yCJaPTCnUllnmmPHzA5FA.webp 1000w, https://framerusercontent.com/images/gs77dMEQTqWbeMORMPcITW0z0w.webp 2000w\",\"sizes\":\"(max-width: 809px) calc(100vw - 40px), (max-width: 1199px) calc(100vw - 80px), (max-width: 1568px) calc(100vw - 128px), 1440px\"}},{\"id\":\"team-tyler-watkins-portrait\",\"kind\":\"portrait\",\"src\":\"https://framerusercontent.com/images/4rysZ60bJf2ZLL2l4fisHpjTg.webp\",\"alt\":\"Tyler Watkins with his son, both wearing light blue OCIP shirts.\",\"caption\":null,\"placeholderText\":\"Tyler Watkins\",\"attribution\":{\"person\":\"Tyler Watkins\"},\"imageMeta\":{\"title\":\"Tyler Watkins with his son\",\"width\":1400,\"height\":1750,\"objectPosition\":\"50% 50%\",\"srcSet\":\"https://framerusercontent.com/images/RC4wCUdHKn7uFcu7ixKH84hrtI.webp 800w, https://framerusercontent.com/images/4rysZ60bJf2ZLL2l4fisHpjTg.webp 1400w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.323), (max-width: 1199px) calc((100vw - 160px) / 2 * 1.323), (max-width: 1568px) calc((100vw - 208px) / 2 * 1.323), 900px\"}},{\"id\":\"team-shaun-lund-portrait\",\"kind\":\"portrait\",\"src\":null,\"alt\":\"\",\"caption\":null,\"placeholderText\":\"Shaun Lund\",\"attribution\":{\"person\":\"Shaun Lund\"}},{\"id\":\"team-alex-miller-portrait\",\"kind\":\"portrait\",\"src\":null,\"alt\":\"\",\"caption\":null,\"placeholderText\":\"Alex Miller\",\"attribution\":{\"person\":\"Alex Miller\"}},{\"id\":\"team-heather-matias-portrait\",\"kind\":\"portrait\",\"src\":null,\"alt\":\"\",\"caption\":null,\"placeholderText\":\"Heather Matias\",\"attribution\":{\"person\":\"Heather Matias\"}},{\"id\":\"team-frank-tolifson-portrait\",\"kind\":\"portrait\",\"src\":null,\"alt\":\"\",\"caption\":null,\"placeholderText\":\"Frank Tolifson\",\"attribution\":{\"person\":\"Frank Tolifson\"}},{\"id\":\"team-faith-mae-jugan-portrait\",\"kind\":\"portrait\",\"src\":null,\"alt\":\"\",\"caption\":null,\"placeholderText\":\"Faith Mae Jugan\",\"attribution\":{\"person\":\"Faith Mae Jugan\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"people\",\"type\":\"team_profiles\",\"contentRef\":\"sections.people\"},{\"id\":\"company-divider\",\"type\":\"decorative_image\",\"imageSlotId\":\"company-divider\"},{\"id\":\"principles\",\"type\":\"principles\",\"contentRef\":\"sections.principles\"},{\"id\":\"conversation\",\"type\":\"narrative\",\"contentRef\":\"sections.conversation\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"OCIP Team: Meet Owner Tyler Watkins | OCIP\",\"description\":\"Meet OCIP, founded by Orange County native Tyler Watkins. Learn about the team behind its pavers, concrete and outdoor work. Request a free estimate.\",\"primaryKeyword\":\"OCIP team\"}},\"/recent-projects\":{\"route\":\"/recent-projects\",\"layout\":\"WORK-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Work\"}],\"eyebrow\":\"RECENT PROJECTS\",\"heading\":\"See the surface in its setting.\",\"lede\":\"Look at the approach, the gathering space and the way the paving meets the rest of the home.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/recent-projects#quote\"},\"secondaryCta\":{\"label\":\"Explore the details\",\"href\":\"/recent-projects#details\"},\"infoRows\":[{\"label\":\"Focus\",\"value\":\"Residential paving\"},{\"label\":\"Look for\",\"value\":\"Patterns, edges and connections\"},{\"label\":\"Images\",\"value\":\"Illustrative review views\"},{\"label\":\"Next step\",\"value\":\"Share your reference\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"LOOK AT THE WHOLE SPACE\",\"heading\":\"Start wide. Then look closer.\",\"paragraphs\":[\"A driveway or patio makes more sense when you can see what surrounds it. Notice the house, the planting and the adjoining surfaces before focusing on the individual paving units.\",\"Then look closer at the layout, the borders and the changes in direction. These details can help you explain what you would like to bring to your own project.\"]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"PAVING IN CONTEXT\",\"heading\":\"Views to help shape your plans.\",\"paragraphs\":[\"Look for the relationships that matter at your home: the route from the driveway to the door, the edge of a patio and the connection between one outdoor area and the next.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\",\"gallery-5\",\"gallery-6\",\"gallery-7\",\"gallery-8\"],\"note\":\"Image selection in progress. These views illustrate the layout and do not identify separate projects.\",\"presentation\":\"two_columns_desktop_one_column_phone_4_3\"},{\"id\":\"viewing-guidance\",\"type\":\"viewing_guidance\",\"eyebrow\":\"LOOK CLOSER\",\"heading\":\"What to look for.\",\"paragraphs\":[\"Look for the relationships that matter at your home: the route from the driveway to the door, the edge of a patio and the connection between one outdoor area and the next.\"],\"cards\":[{\"heading\":\"Surface and setting\",\"body\":\"Consider the paving alongside the home and the spaces around it.\"},{\"heading\":\"Lines and borders\",\"body\":\"Follow the layout and the way the edges frame the surface.\"},{\"heading\":\"Connected spaces\",\"body\":\"Notice the routes between entrances and gathering areas.\"},{\"heading\":\"A closer look\",\"body\":\"Look at the transitions where one surface meets another.\"}]},{\"id\":\"your-home\",\"type\":\"narrative\",\"eyebrow\":\"FROM REFERENCE TO REAL SPACE\",\"heading\":\"Bring us what catches your eye.\",\"paragraphs\":[\"A reference can be useful without being a plan to copy. Tell us which part interests you: the color, the pattern, the border or the way the space is arranged.\",\"Pair that reference with photos of your own property. Include the surfaces and features you want to keep so the conversation stays grounded in your home.\"]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you begin.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"recent-projects-faq-1\",\"question\":\"Can I use a project image to explain what I want?\",\"answer\":\"Yes. Tell us which part of the image you like and share photographs of your own space. This helps separate the material choice from the layout and surrounding setting.\"},{\"id\":\"recent-projects-faq-2\",\"question\":\"Can the same design be used at my home?\",\"answer\":\"A reference is a starting point. The layout, dimensions, intended use, levels and adjoining surfaces at your property need to shape the proposed work.\"},{\"id\":\"recent-projects-faq-3\",\"question\":\"How can I identify the material in an image?\",\"answer\":\"Ask about the specific image. Appearance alone does not establish a product name, color or finish, and those details should be confirmed before selection.\"},{\"id\":\"recent-projects-faq-4\",\"question\":\"Should I send views of the entire yard?\",\"answer\":\"Yes. Wider photographs show how the paving would meet the house and existing features. Close views can add detail about the current surface and edges.\"},{\"id\":\"recent-projects-faq-5\",\"question\":\"Can we discuss more than one paved area?\",\"answer\":\"Yes. Include the driveway, patio or walkways you want to change and how they connect. The estimate should reflect the scope you want to consider.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Paver material guide\",\"href\":\"/pavers\",\"description\":\"Turn a visual reference into selection questions.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Patios and walkways\",\"href\":\"/patios-and-walkways\",\"description\":\"Plan how the space will be used.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Residential paving services\",\"href\":\"/paving-services\",\"description\":\"Discuss the scope around your home.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Share your city, the area you want to improve and what you have in mind.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"START WITH YOUR HOME\",\"heading\":\"What would you change at your home?\",\"intro\":\"Share the images you like and the space you want to improve.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/recent-projects#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-5\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-6\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-7\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null},{\"id\":\"gallery-8\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":null}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"viewing-guidance\",\"type\":\"viewing_guidance\",\"contentRef\":\"sections.viewing-guidance\"},{\"id\":\"your-home\",\"type\":\"narrative\",\"contentRef\":\"sections.your-home\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Paver and Pool Projects in Orange County | OCIP\",\"description\":\"See OCIP's paver and pool projects across Orange County: driveways, patios, pool decks and backyards. Like a detail? Request a free estimate.\"}},\"/contact-us\":{\"route\":\"/contact-us\",\"layout\":\"CONTACT-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Contact\"}],\"eyebrow\":\"CONTACT OCIP\",\"heading\":\"Tell us what you have in mind.\",\"lede\":\"Start your free estimate for pavers, concrete, turf or walls in Orange County and Long Beach. Pool decks and existing-pool remodels can also be discussed.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/contact-us#quote\"},\"secondaryCta\":{\"label\":\"Gather the details\",\"href\":\"/contact-us#details\"},\"infoRows\":[{\"label\":\"Financing\",\"value\":\"Options through Enhancify\"},{\"label\":\"Location\",\"value\":\"Orange, California\"},{\"label\":\"Call\",\"value\":\"714-627-5543\"},{\"label\":\"Email\",\"value\":\"tyler@ocip.biz\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"NO FINISHED DESIGN NEEDED\",\"heading\":\"Your property. Your priorities.\",\"paragraphs\":[\"Every free paving estimate in Orange County starts with two answers: where the project is and what you want built, from a driveway or patio to turf, walls or a pool deck.\",\"Weighing pavers against concrete, or planning turf, walls or an existing-pool remodel alongside them? Say so, and mention what stays. Send the site address and photos.\",\"Wide photos help show the setting, with doors, gates and adjoining surfaces in view. Rough measurements are useful too. Email photographs or plans to tyler@ocip.biz when you are ready to share them.\"]},{\"id\":\"share\",\"type\":\"planning_cards\",\"eyebrow\":\"WHAT TO INCLUDE\",\"heading\":\"Four helpful starting points.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Location\",\"body\":\"The project city and how you'd like us to reach you.\"},{\"heading\":\"The project\",\"body\":\"Pavers, concrete, turf, walls, pool deck or existing-pool remodel, plus a rough size.\"},{\"heading\":\"Existing conditions\",\"body\":\"What's there now, how equipment can reach the area, and where water collects when it rains.\"},{\"heading\":\"Your priorities\",\"body\":\"The look you're after, any dates that matter and what you'd like to keep.\"}]},{\"id\":\"direct-contact\",\"type\":\"narrative\",\"eyebrow\":\"PREFER TO TALK?\",\"heading\":\"Contact OCIP directly.\",\"paragraphs\":[\"Talk it through at 714-627-5543, or email photos, plans and a short note to tyler@ocip.biz. Our address is 355 S Calle Grande, Orange, CA 92869.\",\"Financing options are available through Enhancify. Follow the link to review current options and application details directly with the financing provider.\"],\"links\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email tyler@ocip.biz\",\"href\":\"mailto:tyler@ocip.biz\"},{\"label\":\"Explore financing with Enhancify\",\"href\":\"https://www.enhancify.com/ocip\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you begin.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"contact-us-faq-1\",\"question\":\"What's included in a free paving estimate in Orange County?\",\"answer\":\"The estimate is free. Start with your location and the work you have in mind so OCIP can discuss the area, material choices and conditions that affect the scope. The proposed work and price are then set out for you to review.\"},{\"id\":\"contact-us-faq-2\",\"question\":\"Do I need measurements or a design to get an estimate?\",\"answer\":\"No. A rough size and a few photos are enough to start, and nobody expects a finished design. If you're unsure of the size, say so; exact numbers get worked out as the scope takes shape.\"},{\"id\":\"contact-us-faq-3\",\"question\":\"Can I email photos for a paver estimate?\",\"answer\":\"Yes. Send photos to tyler@ocip.biz with the project city and a line about the job. Plans, a property survey or your HOA's guidelines are worth attaching too, if you have them.\"},{\"id\":\"contact-us-faq-4\",\"question\":\"What happens after I request a paving estimate?\",\"answer\":\"We look over what you sent, then get in touch to talk through the job: how you'll use the space, what stays and which surface fits. Next comes a scope and a price for you to review before any work is booked.\"},{\"id\":\"contact-us-faq-5\",\"question\":\"How can I explore financing for my OCIP project?\",\"answer\":\"Visit OCIP’s Enhancify page using the financing link above to review available options and application details. Any approval, rates, payment terms and conditions come from the financing provider. You can also mention financing when you request your free estimate so the project conversation reflects your plans.\"},{\"id\":\"contact-us-faq-6\",\"question\":\"How do I contact OCIP if the estimate form won't load?\",\"answer\":\"Email tyler@ocip.biz or call 714-627-5543 instead, with the project city, the job and any photos you have. You can also try the “Open the estimate form” link, which loads the same form in its own tab.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Pavers, concrete and hardscape\",\"href\":\"/paving-services\",\"description\":\"See which surface suits your driveway.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\",\"description\":\"Compare colors, patterns and paver sizes.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Meet our team\",\"href\":\"/meet-our-team\",\"description\":\"Who's behind the work at OCIP.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Start with the city and the job. Photos and rough sizes can follow by email.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/vZg8gRyY9mYPzW2x384uIloD2A.jpg\",\"alt\":\"Aerial view of a red-roofed home with a pool, paved terraces, curved steps and palms.\",\"caption\":\"Pool, terraces and landscaped grounds.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp\",\"alt\":\"Light gray rectangular paver driveway leading to a modern white home with wood garage doors.\",\"caption\":null,\"imageMeta\":{\"title\":\"Modern home and paver driveway\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/wIYU3UjytIzVqhmOkZJxrSFc.webp 480w, https://framerusercontent.com/images/Dz6SWBGy5W1m9vmU1Y8fZPr9TM.webp 800w, https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp\",\"alt\":\"Tyler Watkins with his son, both wearing light blue OCIP shirts.\",\"caption\":null,\"imageMeta\":{\"title\":\"Tyler Watkins with his son\",\"objectPosition\":\"50% 50%\",\"width\":1200,\"height\":900,\"srcSet\":\"https://framerusercontent.com/images/Osvcr6HIMxduK5JOX2cUnuSsM.webp 480w, https://framerusercontent.com/images/GYay75o6la2N1AP5TQVfDCJQ0.webp 800w, https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.24000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.24000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.24000), 569px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\",\"sections.direct-contact\"]},{\"id\":\"share\",\"type\":\"planning_cards\",\"contentRef\":\"sections.share\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Free Paving Estimate in Orange County | OCIP\",\"description\":\"Request a free OCIP estimate for hardscape, pool decks or pool remodels in Orange County and Long Beach. Call 714-627-5543 or explore Enhancify financing.\",\"primaryKeyword\":\"free paving estimate Orange County\"}},\"/warranty\":{\"route\":\"/warranty\",\"layout\":\"WARRANTY-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Warranty information\"}],\"eyebrow\":\"WARRANTY COVERAGE\",\"heading\":\"Your OCIP warranty, in writing.\",\"lede\":\"Read the terms with your proposal, then file them with your project documents.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/warranty#quote\"},\"secondaryCta\":{\"label\":\"See what applies\",\"href\":\"/warranty#published-terms\"},\"infoRows\":[{\"label\":\"Type\",\"value\":\"Written coverage\"},{\"label\":\"Materials\",\"value\":\"Applicable product terms\"},{\"label\":\"Installation\",\"value\":\"Project agreement\"},{\"label\":\"Reference\",\"value\":\"Published warranty terms\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"BEFORE WORK BEGINS\",\"heading\":\"Confirm what applies before you sign.\",\"paragraphs\":[\"Checking OCIP warranty coverage? Look at material and installation coverage separately. Ask which terms apply to your product and which to the agreed scope.\",\"Read the written conditions, exclusions and responsibilities with the proposal, before the job starts. Keep them together so a later question has a clear reference.\"]},{\"id\":\"published-terms\",\"type\":\"narrative\",\"eyebrow\":\"WARRANTIES & TERMS\",\"heading\":\"The published terms.\",\"paragraphs\":[\"Read OCIP’s published warranty and project terms below, then confirm the provisions that apply to your written agreement and selected products.\"],\"links\":[],\"blocks\":[{\"heading\":\"Material Warranties\",\"paragraphs\":[],\"bullets\":[\"Paver material: 25 years Varies by manufacturer but typically a lifetime warranty\",\"Artificial turf: 10 years Varies by manufacturer\",\"Alumawood patios: limited lifetime\",\"Lighting & softscape: varies by product\"]},{\"heading\":\"Install warranties\",\"paragraphs\":[\"The Orange County Interlocking Paver Co. uses the best materials in the business, along with installing all paver products to ICPI standard. We are confident you’ll love the workmanship, which is why we offer a warrantee for the following:\"],\"bullets\":[\"Low voltage LEDs: 1 year\",\"Masonry: 1 year\",\"irrigation systems: 1 year\",\"Plants & trees: varies by component\"]},{\"heading\":\"Warranty conditions\",\"paragraphs\":[\"Warranties are only valid if payment is made upon full completion. If the work is not completed to customer satisfaction upon final job walk, we will fix it at our own expense.\"],\"bullets\":[]},{\"heading\":\"OTHER TERMS\",\"paragraphs\":[],\"bullets\":[]},{\"heading\":\"Change Orders\",\"paragraphs\":[\"Once construction begins, additions, alterations and diversions from the design plan will require a signed “change order” document from both homeowner and designer. Any additional costs that accompany the request are due in full upon request. Unforeseen obstacles are not uncommon, and homeowner agrees to over any additional cost due to any event that may occur (tree roots, tree stumps, buried hazard material, buried concrete footings, clogged drains, etc.)\"],\"bullets\":[]},{\"heading\":\"Concrete Removal\",\"paragraphs\":[\"Demolition estimates budget for 4” thick concrete, no rebar. For every additional inch after 4”, demolition cost will increase $1/SF. Contractor will warranty concrete if concrete cracks more than ⅛ of an inch wide. Hairline cracks occur commonly and are not covered under warranty. Contractor will not guarantee invasive grass or weeds returning after post emergent (weed & grass killer) treatment has been applied. This includes new lawns.\"],\"bullets\":[]},{\"heading\":\"HOA\",\"paragraphs\":[\"Client is responsible for HOA compliance and document submittal. All deposits are non-refundable if client cancels after 72 hours of signing Contract. Plan fees are non-refundable as well\"],\"bullets\":[]}],\"source\":{\"url\":\"https://theocip.com/warranty/\",\"readDate\":\"2026-10-03\",\"note\":\"Full published terms transcribed; original wording retained, including source typos. Whitespace normalized.\"}},{\"id\":\"coverage-questions\",\"type\":\"coverage_questions\",\"eyebrow\":\"QUESTIONS TO ASK\",\"heading\":\"Four questions worth asking.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Which product warranty applies?\",\"body\":\"Ask for the warranty information on the exact material you choose.\"},{\"heading\":\"What work is included?\",\"body\":\"Read the installation coverage next to the agreed scope, and keep both with your proposal.\"},{\"heading\":\"What conditions and exclusions apply?\",\"body\":\"Look for the exclusions, payment conditions and responsibilities set out in the written terms.\"},{\"heading\":\"Who should I contact?\",\"body\":\"Save 714-627-5543 and tyler@ocip.biz with your project documents so you can raise a question with the details in front of you.\"}]},{\"id\":\"documents\",\"type\":\"narrative\",\"eyebrow\":\"KEEP A CLEAR RECORD\",\"heading\":\"Keep one project folder.\",\"paragraphs\":[\"Put the agreement, any change orders and your product’s warranty information in one place. When something needs clarifying, contact OCIP with those project details in hand.\",\"Keep the published terms, your written agreement and the applicable product warranty documents together. If anything is unclear, ask OCIP which provisions apply to your project before signing.\"]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Questions about coverage.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"warranty-faq-1\",\"question\":\"Does OCIP offer a paver installation warranty?\",\"answer\":\"Material and installation coverage are different. OCIP’s published terms list material warranties and installation provisions separately, with conditions for validity. Read the full terms above and ask which product and installation coverage applies to the pavers and scope in your agreement before work begins.\"},{\"id\":\"warranty-faq-2\",\"question\":\"Where can I read the OCIP warranty terms?\",\"answer\":\"The complete published warranty and project terms appear above on this page. They include material coverage, installation provisions, payment conditions, change orders, concrete and HOA responsibilities. Read them with your proposal and keep the applicable product documents and signed agreement together for reference.\"},{\"id\":\"warranty-faq-3\",\"question\":\"Does the warranty cover hairline cracks in concrete?\",\"answer\":\"No. OCIP’s published terms exclude hairline concrete cracks and state coverage for cracks more than one eighth of an inch wide. Read the full conditions above, including payment requirements, and confirm how the provisions apply to your written agreement.\"},{\"id\":\"warranty-faq-4\",\"question\":\"How do I raise a concern about completed work with OCIP?\",\"answer\":\"Call or email OCIP with your project details, a description of the concern and photographs where helpful. The number is 714-627-5543 and the email is tyler@ocip.biz. Have your agreement and warranty documents available so both sides work from the same terms.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Read the full terms\",\"href\":\"/warranty#published-terms\",\"description\":\"Material coverage, installation and project conditions.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\",\"description\":\"Ask about a project or coverage.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\",\"description\":\"Compare colors, patterns and paver types.\",\"imageSlotId\":\"related-3-image\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"New project? Send your city and ideas here. Coverage question on an existing project? Call or email OCIP directly.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"CONTACT OCIP\",\"heading\":\"Have a coverage question?\",\"intro\":\"Already built with OCIP? Call or email with your project details and the paperwork you have.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/warranty#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp\",\"alt\":\"Gray paver driveway leading to wood garage doors on a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway at the garage\",\"objectPosition\":\"50% 45%\",\"width\":819,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/98lGBTmsHO19i3zuBYD7zVnjoW8.webp 480w, https://framerusercontent.com/images/gRD62dy3iyO8s3OnZylvOzzAHs.webp 800w, https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp 819w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp\",\"alt\":\"Tyler Watkins with his son, both wearing light blue OCIP shirts.\",\"caption\":null,\"imageMeta\":{\"title\":\"Tyler Watkins with his son\",\"objectPosition\":\"50% 50%\",\"width\":1200,\"height\":900,\"srcSet\":\"https://framerusercontent.com/images/Osvcr6HIMxduK5JOX2cUnuSsM.webp 480w, https://framerusercontent.com/images/GYay75o6la2N1AP5TQVfDCJQ0.webp 800w, https://framerusercontent.com/images/xrURqjAxLAA6kSbm3HBpPGTVWb4.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.24000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.24000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.24000), 569px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"published-terms\",\"type\":\"narrative\",\"contentRef\":\"sections.published-terms\"},{\"id\":\"coverage-questions\",\"type\":\"coverage_questions\",\"contentRef\":\"sections.coverage-questions\"},{\"id\":\"documents\",\"type\":\"narrative\",\"contentRef\":\"sections.documents\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"OCIP Warranty: Written Coverage and Terms | OCIP\",\"description\":\"How the OCIP warranty works: written installation coverage, separate material terms, the published conditions and who to call with a question.\",\"primaryKeyword\":\"OCIP warranty\"}},\"/service-areas\":{\"route\":\"/service-areas\",\"layout\":\"AREAS-B\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\"}],\"eyebrow\":\"OCIP PAVING SERVICE AREAS\",\"heading\":\"Across Orange County. Into Long Beach.\",\"lede\":\"Pavers, concrete and connected outdoor spaces, planned around the property you call home. Explore a city below or tell us where you are.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/service-areas#quote\"},\"secondaryCta\":{\"label\":\"Browse 20 cities\",\"href\":\"/service-areas#areas\"},\"infoRows\":[{\"label\":\"Region\",\"value\":\"Orange County and Long Beach\"},{\"label\":\"Based\",\"value\":\"Orange, California\"},{\"label\":\"Services\",\"value\":\"Pavers, concrete, turf, walls\"},{\"label\":\"Estimates\",\"value\":\"Free project estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"BASED IN ORANGE\",\"heading\":\"Local perspective. A plan for your property.\",\"paragraphs\":[\"OCIP is based in Orange and serves all of Orange County, from coastal homes to inland neighborhoods and foothill properties. Long Beach, in Los Angeles County, is also part of the service area.\",\"The city pages are useful starting points for a driveway, patio or walkway project. Each considers a different aspect of planning, from fitting the paving to the house to connecting existing surfaces and making room for daily use.\",\"Pavers, concrete, turf and walls remain the focus, with pool decks and existing-pool remodels available as well. Share the location and scope so the right conversation starts early.\"]},{\"id\":\"areas\",\"type\":\"linked_city_directory\",\"eyebrow\":\"20 CITY PAGES\",\"heading\":\"Pick your city.\",\"paragraphs\":[\"The list covers 19 Orange County cities plus Long Beach, which sits in Los Angeles County. Each name opens its city page.\"],\"links\":[{\"label\":\"Anaheim\",\"href\":\"/anaheim-pavers\"},{\"label\":\"Brea\",\"href\":\"/brea-pavers\"},{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Cypress\",\"href\":\"/cypress-pavers\"},{\"label\":\"Fountain Valley\",\"href\":\"/fountain-valley-pavers\"},{\"label\":\"Fullerton\",\"href\":\"/fullerton-pavers\"},{\"label\":\"Garden Grove\",\"href\":\"/garden-grove-pavers\"},{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"},{\"label\":\"Irvine\",\"href\":\"/irvine-pavers\"},{\"label\":\"Laguna Niguel\",\"href\":\"/laguna-niguel-pavers\"},{\"label\":\"Lake Forest\",\"href\":\"/lake-forest-pavers\"},{\"label\":\"Long Beach\",\"href\":\"/long-beach-pavers\"},{\"label\":\"Mission Viejo\",\"href\":\"/mission-viejo-pavers\"},{\"label\":\"Newport Beach\",\"href\":\"/newport-beach-pavers\"},{\"label\":\"Placentia\",\"href\":\"/placentia-pavers\"},{\"label\":\"San Clemente\",\"href\":\"/san-clemente-pavers\"},{\"label\":\"San Juan Capistrano\",\"href\":\"/san-juan-capistrano-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Seal Beach\",\"href\":\"/seal-beach-pavers\"},{\"label\":\"Yorba Linda\",\"href\":\"/yorba-linda-pavers\"}],\"closingText\":\"OCIP serves the whole county, including Orange, Dana Point, Laguna Beach and communities beyond this directory. If your city is not listed, send your location and project details.\",\"closingLink\":{\"label\":\"Ask about your project location\",\"href\":\"/service-areas#quote\"}},{\"id\":\"services\",\"type\":\"service_cards\",\"eyebrow\":\"THE WORK AROUND YOUR HOME\",\"heading\":\"Four places to start.\",\"paragraphs\":[\"Begin with the areas used every day, then consider how the rest of the property connects.\"],\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Paver driveways built for daily parking: driveway-rated units on a compacted base, edges locked on every open side and a slope that drains.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Room for the table and chairs you actually own, pitched away from the house so rain doesn't sit by the back door.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"A path you'd take without thinking: gate to door, drive to patio, with a firm edge where it meets lawn or planting.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"One-piece slabs for drives, patios and walks. The finish is your call; control joints and drainage slope are ours.\",\"href\":\"/hardscape\"}],\"links\":[{\"label\":\"Existing-pool remodeling\",\"href\":\"/pool-construction-orange-county\"},{\"label\":\"Pool decks and coping\",\"href\":\"/pool-decking-orange-county\"},{\"label\":\"Turf and walls\",\"href\":\"/paving-services#services\"},{\"label\":\"Irvine pool remodeling\",\"href\":\"/pool-construction-irvine\"}]},{\"id\":\"connections\",\"type\":\"narrative\",\"eyebrow\":\"LOCAL DETAILS MATTER\",\"heading\":\"The city shapes the plan. So does your lot.\",\"paragraphs\":[\"An exposed courtyard, a sloped driveway, an older slab or an association’s design rules can each influence the work. The city provides context; the actual property determines the details that belong in your plan.\",\"So when you reach out, tell us about the lot: sloped or flat, near the water or inland, in an HOA or not, paved recently or decades ago. Your city's page goes deeper.\"]},{\"id\":\"planning\",\"type\":\"planning_cards\",\"eyebrow\":\"WORTH MENTIONING UP FRONT\",\"heading\":\"Give us the short version.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Location\",\"body\":\"Your city and neighborhood, and whether an HOA reviews exterior changes.\"},{\"heading\":\"Use\",\"body\":\"Who drives, walks or sits on it, and how often.\"},{\"heading\":\"Existing surface\",\"body\":\"Concrete, old pavers, grass or dirt, and what should stay put.\"},{\"heading\":\"Priorities\",\"body\":\"Look, materials, timing and anything you want to ask.\"}]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"GETTING STARTED\",\"heading\":\"From a first idea to a clear scope.\",\"paragraphs\":[],\"steps\":[{\"number\":\"01\",\"heading\":\"Share your project\",\"body\":\"Start on your city's page, then send us the location, what you'd like built and some photos of it.\"},{\"number\":\"02\",\"heading\":\"Talk through the options\",\"body\":\"Expect questions on parking, foot traffic, what's staying, where water runs now and which material suits the job.\"},{\"number\":\"03\",\"heading\":\"Review your estimate\",\"body\":\"Areas, materials, base prep, edging and drainage, laid out with the price before anything starts.\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Questions about your city.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"service-areas-faq-1\",\"question\":\"What are OCIP's paving service areas in Orange County?\",\"answer\":\"OCIP serves all of Orange County and Long Beach in Los Angeles County. This directory links to 20 city pages, but it is not the boundary of the service area. Include your project location and the driveway, patio, path or other work you are considering when you get in touch.\"},{\"id\":\"service-areas-faq-2\",\"question\":\"Is there a paver contractor near me in Orange County?\",\"answer\":\"OCIP is based at 355 S Calle Grande, Orange, CA 92869, and installs pavers throughout Orange County and Long Beach. Share your city and the area you want to change to start a free estimate. You do not need a finished design before beginning the conversation.\"},{\"id\":\"service-areas-faq-3\",\"question\":\"Is Long Beach in Orange County, and does OCIP work there?\",\"answer\":\"Long Beach is in Los Angeles County, and OCIP serves it alongside Orange County. The Long Beach page provides a starting point for residential pavers, with planning considerations for the driveway, patio and paths. Include the actual property conditions and your priorities in the enquiry.\"},{\"id\":\"service-areas-faq-4\",\"question\":\"What if my city isn't on OCIP's service area list?\",\"answer\":\"You can still contact OCIP. The service area includes all of Orange County, including communities without a separate page in this directory, plus Long Beach. Send the city, the areas you want to improve and a short description of the project through the estimate form.\"},{\"id\":\"service-areas-faq-5\",\"question\":\"Is the estimate free in every city you serve?\",\"answer\":\"Yes. OCIP offers free estimates throughout Orange County and Long Beach. Include your city, the type of work and what is there now. You can email photographs or plans to tyler@ocip.biz, or call 714-627-5543 if you prefer to discuss the project directly.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep planning from here.\",\"links\":[{\"label\":\"Countywide pavers\",\"href\":\"/orange-county-pavers\",\"description\":\"The county paver guide, naming more communities.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete and hardscape\",\"href\":\"/hardscape\",\"description\":\"Poured drives and patios, finishes and joints.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios and walkways\",\"href\":\"/patios-and-walkways\",\"description\":\"Seating space and the paths that reach it.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"}},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Name your city, the area you want paved or built, and what's there today. A few photos help.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"eyebrow\":\"YOUR CITY. YOUR ESTIMATE.\",\"heading\":\"Tell us where you are.\",\"intro\":\"Your city, the job and a few photos are all it takes to start.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/service-areas#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/sbwA6fyQC6nINV7yR1W5usI.webp\",\"alt\":\"Aerial view of a house, swimming pool, garden paths and palm-lined grounds.\",\"caption\":\"Pool, pathways and landscaped grounds.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"caption\":null,\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"caption\":null,\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"caption\":null,\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"areas\",\"type\":\"linked_city_directory\",\"contentRef\":\"sections.areas\"},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"planning\",\"type\":\"planning_cards\",\"contentRef\":\"sections.planning\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Paving Service Areas in Orange County & Long Beach | OCIP\",\"description\":\"OCIP's paving service areas cover Orange County and Long Beach in LA County. Find a paver contractor near you, open your city and get a free estimate.\",\"primaryKeyword\":\"paving service areas Orange County\"}},\"/anaheim-pavers\":{\"route\":\"/anaheim-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Anaheim\",\"href\":null}],\"eyebrow\":\"FLATLANDS TO ANAHEIM HILLS\",\"heading\":\"Anaheim pavers.\",\"lede\":\"Paver driveways, patios and walks for Anaheim homes, from level yards to Anaheim Hills slopes, with the approach and outdoor spaces planned together.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/anaheim-pavers#quote\"},\"secondaryCta\":{\"label\":\"Read the details\",\"href\":\"/anaheim-pavers#details\"},\"infoRows\":[{\"label\":\"Ground\",\"value\":\"Flatlands, hillsides\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Anaheim pavers, flat lot or hillside.\",\"paragraphs\":[\"Anaheim spans level neighborhoods and hillside streets, and each property brings a different starting point. A new driveway or patio should complement the home while accounting for the ground, access and drainage around it.\",\"On a level lot, drainage deserves attention before materials are chosen. On a slope, the layout also needs to account for changes in height and where runoff can safely go.\",\"A lasting result starts below the surface, with preparation suited to the ground, the chosen material and its use. Tell us about your driveway, patio or walkway and the spaces it should connect.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What we build on an Anaheim lot.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Driveway-rated pavers, a considered pattern and preparation suited to daily parking, turning and the existing drainage.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Space for outdoor dinners, with runoff steered away whether the yard is flat or tilted.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Entry walks and side paths that follow the lay of the land and shed water after rain.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Rather have a single slab? We pour concrete drives, patios and walks, joints planned into the layout.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"See paving in its setting.\",\"paragraphs\":[\"Look at how the drive, walk and patio meet. Related colors and clear edges can connect the spaces while letting each one serve a different purpose.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Plan the slope and the spaces together.\",\"paragraphs\":[\"On an Anaheim Hills property, the driveway, paths and patio may meet several changes in level. Consider those connections together, including where water currently runs, before deciding how far new paving should extend.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Worth noting before you call.\",\"bullets\":[\"Where rain puddles on a flat lot, or rushes down a slope.\",\"Which slabs, pavers or planters stay, and which ones come out.\",\"Doors, gates and the garage slab the new paving must meet.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps, flat lot or hill.\",\"steps\":[{\"heading\":\"Show the existing levels\",\"body\":\"Yard photos, where rain pools, and whether you're in the Anaheim flats or the Hills.\"},{\"heading\":\"Plan layout and drainage\",\"body\":\"Parking, walking routes and drainage help shape the layout before the material choice is settled.\"},{\"heading\":\"Approve the written plan\",\"body\":\"Areas, grading, paver, pattern and price, all spelled out before any work starts.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Your free Anaheim estimate.\",\"intro\":\"Tell us if you're on flat ground or in Anaheim Hills, what's paved now and what you want built.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Questions we hear.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Who installs Anaheim pavers and hardscape?\",\"answer\":\"OCIP installs residential pavers and concrete in Anaheim, including driveways, patios, walkways and pool surrounds. The work starts with the areas you want to improve and how they connect. Share the existing surfaces, access and any changes in level so the proposed scope addresses your property.\"},{\"question\":\"Can I get a usable patio on a sloped Anaheim Hills lot?\",\"answer\":\"Often, but the workable area depends on the grade, access and existing structures. A patio may fit on an existing level area, or the project may require additional design and grading. Photos from the house and the lower end of the yard help start the conversation; site conditions determine the final approach.\"},{\"question\":\"Can I pave most of a flat Anaheim backyard?\",\"answer\":\"The amount of paving should follow how you use the yard and how the property drains. Replacing planting with a large hard surface changes runoff, so outlet locations and any applicable requirements need checking first. Keeping planting areas can also give the patio a more balanced setting.\"},{\"question\":\"Do you pour outdoor concrete in Anaheim too?\",\"answer\":\"Yes. OCIP builds concrete driveways, patios and walkways in Anaheim as well as interlocking pavers. Preparation, joints and the finish should suit the area and its intended use. If you are comparing the two surfaces, ask for the options to be considered against the same layout and scope.\"},{\"question\":\"What about runoff from the lot above mine in Anaheim Hills?\",\"answer\":\"Show where water enters and where it travels before planning new paving. Runoff from uphill properties may need attention beyond the paved surface itself. Photos taken after rain or a short video can help explain the problem; the drainage approach should follow an assessment of the whole affected area.\"},{\"question\":\"Should I pave the front and back of my Anaheim home at once?\",\"answer\":\"Planning both areas together can align the materials, finished heights and access, even if construction happens in phases. Whether one project is more practical depends on the scope and how the property is used. Explain which area matters most and ask how later work would connect without disturbing the first phase.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep planning your lot.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Fullerton\",\"href\":\"/fullerton-pavers\"},{\"label\":\"Garden Grove\",\"href\":\"/garden-grove-pavers\"},{\"label\":\"Placentia\",\"href\":\"/placentia-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Tell us about your Anaheim lot.\",\"intro\":\"Share your Anaheim driveway, patio or walkway plans. A few photographs help us understand the property.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/anaheim-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp\",\"alt\":\"Broad paver driveway curving through lawns in front of a large white house.\",\"title\":\"A generous arrival\",\"caption\":\"A broad approach connects the drive with the complete property.\",\"imageMeta\":{\"title\":\"A generous arrival\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/D3CYzkwViXqA5bbKNHkI6xg9VM.webp 800w, https://framerusercontent.com/images/Ao1NKSy64EQy4B3r5Sj06JhFU.webp 1200w, https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp\",\"alt\":\"Paved patio with a dark border, fire pit, seating and a timber pergola.\",\"title\":\"An outdoor room\",\"caption\":\"Paving brings the seating area and covered space together.\",\"imageMeta\":{\"title\":\"An outdoor room\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FTeadfasVOYFqWol5dnsZYOP9ks.webp 800w, https://framerusercontent.com/images/VF9wo4BGwDRqK8GaLCZi3jUsMM.webp 1200w, https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/IO7BaSNzkLfWevrGoIGq2ZxDB2U.webp\",\"alt\":\"Narrow gray paver walkway with a dark border curving between planted beds and stones.\",\"title\":\"A route through the garden\",\"caption\":\"The walkway creates a clear route through the garden.\",\"imageMeta\":{\"title\":\"A route through the garden\",\"objectPosition\":\"50% 54%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/YXkQjXEi3R9eskTxbT7LfWmOBE.webp 800w, https://framerusercontent.com/images/9x13cPavhLrGXstiWz3LRrI4Y.webp 1200w, https://framerusercontent.com/images/IO7BaSNzkLfWevrGoIGq2ZxDB2U.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/2UcBaYBjyJEy3HINxKmf0KdWyTk.webp\",\"alt\":\"Gray paver driveway divided by dark bands in front of a white two-story house.\",\"title\":\"Pattern across a broad drive\",\"caption\":\"Border bands bring structure to a broad paved driveway.\",\"imageMeta\":{\"title\":\"Pattern across a broad drive\",\"objectPosition\":\"50% 20%\",\"width\":1340,\"height\":1178,\"srcSet\":\"https://framerusercontent.com/images/Dl8DvgWVLD8QfmLU32S2BwaN2bY.webp 800w, https://framerusercontent.com/images/NItJWHu5E9PX189s0McF9hW2TYw.webp 1200w, https://framerusercontent.com/images/2UcBaYBjyJEy3HINxKmf0KdWyTk.webp 1340w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Anaheim Pavers: Flat Lots to Anaheim Hills | OCIP\",\"description\":\"Anaheim pavers and concrete for driveways, patios and walkways, with layouts considered for level and hillside properties. Request a free estimate.\"}},\"/brea-pavers\":{\"route\":\"/brea-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Brea\",\"href\":null}],\"eyebrow\":\"NORTH ORANGE COUNTY PAVERS\",\"heading\":\"Brea pavers.\",\"lede\":\"Brea rises from older central streets to newer neighborhoods along the foothills. We build paver driveways, patios and walkways for both.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/brea-pavers#quote\"},\"secondaryCta\":{\"label\":\"View the options\",\"href\":\"/brea-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Details\",\"value\":\"Pattern, border, base, drainage\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Brea pavers for the flats and the foothills.\",\"paragraphs\":[\"Brea includes established central streets and neighborhoods toward the foothills. Your home and its setting should guide the paving. If an association reviews exterior work, include its guidance before narrowing the material choices.\",\"Compare paver color, pattern and border with the driveway, entry and the house itself. Where approval is needed, confirm what the application requires before materials are ordered or construction is scheduled.\",\"Bring photos of paving you like and any samples you've picked up. We'll talk through how each pattern and border reads across your whole driveway or patio, since one paver in your hand can't show that.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Pick the surface, then the details.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"The street sees it first, so pattern and border count. The base underneath is what carries the cars.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Fit the patio to the yard's shape, then choose a pattern scaled to the space.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Connect the driveway and entry with a considered laying direction, comfortable width and a border that suits both areas.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Poured concrete suits spots where one quiet, continuous surface works better, like a long side yard.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Judge the borders up close.\",\"paragraphs\":[\"Borders give a paved area its shape. Compare the main surface with the edges, nearby planting and the house before choosing a pattern.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Hillside lots need a drainage plan.\",\"paragraphs\":[\"Where a Brea yard rises or falls, drainage and finished levels help determine the patio layout. Consider the house, planting and existing outlets together so the new paving fits the site as well as the design.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Bring these to the first talk.\",\"bullets\":[\"Any HOA design guidelines that apply to your home or street.\",\"Photos of a pattern or border you've spotted around Brea.\",\"Which edges meet a neighbor's driveway, a wall or the lawn.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"From samples to a written scope.\",\"steps\":[{\"heading\":\"Send your references\",\"body\":\"Photos of the area, your neighborhood, any HOA notes and looks you like.\"},{\"heading\":\"Narrow the pattern choices\",\"body\":\"We compare pavers, patterns and borders against the space and how it's used.\"},{\"heading\":\"Review the written scope\",\"body\":\"It names the areas, the exact paver, pattern and border, and the edges.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Start your Brea estimate.\",\"intro\":\"Say which part of Brea you're in and what you'd like paved. Samples or photos help.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you start.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Will my Brea HOA want to review new pavers?\",\"answer\":\"Your association can confirm whether review is required and what it needs to see. Obtain its exterior guidelines before selecting materials, then compare color, pattern and borders within those requirements. Share the guidelines with OCIP so the proposed paving can be considered with the approval process in mind.\"},{\"question\":\"Do Brea pavers work on a sloped driveway?\",\"answer\":\"Pavers can suit a sloped driveway when the material and installation are designed for the grade and vehicle use. Pattern, edge support and drainage all matter. The transition to the garage and street needs assessment before the final layout is set, especially where the slope changes.\"},{\"question\":\"Do you build concrete patios in Brea?\",\"answer\":\"Yes. OCIP builds concrete patios in Brea as well as paver patios. The layout, preparation, drainage and joint placement should be considered together. On a foothill property, the surrounding grade and access can influence what is practical, so include them when describing the project.\"},{\"question\":\"How can I picture a paver pattern across my whole driveway?\",\"answer\":\"Look at finished driveways, not single pavers. Drive around Brea and photograph full surfaces in patterns you're considering, ideally on homes like yours, then notice how the joints, borders and laying direction read from the street. Bring those photos to the estimate and we'll compare them against your own driveway's size and shape.\"},{\"question\":\"Do you install pavers in older and newer parts of Brea?\",\"answer\":\"Yes. OCIP serves Brea homes in established neighborhoods and toward the foothills. The approach depends on the property rather than its age: existing paving, changes in level, drainage and access all inform the proposed work. Include any association requirements that apply to your home.\"},{\"question\":\"How do I start a paver project in Brea?\",\"answer\":\"Use the estimate form or call 714-627-5543. Tell us where in Brea the home is, which areas you want paved and what is there now. Email supporting photographs to tyler@ocip.biz. A clear starting idea helps, but you do not need to have every material choice settled.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep reading from here.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Fullerton\",\"href\":\"/fullerton-pavers\"},{\"label\":\"Placentia\",\"href\":\"/placentia-pavers\"},{\"label\":\"Yorba Linda\",\"href\":\"/yorba-linda-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A considered finish, built from the ground up.\",\"intro\":\"Send a photo of a pattern you like and one of your space. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/brea-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp\",\"alt\":\"Warm-toned interlocking paver driveway in front of a home with an arched porch.\",\"title\":\"A welcoming motor court\",\"caption\":\"Warm paving tones connect the driveway with the home’s entrance.\",\"imageMeta\":{\"title\":\"A welcoming motor court\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/QEqDJPolZ28l0iCRMZoH3QzW4.webp 800w, https://framerusercontent.com/images/qc5Xnnf0sW7vyCMyZcaMxPqjekA.webp 1200w, https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/c9VTmOju6BGhVN8G0T9J2q2QkE.webp\",\"alt\":\"Gray paver driveway with contrasting curved borders and cross bands.\",\"title\":\"Borders that define the layout\",\"caption\":\"Borders and bands give a broad driveway definition.\",\"imageMeta\":{\"title\":\"Borders that define the layout\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/gmiyPPWk6KPWTiWNzgLYtaH54.webp 800w, https://framerusercontent.com/images/k3r4qbX2oG7JS8CVqHZC6r629EY.webp 1200w, https://framerusercontent.com/images/c9VTmOju6BGhVN8G0T9J2q2QkE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/Ch9ppnQv056EmUMQ1dStVZ5MlE.webp\",\"alt\":\"Light rectangular paving with dark border bands beside lawn and a flower planter.\",\"title\":\"Small details, clear edges\",\"caption\":\"A border separates the paved area from the lawn.\",\"imageMeta\":{\"title\":\"Small details, clear edges\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4Tvb6vuF4GNi7m0qevxmPJEvaI.webp 800w, https://framerusercontent.com/images/n4X4Z9W0agv9xYLSIrcMDdHZa4w.webp 1200w, https://framerusercontent.com/images/Ch9ppnQv056EmUMQ1dStVZ5MlE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp\",\"alt\":\"Warm paver patio beside a white house with wicker chairs and planted borders.\",\"title\":\"A place to sit outside\",\"caption\":\"Paving makes room for a quiet seating area beside the house.\",\"imageMeta\":{\"title\":\"A place to sit outside\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Ki9QnhqDQRmphv6WhEgFizSIbo.webp 800w, https://framerusercontent.com/images/Wth8xaCWXS8Az8zoeLRlCgG3g.webp 1200w, https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Brea Pavers: Foothill and Central Homes | OCIP\",\"description\":\"Brea pavers and concrete for driveways, patios and walks, from the older center of town to the foothills. You pick the look; we build the base.\"}},\"/costa-mesa-pavers\":{\"route\":\"/costa-mesa-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Costa Mesa\",\"href\":null}],\"eyebrow\":\"REPLACEMENT PAVERS & CONCRETE\",\"heading\":\"Costa Mesa pavers.\",\"lede\":\"Replace a worn driveway or patio with a surface that complements the house, makes better use of the space and connects cleanly to what stays.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/costa-mesa-pavers#quote\"},\"secondaryCta\":{\"label\":\"See what changes\",\"href\":\"/costa-mesa-pavers#details\"},\"infoRows\":[{\"label\":\"Job\",\"value\":\"Concrete replacement\"},{\"label\":\"Areas\",\"value\":\"Driveways, patios, entries\"},{\"label\":\"Surfaces\",\"value\":\"Concrete pavers, poured concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"From cracked slab to new pavers.\",\"paragraphs\":[\"A replacement driveway or patio is a chance to improve more than the surface. Worn concrete, awkward edges or a layout that no longer works can all become part of one considered plan for your Costa Mesa home.\",\"Removal reveals the ground beneath the existing paving. Preparation and the new base can then be matched to the site, chosen material and intended use, with finished levels and drainage considered before installation.\",\"OCIP installs residential pavers and concrete for Costa Mesa driveways, patios and walks. On a compact property, access and material handling matter alongside the details where new paving meets walls, planting and retained surfaces.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"A fresh start for the spaces you use.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Cracked drive out, driveway-rated pavers in, laid on a base built to carry daily parking.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Replace a sunken slab with a paver patio that falls away from the house.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Front walks lifted by roots or broken at the joints, rebuilt in pavers from driveway to door.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Staying with concrete? A new poured slab, fresh control joints and your choice of finish.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Paving that fits the house.\",\"paragraphs\":[\"A new surface has to sit comfortably beside what stays. Look at the paving next to walls, planting and doorways, then consider the routes through the space.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Costa Mesa pavers for a compact backyard.\",\"paragraphs\":[\"On a compact property, related materials can connect the back door, patio and side path without making every area identical. Plan the routes and edges together so the space feels intentional, with room for planting and the way you use the yard.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Before the existing paving comes out.\",\"bullets\":[\"Which slabs are cracked, sinking or pitched toward the house.\",\"Trees whose roots run under the slab you're replacing.\",\"Anything staying put: planters, the mailbox, a gas meter.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Old concrete out, a new plan in.\",\"steps\":[{\"heading\":\"Photograph the concrete\",\"body\":\"The cracked slab, your Costa Mesa lot lines and what the space needs to do.\"},{\"heading\":\"Choose a layout for the space\",\"body\":\"Compare pattern, scale and borders against the house and the usable width of the driveway or patio.\"},{\"heading\":\"Check the tear-out list\",\"body\":\"Removal, base, pavers, edges and cleanup, plus anything left out, in writing.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us what's cracked, what's staying and which area you'd replace first. A couple of photos help a lot.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Replacement questions.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Can I replace my concrete driveway with pavers in Costa Mesa?\",\"answer\":\"Yes. OCIP replaces concrete driveways with interlocking pavers. The proposed work should account for removal, the condition of the ground, vehicle use and the levels at the garage and street. A new pattern or border can give the approach a different character while keeping those practical needs in view.\"},{\"question\":\"Do Costa Mesa pavers work on a small lot?\",\"answer\":\"Yes. Pavers are small units, so they can follow a curved planter, wrap a corner or step around a meter box without awkward seams, which matters on a lot with no space to waste. A slim border keeps the edges crisp, and the same paver can continue up the front walk.\"},{\"question\":\"Will pavers line up with my garage slab and the sidewalk?\",\"answer\":\"The garage slab, thresholds and sidewalk provide important reference levels. The new paving needs to meet them safely while allowing drainage to work. Whether a flush connection is practical depends on the existing heights and conditions, so those transitions should be assessed before the installation approach is chosen.\"},{\"question\":\"Can you widen a narrow driveway with pavers in Costa Mesa?\",\"answer\":\"A wider driveway may be possible where the property has suitable space and the proposed change meets applicable requirements. Parking needs, property boundaries, access and drainage should be checked before an edge is moved. Designing the whole driveway together can help the added area feel part of the original approach.\"},{\"question\":\"How do you remove concrete from a Costa Mesa backyard with a narrow side yard?\",\"answer\":\"Access is part of planning the work. Show the narrowest point between the house and fence, any steps and the gate opening. The available route determines which equipment and handling methods are practical. Any temporary changes to gates or fencing should be agreed as part of the scope.\"},{\"question\":\"What do you need for a Costa Mesa paver estimate?\",\"answer\":\"Send photos of the concrete as it is now, tight shots of the worst damage, rough measurements and your street or cross streets. Add anything you'd like changed in the layout. Estimates are free. Phone 714-627-5543 or fill in this page's form, and we'll talk through the swap.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Plan the next details.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Newport Beach\",\"href\":\"/newport-beach-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Give the approach a fresh start.\",\"intro\":\"Share what you would replace at your Costa Mesa home and how you would like the space to feel. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/costa-mesa-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp\",\"alt\":\"Light gray paver driveway leading to a modern white home and wooden garage door.\",\"title\":\"Paving that suits the house\",\"caption\":\"A light paved approach complements the home’s simple lines.\",\"imageMeta\":{\"title\":\"Paving that suits the house\",\"objectPosition\":\"50% 35%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/Dz6SWBGy5W1m9vmU1Y8fZPr9TM.webp 800w, https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/f6s9S1uN63vt5XPrwKNSPGPM4.webp\",\"alt\":\"Light rectangular pavers laid in front of two wooden garage doors.\",\"title\":\"A bright driveway finish\",\"caption\":\"Light paving provides a simple, consistent garage approach.\",\"imageMeta\":{\"title\":\"A bright driveway finish\",\"objectPosition\":\"50% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Q5BLchjlWsRZS3ONFyrI2eXIA.webp 800w, https://framerusercontent.com/images/Lhu8zVTWKvjmtHHfXwN6o9eR08k.webp 1200w, https://framerusercontent.com/images/f6s9S1uN63vt5XPrwKNSPGPM4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp\",\"alt\":\"Gray rectangular pavers leading to a white side gate between a house and garden wall.\",\"title\":\"A finished side entrance\",\"caption\":\"A paved side entrance gives the route a defined finish.\",\"imageMeta\":{\"title\":\"A finished side entrance\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FU824zY5xez7cOXT6T1WEqqAXo.webp 800w, https://framerusercontent.com/images/wSyEancdu83Rz3hGWNTBV01lcV0.webp 1200w, https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp\",\"alt\":\"Pale paver pool deck outside a white house with tall windows and lounge chairs.\",\"title\":\"The house and pool together\",\"caption\":\"Poolside paving links the water with the house and seating.\",\"imageMeta\":{\"title\":\"The house and pool together\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4B6MnH7sHuAuSEhxy4B58C0vA.webp 800w, https://framerusercontent.com/images/JTIpiCY30sksJQOUBkBHKVDRzdI.webp 1200w, https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Costa Mesa Pavers & Concrete Paver Installation | OCIP\",\"description\":\"Swap tired concrete for Costa Mesa pavers: cracked slabs torn out, then driveways, patios and walks rebuilt on a compacted base. Free estimates.\"}},\"/cypress-pavers\":{\"route\":\"/cypress-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Cypress\"}],\"eyebrow\":\"DRIVEWAYS, ENTRY WALKS, PATIOS\",\"heading\":\"Cypress pavers & concrete.\",\"lede\":\"Pavers and concrete for a welcoming driveway, a clear walk to the door and the patio beyond. Plan the finish and the practical details together.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/cypress-pavers#quote\"},\"secondaryCta\":{\"label\":\"Read the details\",\"href\":\"/cypress-pavers#details\"},\"infoRows\":[{\"label\":\"Focus\",\"value\":\"Front-yard paving\"},{\"label\":\"Services\",\"value\":\"Driveways, walks, patios\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Estimates\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Cypress pavers for the view from the street.\",\"paragraphs\":[\"The driveway, walk and front landing shape the arrival at your home. OCIP installs Cypress pavers and concrete for one area or the whole approach, with proportions and borders that complement the house.\",\"Where the ground is nearly level, drainage needs a deliberate plan. Existing thresholds, the curb and any drainage outlets help determine how new surfaces can be graded without sending water toward the house.\",\"Replacing a worn driveway or walk also creates an opportunity to improve their connection. The project can end at the porch or continue toward the side gate, with the scope shaped around what you want to keep.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What a front refresh can cover.\",\"cards\":[{\"body\":\"The biggest surface out front. Driveway-rated pavers or concrete over a compacted base, plus a border that squares the drive up with the garage and curb.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"A paver patio off the back door, built around your table and pitched so a flat yard sheds rain.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"A comfortable entry walk with considered edges and a clear connection to the porch, driveway and planting.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Poured concrete for a driveway or walk, finished to suit the house, with control joints cut where cracks want to form.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Entries and drives, close up.\",\"paragraphs\":[\"Follow the arrival from the driveway to the door. The width of the walk, the border and the front landing all contribute to a welcoming approach.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Carry the look to the backyard.\",\"paragraphs\":[\"The front can be the whole job, or the start. If a patio comes later, pick a paver color now that sits well beside it, and show us the side path that links them.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Three photos that help us price it.\",\"bullets\":[\"One straight on from the street, showing the whole front.\",\"One of the walk, taken from the front door.\",\"One after watering or rain, showing where water collects.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"How a Cypress job runs.\",\"steps\":[{\"body\":\"Your Cypress address, the change you're after and the photos from the list above.\",\"heading\":\"Send front photos\"},{\"body\":\"Pavers or concrete, a border or none, and where the drainage goes.\",\"heading\":\"Pick surface and border\"},{\"body\":\"Tear-out, base, surface, edges and haul-away, spelled out area by area.\",\"heading\":\"Confirm the scope\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us what you would improve out front. A photograph from the street helps explain the overall approach.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Asked in Cypress.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"What can a front-yard paver refresh include in Cypress?\",\"answer\":\"Any mix of driveway, entry walk and front landing, done together or one at a time. Pave them in one paver for a single sweep to the door, or set the walk apart with a border color. Each area gets packed base rock and edge restraint, so the lines stay crisp from the curb.\"},{\"question\":\"Should a Cypress entry walk run straight or curve to the door?\",\"answer\":\"Go with where people actually walk. A straight walk suits a door that faces the street and keeps the front looking crisp; a gentle curve works when the door sits off to one side or you want planting on both sides. Either way, it gets enough pitch to shed water into the yard, not toward the porch.\"},{\"question\":\"Can my Cypress lawn and planters stay while you redo the driveway?\",\"answer\":\"Often, much of the existing landscape can remain. Point out the plants, trees and edging you want to preserve so the proposed removal limits and access can account for them. Some disturbance along the paving edge may be unavoidable, so discuss any restoration work before agreeing the scope.\"},{\"question\":\"Do you pour concrete walkways in Cypress?\",\"answer\":\"Yes, and they pair well with a new driveway. A poured walk gets a compacted base, a finish to match the house and control joints spaced to guide cracking into straight lines. If you'd rather have pavers, the same walk can be laid in units that match the driveway.\"},{\"question\":\"Can new Cypress pavers stop water running toward my garage?\",\"answer\":\"Replacement may provide an opportunity to improve drainage, but pavers alone are not the solution. The grade, garage threshold and available drainage outlets need assessment. Explain where water collects today so the proposed work can address the cause and identify whether additional drainage work is needed.\"},{\"question\":\"Where do I start for a free Cypress paving estimate?\",\"answer\":\"Use the estimate form with your Cypress location and the areas you want to improve, then email supporting photos to tyler@ocip.biz. A rough size is helpful but not essential. You can also call 714-627-5543. The estimate is free, and the proposed scope should make the included work clear.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep planning the front.\",\"links\":[{\"label\":\"OC paver installs\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Garden Grove\",\"href\":\"/garden-grove-pavers\"},{\"label\":\"Long Beach\",\"href\":\"/long-beach-pavers\"},{\"label\":\"Seal Beach\",\"href\":\"/seal-beach-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Make the arrival feel considered.\",\"intro\":\"Tell us what you would improve at your Cypress home and request a free estimate.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/cypress-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp\",\"alt\":\"Light gray interlocking paver driveway beside a gray house with a wooden garage door.\",\"title\":\"A composed garage approach\",\"caption\":\"A consistent paving pattern finishes the approach to the garage.\",\"imageMeta\":{\"title\":\"A composed garage approach\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/VTTElAvk0cx3Ifa4LybAZA9cJmw.webp 800w, https://framerusercontent.com/images/i2nNzhoIpAYszdtuEI2xUExRf8.webp 1200w, https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/wB5rGW3EDiS3TvtMe1IXYrPFJs.webp\",\"alt\":\"Gray paver driveway with a curved dark border beside a stone-clad home.\",\"title\":\"A smooth visual connection\",\"caption\":\"A curved border connects the drive with the planted edges.\",\"imageMeta\":{\"title\":\"A smooth visual connection\",\"objectPosition\":\"50% 59%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/KacHTLOaKIPxHLAPI2KqMkGu2Fs.webp 800w, https://framerusercontent.com/images/pNLyqeq73EhLKNBTORvTjlegolQ.webp 1200w, https://framerusercontent.com/images/wB5rGW3EDiS3TvtMe1IXYrPFJs.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp\",\"alt\":\"Curving paver walkway leading through a front garden to a red entrance door.\",\"title\":\"An inviting front walk\",\"caption\":\"A curved front walk leads naturally to the porch.\",\"imageMeta\":{\"title\":\"An inviting front walk\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Mguzyha6uJZVQ4PFSHxvoVHC8dA.webp 800w, https://framerusercontent.com/images/hy9QjNxJxTqoX07FgNKPRBT3Ac.webp 1200w, https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/ab4ux9RakUDJugiNMbmc8pUG4UM.webp\",\"alt\":\"Gray interlocking paver patio with wooden chairs outside a home.\",\"title\":\"Space for everyday use\",\"caption\":\"A paved terrace provides space for everyday outdoor use.\",\"imageMeta\":{\"title\":\"Space for everyday use\",\"objectPosition\":\"50% 20%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/zcTn2pobGF057QrKsosREOF3KA.webp 800w, https://framerusercontent.com/images/0GGLQYSPtGMN9VMK22pRehFe0oA.webp 1200w, https://framerusercontent.com/images/ab4ux9RakUDJugiNMbmc8pUG4UM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Cypress Pavers: Driveways, Entry Walks, Patios | OCIP\",\"description\":\"Cypress pavers and concrete for driveways, entry walks and patios, with the layout, finish and drainage considered together. Request a free estimate.\"}},\"/fountain-valley-pavers\":{\"route\":\"/fountain-valley-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Fountain Valley\"}],\"eyebrow\":\"FOUNTAIN VALLEY PAVER INSTALLERS\",\"heading\":\"Fountain Valley pavers & concrete.\",\"lede\":\"Make more of the patio, side yard and driveway at your Fountain Valley home, with the layout and drainage considered before the surface is chosen.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/fountain-valley-pavers#quote\"},\"secondaryCta\":{\"label\":\"Start with drainage\",\"href\":\"/fountain-valley-pavers#details\"},\"infoRows\":[{\"label\":\"Homes\",\"value\":\"Established tracts\"},{\"label\":\"Projects\",\"value\":\"Patios, side-yard walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"On flat ground, water needs a planned way out.\",\"paragraphs\":[\"OCIP installs pavers and concrete for Fountain Valley patios, side yards and driveways. Where a lot sits close to level, the relationship between finished heights and drainage becomes an important part of the plan.\",\"Start at the back door and follow the routes through the yard. Existing levels, planting and drainage outlets help determine how the patio and paths can connect while moving water away from the house.\",\"Then compare color and pattern against the home. A quiet field with a considered border can suit a simple facade, while a different scale or laying direction can give the patio its own character.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Four jobs on a Fountain Valley lot.\",\"cards\":[{\"body\":\"Daily parking calls for driveway-rated pavers over a compacted base, edges restrained on each open side, and a fall running to the street.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Room for the table and for moving around it, with finished levels and drainage considered at the back door.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Side-yard paths carry trash bins and the mower. Pave them wide enough to pass, with water moving away from the house.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Want one continuous slab? We pour concrete patios and drives too, with control joints laid out on purpose and a finish matched to the house.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Backyards, side yards, drives.\",\"paragraphs\":[\"Picture the route from the driveway to the side gate and patio. Consistent edges and a considered layout can make each area feel part of the same plan.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Fountain Valley pavers from patio to side gate.\",\"paragraphs\":[\"The patio, side gate and driveway often serve one daily route. Planning their widths, materials and finished levels together can make each part more useful while giving the property a consistent appearance.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Three notes for a flat-lot estimate.\",\"bullets\":[\"Where puddles sit after rain, and how long they last.\",\"Where downspouts let out, and what sits below each one.\",\"How wide the side yard is at its narrowest.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"From photos to a plan.\",\"steps\":[{\"body\":\"Wide shots of the patio, side yards and drive, plus your Fountain Valley address.\",\"heading\":\"Send backyard photos\"},{\"body\":\"We work out where rain goes, then settle the layout, surface and borders.\",\"heading\":\"Plan the grades first\"},{\"body\":\"Every area, edging, drainage, base work and your price, all on paper first.\",\"heading\":\"Approve the scope\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Near Mile Square Regional Park or across town, name the spots you want paved and send photos of them.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Ask these first.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"How do Fountain Valley pavers drain on a flat lot?\",\"answer\":\"Pavers follow the grades established beneath them, so the drainage approach should be resolved first. On a nearly level lot, existing doors, property edges and available outlets influence what is possible. Explain where water collects today so the proposed work can address the site rather than simply replace the surface.\"},{\"question\":\"Can you put pavers in a narrow Fountain Valley side yard?\",\"answer\":\"Often, yes. A paved side yard can create a useful connection between the driveway and backyard. Width, access, equipment, utilities and roof runoff all need consideration. The finished path should suit its daily use without directing water toward the house or neighboring property.\"},{\"question\":\"Should I extend my Fountain Valley patio slab or replace it?\",\"answer\":\"It depends on the slab and the result you want. A sound slab at a suitable height may work with an addition; damaged concrete or awkward drainage can make replacement more appropriate. Compare the appearance, finished levels and scope of both options before deciding how much to remove.\"},{\"question\":\"Can a Fountain Valley lawn be turned into a paver patio?\",\"answer\":\"It can. Grass and the soft soil under it are removed, and compacted base rock takes their place, so the patio sits on firm ground instead of old lawn. Mark the sprinkler heads and lines in that area first, so your irrigation can be capped or rerouted before the dig.\"},{\"question\":\"Can pavers go under an existing patio cover?\",\"answer\":\"Often, but the cover and its foundations need to be considered before removing the surface below. Show how the posts are supported and which parts of the patio will remain. The paving, finished levels and drainage can then be planned around the structure without assuming the existing slab is independent of it.\"},{\"question\":\"What does a Fountain Valley paver estimate need from me?\",\"answer\":\"Your location, wide photographs of the patio and side yards, rough measurements and notes on where water collects are useful. Mention any patio cover, lawn or planting you want to retain. Use the estimate form or call 714-627-5543, and email photographs to tyler@ocip.biz. Estimates are free.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"More pages worth reading.\",\"links\":[{\"label\":\"Orange County pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Compare paver options\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"},{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A better plan for the space outside.\",\"intro\":\"Tell us about your Fountain Valley yard. The estimate is free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/fountain-valley-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp\",\"alt\":\"Warm paver patio beside a white house with wicker chairs and planted borders.\",\"title\":\"A place to sit outside\",\"caption\":\"Paving makes room for a quiet seating area beside the house.\",\"imageMeta\":{\"title\":\"A place to sit outside\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Ki9QnhqDQRmphv6WhEgFizSIbo.webp 800w, https://framerusercontent.com/images/Wth8xaCWXS8Az8zoeLRlCgG3g.webp 1200w, https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/TAngbvYmyOqAkPP1HsAJkLj0I.webp\",\"alt\":\"Rectangular paving beside a circular fire pit and outdoor chairs.\",\"title\":\"Paving around a gathering space\",\"caption\":\"Paving leaves clear space around the fire pit and seating.\",\"imageMeta\":{\"title\":\"Paving around a gathering space\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/DNMNVUniDx73Hxs0mEohmen7j7k.webp 800w, https://framerusercontent.com/images/GX9nFadygjyX5wYylY2txAUEcM.webp 1200w, https://framerusercontent.com/images/TAngbvYmyOqAkPP1HsAJkLj0I.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/IO7BaSNzkLfWevrGoIGq2ZxDB2U.webp\",\"alt\":\"Narrow gray paver walkway with a dark border curving between planted beds and stones.\",\"title\":\"A route through the garden\",\"caption\":\"The walkway creates a clear route through the garden.\",\"imageMeta\":{\"title\":\"A route through the garden\",\"objectPosition\":\"50% 54%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/YXkQjXEi3R9eskTxbT7LfWmOBE.webp 800w, https://framerusercontent.com/images/9x13cPavhLrGXstiWz3LRrI4Y.webp 1200w, https://framerusercontent.com/images/IO7BaSNzkLfWevrGoIGq2ZxDB2U.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/9ScEHpyk28NaceR0gKVNzCwp3aM.webp\",\"alt\":\"Paver driveway curving between green lawns toward a parked car.\",\"title\":\"A path through the landscape\",\"caption\":\"A curved driveway follows the shape of the surrounding landscape.\",\"imageMeta\":{\"title\":\"A path through the landscape\",\"objectPosition\":\"50% 35%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/WxzFThsvP6sWT1A0D1BNzhVsmVc.webp 800w, https://framerusercontent.com/images/od2FVznfD8AVcMK4Wg6t24rA0.webp 1200w, https://framerusercontent.com/images/9ScEHpyk28NaceR0gKVNzCwp3aM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Fountain Valley Pavers: Patios, Side Yards, Drives | OCIP\",\"description\":\"Fountain Valley pavers and concrete for patios, side yards and driveways, with connected layouts and considered drainage. Request a free estimate.\"}},\"/fullerton-pavers\":{\"route\":\"/fullerton-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Fullerton\"}],\"eyebrow\":\"OLDER HOMES, BETTER LAYOUTS\",\"heading\":\"Fullerton pavers & concrete.\",\"lede\":\"Replacing the concrete your Fullerton home was built with? Use the chance to fix the layout too: a wider walk, a better-drained drive, a patio that fits.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/fullerton-pavers#quote\"},\"secondaryCta\":{\"label\":\"See what's involved\",\"href\":\"/fullerton-pavers#details\"},\"infoRows\":[{\"label\":\"Approach\",\"value\":\"Replace, rethink\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Fullerton pavers in a better layout.\",\"paragraphs\":[\"Original concrete often followed the plan of its day: a narrow walk straight to the porch, a modest slab out back. Fullerton pavers let you keep what's still useful and redraw the rest before anything is rebuilt.\",\"Since the old slab is going anyway, the shape is open. Widen a cramped walk, re-pitch a drive that sends water at the garage, or stretch the patio to fit a real table.\",\"That holds near the historic downtown and on hillside lots up north, where grading joins the list. Pavers or poured concrete, the new layout starts on a fresh base.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Rethink each area as it's rebuilt.\",\"cards\":[{\"body\":\"Reconsider parking, width and the garage approach where the property allows, with the new layout and drainage assessed together.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Grow a modest back slab into a patio with room for your table and space to walk around it.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"A more comfortable route to the porch, with the width and direction chosen for how people use the front of the home.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Concrete can return in a new shape: the forms follow the redrawn layout, and the joints are planned around its corners and curves.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Picture your redrawn layout.\",\"paragraphs\":[\"Notice where the paving widens for gathering and narrows for passing through. The right layout makes room for both without losing the character of the home.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Carry the new paving to the back.\",\"paragraphs\":[\"A redrawn front often wants a new route to the back. Plan the side path and patio with it, even if they come later, so heights and patterns line up.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Notice what the old layout gets wrong first.\",\"bullets\":[\"Where people cut across the lawn, skipping the walk.\",\"Car doors that open onto planting instead of paving.\",\"Water that runs toward the garage or back door.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Old shape to new plan.\",\"steps\":[{\"body\":\"Wide shots of the drive, walk and patio, plus a sketch of what you'd change.\",\"heading\":\"Photograph what's there\"},{\"body\":\"We set widths, curves and slopes, then compare pavers and concrete for each area.\",\"heading\":\"Settle the new layout\"},{\"body\":\"Removal, haul-away, base work, surface, edges and cleanup, all spelled out.\",\"heading\":\"Confirm what's included\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Get a Fullerton estimate.\",\"intro\":\"Tell us what is there today and how the layout could work better. A sketch or photographs can help.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Worth knowing first.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Can Fullerton pavers fix a driveway that drains toward the house?\",\"answer\":\"Replacement may create the opportunity to correct the grade, but the cause and available drainage outlets need assessment first. Existing garage, door and sidewalk heights can limit what can change. Show where water runs today so the proposed paving and any related drainage work address the same problem.\"},{\"question\":\"Can a replaced Fullerton driveway take a new shape?\",\"answer\":\"It may. A wider approach, adjusted curve or changed connection to the front walk should be considered against property boundaries, drainage and applicable requirements. Plan the whole outline before selecting a border so the revised driveway feels deliberate rather than like an added strip.\"},{\"question\":\"Will tearing out old concrete damage my garden beds?\",\"answer\":\"Some disturbance near the paving may be unavoidable. Identify the planting, roots and edging you want to keep so removal limits and access can be considered around them. Discuss protection and any restoration needed as part of the proposed work, especially where equipment must pass close to established beds.\"},{\"question\":\"Do you pave hillside lots north of downtown Fullerton?\",\"answer\":\"Yes, OCIP serves Fullerton, including hillside neighborhoods. Changes in level can influence the layout, access and drainage, so the proposed work should follow the conditions of the individual lot. Photos taken looking uphill and downhill help explain the area before the project is assessed.\"},{\"question\":\"Is there a paver installer near me in Fullerton?\",\"answer\":\"OCIP serves residential hardscape projects throughout Fullerton, including driveways, patios and walkways in pavers or concrete. Use the estimate form or call 714-627-5543 to discuss the area you want to improve. Include the existing surface, your preferred use and any access or drainage concerns.\"},{\"question\":\"Will a redesigned front clash with an older Fullerton street?\",\"answer\":\"The new paving can complement the house while improving how the space works. Compare its proportions, color and pattern with the facade and retained planting. If the property has association or historic-review requirements, confirm them before finalizing street-facing changes. Viewing a marked-out layout from the street can help.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Next, plan the details.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Paver planning guide\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Brea\",\"href\":\"/brea-pavers\"},{\"label\":\"Placentia\",\"href\":\"/placentia-pavers\"},{\"label\":\"Anaheim\",\"href\":\"/anaheim-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A fresh layout for the home you love.\",\"intro\":\"Send photos of what's there now. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/fullerton-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp\",\"alt\":\"Broad paver driveway curving through lawns in front of a large white house.\",\"title\":\"A generous arrival\",\"caption\":\"A broad approach connects the drive with the complete property.\",\"imageMeta\":{\"title\":\"A generous arrival\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/D3CYzkwViXqA5bbKNHkI6xg9VM.webp 800w, https://framerusercontent.com/images/Ao1NKSy64EQy4B3r5Sj06JhFU.webp 1200w, https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp\",\"alt\":\"Paved patio with a dark border, fire pit, seating and a timber pergola.\",\"title\":\"An outdoor room\",\"caption\":\"Paving brings the seating area and covered space together.\",\"imageMeta\":{\"title\":\"An outdoor room\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FTeadfasVOYFqWol5dnsZYOP9ks.webp 800w, https://framerusercontent.com/images/VF9wo4BGwDRqK8GaLCZi3jUsMM.webp 1200w, https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/sswKhAGtartPz1qQ55cyOS7eRw.webp\",\"alt\":\"Rounded paved entry steps leading to a yellow front door.\",\"title\":\"An entrance with detail\",\"caption\":\"Rounded steps and coordinated paving finish the doorstep.\",\"imageMeta\":{\"title\":\"An entrance with detail\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/WYmQkw4xQMR92R8P6U3c0coN0s.webp 800w, https://framerusercontent.com/images/SOsgaSKKJC3MIhAeV9N6qxhy1o.webp 1200w, https://framerusercontent.com/images/sswKhAGtartPz1qQ55cyOS7eRw.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/ODKnY21A8YXzAuwZInUuxmvqqg.webp\",\"alt\":\"Paver terrace with an outdoor stone fireplace, garden walls and a lounge chair.\",\"title\":\"An open terrace\",\"caption\":\"An open paved terrace connects the seating and fireplace.\",\"imageMeta\":{\"title\":\"An open terrace\",\"objectPosition\":\"50% 30%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/KyhkHnt3QJr8h4utPtO0Epy8ssA.webp 800w, https://framerusercontent.com/images/TYIZ2mQwLqs26zd5KKcL1ITZ9RU.webp 1200w, https://framerusercontent.com/images/ODKnY21A8YXzAuwZInUuxmvqqg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Fullerton Pavers: Replace and Rethink Old Concrete | OCIP\",\"description\":\"Fullerton pavers and concrete that replace original paving and fix the layout too: wider walks, better drainage, room for a patio. Free estimates.\"}},\"/garden-grove-pavers\":{\"route\":\"/garden-grove-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Garden Grove\"}],\"eyebrow\":\"PATIOS, DRIVEWAYS, POOL DECKS\",\"heading\":\"Garden Grove pavers & concrete.\",\"lede\":\"A considered driveway, a patio with room to gather and paving that connects the yard. Plan each area around the way you use your home.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/garden-grove-pavers#quote\"},\"secondaryCta\":{\"label\":\"Check the details\",\"href\":\"/garden-grove-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Everyday upgrades\"},{\"label\":\"Services\",\"value\":\"Patios, driveways, poolside\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Pricing\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Garden Grove paving for everyday living.\",\"paragraphs\":[\"Garden Grove pavers earn their keep when every part of the lot has a job: the driveway, the patio and the side yard, with no space going to waste.\",\"A driveway needs materials and preparation suited to vehicle use. The pattern and borders should also complement the approach to the house. OCIP installs interlocking pavers and poured concrete, with the choice considered as part of the wider layout.\",\"Out back, patio paver installation is about fit: a table, the chairs, a path to the gate. If there's a pool, the surround can use the same paver so the whole yard reads as one.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Paving that has real work to do.\",\"cards\":[{\"body\":\"Room to park, back out and walk past the cars without stepping on the lawn, on pavers rated for vehicles.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"A patio shaped around the furniture you already have, pitched to shed water and edged where it meets the lawn.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Side-yard paths linking the drive and the back gate, wide enough for a trash bin and laid to keep runoff moving.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Poured concrete for drives, patios and suitable poolside areas, with finish, joints and drainage chosen for the intended use.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Patios, drives and pool decks.\",\"paragraphs\":[\"A driveway, gathering space and pool surround have different jobs. Look for practical connections between them, with enough room to move around furniture and planting.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"From the driveway to the pool edge.\",\"paragraphs\":[\"The side path links it all. Give it the color or border of the patio and pool surround, and the yard feels planned instead of pieced together.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Check these three spots before you ask.\",\"bullets\":[\"Where the driveway meets the garage and the street.\",\"The side gate, and how wide the opening is.\",\"Any pool coping or deck that stays in place.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps, no guesswork.\",\"steps\":[{\"body\":\"Your Garden Grove address, the area you want done first and rough sizes if handy.\",\"heading\":\"Share photos, sizes\"},{\"body\":\"Compare pavers and concrete, pick a pattern and settle where the water drains.\",\"heading\":\"Choose surface and pattern\"},{\"body\":\"See exactly which areas, tear-out and base work the price covers.\",\"heading\":\"Approve the details\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which area comes first: driveway, patio or pool surround. Then send a few photos of it.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Garden Grove FAQs.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"What goes into patio paver installation in Garden Grove?\",\"answer\":\"A paver patio involves preparation, a supporting base, the bedding layer, paving and edge support suited to the selected system. Layout and drainage are considered alongside the finish. In a Garden Grove backyard, start with the area off the house or beside the pool and the way you want to use it.\"},{\"question\":\"Can Garden Grove pavers handle daily driveway traffic?\",\"answer\":\"Yes, when the units and the base are made for it. We use pavers rated for vehicles over a base compacted for car weight. A herringbone pattern locks the units together against turning wheels, and restrained edges keep the whole field tight.\"},{\"question\":\"Do you handle pool paver installation in Garden Grove?\",\"answer\":\"Yes. OCIP plans paving around pools, including the deck, coping and paths that connect to the house. Material suitability, drainage and the relationship to the existing pool need assessment together. Remodeling an existing pool can also be coordinated, with licensed subcontractors involved where appropriate to the scope.\"},{\"question\":\"Will pavers added later match my Garden Grove driveway?\",\"answer\":\"Close, but plan for a small difference. Paver colors can shift slightly from one production run to the next, so choose a line likely to stay in production and expect a subtle change. Putting the new area behind a border or a clean break, such as the side gate, makes that change look intended.\"},{\"question\":\"Does a Garden Grove paver driveway need a border?\",\"answer\":\"A suitable edge-support system is part of the installation; a decorative border is a design choice. Depending on the selected paving system, existing solid edges may contribute to that support. A contrasting border can frame the driveway and organize cuts, but it should suit the house and the scale of the surface.\"},{\"question\":\"What should a Garden Grove paving request include?\",\"answer\":\"A few wide photos, rough sizes and your Garden Grove address. Shoot the driveway from the curb, the backyard from the back door and the pool surround if it's part of the plan, then email it all in or talk it over at 714-627-5543. There's no charge for the estimate.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Compare before you choose.\",\"links\":[{\"label\":\"County paver guide\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Poured concrete options\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Compare paver styles\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Anaheim\",\"href\":\"/anaheim-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Cypress\",\"href\":\"/cypress-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Pick the upgrade that comes first.\",\"intro\":\"Start with one area or all three. Estimates in Garden Grove are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/garden-grove-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/f6s9S1uN63vt5XPrwKNSPGPM4.webp\",\"alt\":\"Light rectangular pavers laid in front of two wooden garage doors.\",\"title\":\"A bright driveway finish\",\"caption\":\"Light paving provides a simple, consistent garage approach.\",\"imageMeta\":{\"title\":\"A bright driveway finish\",\"objectPosition\":\"50% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Q5BLchjlWsRZS3ONFyrI2eXIA.webp 800w, https://framerusercontent.com/images/Lhu8zVTWKvjmtHHfXwN6o9eR08k.webp 1200w, https://framerusercontent.com/images/f6s9S1uN63vt5XPrwKNSPGPM4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/C8ckDtExnx7Gf53CQhDRMLzByc.webp\",\"alt\":\"Paver patio with woven chairs, a round fire pit and flowers beside a water view.\",\"title\":\"A relaxed outdoor setting\",\"caption\":\"A paved seating area makes room to enjoy the outlook.\",\"imageMeta\":{\"title\":\"A relaxed outdoor setting\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/YfKbx94VwweB75PvFAAAyeZmZ8.webp 800w, https://framerusercontent.com/images/uCTnb1FM7GgFaUAwjjLKFbH6OZA.webp 1200w, https://framerusercontent.com/images/C8ckDtExnx7Gf53CQhDRMLzByc.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/dHS9QoaoYMBLC31PvNktwW15gs.webp\",\"alt\":\"Warm rectangular pavers with a dark border beside a swimming pool and covered terrace.\",\"title\":\"A defined poolside edge\",\"caption\":\"A contrasting border defines the edge of the poolside paving.\",\"imageMeta\":{\"title\":\"A defined poolside edge\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/3sKWYV9p4SKl9ZtTBABOKpRHa1s.webp 800w, https://framerusercontent.com/images/LOJTbuczKVdam40CI33SNmDVf0.webp 1200w, https://framerusercontent.com/images/dHS9QoaoYMBLC31PvNktwW15gs.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/XMJTnBKpMUgNk8T849r1uT8RsI.webp\",\"alt\":\"Warm-toned paver pool deck with lounge seating and an outdoor fireplace.\",\"title\":\"A terrace that follows the pool\",\"caption\":\"The terrace follows the pool and extends toward a seating area.\",\"imageMeta\":{\"title\":\"A terrace that follows the pool\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":833,\"srcSet\":\"https://framerusercontent.com/images/MXr2BEBBVKlK6ZWiPGFZvrzAcw.webp 800w, https://framerusercontent.com/images/XMJTnBKpMUgNk8T849r1uT8RsI.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Garden Grove Pavers: Driveways, Patios, Pool Decks | OCIP\",\"description\":\"Garden Grove pavers for driveways, patio paver installation and pool surrounds, built for daily use on flat lots. Request a free estimate.\"}},\"/huntington-beach-pavers\":{\"route\":\"/huntington-beach-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Huntington Beach\"}],\"eyebrow\":\"COASTAL PATIOS, POOL SURROUNDS\",\"heading\":\"Huntington Beach pavers.\",\"lede\":\"Patios, pool surrounds, driveways and walks for Huntington Beach homes, with the finish and layout chosen for the property and the way you live outside.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/huntington-beach-pavers#quote\"},\"secondaryCta\":{\"label\":\"Patio planning notes\",\"href\":\"/huntington-beach-pavers#details\"},\"infoRows\":[{\"label\":\"Setting\",\"value\":\"Coastal backyards\"},{\"label\":\"Focus\",\"value\":\"Patios, poolside, driveways\"},{\"label\":\"Surfaces\",\"value\":\"Textured pavers, poured concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Patio pavers for Huntington Beach backyards.\",\"paragraphs\":[\"A Huntington Beach patio may be a dining space, a route to the pool or the place everyone gathers after a day outside. Those uses, along with the property’s exposure and drainage, should guide the paving choices.\",\"For areas that get wet, compare products intended for that use and their finish underfoot. The layout, finished levels and drainage matter alongside the color, particularly where the patio meets doors or pool coping.\",\"Bring the driveway and front walk in too if they're due. A shared color and border can run from curb to pool, while the driveway gets the heavier base parked cars need.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Paving for sand, sun and salt air.\",\"cards\":[{\"body\":\"Room to park, a straight shot to the entry and one pattern across both, laid on a base made for cars.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Patio pavers sized for the dining table, loungers and grill, with a gentle fall that carries rain off toward the yard.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"A path linking the side gate and patio for boards, bikes and beach gear, firm and drained so nobody tracks mud inside.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Poured concrete works for a drive or patio too. Ask for a broom or textured finish for grip, with control joints planned in.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Look closely at the texture.\",\"paragraphs\":[\"See how texture and color read beside planting, furniture and water. These views can help you describe the atmosphere you want before comparing materials in person.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Huntington Beach pavers by the pool.\",\"paragraphs\":[\"Consider the pool surround and patio as connected spaces. Related materials can carry the design from the dining area toward the water, while the coping, finish and drainage are chosen for their different uses.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Three coastal details to settle early.\",\"bullets\":[\"Which areas stay damp longest after the marine layer burns off.\",\"Where wet feet and sandy towels cross the patio.\",\"Whether the pool, its coping or the deck is changing too.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps to a price.\",\"steps\":[{\"body\":\"Tell us what happens out back: dinners, swim days, a grill, guests, the dog.\",\"heading\":\"Describe the space\"},{\"body\":\"Pick a unit and finish, then settle how the patio meets the pool.\",\"heading\":\"Choose texture and color\"},{\"body\":\"Base, drainage, edging, texture and price, laid out before anyone digs.\",\"heading\":\"Review your estimate\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us how near the water you live, what the patio is for and if there's a pool.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Coastal patio FAQs.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"What paver company installs patio pavers in Huntington Beach?\",\"answer\":\"OCIP installs patio pavers, pool surrounds, driveways and walks for Huntington Beach homes. The proposed work considers the area you want to improve, how it connects to the property and which materials suit its use. Request a free estimate with your location, priorities and the surfaces you have now.\"},{\"question\":\"How do pavers handle salt air in Huntington Beach?\",\"answer\":\"Suitability depends on the specific material, finish, exposure and maintenance requirements. Ask for the manufacturer’s guidance for the product being considered rather than assuming every paver behaves the same near the coast. Drainage and installation details should also be planned for the property.\"},{\"question\":\"Can you install pool patio pavers in Huntington Beach?\",\"answer\":\"Yes. OCIP installs paving around pools and can plan the patio, coping and connecting paths together. Compare materials intended for poolside use, including how the finish feels underfoot and how it should be maintained. The existing pool, finished heights and drainage help determine the installation approach.\"},{\"question\":\"What paver colors suit a Huntington Beach home near the coast?\",\"answer\":\"Start from the house, then test in coastal light. Sand, gray and driftwood tones are worth a look near the beach, but hold samples outside on a gray morning and again in afternoon sun before you choose. A darker border can outline the patio and the area around the pool without fighting the stucco or trim.\"},{\"question\":\"Can a pool remodel and new patio be one Huntington Beach project?\",\"answer\":\"Yes. OCIP can coordinate existing-pool remodeling with the surrounding paving, using licensed subcontractors where appropriate to the scope. Planning the coping, patio and connections together helps align the design and finished levels. Ask for the responsibilities, sequence and included work to be made clear in the proposal.\"},{\"question\":\"Which photos should I take for a Huntington Beach patio estimate?\",\"answer\":\"Shots of the whole backyard and pool area, rough measurements, your street, plus which paving stays and which goes. If a pool remodel is in the works, say so. Estimates are free; reach us by phone at 714-627-5543 or through the estimate form.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"More for coastal yards.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Compare paver colors\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Fountain Valley\",\"href\":\"/fountain-valley-pavers\"},{\"label\":\"Seal Beach\",\"href\":\"/seal-beach-pavers\"},{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Let's plan a patio you'll use all year.\",\"intro\":\"Your Huntington Beach patio plan starts with a free estimate.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/huntington-beach-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp\",\"alt\":\"Pale paver pool deck outside a white house with tall windows and lounge chairs.\",\"title\":\"The house and pool together\",\"caption\":\"Poolside paving links the water with the house and seating.\",\"imageMeta\":{\"title\":\"The house and pool together\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4B6MnH7sHuAuSEhxy4B58C0vA.webp 800w, https://framerusercontent.com/images/JTIpiCY30sksJQOUBkBHKVDRzdI.webp 1200w, https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/zO2s4PUjqa14Zrtoi6edFXjDhDw.webp\",\"alt\":\"Large rectangular paving with a curved border beside shrubs and a planted pot.\",\"title\":\"A softer patio outline\",\"caption\":\"A curved edge gives the paved area a softer outline.\",\"imageMeta\":{\"title\":\"A softer patio outline\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/gCUkrdfkTdTVNcgQ9Rz36DjbGY.webp 800w, https://framerusercontent.com/images/KqbBSGGlp3ClwXklxfPfgm5XwSc.webp 1200w, https://framerusercontent.com/images/zO2s4PUjqa14Zrtoi6edFXjDhDw.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/bsdbdGIhkFHM2ykawsQC1Lmj8.webp\",\"alt\":\"Paved pool surround bordered by green lawn, flowers and a garden fence.\",\"title\":\"A garden pool setting\",\"caption\":\"Poolside paving connects the water with the surrounding garden.\",\"imageMeta\":{\"title\":\"A garden pool setting\",\"objectPosition\":\"50% 54%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/pPQyKl9rc99n2fumd0auNnpdzZ4.webp 800w, https://framerusercontent.com/images/vLJqccqdFAgNwICUTaKihvepzc.webp 1200w, https://framerusercontent.com/images/bsdbdGIhkFHM2ykawsQC1Lmj8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp\",\"alt\":\"Textured poolside paving with dark lounge chairs and umbrellas beneath trees.\",\"title\":\"Space beside the pool\",\"caption\":\"The pool deck leaves room for loungers and shade.\",\"imageMeta\":{\"title\":\"Space beside the pool\",\"objectPosition\":\"50% 56%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/dSECstpCfuQwdaBMgMW3Y36U8.webp 800w, https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Huntington Beach Pavers: Patios, Pool Surrounds | OCIP\",\"description\":\"Huntington Beach pavers for patios, pool surrounds, driveways and walks, with the finish and drainage planned for your property. Free estimates.\"}},\"/irvine-pavers\":{\"route\":\"/irvine-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Irvine\",\"href\":null}],\"eyebrow\":\"BACKYARD AND DRIVEWAY PAVERS\",\"heading\":\"Irvine pavers.\",\"lede\":\"Backyard pavers made for Irvine evenings outside: a patio that fits the table, paths that reach the gate, plus driveways built for daily parking.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/irvine-pavers#quote\"},\"secondaryCta\":{\"label\":\"Plan the backyard\",\"href\":\"/irvine-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Backyard patios\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Irvine pavers, built for backyard living.\",\"paragraphs\":[\"Irvine pavers matter most where you live outside. A patio off the kitchen door, a path to the side gate, space for a long table and the grill: we plan around those.\",\"In Irvine’s planned neighborhoods, association guidelines may affect the materials and exterior changes a homeowner can choose. If they apply to your property, bring them into the conversation before narrowing the layout, color and pattern.\",\"OCIP installs pavers and concrete for Irvine patios, walkways and driveways. Preparation, finished levels and drainage are considered alongside the material, so the spaces can work together from the back door to the front approach.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Paving, out back and out front.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Out front, paving takes your cars' daily weight: units rated for traffic, edges locked along the lawn.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"The room you add outdoors. Sized for your table with chairs pulled out, pitched to shed rain.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Side-yard runs and garden paths that link patio, gate and driveway, edged so they hold their line.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Poured concrete where a slab makes more sense, finished and jointed to sit cleanly beside the pavers.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Backyards worth sitting in.\",\"paragraphs\":[\"Start with the space around the table and chairs, then follow the paths back to the house. A shared palette can connect dining, lounging and everyday access.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"One backyard, a few different jobs.\",\"paragraphs\":[\"Dining by the door, lounging farther out, a path for the bins, a strip along the planting. Each gets its own spot and shape, tied together by one paver.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Small details that size a patio.\",\"bullets\":[\"Where the patio furniture goes now and where you'd like it.\",\"Any association guidelines covering driveways, colors or front-yard paving.\",\"Low corners that stay wet after the sprinklers run.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Sketch it, talk it, scope it.\",\"steps\":[{\"heading\":\"Sketch the backyard\",\"body\":\"Rough outline, phone shots of the yard or driveway, and the Irvine village you live in.\"},{\"heading\":\"Talk through layout and pavers\",\"body\":\"Where the table sits, how paths connect, which paver and pattern fit.\"},{\"heading\":\"Read the written scope\",\"body\":\"Areas, removal, base work, paver, pattern and edging, all listed before anyone digs.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which Irvine paving job is on your list: backyard, driveway or both. Add a couple of wide photos.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Quick answers first.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Do you install backyard pavers in Irvine?\",\"answer\":\"Yes. We install backyard pavers across Irvine: patios off the family room, paths to the side gate, and borders around planting you want to keep. Under each one: a compacted base, locked edges, swept joints and enough slope to carry rain off.\"},{\"question\":\"What's included in paver installation in Irvine?\",\"answer\":\"The proposed scope should identify which areas are included, what is removed, the preparation and paving system, edge treatment and cleanup. Details vary with the property and selected material. Ask for those inclusions to be clear when comparing options rather than assuming every installation follows an identical specification.\"},{\"question\":\"Do Irvine pavers out front have to fit HOA guidelines?\",\"answer\":\"Your HOA decides that, so read its guidelines before you choose a color. Associations are common across Irvine's master-planned villages, and a driveway is the paving the whole street sees. Where review applies, plan for it: settle the paver, color and pattern, then submit before anything is ordered.\"},{\"question\":\"How high should a paver patio sit at an Irvine sliding door?\",\"answer\":\"The finished level should be planned in relation to the threshold, the building details and drainage. There is no single height appropriate to every door or property. If an existing patio sits too high or sends water toward the house, include that concern so the connection can be assessed before replacement.\"},{\"question\":\"Can you pave part of my Irvine backyard and keep the lawn?\",\"answer\":\"Yes, a project can combine new paving with retained lawn and planting. Mark what you want to keep and identify nearby irrigation or roots. The proposed edges and finished levels should account for both areas, with any disturbance or landscape restoration discussed before work begins.\"},{\"question\":\"Can a small Irvine backyard be paved edge to edge?\",\"answer\":\"Possibly, but it should follow an assessment of drainage, existing levels and any applicable requirements. Replacing planting with hard surfaces changes runoff and the feel of the yard. A patio with purposeful planting areas may be more comfortable and useful than paving every available space.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Read more, then call.\",\"links\":[{\"label\":\"Orange County pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Lake Forest\",\"href\":\"/lake-forest-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Make more of your Irvine home outside.\",\"intro\":\"Share the patio, driveway or paths you have in mind. A free estimate is the next step.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/irvine-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp\",\"alt\":\"Paved patio with a dark border, fire pit, seating and a timber pergola.\",\"title\":\"An outdoor room\",\"caption\":\"Paving brings the seating area and covered space together.\",\"imageMeta\":{\"title\":\"An outdoor room\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FTeadfasVOYFqWol5dnsZYOP9ks.webp 800w, https://framerusercontent.com/images/VF9wo4BGwDRqK8GaLCZi3jUsMM.webp 1200w, https://framerusercontent.com/images/IepLW2jioU0yqE2VWoxYvImY.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp\",\"alt\":\"Large square paving beneath a covered terrace with lounge seating and a round coffee table.\",\"title\":\"Paving beneath the shelter\",\"caption\":\"A covered terrace connects comfortable seating with a durable paved floor.\",\"imageMeta\":{\"title\":\"Paving beneath the shelter\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/6B0CrHW1OxUCfmcFhmMszIJbPPo.webp 800w, https://framerusercontent.com/images/ugXiCDVZ12jXLfs6rCKQNBvCrU.webp 1200w, https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/gfoG1I7ywMlXFUt2Ohk0nBeQq8.webp\",\"alt\":\"Large gray paving slabs beside a rectangular fire feature and built-in timber seating.\",\"title\":\"A quiet modern terrace\",\"caption\":\"Large paving units give the seating area a clear, restrained finish.\",\"imageMeta\":{\"title\":\"A quiet modern terrace\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/VfTssqIX1uQQ8qyHE8VyRq3uhU.webp 800w, https://framerusercontent.com/images/mdKrK8EyAc9H4VXPAcxqcG1kcUM.webp 1200w, https://framerusercontent.com/images/gfoG1I7ywMlXFUt2Ohk0nBeQq8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp\",\"alt\":\"Pale paver pool deck outside a white house with tall windows and lounge chairs.\",\"title\":\"The house and pool together\",\"caption\":\"Poolside paving links the water with the house and seating.\",\"imageMeta\":{\"title\":\"The house and pool together\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4B6MnH7sHuAuSEhxy4B58C0vA.webp 800w, https://framerusercontent.com/images/JTIpiCY30sksJQOUBkBHKVDRzdI.webp 1200w, https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Irvine Pavers: Backyard Patios & Driveways | OCIP\",\"description\":\"Irvine pavers and concrete for backyard patios, side paths and driveways, with materials and connections planned together. Request a free estimate.\"}},\"/laguna-niguel-pavers\":{\"route\":\"/laguna-niguel-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Laguna Niguel\"}],\"eyebrow\":\"TERRACES, VIEWS AND HILLSIDES\",\"heading\":\"Laguna Niguel pavers, every level.\",\"lede\":\"Hillside lots, terraced yards and patios that face a view. We pave each level on its own terms and keep the view the point.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/laguna-niguel-pavers#quote\"},\"secondaryCta\":{\"label\":\"Plan your terraces\",\"href\":\"/laguna-niguel-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Patios, terraces, driveways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Hillside lots ask more of paving than flat ones.\",\"paragraphs\":[\"For a Laguna Niguel home on a hillside or view lot, paving should work with the existing levels. A terrace for dining and a quieter place to sit can have different roles while sharing a considered palette.\",\"Before choosing a surface, consider how each level drains and connects to the house. Existing walls, banks and nearby structures may affect what can be paved and what further assessment is needed.\",\"The preparation and edge support should suit the ground and selected system. Plan those details with access and finished levels, so the visible paving is supported by an approach appropriate to the hillside.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Paving built for a hillside lot.\",\"cards\":[{\"body\":\"Driveway pavers rated for cars, laid to the grade between street and garage, with both ends set so the transition feels smooth.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"On a view lot, the patio belongs where you'd sit and look out, sized to that spot with a clean edge at the slope.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Walks that join the house, the side yard and each terrace the grade allows, with locked edges keeping the pattern tight.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Poured concrete for a wide, regular terrace or a utility side yard, with joints planned and clean edges where it meets pavers or planting.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Paving with a view beyond.\",\"paragraphs\":[\"Let the outlook stay in view while the paving gives each sitting area a clear place. Compare the transitions between terraces, paths and planted edges.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Laguna Niguel pavers, terrace by terrace.\",\"paragraphs\":[\"We pave the levels you have instead of fighting the slope. The upper terrace might take meals near the kitchen, a lower one chairs facing the view, each pitched for its own runoff.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"What to show us about your hillside.\",\"bullets\":[\"A photo from each terrace, plus one facing uphill.\",\"The view you want the new patio to face.\",\"Your HOA's guidelines, if it reviews exterior paving work.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Planning a hillside job.\",\"steps\":[{\"body\":\"Show each level, the access from the street, and where your view opens up.\",\"heading\":\"Send terrace photos\"},{\"body\":\"How materials reach each terrace, which surface suits it, and where water goes.\",\"heading\":\"Map levels and access\"},{\"body\":\"Every terrace in the job, with its prep, paver, edging and pitch, written down.\",\"heading\":\"Confirm each level\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which levels of your Laguna Niguel yard need paving, and send photos taken from each one.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"The usual questions.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Can Laguna Niguel pavers go on every level of a terraced yard?\",\"answer\":\"Existing terraces may offer useful areas for paving, but each level needs assessment. Supporting structures, edge conditions, drainage and access all affect what is practical. A shared material or related border can connect the design without assuming that every terrace can be treated in the same way.\"},{\"question\":\"Where should a paver patio go on a Laguna Niguel view lot?\",\"answer\":\"Start with the area that offers the view and comfortably supports the way you want to use it. Check usable width, access, changes in level and any edge protection needed before settling the footprint. A restrained pattern and color can let the view remain the focus.\"},{\"question\":\"Is HOA review needed for pavers in Laguna Niguel?\",\"answer\":\"Ask your association before you choose anything. Laguna Niguel has many HOAs, each with its own guidelines, so there's no single answer for the city. If yours reviews paving, plan around that step and send us the guidelines with your photos, so the layout and colors start inside them.\"},{\"question\":\"What if my Laguna Niguel backyard is only reachable through a side gate?\",\"answer\":\"A side gate does not necessarily rule out paving, but its width, slope and route affect access and material handling. Send photographs from the street through to the proposed work area. OCIP can then discuss what is practical and whether the access adds work to the scope.\"},{\"question\":\"Can a terraced Laguna Niguel yard be paved one level at a time?\",\"answer\":\"It may be practical to phase work along the existing terraces. Access, drainage and the relationship between levels should guide the sequence so later work can connect sensibly. Consider possible color variation between future material batches when choosing whether to repeat a finish or make a deliberate contrast.\"},{\"question\":\"Do you install concrete pavers in Laguna Niguel?\",\"answer\":\"Yes. Interlocking concrete pavers are where OCIP started and remain the core of the work, and we install them across Laguna Niguel for terraces, patios, walks and driveways. On a level that suits a single slab, we can pour concrete instead and edge it with a paver border.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Before you pick pavers.\",\"links\":[{\"label\":\"Countywide paver work\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Mission Viejo\",\"href\":\"/mission-viejo-pavers\"},{\"label\":\"San Juan Capistrano\",\"href\":\"/san-juan-capistrano-pavers\"},{\"label\":\"San Clemente\",\"href\":\"/san-clemente-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Pave the levels, keep the view.\",\"intro\":\"Share the levels and views you want to make more of at your Laguna Niguel home. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/laguna-niguel-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/HtBht3BeXMJwVv9FCKGDh4uuM.webp\",\"alt\":\"Backyard view of a home, raised terrace, paved seating areas, lawn and pool at dusk.\",\"title\":\"The whole backyard\",\"caption\":\"The house, pool, paving and lawn form a connected outdoor setting.\",\"imageMeta\":{\"title\":\"The whole backyard\",\"objectPosition\":\"50% 56%\",\"width\":2e3,\"height\":1299,\"srcSet\":\"https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w, https://framerusercontent.com/images/HtBht3BeXMJwVv9FCKGDh4uuM.webp 2000w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.07390), (max-width: 1199px) calc((100vw - 80px) * 1.07390), (max-width: 1568px) calc((100vw - 128px) * 1.07390), 1547px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp\",\"alt\":\"Raised paved garden terrace with a stone wall, steps, lounge chairs and planters.\",\"title\":\"A raised place to unwind\",\"caption\":\"Walls, steps and paving define a garden seating area.\",\"imageMeta\":{\"title\":\"A raised place to unwind\",\"objectPosition\":\"50% 54%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4FmwaobSnD9cR3IPeI7iNdX8.webp 800w, https://framerusercontent.com/images/JmjnsqeCw6P46r4YmDTasXT0TRM.webp 1200w, https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp\",\"alt\":\"Broad garden steps connecting rectangular paving and an outdoor cooking area beside a house.\",\"title\":\"Steps between spaces\",\"caption\":\"Steps give connected outdoor spaces a clear route.\",\"imageMeta\":{\"title\":\"Steps between spaces\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/tDImyjgXLlVpwSvuwZc4Pa4pu6o.webp 800w, https://framerusercontent.com/images/f5yOzmH9uJbd82IKba0ZiRFq5ZE.webp 1200w, https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/IwrFF7cLzLvo2286A7sNhenSvrE.webp\",\"alt\":\"Long curved paver driveway passing between lawns and trees toward a home.\",\"title\":\"The approach matters\",\"caption\":\"A sweeping paved approach gives the property a clear arrival.\",\"imageMeta\":{\"title\":\"The approach matters\",\"objectPosition\":\"50% 25%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/iExZphEkw3LKrorsy8sISEoyLrI.webp 800w, https://framerusercontent.com/images/6bcm8CSFgToqj9wMflhN7P9o14.webp 1200w, https://framerusercontent.com/images/IwrFF7cLzLvo2286A7sNhenSvrE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Laguna Niguel Pavers for Hillside & View Lots | OCIP\",\"description\":\"Laguna Niguel pavers for terraces, patios and hillside driveways, with existing levels, access and drainage considered together. Request a free estimate.\"}},\"/lake-forest-pavers\":{\"route\":\"/lake-forest-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Lake Forest\",\"href\":null}],\"eyebrow\":\"FOOTHILL LOTS, PLANNED STREETS\",\"heading\":\"Lake Forest pavers.\",\"lede\":\"Driveways, patios and entries for Lake Forest homes, with the existing grade, materials and connections considered as part of one plan.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/lake-forest-pavers#quote\"},\"secondaryCta\":{\"label\":\"Explore the details\",\"href\":\"/lake-forest-pavers#details\"},\"infoRows\":[{\"label\":\"Setting\",\"value\":\"Foothill properties\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Built for the foothills.\",\"paragraphs\":[\"The starting point for a Lake Forest hardscape project is the property itself. On a foothill lot, changes in level may shape the layout; on a more level site, thresholds and drainage still need careful consideration.\",\"Foothill Ranch and Portola Hills grew as planned neighborhoods, so new paving lands among homes designed to go together. Where an HOA applies, plan for its review and read the guidelines before picking materials.\",\"OCIP installs interlocking pavers and poured concrete across Lake Forest. The work beneath the surface should suit the ground, chosen material and intended use, with the final finish considered in relation to the whole home.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"The surfaces a foothill home needs.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Wide and angled driveways get a pattern set to the house, with borders that tidy every cut.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Pavers or poured concrete, sized for the way you will use the patio, with finished levels and drainage considered.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Front walks and side paths with comfortable transitions to the driveway, entry and spaces they connect.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Concrete patios and walks for Lake Forest homes, formed and poured, with control joints planned around the layout.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Paving, planting and levels.\",\"paragraphs\":[\"Look at where the paving meets the house, garden and steps. Repeating a color or border can connect the spaces while leaving room for different shapes and uses.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"One look for Lake Forest pavers.\",\"paragraphs\":[\"If your home still has the paving it came with, you can replace one piece at a time or run a single paver from the street to a larger patio out back, heights matched at every join.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Things to note on a foothill lot.\",\"bullets\":[\"Which way the lot falls, and how steeply.\",\"Where runoff goes now during a heavy winter rain.\",\"Your HOA's paving and color guidelines, if your neighborhood has them.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"What happens once you reach out.\",\"steps\":[{\"heading\":\"Name your neighborhood\",\"body\":\"Foothill Ranch, Portola Hills or another part of Lake Forest, and how the lot slopes.\"},{\"heading\":\"Work out grades and surfaces\",\"body\":\"Pavers or concrete, which way water drains, and how new paving meets what stays.\"},{\"heading\":\"Approve a written scope\",\"body\":\"Every area, the tear-out, base, grading, materials and edges, spelled out before work begins.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Send a couple of photos, tell us what needs paving, and say whether an HOA applies to your home.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Lake Forest answers.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Is Foothill Ranch or Portola Hills in your Lake Forest service area?\",\"answer\":\"Yes. Foothill Ranch and Portola Hills are both part of Lake Forest, and we install pavers and concrete there as we do across the rest of the city. Say which neighborhood you're in, since foothill grades and any HOA guidelines shape the plan from the start.\"},{\"question\":\"Will uphill runoff wash under Lake Forest pavers on a foothill lot?\",\"answer\":\"Runoff from higher ground needs assessment before new paving is planned. The source, route and available drainage outlets determine whether grading alone is enough or additional work is needed. Photos or video after rain can help explain the issue; paving should not be assumed to solve it by itself.\"},{\"question\":\"Can I get a concrete patio instead of pavers in Lake Forest?\",\"answer\":\"Yes. OCIP builds concrete patios in Lake Forest as well as paver patios, and some projects combine the two. Layout, preparation, drainage, joints and finish should be considered for the specific area. Share the appearance you like and how you intend to use the patio so the options can be compared.\"},{\"question\":\"How do pavers work on a wide, angled Lake Forest driveway?\",\"answer\":\"They work well; the angles just take more planning. A driveway that fans out toward the street, as many cul-de-sac drives do, leaves angled edges and more cut pavers. We square the pattern to the garage door and finish the angled sides with a border course, so the cuts tuck against it rather than the lawn.\"},{\"question\":\"Can you redo the front entry and walk of a Lake Forest home?\",\"answer\":\"Yes. OCIP can replace front walks and entry paving in pavers or concrete. Existing porch levels, drainage and the route to the driveway influence the design. If widening or otherwise changing a street-facing area, check any association or local requirements before finalizing the proposed layout.\"},{\"question\":\"Can new pavers tie into an existing patio at a Lake Forest home?\",\"answer\":\"Yes, as long as the existing patio is sound and sits at a workable height. We match the new paving's finished level to the old edge, keep the slope running the same way so water crosses the join instead of pooling there, and lock every open edge of the new section. Older pavers have usually weathered, so a contrasting border often looks better than chasing a perfect match.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Weigh up your surfaces.\",\"links\":[{\"label\":\"OC-wide paver guide\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete patios, walks\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Irvine\",\"href\":\"/irvine-pavers\"},{\"label\":\"Mission Viejo\",\"href\":\"/mission-viejo-pavers\"},{\"label\":\"Laguna Niguel\",\"href\":\"/laguna-niguel-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Paving that belongs with your home.\",\"intro\":\"Send photos of the area and the slope around it, and the estimate costs nothing.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/lake-forest-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/IwrFF7cLzLvo2286A7sNhenSvrE.webp\",\"alt\":\"Long curved paver driveway passing between lawns and trees toward a home.\",\"title\":\"The approach matters\",\"caption\":\"A sweeping paved approach gives the property a clear arrival.\",\"imageMeta\":{\"title\":\"The approach matters\",\"objectPosition\":\"50% 25%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/iExZphEkw3LKrorsy8sISEoyLrI.webp 800w, https://framerusercontent.com/images/6bcm8CSFgToqj9wMflhN7P9o14.webp 1200w, https://framerusercontent.com/images/IwrFF7cLzLvo2286A7sNhenSvrE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp\",\"alt\":\"Raised paved garden terrace with a stone wall, steps, lounge chairs and planters.\",\"title\":\"A raised place to unwind\",\"caption\":\"Walls, steps and paving define a garden seating area.\",\"imageMeta\":{\"title\":\"A raised place to unwind\",\"objectPosition\":\"50% 54%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4FmwaobSnD9cR3IPeI7iNdX8.webp 800w, https://framerusercontent.com/images/JmjnsqeCw6P46r4YmDTasXT0TRM.webp 1200w, https://framerusercontent.com/images/xcNhSXnHZpg5jWZiaKOW8xpgE.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/DxQOy3IYHmFwrJuSF0Ty4Sqhs.webp\",\"alt\":\"Tiered textured block retaining wall beneath a planted garden bed.\",\"title\":\"A planted retaining edge\",\"caption\":\"Stepped wall courses define the planted edge beside the paved surface.\",\"imageMeta\":{\"title\":\"A planted retaining edge\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/9vsbcDDLALLFKJ4HlMkq1dgGaGw.webp 800w, https://framerusercontent.com/images/tfQ6zwJ1QeLZPPAQitS2SqQpA.webp 1200w, https://framerusercontent.com/images/DxQOy3IYHmFwrJuSF0Ty4Sqhs.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/wB5rGW3EDiS3TvtMe1IXYrPFJs.webp\",\"alt\":\"Gray paver driveway with a curved dark border beside a stone-clad home.\",\"title\":\"A smooth visual connection\",\"caption\":\"A curved border connects the drive with the planted edges.\",\"imageMeta\":{\"title\":\"A smooth visual connection\",\"objectPosition\":\"50% 59%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/KacHTLOaKIPxHLAPI2KqMkGu2Fs.webp 800w, https://framerusercontent.com/images/pNLyqeq73EhLKNBTORvTjlegolQ.webp 1200w, https://framerusercontent.com/images/wB5rGW3EDiS3TvtMe1IXYrPFJs.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Lake Forest Pavers: Driveways, Patios & Entries | OCIP\",\"description\":\"Lake Forest pavers and concrete for driveways, patios and entries, including Foothill Ranch and Portola Hills. Request a free estimate.\"}},\"/long-beach-pavers\":{\"route\":\"/long-beach-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Long Beach\"}],\"eyebrow\":\"BRICK-LOOK DRIVEWAYS & PATIOS\",\"heading\":\"Long Beach pavers & concrete.\",\"lede\":\"Refresh the driveway, patio or walks at your Long Beach home, with materials and proportions that respect the house and improve how the space works.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/long-beach-pavers#quote\"},\"secondaryCta\":{\"label\":\"Replacing old paving\",\"href\":\"/long-beach-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Driveway replacement, patios\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Long Beach pavers for older homes.\",\"paragraphs\":[\"On an older house, Long Beach pavers usually mean replacing something. A cracked original slab, a sunken patio or a brick drive gone uneven comes out first, and everything new sits on a rebuilt base.\",\"Removing old paving can reveal conditions that need attention, such as soft ground, roots or an unsuitable base. The proposed preparation should address those findings and the intended use of the replacement surface.\",\"On an older property, the right material can feel at home from the start. Clay brick, stone-look pavers, natural stone or concrete offer different textures and patterns to compare against the facade and retained features.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What we replace, and what we build.\",\"cards\":[{\"body\":\"Old brick or tired concrete comes out down to soil. Driveway-rated pavers in brick tones and shapes go onto new compacted base, every edge locked.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Swap the cracked slab for a new patio shaped around how your household lives outside, pitched so rain stays off the back step.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Front walks heaved by roots or sunk over the years, rebuilt straight and level, with a border that suits an older facade.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Concrete still suits plenty of older homes: a new slab, careful control-joint layout and a surface finish that fits the facade.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Paving with character.\",\"paragraphs\":[\"Take cues from the home and the garden around it. A quieter paving pattern, a curved path or a defined border can give the outdoor space a sense of continuity.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Plan the backyard, keep what works.\",\"paragraphs\":[\"Older yards tend to have a big tree, a path worn into the lawn and a slab nobody likes. Show us those, and the new patio and walks will work around what's worth keeping.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Mark these before the old paving comes out.\",\"bullets\":[\"Each slab, brick or walk you want torn out.\",\"Tree roots, meter boxes and cleanouts near the old paving.\",\"Anything original to the house you'd like to keep.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"How a replacement starts.\",\"steps\":[{\"body\":\"Photos of the current paving, the house front and where it meets the sidewalk.\",\"heading\":\"Show what's there\"},{\"body\":\"Brick tones, a stone texture or concrete, plus the border and the pattern.\",\"heading\":\"Choose the replacement look\"},{\"body\":\"What comes out, what goes in and the price, written down before demolition.\",\"heading\":\"Confirm the scope\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Describe the paving you want replaced at your Long Beach home and the look you'd like there instead.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before the tear-out.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Can an old brick driveway in Long Beach be replaced with pavers?\",\"answer\":\"Yes. OCIP can replace an old brick driveway with paving suited to vehicle use. Genuine clay brick and brick-look concrete pavers offer different material choices, so specify which you prefer. The condition of the existing surface, base, finished levels and drainage should be assessed before the replacement system is selected.\"},{\"question\":\"How do patio pavers fit behind an older Long Beach house?\",\"answer\":\"They're planned from the back door out. The patio sits below the threshold and falls gently away from the foundation, so rain moves off toward the yard instead of the house. Then it's sized for the furniture you'll use and linked by a path to the driveway and side gate.\"},{\"question\":\"Will new driveway pavers sit level with my old garage floor?\",\"answer\":\"The connection needs to be planned around the garage, door and sidewalk levels. A flush transition may be suitable in some locations, but the drainage and building details also matter. Assessing those fixed points first helps determine the preparation and finished height for the new paving.\"},{\"question\":\"Do Long Beach historic districts like Bluff Park limit paving choices?\",\"answer\":\"It depends on the district and the work, so ask before you choose. If your house sits in a historic district such as Bluff Park, check with the city about front-yard paving early, then pick materials with that answer in hand. We'll put the chosen pavers, pattern and border in writing, so you have specifics to show.\"},{\"question\":\"Can you pave around a pool at a Long Beach home?\",\"answer\":\"Yes. OCIP installs poolside paving and can coordinate coping or pool remodeling with the surrounding work. Licensed subcontractors may be involved depending on the scope. On an older pool, assess the existing deck, pool connection, finish and drainage together before deciding what should be replaced.\"},{\"question\":\"Does OCIP give free estimates for Long Beach pavers?\",\"answer\":\"Yes. Long Beach remains part of OCIP’s residential service coverage even though it is in Los Angeles County. Share the driveway, patio or walkway you want to improve and the existing surface. Use the estimate form or call 714-627-5543, and email supporting photographs to tyler@ocip.biz.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"More for the replacement.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Paver selection guide\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Seal Beach\",\"href\":\"/seal-beach-pavers\"},{\"label\":\"Cypress\",\"href\":\"/cypress-pavers\"},{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A new approach for a familiar home.\",\"intro\":\"Show us what's worn out at your Long Beach home. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/long-beach-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp\",\"alt\":\"Curving paver walkway leading through a front garden to a red entrance door.\",\"title\":\"An inviting front walk\",\"caption\":\"A curved front walk leads naturally to the porch.\",\"imageMeta\":{\"title\":\"An inviting front walk\",\"objectPosition\":\"50% 35%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Mguzyha6uJZVQ4PFSHxvoVHC8dA.webp 800w, https://framerusercontent.com/images/hy9QjNxJxTqoX07FgNKPRBT3Ac.webp 1200w, https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp\",\"alt\":\"Warm paver patio beside a white house with wicker chairs and planted borders.\",\"title\":\"A place to sit outside\",\"caption\":\"Paving makes room for a quiet seating area beside the house.\",\"imageMeta\":{\"title\":\"A place to sit outside\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Ki9QnhqDQRmphv6WhEgFizSIbo.webp 800w, https://framerusercontent.com/images/Wth8xaCWXS8Az8zoeLRlCgG3g.webp 1200w, https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/sswKhAGtartPz1qQ55cyOS7eRw.webp\",\"alt\":\"Rounded paved entry steps leading to a yellow front door.\",\"title\":\"An entrance with detail\",\"caption\":\"Rounded steps and coordinated paving finish the doorstep.\",\"imageMeta\":{\"title\":\"An entrance with detail\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/WYmQkw4xQMR92R8P6U3c0coN0s.webp 800w, https://framerusercontent.com/images/SOsgaSKKJC3MIhAeV9N6qxhy1o.webp 1200w, https://framerusercontent.com/images/sswKhAGtartPz1qQ55cyOS7eRw.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp\",\"alt\":\"Light gray interlocking paver driveway beside a gray house with a wooden garage door.\",\"title\":\"A composed garage approach\",\"caption\":\"A consistent paving pattern finishes the approach to the garage.\",\"imageMeta\":{\"title\":\"A composed garage approach\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/VTTElAvk0cx3Ifa4LybAZA9cJmw.webp 800w, https://framerusercontent.com/images/i2nNzhoIpAYszdtuEI2xUExRf8.webp 1200w, https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Long Beach Pavers for Older Homes and Driveways | OCIP\",\"description\":\"Long Beach pavers and concrete for driveways, patios and walks, with replacement materials chosen to complement your home. Request a free estimate.\"}},\"/mission-viejo-pavers\":{\"route\":\"/mission-viejo-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Mission Viejo\",\"href\":null}],\"eyebrow\":\"PAVERS FOR SLOPED BACKYARDS\",\"heading\":\"Mission Viejo pavers.\",\"lede\":\"Patios, paths and driveways for Mission Viejo homes, planned around the ground you have and the way you want to spend time outside.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/mission-viejo-pavers#quote\"},\"secondaryCta\":{\"label\":\"Grades and drainage\",\"href\":\"/mission-viejo-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Patios, paths, driveways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Start with how your yard falls.\",\"paragraphs\":[\"Mission Viejo pavers often meet a slope. A backyard that climbs or drops away from the house sets where the patio fits and where water runs.\",\"Where the yard changes level, the layout should start with the usable areas and their connections. If an association covers your home, include its exterior guidelines before finalizing materials or a changed paving footprint.\",\"OCIP installs pavers and concrete across Mission Viejo. The preparation should follow the conditions of each area, with drainage, access and existing structures considered alongside the visible design.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Paving that works with the hills.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"A driveway on a grade needs materials, preparation and edge support suited to the slope and vehicle use.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Set on your flattest ground, sized to fit it, with enough fall to clear rain.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Paths that follow a gentle grade around the house, edged on both sides so they hold.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Concrete where one continuous slab suits, like a work pad by the garage, with joints planned first.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Patios, paths and outdoor levels.\",\"paragraphs\":[\"Think about where you would sit and how you would reach it. The edges, steps and paths between outdoor spaces matter as much as the main paved area.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Where Mission Viejo pavers fit a slope.\",\"paragraphs\":[\"An existing level area may offer the best place for a patio, with paths connecting it to the house and side gate. Where the yard drops away, supporting structures, edge conditions and drainage need assessment before the paving footprint is settled.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Know these about your slope.\",\"bullets\":[\"Where you'd sit, eat or gather on level ground.\",\"Whether the bank beyond the pad is planted or bare, and how steep.\",\"Gates and side yards that equipment must pass through.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Plan the slope before the pavers.\",\"steps\":[{\"heading\":\"Photograph the levels\",\"body\":\"Shots looking up and down the yard, plus any Mission Viejo HOA notes.\"},{\"heading\":\"Settle levels and drainage\",\"body\":\"Where the patio sits flat, where runoff heads, how each level meets the next.\"},{\"heading\":\"Lock the written scope\",\"body\":\"Every level, its base and drainage, and the paver, listed before digging.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Say what you'd like paved in Mission Viejo and how steep the yard is behind or beside it.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Ask about slopes.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"How much of a sloped Mission Viejo backyard can be paved?\",\"answer\":\"The usable area depends on the grade, ground conditions and any existing retaining structures. An established level area may suit a patio, while steeper areas may call for additional design or a smaller footprint. Explain how you want to use the space before deciding how much should be paved.\"},{\"question\":\"What keeps Mission Viejo pavers from creeping down a sloped driveway?\",\"answer\":\"The paving system needs to be appropriate for the grade and vehicle use. Preparation, interlocking pattern and edge support all contribute, but the specification should follow the actual site and product requirements. A sloped driveway should be assessed as a whole, including braking areas, transitions and drainage.\"},{\"question\":\"Can you replace a Mission Viejo patio that's sinking toward the slope?\",\"answer\":\"OCIP can discuss a full replacement, but movement toward a slope needs its cause assessed first. Ground movement, drainage or nearby structural issues may require work beyond the paving. The replacement approach should follow that assessment rather than assume that adding a new base will resolve the problem.\"},{\"question\":\"Is paving a home near Lake Mission Viejo any different?\",\"answer\":\"The location alone does not determine the installation. The ground, grade, existing surfaces, access and any association requirements shape the proposed work. Include your street or neighborhood and describe the area you want to improve, whether the home is near the lake or on a hillside street.\"},{\"question\":\"Can a paver walkway follow a sloped side yard in Mission Viejo?\",\"answer\":\"On a gentle, even grade, yes. The path follows the slope, pitched slightly across its width so water sheds to the side instead of racing down it, with edge restraint on both sides to keep the pattern from spreading. Where a side yard drops more steeply, the layout has to change, and photos help us see what fits.\"},{\"question\":\"Does grading for a new patio change drainage in a Mission Viejo yard?\",\"answer\":\"Yes. New grades and hard surfaces can change the amount and direction of runoff. Existing outlets, the house, neighboring land and any relevant requirements need consideration together. Show where water runs now so the proposed paving and any additional drainage work can be assessed as one scope.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Plan beyond the slope.\",\"links\":[{\"label\":\"OC paver installation\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios and walks\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Lake Forest\",\"href\":\"/lake-forest-pavers\"},{\"label\":\"Laguna Niguel\",\"href\":\"/laguna-niguel-pavers\"},{\"label\":\"San Juan Capistrano\",\"href\":\"/san-juan-capistrano-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Make more of the space your yard offers.\",\"intro\":\"Share the patio, paths or driveway you have in mind. Request a free Mission Viejo estimate.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/mission-viejo-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/9ScEHpyk28NaceR0gKVNzCwp3aM.webp\",\"alt\":\"Paver driveway curving between green lawns toward a parked car.\",\"title\":\"A path through the landscape\",\"caption\":\"A curved driveway follows the shape of the surrounding landscape.\",\"imageMeta\":{\"title\":\"A path through the landscape\",\"objectPosition\":\"50% 35%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/WxzFThsvP6sWT1A0D1BNzhVsmVc.webp 800w, https://framerusercontent.com/images/od2FVznfD8AVcMK4Wg6t24rA0.webp 1200w, https://framerusercontent.com/images/9ScEHpyk28NaceR0gKVNzCwp3aM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/vkIhLmGy4XVX1Kv4APhtZrzW0.webp\",\"alt\":\"Timber deck beside an irregular stone-paved terrace with cable railings and a hillside outlook.\",\"title\":\"Two surfaces, one setting\",\"caption\":\"The deck and adjacent paving form a connected terrace.\",\"imageMeta\":{\"title\":\"Two surfaces, one setting\",\"objectPosition\":\"50% 56%\",\"width\":2e3,\"height\":1500,\"srcSet\":\"https://framerusercontent.com/images/kOmnr84AUol7RDJkByhHV6Ik.webp 800w, https://framerusercontent.com/images/yTotp65P2QMUHzUpl8aOfA5vLo.webp 1200w, https://framerusercontent.com/images/vkIhLmGy4XVX1Kv4APhtZrzW0.webp 2000w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.24000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.24000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.24000), 983px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp\",\"alt\":\"Broad garden steps connecting rectangular paving and an outdoor cooking area beside a house.\",\"title\":\"Steps between spaces\",\"caption\":\"Steps give connected outdoor spaces a clear route.\",\"imageMeta\":{\"title\":\"Steps between spaces\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/tDImyjgXLlVpwSvuwZc4Pa4pu6o.webp 800w, https://framerusercontent.com/images/f5yOzmH9uJbd82IKba0ZiRFq5ZE.webp 1200w, https://framerusercontent.com/images/rb1bgxju2tFqE7mEeC4KeiQhqUg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp\",\"alt\":\"Broad paver driveway curving through lawns in front of a large white house.\",\"title\":\"A generous arrival\",\"caption\":\"A broad approach connects the drive with the complete property.\",\"imageMeta\":{\"title\":\"A generous arrival\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/D3CYzkwViXqA5bbKNHkI6xg9VM.webp 800w, https://framerusercontent.com/images/Ao1NKSy64EQy4B3r5Sj06JhFU.webp 1200w, https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Mission Viejo Pavers for Sloped Backyards | OCIP\",\"description\":\"Mission Viejo pavers and concrete for patios, paths and driveways, with layouts considered for changing grades and existing surfaces. Free estimates.\"}},\"/newport-beach-pavers\":{\"route\":\"/newport-beach-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Newport Beach\",\"href\":null}],\"eyebrow\":\"PAVER COMPANY, NEWPORT BEACH\",\"heading\":\"Newport Beach pavers.\",\"lede\":\"A replacement driveway, patio or walk should feel considered from every angle. Plan the material, edges and connections around the Newport Beach home you have.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/newport-beach-pavers#quote\"},\"secondaryCta\":{\"label\":\"How replacement works\",\"href\":\"/newport-beach-pavers#details\"},\"infoRows\":[{\"label\":\"Focus\",\"value\":\"Replacement paving\"},{\"label\":\"Approach\",\"value\":\"Considered connections\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Estimates\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Replacing paving on a tight lot.\",\"paragraphs\":[\"Replacing paving at a Newport Beach home starts with what gives the property its character: the entry, steps, planting and walls that will remain. New surfaces should connect to them with deliberate proportions and well-resolved edges.\",\"Where access is tight, material handling and the route to the work matter alongside the finish. On a larger property, the scale and flow of the driveway or patio may take priority. The plan should respond to the individual home.\",\"For a property exposed to coastal conditions, compare the specific material’s suitability and maintenance guidance. Finished levels, drainage and the connection to existing surfaces deserve the same attention as the color and texture.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What we replace, area by area.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Replace brick, cracked concrete or worn pavers with a paver drive that's edged and pitched to drain.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Reshape the patio while it's out: wider at the table, trimmed where it crowded a planter.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Side-yard and entry walks rebuilt to clear gate swings, meet steps cleanly and shed water along narrow runs.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"A fresh concrete slab where the old one stood, finished to match the house.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Look at the edges first.\",\"paragraphs\":[\"Look where the paving meets planting, steps and walls. Those edges can make a new driveway, patio or walk feel closely connected to the home.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Keep the planting. Replace the paving around it.\",\"paragraphs\":[\"Established planting, a shade tree or a garden wall can help the new paving feel part of the home. Identify what should remain so removal, access and finished levels can account for roots, footings and the landscape around the work.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Photograph these before you call.\",\"bullets\":[\"The whole surface, plus close-ups of cracks, settling or awkward joins.\",\"Exactly where the paving you're keeping starts and stops.\",\"The gate, side yard or driveway we'd use to reach the back.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Replacing paving on a tight lot.\",\"steps\":[{\"heading\":\"Measure what exists\",\"body\":\"The current paving, its edges against neighbors and your Newport Beach neighborhood.\"},{\"heading\":\"Set finish levels and lines\",\"body\":\"Where new paving stops, how it meets each threshold, and which finish suits the house.\"},{\"heading\":\"Review removal and extent\",\"body\":\"Demolition, base, new paving and exactly where the new edge lands.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which surfaces are coming out and which neighborhood you're in, from Balboa Peninsula to Corona del Mar.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you replace.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Which paver company in Newport Beach replaces old paving?\",\"answer\":\"OCIP replaces residential driveways, patios and walks throughout Newport Beach, including Balboa Island and Newport Coast. Options include interlocking pavers, concrete and other suitable paving materials. Share the existing surfaces and the result you want so the proposed scope can account for the home, access and connections.\"},{\"question\":\"Can new pavers sit flush with the paving I'm keeping?\",\"answer\":\"A close, even transition may be possible when the existing surface is sound and the levels allow it. Drainage and building details determine the final connection. Since older paving has weathered, a deliberate border or change in material often looks more considered than trying to achieve an exact color match.\"},{\"question\":\"Can new pavers run right up to a neighbor's wall?\",\"answer\":\"The property boundary, wall foundations, drainage and any necessary separation should be checked before paving is planned alongside a neighboring wall. Show the boundary and what must remain. The proposed detail should protect the existing structure rather than assume it can be used as paving support.\"},{\"question\":\"When should paving be replaced during a Newport Beach remodel?\",\"answer\":\"Near the end, after the dumpsters, delivery trucks and heavy equipment are gone, so the new paving isn't loaded or scuffed before you move back in. Plan it early, though: new door heights, a garage slab or a changed entry all set the finished grades the paving has to meet.\"},{\"question\":\"What finish details matter on a Newport Beach paver job?\",\"answer\":\"Look at the pattern, borders, cuts and transitions. Joint lines and edge details should be consistent with the selected product and layout, while connections to doors, steps and retained surfaces need safe, well-planned levels. Those details help the finished paving feel integrated with the house.\"},{\"question\":\"What should I send to price new Newport Beach pavers?\",\"answer\":\"Wide photos of the surface you're replacing, close-ups of the problem spots, rough measurements and your neighborhood. Show the gate or side access, since on a tight lot access is part of the plan. Estimates are free: call 714-627-5543 or use the estimate form above.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Read up before replacing.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Irvine\",\"href\":\"/irvine-pavers\"},{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"New paving that suits your home.\",\"intro\":\"Name your Newport Beach neighborhood and what's wearing out. The estimate costs nothing.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/newport-beach-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/2UcBaYBjyJEy3HINxKmf0KdWyTk.webp\",\"alt\":\"Gray paver driveway divided by dark bands in front of a white two-story house.\",\"title\":\"Pattern across a broad drive\",\"caption\":\"Border bands bring structure to a broad paved driveway.\",\"imageMeta\":{\"title\":\"Pattern across a broad drive\",\"objectPosition\":\"50% 20%\",\"width\":1340,\"height\":1178,\"srcSet\":\"https://framerusercontent.com/images/Dl8DvgWVLD8QfmLU32S2BwaN2bY.webp 800w, https://framerusercontent.com/images/NItJWHu5E9PX189s0McF9hW2TYw.webp 1200w, https://framerusercontent.com/images/2UcBaYBjyJEy3HINxKmf0KdWyTk.webp 1340w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/dHS9QoaoYMBLC31PvNktwW15gs.webp\",\"alt\":\"Warm rectangular pavers with a dark border beside a swimming pool and covered terrace.\",\"title\":\"A defined poolside edge\",\"caption\":\"A contrasting border defines the edge of the poolside paving.\",\"imageMeta\":{\"title\":\"A defined poolside edge\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/3sKWYV9p4SKl9ZtTBABOKpRHa1s.webp 800w, https://framerusercontent.com/images/LOJTbuczKVdam40CI33SNmDVf0.webp 1200w, https://framerusercontent.com/images/dHS9QoaoYMBLC31PvNktwW15gs.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp\",\"alt\":\"Gray rectangular pavers leading to a white side gate between a house and garden wall.\",\"title\":\"A finished side entrance\",\"caption\":\"A paved side entrance gives the route a defined finish.\",\"imageMeta\":{\"title\":\"A finished side entrance\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FU824zY5xez7cOXT6T1WEqqAXo.webp 800w, https://framerusercontent.com/images/wSyEancdu83Rz3hGWNTBV01lcV0.webp 1200w, https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp\",\"alt\":\"Light gray paver driveway leading to a modern white home and wooden garage door.\",\"title\":\"Paving that suits the house\",\"caption\":\"A light paved approach complements the home’s simple lines.\",\"imageMeta\":{\"title\":\"Paving that suits the house\",\"objectPosition\":\"50% 35%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/Dz6SWBGy5W1m9vmU1Y8fZPr9TM.webp 800w, https://framerusercontent.com/images/mNJZNZ3yG3BIeiT4YVo2Jt0aA0.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Newport Beach Pavers: Replacement Driveways & Patios | OCIP\",\"description\":\"Newport Beach pavers and concrete for replacement driveways, patios and walks, with materials and details considered for your home. Free estimates.\"}},\"/placentia-pavers\":{\"route\":\"/placentia-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Placentia\"}],\"eyebrow\":\"STONE, PORCELAIN & PATIO PAVERS\",\"heading\":\"Placentia pavers, patio first.\",\"lede\":\"Patios with the character of natural stone, the precision of porcelain or the versatility of pavers, with walks and driveways considered as part of the setting.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/placentia-pavers#quote\"},\"secondaryCta\":{\"label\":\"See patio options\",\"href\":\"/placentia-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Patios, walkways, driveways\"},{\"label\":\"Looks\",\"value\":\"Natural stone, porcelain, pavers\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Placentia patios with texture and character.\",\"paragraphs\":[\"Natural stone, porcelain and stone-look concrete pavers offer different ways to give a Placentia patio character. Compare texture, variation and unit size in the light of your own yard, alongside the house and the planting you want to keep.\",\"The installation method should follow the chosen material, site and intended use. Preparation, support, joints and drainage are part of that decision, so settle the system as well as the appearance before construction begins.\",\"Warm earth tones or cool grays, a varied layout or a quiet grid: the right combination depends on the home. Bring references you like, then compare actual materials rather than choosing from a photograph alone.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"The patio, and what connects to it.\",\"cards\":[{\"body\":\"Carry related colors and textures to the approach, using a material and installation system suitable for driveway traffic.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Stone, porcelain or pavers selected for the patio’s use, with room for furniture and the connections around it.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Paths that connect the patio to the house and side gate, with material, width and borders considered together.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Concrete patios, too: a poured slab with a textured finish and planned joints, if one continuous surface suits you better.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Look for texture and joints.\",\"paragraphs\":[\"Compare the scale of the paving and the rhythm of the joints. Texture, color variation and borders can give a patio character without overwhelming the setting.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Let the patio set the backyard's tone.\",\"paragraphs\":[\"Starting with the patio can establish a palette for the rest of the yard. Its color and texture can relate to the paths, planting edges and driveway without requiring the same material in every area.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Testing stone-look samples outdoors.\",\"bullets\":[\"Hose down a sample, since texture and tone shift once it's wet.\",\"Lay several pieces together to judge the mix of sizes.\",\"Check samples in shade and afternoon sun where the patio goes.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Photo to finished patio.\",\"steps\":[{\"body\":\"Photos of stone patios you like, the backyard now and rough measurements.\",\"heading\":\"Share your inspiration\"},{\"body\":\"Natural stone, porcelain or concrete pavers, considered for texture, maintenance and the layout you want.\",\"heading\":\"Compare the material choices\"},{\"body\":\"The paver, color, pattern, patio size, base work and edges are all written down.\",\"heading\":\"Approve the scope\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Plan your Placentia patio.\",\"intro\":\"Tell us roughly where the patio would go, how you'll use it and what's out there now.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before we dig.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Can pavers give a Placentia patio a flagstone look?\",\"answer\":\"Yes. OCIP works with natural stone as well as concrete pavers that have a stone-like finish. They differ in variation, joints, preparation and maintenance, so identify whether you want genuine flagstone or its appearance. Compare samples and an installation approach suited to your patio before choosing.\"},{\"question\":\"Do you build backyard patios in Placentia?\",\"answer\":\"Yes. OCIP builds residential patios in Placentia using suitable paving materials, including pavers, concrete, porcelain and natural stone. The layout should follow how you use the space, with preparation, drainage and the connections to the house considered as part of the proposed scope.\"},{\"question\":\"What patterns make Placentia pavers look like natural stone?\",\"answer\":\"For concrete pavers, varied unit sizes, blended tones and softened edges can create a more stone-like appearance. Natural stone provides its own variation, while porcelain offers another option with more consistent dimensions. Compare several pieces together and consider the joint pattern rather than judging from one sample.\"},{\"question\":\"Can a Placentia backyard remodel start with just the patio?\",\"answer\":\"Yes, and it's a sensible first phase. We build the patio now and set its edges and heights so a future path or extra seating area can join it cleanly. List those later ideas in your request, and keep in mind that a paver color can shift slightly between production runs.\"},{\"question\":\"Can you replace an old flagstone patio in Placentia with pavers?\",\"answer\":\"Yes. A replacement can use new natural stone, porcelain or concrete pavers, depending on the appearance and performance you want. The existing material and its support need assessment before deciding what comes out and how the new system is built. Explain what you liked about the old patio as well as what needs to change.\"},{\"question\":\"What does a Placentia patio estimate need from me?\",\"answer\":\"Three things: a wide photo of the backyard from the house, rough dimensions for the patio you have in mind, and a picture of a stone look you like. Note the side gate width, plus any tree or slab you plan to keep. Estimates are free.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"More for your backyard.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Compare paver styles\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Fullerton\",\"href\":\"/fullerton-pavers\"},{\"label\":\"Brea\",\"href\":\"/brea-pavers\"},{\"label\":\"Yorba Linda\",\"href\":\"/yorba-linda-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Bring the patio you have in mind into focus.\",\"intro\":\"Estimates are free. A phone photo of the backyard gets us started.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/placentia-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp\",\"alt\":\"Large square paving beneath a covered terrace with lounge seating and a round coffee table.\",\"title\":\"Paving beneath the shelter\",\"caption\":\"A covered terrace connects comfortable seating with a durable paved floor.\",\"imageMeta\":{\"title\":\"Paving beneath the shelter\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/6B0CrHW1OxUCfmcFhmMszIJbPPo.webp 800w, https://framerusercontent.com/images/ugXiCDVZ12jXLfs6rCKQNBvCrU.webp 1200w, https://framerusercontent.com/images/Rv28HbAuPRC1ZstyozS5inSQZ8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/zO2s4PUjqa14Zrtoi6edFXjDhDw.webp\",\"alt\":\"Large rectangular paving with a curved border beside shrubs and a planted pot.\",\"title\":\"A softer patio outline\",\"caption\":\"A curved edge gives the paved area a softer outline.\",\"imageMeta\":{\"title\":\"A softer patio outline\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/gCUkrdfkTdTVNcgQ9Rz36DjbGY.webp 800w, https://framerusercontent.com/images/KqbBSGGlp3ClwXklxfPfgm5XwSc.webp 1200w, https://framerusercontent.com/images/zO2s4PUjqa14Zrtoi6edFXjDhDw.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/EOZPsKx5rz0oduLjZ1R3E6f7ECc.webp\",\"alt\":\"Textured rectangular paving with a dark border beside a stone-clad garden wall.\",\"title\":\"Where paving meets the wall\",\"caption\":\"Border paving gives the wall and paved surface a clear connection.\",\"imageMeta\":{\"title\":\"Where paving meets the wall\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w, https://framerusercontent.com/images/EOZPsKx5rz0oduLjZ1R3E6f7ECc.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/TAngbvYmyOqAkPP1HsAJkLj0I.webp\",\"alt\":\"Rectangular paving beside a circular fire pit and outdoor chairs.\",\"title\":\"Paving around a gathering space\",\"caption\":\"Paving leaves clear space around the fire pit and seating.\",\"imageMeta\":{\"title\":\"Paving around a gathering space\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/DNMNVUniDx73Hxs0mEohmen7j7k.webp 800w, https://framerusercontent.com/images/GX9nFadygjyX5wYylY2txAUEcM.webp 1200w, https://framerusercontent.com/images/TAngbvYmyOqAkPP1HsAJkLj0I.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Placentia Pavers, Stone & Porcelain Patios | OCIP\",\"description\":\"Placentia patios in pavers, natural stone, porcelain or concrete, with walks and driveways planned to complement the home. Request a free estimate.\"}},\"/san-clemente-pavers\":{\"route\":\"/san-clemente-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"San Clemente\",\"href\":null}],\"eyebrow\":\"HILLSIDE PATIOS & DRIVEWAYS\",\"heading\":\"San Clemente pavers.\",\"lede\":\"Patios, entry courtyards and driveways for San Clemente homes, with materials chosen to complement the architecture and layouts considered for the existing grade.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/san-clemente-pavers#quote\"},\"secondaryCta\":{\"label\":\"Building on slopes\",\"href\":\"/san-clemente-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Patios, driveways, courtyards\"},{\"label\":\"Surfaces\",\"value\":\"Pavers, stone, porcelain, concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Paving the Spanish Village by the Sea.\",\"paragraphs\":[\"For a San Clemente home with white stucco, tile roofing or dark timber, paving can pick up those tones without competing with them. A more contemporary house may call for a different palette and a quieter pattern.\",\"Compare a border that relates to the roof, a varied layout for a courtyard or larger units for a calm patio. Samples viewed against the actual walls and trim help make the choice more precise.\",\"Where the property slopes, the available space, drainage and connections to the house shape the layout. Consider those conditions before deciding on the patio footprint or the route of a new walkway.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Built for sun, slope and stucco.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"A sloped drive needs driveway-rated pavers, locked edges and a plan for water at the bottom.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Sized to your table and chairs, angled toward the view, with a fall that drains it.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Courtyards\",\"body\":\"Entry courtyards and front walks in aged-look pavers, laid so the approach feels like part of the house.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Concrete for side paths and drives, with a finish and joint pattern chosen to suit the house.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Color against white stucco.\",\"paragraphs\":[\"See how paving tones sit beside light walls and garden colors. A border or path can carry that palette through the courtyard, driveway and patio.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"San Clemente pavers that work with the slope.\",\"paragraphs\":[\"Paths on a hillside lot should follow the land, curving with the grade between the patio, the side gate and the drive. Carry the same border through each one and the yard feels like one design.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"What shapes a hillside plan.\",\"bullets\":[\"Photos from the top and bottom of the slope, showing the grade.\",\"The path rainwater takes across the yard during a storm.\",\"A close photo of your roof tile and stucco color.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"From a hillside sketch to a scope.\",\"steps\":[{\"heading\":\"Share house photos\",\"body\":\"The house front, roof tile color and how your San Clemente lot falls away.\"},{\"heading\":\"Compare tones and textures\",\"body\":\"Materials and pattern considered beside the house, with the layout and drainage suited to the grade.\"},{\"heading\":\"Confirm the paving extent\",\"body\":\"Pavers, colors, area and grading, confirmed on paper before the first cut.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which part of your San Clemente property you want paved, how steep it is and the look you're after.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you pave.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Which patio pavers suit a Spanish-style home in San Clemente?\",\"answer\":\"Warm tones and softly textured finishes can complement stucco and tile roofing, but the right choice depends on the actual house. Compare natural stone, clay brick or suitable pavers beside the walls and trim. A contemporary contrast can work too when the proportions, pattern and palette are considered together.\"},{\"question\":\"How do you build a paver patio on a sloped San Clemente lot?\",\"answer\":\"Start with the usable ground, existing levels and the intended patio area. The degree of slope, drainage and any supporting structures determine what is practical and whether additional design is needed. A smaller patio in a suitable position can sometimes serve the home better than a larger, more complicated footprint.\"},{\"question\":\"Where does runoff go when you pave a hillside yard in San Clemente?\",\"answer\":\"The drainage destination needs to be assessed before paving is designed. Existing outlets, the ground, neighboring properties and relevant requirements all matter. New hard surfaces can change runoff, so the proposal should address where water can appropriately go rather than assume a planting bed or existing drain can take it.\"},{\"question\":\"Can San Clemente pavers go on a steep driveway?\",\"answer\":\"They may be suitable, but a steep driveway needs assessment of the grade, vehicle use, traction, edge support and drainage. The product and installation specification should follow those conditions. Include photographs of the street and garage transitions as well as the slope when discussing the project.\"},{\"question\":\"Can pavers finish an entry courtyard on a Spanish-style home?\",\"answer\":\"Yes, and a courtyard is where a Spanish-style house shows off its paving. We plan the pattern from the front door out, center it on the entry, cut the edges cleanly against stucco walls and planters, and give the space a gentle fall so rain clears without pooling at the door.\"},{\"question\":\"Which photos make a San Clemente patio estimate easier?\",\"answer\":\"Wide shots from the house looking out, from the far end looking back and from the street, plus a close-up of your roof tile and stucco. Mention how steep the yard feels and roughly how big a patio you want. The estimate is free; email photos to tyler@ocip.biz or use the form.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Round out the backyard.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"San Juan Capistrano\",\"href\":\"/san-juan-capistrano-pavers\"},{\"label\":\"Laguna Niguel\",\"href\":\"/laguna-niguel-pavers\"},{\"label\":\"Mission Viejo\",\"href\":\"/mission-viejo-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A patio made for the house and the hill.\",\"intro\":\"Photograph the yard, the slope and the front of the house. Your San Clemente estimate is free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/san-clemente-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/5ITaErK4u8QwlHOUGmz0OrZI.webp\",\"alt\":\"Warm interlocking paver courtyard leading toward a wooden gate framed by flowering plants.\",\"title\":\"A garden arrival\",\"caption\":\"Paving brings a defined approach to the garden gate.\",\"imageMeta\":{\"title\":\"A garden arrival\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/F6x2UkWNZziK5RLByMiHMa7tnzc.webp 800w, https://framerusercontent.com/images/ehfWzpav7pQ3NUZGUggikMPUo0E.webp 1200w, https://framerusercontent.com/images/5ITaErK4u8QwlHOUGmz0OrZI.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp\",\"alt\":\"Warm-toned interlocking paver driveway in front of a home with an arched porch.\",\"title\":\"A welcoming motor court\",\"caption\":\"Warm paving tones connect the driveway with the home’s entrance.\",\"imageMeta\":{\"title\":\"A welcoming motor court\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/QEqDJPolZ28l0iCRMZoH3QzW4.webp 800w, https://framerusercontent.com/images/qc5Xnnf0sW7vyCMyZcaMxPqjekA.webp 1200w, https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/GwQ33Y9NCfGxX6tVOZTvcktEgg.webp\",\"alt\":\"Warm rectangular paver path curving beside gray stones and garden planting.\",\"title\":\"A simple garden connection\",\"caption\":\"A curved path connects spaces through the planting.\",\"imageMeta\":{\"title\":\"A simple garden connection\",\"objectPosition\":\"50% 54%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/d65KETehJ4Adqm2Ae4g9qgvI7ok.webp 800w, https://framerusercontent.com/images/GwQ33Y9NCfGxX6tVOZTvcktEgg.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp\",\"alt\":\"Pale paver pool deck outside a white house with tall windows and lounge chairs.\",\"title\":\"The house and pool together\",\"caption\":\"Poolside paving links the water with the house and seating.\",\"imageMeta\":{\"title\":\"The house and pool together\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/4B6MnH7sHuAuSEhxy4B58C0vA.webp 800w, https://framerusercontent.com/images/JTIpiCY30sksJQOUBkBHKVDRzdI.webp 1200w, https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"San Clemente Pavers for Patios and Hillside Lots | OCIP\",\"description\":\"San Clemente pavers for patios, courtyards and driveways, with materials that complement your home and layouts suited to the site. Free estimates.\"}},\"/san-juan-capistrano-pavers\":{\"route\":\"/san-juan-capistrano-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"San Juan Capistrano\"}],\"eyebrow\":\"HERITAGE-LOOK PAVERS & CONCRETE\",\"heading\":\"San Juan Capistrano pavers & concrete.\",\"lede\":\"Brick, stone and pavers for driveways, patios and garden walks, with a palette that respects the character of your San Juan Capistrano home.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/san-juan-capistrano-pavers#quote\"},\"secondaryCta\":{\"label\":\"Brick, stone, concrete\",\"href\":\"/san-juan-capistrano-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Driveways, courtyards, walks\"},{\"label\":\"Surfaces\",\"value\":\"Brick, stone, pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Old-town character, built on a modern base.\",\"paragraphs\":[\"The character of the house can guide the paving, whether that means warm brick, natural stone or a quieter contemporary finish. San Juan Capistrano driveways, courtyards and paths can share a palette while keeping their own proportions.\",\"OCIP works with clay brick, natural stone, porcelain and interlocking concrete pavers. These are different materials with different installation needs. Compare their texture, variation and maintenance alongside the intended use of each area.\",\"A brick pattern can give the approach a clear rhythm; natural stone may offer more variation; porcelain or larger pavers can feel restrained. Consider the borders and transitions with the material, rather than as details added afterward.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Four places for an old-world look.\",\"cards\":[{\"body\":\"A long approach with material, pattern and borders considered as one composition, using a system suitable for vehicle traffic.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"Natural stone, porcelain or pavers that give the patio a considered setting for dining and time outdoors.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"Long garden walks and side paths, wide enough for a wheelbarrow, with edges that hold firm against the planting beds.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Walkways\"},{\"body\":\"Concrete where you want a quieter surface: a side yard, a utility pad or a long service drive, finished and jointed to suit.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Brick tones, stone textures.\",\"paragraphs\":[\"Warm colors and varied textures can work across a long approach, a courtyard and garden paths. Compare the whole setting before focusing on an individual paving unit.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"San Juan Capistrano pavers across a larger lot.\",\"paragraphs\":[\"On a larger property, paving may connect a long driveway, a turnaround and paths to the garden. A related palette can give these areas continuity while allowing their pattern and scale to suit different uses.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Worth deciding before you pick a color.\",\"bullets\":[\"Brick look, stone look, or a mix of the two.\",\"Roof tile, wood beams or stone trim the paving should echo.\",\"How far the paving needs to run across the lot.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps to a scope.\",\"steps\":[{\"body\":\"The house front, every area to pave and your San Juan Capistrano address.\",\"heading\":\"Send property photos\"},{\"body\":\"Look at colors outdoors, beside your walls and trim, then settle pattern and border.\",\"heading\":\"Compare brick and stone\"},{\"body\":\"Every area, the chosen pavers, the base and the price, before anyone digs.\",\"heading\":\"Read the proposal\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Describe your San Juan Capistrano driveway, patio or walks, and whether you lean toward a brick or a stone look.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you choose.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Do you install brick pavers in San Juan Capistrano?\",\"answer\":\"Yes. OCIP installs clay brick as well as brick-look concrete pavers. They are different products, so specify whether you want genuine brick or its appearance. The selected material and installation system should suit the area, especially where paving will carry vehicles or meet existing surfaces.\"},{\"question\":\"Do stone pavers suit a patio in San Juan Capistrano?\",\"answer\":\"Natural stone can complement a patio when its finish and installation suit the intended use. OCIP also works with porcelain and stone-look concrete pavers, which offer different forms of consistency and variation. Compare samples at the property and ask how the options differ in preparation, maintenance and appearance.\"},{\"question\":\"How are San Juan Capistrano pavers laid on a long driveway?\",\"answer\":\"A long driveway benefits from a plan for the whole approach, including pattern alignment, color distribution, borders, finished levels and drainage. The paving system needs to be suitable for vehicle use. Review the driveway from the street and the house when comparing the layout, rather than selecting only a small sample.\"},{\"question\":\"What border works with a brick or stone paver look?\",\"answer\":\"A soldier course, one row of rectangular pavers set side by side along the edge, is the classic finish for a brick look. With stone looks, a slightly darker band or a double row frames the field without looking busy. Either way, cut pieces sit inside the border, so the outer edge stays clean.\"},{\"question\":\"Can new pavers look old enough for a historic San Juan Capistrano home?\",\"answer\":\"There are materials and finishes that can complement an older home, including clay brick, natural stone and softened concrete pavers. The aim is to suit the architecture rather than imitate age. If the property is subject to historic or association review, confirm the relevant requirements before finalizing visible changes.\"},{\"question\":\"How should I start a paver installation in San Juan Capistrano?\",\"answer\":\"Start with photos and a rough plan. Shoot the house front, each area you want paved and anything you're keeping, note rough lengths for long drives or paths, and say whether you lean brick or stone. The estimate is free, by form or by phone.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Plan the rest outdoors.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Compare paver styles\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Laguna Niguel\",\"href\":\"/laguna-niguel-pavers\"},{\"label\":\"San Clemente\",\"href\":\"/san-clemente-pavers\"},{\"label\":\"Mission Viejo\",\"href\":\"/mission-viejo-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Heritage on the surface, solid underneath.\",\"intro\":\"Compare materials for your San Juan Capistrano driveway, patio or walks. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/san-juan-capistrano-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/hGygYb8SEdOAdvnP2LDkVHDyM.webp\",\"alt\":\"Dark paver driveway leading toward a large stone home with a turret and planted borders.\",\"title\":\"A complete property setting\",\"caption\":\"The driveway belongs in the same picture as the home.\",\"imageMeta\":{\"title\":\"A complete property setting\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/wpCcNZdaDo4hHQGOlQlgkKVJeys.webp 800w, https://framerusercontent.com/images/afLjHYxeU1PPLz0Nmpphd1SrR4.webp 1200w, https://framerusercontent.com/images/hGygYb8SEdOAdvnP2LDkVHDyM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/ODKnY21A8YXzAuwZInUuxmvqqg.webp\",\"alt\":\"Paver terrace with an outdoor stone fireplace, garden walls and a lounge chair.\",\"title\":\"An open terrace\",\"caption\":\"An open paved terrace connects the seating and fireplace.\",\"imageMeta\":{\"title\":\"An open terrace\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/KyhkHnt3QJr8h4utPtO0Epy8ssA.webp 800w, https://framerusercontent.com/images/TYIZ2mQwLqs26zd5KKcL1ITZ9RU.webp 1200w, https://framerusercontent.com/images/ODKnY21A8YXzAuwZInUuxmvqqg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp\",\"alt\":\"Gray paver driveway in front of wood garage doors and pale stone walls.\",\"title\":\"A textured driveway approach\",\"caption\":\"Texture and pattern bring detail to the garage approach.\",\"imageMeta\":{\"title\":\"A textured driveway approach\",\"objectPosition\":\"50% 60%\",\"width\":819,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/gRD62dy3iyO8s3OnZylvOzzAHs.webp 800w, https://framerusercontent.com/images/rjNkK8sIjhUfjrMnXRrI5PlCpI4.webp 819w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.23970), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.23970), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.23970), 772px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp\",\"alt\":\"Warm-toned interlocking paver driveway in front of a home with an arched porch.\",\"title\":\"A welcoming motor court\",\"caption\":\"Warm paving tones connect the driveway with the home’s entrance.\",\"imageMeta\":{\"title\":\"A welcoming motor court\",\"objectPosition\":\"50% 55%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/QEqDJPolZ28l0iCRMZoH3QzW4.webp 800w, https://framerusercontent.com/images/qc5Xnnf0sW7vyCMyZcaMxPqjekA.webp 1200w, https://framerusercontent.com/images/ISn8gOgJwJfkbbY4yBz28sZLx0Y.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"San Juan Capistrano Pavers, Brick & Stone | OCIP\",\"description\":\"San Juan Capistrano paving in brick, stone, porcelain, concrete and pavers for driveways, patios and garden walks. Request a free estimate.\"}},\"/santa-ana-pavers\":{\"route\":\"/santa-ana-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Santa Ana\",\"href\":null}],\"eyebrow\":\"OLDER HOMES, NEW DRIVEWAYS\",\"heading\":\"Santa Ana pavers.\",\"lede\":\"Refresh the driveway and front walk with pavers or concrete that complement your Santa Ana home, from the overall layout to the finished edges.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/santa-ana-pavers#quote\"},\"secondaryCta\":{\"label\":\"See what changes\",\"href\":\"/santa-ana-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Driveway replacement\"},{\"label\":\"Services\",\"value\":\"Driveways, patios, walkways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Quotes\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Start with the driveway.\",\"paragraphs\":[\"A worn driveway can reveal more than an aging surface: changing levels, awkward connections or a layout that no longer fits. Replacing it is an opportunity to consider those details together at your Santa Ana home.\",\"Existing garage, porch and sidewalk levels help establish the new paving. Ground conditions and drainage also influence the preparation, particularly where the surface has moved or settled. Those findings should shape the proposed work.\",\"OCIP installs interlocking pavers and concrete for Santa Ana driveways, walks and patios. Share what you want to improve and which features should remain, then compare materials and patterns against the character of the house.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What we replace, and with what.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Full tear-out, new compacted base, then car-rated pavers or fresh concrete that meet the garage cleanly.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"An old slab patio swapped for pavers, with a fresh base and a pitch that sends rain off.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"A more comfortable front walk with transitions and finished levels planned around the porch, driveway and retained landscape.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Poured concrete with the finish, joint layout and preparation considered for the proposed area and its use.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Paving with classic character.\",\"paragraphs\":[\"Read the driveway alongside the house. The pattern, color and route to the front door should feel considered together, down to the edges beside the planting.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Santa Ana pavers for historic neighborhoods.\",\"paragraphs\":[\"Santa Ana is the county seat, and its historic districts include Floral Park and French Park. On streets like those, choose pavers that belong to the house, not a recent add-on, with a border that picks up the trim.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Before the old concrete goes.\",\"bullets\":[\"Photos of every crack, lift and sunken spot today.\",\"The spots where the drive joins the garage and sidewalk.\",\"Any trees near the drive whose roots may be lifting it.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps to a new driveway.\",\"steps\":[{\"heading\":\"Send driveway photos\",\"body\":\"The worn driveway, your Santa Ana home's era and looks you like.\"},{\"heading\":\"Choose a look for the era\",\"body\":\"Brick-tone or classic concrete pavers, a border, and a base built for daily parking.\"},{\"heading\":\"Read the replacement scope\",\"body\":\"Tear-out, base, pavers, border and where the drive meets the street, before work begins.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us what's wrong with the driveway, its rough size, and whether the walk or patio should be replaced too.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you replace.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Does an older Santa Ana lot need extra prep before new pavers?\",\"answer\":\"Sometimes. Removing an old surface may reveal unsuitable fill, roots or other conditions that affect preparation. The existing levels and visible signs of movement also deserve attention before construction. Ask how the proposed scope addresses ground preparation and how unexpected conditions would be discussed if they are uncovered.\"},{\"question\":\"Which Santa Ana pavers fit Floral Park and French Park homes?\",\"answer\":\"Muted, natural tones in classic patterns, so the paving looks like it came with the house: think running bond or herringbone in warm reds, tans or soft grays. Before you pick a style, ask the city whether any design review applies to paving in those historic districts.\"},{\"question\":\"Can new pavers meet the original porch steps on a Santa Ana home?\",\"answer\":\"Often, existing steps can remain, but their condition, dimensions and relationship to the new walk need assessment. Changing the surface height can affect the lowest step as well as drainage. The proposed connection should account for those details before the finished grade is settled.\"},{\"question\":\"Where do I park while my Santa Ana driveway is replaced?\",\"answer\":\"Somewhere off the driveway, for the length of the job. From tear-out to the last locked edge, the drive is a work site while the base is compacted and the pavers are set. If a car needs to stay reachable, say so early and we'll work out the sequence together.\"},{\"question\":\"What happens to the old concrete from a Santa Ana driveway?\",\"answer\":\"Removal and haul-away should be clearly identified in the proposed scope, along with any unsuitable material uncovered beneath the old paving. Ask how unexpected conditions would be handled. Comparing those inclusions is useful when reviewing estimates, because the visible replacement surface is only one part of the work.\"},{\"question\":\"How should I photograph my Santa Ana driveway for an estimate?\",\"answer\":\"Shoot it whole from the street, again from the garage, then get close on the worst cracks or lifted spots. Add rough length and width, and mention the walk or patio if they're in the plan. Email them in, or phone 714-627-5543 if a conversation is easier. The estimate is free.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"More on each surface.\",\"links\":[{\"label\":\"Paver driveways, OC\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patio and walkway\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Irvine\",\"href\":\"/irvine-pavers\"},{\"label\":\"Garden Grove\",\"href\":\"/garden-grove-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"A fresh approach that respects the house.\",\"intro\":\"Share the driveway, walk or patio you want to improve and request a free Santa Ana estimate.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/santa-ana-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp\",\"alt\":\"Curving paver walkway leading through a front garden to a red entrance door.\",\"title\":\"An inviting front walk\",\"caption\":\"A curved front walk leads naturally to the porch.\",\"imageMeta\":{\"title\":\"An inviting front walk\",\"objectPosition\":\"50% 35%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Mguzyha6uJZVQ4PFSHxvoVHC8dA.webp 800w, https://framerusercontent.com/images/hy9QjNxJxTqoX07FgNKPRBT3Ac.webp 1200w, https://framerusercontent.com/images/HxQAxxeTMJZSap7i9EPEag6rXXc.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/pnh0ns0Gr04gUPxNTe2oOpdN8.webp\",\"alt\":\"Warm-toned paved forecourt beside a stone house entrance and planted beds.\",\"title\":\"Paving at the entrance\",\"caption\":\"The forecourt brings the entrance and planting into one view.\",\"imageMeta\":{\"title\":\"Paving at the entrance\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/2jcnJc6wPC0iNWBZuepNBqM2Wp0.webp 800w, https://framerusercontent.com/images/r7IKfFrYCbzKwdbs0z8c9Z93Y.webp 1200w, https://framerusercontent.com/images/pnh0ns0Gr04gUPxNTe2oOpdN8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/qigNxkX7Pp7NYZejkjtXBQTVKY.webp\",\"alt\":\"Textured gray paver walkway passing between flowers, lawn and garden stonework.\",\"title\":\"A walk with character\",\"caption\":\"Pattern and planted edges give the garden walk definition.\",\"imageMeta\":{\"title\":\"A walk with character\",\"objectPosition\":\"50% 58%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/VSeD6HTMJtvCaEnFUr1i5YXL8.webp 800w, https://framerusercontent.com/images/qigNxkX7Pp7NYZejkjtXBQTVKY.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp\",\"alt\":\"Broad paver driveway curving through lawns in front of a large white house.\",\"title\":\"A generous arrival\",\"caption\":\"A broad approach connects the drive with the complete property.\",\"imageMeta\":{\"title\":\"A generous arrival\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/D3CYzkwViXqA5bbKNHkI6xg9VM.webp 800w, https://framerusercontent.com/images/Ao1NKSy64EQy4B3r5Sj06JhFU.webp 1200w, https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Santa Ana Pavers: Driveway Replacement & Patios | OCIP\",\"description\":\"Santa Ana pavers for older homes: worn concrete driveways and walks torn out and rebuilt on a new base, in styles that suit the house. Free estimates.\"}},\"/seal-beach-pavers\":{\"route\":\"/seal-beach-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Seal Beach\"}],\"eyebrow\":\"COASTAL PAVERS AND CONCRETE\",\"heading\":\"Seal Beach pavers & concrete.\",\"lede\":\"Thoughtfully planned entries, side yards, patios and driveways for Seal Beach homes, with the material and layout considered together.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/seal-beach-pavers#quote\"},\"secondaryCta\":{\"label\":\"Start with layout\",\"href\":\"/seal-beach-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Residential paving\"},{\"label\":\"Services\",\"value\":\"Entries, patios, driveways\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Paving a lot where every foot has a job.\",\"paragraphs\":[\"Where a Seal Beach property has limited outdoor space, the entry, driveway and patio need to work together. A shared plan can improve their connections while leaving each area enough room for its purpose.\",\"For paving exposed to coastal weather or frequent wet use, compare the suitability and maintenance needs of the selected material. Finish and drainage matter alongside appearance, particularly near doors and through narrow side yards.\",\"Access deserves attention on a compact property. Show the route to the backyard, the narrowest openings and any areas that need to remain usable, so those needs can be considered in the proposed scope.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"What we pave close to the beach.\",\"cards\":[{\"body\":\"A short drive still carries full-size cars, so the units are driveway-rated, the base is compacted for weight and every open edge is restrained.\",\"href\":\"/orange-county-pavers\",\"heading\":\"Driveways\"},{\"body\":\"A compact patio has to earn its space: sized to the table you actually use, with clear room to pull out every chair.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Patios\"},{\"body\":\"An entry walk sets the tone before anyone knocks. Clean cuts at the stoop and a straight border make a short run of paving look finished.\",\"href\":\"/patios-and-walkways\",\"heading\":\"Entries\"},{\"body\":\"Poured concrete for drives or patios, with preparation, finish and joint layout selected for the intended use.\",\"href\":\"/hardscape\",\"heading\":\"Concrete\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Small spaces, finished edges.\",\"paragraphs\":[\"In a smaller space, every edge stays in view. Compare the room around seating, the route to the door and the way paving meets the garden.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Seal Beach pavers from street to patio.\",\"paragraphs\":[\"When you can see most of the paving from one spot, the driveway, entry and patio should look like one decision. Point out what stays, and we'll work the new surfaces around it.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Three notes for a compact coastal property.\",\"bullets\":[\"Puddles after rain, and where the roof drips onto paving.\",\"How bins, bikes and surfboards get through the side yard.\",\"Which surfaces stay put, and which ones can go.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"From photos to a scope.\",\"steps\":[{\"body\":\"Front, back and side yard, plus the address in Seal Beach and what you want changed.\",\"heading\":\"Share wide photos\"},{\"body\":\"Where each surface starts and stops, paver texture and color, and site access.\",\"heading\":\"Talk through the layout\"},{\"body\":\"The paving areas, materials, base prep and price, all in writing up front.\",\"heading\":\"Approve the scope\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us which parts of your Seal Beach lot you want paved and what has to stay.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before the dig.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Do Seal Beach pavers hold up to salt air?\",\"answer\":\"Performance depends on the specific material and its exposure. Compare the manufacturer’s guidance for the product, its finish and the maintenance it needs rather than assuming every paver is equally suitable near the coast. The installation and drainage should also respond to the conditions at your property.\"},{\"question\":\"How do you fit pavers on a compact Seal Beach lot?\",\"answer\":\"Treat it as one job instead of three. When the drive, entry and patio are only a few paces apart, we match heights where they meet, keep one border style throughout and scale the pattern to the space, so nothing looks squeezed. Larger units can make a small area feel calmer; smaller ones turn tight corners more cleanly.\"},{\"question\":\"Can pavers go in a narrow side yard in Seal Beach?\",\"answer\":\"Often, yes. The path should be sized for its use and planned around gates, utilities and existing levels. Roof runoff and drainage toward either property also need consideration. Include the narrowest width and photographs of the access so the proposed work can be assessed realistically.\"},{\"question\":\"Can a Seal Beach backyard remodel start with the paving?\",\"answer\":\"Paving is worth planning early because it establishes important levels, routes and connections. It does not always need to be installed first, especially if heavier work will cross the area. Discuss the wider plans so the paving scope and construction sequence can be considered together.\"},{\"question\":\"Does Leisure World or an HOA need to sign off on new pavers?\",\"answer\":\"If an association or community governs exterior work at your home, ask it about approval requirements before choosing materials. For Leisure World, also confirm the community’s contractor and access requirements with OCIP before assuming the project can proceed. Share any guidance with your estimate request.\"},{\"question\":\"What should I send for a Seal Beach paver estimate?\",\"answer\":\"Photos plus rough measurements get it moving. Send wide shots of the front entry, side yard and back, note which surfaces stay and mention anything awkward about getting machines in. The estimate costs nothing, so use the form whenever you're ready.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep planning your lot.\",\"links\":[{\"label\":\"Driveways & pavers\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Concrete & hardscape\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Choose your pavers\",\"href\":\"/pavers\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Long Beach\",\"href\":\"/long-beach-pavers\"},{\"label\":\"Huntington Beach\",\"href\":\"/huntington-beach-pavers\"},{\"label\":\"Cypress\",\"href\":\"/cypress-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Make every part of the space feel considered.\",\"intro\":\"Send photos of your Seal Beach lot and get a free estimate.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/seal-beach-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp\",\"alt\":\"Warm paver patio beside a white house with wicker chairs and planted borders.\",\"title\":\"A place to sit outside\",\"caption\":\"Paving makes room for a quiet seating area beside the house.\",\"imageMeta\":{\"title\":\"A place to sit outside\",\"objectPosition\":\"50% 58%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/Ki9QnhqDQRmphv6WhEgFizSIbo.webp 800w, https://framerusercontent.com/images/Wth8xaCWXS8Az8zoeLRlCgG3g.webp 1200w, https://framerusercontent.com/images/pf74WLMkIs4rIY2F4CXozSFhg.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/ab4ux9RakUDJugiNMbmc8pUG4UM.webp\",\"alt\":\"Gray interlocking paver patio with wooden chairs outside a home.\",\"title\":\"Space for everyday use\",\"caption\":\"A paved terrace provides space for everyday outdoor use.\",\"imageMeta\":{\"title\":\"Space for everyday use\",\"objectPosition\":\"50% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/zcTn2pobGF057QrKsosREOF3KA.webp 800w, https://framerusercontent.com/images/0GGLQYSPtGMN9VMK22pRehFe0oA.webp 1200w, https://framerusercontent.com/images/ab4ux9RakUDJugiNMbmc8pUG4UM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp\",\"alt\":\"Gray rectangular pavers leading to a white side gate between a house and garden wall.\",\"title\":\"A finished side entrance\",\"caption\":\"A paved side entrance gives the route a defined finish.\",\"imageMeta\":{\"title\":\"A finished side entrance\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/FU824zY5xez7cOXT6T1WEqqAXo.webp 800w, https://framerusercontent.com/images/wSyEancdu83Rz3hGWNTBV01lcV0.webp 1200w, https://framerusercontent.com/images/n1Mhq1LR9uVlyspWYysOwlJtmM.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/5ITaErK4u8QwlHOUGmz0OrZI.webp\",\"alt\":\"Warm interlocking paver courtyard leading toward a wooden gate framed by flowering plants.\",\"title\":\"A garden arrival\",\"caption\":\"Paving brings a defined approach to the garden gate.\",\"imageMeta\":{\"title\":\"A garden arrival\",\"objectPosition\":\"50% 57%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/F6x2UkWNZziK5RLByMiHMa7tnzc.webp 800w, https://framerusercontent.com/images/ehfWzpav7pQ3NUZGUggikMPUo0E.webp 1200w, https://framerusercontent.com/images/5ITaErK4u8QwlHOUGmz0OrZI.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Seal Beach Pavers for Compact Coastal Lots | OCIP\",\"description\":\"Seal Beach pavers and concrete for entries, side yards, patios and driveways, with considered layouts for compact properties. Free estimates.\"}},\"/yorba-linda-pavers\":{\"route\":\"/yorba-linda-pavers\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Yorba Linda\",\"href\":null}],\"eyebrow\":\"LONG DRIVEWAYS, BIG BACKYARDS\",\"heading\":\"Yorba Linda pavers.\",\"lede\":\"Pavers for the long driveway up to the garage and the backyard where everyone ends up. Laid out to drain, edged to stay put.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/yorba-linda-pavers#quote\"},\"secondaryCta\":{\"label\":\"See the approach\",\"href\":\"/yorba-linda-pavers#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Driveways, backyards\"},{\"label\":\"Planning\",\"value\":\"Slopes, grades, drainage\"},{\"label\":\"Surfaces\",\"value\":\"Interlocking pavers and concrete\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Yorba Linda pavers for the long approach.\",\"paragraphs\":[\"A long driveway sets the tone well before the front door. For a Yorba Linda home, consider its proportions, pattern and borders across the full approach, alongside the preparation needed for parking and turning.\",\"Where the driveway climbs or the yard falls away, existing levels and drainage help shape the layout. Assess those conditions with the house and retained landscape before deciding how new paving should connect.\",\"If you host, size the patio for the crowd. We build paver patios with room for a long table, walkways that tie them back to the drive, and poured concrete where it suits the plan.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"Built for cars, guests and slopes.\",\"cards\":[{\"heading\":\"Driveways\",\"body\":\"Long runs designed as a whole, with consistent patterns and borders and a paving system suited to vehicle use.\",\"href\":\"/orange-county-pavers\"},{\"heading\":\"Patios\",\"body\":\"Room for the table, the grill and the overflow chairs, pitched so rain drains off instead of pooling.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Walkways\",\"body\":\"Paths from the drive to the front door and around back, laid to follow the grade.\",\"href\":\"/patios-and-walkways\"},{\"heading\":\"Concrete\",\"body\":\"Poured concrete with control joints placed to manage cracking, for drives, patios and side yards.\",\"href\":\"/hardscape\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Drives, patios and slopes.\",\"paragraphs\":[\"A long approach shows the paving pattern from a distance. Carry a related color or border toward the patio to connect the arrival with the place everyone gathers.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Tie the front drive to the backyard patio.\",\"paragraphs\":[\"If the backyard is where everyone gathers, consider its connection to the driveway and front entrance. A related color or border can tie the areas together while changes in pattern give the patio its own character.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"Send these with your request.\",\"bullets\":[\"A photo of the full driveway, shot from the street.\",\"Where water runs or puddles after a good rain.\",\"Which way the backyard slopes, and roughly how much.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Three steps to a clear scope.\",\"steps\":[{\"heading\":\"Describe the property\",\"body\":\"Your Yorba Linda street, which areas need paving, and photos of the drive and yard.\"},{\"heading\":\"Talk through grades and layout\",\"body\":\"Where water goes, where borders run, and which paver suits each area.\"},{\"heading\":\"Approve the full scope\",\"body\":\"Areas, removal, base work, edging and drainage, listed before any digging starts.\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us how long your driveway runs, which way the yard slopes and what you want paved.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a residential paving estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Questions we hear.\",\"presentation\":\"accordion\",\"items\":[{\"question\":\"Does OCIP install pavers at Yorba Linda homes?\",\"answer\":\"Yes. OCIP installs residential pavers and concrete for Yorba Linda driveways, patios and walkways, including new surfaces and full replacements. The preparation and paving system should suit the ground and intended use. Share the areas you want to improve and the features that should remain.\"},{\"question\":\"Will pavers hold up on a long Yorba Linda driveway?\",\"answer\":\"They can, when the product and installation are suitable for vehicle use and the site conditions. The whole run needs consideration, including ground support, transitions, turning areas and drainage. Pattern and border alignment also matter visually across a long approach, so compare them at the scale of the driveway.\"},{\"question\":\"Are Yorba Linda pavers installed differently on a slope?\",\"answer\":\"The grade can affect the layout, preparation, edge support and drainage approach. It is not only a question of changing the surface slope. The proposed system should follow the actual conditions and selected material, with particular attention to garage and street transitions on a driveway.\"},{\"question\":\"Do pavers get too hot on a sunny Yorba Linda patio?\",\"answer\":\"Any hard surface can become hot in direct sun. Color, material, finish and exposure all influence the temperature, so compare samples in the conditions where the patio will be used. Lighter tones may help, while shade and the position of seating can also make the space more comfortable.\"},{\"question\":\"Can you add a turnaround or parking pad to a Yorba Linda driveway?\",\"answer\":\"It may be possible where space, access and applicable requirements allow it. The outline should follow how vehicles turn and park, with drainage and property boundaries considered before the area is expanded. A suitable paving system and an integrated border can help the addition feel part of the approach.\"},{\"question\":\"What helps you price a Yorba Linda paver job?\",\"answer\":\"A few photos and rough numbers get things moving. Send the length and width of the driveway, a wide shot of the backyard, and a note on which way water runs when it rains. Use the estimate form, or email your project instead. Estimates are free.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Dig into each surface.\",\"links\":[{\"label\":\"Pavers across OC\",\"href\":\"/orange-county-pavers\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Poured concrete work\",\"href\":\"/hardscape\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios and paths\",\"href\":\"/patios-and-walkways\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Brea\",\"href\":\"/brea-pavers\"},{\"label\":\"Placentia\",\"href\":\"/placentia-pavers\"},{\"label\":\"Anaheim\",\"href\":\"/anaheim-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"One considered plan, from arrival to backyard.\",\"intro\":\"Tell us about the drive, the slope and the yard. Estimates are free.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/yorba-linda-pavers#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"alt\":\"Gray paver driveway in front of a white house.\",\"caption\":\"Illustrative property view.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp\",\"alt\":\"Broad paver driveway curving through lawns in front of a large white house.\",\"title\":\"A generous arrival\",\"caption\":\"A broad approach connects the drive with the complete property.\",\"imageMeta\":{\"title\":\"A generous arrival\",\"objectPosition\":\"50% 10%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/D3CYzkwViXqA5bbKNHkI6xg9VM.webp 800w, https://framerusercontent.com/images/Ao1NKSy64EQy4B3r5Sj06JhFU.webp 1200w, https://framerusercontent.com/images/bc7DNnLhB60gXXyepMKVFjf4.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 80px) * 1.00000), (max-width: 1568px) calc((100vw - 128px) * 1.00000), 1440px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp\",\"alt\":\"Light gray interlocking paver driveway beside a gray house with a wooden garage door.\",\"title\":\"A composed garage approach\",\"caption\":\"A consistent paving pattern finishes the approach to the garage.\",\"imageMeta\":{\"title\":\"A composed garage approach\",\"objectPosition\":\"50% 56%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/VTTElAvk0cx3Ifa4LybAZA9cJmw.webp 800w, https://framerusercontent.com/images/i2nNzhoIpAYszdtuEI2xUExRf8.webp 1200w, https://framerusercontent.com/images/Lncs4bCH6s4IeUaydfPO1wo3aU.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.00000), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.00000), 792px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/Xo99CbaYvqhyFFKCEtJWXvjhCos.webp\",\"alt\":\"Curving gray paver driveway with a broad border beside rock mulch and garden trees.\",\"title\":\"A curved finished edge\",\"caption\":\"A consistent border gives the curve a finished edge.\",\"imageMeta\":{\"title\":\"A curved finished edge\",\"objectPosition\":\"50% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/VcmSttrujDLaftsvymAKcXYUQ.webp 800w, https://framerusercontent.com/images/Qm7hHTc6PAsICqBDvLSlC9rpGUM.webp 1200w, https://framerusercontent.com/images/Xo99CbaYvqhyFFKCEtJWXvjhCos.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/HtBht3BeXMJwVv9FCKGDh4uuM.webp\",\"alt\":\"Backyard view of a home, raised terrace, paved seating areas, lawn and pool at dusk.\",\"title\":\"The whole backyard\",\"caption\":\"The house, pool, paving and lawn form a connected outdoor setting.\",\"imageMeta\":{\"title\":\"The whole backyard\",\"objectPosition\":\"50% 56%\",\"width\":2e3,\"height\":1299,\"srcSet\":\"https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w, https://framerusercontent.com/images/HtBht3BeXMJwVv9FCKGDh4uuM.webp 2000w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.07390), (max-width: 1199px) calc((100vw - 80px) * 1.07390), (max-width: 1568px) calc((100vw - 128px) * 1.07390), 1547px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp\",\"alt\":\"Curved paver driveway framed by planted borders in front of a stone-faced home.\",\"imageMeta\":{\"title\":\"Paver driveway and stone home\",\"objectPosition\":\"50% 55%\",\"width\":943,\"height\":661,\"srcSet\":\"https://framerusercontent.com/images/33lPyGzjIZWPRAFp8cpE96VztcY.webp 480w, https://framerusercontent.com/images/HEYblPydXokRH3JrLhfVTduis3g.webp 800w, https://framerusercontent.com/images/X6vDwKQoiVuGdj6eLhVvuNCKdE.webp 943w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.32676), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.32676), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.32676), 609px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp\",\"alt\":\"Textured driveway curving past a stucco home and planted borders.\",\"imageMeta\":{\"title\":\"Textured driveway and planted borders\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/GAoUTQncUMvU5Jyc2UNmdWCV2A.webp 480w, https://framerusercontent.com/images/EEMgihIM3cIhQBNL5DqmkEY6E.webp 800w, https://framerusercontent.com/images/pvAzNwEtguy0cQyHkn4ftrPWTA.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Yorba Linda Pavers: Long Driveways & Patios | OCIP\",\"description\":\"Yorba Linda pavers and concrete for long driveways, backyard patios and paths, with layout and drainage considered together. Free estimates.\"}},\"/404\":{\"route\":\"/404\",\"layout\":\"NOTFOUND\",\"hero\":{\"eyebrow\":\"PAGE NOT FOUND\",\"heading\":\"This page could not be found.\",\"lede\":\"The address may have changed, or the link may be incomplete. Choose a starting point below.\",\"primaryCta\":{\"label\":\"Back to home\",\"href\":\"/\"},\"secondaryCta\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Page not found\"}]},\"sections\":[{\"id\":\"find-your-page\",\"type\":\"utility_links\",\"eyebrow\":\"FIND YOUR WAY\",\"heading\":\"What are you looking for?\",\"paragraphs\":[\"Explore residential paving, look through project views or tell us about the space you want to improve.\"],\"links\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\",\"href\":\"/paving-services\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Contact\",\"href\":\"/contact-us\"},{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email tyler@ocip.biz\",\"href\":\"mailto:tyler@ocip.biz\"}]}],\"quote\":null,\"faq\":null,\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"utility_hero\",\"contentRef\":\"hero\"},{\"id\":\"find-your-page\",\"type\":\"utility_links\",\"contentRef\":\"sections.find-your-page\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Page Not Found | OCIP\",\"description\":\"Find OCIP’s residential paving services, project views or contact details.\"}},\"/pool-construction-orange-county\":{\"route\":\"/pool-construction-orange-county\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Pool remodeling\"}],\"eyebrow\":\"EXISTING-POOL REMODELING\",\"heading\":\"Existing-pool remodels across Orange County.\",\"lede\":\"Remodel the pool you have. Planned with the deck, so the water and the paving fit together.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-construction-orange-county#quote\"},\"secondaryCta\":{\"label\":\"Explore the details\",\"href\":\"/pool-construction-orange-county#details\"},\"infoRows\":[{\"label\":\"Region\",\"value\":\"Orange County, California\"},{\"label\":\"Services\",\"value\":\"Existing-pool remodels\"},{\"label\":\"Alongside\",\"value\":\"Pool decks, coping, drainage\"},{\"label\":\"Start here\",\"value\":\"Request a free estimate\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"THE POOL AND WHAT SURROUNDS IT\",\"heading\":\"The pool is only part of the job.\",\"paragraphs\":[\"Pool remodeling in Orange County starts with what is there now. The pool connects to the house, the deck and its equipment. The paving around it needs a clear drainage plan.\",\"OCIP coordinates remodeling for existing pools. The deck gets planned in the same scope, with licensed specialist subcontractors involved where needed.\",\"Start with how you use the pool, what works and what you want to change. The condition of the existing pool guides the scope before anyone picks a finish or a color.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"eyebrow\":\"REMODELS AND SURROUNDS\",\"heading\":\"Which project is yours?\",\"paragraphs\":[\"An existing pool, a worn deck or tired finishes. Start with what needs to change.\"],\"cards\":[{\"heading\":\"Pool finishes\",\"body\":\"Refresh the interior finish of the pool you have. Discuss the condition, preferred material and preparation needed before choosing the scope.\"},{\"heading\":\"Pool remodels\",\"body\":\"Keep what still works and replace what doesn't: a worn interior, tired coping, aging equipment or a cracked deck around the water.\"},{\"heading\":\"Decks and coping\",\"body\":\"The deck and coping are where people sit and walk. Size them, pick the surface and set the drainage with the pool, not after.\"},{\"heading\":\"Patios, paths, concrete\",\"body\":\"The pool rarely stands alone. Paver patios, walkways from the house and poured concrete can join the same project, so every surface meets at the right level.\"}],\"links\":[{\"label\":\"Explore interlocking pavers\",\"href\":\"/orange-county-pavers\"},{\"label\":\"Explore concrete and hardscape\",\"href\":\"/hardscape\"},{\"label\":\"Explore patios and walkways\",\"href\":\"/patios-and-walkways\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"POOLS IN CONTEXT\",\"heading\":\"Look past the water to the yard.\",\"paragraphs\":[\"When comparing pool ideas, notice where the deck meets the coping, how the pool sits beside the house and where the equipment goes. Those are details to point out when we talk.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"eyebrow\":\"ACROSS THE COUNTY\",\"heading\":\"Orange County pool remodeling.\",\"paragraphs\":[\"Every lot shapes the job. Tight side yards limit access to the work. A slope changes how the deck steps and drains. Applicable city requirements and HOA review go into the plan.\",\"Coastal, inland or foothill, every yard shapes its pool. Wide photos of yours help us read it early.\"]},{\"id\":\"planning\",\"type\":\"planning_cards\",\"eyebrow\":\"BEFORE THE ESTIMATE\",\"heading\":\"Four things worth sending.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Use\",\"body\":\"Who swims, how often, and whether you want laps, play or lounging.\"},{\"heading\":\"Current conditions\",\"body\":\"What's failing now, which finishes are worn and where water collects around the deck.\"},{\"heading\":\"Access\",\"body\":\"Gate widths, side yards, slopes and anything that blocks the path to the backyard.\"},{\"heading\":\"Scope\",\"body\":\"Rough size, the deck you picture and any photos, sketches or plans you already have.\"}]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"PLAN THE POOL\",\"heading\":\"Decisions before the remodel.\",\"paragraphs\":[\"Get the pool, the deck and the scope clear, in that order.\"],\"steps\":[{\"heading\":\"Assess the existing pool\",\"body\":\"Describe the pool you have, the parts worth keeping and the finishes or features you want to update.\",\"number\":\"01\"},{\"heading\":\"Plan the surround\",\"body\":\"Pick the deck surface, the coping and where water goes when it splashes or rains. Pavers and poured concrete are both options.\",\"number\":\"02\"},{\"heading\":\"Agree on the full scope\",\"body\":\"Review the layout, the deck, access and the city and HOA steps that apply. Bring your questions, so the estimate answers them.\",\"number\":\"03\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Before you remodel.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"pool-construction-orange-county-faq-1\",\"question\":\"What does pool remodeling in Orange County involve?\",\"answer\":\"A pool remodel starts with assessing the existing pool and deciding what stays. The scope can include interior finishes, coping, equipment and the deck around it, with appropriately licensed specialists involved where needed. Methods and materials depend on the pool's condition and the changes you want.\"},{\"id\":\"pool-construction-orange-county-faq-2\",\"question\":\"What can an existing-pool remodel change?\",\"answer\":\"A remodel can refresh a worn interior finish, update coping or equipment and coordinate a replacement deck. The condition of the existing pool determines what can remain and what needs attention. Share photos and the changes you have in mind so the scope can be assessed.\"},{\"id\":\"pool-construction-orange-county-faq-3\",\"question\":\"Should the pool deck be planned at the same time as the pool?\",\"answer\":\"Yes. The deck sets how people move around the water, where splash and rain drain, and how the coping meets the paving. Settling it with the pool layout avoids a deck that has to work around fixed levels later. For deck surfaces and coping choices, see our pool decking page.\"},{\"id\":\"pool-construction-orange-county-faq-4\",\"question\":\"What affects the cost of pool remodeling in Orange County?\",\"answer\":\"The pool's condition, access and the equipment and finishes you choose all move the cost. A remodel depends on how much of the existing pool stays. The deck area, drainage work and any city or HOA requirements also count. We don't publish prices because every yard differs; the estimate is free.\"},{\"id\":\"pool-construction-orange-county-faq-5\",\"question\":\"How does pool-remodel planning work in Orange County?\",\"answer\":\"It starts with the pool you have and what you want to change: finishes, coping, equipment and how the surrounding deck drains. Applicable city requirements and HOA review get folded in early. Photos, rough measurements and a few reference images are enough to begin.\"},{\"id\":\"pool-construction-orange-county-faq-6\",\"question\":\"Can existing patios or pavers stay during a pool remodel?\",\"answer\":\"Often, yes, depending on their condition and the proposed work. Paving that stays must meet the remodeled pool, coping and deck at suitable levels. Tell us what you want to keep and email photos of the yard as it is today.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Interlocking paver pool decks\",\"href\":\"/pool-decking-orange-county\",\"description\":\"Coping, slip resistance and drainage.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Irvine pool remodeling\",\"href\":\"/pool-construction-irvine\",\"description\":\"For Irvine homes, HOA review and lot types.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Recent projects\",\"href\":\"/recent-projects\",\"description\":\"Explore OCIP's portfolio and the details worth discussing.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},\"additionalLinks\":[{\"label\":\"Explore financing with Enhancify\",\"href\":\"https://www.enhancify.com/ocip\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us your city, the pool you have and what you would like to change.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a free project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"heading\":\"Let's talk about your pool.\",\"intro\":\"Share a few photos, your city and how you'd like to use the pool and deck.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-construction-orange-county#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},\"eyebrow\":\"START WITH YOUR YARD\"},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/vKBghZEkHz753LGrANXW8Qpec0.jpg\",\"alt\":\"A pool and raised spa beside a light-colored paved deck and home.\",\"caption\":\"Pool, spa and paved deck.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp\",\"alt\":\"Paved pool deck with lounge chairs, dark umbrellas and leafy planted borders.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Pool deck and lounge chairs\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/7XywMacHewjoPVSmK4d7yrN0IE.webp 480w, https://framerusercontent.com/images/dSECstpCfuQwdaBMgMW3Y36U8.webp 800w, https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/PXkB056Xs75zYpezEJNppMg4.webp\",\"alt\":\"Illuminated pool and raised spa with pale coping, broad steps and a fire feature at sunset.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Pool and raised spa at sunset\",\"objectPosition\":\"50% 65%\",\"width\":1200,\"height\":800,\"srcSet\":\"https://framerusercontent.com/images/ZweKHvV4m7IXmXCK9c3d5r56JU.webp 480w, https://framerusercontent.com/images/BAePwOhqhUpeD9WqGZiq2NOQ.webp 800w, https://framerusercontent.com/images/PXkB056Xs75zYpezEJNppMg4.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39500), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.39500), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.39500), 640px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp\",\"alt\":\"Whole backyard with a pool, raised spa, paved seating areas, lawn and a home at dusk.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Whole backyard with pool and patio\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":779,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.43261), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.43261), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.43261), 658px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/qVcxAGrSmj10U9i9A1OUgdxWmmE.webp\",\"alt\":\"Illuminated pool and raised spa with pale coping, poolside steps and a fire feature at sunset.\",\"caption\":\"A raised spa, broad coping and poolside steps connect the water with the surrounding deck.\",\"title\":\"Pool and spa at sunset\",\"imageMeta\":{\"title\":\"Pool and spa at sunset\",\"objectPosition\":\"50% 65%\",\"width\":1600,\"height\":1067,\"srcSet\":\"https://framerusercontent.com/images/H47tikbBVxDI4j18tRDh76SWibU.webp 800w, https://framerusercontent.com/images/qVcxAGrSmj10U9i9A1OUgdxWmmE.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04592), (max-width: 1199px) calc((100vw - 80px) * 1.04592), (max-width: 1568px) calc((100vw - 128px) * 1.04592), 1507px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/F96qFHUa6UThQzkMZ4ceJukWkc.webp\",\"alt\":\"Linear fire feature behind a glass screen beside blue pool water and illuminated planting.\",\"caption\":\"A glass-screened fire feature adds a warm focal point beside the pool.\",\"title\":\"Fire beside the water\",\"imageMeta\":{\"title\":\"Fire beside the water\",\"objectPosition\":\"50% 55%\",\"width\":1600,\"height\":1067,\"srcSet\":\"https://framerusercontent.com/images/YShCNcoQdIe4QZiaanacl8gkSWk.webp 800w, https://framerusercontent.com/images/F96qFHUa6UThQzkMZ4ceJukWkc.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39456), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.39456), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.39456), 1105px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/dxIrsfaX8wO8pJr4NX1b1Zthyo.webp\",\"alt\":\"Waterfalls flow from a textured pool wall below a row of illuminated trees, with a raised spa in front.\",\"caption\":\"Water spills from a raised pool wall beneath a softly lit planted border.\",\"title\":\"Waterfalls and planted borders\",\"imageMeta\":{\"title\":\"Waterfalls and planted borders\",\"objectPosition\":\"57% 65%\",\"width\":2400,\"height\":1600,\"srcSet\":\"https://framerusercontent.com/images/Bf2L0AeKLZD5KkK6ZVxIKgZE4.webp 800w, https://framerusercontent.com/images/Biky1sguggkE8qag0bJA7uwUYo.webp 1600w, https://framerusercontent.com/images/dxIrsfaX8wO8pJr4NX1b1Zthyo.webp 2400w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 2.32500), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 2.32500), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 2.32500), 1447px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/7wOlnR9fSAngX3Uwx2MEyg9ndo.webp\",\"alt\":\"Close view of pool wall coping, three waterfalls and warm landscape lighting above turquoise water.\",\"caption\":\"Continuous coping follows the pool wall, framing a row of waterfalls and the water below.\",\"title\":\"Pool wall and coping\",\"imageMeta\":{\"title\":\"Pool wall and coping\",\"objectPosition\":\"50% 65%\",\"width\":1600,\"height\":1066,\"srcSet\":\"https://framerusercontent.com/images/R6Lh2UPo1Gtjs6GIJKu8uLtjq8I.webp 800w, https://framerusercontent.com/images/7wOlnR9fSAngX3Uwx2MEyg9ndo.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04690), (max-width: 1199px) calc((100vw - 80px) * 1.04690), (max-width: 1568px) calc((100vw - 128px) * 1.04690), 1508px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"planning\",\"type\":\"planning_cards\",\"contentRef\":\"sections.planning\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Pool Remodeling Orange County: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Orange County, planned with coping, decks and drainage. Refresh the pool you have and request a free estimate from OCIP.\",\"h1\":\"Existing-pool remodels across Orange County.\",\"canonicalMode\":\"review\",\"review\":{\"canonical\":\"https://wavecraft-ocip.framer.website/pool-construction-orange-county\",\"robots\":\"noindex, follow\"},\"futureProduction\":{\"canonical\":\"https://theocip.com/pool-construction-orange-county/\",\"status\":\"planned_only_not_applied\"},\"openGraph\":{\"title\":\"Pool Remodeling Orange County: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Orange County, planned with coping, decks and drainage. Refresh the pool you have and request a free estimate from OCIP.\",\"url\":\"https://wavecraft-ocip.framer.website/pool-construction-orange-county\",\"imagePolicy\":\"shared-neutral-placeholder\",\"image\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"cropTargetPx\":[1200,630]},\"schemaType\":\"WebPage\",\"schemaTypes\":[\"WebPage\",\"BreadcrumbList\",\"Service\"],\"service\":{\"name\":\"Existing-pool remodeling\",\"providerName\":\"OCIP\",\"areaServed\":\"Orange County, California\",\"url\":\"https://wavecraft-ocip.framer.website/pool-construction-orange-county\"}}},\"/pool-construction-irvine\":{\"route\":\"/pool-construction-irvine\",\"layout\":\"CITY-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Service areas\",\"href\":\"/service-areas\"},{\"label\":\"Irvine\"}],\"eyebrow\":\"POOL REMODELING IN IRVINE\",\"heading\":\"Irvine pool remodels.\",\"lede\":\"Existing-pool remodels for Irvine homes, planned around your lot, the deck and any HOA review. Make room for the way you want to use the yard.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-construction-irvine#quote\"},\"secondaryCta\":{\"label\":\"Explore the details\",\"href\":\"/pool-construction-irvine#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Existing residential pools\"},{\"label\":\"Services\",\"value\":\"Pool remodels\"},{\"label\":\"Planning\",\"value\":\"Lot-specific layout, applicable HOA review\"},{\"label\":\"Inquiries\",\"value\":\"Free estimates\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"heading\":\"Irvine pool remodeling, lot by lot.\",\"paragraphs\":[\"Pool remodeling in Irvine starts with the pool and lot you have. The neighborhood sets the backdrop, your HOA may review what you change, and the available space shapes how the pool and deck connect.\",\"Lots vary across the city. Some backyards are compact and close to neighbors, some wrap a corner, some back onto a slope. Each one changes access to the existing pool, equipment and deck.\",\"OCIP coordinates remodels of existing Irvine pools showing their age, and the deck and coping around them. Licensed specialist subcontractors may be involved in the work. Tell us which changes you have in mind, and we start from the pool and lot you have.\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"heading\":\"The parts of an Irvine pool remodel.\",\"cards\":[{\"heading\":\"Finishes\",\"body\":\"Refresh the interior finish of your existing Irvine pool, with its condition and the preparation needed considered first.\"},{\"heading\":\"Remodels\",\"body\":\"Rework an older pool: refresh the finish, replace worn coping or equipment, keep what still holds up.\"},{\"heading\":\"Decks\",\"body\":\"The deck and coping ring the water. Plan them with the pool so levels and drainage line up.\"},{\"heading\":\"Hardscape\",\"body\":\"Concrete and paver paths that tie the pool back to the house and the side gate.\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"heading\":\"Water, deck and yard together.\",\"paragraphs\":[\"Explore pool shapes, raised spas and places to relax beside the water. Notice how the deck meets the house and how steps, planting and water features shape the space. Share the details you like when we plan your Irvine yard.\"],\"visualSlotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"eyebrow\":\"POOL DESIGN INSPIRATION\"},{\"id\":\"connections\",\"type\":\"narrative\",\"heading\":\"Plan around your existing Irvine pool.\",\"paragraphs\":[\"A compact yard may leave less room for an expanded deck. A wider lot may offer more space around the existing pool. Slopes, access and the view from the house count too.\"]},{\"id\":\"considerations\",\"type\":\"practical_list\",\"heading\":\"What to check before you call.\",\"bullets\":[\"Your HOA's guidelines for pools and decks, if your village has any.\",\"Lot dimensions, or a plot plan if you have one handy.\",\"Photos of side yards, gates and the existing pool.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"heading\":\"Your Irvine pool, step by step.\",\"steps\":[{\"heading\":\"Describe your yard\",\"body\":\"Your village, the pool you have and what you want to change.\",\"number\":\"01\"},{\"heading\":\"Plan for any HOA review\",\"body\":\"Set the layout, deck and equipment position with any applicable HOA guidelines in mind.\",\"number\":\"02\"},{\"heading\":\"Review the full scope\",\"body\":\"Existing conditions, finish, coping, deck and access, all set out before work starts.\",\"number\":\"03\"}]}],\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Share your Irvine location, the existing pool and what you want to remodel. You can email photos of the yard to tyler@ocip.biz.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a free project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"faq\":{\"id\":\"faq\",\"heading\":\"Before you remodel.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"pool-construction-irvine-faq-1\",\"question\":\"Do you offer existing-pool remodeling in Irvine?\",\"answer\":\"Yes. OCIP coordinates remodels for existing Irvine pools and plans the deck and coping with them. Two things shape an Irvine job before anything else: the condition of the pool you have, and any HOA review that applies to your home. We start there, then work through finishes and the surrounding deck.\"},{\"id\":\"pool-construction-irvine-faq-2\",\"question\":\"Does my Irvine HOA need to review a pool remodel?\",\"answer\":\"It depends on your HOA, so check its rules first. HOAs are common in Irvine, and if your home is in one, plan for its review of the pool, deck and equipment spot. Share the guidelines with us early, so the layout starts from them.\"},{\"id\":\"pool-construction-irvine-faq-3\",\"question\":\"Can I update the deck around a pool in a compact Irvine yard?\",\"answer\":\"The existing pool, deck, equipment and any applicable requirements all need to be considered, and Irvine lots range from compact yards to wider corner and sloped lots. Send rough dimensions and photos, and we'll talk through changes that fit around the pool you have.\"},{\"id\":\"pool-construction-irvine-faq-4\",\"question\":\"What can an Irvine pool remodel change?\",\"answer\":\"A remodel can update most of what you see and use: the interior finish, coping, equipment and the deck around the water, while the existing structure stays if it's sound. For an Irvine remodel, bring photos of the pool as it is now and a note on what bothers you most.\"},{\"id\":\"pool-construction-irvine-faq-5\",\"question\":\"Where should pool equipment go on an Irvine lot?\",\"answer\":\"The position needs to allow service access and fit the pool layout, neighboring spaces and any applicable requirements. A side yard or back corner may be an option. On compact Irvine lots, settle the equipment position early and include any HOA guidelines in that discussion.\"},{\"id\":\"pool-construction-irvine-faq-6\",\"question\":\"What do Irvine pool contractors need to see before an estimate?\",\"answer\":\"Share your Irvine location, rough yard dimensions and any HOA guidelines you have. Describe the existing pool and the changes you want. Use the form for project details and email wide photos of the backyard and side access to tyler@ocip.biz. Estimates are free; you can also call 714-627-5543.\"}],\"schema\":false,\"schemaOutput\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep planning the yard.\",\"links\":[{\"label\":\"Orange County pool remodels\",\"href\":\"/pool-construction-orange-county\",\"description\":\"Existing-pool remodels across Orange County.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Pool decking options\",\"href\":\"/pool-decking-orange-county\",\"description\":\"Plan pavers, concrete and coping around the water.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Patios & walkways\",\"href\":\"/patios-and-walkways\",\"description\":\"Connect the pool to the places you use every day.\",\"imageSlotId\":\"related-3-image\"}],\"additionalLinks\":[{\"label\":\"Explore financing with Enhancify\",\"href\":\"https://www.enhancify.com/ocip\"}],\"nearbyHeading\":\"Nearby service areas\",\"nearbyLinks\":[{\"label\":\"Costa Mesa\",\"href\":\"/costa-mesa-pavers\"},{\"label\":\"Santa Ana\",\"href\":\"/santa-ana-pavers\"},{\"label\":\"Lake Forest\",\"href\":\"/lake-forest-pavers\"}],\"contactLinks\":[{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},{\"label\":\"View all service areas\",\"href\":\"/service-areas\"}]},\"finalCta\":{\"heading\":\"Plan your Irvine pool remodel around what you have.\",\"intro\":\"Tell us where in Irvine you live, what the backyard holds today and what you want there.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-construction-irvine#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"}},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/7PAth4ZsrfDXpC1EbUYnxsZeJcw.webp\",\"alt\":\"Aerial view of a curved swimming pool, rock waterfall, paved deck and surrounding planting.\",\"caption\":\"Curved pool, rock waterfall and surrounding deck.\"},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/ft4G6BJC75LtpQZdZfZTb8RG2yU.webp\",\"alt\":\"An illuminated pool beside a home, with a raised spa, in-water loungers, waterfalls and a paved deck.\",\"caption\":\"The pool connects a raised spa, lounging ledge and waterfalls with the deck beside the house.\",\"title\":\"Pool, spa and waterfalls\",\"imageMeta\":{\"title\":\"Pool, spa and waterfalls\",\"objectPosition\":\"50% 100%\",\"width\":1600,\"height\":1066,\"srcSet\":\"https://framerusercontent.com/images/tt1TLrp4dNuZbZKUT9mZWZNIRE.webp 480w, https://framerusercontent.com/images/eHloRXU2cp4eaxW7yQU2EzfI.webp 800w, https://framerusercontent.com/images/rQZ66fpaDQO1KCARuKBIhjak.webp 1200w, https://framerusercontent.com/images/ft4G6BJC75LtpQZdZfZTb8RG2yU.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04690), (max-width: 1199px) calc((100vw - 80px) * 1.04690), (max-width: 1568px) calc((100vw - 128px) * 1.04690), 1508px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/5SUsN32mpiRqJhhvFyv9XSC4.webp\",\"alt\":\"A raised square spa beside pale in-water loungers and curved pool steps, with a fire feature and illuminated planting behind.\",\"caption\":\"A raised spa sits beside the lounging ledge and curved entry steps, with fire and planting along the far edge.\",\"title\":\"A spa beside the lounging ledge\",\"imageMeta\":{\"title\":\"A spa beside the lounging ledge\",\"objectPosition\":\"50% 85%\",\"width\":1600,\"height\":1066,\"srcSet\":\"https://framerusercontent.com/images/5f4tFW6gW962h7pV0aS894b8hRo.webp 480w, https://framerusercontent.com/images/a4CblIPF48zW1Whe169b7k0lX3Q.webp 800w, https://framerusercontent.com/images/B4wH2cp9tJVsxOlLsugP8fg6Ws.webp 1200w, https://framerusercontent.com/images/5SUsN32mpiRqJhhvFyv9XSC4.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39587), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.39587), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.39587), 1106px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp\",\"alt\":\"A white home overlooks a paved pool deck with lounge seating and two in-water loungers on a shallow ledge.\",\"caption\":\"Paving connects the house, deck seating and shallow pool ledge in one outdoor space.\",\"title\":\"From the house to the water\",\"imageMeta\":{\"title\":\"From the house to the water\",\"objectPosition\":\"60% 60%\",\"width\":1280,\"height\":1280,\"srcSet\":\"https://framerusercontent.com/images/PyMhUMt2i3VqcUhDHPmKadNHTg.webp 480w, https://framerusercontent.com/images/4B6MnH7sHuAuSEhxy4B58C0vA.webp 800w, https://framerusercontent.com/images/JTIpiCY30sksJQOUBkBHKVDRzdI.webp 1200w, https://framerusercontent.com/images/sIMiS4b03UtQvIG2LVjP57uB8.webp 1280w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.55000), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 1.55000), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 1.55000), 965px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/XBOET5LAX2qkCl12kqtSd9ljR1g.webp\",\"alt\":\"A curving pool and raised spa are surrounded by a pale deck, planted borders, palm trees and a rock feature.\",\"caption\":\"Curved coping and a pale deck follow the pool and spa, with planting and a rock feature at the far end.\",\"title\":\"A pool shaped around the yard\",\"imageMeta\":{\"title\":\"A pool shaped around the yard\",\"objectPosition\":\"50% 80%\",\"width\":1600,\"height\":1067,\"srcSet\":\"https://framerusercontent.com/images/0iSZUeBSnqW71JvDnNW6AJC6o.webp 480w, https://framerusercontent.com/images/6VFDWxgfL9GiCsd0FJ5CKZUoY.webp 800w, https://framerusercontent.com/images/ETKHgIScV0S58liATBHk5qmUCPc.webp 1200w, https://framerusercontent.com/images/XBOET5LAX2qkCl12kqtSd9ljR1g.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04592), (max-width: 1199px) calc((100vw - 80px) * 1.04592), (max-width: 1568px) calc((100vw - 128px) * 1.04592), 1507px\"}},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/ETKHgIScV0S58liATBHk5qmUCPc.webp\",\"alt\":\"Curved swimming pool with a connected spa, broad pale decking and a rock waterfall.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Pool, spa and rock waterfall\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":800,\"srcSet\":\"https://framerusercontent.com/images/0iSZUeBSnqW71JvDnNW6AJC6o.webp 480w, https://framerusercontent.com/images/6VFDWxgfL9GiCsd0FJ5CKZUoY.webp 800w, https://framerusercontent.com/images/ETKHgIScV0S58liATBHk5qmUCPc.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39500), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.39500), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.39500), 640px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp\",\"alt\":\"Paved pool deck with lounge chairs, dark umbrellas and leafy planted borders.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Pool deck and lounge chairs\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/7XywMacHewjoPVSmK4d7yrN0IE.webp 480w, https://framerusercontent.com/images/dSECstpCfuQwdaBMgMW3Y36U8.webp 800w, https://framerusercontent.com/images/7CNvFKhHiXRzL4mDjJiMqcmgIc.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp\",\"alt\":\"Curved gray paver walkway winds around planted beds toward a stone-and-wood front porch.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Curved front paver walkway\",\"objectPosition\":\"50% 55%\",\"width\":1024,\"height\":1024,\"srcSet\":\"https://framerusercontent.com/images/HJu7Yg3Ei2uUa8kLTTPMNBLs80.webp 480w, https://framerusercontent.com/images/FFD9D1i2t7kQkxkNfWtxLHfyc.webp 800w, https://framerusercontent.com/images/KNtKNS07Zr4DT2sZUvAZVHwIkAw.webp 1024w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"imageSlotId\":\"hero-image\",\"contentRef\":\"hero\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"services\",\"type\":\"service_cards\",\"contentRef\":\"sections.services\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"considerations\",\"type\":\"practical_list\",\"contentRef\":\"sections.considerations\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Pool Remodeling Irvine, CA: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Irvine, planned around your pool, deck and any HOA review. Refresh finishes and coping, and request a free estimate.\",\"h1\":\"Irvine pool remodels.\",\"canonicalMode\":\"review\",\"review\":{\"canonical\":\"https://wavecraft-ocip.framer.website/pool-construction-irvine\",\"robots\":\"noindex, follow\"},\"futureProduction\":{\"canonical\":\"https://theocip.com/pool-construction-irvine/\",\"status\":\"planned_only_not_applied\"},\"openGraph\":{\"title\":\"Pool Remodeling Irvine, CA: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Irvine, planned around your pool, deck and any HOA review. Refresh finishes and coping, and request a free estimate.\",\"url\":\"https://wavecraft-ocip.framer.website/pool-construction-irvine\",\"imagePolicy\":\"shared-neutral-placeholder\",\"image\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"cropTargetPx\":[1200,630]},\"schemaType\":\"WebPage\",\"schemaTypes\":[\"WebPage\",\"BreadcrumbList\",\"Service\"],\"service\":{\"name\":\"Irvine existing-pool remodeling\",\"providerName\":\"OCIP\",\"areaServed\":\"Irvine, California\",\"url\":\"https://wavecraft-ocip.framer.website/pool-construction-irvine\"}}},\"/pool-decking-orange-county\":{\"route\":\"/pool-decking-orange-county\",\"layout\":\"SERVICE-A\",\"hero\":{\"breadcrumb\":[{\"label\":\"Home\",\"href\":\"/\"},{\"label\":\"Services\",\"href\":\"/paving-services\"},{\"label\":\"Pool decking services\"}],\"eyebrow\":\"POOL DECKS, COPING\",\"heading\":\"Firm footing all around the pool.\",\"lede\":\"Pool decking for Orange County homes. Pavers or concrete, a level coping line and a slope that sheds water.\",\"primaryCta\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-decking-orange-county#quote\"},\"secondaryCta\":{\"label\":\"See what's involved\",\"href\":\"/pool-decking-orange-county#details\"},\"infoRows\":[{\"label\":\"Scope\",\"value\":\"Decks and coping\"},{\"label\":\"Materials\",\"value\":\"Pavers and concrete\"},{\"label\":\"Build priorities\",\"value\":\"Slip resistance and drainage\"},{\"label\":\"Region\",\"value\":\"Orange County, California\"}]},\"sections\":[{\"id\":\"details\",\"type\":\"narrative\",\"eyebrow\":\"START AT THE COPING\",\"heading\":\"Pool decks, from the edge out.\",\"paragraphs\":[\"In an Orange County backyard, pool decking needs a surface suited to wet, bare feet, a clear route for runoff and a clean connection to the coping.\",\"OCIP handles pool deck installation in interlocking pavers and poured concrete around existing pools. We plan the deck around the pool you have.\",\"Replacing a cracked or worn deck? We remove the old surface, rebuild the base where needed and lay the new deck on firm ground.\"]},{\"id\":\"uses\",\"type\":\"planning_cards\",\"eyebrow\":\"WHAT A POOL DECK HAS TO DO\",\"heading\":\"Four things to get right.\",\"paragraphs\":[],\"cards\":[{\"heading\":\"Grip\",\"body\":\"Wet feet need a surface with some tooth. Pick a textured paver or a concrete finish with grip first, and the color second.\"},{\"heading\":\"Drainage\",\"body\":\"Every deck needs somewhere for water to go. Plan the drains, planting beds or yard edge that will take the runoff.\"},{\"heading\":\"Coping\",\"body\":\"Coping finishes the pool's edge. Match it to the deck or let it contrast, and keep the line level.\"},{\"heading\":\"Room to lounge\",\"body\":\"Leave room for loungers, a shade umbrella and a clear walking lane around the pool, so no one squeezes past the edge.\"}]},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"eyebrow\":\"AROUND THE WATER\",\"heading\":\"See how the deck meets the water.\",\"paragraphs\":[\"When comparing deck ideas, notice the coping line, how the pattern turns at corners and where the deck meets a patio, lawn or planting. Bring examples of the details you like.\"],\"slotIds\":[\"gallery-1\",\"gallery-2\",\"gallery-3\",\"gallery-4\"],\"presentation\":[\"full_width_16_9\",\"pair_left_4_3\",\"pair_right_3_4\",\"full_width_16_9\"]},{\"id\":\"materials\",\"type\":\"narrative\",\"eyebrow\":\"TWO GOOD SURFACES\",\"heading\":\"Pavers or concrete by the pool.\",\"paragraphs\":[\"Pool patio pavers offer a broad choice of color, size and pattern. A properly prepared, compacted base and edge restraint keep the paving supported.\",\"Poured concrete reads as one continuous surface. Control joints give movement a planned place to go, and a textured finish adds grip.\"]},{\"id\":\"connections\",\"type\":\"narrative\",\"eyebrow\":\"BEYOND THE DECK\",\"heading\":\"Orange County pool decking, coping to gate.\",\"paragraphs\":[\"A new deck changes how people move through the yard. Think about the walk from the back door, the path to the pool gate, the equipment pad and the lawn or planting beds along the outer edge.\",\"If only the deck is changing, we still plan the transitions at each door and path so levels line up.\"]},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"eyebrow\":\"PLAN THE DECK\",\"heading\":\"Measure, choose, compare.\",\"paragraphs\":[\"Start with the existing pool, then plan the deck.\"],\"steps\":[{\"heading\":\"Measure the deck\",\"body\":\"Send rough dimensions, the doors and gates the deck touches and the spots where water sits after rain or a rinse.\",\"number\":\"01\"},{\"heading\":\"Choose the surface\",\"body\":\"Pick pavers or concrete, the texture underfoot and the coping style. Tell us if it should tie in with a patio, walkway or driveway nearby.\",\"number\":\"02\"},{\"heading\":\"Compare the full scope\",\"body\":\"Check that each estimate covers removal of any old deck, base preparation, drainage, coping and the new surface, so you can compare quotes line for line.\",\"number\":\"03\"}]}],\"faq\":{\"id\":\"faq\",\"heading\":\"Pool deck questions.\",\"presentation\":\"accordion\",\"items\":[{\"id\":\"pool-decking-orange-county-faq-1\",\"question\":\"Who installs pool decking in Orange County?\",\"answer\":\"Orange County Interlocking Paver Co. (OCIP) installs pool decking in interlocking pavers and poured concrete around existing pools. We plan the surface, coping and drainage together, including how the deck connects to the rest of the yard.\"},{\"id\":\"pool-decking-orange-county-faq-2\",\"question\":\"Are pool patio pavers better than a concrete pool deck?\",\"answer\":\"It depends on the look you want and the paving already around the pool. Pavers make sense when the deck should match a paver patio, walkway or driveway, or when you want a pattern or border. Concrete suits a clean, continuous surface. OCIP installs both, so you can weigh them side by side.\"},{\"id\":\"pool-decking-orange-county-faq-3\",\"question\":\"Can you replace a cracked or worn pool deck?\",\"answer\":\"Yes. Pool deck replacement starts with removing the old surface and assessing what sits under it. Cracking can involve the base, drainage or movement. The new scope should address the cause, then set the paving, coping and drainage levels together.\"},{\"id\":\"pool-decking-orange-county-faq-4\",\"question\":\"Is pool coping installation part of a new pool deck?\",\"answer\":\"Often, yes. Coping caps the pool wall and the deck meets it, so installing new coping with the deck lets the levels, joint and look line up. If your coping is sound and you like it, the new deck can be built to meet it instead.\"},{\"id\":\"pool-decking-orange-county-faq-5\",\"question\":\"What is the most slip-resistant pool deck surface?\",\"answer\":\"Look for a product or finish intended for wet pool surrounds, with documented slip-resistance information. Texture, maintenance and drainage all matter. Compare suitable samples and the manufacturer's guidance before choosing the surface; appearance alone does not establish grip.\"},{\"id\":\"pool-decking-orange-county-faq-6\",\"question\":\"Which way should a pool deck slope?\",\"answer\":\"The deck should direct runoff to the drainage route designed for the site, keeping water from collecting at the house or carrying dirty runoff into the pool. The exact slope and outlet depend on the layout. Set those levels before the paving or concrete goes down.\"}],\"component\":\"OCIPFAQ.tsx\",\"schemaOutput\":false,\"settings\":{\"style\":\"minimal\",\"prefix\":\"numbered\",\"toggleIcon\":\"plus-minus\",\"initiallyOpen\":[],\"oneOpenAtATime\":true,\"answersInInitialHTML\":true},\"schema\":false},\"related\":{\"id\":\"related\",\"heading\":\"Keep exploring.\",\"links\":[{\"label\":\"Existing-pool remodeling\",\"href\":\"/pool-construction-orange-county\",\"description\":\"Remodel the pool you have.\",\"imageSlotId\":\"related-1-image\"},{\"label\":\"Choosing your pavers\",\"href\":\"/pavers\",\"description\":\"Color, pattern, size, texture.\",\"imageSlotId\":\"related-2-image\"},{\"label\":\"Recent projects\",\"href\":\"/recent-projects\",\"description\":\"Explore OCIP's portfolio and connected outdoor spaces.\",\"imageSlotId\":\"related-3-image\"}],\"contactLink\":{\"label\":\"Contact OCIP\",\"href\":\"/contact-us\"},\"additionalLinks\":[{\"label\":\"Explore financing with Enhancify\",\"href\":\"https://www.enhancify.com/ocip\"}]},\"quote\":{\"id\":\"quote\",\"contract\":\"ocip-estimate-v1\",\"heading\":\"Request a free estimate.\",\"intro\":\"Tell us your city and whether the deck is new or a replacement. Email pool photos to tyler@ocip.biz.\",\"iframe\":{\"src\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"title\":\"Request a free project estimate from OCIP\",\"component\":\"OCIPGHLForm.tsx\",\"initialHeightPx\":850},\"fallback\":{\"label\":\"Open the estimate form\",\"href\":\"https://api.leadconnectorhq.com/widget/form/FSsxtOHBR6L8QoYapDJB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},\"contactLinks\":[{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},{\"label\":\"Email your project\",\"href\":\"mailto:tyler@ocip.biz\"}]},\"finalCta\":{\"heading\":\"Let’s look at your pool.\",\"intro\":\"Tell us your city, the pool you have and what the deck should do.\",\"primary\":{\"label\":\"Request a free estimate\",\"href\":\"/pool-decking-orange-county#quote\"},\"secondary\":{\"label\":\"Call 714-627-5543\",\"href\":\"tel:+17146275543\"},\"eyebrow\":\"START WITH THE POOL\"},\"visualSlots\":[{\"id\":\"hero-image\",\"src\":\"https://framerusercontent.com/images/vKBghZEkHz753LGrANXW8Qpec0.jpg\",\"alt\":\"A pool and raised spa beside a light-colored paved deck and home.\",\"caption\":\"Pool, spa and paved deck.\"},{\"id\":\"related-1-image\",\"src\":\"https://framerusercontent.com/images/ETKHgIScV0S58liATBHk5qmUCPc.webp\",\"alt\":\"Curved swimming pool with a connected spa, broad pale decking and a rock waterfall.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Pool, spa and rock waterfall\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":800,\"srcSet\":\"https://framerusercontent.com/images/0iSZUeBSnqW71JvDnNW6AJC6o.webp 480w, https://framerusercontent.com/images/6VFDWxgfL9GiCsd0FJ5CKZUoY.webp 800w, https://framerusercontent.com/images/ETKHgIScV0S58liATBHk5qmUCPc.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39500), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.39500), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.39500), 640px\"}},{\"id\":\"related-2-image\",\"src\":\"https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp\",\"alt\":\"Light rectangular paving with a contrasting dark border beside a stone-faced outdoor counter.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Paver pattern and border detail\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":1200,\"srcSet\":\"https://framerusercontent.com/images/xuvdzGDzKPk98TCRgFlgDjJlcS8.webp 480w, https://framerusercontent.com/images/Pv59416lejYQBcLC98LAXG0uuw.webp 800w, https://framerusercontent.com/images/r3M4bwiZXFdTtNkHcPh7xOmVk.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.00000), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.00000), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.00000), 459px\"}},{\"id\":\"related-3-image\",\"src\":\"https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp\",\"alt\":\"Whole backyard with a pool, raised spa, paved seating areas, lawn and a home at dusk.\",\"caption\":\"Illustrative property view.\",\"imageMeta\":{\"title\":\"Whole backyard with pool and patio\",\"objectPosition\":\"50% 55%\",\"width\":1200,\"height\":779,\"srcSet\":\"https://framerusercontent.com/images/t19qqhQlTOCuiIClYfZ660dw8.webp 480w, https://framerusercontent.com/images/nYryVEpL9AefsfG0DL8Aljwqa4o.webp 800w, https://framerusercontent.com/images/j7CXy46AYNIyejrDR8v8FhtcLg.webp 1200w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.43261), (max-width: 1199px) calc((100vw - 112px) / 2 * 1.43261), (max-width: 1568px) calc((100vw - 192px) / 3 * 1.43261), 658px\"}},{\"id\":\"gallery-1\",\"src\":\"https://framerusercontent.com/images/qVcxAGrSmj10U9i9A1OUgdxWmmE.webp\",\"alt\":\"Illuminated pool and raised spa with pale coping, poolside steps and a fire feature at sunset.\",\"caption\":\"A raised spa, broad coping and poolside steps connect the water with the surrounding deck.\",\"title\":\"Pool and spa at sunset\",\"imageMeta\":{\"title\":\"Pool and spa at sunset\",\"objectPosition\":\"50% 65%\",\"width\":1600,\"height\":1067,\"srcSet\":\"https://framerusercontent.com/images/H47tikbBVxDI4j18tRDh76SWibU.webp 800w, https://framerusercontent.com/images/qVcxAGrSmj10U9i9A1OUgdxWmmE.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04592), (max-width: 1199px) calc((100vw - 80px) * 1.04592), (max-width: 1568px) calc((100vw - 128px) * 1.04592), 1507px\"}},{\"id\":\"gallery-2\",\"src\":\"https://framerusercontent.com/images/F96qFHUa6UThQzkMZ4ceJukWkc.webp\",\"alt\":\"Linear fire feature behind a glass screen beside blue pool water and illuminated planting.\",\"caption\":\"A glass-screened fire feature adds a warm focal point beside the pool.\",\"title\":\"Fire beside the water\",\"imageMeta\":{\"title\":\"Fire beside the water\",\"objectPosition\":\"50% 55%\",\"width\":1600,\"height\":1067,\"srcSet\":\"https://framerusercontent.com/images/YShCNcoQdIe4QZiaanacl8gkSWk.webp 800w, https://framerusercontent.com/images/F96qFHUa6UThQzkMZ4ceJukWkc.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.39456), (max-width: 1199px) calc(((100vw - 106px) * 0.56) * 1.39456), (max-width: 1568px) calc(((100vw - 154px) * 0.56) * 1.39456), 1105px\"}},{\"id\":\"gallery-3\",\"src\":\"https://framerusercontent.com/images/dxIrsfaX8wO8pJr4NX1b1Zthyo.webp\",\"alt\":\"Waterfalls flow from a textured pool wall below a row of illuminated trees, with a raised spa in front.\",\"caption\":\"Water spills from a raised pool wall beneath a softly lit planted border.\",\"title\":\"Waterfalls and planted borders\",\"imageMeta\":{\"title\":\"Waterfalls and planted borders\",\"objectPosition\":\"57% 65%\",\"width\":2400,\"height\":1600,\"srcSet\":\"https://framerusercontent.com/images/Bf2L0AeKLZD5KkK6ZVxIKgZE4.webp 800w, https://framerusercontent.com/images/Biky1sguggkE8qag0bJA7uwUYo.webp 1600w, https://framerusercontent.com/images/dxIrsfaX8wO8pJr4NX1b1Zthyo.webp 2400w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 2.32500), (max-width: 1199px) calc(((100vw - 106px) * 0.44) * 2.32500), (max-width: 1568px) calc(((100vw - 154px) * 0.44) * 2.32500), 1447px\"}},{\"id\":\"gallery-4\",\"src\":\"https://framerusercontent.com/images/7wOlnR9fSAngX3Uwx2MEyg9ndo.webp\",\"alt\":\"Close view of pool wall coping, three waterfalls and warm landscape lighting above turquoise water.\",\"caption\":\"Continuous coping follows the pool wall, framing a row of waterfalls and the water below.\",\"title\":\"Pool wall and coping\",\"imageMeta\":{\"title\":\"Pool wall and coping\",\"objectPosition\":\"50% 65%\",\"width\":1600,\"height\":1066,\"srcSet\":\"https://framerusercontent.com/images/R6Lh2UPo1Gtjs6GIJKu8uLtjq8I.webp 800w, https://framerusercontent.com/images/7wOlnR9fSAngX3Uwx2MEyg9ndo.webp 1600w\",\"sizes\":\"(max-width: 809px) calc((100vw - 40px) * 1.04690), (max-width: 1199px) calc((100vw - 80px) * 1.04690), (max-width: 1568px) calc((100vw - 128px) * 1.04690), 1508px\"}}],\"moduleOrder\":[{\"id\":\"header\",\"type\":\"shared_navigation\"},{\"id\":\"hero\",\"type\":\"image_hero\",\"contentRef\":\"hero\",\"imageSlotId\":\"hero-image\"},{\"id\":\"introduction-estimate\",\"type\":\"narrative_estimate_split\",\"leftContentRefs\":[\"sections.details\"]},{\"id\":\"uses\",\"type\":\"planning_cards\",\"contentRef\":\"sections.uses\"},{\"id\":\"gallery\",\"type\":\"visual_gallery\",\"contentRef\":\"sections.gallery\"},{\"id\":\"materials\",\"type\":\"narrative\",\"contentRef\":\"sections.materials\"},{\"id\":\"connections\",\"type\":\"narrative\",\"contentRef\":\"sections.connections\"},{\"id\":\"project-planning\",\"type\":\"project_planning_steps\",\"contentRef\":\"sections.project-planning\"},{\"id\":\"faq\",\"type\":\"accordion\",\"contentRef\":\"faq\"},{\"id\":\"related\",\"type\":\"related_cards\",\"contentRef\":\"related\"},{\"id\":\"final-cta\",\"type\":\"final_cta\",\"contentRef\":\"finalCta\"},{\"id\":\"footer\",\"type\":\"shared_footer\"}],\"seo\":{\"title\":\"Pool Decking Orange County: Pavers and Coping | OCIP\",\"description\":\"Pool decking in Orange County: paver and concrete decks, coping and full deck replacement, planned for drainage. Request a free estimate.\",\"h1\":\"Firm footing all around the pool.\",\"canonicalMode\":\"review\",\"review\":{\"canonical\":\"https://wavecraft-ocip.framer.website/pool-decking-orange-county\",\"robots\":\"noindex, follow\"},\"futureProduction\":{\"canonical\":\"https://theocip.com/pool-decking-orange-county/\",\"status\":\"planned_only_not_applied\"},\"openGraph\":{\"title\":\"Pool Decking Orange County: Pavers and Coping | OCIP\",\"description\":\"Pool decking in Orange County: paver and concrete decks, coping and full deck replacement, planned for drainage. Request a free estimate.\",\"url\":\"https://wavecraft-ocip.framer.website/pool-decking-orange-county\",\"imagePolicy\":\"shared-neutral-placeholder\",\"image\":\"https://framerusercontent.com/images/WIsv0CUxzQ0dji3JfSB6QYjmpus.webp\",\"cropTargetPx\":[1200,630]},\"schemaType\":\"WebPage\",\"schemaTypes\":[\"WebPage\",\"BreadcrumbList\",\"Service\"],\"service\":{\"name\":\"Pool decking and coping\",\"providerName\":\"OCIP\",\"areaServed\":\"Orange County, California\",\"url\":\"https://wavecraft-ocip.framer.website/pool-decking-orange-county\"}}}};const CSS=`\n/* Named portrait slots remain neutral until the owner supplies a real photo. */\n.ocip-card .ocip-portrait{margin-bottom:24px!important}\n.ocip-portrait .ocip-media,.ocip-portrait-placeholder{aspect-ratio:3/4}\n.ocip-portrait .ocip-media-image{object-position:50% 35%}\n.ocip-portrait-placeholder{width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:#E6DFD4;border-radius:4px;color:#6C6458}\n.ocip-portrait-placeholder span{font:12px/1.6 \"JetBrains Mono\",monospace;letter-spacing:.08em;text-align:center}\n.ocip-content-blocks{margin-top:36px}.ocip-content-block+.ocip-content-block{margin-top:32px}.ocip-page-section .ocip-content-block h3{margin-bottom:16px;font-size:30px;line-height:1.15}.ocip-content-block ul{margin:18px 0;padding-left:22px}.ocip-content-block li+li{margin-top:10px}\n\n.ocip-page-section{width:100%;min-width:0;background:var(--token-98e0e140-7e0b-4afc-a771-70cd41303f63,#F5F1EA);color:var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8,#17130F);font-family:Inter,sans-serif;font-size:17px;line-height:1.6;--ocip-red:var(--token-7bc7ea83-634c-48f4-bb05-d203acaed8e8,#C41E2A)}\n.ocip-page-section *{box-sizing:border-box;min-width:0}.ocip-page-section :is(h1,h2,h3,p,figure,dl,dd){margin:0}.ocip-page-section h1,.ocip-page-section h2,.ocip-page-section h3{font-family:\"Instrument Serif\",serif;font-weight:400;letter-spacing:-.035em;overflow-wrap:normal;text-wrap:pretty}\n.ocip-page-section h1{font-size:clamp(84px,8.7vw,132px);line-height:.98;max-width:12ch}.ocip-page-section h2{font-size:clamp(64px,5.6vw,88px);line-height:1.02;max-width:18ch}.ocip-page-section h3{font-size:32px;line-height:1.15}\n.ocip-page-section p{max-width:68ch}.ocip-page-section p+p{margin-top:22px}.ocip-page-section a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .2s}.ocip-page-section a:hover,.ocip-page-section a:active{color:var(--ocip-red)}.ocip-page-section a:focus-visible,.ocip-page-section button:focus-visible{outline:2px solid var(--ocip-red);outline-offset:5px}.ocip-page-section :is(section,aside,[id]){scroll-margin-top:112px}\n.ocip-wrap{max-width:1568px;margin:auto;padding:112px 64px;width:100%}.ocip-kicker{font:12px/1.4 \"JetBrains Mono\",monospace;letter-spacing:.14em;text-transform:uppercase;display:flex;gap:12px;align-items:center;margin-bottom:24px!important}.ocip-kicker:before{content:\"\";width:24px;height:1px;background:currentColor;opacity:.35;flex:none}.ocip-section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;margin-bottom:56px}.ocip-section-head .ocip-body{padding-top:10px}.ocip-narrative{display:grid;grid-template-columns:1fr 1fr;gap:80px}.ocip-body{max-width:68ch}.ocip-body ul{margin:24px 0;padding-left:22px}.ocip-body li+li{margin-top:14px}.ocip-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:30px}.ocip-links a{padding:8px 0}\n.ocip-hero{position:relative;overflow:hidden;color:#F5F1EA;background:#17130F;isolation:isolate}.ocip-hero-media{position:absolute!important;inset:0;aspect-ratio:auto!important;border-radius:0!important;z-index:-2}.ocip-hero-image{object-position:50% 50%}.ocip-hero:after{content:\"\";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,9,8,.76),rgba(11,9,8,.34)),linear-gradient(0deg,rgba(11,9,8,.8),transparent 65%)}.ocip-hero .ocip-wrap{min-height:92vh;min-height:92svh;padding-top:150px;padding-bottom:80px;display:flex;flex-direction:column;align-items:flex-start;gap:28px}.ocip-hero .ocip-kicker{margin-bottom:0!important}.ocip-hero p{max-width:55ch;font-size:20px}.ocip-breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;margin-bottom:20px}.ocip-breadcrumb a{text-decoration:none}.ocip-breadcrumb span[aria-hidden]{opacity:.5}.ocip-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:12px}.ocip-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:100px;min-height:52px;padding:16px 26px;background:var(--ocip-red);color:#F5F1EA!important;font:12px/1.4 \"JetBrains Mono\",monospace;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.ocip-button.secondary{background:transparent;color:inherit!important;border:1px solid currentColor}.ocip-button svg{stroke:currentColor;flex:none}.ocip-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;width:100%;border-top:1px solid #ffffff50;padding-top:28px;margin-top:30px!important}.ocip-info dt{font:11px/1.4 \"JetBrains Mono\",monospace;text-transform:uppercase;letter-spacing:.12em;opacity:.75;margin-bottom:10px}.ocip-info dd{font-size:15px}.ocip-hero .ocip-caption{font-size:12px;opacity:.75}\n/* A lighter overlay lets the About film remain visible behind its text. */\n.ocip-hero-video:after{background:linear-gradient(90deg,rgba(11,9,8,.60),rgba(11,9,8,.12)),linear-gradient(0deg,rgba(11,9,8,.72),transparent 65%)}\n.ocip-estimate-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:64px;align-items:start}.ocip-estimate-copy h2{margin-bottom:36px}.ocip-estimate-copy section+section{margin-top:56px}.ocip-estimate{padding:32px;background:#FCF9F4;color:var(--token-7bb339c8-8d74-4149-be47-fec88d3537a8,#17130F)}.ocip-estimate h2{font-size:38px;line-height:1.1;margin-bottom:22px;max-width:none}.ocip-estimate p{margin-bottom:24px}.ocip-estimate iframe{max-width:100%}\n.ocip-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.ocip-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ocip-card-grid.people{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;row-gap:50px}.ocip-card{border-top:1px solid var(--token-e401e883-d234-4214-a34b-da04e471210e,rgba(23,19,15,.13));padding-top:24px}.ocip-card h3{margin-bottom:18px}.ocip-card a{text-decoration:none}.ocip-card p{font-size:16px}.ocip-card .ocip-number{font:12px/1.4 \"JetBrains Mono\",monospace;color:var(--ocip-red);display:block;margin-bottom:24px}\n.ocip-page-section .ocip-image-caption{display:grid;gap:8px;opacity:1}.ocip-image-caption p{opacity:.75}\n/* A frame owns the crop. Intrinsic image dimensions must never size the frame. */\n.ocip-media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#DED5C8;isolation:isolate}\n.ocip-media-image{position:absolute;left:0;top:-12%;width:100%;height:124%;max-width:none;max-height:none;display:block;object-fit:cover;object-position:50% 50%;will-change:transform}\n.ocip-media-figure{width:100%;margin:0}.ocip-gallery{display:grid;grid-template-columns:56fr 44fr;gap:26px;align-items:center}.ocip-gallery figure:nth-child(4n+1),.ocip-gallery figure:nth-child(4n){grid-column:1/-1}.ocip-gallery figure:nth-child(4n+1) .ocip-media,.ocip-gallery figure:nth-child(4n) .ocip-media{aspect-ratio:16/9}.ocip-gallery figure:nth-child(4n+3) .ocip-media{aspect-ratio:4/5}.ocip-gallery.work{grid-template-columns:1fr 1fr}.ocip-gallery.work figure{grid-column:auto}.ocip-gallery.work .ocip-media{aspect-ratio:4/3}.ocip-caption{font-size:13px;line-height:1.5;margin-top:12px!important;color:inherit;opacity:.75}.ocip-related .ocip-media{aspect-ratio:4/3;margin-bottom:24px}.ocip-decorative .ocip-media{aspect-ratio:16/9}\n.ocip-related .ocip-card{border:0;padding:0}.ocip-related h3{font-size:30px}.ocip-related a{text-decoration:none}.ocip-related-list{border-top:1px solid var(--token-e401e883-d234-4214-a34b-da04e471210e,rgba(23,19,15,.13));margin-top:48px;padding-top:24px}.ocip-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.ocip-directory a{padding:18px 0;border-bottom:1px solid var(--token-e401e883-d234-4214-a34b-da04e471210e,rgba(23,19,15,.13));display:flex;justify-content:space-between;text-decoration:none}.ocip-faq{max-width:920px}.ocip-faq h2{margin-bottom:44px}.ocip-final{background:var(--token-07710a54-5870-4263-8a9f-b216e419fe4e,#17130F);color:#F5F1EA}.ocip-final h2{max-width:16ch}.ocip-final p{margin-top:28px}.ocip-final .ocip-buttons{margin-top:36px}.ocip-utility{padding-top:140px}\n@media(max-width:1199px){.ocip-wrap{padding:80px 40px}.ocip-page-section h1{font-size:clamp(72px,8.5vw,96px)}.ocip-page-section h2{font-size:60px}.ocip-hero .ocip-wrap{padding-bottom:48px}.ocip-info{grid-template-columns:1fr 1fr}.ocip-card-grid{grid-template-columns:1fr 1fr}.ocip-card-grid.three{grid-template-columns:1fr 1fr}.ocip-section-head,.ocip-narrative{gap:40px}.ocip-estimate-split{grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:32px}.ocip-estimate{padding:24px}}\n@media(max-width:809px){.ocip-wrap{padding:64px 20px}.ocip-page-section{font-size:17px}.ocip-page-section h1{font-size:clamp(52px,9vw,64px);max-width:14ch}.ocip-page-section h2{font-size:46px;line-height:1.08}.ocip-page-section h3{font-size:28px}.ocip-hero .ocip-wrap{min-height:92vh;min-height:92svh;padding-top:132px;padding-bottom:32px;gap:24px}.ocip-hero p{font-size:18px}.ocip-hero .ocip-info{gap:24px 16px}.ocip-info dd{font-size:14px}.ocip-hero .ocip-caption{font-size:12px}.ocip-section-head,.ocip-narrative,.ocip-estimate-split{grid-template-columns:1fr;gap:32px}.ocip-section-head{margin-bottom:40px}.ocip-estimate{padding:24px 16px}.ocip-estimate h2{font-size:36px}.ocip-card-grid,.ocip-card-grid.three,.ocip-card-grid.people{grid-template-columns:1fr;gap:32px}.ocip-gallery,.ocip-gallery.work{grid-template-columns:1fr;gap:16px}.ocip-gallery figure{grid-column:auto!important}.ocip-directory{grid-template-columns:1fr 1fr;gap:0 20px}.ocip-buttons{gap:16px}.ocip-button{padding:16px 20px;letter-spacing:.06em;max-width:100%;font-size:11px}.ocip-page-section :is(section,aside,[id]){scroll-margin-top:88px}.ocip-kicker{font-size:11px}.ocip-faq h2{margin-bottom:32px}}\n@media(max-width:360px){.ocip-wrap{padding-left:20px;padding-right:20px}.ocip-page-section h1{font-size:46px}.ocip-page-section h2{font-size:40px}.ocip-info,.ocip-directory{grid-template-columns:1fr}.ocip-estimate{padding:20px 12px}.ocip-button{letter-spacing:.02em;gap:12px}}\n/* Reuse the existing appearance runtime and palette. Light styling stays intact. */\nhtml[data-ocip-theme=\"dark\"] .ocip-estimate{background:var(--token-f2585006-8254-4b1e-8b57-54750d90f13c,#EDE7DD)}\nhtml[data-ocip-theme=\"dark\"] .ocip-portrait-placeholder{background:var(--token-30f45053-c45a-45b0-a026-8a5341cfa092,#E2D9CB);color:var(--token-a0f6a535-7535-4c1d-95f3-2f83c8dde669,#6C6358)}\nhtml[data-ocip-theme=\"dark\"] .ocip-media{background:var(--token-30f45053-c45a-45b0-a026-8a5341cfa092,#E2D9CB)}\n/* Solid red buttons keep cream labels at readable contrast in both appearances. */\n.ocip-page-section .ocip-button:not(.secondary){background:#C41E2A}\n/* Immediate press feedback keeps the target still while its destination opens. */\n.ocip-page-section a:active{transition:none}\n.ocip-page-section .ocip-button:not(.secondary):active{background:#A91823}\n.ocip-page-section .ocip-button.secondary:active{background:rgba(196,30,42,.14)}\n.ocip-page-section .ocip-card>a:active,.ocip-page-section .ocip-directory>a:active{background:rgba(196,30,42,.08)}\n/* The same motion language can support different editorial compositions. */\n.ocip-page-section[data-ocip-layout=\"ABOUT-B\"] .ocip-card-grid.people{row-gap:64px}\n.ocip-page-section[data-ocip-layout=\"ABOUT-B\"] .ocip-decorative .ocip-media{aspect-ratio:2/1}\n.ocip-page-section[data-ocip-layout=\"GUIDE-B\"] .ocip-narrative{grid-template-columns:5fr 7fr}\n@media(max-width:809px){.ocip-page-section[data-ocip-layout=\"GUIDE-B\"] .ocip-narrative{grid-template-columns:1fr}.ocip-page-section[data-ocip-layout=\"ABOUT-B\"] .ocip-decorative .ocip-media{aspect-ratio:4/3}}\n@media(prefers-reduced-motion:reduce){.ocip-page-section [data-ocip-reveal]{transform:none!important;opacity:1!important}.ocip-media-image{transform:none!important;will-change:auto}.ocip-page-section a{transition:none}}\n.ocip-page-section[data-ocip-page=\"/orange-county-asphalt-paving\"] .ocip-hero-media .ocip-media-image{object-position:20% 50%}\n/* Keep all eight people visible at every breakpoint without changing image motion. */\n.ocip-page-section[data-ocip-page=\"/meet-our-team\"][data-ocip-module=\"company-divider\"] .ocip-media{aspect-ratio:2/1}\n\n`;const schemas={\"/\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/#webpage\",\"url\":\"https://theocip.com/\",\"name\":\"Orange County Interlocking Pavers & Hardscape | OCIP\",\"description\":\"Pavers, concrete, turf and walls for Orange County homes, plus pool decks and existing-pool remodels. Explore OCIP’s work and request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\"}]},\"/paving-services\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/paving-services#webpage\",\"url\":\"https://theocip.com/paving-services\",\"name\":\"Paving Contractor in Orange County: Pavers & Concrete | OCIP\",\"description\":\"OCIP paving services in Orange County: paver and concrete driveways, patios and pool decks, plus turf and walls. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/paving-services#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/paving-services#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/paving-services#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://theocip.com/paving-services\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/paving-services#service\",\"url\":\"https://theocip.com/paving-services\",\"name\":\"Paving that brings your property together.\",\"serviceType\":\"Pavers, concrete, turf and walls\",\"description\":\"Pavers, concrete, turf and walls for Orange County homes, from a generous driveway to the paths and patios beyond. Pool decks and existing-pool remodeling are available too.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]},\"/orange-county-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/orange-county-pavers#webpage\",\"url\":\"https://theocip.com/orange-county-pavers\",\"name\":\"Orange County Pavers: Driveways, Patios, Walkways | OCIP\",\"description\":\"Orange County paver installation for driveways, patios and walkways. Plan materials, borders and the whole setting with OCIP. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/orange-county-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/orange-county-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/orange-county-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://theocip.com/paving-services\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Orange County pavers\",\"item\":\"https://theocip.com/orange-county-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/orange-county-pavers#service\",\"url\":\"https://theocip.com/orange-county-pavers\",\"name\":\"Orange County pavers, made for your home.\",\"serviceType\":\"Residential paver installation\",\"description\":\"Driveways, patios and walkways that bring the property together, from the first approach to the places you gather outside.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]},\"/hardscape\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/hardscape#webpage\",\"url\":\"https://theocip.com/hardscape\",\"name\":\"Hardscape Contractor in Orange County: Concrete | OCIP\",\"description\":\"OCIP builds concrete driveways, patios and walkways in Orange County. Plan the finish, joints, drainage and adjoining paving. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/hardscape#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/hardscape#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/hardscape#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://theocip.com/paving-services\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Concrete and hardscape\",\"item\":\"https://theocip.com/hardscape\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/hardscape#service\",\"url\":\"https://theocip.com/hardscape\",\"name\":\"Concrete that completes the setting.\",\"serviceType\":\"Concrete and hardscape installation\",\"description\":\"Driveways, patios and walkways with a considered finish, planned around your home, the surfaces you keep and the way you use the property.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]},\"/patios-and-walkways\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/patios-and-walkways#webpage\",\"url\":\"https://theocip.com/patios-and-walkways\",\"name\":\"Patio Pavers Orange County: Patios and Walkways | OCIP\",\"description\":\"Patio pavers in Orange County, sized for your furniture and sloped away from the house, plus walkways that tie the yard together. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/patios-and-walkways#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/patios-and-walkways#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/patios-and-walkways#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://theocip.com/paving-services\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Patios and walkways\",\"item\":\"https://theocip.com/patios-and-walkways\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/patios-and-walkways#service\",\"url\":\"https://theocip.com/patios-and-walkways\",\"name\":\"A place to gather. A path to get there.\",\"serviceType\":\"Patio and walkway installation\",\"description\":\"Patios and walkways that invite you outside, with paving chosen to complement your Orange County home and the way you live.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]},\"/pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/pavers#webpage\",\"url\":\"https://theocip.com/pavers\",\"name\":\"Paver Materials, Colors & Patterns | OCIP\",\"description\":\"Choose concrete, porcelain, natural stone or clay brick pavers with OCIP. Compare color, pattern, size and suitability for your driveway or patio.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/pavers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Paver choices\",\"item\":\"https://theocip.com/pavers\"}]}]},\"/what-are-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/what-are-pavers#webpage\",\"url\":\"https://theocip.com/what-are-pavers\",\"name\":\"What Are Pavers? A Plain-English Guide | OCIP\",\"description\":\"What are pavers? A plain-English guide to what they're made of, how they're installed, pavers vs concrete and whether they're worth it.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/what-are-pavers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/what-are-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Paver choices\",\"item\":\"https://theocip.com/pavers\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What are pavers?\",\"item\":\"https://theocip.com/what-are-pavers\"}]}]},\"/meet-our-team\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"AboutPage\",\"@id\":\"https://theocip.com/meet-our-team#webpage\",\"url\":\"https://theocip.com/meet-our-team\",\"name\":\"OCIP Team: Meet Owner Tyler Watkins | OCIP\",\"description\":\"Meet OCIP, founded by Orange County native Tyler Watkins. Learn about the team behind its pavers, concrete and outdoor work. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/meet-our-team#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/meet-our-team#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About OCIP\",\"item\":\"https://theocip.com/meet-our-team\"}]}]},\"/recent-projects\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https://theocip.com/recent-projects#webpage\",\"url\":\"https://theocip.com/recent-projects\",\"name\":\"Paver and Pool Projects in Orange County | OCIP\",\"description\":\"See OCIP's paver and pool projects across Orange County: driveways, patios, pool decks and backyards. Like a detail? Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/recent-projects#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/recent-projects#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Work\",\"item\":\"https://theocip.com/recent-projects\"}]}]},\"/contact-us\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"ContactPage\",\"@id\":\"https://theocip.com/contact-us#webpage\",\"url\":\"https://theocip.com/contact-us\",\"name\":\"Free Paving Estimate in Orange County | OCIP\",\"description\":\"Request a free OCIP estimate for hardscape, pool decks or pool remodels in Orange County and Long Beach. Call 714-627-5543 or explore Enhancify financing.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/contact-us#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/contact-us#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contact\",\"item\":\"https://theocip.com/contact-us\"}]}]},\"/warranty\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/warranty#webpage\",\"url\":\"https://theocip.com/warranty\",\"name\":\"OCIP Warranty: Written Coverage and Terms | OCIP\",\"description\":\"How the OCIP warranty works: written installation coverage, separate material terms, the published conditions and who to call with a question.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/warranty#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/warranty#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Warranty information\",\"item\":\"https://theocip.com/warranty\"}]}]},\"/service-areas\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https://theocip.com/service-areas#webpage\",\"url\":\"https://theocip.com/service-areas\",\"name\":\"Paving Service Areas in Orange County & Long Beach | OCIP\",\"description\":\"OCIP's paving service areas cover Orange County and Long Beach in LA County. Find a paver contractor near you, open your city and get a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/service-areas#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/service-areas#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"}]}]},\"/anaheim-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/anaheim-pavers#webpage\",\"url\":\"https://theocip.com/anaheim-pavers\",\"name\":\"Anaheim Pavers: Flat Lots to Anaheim Hills | OCIP\",\"description\":\"Anaheim pavers and concrete for driveways, patios and walkways, with layouts considered for level and hillside properties. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/anaheim-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/anaheim-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/anaheim-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Anaheim\",\"item\":\"https://theocip.com/anaheim-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/anaheim-pavers#service\",\"url\":\"https://theocip.com/anaheim-pavers\",\"name\":\"Anaheim pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Paver driveways, patios and walks for Anaheim homes, from level yards to Anaheim Hills slopes, with the approach and outdoor spaces planned together.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Anaheim, California\"}}]},\"/brea-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/brea-pavers#webpage\",\"url\":\"https://theocip.com/brea-pavers\",\"name\":\"Brea Pavers: Foothill and Central Homes | OCIP\",\"description\":\"Brea pavers and concrete for driveways, patios and walks, from the older center of town to the foothills. You pick the look; we build the base.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/brea-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/brea-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/brea-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Brea\",\"item\":\"https://theocip.com/brea-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/brea-pavers#service\",\"url\":\"https://theocip.com/brea-pavers\",\"name\":\"Brea pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Brea rises from older central streets to newer neighborhoods along the foothills. We build paver driveways, patios and walkways for both.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Brea, California\"}}]},\"/costa-mesa-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/costa-mesa-pavers#webpage\",\"url\":\"https://theocip.com/costa-mesa-pavers\",\"name\":\"Costa Mesa Pavers & Concrete Paver Installation | OCIP\",\"description\":\"Swap tired concrete for Costa Mesa pavers: cracked slabs torn out, then driveways, patios and walks rebuilt on a compacted base. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/costa-mesa-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/costa-mesa-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/costa-mesa-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Costa Mesa\",\"item\":\"https://theocip.com/costa-mesa-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/costa-mesa-pavers#service\",\"url\":\"https://theocip.com/costa-mesa-pavers\",\"name\":\"Costa Mesa pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Replace a worn driveway or patio with a surface that complements the house, makes better use of the space and connects cleanly to what stays.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Costa Mesa, California\"}}]},\"/cypress-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/cypress-pavers#webpage\",\"url\":\"https://theocip.com/cypress-pavers\",\"name\":\"Cypress Pavers: Driveways, Entry Walks, Patios | OCIP\",\"description\":\"Cypress pavers and concrete for driveways, entry walks and patios, with the layout, finish and drainage considered together. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/cypress-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/cypress-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/cypress-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cypress\",\"item\":\"https://theocip.com/cypress-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/cypress-pavers#service\",\"url\":\"https://theocip.com/cypress-pavers\",\"name\":\"Cypress pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Pavers and concrete for a welcoming driveway, a clear walk to the door and the patio beyond. Plan the finish and the practical details together.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Cypress, California\"}}]},\"/fountain-valley-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/fountain-valley-pavers#webpage\",\"url\":\"https://theocip.com/fountain-valley-pavers\",\"name\":\"Fountain Valley Pavers: Patios, Side Yards, Drives | OCIP\",\"description\":\"Fountain Valley pavers and concrete for patios, side yards and driveways, with connected layouts and considered drainage. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/fountain-valley-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/fountain-valley-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/fountain-valley-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fountain Valley\",\"item\":\"https://theocip.com/fountain-valley-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/fountain-valley-pavers#service\",\"url\":\"https://theocip.com/fountain-valley-pavers\",\"name\":\"Fountain Valley pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Make more of the patio, side yard and driveway at your Fountain Valley home, with the layout and drainage considered before the surface is chosen.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Fountain Valley, California\"}}]},\"/fullerton-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/fullerton-pavers#webpage\",\"url\":\"https://theocip.com/fullerton-pavers\",\"name\":\"Fullerton Pavers: Replace and Rethink Old Concrete | OCIP\",\"description\":\"Fullerton pavers and concrete that replace original paving and fix the layout too: wider walks, better drainage, room for a patio. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/fullerton-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/fullerton-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/fullerton-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fullerton\",\"item\":\"https://theocip.com/fullerton-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/fullerton-pavers#service\",\"url\":\"https://theocip.com/fullerton-pavers\",\"name\":\"Fullerton pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Replacing the concrete your Fullerton home was built with? Use the chance to fix the layout too: a wider walk, a better-drained drive, a patio that fits.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Fullerton, California\"}}]},\"/garden-grove-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/garden-grove-pavers#webpage\",\"url\":\"https://theocip.com/garden-grove-pavers\",\"name\":\"Garden Grove Pavers: Driveways, Patios, Pool Decks | OCIP\",\"description\":\"Garden Grove pavers for driveways, patio paver installation and pool surrounds, built for daily use on flat lots. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/garden-grove-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/garden-grove-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/garden-grove-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Garden Grove\",\"item\":\"https://theocip.com/garden-grove-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/garden-grove-pavers#service\",\"url\":\"https://theocip.com/garden-grove-pavers\",\"name\":\"Garden Grove pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"A considered driveway, a patio with room to gather and paving that connects the yard. Plan each area around the way you use your home.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Garden Grove, California\"}}]},\"/huntington-beach-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/huntington-beach-pavers#webpage\",\"url\":\"https://theocip.com/huntington-beach-pavers\",\"name\":\"Huntington Beach Pavers: Patios, Pool Surrounds | OCIP\",\"description\":\"Huntington Beach pavers for patios, pool surrounds, driveways and walks, with the finish and drainage planned for your property. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/huntington-beach-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/huntington-beach-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/huntington-beach-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Huntington Beach\",\"item\":\"https://theocip.com/huntington-beach-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/huntington-beach-pavers#service\",\"url\":\"https://theocip.com/huntington-beach-pavers\",\"name\":\"Huntington Beach pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Patios, pool surrounds, driveways and walks for Huntington Beach homes, with the finish and layout chosen for the property and the way you live outside.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Huntington Beach, California\"}}]},\"/irvine-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/irvine-pavers#webpage\",\"url\":\"https://theocip.com/irvine-pavers\",\"name\":\"Irvine Pavers: Backyard Patios & Driveways | OCIP\",\"description\":\"Irvine pavers and concrete for backyard patios, side paths and driveways, with materials and connections planned together. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/irvine-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/irvine-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/irvine-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Irvine\",\"item\":\"https://theocip.com/irvine-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/irvine-pavers#service\",\"url\":\"https://theocip.com/irvine-pavers\",\"name\":\"Irvine pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Backyard pavers made for Irvine evenings outside: a patio that fits the table, paths that reach the gate, plus driveways built for daily parking.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Irvine, California\"}}]},\"/laguna-niguel-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/laguna-niguel-pavers#webpage\",\"url\":\"https://theocip.com/laguna-niguel-pavers\",\"name\":\"Laguna Niguel Pavers for Hillside & View Lots | OCIP\",\"description\":\"Laguna Niguel pavers for terraces, patios and hillside driveways, with existing levels, access and drainage considered together. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/laguna-niguel-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/laguna-niguel-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/laguna-niguel-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Laguna Niguel\",\"item\":\"https://theocip.com/laguna-niguel-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/laguna-niguel-pavers#service\",\"url\":\"https://theocip.com/laguna-niguel-pavers\",\"name\":\"Laguna Niguel pavers, every level.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Hillside lots, terraced yards and patios that face a view. We pave each level on its own terms and keep the view the point.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Laguna Niguel, California\"}}]},\"/lake-forest-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/lake-forest-pavers#webpage\",\"url\":\"https://theocip.com/lake-forest-pavers\",\"name\":\"Lake Forest Pavers: Driveways, Patios & Entries | OCIP\",\"description\":\"Lake Forest pavers and concrete for driveways, patios and entries, including Foothill Ranch and Portola Hills. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/lake-forest-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/lake-forest-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/lake-forest-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Lake Forest\",\"item\":\"https://theocip.com/lake-forest-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/lake-forest-pavers#service\",\"url\":\"https://theocip.com/lake-forest-pavers\",\"name\":\"Lake Forest pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Driveways, patios and entries for Lake Forest homes, with the existing grade, materials and connections considered as part of one plan.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Lake Forest, California\"}}]},\"/long-beach-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/long-beach-pavers#webpage\",\"url\":\"https://theocip.com/long-beach-pavers\",\"name\":\"Long Beach Pavers for Older Homes and Driveways | OCIP\",\"description\":\"Long Beach pavers and concrete for driveways, patios and walks, with replacement materials chosen to complement your home. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/long-beach-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/long-beach-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/long-beach-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Long Beach\",\"item\":\"https://theocip.com/long-beach-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/long-beach-pavers#service\",\"url\":\"https://theocip.com/long-beach-pavers\",\"name\":\"Long Beach pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Refresh the driveway, patio or walks at your Long Beach home, with materials and proportions that respect the house and improve how the space works.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Long Beach, California\"}}]},\"/mission-viejo-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/mission-viejo-pavers#webpage\",\"url\":\"https://theocip.com/mission-viejo-pavers\",\"name\":\"Mission Viejo Pavers for Sloped Backyards | OCIP\",\"description\":\"Mission Viejo pavers and concrete for patios, paths and driveways, with layouts considered for changing grades and existing surfaces. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/mission-viejo-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/mission-viejo-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/mission-viejo-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mission Viejo\",\"item\":\"https://theocip.com/mission-viejo-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/mission-viejo-pavers#service\",\"url\":\"https://theocip.com/mission-viejo-pavers\",\"name\":\"Mission Viejo pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Patios, paths and driveways for Mission Viejo homes, planned around the ground you have and the way you want to spend time outside.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Mission Viejo, California\"}}]},\"/newport-beach-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/newport-beach-pavers#webpage\",\"url\":\"https://theocip.com/newport-beach-pavers\",\"name\":\"Newport Beach Pavers: Replacement Driveways & Patios | OCIP\",\"description\":\"Newport Beach pavers and concrete for replacement driveways, patios and walks, with materials and details considered for your home. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/newport-beach-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/newport-beach-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/newport-beach-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Newport Beach\",\"item\":\"https://theocip.com/newport-beach-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/newport-beach-pavers#service\",\"url\":\"https://theocip.com/newport-beach-pavers\",\"name\":\"Newport Beach pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"A replacement driveway, patio or walk should feel considered from every angle. Plan the material, edges and connections around the Newport Beach home you have.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Newport Beach, California\"}}]},\"/placentia-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/placentia-pavers#webpage\",\"url\":\"https://theocip.com/placentia-pavers\",\"name\":\"Placentia Pavers, Stone & Porcelain Patios | OCIP\",\"description\":\"Placentia patios in pavers, natural stone, porcelain or concrete, with walks and driveways planned to complement the home. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/placentia-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/placentia-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/placentia-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Placentia\",\"item\":\"https://theocip.com/placentia-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/placentia-pavers#service\",\"url\":\"https://theocip.com/placentia-pavers\",\"name\":\"Placentia pavers, patio first.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Patios with the character of natural stone, the precision of porcelain or the versatility of pavers, with walks and driveways considered as part of the setting.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Placentia, California\"}}]},\"/san-clemente-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/san-clemente-pavers#webpage\",\"url\":\"https://theocip.com/san-clemente-pavers\",\"name\":\"San Clemente Pavers for Patios and Hillside Lots | OCIP\",\"description\":\"San Clemente pavers for patios, courtyards and driveways, with materials that complement your home and layouts suited to the site. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/san-clemente-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/san-clemente-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/san-clemente-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"San Clemente\",\"item\":\"https://theocip.com/san-clemente-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/san-clemente-pavers#service\",\"url\":\"https://theocip.com/san-clemente-pavers\",\"name\":\"San Clemente pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Patios, entry courtyards and driveways for San Clemente homes, with materials chosen to complement the architecture and layouts considered for the existing grade.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"San Clemente, California\"}}]},\"/san-juan-capistrano-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/san-juan-capistrano-pavers#webpage\",\"url\":\"https://theocip.com/san-juan-capistrano-pavers\",\"name\":\"San Juan Capistrano Pavers, Brick & Stone | OCIP\",\"description\":\"San Juan Capistrano paving in brick, stone, porcelain, concrete and pavers for driveways, patios and garden walks. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/san-juan-capistrano-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/san-juan-capistrano-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/san-juan-capistrano-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"San Juan Capistrano\",\"item\":\"https://theocip.com/san-juan-capistrano-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/san-juan-capistrano-pavers#service\",\"url\":\"https://theocip.com/san-juan-capistrano-pavers\",\"name\":\"San Juan Capistrano pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Brick, stone and pavers for driveways, patios and garden walks, with a palette that respects the character of your San Juan Capistrano home.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"San Juan Capistrano, California\"}}]},\"/santa-ana-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/santa-ana-pavers#webpage\",\"url\":\"https://theocip.com/santa-ana-pavers\",\"name\":\"Santa Ana Pavers: Driveway Replacement & Patios | OCIP\",\"description\":\"Santa Ana pavers for older homes: worn concrete driveways and walks torn out and rebuilt on a new base, in styles that suit the house. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/santa-ana-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/santa-ana-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/santa-ana-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Santa Ana\",\"item\":\"https://theocip.com/santa-ana-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/santa-ana-pavers#service\",\"url\":\"https://theocip.com/santa-ana-pavers\",\"name\":\"Santa Ana pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Refresh the driveway and front walk with pavers or concrete that complement your Santa Ana home, from the overall layout to the finished edges.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Santa Ana, California\"}}]},\"/seal-beach-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/seal-beach-pavers#webpage\",\"url\":\"https://theocip.com/seal-beach-pavers\",\"name\":\"Seal Beach Pavers for Compact Coastal Lots | OCIP\",\"description\":\"Seal Beach pavers and concrete for entries, side yards, patios and driveways, with considered layouts for compact properties. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/seal-beach-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/seal-beach-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/seal-beach-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Seal Beach\",\"item\":\"https://theocip.com/seal-beach-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/seal-beach-pavers#service\",\"url\":\"https://theocip.com/seal-beach-pavers\",\"name\":\"Seal Beach pavers & concrete.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Thoughtfully planned entries, side yards, patios and driveways for Seal Beach homes, with the material and layout considered together.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Seal Beach, California\"}}]},\"/yorba-linda-pavers\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/yorba-linda-pavers#webpage\",\"url\":\"https://theocip.com/yorba-linda-pavers\",\"name\":\"Yorba Linda Pavers: Long Driveways & Patios | OCIP\",\"description\":\"Yorba Linda pavers and concrete for long driveways, backyard patios and paths, with layout and drainage considered together. Free estimates.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/yorba-linda-pavers#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/yorba-linda-pavers#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/yorba-linda-pavers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Yorba Linda\",\"item\":\"https://theocip.com/yorba-linda-pavers\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/yorba-linda-pavers#service\",\"url\":\"https://theocip.com/yorba-linda-pavers\",\"name\":\"Yorba Linda pavers.\",\"serviceType\":\"Residential pavers and concrete\",\"description\":\"Pavers for the long driveway up to the garage and the backyard where everyone ends up. Laid out to drain, edged to stay put.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Yorba Linda, California\"}}]},\"/pool-construction-orange-county\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/pool-construction-orange-county#webpage\",\"url\":\"https://theocip.com/pool-construction-orange-county\",\"name\":\"Pool Remodeling Orange County: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Orange County, planned with coping, decks and drainage. Refresh the pool you have and request a free estimate from OCIP.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/pool-construction-orange-county#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/pool-construction-orange-county#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/pool-construction-orange-county#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pool remodeling\",\"item\":\"https://theocip.com/pool-construction-orange-county\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/pool-construction-orange-county#service\",\"url\":\"https://theocip.com/pool-construction-orange-county\",\"name\":\"Existing-pool remodels across Orange County.\",\"serviceType\":\"Existing-pool remodeling\",\"description\":\"Remodel the pool you have. Planned with the deck, so the water and the paving fit together.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]},\"/pool-construction-irvine\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/pool-construction-irvine#webpage\",\"url\":\"https://theocip.com/pool-construction-irvine\",\"name\":\"Pool Remodeling Irvine, CA: Existing-Pool Remodels | OCIP\",\"description\":\"Existing-pool remodeling in Irvine, planned around your pool, deck and any HOA review. Refresh finishes and coping, and request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/pool-construction-irvine#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/pool-construction-irvine#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/pool-construction-irvine#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service areas\",\"item\":\"https://theocip.com/service-areas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Irvine\",\"item\":\"https://theocip.com/pool-construction-irvine\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/pool-construction-irvine#service\",\"url\":\"https://theocip.com/pool-construction-irvine\",\"name\":\"Irvine pool remodels.\",\"serviceType\":\"Existing-pool remodeling\",\"description\":\"Existing-pool remodels for Irvine homes, planned around your lot, the deck and any HOA review. Make room for the way you want to use the yard.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":{\"@type\":\"City\",\"name\":\"Irvine, California\"}}]},\"/pool-decking-orange-county\":{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://theocip.com/pool-decking-orange-county#webpage\",\"url\":\"https://theocip.com/pool-decking-orange-county\",\"name\":\"Pool Decking Orange County: Pavers and Coping | OCIP\",\"description\":\"Pool decking in Orange County: paver and concrete decks, coping and full deck replacement, planned for drainage. Request a free estimate.\",\"isPartOf\":{\"@id\":\"https://theocip.com/#website\"},\"about\":{\"@id\":\"https://theocip.com/#organization\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://theocip.com/pool-decking-orange-county#breadcrumb\"},\"mainEntity\":{\"@id\":\"https://theocip.com/pool-decking-orange-county#service\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://theocip.com/pool-decking-orange-county#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://theocip.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://theocip.com/paving-services\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Pool decking services\",\"item\":\"https://theocip.com/pool-decking-orange-county\"}]},{\"@type\":\"Service\",\"@id\":\"https://theocip.com/pool-decking-orange-county#service\",\"url\":\"https://theocip.com/pool-decking-orange-county\",\"name\":\"Firm footing all around the pool.\",\"serviceType\":\"Pool deck and coping installation\",\"description\":\"Pool decking for Orange County homes. Pavers or concrete, a level coping line and a slope that sheds water.\",\"provider\":{\"@id\":\"https://theocip.com/#organization\"},\"areaServed\":[{\"@type\":\"AdministrativeArea\",\"name\":\"Orange County, California\"},{\"@type\":\"City\",\"name\":\"Long Beach, California\"}]}]}};// Keep SSR, the editor, reduced-motion and browsers without observers fully visible.\n// Content is never withheld while an entrance animation waits to run.\nconst MotionEnabled=/*#__PURE__*/React.createContext(false);const revealEase=[.22,1,.36,1];function Reveal({as=\"div\",children,distance=28,delay=0,duration=.9,...props}){const enabled=React.useContext(MotionEnabled);const ref=React.useRef(null);const y=useMotionValue(0);const opacity=useMotionValue(1);React.useEffect(()=>{const element=ref.current;if(!enabled||!element||typeof IntersectionObserver===\"undefined\"){y.set(0);opacity.set(1);return;}// Already passed headings stay settled when restored by browser history.\nif(element.getBoundingClientRect().bottom<=0)return;y.set(distance);opacity.set(.72);let controls=[];let started=false;const observer=new IntersectionObserver(entries=>{if(started||!entries.some(entry=>entry.isIntersecting))return;started=true;controls=[animate(y,0,{duration,delay,ease:revealEase}),animate(opacity,1,{duration:Math.min(duration,.7),delay,ease:revealEase})];observer.disconnect();},{threshold:.01,rootMargin:\"0px 0px -28px 0px\"});observer.observe(element);return()=>{observer.disconnect();controls.forEach(control=>control.stop());y.set(0);opacity.set(1);};},[enabled,distance,delay,duration,y,opacity]);const Tag=motion[as];return /*#__PURE__*/_jsx(Tag,{...props,ref:ref,initial:false,\"data-ocip-reveal\":\"\",style:{...props.style,y,opacity},children:children});}function Media({src,alt=\"\",hero=false,videoSrc=\"\",imageMeta}){const enabled=React.useContext(MotionEnabled);const ref=React.useRef(null);const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const progress=useSpring(scrollYProgress,{stiffness:90,damping:30,mass:.3});// Image is 124% of the frame and begins 12% above it. Max travel is\n// 8% of image height (9.92% of frame), leaving >2% cover at both extremes.\n// useTransform clamps even if the spring briefly overshoots its progress.\nconst y=useTransform(progress,[0,1],[\"-8%\",\"8%\"],{clamp:true});return /*#__PURE__*/_jsx(\"div\",{ref:ref,className:\"ocip-media\"+(hero?\" ocip-hero-media\":\"\"),\"data-ocip-media\":\"clipped-parallax\",children:videoSrc&&enabled?/*#__PURE__*/_jsx(motion.video,{className:\"ocip-media-image\"+(hero?\" ocip-hero-image\":\"\"),src:videoSrc,poster:src,autoPlay:true,muted:true,loop:true,playsInline:true,preload:\"metadata\",\"aria-hidden\":\"true\",tabIndex:-1,initial:false,style:{y}}):/*#__PURE__*/_jsx(motion.img,{className:\"ocip-media-image\"+(hero?\" ocip-hero-image\":\"\"),src:src,alt:alt,title:imageMeta?.title,srcSet:imageMeta?.srcSet,sizes:imageMeta?.sizes,loading:hero?\"eager\":\"lazy\",fetchPriority:hero?\"high\":\"auto\",decoding:\"async\",width:imageMeta?.width||(hero?2400:1600),height:imageMeta?.height||(hero?1600:1200),initial:false,style:{y:enabled?y:0,objectPosition:imageMeta?.objectPosition}})});}function Arrow(){return /*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 12h15m-6-6 6 6-6 6\",strokeWidth:\"1.5\"})});}function Link({item,className=\"\"}){if(!item)return null;return /*#__PURE__*/_jsx(OCIPLink,{className:className,href:item.href,target:item.target,rel:item.rel,children:item.label});}function Links({items}){return items?.length?/*#__PURE__*/_jsx(\"div\",{className:\"ocip-links\",children:items.map((x,i)=>/*#__PURE__*/_jsx(Link,{item:x},i))}):null;}function Kicker({text}){return text?/*#__PURE__*/_jsx(\"p\",{className:\"ocip-kicker\",children:text}):null;}function Paragraphs({items}){return /*#__PURE__*/_jsx(_Fragment,{children:items?.map((s,i)=>/*#__PURE__*/_jsx(\"p\",{children:s},i))});}function Button({item,secondary=false}){return item?/*#__PURE__*/_jsxs(OCIPLink,{className:\"ocip-button\"+(secondary?\" secondary\":\"\"),href:item.href,children:[item.label,/*#__PURE__*/_jsx(Arrow,{})]}):null;}function ContentBlocks({items}){return items?.length?/*#__PURE__*/_jsx(\"div\",{className:\"ocip-content-blocks\",children:items.map((block,index)=>/*#__PURE__*/_jsxs(\"section\",{className:\"ocip-content-block\",children:[block.heading&&/*#__PURE__*/_jsx(\"h3\",{children:block.heading}),/*#__PURE__*/_jsx(Paragraphs,{items:block.paragraphs}),block.bullets?.length>0&&/*#__PURE__*/_jsx(\"ul\",{children:block.bullets.map((text,i)=>/*#__PURE__*/_jsx(\"li\",{children:text},i))})]},index))}):null;}function Body({s}){return /*#__PURE__*/_jsxs(Reveal,{className:\"ocip-body\",children:[/*#__PURE__*/_jsx(Paragraphs,{items:s.paragraphs}),s.bullets?.length>0&&/*#__PURE__*/_jsx(\"ul\",{children:s.bullets.map((t,i)=>/*#__PURE__*/_jsx(\"li\",{children:t},i))}),/*#__PURE__*/_jsx(ContentBlocks,{items:s.blocks}),/*#__PURE__*/_jsx(Links,{items:s.links}),s.closingText&&/*#__PURE__*/_jsx(\"p\",{children:s.closingText}),/*#__PURE__*/_jsx(Link,{item:s.closingLink})]});}function Head({s}){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Kicker,{text:s.eyebrow}),/*#__PURE__*/_jsx(Reveal,{as:\"h2\",distance:38,children:s.heading})]});}function Slot({p,id,images}){const slot=p.visualSlots?.find(s=>s.id===id);if(!slot)return null;const src=images[id]||slot.src;const portrait=slot.kind===\"portrait\";const person=slot.attribution?.person||slot.placeholderText||\"\";return /*#__PURE__*/_jsxs(Reveal,{as:\"figure\",className:\"ocip-media-figure\"+(portrait?\" ocip-portrait\":\"\"),distance:24,children:[src?/*#__PURE__*/_jsx(Media,{src:src,alt:portrait?slot.alt||\"Portrait of \"+person:slot.alt||\"\",imageMeta:src===slot.src?slot.imageMeta:undefined}):portrait?/*#__PURE__*/_jsx(\"div\",{className:\"ocip-portrait-placeholder\",role:\"img\",\"aria-label\":\"Portrait placeholder for \"+person,children:/*#__PURE__*/_jsx(\"span\",{children:person})}):null,slot.title?/*#__PURE__*/_jsxs(\"figcaption\",{className:\"ocip-caption ocip-image-caption\",children:[/*#__PURE__*/_jsx(\"h3\",{children:slot.title}),slot.caption&&/*#__PURE__*/_jsx(\"p\",{children:slot.caption})]}):slot.caption&&/*#__PURE__*/_jsx(\"figcaption\",{className:\"ocip-caption\",children:slot.caption})]});}/** @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1200\n */export default function OCIPPageSection(props){const{route=\"/orange-county-pavers\",module=\"hero\",style}=props;const isStatic=useIsStaticRenderer();const reducedMotion=useReducedMotion();const motionEnabled=route!==\"/\"&&!isStatic&&reducedMotion===false;const p=pages[route];if(!p)return null;const m=p.moduleOrder.find(x=>x.id===module);if(!m)return null;const images={};for(let i=1;i<=8;i++)if(props[\"gallery\"+i])images[\"gallery-\"+i]=props[\"gallery\"+i];for(let i=1;i<=3;i++)if(props[\"related\"+i])images[\"related-\"+i+\"-image\"]=props[\"related\"+i];const portraits=p.visualSlots?.filter(slot=>slot.kind===\"portrait\")||[];portraits.forEach((slot,i)=>{if(props[\"portrait\"+(i+1)])images[slot.id]=props[\"portrait\"+(i+1)];});const get=r=>r.startsWith(\"sections.\")?p.sections.find(s=>s.id===r.slice(9)):p[r];const s=m.contentRef?get(m.contentRef):null;// One deterministic SSR style owner per page; isolated editor/thumbnail sections stay styled.\nconst ownsPageStyles=route===\"/\"?module===\"faq\":module===\"hero\";const isolatedCanvas=RenderTarget.current()===RenderTarget.canvas||RenderTarget.current()===RenderTarget.thumbnail;let content=null;if(m.type===\"image_hero\"||m.type===\"utility_hero\"){const h=p.hero;const image=p.visualSlots?.find(x=>x.id===\"hero-image\");content=/*#__PURE__*/_jsxs(\"section\",{className:\"ocip-hero\"+(!image?\" ocip-utility\":\"\")+(props.heroVideo?\" ocip-hero-video\":\"\"),id:\"hero\",children:[/*#__PURE__*/_jsx(\"span\",{id:\"top\"}),/*#__PURE__*/_jsx(\"span\",{id:\"header\"}),/*#__PURE__*/_jsx(_Fragment,{children:image&&/*#__PURE__*/_jsx(Media,{hero:true,src:props.heroImage||image.src,alt:image.alt||\"\",videoSrc:props.heroVideo||\"\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-wrap\",children:[/*#__PURE__*/_jsx(\"nav\",{className:\"ocip-breadcrumb\",\"aria-label\":\"Breadcrumb\",children:h.breadcrumb?.map((b,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[i>0&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"/\"}),b.href?/*#__PURE__*/_jsx(OCIPLink,{href:b.href,children:b.label}):/*#__PURE__*/_jsx(\"span\",{\"aria-current\":\"page\",children:b.label})]},i))}),/*#__PURE__*/_jsx(Kicker,{text:h.eyebrow}),/*#__PURE__*/_jsx(Reveal,{as:\"h1\",distance:42,duration:.4,children:h.heading}),h.lede&&/*#__PURE__*/_jsx(Reveal,{as:\"p\",distance:24,delay:.04,duration:.4,children:h.lede}),/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-buttons\",children:[/*#__PURE__*/_jsx(Button,{item:h.primaryCta}),/*#__PURE__*/_jsx(Button,{item:h.secondaryCta,secondary:true})]}),h.infoRows?.length>0&&/*#__PURE__*/_jsx(\"dl\",{className:\"ocip-info\",children:h.infoRows.map((r,i)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"dt\",{children:r.label}),/*#__PURE__*/_jsx(\"dd\",{children:r.value})]},i))}),image?.caption&&/*#__PURE__*/_jsx(\"p\",{className:\"ocip-caption\",children:image.caption})]})]});}else if(m.type===\"narrative_estimate_split\"){content=/*#__PURE__*/_jsxs(\"section\",{className:\"ocip-wrap ocip-estimate-split\",id:m.id,children:[/*#__PURE__*/_jsx(\"div\",{className:\"ocip-estimate-copy\",children:m.leftContentRefs.map(ref=>{const a=get(ref);return /*#__PURE__*/_jsxs(\"section\",{id:a.id,children:[/*#__PURE__*/_jsx(Head,{s:a}),/*#__PURE__*/_jsx(Body,{s:a})]},ref);})}),/*#__PURE__*/_jsxs(\"aside\",{className:\"ocip-estimate\",id:\"quote\",\"aria-label\":\"Request a free estimate\",children:[/*#__PURE__*/_jsx(\"h2\",{children:p.quote.heading}),/*#__PURE__*/_jsx(\"p\",{children:p.quote.intro}),/*#__PURE__*/_jsx(OCIPGHLForm,{frameHeight:850})]})]});}else if(m.type===\"accordion\"){content=/*#__PURE__*/_jsx(\"section\",{className:\"ocip-wrap\",id:\"faq\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-faq\",children:[/*#__PURE__*/_jsx(Kicker,{text:s.eyebrow}),/*#__PURE__*/_jsx(Reveal,{as:\"h2\",distance:38,children:s.heading}),/*#__PURE__*/_jsx(OCIPFAQ,{source:\"items\",items:s.items,displayMode:\"accordion\",accordionStyle:\"minimal\",allowMultiple:false,initialOpen:\"none\",prefix:\"numbers\",emitSchema:false})]})});}else if(m.type===\"related_cards\"){const links=s.links||s.services||[];content=/*#__PURE__*/_jsxs(\"section\",{className:\"ocip-wrap ocip-related\",id:m.id,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-section-head\",children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(Kicker,{text:s.eyebrow}),/*#__PURE__*/_jsx(Reveal,{as:\"h2\",distance:38,children:s.heading})]}),/*#__PURE__*/_jsx(Paragraphs,{items:s.paragraphs})]}),/*#__PURE__*/_jsx(\"div\",{className:\"ocip-card-grid three\",children:links.filter(x=>x.imageSlotId).map((l,i)=>/*#__PURE__*/_jsx(Reveal,{as:\"article\",className:\"ocip-card\",delay:Math.min(i,3)*.06,children:/*#__PURE__*/_jsxs(OCIPLink,{href:l.href,children:[/*#__PURE__*/_jsx(Slot,{p:p,id:l.imageSlotId,images:images}),/*#__PURE__*/_jsx(\"h3\",{children:l.label}),l.description&&/*#__PURE__*/_jsx(\"p\",{children:l.description})]})},i))}),/*#__PURE__*/_jsx(Links,{items:links.filter(x=>!x.imageSlotId)}),s.nearbyLinks?.length>0&&/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-related-list\",children:[/*#__PURE__*/_jsx(\"h3\",{children:s.nearbyHeading||\"Nearby areas\"}),/*#__PURE__*/_jsx(Links,{items:s.nearbyLinks})]}),/*#__PURE__*/_jsx(Links,{items:s.additionalLinks}),/*#__PURE__*/_jsx(Links,{items:s.contactLinks||(s.contactLink?[s.contactLink]:[])})]});}else if(m.type===\"final_cta\"){content=/*#__PURE__*/_jsx(\"section\",{className:\"ocip-final\",id:m.id,children:/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-wrap\",children:[/*#__PURE__*/_jsx(Kicker,{text:s.eyebrow}),/*#__PURE__*/_jsx(Reveal,{as:\"h2\",distance:38,children:s.heading}),/*#__PURE__*/_jsx(\"p\",{children:s.intro}),/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-buttons\",children:[/*#__PURE__*/_jsx(Button,{item:s.primary}),/*#__PURE__*/_jsx(Button,{item:s.secondary,secondary:true})]})]})});}else if(m.type===\"decorative_image\"){content=/*#__PURE__*/_jsx(\"div\",{className:\"ocip-wrap ocip-decorative\",id:m.id,children:/*#__PURE__*/_jsx(Slot,{p:p,id:m.imageSlotId,images:images})});}else if(s){const slots=s.slotIds||s.visualSlotIds;const cards=s.cards||s.steps;content=/*#__PURE__*/_jsx(\"section\",{className:\"ocip-wrap\",id:s.id,children:cards||slots||s.type===\"linked_city_directory\"||s.type===\"location_links\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-section-head\",children:[/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Head,{s:s})}),/*#__PURE__*/_jsx(\"div\",{className:\"ocip-body\",children:/*#__PURE__*/_jsx(Paragraphs,{items:s.paragraphs})})]}),cards&&/*#__PURE__*/_jsx(\"div\",{className:\"ocip-card-grid\"+(s.steps?\" three\":\"\")+(s.type===\"team_profiles\"?\" people\":\"\"),children:cards.map((c,i)=>/*#__PURE__*/_jsxs(Reveal,{as:\"article\",className:\"ocip-card\",delay:Math.min(i,3)*.06,children:[s.steps&&/*#__PURE__*/_jsx(\"span\",{className:\"ocip-number\",children:c.number||String(i+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(_Fragment,{children:c.imageSlotId&&/*#__PURE__*/_jsx(Slot,{p:p,id:c.imageSlotId,images:images})}),/*#__PURE__*/_jsx(\"h3\",{children:c.href?/*#__PURE__*/_jsx(OCIPLink,{href:c.href,children:c.heading}):c.heading}),/*#__PURE__*/_jsx(\"p\",{children:c.body}),c.links&&/*#__PURE__*/_jsx(Links,{items:c.links})]},i))}),slots&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"ocip-gallery\"+(p.layout===\"WORK-B\"?\" work\":\"\"),children:slots.map(id=>/*#__PURE__*/_jsx(Slot,{p:p,id:id,images:images},id))}),s.note&&/*#__PURE__*/_jsx(\"p\",{className:\"ocip-caption\",children:s.note})]}),s.type===\"linked_city_directory\"||s.type===\"location_links\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"ocip-directory\",children:s.links?.map((l,i)=>/*#__PURE__*/_jsxs(OCIPLink,{href:l.href,children:[l.label,/*#__PURE__*/_jsx(Arrow,{})]},i))}),s.closingText&&/*#__PURE__*/_jsx(\"p\",{style:{marginTop:32},children:s.closingText}),/*#__PURE__*/_jsx(Link,{item:s.closingLink})]}):/*#__PURE__*/_jsx(Links,{items:s.links})]}):/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-narrative\",children:[/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Head,{s:s})}),/*#__PURE__*/_jsx(Body,{s:s})]})});}return /*#__PURE__*/_jsx(MotionEnabled.Provider,{value:motionEnabled,children:/*#__PURE__*/_jsxs(\"div\",{className:\"ocip-page-section\",\"data-ocip-layout\":p.layout,\"data-ocip-page\":route,\"data-ocip-module\":module,style:{...style,width:\"100%\",minWidth:0},children:[(isolatedCanvas||ownsPageStyles)&&/*#__PURE__*/_jsx(\"style\",{\"data-ocip-page-styles\":\"\",children:CSS}),(module===\"hero\"&&route!==\"/\"||route===\"/\"&&module===\"faq\")&&schemas[route]&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(schemas[route]).replace(/</g,\"\\\\u003c\")}}),content]})});}const imageControl={type:ControlType.Image};addPropertyControls(OCIPPageSection,{route:{type:ControlType.Enum,title:\"Page\",options:Object.keys(pages)},module:{type:ControlType.String,title:\"Section\",defaultValue:\"hero\"},heroImage:{...imageControl,title:\"Hero\"},heroVideo:{type:ControlType.String,title:\"Hero Video\",defaultValue:\"\",hidden:props=>props.module!==\"hero\"},...Object.fromEntries(Array.from({length:8},(_,i)=>[\"gallery\"+(i+1),{...imageControl,title:\"Gallery \"+(i+1)}])),...Object.fromEntries(Array.from({length:3},(_,i)=>[\"related\"+(i+1),{...imageControl,title:\"Related \"+(i+1)}])),...Object.fromEntries([\"Tyler\",\"Shaun\",\"Alex\",\"Heather\",\"Frank\",\"Faith\"].map((name,i)=>[\"portrait\"+(i+1),{...imageControl,title:name+\" Photo\",hidden:props=>props.route!==\"/meet-our-team\"||props.module!==\"people\"}]))});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OCIPPageSection\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OCIPPageSection.map","// Generated by Framer (d039229)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-UGRhS .framer-styles-preset-dfuyyx:not(.rich-text-wrapper), .framer-UGRhS .framer-styles-preset-dfuyyx.rich-text-wrapper a { --framer-link-hover-text-decoration: underline; --framer-link-hover-text-decoration-offset: 2px; --framer-link-hover-text-decoration-thickness: 1px; --framer-link-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.48s; transition-property: color; transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }\"];export const className=\"framer-UGRhS\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3db8496)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;JetBrains Mono-medium\",\"FS;JetBrains Mono-bold\",\"FS;JetBrains Mono-bold italic\",\"FS;JetBrains Mono-medium italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/WAVZNL4Z7TESTS4B4IIRZFODLSPP6FXA/E36Y7HT2GFM2VKF4G73CRBOSSERR73SW/33ZCUAC3GU2QVDMGY6EP3BNWHET5IUK4.woff2\",weight:\"500\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/BTOY6STFL42WXJYET4IAFJ4R4NWQMPYV/SIRJV64UEOICTYN5EECZFJJ3ML2D6HVV/ATU2C7QZBG7GCVXROP265OYM5E55WHMK.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4UER7KOM5ELODXZSILS67WJ47ZOE75JQ/6CQXJGOZP6EVG2LPOOVWXH2KM6JHNSRY/UTZ3OSIQCH2DNRJBPY7UY3LB6YDOZNJX.woff2\",weight:\"700\"},{cssFamilyName:\"JetBrains Mono\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"JetBrains Mono\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/RYPPSTLQMV7DLOHH7PHCXPB6RLY42HYV/QCGHF55LMKJRYMLPWIC5T6ELCTX2YYRJ/YKQ7PORZM5DHBJRQMTFVQEHVSJOEFFJ5.woff2\",weight:\"500\"}]}];export const css=['.framer-sD5AQ .framer-styles-preset-a4pbsn:not(.rich-text-wrapper), .framer-sD5AQ .framer-styles-preset-a4pbsn.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-sD5AQ .framer-styles-preset-a4pbsn:not(.rich-text-wrapper), .framer-sD5AQ .framer-styles-preset-a4pbsn.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-sD5AQ .framer-styles-preset-a4pbsn:not(.rich-text-wrapper), .framer-sD5AQ .framer-styles-preset-a4pbsn.rich-text-wrapper p { --framer-font-family: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-bold-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-family-italic: \"JetBrains Mono\", \"JetBrains Mono Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 11px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.14em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-sD5AQ\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3db8496)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-Y2oFv .framer-styles-preset-jeoy52:not(.rich-text-wrapper), .framer-Y2oFv .framer-styles-preset-jeoy52.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 23px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-Y2oFv .framer-styles-preset-jeoy52:not(.rich-text-wrapper), .framer-Y2oFv .framer-styles-preset-jeoy52.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 21px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-Y2oFv .framer-styles-preset-jeoy52:not(.rich-text-wrapper), .framer-Y2oFv .framer-styles-preset-jeoy52.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 19px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-9d73bad1-7848-4c09-89b0-f0672b31120d); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Y2oFv\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d039229)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-pF8jq .framer-styles-preset-dv41wp:not(.rich-text-wrapper), .framer-pF8jq .framer-styles-preset-dv41wp.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-441dcada-d2fa-4e03-9469-b26f2b102fd7); --framer-link-text-color: var(--token-e4f4fbb6-a350-4c43-82d3-f2371aef0552); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.24s; transition-property: color; transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1); }\"];export const className=\"framer-pF8jq\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d039229)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-hVpBu .framer-styles-preset-11bf8w9:not(.rich-text-wrapper), .framer-hVpBu .framer-styles-preset-11bf8w9.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-441dcada-d2fa-4e03-9469-b26f2b102fd7); --framer-link-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.24s; transition-property: color; transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1); }\"];export const className=\"framer-hVpBu\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3db8496)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Instrument Serif-regular\",\"GF;Instrument Serif-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Instrument Serif\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Serif\",url:\"https://fonts.gstatic.com/s/instrumentserif/v5/jizBRFtNs2ka5fXjeivQ4LroWlx-2zcZj1bIkNo.woff2\",weight:\"400\"},{cssFamilyName:\"Instrument Serif\",openType:true,source:\"google\",style:\"italic\",uiFamilyName:\"Instrument Serif\",url:\"https://fonts.gstatic.com/s/instrumentserif/v5/jizHRFtNs2ka5fXjeivQ4LroWlx-6zATjnTNgNq55w.woff2\",weight:\"400\"}]}];export const css=[\".framer-0VXXh .framer-styles-preset-wqbuer:not(.rich-text-wrapper), .framer-0VXXh .framer-styles-preset-wqbuer.rich-text-wrapper p { --framer-font-family: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-family-italic: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 100px; --framer-font-style: normal; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.035em; --framer-line-height: 1.02em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\",\"@media (max-width: 1199px) and (min-width: 810px) { .framer-0VXXh .framer-styles-preset-wqbuer:not(.rich-text-wrapper), .framer-0VXXh .framer-styles-preset-wqbuer.rich-text-wrapper p { --framer-font-family: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-family-italic: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 80px; --framer-font-style: normal; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.035em; --framer-line-height: 1.02em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\",\"@media (max-width: 809px) and (min-width: 440px) { .framer-0VXXh .framer-styles-preset-wqbuer:not(.rich-text-wrapper), .framer-0VXXh .framer-styles-preset-wqbuer.rich-text-wrapper p { --framer-font-family: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-family-italic: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 52px; --framer-font-style: normal; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.035em; --framer-line-height: 1.02em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\",\"@media (max-width: 439px) and (min-width: 0px) { .framer-0VXXh .framer-styles-preset-wqbuer:not(.rich-text-wrapper), .framer-0VXXh .framer-styles-preset-wqbuer.rich-text-wrapper p { --framer-font-family: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-family-italic: \\\"Instrument Serif\\\", \\\"Instrument Serif Placeholder\\\", serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.035em; --framer-line-height: 1.02em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e4cac4e3-95b9-4ec1-a5cc-be5d8f048462); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\"];export const className=\"framer-0VXXh\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}