{"version":3,"file":"FuForm.BeAYsona.mjs","names":["useState","useRef","c","useEffect","useLayoutEffect","__esmMin","le","init_ssg_sandbox_shims","window","_e","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","useIsStaticRenderer","init_framer_B1b760uK","ControlType","RenderTarget","addPropertyControls","useFonts","l","FONTS","useStill","isStatic","useLive","live","setLive","onTick","w","loop","s","t","fn","fontsOf","on","stack","wOf","useMagnet","root","r","btns","mv","b","rc","dx","dy","d","pull","lv","useOn","setOn","still","rm","el","ref","off","fin","fout","io","e","es","rev","amount","readCMS","seen","out","kind","o","a","key","useCMS","rows","setRows","fallback","sig","useIso","n","ok","FU_BUILD","mo","poll","useSite","SEED","g","k","FuForm","v","props","c$1","colorsOf","useReduced","site","T","listOf","topics","topic","setTopic","f","setF","err","setErr","state","setState","set","val","fields","submit","bad","req","requiredError","emailError","phoneError","messageError","k0","endpoint","field","label","first","cssVars","B","CSS_BASE","CSS_MOTION","CSS","D","successTitle","successText","againLabel","Eyebrow","eyebrow","Head","heading","M","topicLabel","i","x","messageLabel","submitLabel","IcoArrow","failText","responseLine","rise","sideTitle","sideItems","emailLabel","phoneLabel","cleanTel","cityLabel","MAXW","famOf","famCss","DEF","COLOR_CONTROLS","FONT_CONTROLS","splitWords","plainOf","init_FuForm","sel","fb","m","fa","fam","custom","tail","setRm","Tag","tag","className","text","size","lh","style","line","delay","step","li","y","\"slug\"","\"f1\"","\"f2\"","\"f3\"","\"f4\"","\"f5\"","\"f6\"","\"f7\"","\"f8\"","\"f9\"","\"f10\"","\"n1\""],"sources":["https:/framerusercontent.com/modules/n9otkDJArZ37spbheGon/XXJVq3qEUpDZUNVkguQc/FuForm.js"],"sourcesContent":["// ===== FURNORA shared scaffold (inlined by mk.py; each Framer code file must be self-contained) =====\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const FONTS=\"https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@400;500;600&family=Geist:wght@300;400;500;600&family=Instrument+Serif:ital@0;1&family=Geist+Mono:wght@400;500&display=swap\";// Token-safe alpha: Styles-bound colours arrive as var(--token-…) so hex-alpha breaks; color-mix keeps a palette flip working. Never 0% (hue drops) — floor at 0.4%.\nconst A=(c,a)=>`color-mix(in srgb, ${c} ${Math.max(.4,Math.round(a*1e3)/10)}%, transparent)`;const MIX=(a,b,t)=>`color-mix(in srgb, ${a} ${Math.round((1-t)*100)}%, ${b})`;const srcOf=(v,fallback)=>v&&typeof v===\"object\"&&v.src?String(v.src).split(\"?\")[0]:typeof v===\"string\"&&v.trim()?v.trim().split(\"?\")[0]:fallback;const T=(s,fb)=>s&&s.trim()?s.trim():fb;const cleanTel=s=>s.replace(/[^\\d+]/g,\"\");// Premium layout band (measured 09-13): container 1340 @1440 / 1520 @1920, body 16, button label 12–13.\nconst MAXW=\"clamp(1280px, 92vw, 1520px)\";// Responsive delivery: Framer's resizer serves any upload at ?scale-down-to=N (longest side). The query is stripped first so one file never downloads twice.\nconst RS=(u,sizes)=>{const s=String(u||\"\");if(!/framerusercontent\\.com\\/images\\//.test(s))return{src:s};const b=s.split(\"?\")[0];return{src:`${b}?scale-down-to=1024`,srcSet:`${b}?scale-down-to=512 512w, ${b}?scale-down-to=1024 1024w, ${b}?scale-down-to=2048 2048w`,sizes};};// A Framer Font control stores a selector (GF;Family-700), not a CSS family — derive one, reject anything with ';'\nconst famOf=f=>{if(!f)return\"\";if(typeof f===\"string\")return f.includes(\";\")?\"\":f;if(f.fontFamily&&!String(f.fontFamily).includes(\";\"))return String(f.fontFamily);const sel=String(f.fontSelector||\"\");if(!sel)return\"\";const n=sel.split(\";\").pop()||\"\";return n.replace(/-(regular|italic|bold|\\d{3}(italic)?)$/i,\"\").replace(/-/g,\" \");};const wOf=(f,fb)=>{if(!f)return fb;if(f.fontWeight)return Number(f.fontWeight)||fb;const m=String(f.fontSelector||\"\").match(/-(\\d{3})/);return m?Number(m[1]):fb;};// famCss: Framer's Font `fontFamily` is ALREADY a stack — never wrap it in quotes (one fake family → fallback renders). A bare name gets quoted.\nconst famCss=f=>{const fa=famOf(f).replace(/\"/g,\"'\").trim();if(!fa)return\"\";return fa.includes(\",\")||fa.startsWith(\"'\")?fa:`'${fa}'`;};const stack=(custom,f,fb,tail)=>{const fam=custom?famCss(f):\"\";return`${fam?`${fam}, `:\"\"}${fb}, ${tail}`;};function useFonts(){useEffect(()=>{if(typeof document===\"undefined\"||document.getElementById(\"fu-fonts\"))return;const l=document.createElement(\"link\");l.id=\"fu-fonts\";l.rel=\"stylesheet\";l.href=FONTS;document.head.appendChild(l);},[]);}// live = client after hydration and not on the canvas. SSR and the first client render share the same markup.\n// TRUE on the Framer canvas AND in its export / thumbnail / screenshot renderers (anything that is not the running preview): no scroll and no hydration there, so every reveal / pinned stage must draw its FINAL state or the editor shows empty blocks.\nfunction useStill(){const isStatic=useIsStaticRenderer();let t=null;try{t=RenderTarget.current();}catch(e){}return isStatic||t!==null&&t!==RenderTarget.preview;}function useLive(){const isStatic=useIsStaticRenderer();const[live,setLive]=useState(false);useEffect(()=>{if(!isStatic&&RenderTarget.current()!==RenderTarget.canvas&&typeof window!==\"undefined\")setLive(true);},[isStatic]);return live;}// Width/height of the root + viewport height. SSR starts from the breakpoint hint (Framer renders the Tablet/Phone copies with the same code and no width).\nfunction useSize(root,hint){const hk=String(hint||\"\").toLowerCase();const[w,setW]=useState(hk===\"phone\"?390:hk===\"tablet\"?810:1440),[vh,setVh]=useState(hk===\"phone\"?844:hk===\"tablet\"?1080:900);useLayoutEffect(()=>{const el=root.current;if(!el)return;const ro=new ResizeObserver(([e])=>{const x=Math.round((e.borderBoxSize&&e.borderBoxSize[0]?e.borderBoxSize[0].inlineSize:0)||el.offsetWidth);if(x>0)setW(x);});ro.observe(el);const vv=()=>setVh(window.innerHeight);vv();const read=()=>{const x=Math.round(el.offsetWidth);if(x>0)setW(x);};const t1=window.setTimeout(read,150),t2=window.setTimeout(read,700),t3=window.setTimeout(read,1600);window.addEventListener(\"resize\",vv);window.addEventListener(\"load\",read);return()=>{ro.disconnect();window.clearTimeout(t1);window.clearTimeout(t2);window.clearTimeout(t3);window.removeEventListener(\"resize\",vv);window.removeEventListener(\"load\",read);};},[]);return{w,vh};}const useReduced=()=>{const[rm,setRm]=useState(false);useLayoutEffect(()=>{setRm(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches);},[]);return rm;};function onTick(fn){if(typeof window===\"undefined\")return()=>{};const w=window;if(!w.__fuTick){w.__fuTick={subs:new Set,raf:0};const loop=t=>{w.__fuTick.subs.forEach(s=>s(t));w.__fuTick.raf=requestAnimationFrame(loop);};w.__fuTick.raf=requestAnimationFrame(loop);}w.__fuTick.subs.add(fn);return()=>w.__fuTick.subs.delete(fn);}const clamp01=v=>Math.min(1,Math.max(0,v));const easeIO=t=>{const x=clamp01(t);return x<.5?4*x*x*x:1-Math.pow(-2*x+2,3)/2;};const DEF={bone:\"#EFEDE8\",ink:\"#191816\",brass:\"#C43E17\",pine:\"#2E3B2F\",fog:\"#DAD6CC\",stone:\"#8B877D\",cloud:\"#FFFFFF\",night:\"#141311\"};const colorsOf=p=>({bone:p.bone||DEF.bone,ink:p.ink||DEF.ink,brass:p.brass||DEF.brass,pine:p.pine||DEF.pine,fog:p.fog||DEF.fog,stone:p.stone||DEF.stone,cloud:p.cloud||DEF.cloud,night:p.night||DEF.night});const cssVars=c=>({\"--fu-bone\":c.bone,\"--fu-ink\":c.ink,\"--fu-brass\":c.brass,\"--fu-pine\":c.pine,\"--fu-fog\":c.fog,\"--fu-stone\":c.stone,\"--fu-cloud\":c.cloud,\"--fu-night\":c.night});const COLOR_CONTROLS={bone:{type:ControlType.Color,title:\"Paper\",defaultValue:DEF.bone},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:DEF.ink},brass:{type:ControlType.Color,title:\"Accent\",defaultValue:DEF.brass},pine:{type:ControlType.Color,title:\"Deep\",defaultValue:DEF.pine},fog:{type:ControlType.Color,title:\"Line\",defaultValue:DEF.fog},stone:{type:ControlType.Color,title:\"Muted\",defaultValue:DEF.stone},cloud:{type:ControlType.Color,title:\"White\",defaultValue:DEF.cloud},night:{type:ControlType.Color,title:\"Dark\",defaultValue:DEF.night}};// ---- Fonts: Custom Fonts toggle → Font controls; off = Geist / Instrument Serif italic accents / Geist Mono ----\nconst FONT_CONTROLS={customFonts:{type:ControlType.Boolean,title:\"Custom Fonts\",description:\"Off = the site fonts (set once on the Header in the Site Layout). On = different fonts for this section only\",defaultValue:false},displayFont:{type:ControlType.Font,title:\"Display Font\",defaultFontType:\"serif\",hidden:p=>!p.customFonts},bodyFont:{type:ControlType.Font,title:\"Body Font\",defaultFontType:\"sans-serif\",hidden:p=>!p.customFonts},monoFont:{type:ControlType.Font,title:\"Mono Font\",defaultFontType:\"monospace\",hidden:p=>!p.customFonts}};const ACCENT_FONT=\"var(--fu-font-a, 'Instrument Serif'), Georgia, 'Times New Roman', serif\";// Site-wide fonts: the Header (Site Layout, every page) writes --fu-font-d/b/m (+ weights) on :root when its Custom Fonts is on. A section uses them unless its own Custom Fonts is on.\nconst siteFontCss=p=>{if(!p||!p.customFonts)return\"\";const v=[];const put=(k,f,w)=>{const fam=famCss(f);if(fam){v.push(`--fu-font-${k}:${fam}`);v.push(`--fu-font-${k}w:${wOf(f,w)}`);}};put(\"d\",p.displayFont,500);put(\"b\",p.bodyFont,400);put(\"m\",p.monoFont,400);put(\"a\",p.accentFont,400);return v.length?`:root{${v.join(\";\")}}`:\"\";};function fontsOf(p){const on=!!p.customFonts;const D={fontFamily:stack(on,p.displayFont,\"var(--fu-font-d, 'Familjen Grotesk')\",\"'Inter Tight', Inter, system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.displayFont,500):\"var(--fu-font-dw, 500)\",fontStyle:on&&p.displayFont&&p.displayFont.fontStyle?p.displayFont.fontStyle:\"normal\"};const B={fontFamily:stack(on,p.bodyFont,\"var(--fu-font-b, Geist)\",\"Inter, system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.bodyFont,400):\"var(--fu-font-bw, 400)\"};const M={fontFamily:stack(on,p.monoFont,\"var(--fu-font-m, 'Geist Mono')\",\"ui-monospace, SFMono-Regular, Menlo, monospace\"),fontWeight:on?wOf(p.monoFont,400):\"var(--fu-font-mw, 400)\"};return{D,B,M};}const BP_CONTROL={bpHint:{type:ControlType.Enum,title:\"Breakpoint Hint\",description:\"Set per breakpoint copy so the server render starts at the right width\",options:[\"auto\",\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Auto\",\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"auto\",hidden:()=>true}};// ---- Button system: pill, label rolls up on hover, Ink sweep fills the solid from the bottom, arrow slides, magnetic pull on desktop ----\nconst Btn=({href,label,kind=\"solid\",arrow=true,style,className,onClick,ariaLabel,cur,icon})=>/*#__PURE__*/_jsxs(\"a\",{className:`fu-btn fu-${kind}${className?\" \"+className:\"\"}`,\"data-mag\":true,\"data-cur\":cur||\"open\",href:href,onClick:onClick,\"aria-label\":ariaLabel,style:style,children:[icon,/*#__PURE__*/_jsxs(\"span\",{className:\"fu-lbl\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"fu-l1\",children:label}),/*#__PURE__*/_jsx(\"span\",{className:\"fu-l2\",\"aria-hidden\":true,children:label})]}),arrow&&/*#__PURE__*/_jsx(\"span\",{className:\"fu-arr\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 5l7 7-7 7\"})})})]});function useMagnet(root,live){useEffect(()=>{if(!live||!root.current||!window.matchMedia(\"(hover:hover) and (pointer:fine)\").matches)return;const r=root.current;const btns=()=>Array.from(r.querySelectorAll(\"[data-mag]\"));const mv=e=>{for(const b of btns()){const rc=b.getBoundingClientRect();const dx=e.clientX-(rc.left+rc.width/2),dy=e.clientY-(rc.top+rc.height/2);const d=Math.hypot(dx,dy);const pull=d<150?(1-d/150)*9:0;b.style.setProperty(\"--mx\",`${dx/(d||1)*pull}px`);b.style.setProperty(\"--my\",`${dy/(d||1)*pull}px`);}};const lv=()=>{for(const b of btns()){b.style.setProperty(\"--mx\",\"0px\");b.style.setProperty(\"--my\",\"0px\");}};r.addEventListener(\"pointermove\",mv);r.addEventListener(\"pointerleave\",lv);return()=>{r.removeEventListener(\"pointermove\",mv);r.removeEventListener(\"pointerleave\",lv);};},[live]);}const CSS_BASE=`\n.fu,.fu *{box-sizing:border-box;min-width:0} .fu a{color:inherit} html,body{overflow-x:clip}\n:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline:2.5px solid var(--fu-ink,#151A18)!important;outline-offset:2px!important;box-shadow:0 0 0 2px var(--fu-bone,#F3EFE6),0 0 0 7.5px var(--fu-bone,#F3EFE6)!important} .ktc:focus-visible,.klb-t:focus-visible{outline-offset:-6px!important;box-shadow:inset 0 0 0 8px var(--fu-bone,#F3EFE6)!important} :is(.sk,.kit,.skh,#skh-drawer) :has(:focus-visible),:is(.sk,.kit) :focus-visible{opacity:1!important;clip-path:none!important;-webkit-clip-path:none!important;transition:none!important} .fu-line:has(:focus-visible),[data-fu-rv]:has(:focus-visible){transform:none!important} :is(.sk,.kit):focus-visible,.sk :where(div,section,table):focus-visible{outline:2.5px solid var(--fu-brass,#C9A064)!important;outline-offset:-3px!important;box-shadow:inset 0 0 0 6px var(--fu-bone,#F3EFE6)!important} .fu-tabs{scroll-padding-inline:28px} html{scroll-padding-top:96px;scroll-padding-bottom:88px}\n.fu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:7px 7px 7px 24px;min-height:54px;border-radius:999px;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;white-space:nowrap;border:1.5px solid transparent;font-size:13.5px;letter-spacing:.005em;font-weight:600;line-height:1;transform:translate(var(--mx,0px),var(--my,0px));transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .4s,color .35s .05s,border-color .35s;will-change:transform;-webkit-tap-highlight-color:transparent}\n.fu-btn:not(:has(.fu-arr)){padding:14px 24px;min-height:0}\n.fu-btn::before{content:\"\";position:absolute;inset:-2px;border-radius:999px;z-index:-1;clip-path:circle(0px at calc(100% - 28px) 50%);transition:clip-path .65s cubic-bezier(.6,0,.2,1)} .fu-btn:hover::before,.fu-btn:focus-visible::before{clip-path:circle(160% at calc(100% - 28px) 50%)}\n.fu-arr{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;rotate:-45deg;transition:rotate .55s cubic-bezier(.2,.9,.2,1),background .35s,color .35s} .fu-btn:hover .fu-arr{rotate:0deg}\n.fu-lbl{position:relative;display:inline-block;line-height:1.15} .fu-l2{display:none}\n.fu-btn.fu-solid{background:var(--fu-brass);color:var(--fu-cloud);box-shadow:0 16px 40px color-mix(in srgb,var(--fu-brass) 26%,transparent)} .fu-solid::before{background:var(--fu-ink)} .fu-solid .fu-arr{background:var(--fu-cloud);color:var(--fu-ink)}\n.fu-btn.fu-ghost{background:color-mix(in srgb,var(--fu-cloud) 50%,transparent);color:var(--fu-ink);border-color:color-mix(in srgb,var(--fu-ink) 22%,transparent)} .fu-ghost::before{background:var(--fu-ink)} .fu-ghost .fu-arr{background:var(--fu-ink);color:var(--fu-bone)} .fu-btn.fu-ghost:hover{color:var(--fu-bone);border-color:var(--fu-ink)} .fu-ghost:hover .fu-arr{background:var(--fu-bone);color:var(--fu-ink)}\n.fu-btn.fu-quiet{background:var(--fu-ink);color:var(--fu-bone)} .fu-quiet::before{background:var(--fu-brass)} .fu-quiet .fu-arr{background:var(--fu-brass);color:var(--fu-cloud)} .fu-btn.fu-quiet:hover{color:var(--fu-cloud)} .fu-quiet:hover .fu-arr{background:var(--fu-cloud);color:var(--fu-ink)}\n.fu-btn:hover{transform:translate(var(--mx,0px),calc(var(--my,0px) - 2px))} .fu-btn:active{transform:scale(.97) translate(var(--mx,0px),var(--my,0px))!important}\n.fu-dark .fu-btn.fu-solid{color:var(--fu-cloud)} .fu-dark .fu-solid::before{background:var(--fu-bone)} .fu-dark .fu-btn.fu-solid:hover{color:var(--fu-ink)} .fu-dark .fu-btn.fu-ghost{background:transparent;color:var(--fu-bone);border-color:color-mix(in srgb,var(--fu-bone) 34%,transparent)} .fu-dark .fu-ghost::before{background:var(--fu-bone)} .fu-dark .fu-ghost .fu-arr{background:var(--fu-bone);color:var(--fu-ink)} .fu-dark .fu-btn.fu-ghost:hover{color:var(--fu-ink);border-color:var(--fu-bone)} .fu-dark .fu-ghost:hover .fu-arr{background:var(--fu-ink);color:var(--fu-bone)}\n/* TEXT-SAFE accents: Brass / Stone only reach AA on the dark grounds, so light grounds get a mix toward Ink (follows the tokens). --fu-acc = small text, --fu-acc-lg = display sizes (3:1), --fu-mut = muted labels. */\n.fu{--fu-acc:color-mix(in srgb,var(--fu-brass) 46%,var(--fu-ink));--fu-acc-lg:color-mix(in srgb,var(--fu-brass) 64%,var(--fu-ink));--fu-mut:color-mix(in srgb,var(--fu-stone) 55%,var(--fu-ink))}\n.fu-dark,.fu.fu-dark{--fu-acc:color-mix(in srgb,var(--fu-brass) 62%,var(--fu-cloud));--fu-acc-lg:color-mix(in srgb,var(--fu-brass) 82%,var(--fu-cloud));--fu-mut:color-mix(in srgb,var(--fu-stone) 70%,var(--fu-cloud))}\n@media (prefers-reduced-motion:reduce){.fu *,.fuh *{animation-duration:.01ms!important;transition-duration:.01ms!important}}`;const BAG_KEY=\"fu-bag-v1\";const priceNum=s=>parseFloat(String(s||\"\").replace(/[^\\d.]/g,\"\"))||0;const curOf=s=>{const m=String(s||\"\").match(/^[^\\d\\s]+/);return m?m[0]:\"$\";};const money=(n,cur=\"$\")=>cur+Math.round(n).toLocaleString(\"en-US\");function bagRead(){try{const v=JSON.parse(window.localStorage.getItem(BAG_KEY)||\"[]\");return Array.isArray(v)?v:[];}catch(e){return[];}}function bagWrite(items,open=false){try{window.localStorage.setItem(BAG_KEY,JSON.stringify(items));}catch(e){}try{window.dispatchEvent(new CustomEvent(\"fu-bag\",{detail:{open}}));}catch(e){}}function bagAdd(it,qty=1,open=true){const b=bagRead();const opt=it.opt||\"\";const k=b.findIndex(x=>x.slug===it.slug&&x.opt===opt);if(k>=0)b[k].qty+=qty;else b.push({slug:it.slug,name:it.name,price:it.price,img:it.img,opt,qty});bagWrite(b,open);}function useBag(){const[items,setItems]=useState([]);useEffect(()=>{const f=()=>setItems(bagRead());f();window.addEventListener(\"fu-bag\",f);window.addEventListener(\"storage\",f);return()=>{window.removeEventListener(\"fu-bag\",f);window.removeEventListener(\"storage\",f);};},[]);return items;}const IcoArrow=({s=15})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 5l7 7-7 7\"})});const Stars=({v=5,s=13})=>/*#__PURE__*/_jsx(\"span\",{className:\"fu-stars\",\"aria-hidden\":true,children:[0,1,2,3,4].map(i=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",style:{opacity:i<Math.round(v)?1:.28},children:/*#__PURE__*/_jsx(\"path\",{fill:\"currentColor\",d:\"M12 2.6l2.9 6.1 6.7.9-4.9 4.6 1.2 6.6L12 17.6 6.1 20.8l1.2-6.6L2.4 9.6l6.7-.9z\"})},i))});// ===== FURNORA motion layer (composed by mk.py after _common) =====\n// One shared rAF (onTick). Sections write --sp (0 = top edge enters the viewport bottom → 1 = bottom edge leaves the top) and,\n// for tall pinned wrappers, --pp (0 = wrapper top hits the viewport top → 1 = wrapper bottom hits the viewport bottom). IO-gated.\nfunction useScrollVars(ref,live,rm,cb){useEffect(()=>{if(!live||rm||!ref.current)return;const el=ref.current;let vis=true,last=-9;const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"25% 0px 25% 0px\"});io.observe(el);const off=onTick(()=>{if(!vis)return;const r=el.getBoundingClientRect();const vh=window.innerHeight||1;const sp=clamp01((vh-r.top)/(vh+r.height));const pp=r.height>vh*1.05?clamp01(-r.top/(r.height-vh)):sp;if(Math.abs(sp+pp-last)<4e-4)return;last=sp+pp;el.style.setProperty(\"--sp\",sp.toFixed(4));el.style.setProperty(\"--pp\",pp.toFixed(4));if(cb)cb(sp,pp);});return()=>{off();io.disconnect();};},[live,rm]);}// true once the element has entered the viewport (stays true). Reduced motion = true at once.\nfunction useOn(ref,live,rm,amount=.16){const[on,setOn]=useState(false);const still=useStill();useEffect(()=>{if(!live)return;if(rm){setOn(true);return;}const el=ref.current;if(!el)return;let off=()=>{};// keyboard focus: mark the section FIRST and flush styles, so the reveal that follows runs with instant transitions (a transition keeps the timing it started with)\nconst fin=e=>{try{if(e.target.matches(\":focus-visible\")){el.setAttribute(\"data-kb\",\"\");void el.offsetWidth;}}catch(x){}setOn(true);};const fout=e=>{if(!el.contains(e.relatedTarget))el.removeAttribute(\"data-kb\");};el.addEventListener(\"focusin\",fin);el.addEventListener(\"focusout\",fout);const io=new IntersectionObserver(es=>{for(const e of es)if(e.isIntersecting){io.disconnect();// IO ignores occlusion: under a curtain (Reveal) wait until about a quarter of it is uncovered\noff=onTick(()=>{const rev=el.closest(\".fu-rev.is-act\");const rv=rev?parseFloat(rev.style.getPropertyValue(\"--rv\")||\"0\"):1;if(rv>.24){setOn(true);off();}});}},{threshold:amount,rootMargin:\"0px 0px -6% 0px\"});io.observe(el);return()=>{io.disconnect();off();el.removeEventListener(\"focusin\",fin);el.removeEventListener(\"focusout\",fout);};},[live,rm]);return on||still;}// CURTAIN REVEAL — the section is pinned BEHIND the one above it and is uncovered as that one lifts away (the footer movement, for any section).\n// Wrapper = section + a spacer of T, pulled up by T (page length unchanged); the section is sticky for exactly T of scroll. T = min(section height, 100svh):\n// a tall section pins at the top, a short one sits on the bottom edge of the viewport. The section ABOVE needs a higher Layer (z-index).\nfunction Reveal({on,layer=9,style,children}){const live=useLive();const rm=useReduced();const wrap=useRef(null);const inner=useRef(null);const sp=useRef(null);const[h,setH]=useState(0);const act=on&&live&&!rm&&h>0;useEffect(()=>{if(!on||!live||rm||!inner.current)return;const el=inner.current;const m=()=>setH(el.offsetHeight);m();const ro=new ResizeObserver(m);ro.observe(el);return()=>ro.disconnect();},[on,live,rm]);useEffect(()=>{if(!act||!wrap.current)return;const el=wrap.current;let vis=true,last=-1;const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"30% 0px 30% 0px\"});io.observe(el);const off=onTick(()=>{if(!vis)return;const T=sp.current?sp.current.offsetHeight:0;if(!T)return;const vh=window.innerHeight;const r=el.getBoundingClientRect();const rv=clamp01((vh-T-r.top)/T);if(Math.abs(rv-last)<5e-4)return;last=rv;el.style.setProperty(\"--rv\",rv.toFixed(4));});return()=>{off();io.disconnect();};},[act]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:`fu-rev${act?\" is-act\":\"\"}`,style:{...style||{},[\"--h\"]:`${h}px`,[\"--layer\"]:layer},children:[/*#__PURE__*/_jsx(\"div\",{ref:inner,className:\"fu-rev-in\",children:children}),/*#__PURE__*/_jsx(\"div\",{ref:sp,className:\"fu-rev-sp\",\"aria-hidden\":true})]});}const REVEAL_CONTROLS={reveal:{type:ControlType.Boolean,title:\"Reveal\",description:\"Curtain: this section waits behind the one above and is uncovered as that one lifts away\",enabledTitle:\"Curtain\",disabledTitle:\"Off\",defaultValue:true},layer:{type:ControlType.Number,title:\"Layer\",description:\"Stacking order. Must be LOWER than the section above (sections default to 10)\",min:0,max:20,step:1,displayStepper:true,defaultValue:9,hidden:p=>p.reveal===false}};const splitWords=s=>String(s||\"\").split(/\\s+/).filter(Boolean).map(t=>{const m=t.match(/^\\*(.+?)\\*([.,!?;:’']*)$/);return m?{t:m[1],tail:m[2],acc:true}:{t:t.replace(/\\*/g,\"\"),tail:\"\",acc:false};});const plainOf=s=>String(s||\"\").replace(/\\*/g,\"\").replace(/\\s*\\|\\s*/g,\" \").replace(/\\s+/g,\" \").trim();// Heading whose words rise out of masks. \"|\" forces a line break, *word* = Accent colour with a drawn underline.\nconst Head=({text,on,D,tag=\"h2\",size=\"clamp(38px,4.3vw,64px)\",lh=1.02,delay=0,step=55,style,className})=>{const Tag=tag;let k=0;return /*#__PURE__*/_jsx(Tag,{className:`fu-hd${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,\"aria-label\":plainOf(text),style:{...D,fontSize:typeof size===\"number\"?Math.max(12,size):size,lineHeight:lh,...style||{}},children:String(text).split(\"|\").map((line,li)=>/*#__PURE__*/_jsx(\"span\",{className:\"fu-hd-l\",\"aria-hidden\":true,children:splitWords(line).map((w,i)=>{const d=delay+k++*step;return /*#__PURE__*/_jsxs(\"span\",{className:\"fu-hd-w\",children:[/*#__PURE__*/_jsxs(\"span\",{className:`fu-hd-i${w.acc?\" is-acc\":\"\"}`,style:{transitionDelay:`${d}ms`},children:[w.t,w.tail]}),\" \"]},i);})},li))});};const Eyebrow=({text,on,M,delay=0,style})=>text?/*#__PURE__*/_jsxs(\"p\",{className:`fu-eb${on?\" is-on\":\"\"}`,style:{...M,transitionDelay:`${delay}ms`,...style||{}},children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),text]}):null;// one-shot rise for copy / rows\nconst rise=(on,d=0,y=22)=>({opacity:on?1:0,translate:on?\"0 0\":`0 ${y}px`,transition:`opacity .9s ease ${d}ms, translate 1s cubic-bezier(.2,.8,.2,1) ${d}ms`});// Image that UNMASKS through a shape as it enters, settles from a zoom, then drifts with scroll (needs --sp on an ancestor).\nconst SHAPES={up:[\"inset(100% 0 0 0)\",\"inset(0 0 0 0)\"],down:[\"inset(0 0 100% 0)\",\"inset(0 0 0 0)\"],left:[\"inset(0 100% 0 0)\",\"inset(0 0 0 0)\"],right:[\"inset(0 0 0 100%)\",\"inset(0 0 0 0)\"],diag:[\"polygon(0 100%,0 100%,0 100%,0 100%)\",\"polygon(0 -160%,260% 100%,0 100%,0 100%)\"],iris:[\"circle(0% at 50% 55%)\",\"circle(85% at 50% 55%)\"],arch:[\"inset(100% 0 0 0 round 999px 999px 0 0)\",\"inset(0 0 0 0 round 999px 999px 0 0)\"],slit:[\"inset(0 50% 0 50%)\",\"inset(0 0 0 0)\"]};const Um=({src,alt=\"\",on,shape=\"up\",ratio=\"4/5\",delay=0,par=1,focus=\"50% 40%\",radius=4,sizes=\"(max-width: 809px) 100vw, 50vw\",style,className,eager=false})=>{const sh=SHAPES[shape]||SHAPES.up;const im=RS(src,sizes);return /*#__PURE__*/_jsx(\"div\",{className:`fu-um${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{aspectRatio:ratio,borderRadius:radius,clipPath:on?sh[1]:sh[0],WebkitClipPath:on?sh[1]:sh[0],transitionDelay:`${delay}ms`,[\"--par\"]:par,...style||{}},children:/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,sizes:im.sizes,alt:alt,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus,transitionDelay:`${delay}ms`}})});};const CSS_MOTION=`\n.fu[data-kb] *,.fu[data-kb] *::before,.fu[data-kb] *::after,.fu:has(:focus-visible) *,.fu:has(:focus-visible) *::before,.fu:has(:focus-visible) *::after{transition:none!important}\n.fu-sec{position:relative;z-index:10;display:block;width:100%;--sp:.5;--pp:0}\n.fu-rev{position:relative;width:100%;--rv:1} .fu-rev-in{position:relative} .fu-rev-sp{height:0}\n.fu-rev.is-act{--rv:0;--t:min(var(--h),100vh);--t:min(var(--h),100svh);z-index:var(--layer,9);margin-top:calc(var(--t)*-1)}\n.fu-rev.is-act>.fu-rev-in{position:sticky;top:calc(100vh - var(--t));top:calc(100svh - var(--t))} .fu-rev.is-act>.fu-rev-sp{height:var(--t)}\n/* the lifting edge throws a shadow on the section beneath, and that section comes out of the dark as it is uncovered */\n.fu-rev.is-act>.fu-rev-in::before{content:\"\";position:absolute;z-index:40;left:0;right:0;top:0;height:120px;translate:0 calc((1 - var(--rv))*var(--t));background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,0));opacity:min(1,calc(var(--rv)*(1 - var(--rv))*9));pointer-events:none}\n.fu-rev.is-act>.fu-rev-in::after{content:\"\";position:absolute;z-index:39;left:0;right:0;top:0;height:var(--t);background:#000;opacity:calc((1 - var(--rv))*.16);pointer-events:none}\n.fu-wrap{--pad:56px;width:100%;max-width:calc(${MAXW} + var(--pad)*2);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}\n.fu-eb{display:inline-flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0;padding:8px 14px 8px 11px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:0;translate:0 12px;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.8,.2,1)} .fu-eb.is-on{opacity:1;translate:0 0}\n.fu-eb i{width:6px;height:6px;border-radius:50%;background:var(--fu-brass);display:block;flex:none}\n.fu-hd{margin:0;letter-spacing:-.04em;text-wrap:balance} .fu-hd-l{display:block}\n.fu-hd-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .05em .17em;margin:0 -.05em -.17em;white-space:pre}\n.fu-hd-i{position:relative;display:inline-block;translate:0 108%;transition:translate 1s cubic-bezier(.2,.75,.2,1)}\n.fu-hd.is-on .fu-hd-i{translate:0 0}\n.fu-hd-i.is-acc{color:var(--fu-acc-lg)} .fu-hd-i.is-acc::after{content:\"\";position:absolute;left:.02em;right:.04em;bottom:-.02em;height:.07em;border-radius:99px;background:currentColor;scale:0 1;transform-origin:0 50%;transition:scale .9s cubic-bezier(.2,.8,.2,1) .75s} .fu-hd.is-on .fu-hd-i.is-acc::after{scale:1 1}\n.fu-um{position:relative;overflow:hidden;transition:clip-path 1.35s cubic-bezier(.7,0,.2,1);background:color-mix(in srgb,var(--fu-stone) 22%,transparent)}\n.fu-um img{position:absolute;left:0;top:-9%;width:100%;height:118%;display:block;object-fit:cover;scale:1.28;translate:0 calc((var(--sp,.5) - .5)*var(--par,1)*-7%);transition:scale 1.9s cubic-bezier(.16,.84,.24,1);user-select:none}\n.fu-um.is-on img{scale:1}\n/* diagonal cuts: the section hangs over its neighbour and is cut on a slope (clip-path, so the neighbour shows through) */\n.fu-cut-t{margin-top:calc(var(--cut,7vw)*-1);clip-path:polygon(0 var(--cut,7vw),100% 0,100% 100%,0 100%);padding-top:var(--cut,7vw)}\n.fu-cut-b{margin-bottom:calc(var(--cut,7vw)*-1);padding-bottom:var(--cut,7vw)}\n.fu-cut-t.fu-cut-b{clip-path:polygon(0 var(--cut,7vw),100% 0,100% calc(100% - var(--cut,7vw)),0 100%)}\n.fu-cut-b:not(.fu-cut-t){clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut,7vw)),0 100%)}\n@media (max-width:1099px){.fu-wrap{--pad:32px}}\n@media (max-width:699px){.fu-wrap{--pad:20px}}\n@media (prefers-reduced-motion:reduce){.fu-hd-i{translate:0 0!important} .fu-um{clip-path:none!important} .fu-um img{scale:1!important;translate:0 0!important}}\n`;const SEED={site:[{\"slug\":\"site\",\"f1\":\"Furnora\",\"f2\":\"Furniture, lighting & decor store\",\"f3\":\"Sofas, chairs, tables and lighting made in small batches from solid oak and natural fabric.\",\"f4\":\"hello@furnora-living.com\",\"f5\":\"+45 33 12 04 18\",\"f6\":\"Copenhagen\",\"f7\":\"Europe/Copenhagen\",\"f8\":\"/trade\",\"f9\":\"Instagram:https://instagram.com, Pinterest:https://pinterest.com\",\"f10\":\"New — the Autumn 2026 collection\",\"n1\":\"1\"}]};const FU_BUILD=\"FuForm@cms1\";// An override control wins only when it holds real text; empty (or a single space) inherits from the CMS.\nconst pick=(o,fb)=>o!==undefined&&o!==null&&String(o).trim()?String(o).trim():fb;const imgOf=(r,k=\"img\")=>String(r&&r[k]||\"\").split(\"?\")[0];// A cleared CMS image draws this quiet placeholder — never a stock photo, and list positions stay aligned with their rows.\nconst EMPTY_IMG=\"data:image/svg+xml;utf8,\"+encodeURIComponent(\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 500' preserveAspectRatio='xMidYMid slice'><rect width='400' height='500' fill='#DAD6CB'/><circle cx='200' cy='250' r='54' fill='none' stroke='#B7B2A4' stroke-width='1.5'/><circle cx='200' cy='250' r='82' fill='none' stroke='#CCC7B9' stroke-width='1' stroke-dasharray='2 6'/></svg>\");const imgOr=(r,k=\"img\")=>imgOf(r,k)||EMPTY_IMG;const cmsNum=(r,k,fb=0)=>{const v=parseFloat(String((r&&r[k])??\"\"));return isFinite(v)?v:fb;};const useIso=typeof window===\"undefined\"?useEffect:useLayoutEffect;function readCMS(kind){if(typeof document===\"undefined\")return null;if(!document.querySelector('[data-fu-row=\"bridge\"]'))return null;const seen=new Set;const out=[];document.querySelectorAll(`[data-fu-row=\"${kind}\"]`).forEach(el=>{const o={};for(const a of Array.from(el.attributes))if(a.name.startsWith(\"data-\"))o[a.name.slice(5)]=a.value;const key=o.slug||JSON.stringify(o);if(seen.has(key))return;seen.add(key);out.push(o);});return out.sort((a,b)=>(parseFloat(a.n1)||0)-(parseFloat(b.n1)||0));}function useCMS(kind,fallback){const[rows,setRows]=useState(fallback);const sig=useRef(\"\");useIso(()=>{let n=0,t=0,ok=0;try{const w=window;if(!w.__fuCms||typeof w.__fuCms!==\"object\")w.__fuCms={};w.__fuCms[FU_BUILD]=1;}catch(e){}const pull=()=>{const r=readCMS(kind);if(!r)return false;const s=JSON.stringify(r);if(s!==sig.current){sig.current=s;setRows(r);}return true;};const mo=new MutationObserver(()=>{if(pull()){ok++;if(ok>2)mo.disconnect();}});mo.observe(document.body,{childList:true,subtree:true});if(pull())ok++;const poll=()=>{if(n++<30){pull();t=window.setTimeout(poll,150);}};t=window.setTimeout(poll,150);return()=>{mo.disconnect();window.clearTimeout(t);};},[kind]);return rows;}// The one-row Site collection holds every practice-wide fact. A section's \"… Override\" control only replaces it on that one section.\nfunction useSite(){const r=useCMS(\"site\",SEED.site||[]);const s=r[0]||(SEED.site||[])[0]||{};const g=k=>String(s[k]??\"\").trim();return{name:g(\"f1\"),role:g(\"f2\"),tagline:g(\"f3\"),email:g(\"f4\"),phone:g(\"f5\"),city:g(\"f6\"),tz:g(\"f7\")||\"Europe/Copenhagen\",booking:g(\"f8\")||\"/trade\",socials:g(\"f9\"),intake:g(\"f10\")};}const linkList=s=>String(s||\"\").split(\",\").map(x=>x.trim()).filter(Boolean).map(x=>{const i=x.indexOf(\":\");return{l:i<0?x:x.slice(0,i).trim(),h:i<0?\"/\":x.slice(i+1).trim()};});const listOf=s=>String(s||\"\").split(\";\").map(x=>x.trim()).filter(Boolean);// The row a CMS detail page is about: the bound Slug control wins (server render included), else the last URL segment, else the first row.\nfunction useRow(kind,fallback,slug){const rows=useCMS(kind,fallback);const[path,setPath]=useState(\"\");useEffect(()=>{try{setPath(decodeURIComponent(window.location.pathname.split(\"/\").filter(Boolean).pop()||\"\"));}catch(e){}},[]);const want=String(slug||\"\").trim()||path;const row=rows.find(r=>r.slug===want)||rows[0]||{};return{row,rows};}const crumbs=s=>linkList(s);/**\n * FURNORA — THE FORM. Contact or Trade (Variant). Topic pills, fields with floating labels and a rule that draws in on focus, per-field errors in plain words, and a named success state with a drawn tick. Trade adds studio, website and project type. Form Endpoint: paste a Formspree / Make / Zapier URL and the form posts JSON there; empty = it validates and shows the success state only. Beside it: the Site email and phone, the answer time and a list of perks.\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1440\n */export default function FuForm(props){const v=props.variant===\"trade\"?\"trade\":\"contact\";const{eyebrow=v===\"trade\"?\"Apply\":\"Write to us\",heading=v===\"trade\"?\"Open a *trade* account.\":\"Tell us about the *room.*\",topics=v===\"trade\"?\"Residential; Hospitality; Workplace; Retail\":\"Free samples; An order; A showroom visit; Something else\",topicLabel=v===\"trade\"?\"Project type\":\"What is it about?\",messageLabel=v===\"trade\"?\"Tell us about the project\":\"Message\",submitLabel=v===\"trade\"?\"Send application\":\"Send message\",successTitle=\"Thank you, {name}.\",successText=v===\"trade\"?\"We review trade applications within two working days and will write from trade@furnora-living.com.\":\"A person from the workshop will answer within a day.\",endpoint=\"\",sideTitle=v===\"trade\"?\"What trade gets you\":\"Other ways in\",sideItems=v===\"trade\"?\"Project pricing from the first order; Samples and swatches on account; A named contact for every delivery; CAD and spec sheets for every piece\":\"Visit a showroom — no appointment; Order six free fabric samples; Ask about a custom size\",responseLine=\"Answers within one working day\",emailLabel=\"Email\",phoneLabel=\"Phone\",cityLabel=\"Workshop\",againLabel=\"Send another\",requiredError=\"Add {field}.\",emailError=\"That email looks incomplete — check the part after @.\",messageError=\"Write a line so we know how to help.\",phoneError=\"Check the number — digits, spaces and + only.\",failText=\"That did not go through. Try again, or write to {email} directly.\"}=props;const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const rm=useReduced();const site=useSite();const root=useRef(null);const on=useOn(root,live,rm,.05);useMagnet(root,live);const T=listOf(topics).slice(0,6);const[topic,setTopic]=useState(0);const[f,setF]=useState({});const[err,setErr]=useState({});const[state,setState]=useState(\"\");const set=(k,val)=>{setF(o=>({...o,[k]:val}));if(err[k])setErr(o=>({...o,[k]:\"\"}));};const fields=v===\"trade\"?[[\"name\",\"Your name\",\"text\",true],[\"studio\",\"Studio or company\",\"text\",true],[\"email\",\"Email\",\"email\",true],[\"site\",\"Website\",\"url\",false]]:[[\"name\",\"Your name\",\"text\",true],[\"email\",\"Email\",\"email\",true],[\"phone\",\"Phone (optional)\",\"tel\",false],[\"order\",\"Order number (optional)\",\"text\",false]];const submit=async e=>{e.preventDefault();const bad={};for(const[k,l,t,req]of fields){const val=(f[k]||\"\").trim();if(req&&!val)bad[k]=requiredError.replace(\"{field}\",String(l).toLowerCase().replace(/ \\(optional\\)/,\"\"));else if(t===\"email\"&&val&&!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(val))bad[k]=emailError;else if(t===\"tel\"&&val&&!/^[+()\\d\\s./-]{6,}$/.test(val))bad[k]=phoneError;}if(!(f.msg||\"\").trim())bad.msg=messageError;setErr(bad);if(Object.keys(bad).length){const k0=Object.keys(bad)[0];const el=root.current&&root.current.querySelector(`[name=\"${k0}\"]`);if(el)el.focus();return;}if(!endpoint.trim()){setState(\"done\");return;}setState(\"sending\");try{const r=await fetch(endpoint.trim(),{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify({...f,topic:T[topic]||\"\",form:v})});setState(r.ok?\"done\":\"fail\");}catch(x){setState(\"fail\");}};const field=(k,label,type,req)=>/*#__PURE__*/_jsxs(\"label\",{className:`ffm-f${f[k]?\" has-v\":\"\"}${err[k]?\" has-e\":\"\"}`,children:[/*#__PURE__*/_jsxs(\"span\",{className:\"ffm-box\",children:[/*#__PURE__*/_jsx(\"input\",{name:k,type:type,value:f[k]||\"\",onChange:e=>set(k,e.target.value),\"aria-invalid\":!!err[k],\"aria-describedby\":err[k]?`ffm-e-${k}`:undefined,autoComplete:k===\"name\"?\"name\":k===\"email\"?\"email\":k===\"phone\"?\"tel\":k===\"site\"?\"url\":\"off\",required:req}),/*#__PURE__*/_jsx(\"span\",{className:\"ffm-lab\",children:label}),/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true})]}),err[k]?/*#__PURE__*/_jsx(\"em\",{id:`ffm-e-${k}`,children:err[k]}):null]},k);const first=(f.name||\"\").trim().split(/\\s+/)[0]||\"\";return /*#__PURE__*/_jsxs(\"section\",{ref:root,className:`fu fu-sec ffm${on?\" is-on\":\"\"}`,style:{...cssVars(c),...B,...props.style||{}},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS_BASE+CSS_MOTION+CSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"fu-wrap ffm-in\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"ffm-card\",children:state===\"done\"?/*#__PURE__*/_jsxs(\"div\",{className:\"ffm-ok\",role:\"status\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"74\",height:\"74\",viewBox:\"0 0 74 74\",fill:\"none\",\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"37\",cy:\"37\",r:\"35\",stroke:\"currentColor\",strokeWidth:\"2\",pathLength:1}),/*#__PURE__*/_jsx(\"path\",{d:\"M23 38l9 9 19-20\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",pathLength:1})]}),/*#__PURE__*/_jsx(\"strong\",{style:D,children:successTitle.replace(\"{name}\",first||\"there\")}),/*#__PURE__*/_jsx(\"p\",{children:successText}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{setF({});setState(\"\");},children:againLabel})]}):/*#__PURE__*/_jsxs(\"form\",{onSubmit:submit,noValidate:true,children:[/*#__PURE__*/_jsx(Eyebrow,{text:eyebrow,on:on,M:M}),/*#__PURE__*/_jsx(Head,{text:heading,on:on,D:D,size:\"clamp(32px,3.2vw,52px)\",delay:60}),T.length?/*#__PURE__*/_jsxs(\"fieldset\",{className:\"ffm-topics\",children:[/*#__PURE__*/_jsx(\"legend\",{style:M,children:topicLabel}),T.map((x,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":i===topic,className:i===topic?\"is-on\":\"\",onClick:()=>setTopic(i),children:x},i))]}):null,/*#__PURE__*/_jsx(\"div\",{className:\"ffm-grid\",children:fields.map(([k,l,t,r])=>field(k,l,t,r))}),/*#__PURE__*/_jsxs(\"label\",{className:`ffm-f ffm-msg${f.msg?\" has-v\":\"\"}${err.msg?\" has-e\":\"\"}`,children:[/*#__PURE__*/_jsxs(\"span\",{className:\"ffm-box\",children:[/*#__PURE__*/_jsx(\"textarea\",{name:\"msg\",rows:4,value:f.msg||\"\",onChange:e=>{set(\"msg\",e.target.value);const t=e.target;t.style.height=\"auto\";t.style.height=Math.min(t.scrollHeight+2,420)+\"px\";},\"aria-invalid\":!!err.msg,\"aria-describedby\":err.msg?\"ffm-e-msg\":undefined}),/*#__PURE__*/_jsx(\"span\",{className:\"ffm-lab\",children:messageLabel}),/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true})]}),err.msg?/*#__PURE__*/_jsx(\"em\",{id:\"ffm-e-msg\",children:err.msg}):null]}),/*#__PURE__*/_jsxs(\"div\",{className:\"ffm-foot\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"submit\",className:\"ffm-send\",disabled:state===\"sending\",children:[/*#__PURE__*/_jsx(\"span\",{children:state===\"sending\"?\"Sending…\":submitLabel}),/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true,children:/*#__PURE__*/_jsx(IcoArrow,{s:15})})]}),state===\"fail\"?/*#__PURE__*/_jsx(\"p\",{className:\"ffm-fail\",role:\"alert\",children:failText.replace(\"{email}\",site.email||\"us\")}):/*#__PURE__*/_jsx(\"p\",{style:M,children:responseLine})]})]})}),/*#__PURE__*/_jsxs(\"aside\",{className:\"ffm-side\",style:rise(on,200),children:[/*#__PURE__*/_jsx(\"strong\",{style:D,children:sideTitle}),/*#__PURE__*/_jsx(\"ul\",{className:\"ffm-perks\",children:listOf(sideItems).map((x,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12.5l4.5 4.5L19 7.5\"})})}),x]},i))}),/*#__PURE__*/_jsxs(\"dl\",{children:[site.email?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"dt\",{style:M,children:emailLabel}),/*#__PURE__*/_jsx(\"dd\",{children:/*#__PURE__*/_jsx(\"a\",{href:`mailto:${site.email}`,children:site.email})})]}):null,site.phone?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"dt\",{style:M,children:phoneLabel}),/*#__PURE__*/_jsx(\"dd\",{children:/*#__PURE__*/_jsx(\"a\",{href:`tel:${cleanTel(site.phone)}`,children:site.phone})})]}):null,site.city?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"dt\",{style:M,children:cityLabel}),/*#__PURE__*/_jsx(\"dd\",{children:site.city})]}):null]})]})]})]});}const CSS=`\n.ffm{background:var(--fu-bone);color:var(--fu-ink);padding:10px 0 clamp(80px,9vw,150px)}\n.ffm-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:clamp(14px,1.6vw,24px);align-items:start}\n.ffm-card{padding:clamp(24px,3vw,48px);border-radius:32px;background:var(--fu-cloud)} .ffm-card form{display:grid;gap:22px}\n.ffm-topics{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:6px} .ffm-topics legend{margin-bottom:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fu-mut)}\n.ffm-topics button{height:44px;padding:0 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fu-ink) 16%,transparent);background:transparent;color:var(--fu-ink);font:inherit;font-size:14px;cursor:pointer;transition:background .3s,color .3s,border-color .3s} .ffm-topics button:hover{border-color:var(--fu-ink)} .ffm-topics button.is-on{background:var(--fu-ink);color:var(--fu-bone);border-color:var(--fu-ink)}\n.ffm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-items:start}\n.ffm-f{position:relative;display:block} .ffm-box{position:relative;display:block;padding-top:18px} .ffm-f input,.ffm-f textarea{width:100%;border:0;border-bottom:1px solid color-mix(in srgb,var(--fu-ink) 22%,transparent);background:transparent;outline:none;padding:10px 0 12px;font:inherit;font-size:17px;color:var(--fu-ink);resize:none;overflow:auto;min-height:120px;border-radius:0}\n.ffm-lab{position:absolute;left:0;top:30px;font-size:16px;color:var(--fu-mut);pointer-events:none;transform-origin:0 50%;transition:translate .35s cubic-bezier(.2,.8,.2,1),scale .35s cubic-bezier(.2,.8,.2,1),color .3s} .ffm-f:focus-within .ffm-lab,.ffm-f.has-v .ffm-lab{translate:0 -28px;scale:.74;color:var(--fu-mut);letter-spacing:.02em}\n.ffm-f input:focus-visible,.ffm-f textarea:focus-visible{outline:none!important;box-shadow:none!important} .ffm-f input,.ffm-f textarea{transition:border-color .3s ease}\n.ffm-box>i{position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--fu-ink);scale:0 1;transform-origin:0 50%;transition:scale .55s cubic-bezier(.2,.8,.2,1);pointer-events:none} .ffm-f:focus-within .ffm-box>i{scale:1 1} .ffm-f:focus-within input,.ffm-f:focus-within textarea{border-color:transparent} .ffm-msg .ffm-box>i{bottom:6px} .ffm-f.has-e .ffm-box>i{background:#B23A1A}\n.ffm-f em{display:block;margin-top:8px;font-style:normal;font-size:13px;color:#B23A1A} .ffm-f.has-e input,.ffm-f.has-e textarea{border-color:#B23A1A}\n.ffm-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px} .ffm-foot p{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fu-mut)} .ffm-fail{font-size:14px!important;letter-spacing:0!important;text-transform:none!important;color:#B23A1A!important}\n.ffm-send{display:flex;align-items:center;gap:16px;min-height:58px;padding:6px 6px 6px 26px;border:0;border-radius:999px;background:var(--fu-brass);color:var(--fu-cloud);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:background .35s} .ffm-send:hover{background:var(--fu-ink)} .ffm-send:disabled{opacity:.6}\n.ffm-send i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--fu-cloud);color:var(--fu-ink);rotate:-45deg;transition:rotate .5s cubic-bezier(.2,.9,.2,1)} .ffm-send:hover i{rotate:0deg}\n.ffm-ok{display:grid;gap:14px;justify-items:start;padding:clamp(20px,4vw,60px) 0;color:var(--fu-pine)} .ffm-ok svg circle,.ffm-ok svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:ffmDraw 1s cubic-bezier(.4,0,.2,1) forwards} .ffm-ok svg path{animation-delay:.55s} @keyframes ffmDraw{to{stroke-dashoffset:0}}\n.ffm-ok strong{font-size:clamp(32px,3.4vw,54px);font-weight:500;letter-spacing:-.045em;color:var(--fu-ink)} .ffm-ok p{margin:0;font-size:17px;line-height:1.6;color:color-mix(in srgb,var(--fu-ink) 78%,transparent)} .ffm-ok button{margin-top:6px;padding:12px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fu-ink) 18%,transparent);background:transparent;font:inherit;font-size:14px;cursor:pointer;color:var(--fu-ink)}\n.ffm-side{position:sticky;top:110px;display:grid;gap:18px;padding:clamp(22px,2.4vw,34px);border-radius:32px;background:var(--fu-pine);color:var(--fu-bone)} .ffm-side>strong{font-size:clamp(24px,2.2vw,34px);font-weight:500;letter-spacing:-.035em}\n.ffm-perks{list-style:none;margin:0;padding:0;display:grid;gap:12px} .ffm-perks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.45} .ffm-perks i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fu-brass);color:var(--fu-cloud);flex:none}\n.ffm-side dl{margin:0;display:grid} .ffm-side dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--fu-bone) 16%,transparent)} .ffm-side dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--fu-bone) 78%,transparent)} .ffm-side dd{margin:0;font-size:14.5px} .ffm-side dd a{color:var(--fu-bone);text-decoration:none}\n@media (max-width:999px){.ffm-in{grid-template-columns:1fr} .ffm-side{position:static}}\n@media (max-width:599px){.ffm-grid{grid-template-columns:1fr} .ffm-card{border-radius:24px} .ffm-send{width:100%;justify-content:space-between}}\n@media (prefers-reduced-motion:reduce){.ffm-ok svg circle,.ffm-ok svg path{stroke-dashoffset:0;animation:none}}\n`;addPropertyControls(FuForm,{variant:{type:ControlType.Enum,title:\"Variant\",options:[\"contact\",\"trade\"],optionTitles:[\"Contact\",\"Trade\"],defaultValue:\"contact\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Write to us\"},heading:{type:ControlType.String,title:\"Heading\",description:\"| = line break \\xb7 *word* = accent word\",defaultValue:\"Tell us about the *room.*\"},topics:{type:ControlType.String,title:\"Topics\",description:\"Separate with ;. Empty = no topic pills\",defaultValue:\"Free samples; An order; A showroom visit; Something else\"},topicLabel:{type:ControlType.String,title:\"Topic Label\",defaultValue:\"What is it about?\"},messageLabel:{type:ControlType.String,title:\"Message Label\",defaultValue:\"Message\"},submitLabel:{type:ControlType.String,title:\"Button\",defaultValue:\"Send message\"},successTitle:{type:ControlType.String,title:\"Success Title\",description:\"{name} = the first name typed\",defaultValue:\"Thank you, {name}.\"},successText:{type:ControlType.String,title:\"Success Text\",displayTextArea:true,defaultValue:\"A person from the workshop will answer within a day.\"},endpoint:{type:ControlType.String,title:\"Form Endpoint\",description:\"Formspree / Make / Zapier URL that accepts a JSON POST. Empty = validate and show the success state only\",defaultValue:\"\"},sideTitle:{type:ControlType.String,title:\"Side Title\",defaultValue:\"Other ways in\"},sideItems:{type:ControlType.String,title:\"Side Items\",description:\"Separate with ;\",displayTextArea:true,defaultValue:\"Visit a showroom — no appointment; Order six free fabric samples; Ask about a custom size\"},responseLine:{type:ControlType.String,title:\"Response Line\",defaultValue:\"Answers within one working day\"},requiredError:{type:ControlType.String,title:\"Required Error\",description:\"{field} = the field name\",defaultValue:\"Add {field}.\"},emailError:{type:ControlType.String,title:\"Email Error\",defaultValue:\"That email looks incomplete — check the part after @.\"},messageError:{type:ControlType.String,title:\"Message Error\",defaultValue:\"Write a line so we know how to help.\"},phoneError:{type:ControlType.String,title:\"Phone Error\",defaultValue:\"Check the number — digits, spaces and + only.\"},failText:{type:ControlType.String,title:\"Fail Text\",description:\"{email} = Site email\",defaultValue:\"That did not go through. Try again, or write to {email} directly.\"},againLabel:{type:ControlType.String,title:\"Again Label\",defaultValue:\"Send another\"},emailLabel:{type:ControlType.String,title:\"Email Label\",defaultValue:\"Email\"},phoneLabel:{type:ControlType.String,title:\"Phone Label\",defaultValue:\"Phone\"},cityLabel:{type:ControlType.String,title:\"City Label\",defaultValue:\"Workshop\"},...COLOR_CONTROLS,...FONT_CONTROLS});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FuForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"1440\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FuForm.map"],"mappings":"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"}