{"version":3,"file":"FBZKit.C5TYF2fd.mjs","names":["_Fragment","React.Fragment","useState","useRef"],"sources":["https:/framerusercontent.com/modules/gsvWCsPExqjb8Q0Uf89c/L0Toqat0kHif70gFiTbp/FBZKit.js"],"sourcesContent":["// FBZKit: shared tokens, CSS and hooks for the Freedom Builderz premium components (Phase 1, 2026-10-16).\n// Rev 2 (2026-10-17): Mike's sitewide rules. Brand colors only (#FF5D2E, #232526, #090909, #F8F6F6, #FFFFFF),\n// 20px card rounding, readable text (charcoal on cream, 75%+ off white on dark), Heading Now display font.\n// Mirrors framer/tokens.ts (the \"premium\" block). Every FBZ premium component imports from \"./FBZKit.tsx\".\n// No component lives here, so Framer lists it as a module, not on the Insert menu.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useEffect,useRef,useState}from\"react\";import{useIsStaticRenderer}from\"framer\";export const T={// surfaces\ncream:\"#F4F0E8\",cream2:\"#FAF6EE\",peach:\"#FFE4D1\",apricot:\"#FFC9A3\",panel:\"#FFFFFF\",black:\"#090909\",black2:\"#090909\",black3:\"#232526\",// brand orange and glows\norange:\"#FF5D2E\",orangeLight:\"#FF5D2E\",orangeDeep:\"#FF5D2E\",// Small labels on cream: brand orange is 2.7:1 there (fails AA), so small text on cream is charcoal and the\n// orange lives in the dot / accents. Big display words stay brand orange (Mike: \"stays in brand orange\").\norangeText:\"#232526\",amber:\"#FF5D2E\",ember:\"#FF5D2E\",dusk:\"#232526\",gradCta:\"#FF5D2E\",// text\nink:\"#232526\",inkMuted:\"#232526\",inkDim:\"rgba(35, 37, 38, 0.82)\",onBlack:\"#F8F6F6\",onBlackMuted:\"rgba(248, 246, 246, 0.82)\",onBlackDim:\"rgba(248, 246, 246, 0.75)\",lineLight:\"rgba(35, 37, 38, 0.12)\",lineDark:\"rgba(255, 255, 255, 0.10)\",green:\"#2F8F5E\",// fonts. Headings and big numbers: Heading Now Medium (brand), loaded by HEADING_NOW_FACE below.\ndisplay:\"'Heading Now', 'Heading Now Medium', 'Bebas Neue', 'Oswald', Impact, 'Arial Narrow', sans-serif\",body:\"'DM Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif\",// motion\nease:\"cubic-bezier(0.16, 1, 0.3, 1)\",easeInOut:\"cubic-bezier(0.65, 0, 0.35, 1)\",easeArr:[.16,1,.3,1],micro:180,base:320,slow:600,reveal:900,stagger:80};// Section backgrounds: creamsicle (Morning Glass) and night (Night Glass).\nexport const BG={cream:\"radial-gradient(120% 70% at 50% -12%, #FFE4D1 0%, rgba(255,228,209,0) 62%), radial-gradient(70% 60% at 100% 100%, rgba(255,93,46,0.10) 0%, rgba(255,93,46,0) 70%), #F4F0E8\",night:\"radial-gradient(90% 55% at 50% 118%, rgba(255,93,46,0.28) 0%, rgba(255,93,46,0) 62%), radial-gradient(60% 50% at 0% 0%, rgba(35,37,38,0.70) 0%, rgba(35,37,38,0) 70%), #090909\"};// Heading Now Medium (brand display font), hosted on Mike's CDN with CORS (2026-10-20). The kit loads it with\n// @font-face on every FBZ section; font-display: block so headlines never paint in a fallback first (N-V2-01).\n// url() stays unquoted: Framer's static render HTML-escapes quotes inside <style> text (&#x27;), which broke the\n// @import and the font-face until hydration (2026-10-20 audit: \"Refused to apply style from .../&#x27;https://...\").\nexport const HEADING_NOW_URL=\"https://assets.cdn.filesafe.space/Qw0J2EWIoKC9gcDiVAX7/media/6ad6e9e9f9a985d42c2ca482.otf\";export const HEADING_NOW_FACE=HEADING_NOW_URL?`@font-face{font-family:'Heading Now';src:url(${HEADING_NOW_URL});font-weight:400 600;font-style:normal;font-display:block}`:\"\";export const FONT_IMPORT=\"@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap);\"+HEADING_NOW_FACE;// Shared CSS. Every section root gets class \"fbz\" plus \"fbz-dark\" or \"fbz-light\".\n// Sizes use container query units (cqi) so a section is responsive by its own width, not the viewport.\n// Every kit rule sits in :where() (zero specificity): each section repeats this CSS, and a later copy must never\n// override an earlier section's own rules.\nexport const KIT_CSS=`\n${FONT_IMPORT}\n:where(.fbz){container-type:inline-size;position:relative;width:100%;font-family:${T.body};-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}\n:where(.fbz *){box-sizing:border-box}\n:where(.fbz :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote)){margin:0;padding:0}\n:where(.fbz a){color:inherit;text-decoration:none}\n:where(.fbz-light){color:${T.ink};background:${BG.cream}}\n:where(.fbz-dark){color:${T.onBlack};background:${BG.night}}\n:where(.fbz-wrap){position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,5cqi,56px)}\n:where(.fbz-sec){padding:clamp(88px,11cqi,160px) 0}\n:where(.fbz-eyebrow){font-family:${T.body};font-weight:700;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:flex-start;gap:10px;line-height:1.35}\n:where(.fbz-light .fbz-eyebrow){color:${T.orangeText}}\n:where(.fbz-dark .fbz-eyebrow){color:${T.orange}}\n:where(.fbz-eyebrow)::before{content:\"\";flex:0 0 auto;margin-top:.42em;width:7px;height:7px;border-radius:99px;background:${T.orange};box-shadow:0 0 0 4px rgba(255,93,46,.16),0 0 14px rgba(255,93,46,.7)}\n:where(.fbz-display){font-family:${T.display};font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.9;font-size:clamp(52px,9.4cqi,136px);text-wrap:balance}\n:where(.fbz-h2){font-family:${T.display};font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.93;font-size:clamp(42px,6.4cqi,88px);text-wrap:balance}\n:where(.fbz-h3){font-family:${T.body};font-weight:600;font-size:clamp(19px,1.9cqi,24px);line-height:1.22;letter-spacing:-.015em}\n:where(.fbz-lead){font-size:clamp(17px,1.65cqi,21px);line-height:1.55;letter-spacing:-.012em;text-wrap:pretty}\n:where(.fbz-body){font-size:16.5px;line-height:1.62;letter-spacing:-.01em;text-wrap:pretty}\n:where(.fbz-small){font-size:13.5px;line-height:1.5}\n:where(.fbz-light .fbz-lead,.fbz-light .fbz-body){color:${T.inkMuted}}\n:where(.fbz-dark .fbz-lead,.fbz-dark .fbz-body){color:${T.onBlackMuted}}\n:where(.fbz-light .fbz-small){color:${T.inkDim}}\n:where(.fbz-dark .fbz-small){color:${T.onBlackDim}}\n:where(.fbz-em){font-style:normal;color:${T.orange}}\n:where(.fbz-num){font-family:${T.display};font-weight:400;line-height:.9;letter-spacing:.01em;font-variant-numeric:tabular-nums}\n/* glass */\n:where(.fbz-glass){position:relative;border-radius:20px;isolation:isolate}\n:where(.fbz-glass)::before{content:\"\";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}\n:where(.fbz-light .fbz-glass,.fbz-glass.is-light){background:linear-gradient(160deg,rgba(255,255,255,.80),rgba(255,255,255,.46));-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(120,60,20,.05),0 24px 60px -18px rgba(35,37,38,.16)}\n:where(.fbz-light .fbz-glass,.fbz-glass.is-light)::before{background:linear-gradient(140deg,rgba(255,255,255,1),rgba(255,255,255,.2) 38%,rgba(255,93,46,.35) 100%)}\n:where(.fbz-dark .fbz-glass,.fbz-glass.is-dark){background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 80px -24px rgba(0,0,0,.6)}\n:where(.fbz-dark .fbz-glass,.fbz-glass.is-dark)::before{background:linear-gradient(140deg,rgba(255,255,255,.42),rgba(255,255,255,.04) 40%,rgba(255,93,46,.45) 100%)}\n/* reveal */\n:where(.fbz-rv){opacity:0;transform:translate3d(0,22px,0);transition:opacity ${T.reveal}ms ${T.ease},transform ${T.reveal}ms ${T.ease};transition-delay:calc(var(--i,0) * ${T.stagger}ms)}\n:where(.fbz.is-in .fbz-rv,.fbz-rv.is-in){opacity:1;transform:none}\n:where(.fbz.is-static .fbz-rv){opacity:1;transform:none;transition:none}\n@media (prefers-reduced-motion: reduce){:where(.fbz-rv){opacity:1!important;transform:none!important;transition:none!important}:where(.fbz *){animation-duration:.001ms!important;animation-iteration-count:1!important}}\n:where(.fbz :focus-visible){outline:2px solid ${T.orange};outline-offset:3px;border-radius:10px}\n`;// \"*word*\" marks an orange word. \"\\n\" is a line break.\nexport function Rich(props){const lines=String(props.text||\"\").split(\"\\n\");return /*#__PURE__*/_jsx(_Fragment,{children:lines.map((line,li)=>{const parts=line.split(\"*\");return /*#__PURE__*/_jsxs(React.Fragment,{children:[li>0&&/*#__PURE__*/_jsx(\"br\",{}),parts.map((p,i)=>i%2===1?/*#__PURE__*/_jsx(\"em\",{className:\"fbz-em\",children:p},i):/*#__PURE__*/_jsx(React.Fragment,{children:p},i))]},li);})});}export function useReducedMotion(){const[r,setR]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const m=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setR(m.matches);const on=()=>setR(m.matches);if(m.addEventListener)m.addEventListener(\"change\",on);return()=>{if(m.removeEventListener)m.removeEventListener(\"change\",on);};},[]);return r;}// True on the Framer canvas and in static exports: loops render one still frame there.\nexport function useIsStatic(){return useIsStaticRenderer();}// Visible state of an element. once=true stays true after the first hit (reveals).\nexport function useInView(ref,opts){const[v,setV]=useState(false);const once=opts?.once??false;const margin=opts?.margin??\"0px\";const threshold=opts?.threshold??0;useEffect(()=>{const el=ref.current;if(!el||typeof IntersectionObserver===\"undefined\"){setV(true);return;}const io=new IntersectionObserver(es=>{es.forEach(e=>{if(e.isIntersecting){setV(true);if(once)io.disconnect();}else if(!once)setV(false);});},{rootMargin:margin,threshold});io.observe(el);return()=>io.disconnect();},[ref,once,margin,threshold]);return v;}// Adds \"is-in\" to a section root when it first scrolls into view (drives .fbz-rv children).\nexport function useReveal(ref,isStatic){useEffect(()=>{const el=ref.current;if(!el)return;if(isStatic||typeof IntersectionObserver===\"undefined\"){el.classList.add(\"is-in\");return;}const io=new IntersectionObserver(es=>{es.forEach(e=>{if(e.isIntersecting){el.classList.add(\"is-in\");io.disconnect();}});},{rootMargin:\"0px 0px -14% 0px\",threshold:.01});io.observe(el);return()=>io.disconnect();},[ref,isStatic]);}// Calls fn(progress) on scroll, rAF throttled. progress = 0 when the element's top meets the\n// viewport bottom, 1 when its bottom meets the viewport top. No React re-render per frame.\nexport function useScrollProgress(ref,fn,active=true){const fnRef=useRef(fn);fnRef.current=fn;useEffect(()=>{if(!active||typeof window===\"undefined\")return;let raf=0;const run=()=>{raf=0;const el=ref.current;if(!el)return;const r=el.getBoundingClientRect();const vh=window.innerHeight||1;const total=r.height+vh;const p=Math.min(1,Math.max(0,(vh-r.top)/total));fnRef.current(p,r);};const on=()=>{if(!raf)raf=requestAnimationFrame(run);};run();window.addEventListener(\"scroll\",on,{passive:true});window.addEventListener(\"resize\",on);return()=>{window.removeEventListener(\"scroll\",on);window.removeEventListener(\"resize\",on);if(raf)cancelAnimationFrame(raf);};},[ref,active]);}// Element width (for canvas sizing and size classes).\nexport function useWidth(ref){const[w,setW]=useState(0);useEffect(()=>{const el=ref.current;if(!el)return;setW(el.clientWidth);if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(()=>setW(el.clientWidth));ro.observe(el);return()=>ro.disconnect();},[ref]);return w;}export function clamp(v,a,b){return Math.min(b,Math.max(a,v));}export function money(n){return\"$\"+Math.round(n).toLocaleString(\"en-US\");}export function parseList(s,fallback){// \"a | b | c\" per line. Empty input keeps the fallback.\nif(!s||!s.trim())return fallback;return s.split(\"\\n\").map(l=>l.trim()).filter(Boolean).map(l=>l.split(\"|\").map(x=>x.trim()));}\nexport const __FramerMetadata__ = {\"exports\":{\"useInView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"KIT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsStatic\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HEADING_NOW_FACE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FONT_IMPORT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Rich\":{\"type\":\"reactComponent\",\"name\":\"Rich\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"T\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useWidth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReveal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseList\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReducedMotion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HEADING_NOW_URL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useScrollProgress\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"money\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clamp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FBZKit.map"],"mappings":"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"}