{"version":3,"file":"script_main.CiwffLOa.mjs","names":["N","useFonts","FONTS","useStill","useLive","useState","onTick","fontsOf","stack","wOf","useReduced","useRef","readCMS","useCMS","SW_BUILD","useSite","SEED","colorsOf","cssVars","useMemo","linkList","destOf","T","cleanTel","CSS_BASE","HD","NUM","MAXW","famOf","famCss","DEF","COLOR_CONTROLS","FONT_CONTROLS","BP_CONTROL","FM_CSS","imgOf","EMPTY_IMG","imgOr","useIso","useEffect","useLayoutEffect","S_","pairList","useFonts","FONTS","useStill","useLive","useState","fontsOf","stack","wOf","readCMS","useCMS","useRef","SW_BUILD","useSite","SEED","colorsOf","useId","pick","cssVars","HD","famOf","famCss","DEF","COLOR_CONTROLS","FONT_CONTROLS","BP_CONTROL","useIso","useEffect","useLayoutEffect","useLive","useState","fontsOf","stack","wOf","useRef","colorsOf","cssVars","_Fragment","famOf","famCss","DEF","COLOR_CONTROLS","FONT_CONTROLS","useEffect","useLayoutEffect","useState","useRef","useId","t","v","p","y","m","I","B","E","_","j","D","C","J","r","W","$","z","K","G","V","H","X","Q","Y","Z","tt","te","tr","ti","tn","ts","to","ta","tu","tl","th","tc","tf","td","tg","tv","ty","tp","tm","tw","tb","tI","tS","tU","tk","tL","tB","tF","tP","tN","tO","tx","tA","tq","tj","tD","i","n","s","o","a","u","l","h","c","d","w","b","e","T","x","F","N","A","R","tM","tT","U","S","tR","g","tC","p","l","d","x","T","g","s","n","t","r","o","y","a","h","f","t","v","p","y","m","I","B","E","_","j","D","C","J","r","W","$","z","K","G","V","H","X","Q","Y","Z","tt","te","tr","ti","tn","ts","to","ta","tu","tl","th","tc","tf","td","tg","tv","ty","tp","tm","tw","tb","tI","tS","tU","tk","tL","tB","tF","tP","tN","tO","tx","tA","tq","tj","tD","i","n","s","o","a","u","l","h","c","d","w","b","e","T","x","F","N","A","R","tM","tT","tR","g","tC","p","l","d","x","T","g","s","n","t","r","o","y","a","h","f","t","v","p","y","m","I","B","E","_","j","D","C","J","r","W","$","z","K","G","V","H","X","Q","Y","Z","tt","te","tr","ti","tn","ts","to","ta","tu","tl","th","tc","tf","td","tg","tv","ty","tp","tm","tw","tb","tI","tS","tU","tk","tL","tB","tF","tP","tN","tO","tx","tA","tq","tj","tD","i","n","s","o","a","u","l","h","c","d","w","b","e","T","x","F","N","A","R","tM","tT","tR","g","tC","p","l","d","x","T","g","s","n","t","r","o","y","a","h","f","p","y","r","n","o","a","u","l","h","d","T","x","g","d","s","n","t","r","o","y","Faq","Posts","Reviews","Guides","Destinations","Days","Tours","Site","useRef","React.useId","PropertyOverrides","_Fragment","React.createElement","SiteLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/BuqokAXEA2HJ6SYuaady/ZyJtjhJOBSiiqqcmGaPp/LfCmsRow.js","https:/framerusercontent.com/modules/T2pxq0dKVju3ZCfZtg5d/vGXp6StTsVqhlcrteSz3/LfFooter.js","https:/framerusercontent.com/modules/spb1FySvTJGjso9EVCgp/wQxAvqC85oNm44iI19eI/LfHeader.js","https:/framerusercontent.com/modules/OjXH1uSvUu8jLY5yovKf/F1PpDdIWT8EUoeikPEy6/LfLoader.js","https:/framerusercontent.com/modules/Be6RJSD15WvTDwdAw514/1ytaqEYlSvMJomauLPIZ/LfSmooth.js","https:/framerusercontent.com/modules/UpEeAl5mRJPL6w66wIDR/yqsjXuGi7xWCkXIQntym/esubuLK_s-0.js","https:/framerusercontent.com/modules/UpEeAl5mRJPL6w66wIDR/yqsjXuGi7xWCkXIQntym/esubuLK_s-1.js","https:/framerusercontent.com/modules/UpEeAl5mRJPL6w66wIDR/yqsjXuGi7xWCkXIQntym/esubuLK_s.js","https:/framerusercontent.com/modules/A5FvstQujo7pndEJrEbp/P1RsTcfuyQ0XY0jmahBq/gauL9_r3j-0.js","https:/framerusercontent.com/modules/A5FvstQujo7pndEJrEbp/P1RsTcfuyQ0XY0jmahBq/gauL9_r3j-1.js","https:/framerusercontent.com/modules/A5FvstQujo7pndEJrEbp/P1RsTcfuyQ0XY0jmahBq/gauL9_r3j.js","https:/framerusercontent.com/modules/axFu2kuxCmX1zela051f/NwWw4eiNfIkt0UtlcqJd/owc3acO2r-0.js","https:/framerusercontent.com/modules/axFu2kuxCmX1zela051f/NwWw4eiNfIkt0UtlcqJd/owc3acO2r-1.js","https:/framerusercontent.com/modules/axFu2kuxCmX1zela051f/NwWw4eiNfIkt0UtlcqJd/owc3acO2r.js","https:/framerusercontent.com/modules/97X7IKjUz6XFcd60xpdU/0KDEteceZKi8pquaMyKe/whvn0hl2s-0.js","https:/framerusercontent.com/modules/97X7IKjUz6XFcd60xpdU/0KDEteceZKi8pquaMyKe/whvn0hl2s-1.js","https:/framerusercontent.com/modules/97X7IKjUz6XFcd60xpdU/0KDEteceZKi8pquaMyKe/whvn0hl2s.js","https:/framerusercontent.com/modules/04JtfLBnfbG3n2h68hEN/VvXgKRV03yHNfYPqffMx/oWSvwkW0_.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const src=v=>v&&typeof v===\"object\"?String(v.src||\"\"):typeof v===\"string\"?v:\"\";/**\n * LANDFALL — CMS bridge row. One renders per CMS item inside a hidden Collection List in the Site Layout, so every page carries the live CMS and the sections read these rows. Do not place it by hand or delete the \"CMS Bridge\" layers.\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function LfCmsRow(props){const{kind=\"\",slug=\"\",f1=\"\",f2=\"\",f3=\"\",f4=\"\",f5=\"\",f6=\"\",f7=\"\",f8=\"\",f9=\"\",f10=\"\",f11=\"\",f12=\"\",f13=\"\",f14=\"\",f15=\"\",f16=\"\",f17=\"\",f18=\"\",f19=\"\",f20=\"\",f21=\"\",f22=\"\",f23=\"\",f24=\"\",f25=\"\",f26=\"\",f27=\"\",f28=\"\",f29=\"\",f30=\"\",n1=0,n2=0,img,img2,img3,img4}=props;let cv=false;try{cv=RenderTarget.current()===RenderTarget.canvas;}catch(e){}if(cv&&kind===\"bridge\")return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",left:8,top:56,font:\"500 11px/1.5 ui-monospace, Menlo, monospace\",padding:\"3px 8px\",borderRadius:4,background:\"#141414\",color:\"#F4F1EA\",whiteSpace:\"nowrap\",pointerEvents:\"none\"},children:\"CMS Bridge: hidden lists that feed every section. Keep these layers, do not edit or delete them.\"});return /*#__PURE__*/_jsx(\"span\",{\"data-lf-row\":kind,\"data-slug\":slug,\"data-f1\":f1,\"data-f2\":f2,\"data-f3\":f3,\"data-f4\":f4,\"data-f5\":f5,\"data-f6\":f6,\"data-f7\":f7,\"data-f8\":f8,\"data-f9\":f9,\"data-f10\":f10,\"data-f11\":f11,\"data-f12\":f12,\"data-f13\":f13,\"data-f14\":f14,\"data-f15\":f15,\"data-f16\":f16,\"data-f17\":f17,\"data-f18\":f18,\"data-f19\":f19,\"data-f20\":f20,\"data-f21\":f21,\"data-f22\":f22,\"data-f23\":f23,\"data-f24\":f24,\"data-f25\":f25,\"data-f26\":f26,\"data-f27\":f27,\"data-f28\":f28,\"data-f29\":f29,\"data-f30\":f30,\"data-n1\":String(n1),\"data-n2\":String(n2),\"data-img\":src(img),\"data-img2\":src(img2),\"data-img3\":src(img3),\"data-img4\":src(img4),\"aria-hidden\":true,style:{...props.style,display:\"block\",width:1,height:1,overflow:\"hidden\",opacity:0,pointerEvents:\"none\"}});}const N=t=>({type:ControlType.Number,title:t,defaultValue:0,min:-1e6,max:1e6,step:.01});const F_=t=>({type:ControlType.String,title:t,defaultValue:\"\"});addPropertyControls(LfCmsRow,{kind:F_(\"Kind\"),slug:F_(\"Slug\"),f1:F_(\"F1\"),f2:F_(\"F2\"),f3:F_(\"F3\"),f4:F_(\"F4\"),f5:F_(\"F5\"),f6:F_(\"F6\"),f7:F_(\"F7\"),f8:F_(\"F8\"),f9:F_(\"F9\"),f10:F_(\"F10\"),f11:F_(\"F11\"),f12:F_(\"F12\"),f13:F_(\"F13\"),f14:F_(\"F14\"),f15:F_(\"F15\"),f16:F_(\"F16\"),f17:F_(\"F17\"),f18:F_(\"F18\"),f19:F_(\"F19\"),f20:F_(\"F20\"),f21:F_(\"F21\"),f22:F_(\"F22\"),f23:F_(\"F23\"),f24:F_(\"F24\"),f25:F_(\"F25\"),f26:F_(\"F26\"),f27:F_(\"F27\"),f28:F_(\"F28\"),f29:F_(\"F29\"),f30:F_(\"F30\"),n1:N(\"N1\"),n2:N(\"N2\"),img:{type:ControlType.ResponsiveImage,title:\"Img\"},img2:{type:ControlType.ResponsiveImage,title:\"Img2\"},img3:{type:ControlType.ResponsiveImage,title:\"Img3\"},img4:{type:ControlType.ResponsiveImage,title:\"Img4\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LfCmsRow\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LfCmsRow.map","// ===== LANDFALL shared scaffold (10-12 retoken: newsprint #F4F1EA, ink #141414, accent text-safe red #C3201A, signal red #D7261E for fills; Newsreader / Inter Tight / DM Mono) — forked from IRIS VALE («THE SHEET»: warm paper desk, near-black ink, deep teal accent, highlighter-yellow signal, the white sheet; Instrument Serif display, Figtree body, DM Mono for labels) (inlined by mk.py; each Framer code file must be self-contained) =====\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useMemo,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const FONTS=\"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Instrument+Serif:ital@0;1&family=DM+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;// night or bone-white text on a CMS brand colour (luminance test; the brand colour is data, not a palette token)\nconst onBrand=hex=>{const m=String(hex||\"\").replace(\"#\",\"\").match(/^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(!m)return\"var(--lf-cloud)\";const[r,g,b]=[m[1],m[2],m[3]].map(x=>{const v=parseInt(x,16)/255;return v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4);});const L=.2126*r+.7152*g+.0722*b;return L>.18?\"var(--lf-ink)\":\"var(--lf-cloud)\";};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.\n// Responsive delivery. Framer uploads: the resizer serves ?scale-down-to=N. Unsplash stand-ins: ?w=N. The src is already the smallest width that covers the slot (a 52px avatar never pulls a 1600px photo), so a big image is never decoded for a small box — decode is what stalls scrolling.\nconst RS_W=[160,320,480,800,1200,1600];const rsTarget=sizes=>{const t=String(sizes||\"\").trim().split(\",\").pop()||\"\";const px=t.match(/(\\d+(?:\\.\\d+)?)px/);const vw=t.match(/(\\d+(?:\\.\\d+)?)vw/);const want=px?parseFloat(px[1])*2:vw?parseFloat(vw[1])/100*1600*1.25:1600;return RS_W.find(w=>w>=want)||1600;};// tall = height / width of a PORTRAIT picture (9:16 → 1.78). Framer's scale-down-to caps the LONG edge, so a 512 step of a 9:16 file is only 288 px wide: the w descriptors are divided by tall so the browser picks a step that is really wide enough.\n// RSF — the ONE url of the whole file (Stage 6): a slot that draws the full picture with a plain src (the hero) must ask for the same url as the largest srcSet step, or the file travels twice.\nconst RSF=u=>{const b=String(u||\"\").split(\"?\")[0];return/framerusercontent\\.com\\/images\\//.test(b)?`${b}?scale-down-to=2048`:String(u||\"\");};// Stage 6 — each picture loads ONCE per page. The browser picks a srcSet step from `sizes`, so two slots of one file with different sizes pulled two or three copies of it (22 files on the Stage 5 publish).\n// RS therefore sorts every slot into a CLASS per screen and writes canonical sizes, so all slots of a class resolve to the same url: phone (≤ 809px) thumb 512 · mid 1024 · full; wider: thumb 512 · mid 1024 · full.\n// The class comes from the caller's sizes (× tall for a portrait file): the real need in px. `force` = { d, p } pins a class where a page already carries that file at another size (the hero's day pictures in LfDay, the tour cards on the home page).\n// ★ Framer law (measured on b4660cd64): the published page holds ONE <img> for the three breakpoint copies and joins their `sizes` as «(min-width: 1200px) <desktop sizes>, (min-width: 810px) and (max-width: 1199.98px) <tablet sizes>, (max-width: 809.98px) <phone sizes>».\n// A sizes value that carries its own media query or a comma breaks that list (the browser then takes the first bare length for every screen: phones fetched the whole file). So each copy writes ONE bare length:\n// RS_PH is set by bpOf() of the section that is rendering (useSec runs before any RS call of that render), and the phone copy writes the phone class.\nlet RS_PH=false;const RS_CAN={d:{thumb:\"256px\",mid:\"1000px\",full:\"2040px\"},p:{thumb:\"100px\",mid:\"500px\",full:\"2040px\"}};const rsNeed=(term,vwPx)=>{const px=term.match(/(\\d+(?:\\.\\d+)?)px\\s*$/);const vw=term.match(/(\\d+(?:\\.\\d+)?)vw\\s*$/);return px?parseFloat(px[1]):vw?parseFloat(vw[1])/100*vwPx:vwPx;};const rsClasses=(sizes,tall)=>{const terms=String(sizes||\"\").split(\",\").map(x=>x.trim()).filter(Boolean);const last=terms[terms.length-1]||\"100vw\";const ph=terms.find(t=>{const m=t.match(/max-width:\\s*(\\d+)px/);return!!m&&+m[1]<=1099;})||last;const dn=rsNeed(last,1440)*tall;const pn=rsNeed(ph.replace(/^\\([^)]*\\)\\s*/,\"\"),390)*tall*2;return{d:dn<=110?\"thumb\":dn<=480?\"mid\":\"full\",p:pn<=220?\"thumb\":pn<=1100?\"mid\":\"full\"};};const RS=(u,sizes,tall=1,force)=>{const s=String(u||\"\");const b=s.split(\"?\")[0];const tl=Math.max(1,tall||1);if(/framerusercontent\\.com\\/images\\//.test(s)){const c0=rsClasses(sizes,tl);const c={d:force&&force.d||c0.d,p:force&&force.p||c0.p};const at=k=>`${b}?scale-down-to=${k===\"thumb\"?512:k===\"mid\"?1024:2048}`;return{src:at(c.d),full:at(\"full\"),srcSet:`${at(\"thumb\")} 512w, ${at(\"mid\")} 1024w, ${at(\"full\")} 2048w`,sizes:RS_PH?RS_CAN.p[c.p]:RS_CAN.d[c.d]};}if(/images\\.unsplash\\.com\\//.test(s)){const w=rsTarget(sizes);const q=n=>`${b}?w=${n}&q=70&fm=jpg&auto=format`;return{src:q(w),srcSet:RS_W.filter(n=>n<=Math.max(w*2,480)).map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}// Wikimedia Commons stand-ins from media/standins.json (thumb urls …/1280px-Name.jpg): only the standard thumb steps exist. A 1920px url (the hero photo) is passed through untouched.\nconst wm=s.match(/wikimedia\\.org\\/.*\\/(\\d+)px-/);if(wm&&+wm[1]<=1280){const w=rsTarget(sizes);const q=n=>b.replace(/\\/\\d+px-/,`/${n}px-`);const st=[500,960,1280].filter(n=>n<=+wm[1]);return{src:q(st.find(n=>n>=w)||st[st.length-1]),srcSet:st.map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}return{src:s};};// 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(\"lf-fonts\"))return;const l=document.createElement(\"link\");l.id=\"lf-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 ov=String(hint||\"\").toLowerCase();const[w,setW]=useState(ov===\"phone\"?390:ov===\"tablet\"?810:1440),[vh,setVh]=useState(ov===\"phone\"?844:ov===\"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;};// One shared rAF for every section. Each frame runs ALL reads first (layout reads: getBoundingClientRect, offsetHeight), then ALL writes (CSS vars, transforms).\n// Interleaving read → write → read made the browser recalc the whole page's style once per section per frame (layout thrashing: 20+ recalcs a frame).\nfunction onTick(fn,read,pre){if(typeof window===\"undefined\")return()=>{};const w=window;if(!w.__ovTick){w.__ovTick={pre:new Set,subs:new Set,reads:new Set,raf:0};const loop=t=>{const T=w.__ovTick;T.pre.forEach(r=>r(t));T.reads.forEach(r=>r(t));T.subs.forEach(s=>s(t));T.raf=requestAnimationFrame(loop);};w.__ovTick.raf=requestAnimationFrame(loop);}w.__ovTick.subs.add(fn);if(read)w.__ovTick.reads.add(read);if(pre)w.__ovTick.pre.add(pre);return()=>{w.__ovTick.subs.delete(fn);if(read)w.__ovTick.reads.delete(read);if(pre)w.__ovTick.pre.delete(pre);};}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;};// Iris Vale tokens «THE SHEET»: Paper(bone) = warm desk #F3F1EC · Ink #1A1A1C (buttons are ink) · Accent(brass) = deep teal #1F5F57 (the italic word, rules, the print head; 6:1 on Paper, text-safe) · Signal(pine) = highlighter yellow #FFE14D (marks and fills only; never text) · Line(fog) #DDD9D0 · Muted(stone) #5C5B58 (5.9:1) · White(cloud) = the sheet · Dark(night) #121214.\n// LANDFALL «THE CABIN» (10-13): Paper(bone) = cabin cream #ECE6DA · Ink #16201C · Accent(brass) = sea green #0F5C4E (text-safe) · Signal(pine) = flare orange #F2542D (fills, the cursor; white 13 px bold on it only) · Line(fog) #D3CBBB · Muted(stone) #56605A · White(cloud) = the window rim #F8F4EB · Dark(night) #0C1210.\nconst DEF={bone:\"#ECE6DA\",ink:\"#16201C\",brass:\"#0F5C4E\",pine:\"#F2542D\",fog:\"#D3CBBB\",stone:\"#56605A\",cloud:\"#F8F4EB\",night:\"#0C1210\"};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});// a Style-bound colour arrives as var(--token-…, #hex): let the browser resolve it to r,g,b for canvas drawing\nconst cssRgb=(el,col,fb)=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.color=col;el.appendChild(p);const v=getComputedStyle(p).color;p.remove();const m=v.match(/(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?)/);return m?`${Math.round(+m[1])},${Math.round(+m[2])},${Math.round(+m[3])}`:fb;};const cssVars=c=>({\"--lf-bone\":c.bone,\"--lf-ink\":c.ink,\"--lf-brass\":c.brass,\"--lf-pine\":c.pine,\"--lf-fog\":c.fog,\"--lf-stone\":c.stone,\"--lf-cloud\":c.cloud,\"--lf-night\":c.night});const COLOR_CONTROLS={bone:{type:ControlType.Color,title:\"Paper\",description:\"The cream band and pale text on the night ground\",defaultValue:DEF.bone},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:DEF.ink},brass:{type:ControlType.Color,title:\"Accent\",description:\"Sea green: the italic word, rules under links and arrows on a light ground\",defaultValue:DEF.brass},pine:{type:ControlType.Color,title:\"Signal\",description:\"Flare orange: route dots and lines, badges, the main pill and the cursor. Fills only, never small text on a light ground\",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\",description:\"Plates and cards\",defaultValue:DEF.cloud},night:{type:ControlType.Color,title:\"Dark\",description:\"The night ground of the site and the shades over photographs\",defaultValue:DEF.night}};// ---- Fonts: Custom Fonts toggle → Font controls; off = Fraunces / Geist / DM 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:\"sans-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 NUMF=\"var(--lf-font-m, 'DM Mono'), ui-monospace, Menlo, monospace\";// Site-wide fonts: the Header (Site Layout, every page) writes --lf-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(`--lf-font-${k}:${fam}`);v.push(`--lf-font-${k}w:${wOf(f,w)}`);}};put(\"d\",p.displayFont,600);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(--lf-font-d, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.displayFont,400):\"var(--lf-font-dw, 600)\",fontStyle:on&&p.displayFont&&p.displayFont.fontStyle?p.displayFont.fontStyle:\"normal\"};const B={fontFamily:stack(on,p.bodyFont,\"var(--lf-font-b, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.bodyFont,400):\"var(--lf-font-bw, 400)\"};const M={fontFamily:stack(on,p.monoFont,\"var(--lf-font-m, 'DM Mono')\",\"ui-monospace, 'SF Mono', Menlo, monospace\"),fontWeight:on?wOf(p.monoFont,500):\"var(--lf-font-mw, 500)\"};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}};// In-page CTA jumps (\"#demo\", \"/#demo\"): scroll to the section when it is on this page, otherwise go to it on the home page.\nfunction jumpTo(e,href){try{const m=String(href||\"\").match(/^\\/?#([\\w-]+)$/);if(!m)return;const el=document.getElementById(m[1]);if(el){e.preventDefault();const W=window;const L=W.__ltLenis||W.__vcLenis||W.lenis;if(L&&L.scrollTo)L.scrollTo(el,{offset:-20});else el.scrollIntoView({behavior:\"smooth\",block:\"start\"});try{history.replaceState(null,\"\",\"#\"+m[1]);}catch(x){}}else if(href.startsWith(\"#\")){e.preventDefault();window.location.href=\"/\"+href;}}catch(x){}}// display text (section headlines, card titles, prices): Fraunces 400, tracking −.04em. With a section's Custom Fonts on, the picked font is used as is.\nconst HD=D=>({...D,fontWeight:typeof D.fontWeight===\"number\"?D.fontWeight:\"var(--lf-font-dw, 600)\",letterSpacing:\"-.04em\"});// numbers in display type keep their columns (counters never jiggle)\nconst NUM={fontVariantNumeric:\"tabular-nums lining-nums\"};// font stacks as CSS: a section root sets --lf-fd / --lf-fb / --lf-fm (useSec does), so shared classes (.lf-mono, .lf-eb, .lf-chip …) take the mono font without an inline style\nconst FD_CSS=\"var(--lf-fd,var(--lf-font-d,'Bricolage Grotesque'),system-ui,-apple-system,Arial,sans-serif)\";const FM_CSS=\"var(--lf-fm,var(--lf-font-m,'DM Mono'),ui-monospace,'SF Mono',Menlo,monospace)\";// canvas text: ctx.font cannot read var() — resolve the family on a probe inside the section first\nconst cssFont=(el,family,fb=\"monospace\")=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.fontFamily=String(family||fb);el.appendChild(p);const v=getComputedStyle(p).fontFamily||fb;p.remove();return v;};// ---- Buttons = the hero's «Book this clean» pill. solid = green pill, an ink fill sweeps in from the left on hover / focus and the arrow steps right · ghost = hairline pill that fills white · quiet = small sand pill (44 px) for second-rank actions.\n// icon: \"arrow\" | \"down\" | \"none\". Default: solid → arrow, ghost / quiet → none. On the green band the solid pill is white with green text.\nconst BtnArrow=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})});const BtnDown=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v13M6 12l6 6 6-6M5 21h14\"})});const Btn=({href,label,kind=\"solid\",icon,style,className,onClick,ariaLabel,cur,as,disabled})=>{if(!label||!String(label).trim())return null;const ic=icon||(kind===\"solid\"?\"arrow\":\"none\");const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"lf-btn-l\",children:label}),ic!==\"none\"?/*#__PURE__*/_jsx(\"b\",{className:`lf-btn-a is-${ic}`,\"aria-hidden\":true,children:ic===\"down\"?/*#__PURE__*/_jsx(BtnDown,{}):/*#__PURE__*/_jsx(BtnArrow,{})}):null]});const cls=`lf-btn lf-${kind}${ic!==\"none\"?\" has-a\":\"\"}${className?\" \"+className:\"\"}`;if(as===\"button\"||!href)return /*#__PURE__*/_jsx(\"button\",{type:onClick?\"button\":\"submit\",className:cls,\"data-cur\":cur||\"go\",onClick:onClick,\"aria-label\":ariaLabel,disabled:disabled,style:style,children:inner});const ext=/^https?:\\/\\//.test(href||\"\");return /*#__PURE__*/_jsx(\"a\",{className:cls,\"data-cur\":cur||\"open\",href:href,target:ext?\"_blank\":undefined,rel:ext?\"noopener\":undefined,onClick:onClick||(e=>jumpTo(e,href)),\"aria-label\":ariaLabel,style:style,children:inner});};// More — the text link under a section (\"All services →\"): a green rule draws under it on hover / focus, the arrow steps right. n = an optional small mono count before it.\nconst More=({href,label,n,cur,className,style})=>label&&String(label).trim()?/*#__PURE__*/_jsxs(\"a\",{className:`lf-more${className?\" \"+className:\"\"}`,href:href||\"/\",\"data-cur\":cur||\"open\",style:style,children:[n?/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-n\",children:n}):null,/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-l\",children:label}),/*#__PURE__*/_jsx(IcoArrow,{s:15})]}):null;// Label — the mono caps line (DM Mono 11, .12em): above a headline, on a card, next to a number. dot = the mint live dot in front. Static; use the motion layer's Eyebrow when it should rise in.\nconst Label=({t,dot=false,className,style})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-label${className?\" \"+className:\"\"}`,style:style,children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;// Chip — the hero's pill. tone: \"\" white pill with a soft shadow (on the ground) · \"sand\" sand pill (inside white cards) · \"fill\" green pill, white text · \"mut\" no plate, muted text. dot = the mint live dot (the availability chip).\nconst Chip=({t,tone=\"\",dot=false,className})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-chip${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,children:[dot?/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}):null,t]}):null;// Pick — a chip you can press (room chips, frequency switch, filters). In the flow, never sticky. Sand pill → green when on. 46 px tall like the hero's quote chips.\nconst Pick=({label,on,onClick,count,cur})=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`lf-pick${on?\" is-on\":\"\"}`,\"aria-pressed\":on,onClick:onClick,\"data-cur\":cur||(on?\"picked\":\"pick\"),children:[label,count!==undefined&&count!==\"\"?/*#__PURE__*/_jsx(\"em\",{children:count}):null]});// Tick — a mint disc whose check DRAWS once when `on` (pass `on || still`). tone \"line\" = a hairline ring until it is on (checklist points). Decorative: the text next to it carries the meaning.\nconst Tick=({on=true,s=24,delay=0,tone=\"\",className})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-tick${on?\" is-on\":\"\"}${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,\"aria-hidden\":true,style:{width:s,height:s,[\"--lf\"]:`${delay}ms`},children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:Math.round(s*.58),height:Math.round(s*.58),fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{pathLength:1,d:\"M5 12.5l4.5 4.5L19 7.5\"})})});// Veil — THE WIPE for any picture: a pale veil sits on the child and slides off left → right ONCE when `on` (≤ .9 s, transform only). Change `k` (a string, e.g. the picture's slug) to wipe again when the picture swaps.\n// Wrap a Pic / img: <Veil on={on || still} k={row.slug}><Pic … /></Veil>. Still renders and reduced motion show the picture plain.\nconst Veil=({on,k=\"\",delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-veil${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:style,children:[children,/*#__PURE__*/_jsx(\"i\",{className:\"lf-veil-v\",\"aria-hidden\":true,\"data-gate-skip\":true,style:{[\"--lf\"]:`${delay}ms`}},k)]});function useNearFocus(root,live){useEffect(()=>{if(!live||!root.current)return;const el=root.current;const f=e=>{const t=e.target;const sc=t.closest?.(\".lf-inring\");if(!sc)return;try{t.scrollIntoView({block:\"nearest\",inline:\"nearest\"});}catch(x){}};el.addEventListener(\"focusin\",f);return()=>el.removeEventListener(\"focusin\",f);},[live]);}// Roll — a rolling mono number: every digit is a 0–9 column that slides to its value; separators stay put. rm = no transition.\nconst Roll=({text,rm=false,cls})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-roll${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,\"aria-hidden\":true,children:String(text).split(\"\").map((ch,i)=>/\\d/.test(ch)?/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg\",children:/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg-c\",style:{[\"--d\"]:+ch},children:[0,1,2,3,4,5,6,7,8,9].map(d=>/*#__PURE__*/_jsx(\"i\",{children:d},d))})},i):/*#__PURE__*/_jsx(\"span\",{className:\"lf-sep\",children:ch},i))});// Count — counts up once when `on` (\"2,140\", \"48,200\", \"99\", \"0.8 s\"): keeps prefix, suffix and commas; the final value is in the server HTML and in aria-label.\nconst Count=({to,on,rm=false,ms=1400,cls,style})=>{const v=useCount(to,on,rm,ms);return /*#__PURE__*/_jsx(\"span\",{className:`lf-count lf-num${cls?\" \"+cls:\"\"}`,style:style,\"aria-label\":String(to||\"\"),children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,children:v})});};// Md — mini markdown for CMS bodies: blank line = paragraph, \"## \" = h3, \"- \" = list item, \"> \" = quote, **bold**, `code`, ``` fenced block ```. Never dangerouslySetInnerHTML.\nconst mdInline=t=>String(t).split(/(\\*\\*[^*]+\\*\\*|`[^`]+`)/g).map((x,i)=>x.length>4&&x.startsWith(\"**\")&&x.endsWith(\"**\")?/*#__PURE__*/_jsx(\"strong\",{children:x.slice(2,-2)},i):x.length>2&&x.startsWith(\"`\")&&x.endsWith(\"`\")?/*#__PURE__*/_jsx(\"code\",{children:x.slice(1,-1)},i):x);const Md=({text,D,cls})=>{const out=[];let list=[];let code=null;const flush=()=>{if(list.length){out.push(/*#__PURE__*/_jsx(\"ul\",{children:list.map((x,i)=>/*#__PURE__*/_jsx(\"li\",{children:mdInline(x)},i))},\"u\"+out.length));list=[];}};const block=()=>{if(code){out.push(/*#__PURE__*/_jsx(\"pre\",{tabIndex:0,children:/*#__PURE__*/_jsx(\"code\",{children:code.join(\"\\n\")})},\"c\"+out.length));code=null;}};String(text||\"\").split(\"\\n\").forEach(raw=>{const l=raw.trim();if(l.startsWith(\"```\")){if(code)block();else{flush();code=[];}return;}if(code){code.push(raw.replace(/\\s+$/,\"\"));return;}if(!l)return;if(l.startsWith(\"- \")){list.push(l.slice(2));return;}flush();if(l.startsWith(\"## \"))out.push(/*#__PURE__*/_jsx(\"h3\",{style:D?HD(D):undefined,children:l.slice(3)},out.length));else if(l.startsWith(\"> \"))out.push(/*#__PURE__*/_jsx(\"blockquote\",{children:mdInline(l.slice(2))},out.length));else out.push(/*#__PURE__*/_jsx(\"p\",{children:mdInline(l)},out.length));});block();flush();return /*#__PURE__*/_jsx(\"div\",{className:`lf-md${cls?\" \"+cls:\"\"}`,children:out});};const Rule=({on,dir=\"x\",delay=0,rm=false,style,cls})=>/*#__PURE__*/_jsx(\"i\",{className:`lf-rule-${dir}${on?\" is-on\":\"\"}${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},\"aria-hidden\":true});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 6l6 6-6 6\"})});const IcoCheck=({s=12})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12.5l4.5 4.5L19 7.5\"})});const IcoPlus=({s=14})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\"})});// Scribble — a crayon mark that DRAWS itself once when `on` (pass `on || still`): kind \"underline\" (under a word, width 100%) · \"circle\" · \"arrow\" · \"wave\" · \"star\". tone = which crayon (0..3 of the four: coral, sky, sunflower, green) or a hex. Decorative (aria-hidden); the text next to it carries the meaning.\nconst CRAYONS=[\"var(--lf-brass)\",\"#5B9BD5\",\"var(--lf-pine)\",\"#2E7D5B\"];const SCRIB={underline:[\"0 0 200 24\",\"M4 16c40-10 80-8 120-6s50 2 72-4\"],circle:[\"0 0 120 120\",\"M60 14c30-4 50 18 46 46s-26 50-56 46S12 80 16 54 36 18 60 14z\"],arrow:[\"0 0 120 60\",\"M6 32c30-10 60-12 90-6m-18-16 22 16-20 20\"],wave:[\"0 0 200 40\",\"M4 28q24-30 48 0t48 0 48 0 48 0\"],star:[\"0 0 100 100\",\"M50 8v26M50 66v26M8 50h26M66 50h26M20 20l18 18M62 62l18 18M80 20 62 38M38 62 20 80\"]};const Scribble=({on,kind=\"underline\",tone=0,w=7,className,style})=>{const[vb,d]=SCRIB[kind]||SCRIB.underline;const col=typeof tone===\"number\"?CRAYONS[tone%CRAYONS.length]:tone;return /*#__PURE__*/_jsx(\"svg\",{className:`lf-scrib${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,viewBox:vb,preserveAspectRatio:\"none\",\"aria-hidden\":true,style:style,fill:\"none\",stroke:col,strokeWidth:w,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:d,pathLength:1})});};// Pic — a CMS picture in a ratio box: width / height attributes (no layout shift), lazy, responsive srcSet, night ground while it loads, a hairline on top. Children sit above the picture (put text on a .lf-plate).\nconst ratioWH=ratio=>{const m=String(ratio||\"\").match(/([\\d.]+)\\s*\\/\\s*([\\d.]+)/);const r=m?parseFloat(m[1])/Math.max(.01,parseFloat(m[2])):1;return{w:1600,h:Math.round(1600/(r||1))};};const Pic=({src,alt=\"\",ratio=\"16/10\",sizes=\"(max-width: 809px) 100vw, 50vw\",focus=\"50% 50%\",radius=20,eager=false,className,style,children})=>{const im=RS(src,sizes);const d=ratioWH(ratio);return /*#__PURE__*/_jsxs(\"span\",{className:`lf-pic${className?\" \"+className:\"\"}`,style:{aspectRatio:ratio,borderRadius:radius,...style||{}},children:[src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,sizes:im.sizes,alt:alt,width:d.w,height:d.h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus}}):null,children]});};// section breakpoints from the MEASURED root width (useSize with the bpHint): the same thresholds as the hero. Never a bare 1440 guess.\nconst bpOf=w=>{const ph=w<810,tb=!ph&&w<1100,xs=w<360;RS_PH=ph;return{ph,tb,xs,cls:(ph?\" is-ph\":tb?\" is-tb\":\"\")+(xs?\" is-xs\":\"\")};};const CSS_BASE=`\n/* BRIGHTWORK base \\xabTHE CLEAR PANE\\xbb. The page is LIGHT: ground --lf-bone #F4F0E8 \\xb7 white cards --lf-cloud \\xb7 sand wells --lf-sand ≈ #E9E3D8 (.lf-sand on a section, .lf-plate.is-well on a card) \\xb7 ink --lf-ink #1A1A1C. .lf-lime = the ONE green band (--lf-brass, white text; LfPricing only). .lf-well (dark) exists in the CSS but NO section uses it.\n   CASCADE-ORDER LAW: every component re-injects this CSS, so a LATER component's base rule beats an earlier component's single-class rule. Override a base class on the same element with 2+ classes (.shwk-card.lf-plate{…}). Section rules like \".lfxx a{color:inherit}\" beat one class too — shared colours here always use two. */\n:where(.bw){position:relative} .lf-sec,.lf-sec *{box-sizing:border-box;min-width:0} .lf-sec{-webkit-font-smoothing:antialiased} :where(.bw) a{color:inherit} html,body{overflow-x:clip}\n.lf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}\n/* focus: a 2px lime ring, 4px out (the hero's). On the lime band the ring is night; .lf-inring = ring inside the box (scrollers, rows that touch an edge) */\n:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline:2px solid var(--lf-brass,#0E5B4A)!important;outline-offset:4px!important}\n:where(.lf-lime,.lf-well) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-cloud,#FFFFFF)!important}\n:where(.lf-lime .lf-plate) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-brass,#0E5B4A)!important}\n.lf-sec :where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin:104px 0 28px}\n:where(.lf-inring) :where(a[href],button,input,summary,[tabindex]):focus-visible,:where(a[href],button,input,summary,[tabindex]).lf-inring:focus-visible{outline-offset:-3px!important}\n/* TEXT-SAFE tokens per ground. --lf-fg = the ground's text \\xb7 --lf-mut = muted text (stone: 6.65:1 on the ground, 6.16:1 on a plate) \\xb7 --lf-acc = lime as text (dark grounds only) \\xb7 --lf-hair / --lf-hair2 = 14% / 22% ink hairlines.\n   Violet (--lf-pine) is a FILL only: bars, rules, the struck value's line — never small text. */\n.bw{--lf-shade:color-mix(in srgb,var(--lf-night) 67%,#000);--lf-sand:color-mix(in srgb,var(--lf-bone) 52%,var(--lf-fog));--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-brass);--lf-hair:color-mix(in srgb,var(--lf-ink) 14%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 22%,transparent)}\n/* section grounds: ground (default) \\xb7 lf-well = the night well \\xb7 lf-lime = THE lime band (night text; lime-as-text becomes night) */\n.lf-sec{background:var(--lf-bone);color:var(--lf-fg)} .lf-sec.lf-sand{background:var(--lf-sand)} .lf-sec.lf-well{background:var(--lf-night);--lf-fg:var(--lf-bone);--lf-mut:color-mix(in srgb,var(--lf-bone) 72%,var(--lf-night));--lf-acc:var(--lf-pine);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-bone) 16%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-bone) 26%,transparent)}\n.lf-sec.lf-lime{background:var(--lf-brass);--lf-fg:var(--lf-cloud);--lf-mut:color-mix(in srgb,var(--lf-cloud) 82%,var(--lf-brass));--lf-acc:var(--lf-cloud);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-cloud) 20%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-cloud) 38%,transparent)}\n/* Cards: white, 24px radius, a soft shadow, no hairline. A card resets the text tokens (also inside the green band). .is-well = a sand well (flat, no shadow). */\n.lf-plate{position:relative;border-radius:24px;background:var(--lf-cloud);--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-ink) 12%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 20%,transparent);color:var(--lf-fg);box-shadow:0 14px 44px color-mix(in srgb,var(--lf-ink) 7%,transparent)}\n.lf-plate.is-well{background:var(--lf-sand);box-shadow:none}\n/* section scaffold: .lf-wrap = the hero's container (clamp(1280px,92vw,1520px), side padding 56 / 40 tablet / 20 phone, set by .is-tb / .is-ph on the section root from useSize) \\xb7 .lf-pad = the vertical rhythm */\n.lf-wrap{position:relative;width:100%;max-width:${MAXW};margin:0 auto;padding-left:56px;padding-right:56px}\n.lf-sec.is-tb .lf-wrap{padding-left:40px;padding-right:40px} .lf-sec.is-ph .lf-wrap{padding-left:20px;padding-right:20px}\n.lf-pad{padding-top:clamp(96px,9vw,152px);padding-bottom:clamp(96px,9vw,152px)} .lf-sec.is-tb .lf-pad{padding-top:88px;padding-bottom:88px} .lf-sec.is-ph .lf-pad{padding-top:68px;padding-bottom:68px}\n.lf-headblock{display:grid;gap:22px;justify-items:start;max-width:920px} .lf-sec.is-ph .lf-headblock{gap:16px}\n.lf-lead{margin:0;max-width:34em;font-size:17px;line-height:1.6;color:var(--lf-mut)} .lf-sec.is-ph .lf-lead{font-size:15.5px}\n.lf-empty{margin:0;padding:22px 0;font-family:${FM_CSS};font-size:13px;line-height:1.5;color:var(--lf-mut)}\n/* opt-in container queries: add .lf-cq to the root, then @container bw (max-width:1099px){…} / (max-width:809px). NOT on a root with position:fixed children (containment re-bases them). */\n.lf-cq{container-type:inline-size;container-name:bw}\n/* the hairline 72px grid, masked by a radial (set --gx / --gy to move the light) */\n.lf-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%);mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%)}\n/* ---- Buttons = the hero's \\xabBook this clean\\xbb pill (52px, label 15/600). Colours use two classes so a section's \"a{color:inherit}\" never wins. */\n.lf-btn{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;margin:0;padding:0 24px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:translate .35s cubic-bezier(.2,.8,.2,1),scale .2s ease,border-color .3s,color .3s,background-color .3s}\n.lf-btn::before{content:\"\";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--lf-brass);transform:translateX(-102%);transition:transform .5s cubic-bezier(.3,.9,.2,1)} .lf-btn:hover::before,.lf-btn:focus-visible::before{transform:translateX(0)} .lf-btn:active{scale:.97}\n.lf-btn-a{display:inline-grid;place-items:center;flex:none} .lf-btn-a svg{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)} .lf-btn:hover .lf-btn-a.is-arrow svg{transform:translateX(4px)} .lf-btn:hover .lf-btn-a.is-down svg{transform:translateY(3px)}\n.lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)}\n.lf-btn.lf-ghost{color:var(--lf-fg,var(--lf-ink));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-fg,var(--lf-ink)) 30%,transparent)} .lf-btn.lf-ghost::before{background:var(--lf-cloud)} .lf-btn.lf-ghost:hover,.lf-btn.lf-ghost:focus-visible{box-shadow:inset 0 0 0 1.5px var(--lf-ink);color:var(--lf-ink)}\n.lf-btn.lf-quiet{height:44px;padding:0 18px;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-btn.lf-quiet::before{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))}\n.lf-sec .lf-btn.lf-quiet.on-ground{background:var(--lf-cloud);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)}\n.lf-btn:disabled,.lf-btn[aria-disabled=\"true\"]{opacity:.5;pointer-events:none}\n/* on the green band: the solid pill is white with green text (sweep = paper); ghost = a white hairline that fills white. Inside a white card on the band everything is the default again. */\n.lf-lime .lf-btn.lf-solid{background:var(--lf-cloud);color:var(--lf-brass)} .lf-lime .lf-btn.lf-solid::before{background:var(--lf-bone)}\n.lf-lime .lf-btn.lf-ghost{color:var(--lf-cloud);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud) 46%,transparent)} .lf-lime .lf-btn.lf-ghost:hover,.lf-lime .lf-btn.lf-ghost:focus-visible{color:var(--lf-brass);box-shadow:inset 0 0 0 1.5px var(--lf-cloud)}\n.lf-lime .lf-plate .lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)} .lf-lime .lf-plate .lf-btn.lf-solid::before{background:var(--lf-ink)} .lf-lime .lf-plate .lf-btn.lf-ghost{color:var(--lf-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-ink) 26%,transparent)}\n.lf-sec button,.lf-sec input,.lf-sec select,.lf-sec textarea{font-family:inherit}\n/* the text link under a section */\n.lf-more{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap} .lf-sec .lf-more{color:var(--lf-fg)}\n.lf-more-n{font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--lf-mut)} .lf-more-l{position:relative;padding:6px 0} .lf-more-l::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--lf-acc);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}\n.lf-more:hover .lf-more-l::after,.lf-more:focus-visible .lf-more-l::after{transform:scaleX(1)} .lf-more svg{color:var(--lf-acc);transition:transform .3s} .lf-more:hover svg{transform:translateX(4px)}\n/* Label: mono caps */\n.lf-label{display:inline-flex;align-items:center;gap:9px;margin:0;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--lf-mut)} .lf-sec.lf-lime .lf-label{color:var(--lf-mut)}\n/* mono data lines + numbers (sentence case, no tracked caps) */\n.lf-mono{font-family:${FM_CSS};font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.5;font-variant-numeric:tabular-nums} .lf-num{font-variant-numeric:tabular-nums lining-nums} .lf-lbl{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--lf-mut)}\n/* the live dot: mint, slow halo (the availability chip's) */\n.lf-dot{position:relative;display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite} @keyframes lf-pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}\n/* Chip + Pick = the hero's pills */\n.lf-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 15px;border-radius:999px;background:var(--lf-cloud);font-size:14px;font-weight:500;line-height:1.2;color:var(--lf-ink);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)} .lf-chip i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite}\n.lf-chip.is-sand{background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));box-shadow:none} .lf-chip.is-fill{background:var(--lf-brass);color:var(--lf-cloud);box-shadow:none} .lf-chip.is-mut{min-height:0;padding:0;background:none;box-shadow:none;color:var(--lf-mut)} .lf-lime .lf-chip.is-mut{color:var(--lf-mut)}\n.lf-pick{display:inline-flex;align-items:center;gap:8px;height:46px;margin:0;padding:0 18px;border:0;border-radius:999px;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .25s ease,color .25s ease,scale .2s ease} .lf-sec .lf-pick{color:var(--lf-ink)}\n.lf-pick em{font-style:normal;opacity:.82} .lf-pick:hover{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))} .lf-pick:active{scale:.96} .lf-sec .lf-pick.is-on{background:var(--lf-ink);color:var(--lf-cloud)}\n.lf-sec:not(.lf-lime) .lf-picks.on-ground .lf-pick:not(.is-on){background:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-cloud) 14%,transparent);color:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on):hover{background:color-mix(in srgb,var(--lf-cloud) 24%,transparent)} .lf-sec.lf-lime .lf-pick.is-on{background:var(--lf-cloud);color:var(--lf-brass)}\n.lf-lime .lf-plate .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-sec.lf-lime .lf-plate .lf-pick.is-on{background:var(--lf-brass);color:var(--lf-cloud)}\n/* Tick: a mint disc, the check draws once */\n.lf-tick{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--lf-pine);color:var(--lf-ink);transition:background-color .35s ease var(--lf,0ms),box-shadow .35s ease var(--lf,0ms)} .lf-tick path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.3,.8,.2,1) calc(var(--lf,0ms) + .12s)} .lf-tick.is-on path{stroke-dashoffset:0}\n.lf-tick.is-line:not(.is-on){background:transparent;box-shadow:inset 0 0 0 1.5px var(--lf-hair2)}\n/* Veil: the wipe. The veil covers the child until .is-on, then slides off to the right once */\n.lf-veil{position:relative;display:block;overflow:hidden;border-radius:inherit} .lf-veil-v{position:absolute;z-index:2;inset:0 -18% 0 0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--lf-bone) 94%,transparent) 0,color-mix(in srgb,var(--lf-bone) 94%,transparent) 82%,color-mix(in srgb,var(--lf-bone) 0.4%,transparent) 100%);transform:translateX(-18%)}\n.lf-veil.is-on .lf-veil-v{animation:lf-veil .85s cubic-bezier(.5,0,.2,1) var(--lf,0ms) both} @keyframes lf-veil{from{transform:translateX(-18%)}to{transform:translateX(102%)}} .bw[data-kb] .lf-veil-v{display:none}\n@media (prefers-reduced-motion:reduce){.lf-veil-v{display:none}}\n/* Pic */ .lf-pic{position:relative;display:block;overflow:hidden;background:var(--lf-sand)} .lf-pic img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;user-select:none} \n/* Roll */ .lf-roll{display:inline-flex;align-items:flex-start;white-space:nowrap;font-variant-numeric:tabular-nums} .lf-dg{display:inline-block;height:1em;overflow:hidden;vertical-align:top} .lf-dg-c{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -1em));transition:transform .55s cubic-bezier(.3,.9,.3,1)} .lf-dg-c i{display:block;height:1em;line-height:1em;font-style:normal} .lf-sep{display:inline-block;height:1em;line-height:1em} .lf-roll.is-rm .lf-dg-c,.bw[data-kb] .lf-dg-c{transition:none}\n/* Rules: a hairline that DRAWS */ .lf-rule-x,.lf-rule-y{display:block;background:var(--lf-hair);transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--lf,0ms)} .lf-rule-x{width:100%;height:1px;transform:scaleX(0)} .lf-rule-y{width:1px;height:100%;transform:scaleY(0)} .lf-rule-x.is-on{transform:scaleX(1)} .lf-rule-y.is-on{transform:scaleY(1)} .lf-rule-x.is-rm,.lf-rule-y.is-rm,.bw[data-kb] .lf-rule-x,.bw[data-kb] .lf-rule-y{transition:none}\n/* Count */ .lf-count{display:inline-block;white-space:nowrap}\n/* Scribble: a crayon mark draws once (multiply, so it reads as crayon on the paper and on a picture) */ .lf-scrib{display:block;mix-blend-mode:multiply;overflow:visible} .lf-scrib path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.3,.8,.2,1) var(--lf,0ms)} .lf-scrib.is-on path{stroke-dashoffset:0} .bw[data-kb] .lf-scrib path{transition:none} @media (prefers-reduced-motion:reduce){.lf-scrib path{stroke-dashoffset:0!important}}\n/* Md */ .lf-md{display:grid;gap:16px;font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--lf-fg) 86%,transparent)} .lf-md p,.lf-md ul,.lf-md h3,.lf-md blockquote,.lf-md pre{margin:0} .lf-md h3{margin-top:18px;font-size:clamp(24px,2vw,30px);line-height:1.12;color:var(--lf-fg)} .lf-md h3:first-child{margin-top:0} .lf-md ul{padding-left:1.2em;display:grid;gap:8px} .lf-md li::marker{color:var(--lf-acc)} .lf-md strong{font-weight:600;color:var(--lf-fg)} .lf-md a{color:var(--lf-acc);text-underline-offset:3px}\n.lf-md blockquote{padding:2px 0 2px 18px;border-left:2px solid var(--lf-acc);font-size:1.12em;line-height:1.45;color:var(--lf-fg)} .lf-md code{font-family:${FM_CSS};font-size:.86em;padding:.12em .4em;border-radius:5px;background:color-mix(in srgb,var(--lf-fg) 9%,transparent);color:var(--lf-fg)}\n.lf-md pre{max-width:100%;overflow-x:auto;padding:16px 18px;border-radius:16px;background:var(--lf-night);color:var(--lf-bone);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lf-ink) 14%,transparent);font-size:13px;line-height:1.6} .lf-md pre code{padding:0;background:none;font-size:inherit;color:var(--lf-bone);white-space:pre}\n/* HEIGHT LAW: a block whose content swaps stacks all items in ONE grid cell so the tallest reserves the height */ .lf-swap{display:grid} .lf-swap>*{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s} .lf-swap>.is-on{opacity:1;visibility:visible;transition:opacity .5s ease}\n@media (prefers-reduced-motion:reduce){.lf-sec *,.lf-sec *::before,.lf-sec *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}\n`;// ===== BRIGHTWORK 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.\nconst SCRUB_K=.18;// Decode a section's photos while it is still a screen and a half away, so the first frame it is on screen never waits for a decode.\nfunction usePre(el){try{const io=new IntersectionObserver(es=>{if(!es[0].isIntersecting)return;io.disconnect();el.querySelectorAll(\"img\").forEach(im=>{try{im.loading=\"eager\";im.decode().catch(()=>{});}catch(e){}});},{rootMargin:\"150% 0px 150% 0px\"});io.observe(el);}catch(e){}}function focusTo(el,frac){if(!el||typeof window===\"undefined\")return;if(window.innerWidth<810)return;const r=el.getBoundingClientRect();const vh=window.innerHeight;if(r.height<=vh*1.05)return;const y=r.top+window.scrollY+(r.height-vh)*Math.min(1,Math.max(0,frac));if(Math.abs(window.scrollY-y)<8)return;const w=window;if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}function useScrollVars(ref,live,rm,cb){useEffect(()=>{if(!live||rm||!ref.current)return;const el=ref.current;let vis=true,last=-9,cs=-1,cp=-1,settled=false;usePre(el);const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"25% 0px 25% 0px\"});io.observe(el);// eased scrub: the values glide toward the true scroll position (K per frame), so wheel steps never jump a pinned scene\nlet rt=0,rh=0,vh=1,fresh=false;const read=()=>{if(!vis&&settled){fresh=false;return;}const r=el.getBoundingClientRect();rt=r.top;rh=r.height;vh=window.innerHeight||1;fresh=true;};const off=onTick(()=>{if(!fresh)return;const sp=clamp01((vh-rt)/(vh+rh));const pp=rh>vh*1.05?clamp01(-rt/(rh-vh)):sp;if(cs<0){cs=sp;cp=pp;}else{cs+=(sp-cs)*SCRUB_K;cp+=(pp-cp)*SCRUB_K;if(Math.abs(sp-cs)<5e-4)cs=sp;if(Math.abs(pp-cp)<5e-4)cp=pp;}settled=cs===sp&&cp===pp;if(Math.abs(cs+cp-last)<3e-4)return;last=cs+cp;el.style.setProperty(\"--sp\",cs.toFixed(4));el.style.setProperty(\"--pp\",cp.toFixed(4));if(cb)cb(cs,cp);},read);return()=>{off();io.disconnect();};},[live,rm]);}// STAGE — false while the loader or the page-transition cover is on screen (html.lf-hold-*), so first-screen intros play AFTER the cover lifts, never under it. 9 s safety.\nfunction useStage(live){const[r,setR]=useState(false);useEffect(()=>{if(!live)return;const h=document.documentElement;const ok=()=>!/(^|\\s)lf-hold/.test(h.className);if(ok()){setR(true);return;}const mo=new MutationObserver(()=>{if(ok()){mo.disconnect();setR(true);}});mo.observe(h,{attributes:true,attributeFilter:[\"class\"]});const t=window.setTimeout(()=>{mo.disconnect();setR(true);},9e3);return()=>{mo.disconnect();window.clearTimeout(t);};},[live]);return r;}// true once the element has entered the viewport (stays true) — and only once the stage is clear. Reduced motion = true at once.\nfunction useOn(ref,live,rm,amount=.16){const[on,setOn]=useState(false);const still=useStill();const ready=useStage(live);useEffect(()=>{if(!live)return;if(rm){setOn(true);return;}if(!ready)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(\".lf-rev.is-act\");const rv=rev?parseFloat(rev.style.getPropertyValue(\"--rv\")||\"0\"):1;if(rv>.24){setOn(true);off();}});}},{threshold:Math.min(amount,Math.max(.005,window.innerHeight*.3/Math.max(1,el.offsetHeight))),rootMargin:\"0px 0px -6% 0px\"});io.observe(el);return()=>{io.disconnect();off();el.removeEventListener(\"focusin\",fin);el.removeEventListener(\"focusout\",fout);};},[live,rm,ready]);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[kb,setKb]=useState(false);// keyboard users get the footer as a normal section: a curtain taller than the screen hides its top row under the page above / the fixed header\nconst act=on&&live&&!rm&&h>0&&!kb;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);let cur=-1,T=0,vh=1,top=0,fresh=false;const read=()=>{if(!vis){fresh=false;return;}T=sp.current?sp.current.offsetHeight:0;vh=window.innerHeight;top=el.getBoundingClientRect().top;fresh=true;};const off=onTick(()=>{if(!fresh||!T)return;const rv=clamp01((vh-T-top)/T);if(cur<0||el.dataset.snap){cur=rv;delete el.dataset.snap;}else{cur+=(rv-cur)*SCRUB_K;if(Math.abs(rv-cur)<5e-4)cur=rv;}if(Math.abs(cur-last)<4e-4)return;last=cur;el.style.setProperty(\"--rv\",cur.toFixed(4));},read);return()=>{off();io.disconnect();};},[act]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:`lf-rev${act?\" is-act\":\"\"}`,style:{...style||{},[\"--h\"]:`${h}px`,[\"--layer\"]:layer},onFocusCapture:e=>{if(!act||!wrap.current)return;try{if(e.target.matches(\":focus-visible\")){const t0=e.target;setKb(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{try{t0.scrollIntoView({block:\"center\"});}catch(x){}}));return;}}catch(x){}const t=e.target;const w=window;const r=wrap.current.getBoundingClientRect();const T=sp.current?sp.current.offsetHeight:0;const y=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,r.top+window.scrollY-window.innerHeight+2*T));if(Math.abs(window.scrollY-y)>4){if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}wrap.current.dataset.snap=\"1\";requestAnimationFrame(()=>{try{const q=t.getBoundingClientRect();if(q.top<0||q.bottom>window.innerHeight)t.scrollIntoView({block:\"nearest\"});}catch(x){}});},children:[/*#__PURE__*/_jsx(\"div\",{ref:inner,className:\"lf-rev-in\",children:children}),/*#__PURE__*/_jsx(\"div\",{ref:sp,className:\"lf-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||\"\").replace(/\\*([^*]+)\\*/g,(_m,g)=>g.trim().split(/\\s+/).map(w=>{const m=w.match(/^(.*?)([.,!?;:’']*)$/);return m&&m[1]?`*${m[1]}*${m[2]}`:w;}).join(\" \")).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();// Head — the section headline: Instrument Serif 800, tracking −.04em (HD), *word* = the coral crayon word, clamp(40px,4.3vw,64px) (phones clamp(31px,9.6vw,42px)). Words rise out of masks ONCE when `on`.\n// \"|\" forces a line break, *word* = THE italic word (light italic, green; white on the green band) — ONE per headline. tag=\"h1\" also rises from the server HTML.\nconst Head=({text,on,D,tag=\"h2\",size=\"clamp(40px,4.3vw,64px)\",lh=1,delay=0,step=45,style,className})=>{const Tag=tag;let k=0;if(!String(text||\"\").trim())return null;return /*#__PURE__*/_jsx(Tag,{className:`lf-hd${on?\" is-on\":\"\"}${tag===\"h1\"?\" is-ssr\":\"\"}${className?\" \"+className:\"\"}`,\"aria-label\":plainOf(text),style:{...HD(D),[\"--hs\"]:size,lineHeight:lh,...style||{}},children:String(text).split(\"|\").map((line,li)=>/*#__PURE__*/_jsx(\"span\",{className:\"lf-hd-l\",\"aria-hidden\":true,children:splitWords(line).map((w,i)=>{const d=delay+k++*step;return /*#__PURE__*/_jsxs(\"span\",{className:\"lf-hd-w\",children:[/*#__PURE__*/_jsxs(\"span\",{className:`lf-hd-i${w.acc?\" is-acc\":\"\"}`,style:{transitionDelay:`${d}ms`,[\"--lf\"]:`${d}ms`},children:[w.t,w.tail]}),\" \"]},i);})},li))});};// Eyebrow — the mono caps label above a headline (DM Mono 11, .12em), rises in once. dot = the mint live dot in front. (Label in _common is the same line without the reveal.)\nconst Eyebrow=({text,on,M,dot=false,delay=0,style,className})=>{const t=String(text||\"\").trim();return t?/*#__PURE__*/_jsxs(\"p\",{className:`lf-eb${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{...M||{},transitionDelay:`${delay}ms`,...style||{}},children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;};// SITE CURSOR — ONE small green dot + a white label pill for the whole page (the hero's cloth is the hero's own; everywhere else the cursor is this dot). Mounted ONCE by LfSmooth; a section never mounts it and never sets cursor:none.\n// Sections only add data-cur=\"label\" (two or three lowercase words) to what can be pressed; Btn / More / Pick already carry one.\n// Fine pointers only, off with reduced motion. It shows over .lf-sec roots only, so it stands down inside the hero ([data-lf-hero] draws its own cloth) and over anything that is not ours (the demo bar).\nconst CSS_CUR=`\n.lf-cur{position:fixed;z-index:9990;left:0;top:0;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .25s} .lf-cur.is-on{opacity:1}\n.lf-cur i{display:block;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--lf-brass,#1F5F57);box-shadow:0 0 0 1.5px var(--lf-cloud,#FFFFFF);transition:scale .25s cubic-bezier(.2,.8,.2,1)} .lf-cur.is-press i{scale:.6}\n.lf-cur span{margin-top:-6px;padding:8px 12px;border-radius:999px;background:var(--lf-cloud,#FFFFFF);color:var(--lf-ink,#1A1A1C);font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 28px color-mix(in srgb,var(--lf-ink,#1A1A1C) 20%,transparent)}\nhtml.lf-has-cur .lf-sec,html.lf-has-cur .lf-sec *{cursor:none}\n`;function SiteCursor({c,M}){const live=useLive();const rm=useReduced();const[fine,setFine]=useState(false);const[label,setLabel]=useState(\"\");const dot=useRef(null);useEffect(()=>{if(!live||rm){setFine(false);return;}setFine(window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[live,rm]);useEffect(()=>{if(!fine)return;const el=dot.current;if(!el)return;const h=document.documentElement;h.classList.add(\"lf-has-cur\");let x=0,y=0,tx=0,ty=0,raf=0,on=false;const tick=()=>{x+=(tx-x)*.28;y+=(ty-y)*.28;el.style.transform=`translate3d(${x.toFixed(1)}px,${y.toFixed(1)}px,0)`;raf=Math.abs(tx-x)+Math.abs(ty-y)>.3?requestAnimationFrame(tick):0;};const show=v=>{if(on!==v){on=v;el.classList.toggle(\"is-on\",v);}};const move=e=>{if(e.pointerType===\"touch\")return;const t=e.target;if(!t||!t.closest||!t.closest(\".lf-sec\")){show(false);return;}tx=e.clientX;ty=e.clientY;if(!on){x=tx;y=ty;}show(true);if(!raf)raf=requestAnimationFrame(tick);const k=t.closest(\"[data-cur]\");const l=k?k.getAttribute(\"data-cur\")||\"\":\"\";setLabel(p=>p===l?p:l);el.classList.toggle(\"is-press\",!!t.closest(\"a,button,[role='button'],summary,label,input,select,textarea\"));};const out=()=>show(false);window.addEventListener(\"pointermove\",move,{passive:true});h.addEventListener(\"pointerleave\",out);window.addEventListener(\"blur\",out);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",move);h.removeEventListener(\"pointerleave\",out);window.removeEventListener(\"blur\",out);h.classList.remove(\"lf-has-cur\");};},[fine]);if(!fine||typeof document===\"undefined\")return null;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:dot,className:\"lf-cur\",\"aria-hidden\":true,style:{...c?cssVars(c):{},...M||{}},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_CUR}}),/*#__PURE__*/_jsx(\"i\",{}),label?/*#__PURE__*/_jsx(\"span\",{children:label}):null]}),document.body);}// count-up for a stat (\"2,140\", \"91¢\", \"$184,200\", \"38\"): keeps prefix, suffix and thousands commas; SSR and reduced motion show the final value.\nfunction useCount(target,on,rm,ms=1400){const m=String(target||\"\").match(/^([^\\d-]*)(-?[\\d,]*\\.?\\d+)(.*)$/);const[v,setV]=useState(1);useEffect(()=>{if(!m||rm||!on){setV(1);return;}let raf=0,t0=0;setV(0);const step=t=>{if(!t0)t0=t;const k=clamp01((t-t0)/ms);setV(1-Math.pow(1-k,3));if(k<1)raf=requestAnimationFrame(step);};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);},[on,rm,target]);if(!m)return String(target||\"\");const num=parseFloat(m[2].replace(/,/g,\"\"));const dec=(m[2].split(\".\")[1]||\"\").length;const cur=num*v;const txt=dec?cur.toFixed(dec):String(Math.round(cur));const withC=/,/.test(m[2])?txt.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"):txt;return m[1]+withC+m[3];}// one-shot rise for copy / rows (≤ .9 s). Pass the value of useOn(...) — it is already `seen || still`, so the canvas / export never shows an empty block.\nconst rise=(on,d=0,y=18)=>({opacity:on?1:0,translate:on?\"0 0\":`0 ${y}px`,transition:`opacity .7s ease ${d}ms, translate .8s cubic-bezier(.16,.84,.24,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%)\"],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=14,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:`lf-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,width:ratioWH(ratio).w,height:ratioWH(ratio).h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus,transitionDelay:`${delay}ms`}})});};// ---- THE SIGNATURE (Iris Vale): the highlighter. Mark = a yellow marker stroke that draws itself ONCE behind a word / number when `on` (multiply, skewed, from the left). Use it on the one phrase that matters in a section, never on every line.\nconst Mark=({on,delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-mark${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),children]});// useHiMarks — the hero's hover highlighter for any list of rows: spread the returned handlers on each row (the row holds `<i className=\"lf-mk\" aria-hidden />` behind its key word, position:relative on the word's wrapper).\n// Fine pointer: enter = ONE strong mark (any other marked row fades at once), leave = hold 2.8 s, fade 1.2 s, gone. Touch: the first tap marks instead of following the link (second tap opens). Nothing ever stays yellow.\nfunction useHiMarks(root,fine,on=true){const T=useRef(new Map);useEffect(()=>()=>{T.current.forEach(l=>l.forEach(t=>window.clearTimeout(t)));},[]);const clear=el=>{(T.current.get(el)||[]).forEach(t=>window.clearTimeout(t));T.current.set(el,[]);};const mark=el=>{clear(el);el.classList.remove(\"is-fade\");el.classList.add(\"is-hi\");root.current?.querySelectorAll(\".is-hi\").forEach(o=>{if(o===el)return;clear(o);o.classList.add(\"is-fade\");T.current.set(o,[window.setTimeout(()=>o.classList.remove(\"is-hi\",\"is-fade\"),1250)]);});};const unmark=el=>{clear(el);T.current.set(el,[window.setTimeout(()=>el.classList.add(\"is-fade\"),2800),window.setTimeout(()=>el.classList.remove(\"is-hi\",\"is-fade\"),4e3)]);};if(!on)return{};return{onPointerEnter:e=>{if(fine)mark(e.currentTarget);},onPointerLeave:e=>{if(fine)unmark(e.currentTarget);},onClick:e=>{if(!fine){const el=e.currentTarget;if(!el.classList.contains(\"is-hi\")){e.preventDefault();mark(el);unmark(el);}}}};}const CSS_MOTION=`\n.lf-mark{position:relative;display:inline-block;z-index:0} .lf-mark>i{position:absolute;z-index:-1;inset:.06em -.16em .02em -.14em;border-radius:.16em;background:var(--lf-pine);mix-blend-mode:multiply;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.9,.2,1) var(--lf,0ms)} .lf-mark.is-on>i{transform:scaleX(1) skewX(-6deg)}\n.lf-mk{position:absolute;z-index:-1;inset:1px -3px 0 -2px;border-radius:4px;background:var(--lf-pine);mix-blend-mode:multiply;opacity:0;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .42s cubic-bezier(.2,.9,.2,1),opacity .2s ease;pointer-events:none}\n.is-hi .lf-mk{opacity:.95;transform:scaleX(1) skewX(-6deg)} .is-fade .lf-mk{opacity:0;transition:opacity 1.2s ease,transform 0s linear 1.2s}\n@media (prefers-reduced-motion:reduce){.lf-mark>i{transform:scaleX(1) skewX(-6deg)!important;transition:none!important}}\n.bw[data-kb] *,.bw[data-kb] *::before,.bw[data-kb] *::after,.bw [data-kb],.bw [data-kb] *,.bw [data-kb] *::before,.bw [data-kb] *::after{transition:none!important}\n.lf-sec{position:relative;z-index:10;display:block;width:100%;--sp:.5;--pp:0}\n.lf-rev{position:relative;width:100%;--rv:1} .lf-rev-in{position:relative} .lf-rev-sp{height:0}\n.lf-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.lf-rev.is-act>.lf-rev-in{position:sticky;top:calc(100vh - var(--t));top:calc(100svh - var(--t))} .lf-rev.is-act>.lf-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.lf-rev.is-act>.lf-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,.45),rgba(0,0,0,0));opacity:min(1,calc(var(--rv)*(1 - var(--rv))*9));pointer-events:none}\n.lf-rev.is-act>.lf-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))*.3);pointer-events:none}\n/* Eyebrow: the mono caps label, rises in */\n.lf-eb{display:flex;align-items:center;gap:9px;margin:0;padding:0;max-width:100%;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--lf-mut);opacity:0;translate:0 10px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1)} .lf-eb.is-on{opacity:1;translate:0 0}\n/* Head */\n.lf-hd{margin:0;font-size:var(--hs,clamp(40px,4.3vw,64px));text-wrap:balance;color:var(--lf-fg)} .lf-sec.is-ph .lf-hd{font-size:min(var(--hs,64px),clamp(31px,9.6vw,42px))} .lf-hd-l{display:block}\n.lf-hd-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .09em .18em .03em;margin:-.08em -.09em -.18em -.03em;white-space:pre}\n.lf-hd-i{position:relative;display:inline-block;translate:0 110%;transition:translate .8s cubic-bezier(.16,.84,.24,1)} .lf-hd.is-on .lf-hd-i{translate:0 0}\n.lf-hd .lf-hd-i.is-acc{color:var(--lf-acc);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9;font-family:var(--lf-font-a,'Instrument Serif'),Georgia,'Times New Roman',serif}\n/* page h1: rises by CSS from the server HTML (no wait for hydration); paused only while a loader / transition cover holds the page */\n@keyframes lf-hd-rise{from{translate:0 110%}to{translate:0 0}}\n.lf-hd.is-ssr .lf-hd-i{animation:lf-hd-rise .8s cubic-bezier(.16,.84,.24,1) var(--lf,0ms) both}\nhtml[class*=\"lf-hold\"] .lf-hd.is-ssr .lf-hd-i{animation-play-state:paused}\n/* Um: a picture that unmasks once and settles from a small zoom */\n.lf-um{position:relative;overflow:hidden;transition:clip-path .9s cubic-bezier(.7,0,.2,1);background:var(--lf-sand)}\n.lf-um img{position:absolute;left:0;top:-9%;width:100%;height:118%;display:block;object-fit:cover;scale:1.04;translate:0 calc((var(--sp,.5) - .5)*var(--par,1)*-7%);transition:scale .9s cubic-bezier(.16,.84,.24,1);user-select:none}\n.lf-um.is-on img{scale:1}\n@media (prefers-reduced-motion:reduce){.lf-hd-i{translate:0 0!important} .lf-hd.is-ssr .lf-hd-i{animation:none!important} .lf-um{clip-path:none!important} .lf-um img{scale:1!important;translate:0 0!important} .lf-eb{opacity:1!important;translate:0 0!important}}\n`;const SEED={site:[{\"slug\":\"site\",\"f1\":\"Landfall\",\"f2\":\"Tour operator and travel agency\",\"f3\":\"Forty routes on six continents, twelve travellers at most, and a guide who grew up there.\",\"f4\":\"hello@landfall.travel\",\"f5\":\"/plan-a-trip\",\"f6\":\"/tours\",\"f7\":\"Small-group tours since 2009\",\"f8\":\"12,400:travellers; 62:countries; 4.9:from 3,100 reviews\",\"f9\":\"/contact\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f10\":\"Two travellers rowing a wooden boat across an alpine lake\",\"f11\":\"+44 20 7946 0412\",\"f12\":\"Booking 2027 departures\",\"f13\":\"Lisbon\",\"f14\":\"https://www.instagram.com/\",\"f15\":\"https://www.youtube.com/\",\"f16\":\"\\xa9 2026 Landfall Travel Ltd. Lisbon.\",\"f17\":\"Europe/Lisbon\",\"f18\":\"One route a month, with dates and prices, before it goes on the site.\",\"f19\":\"A travel planner answers within a day\",\"f20\":\"Rua da Boavista 88, 1200-066 Lisbon\",\"f21\":\"12,400\",\"f22\":\"62\",\"f23\":\"2009\",\"img2\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f24\":\"Cypress trees on a foggy sea cliff with two walkers on the path\",\"f25\":\"/journal\",\"f26\":\"English, Portuguese, Spanish\",\"f27\":\"Landfall is a tour operator of twenty-six planners and ninety local guides. We run small-group tours and private trips on six continents, and we answer the phone ourselves.\"}],destinations:[{\"slug\":\"scotland\",\"f1\":\"Scotland\",\"f2\":\"Glens, sea lochs and stone bothies, on foot and by boat.\",\"f3\":\"May to September, and deep winter\",\"img\":\"https://framerusercontent.com/images/I9qQbFFful5Bnzhvk8m0WjJyl7w.webp\",\"f4\":\"A lit dome tent in a highland glen at dusk, a loch behind\",\"f5\":\"We run three tours in Scotland and all of them start north of the Highland line. The west coast is for walking between glens and sea cliffs in the long light of May and June. The Outer Hebrides are for the boat, when the sea lochs are calm and the otters have young. The Cairngorms are for January, when the bothies are empty and the snow is firm.\\n\\nThe weather is part of it. It changes four times a day, and the guides plan each morning around it. Midges arrive in late June on the west coast, which is why our walking dates pause in July and start again in September. Bring waterproofs whatever the month.\",\"f6\":\"Best months: May, June, September and January; Flight from Lisbon: 3 h 10 to Edinburgh; Pace: Easy to moderate, 5 to 14 km a day; Sleep: Canvas, cabins, bothies and a trawler\",\"n1\":\"1\"},{\"slug\":\"greece\",\"f1\":\"Greece\",\"f2\":\"Island paths, coves you reach by sail and long tables by the water.\",\"f3\":\"May, June and September\",\"img\":\"https://framerusercontent.com/images/6b7WW8zMuIXfn1L4oWYrj4lYfsU.webp\",\"f4\":\"A walled coastal town of terracotta roofs above a blue sea\",\"f5\":\"Our two Greek tours share one island and one guide. Sifnos sits in the western Cyclades, away from the big ferry routes, and Eleni grew up above its bakery. The walking week stays on the island and crosses it on stone mule paths. The sailing week starts in Paros, reaches Sifnos on day four and ends in the sea caves of Milos.\\n\\nWe go in May, June and September. July and August are hot, crowded and windy, and the paths are no pleasure at noon. In the months we choose, the sea is warm enough to swim every day and the tavernas still have time to talk. Lunch is at four. Plan around it.\",\"f6\":\"Best months: May, June and September; Flight from Lisbon: 4 h to Athens, then a ferry; Pace: Easy, with a swim every day; Sleep: Family rooms or a cabin aboard\",\"n1\":\"2\"},{\"slug\":\"italy\",\"f1\":\"Italy\",\"f2\":\"The high lakes and passes of the Dolomites, hut to hut.\",\"f3\":\"June to early October\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f4\":\"Two travellers rowing on a green alpine lake\",\"f5\":\"In Italy we do one thing: the Dolomites, on foot, from hut to hut. The range is in the far north-east, closer to Innsbruck than to Rome, and the valleys speak Italian, German and Ladin. The paths are old and well marked, the huts are family houses with proper kitchens, and the rock turns pink for ten minutes at the end of a clear day.\\n\\nThe season is short. The high passes hold snow into June and the huts close in early October. September is the month we like most: settled weather, larch beginning to turn and room at the tables. Marco has guided here for twenty-six years and still carries the coffee pot to the top of every pass.\",\"f6\":\"Best months: Late June to September; Flight from Lisbon: 3 h to Venice, then 2 h by road; Pace: Moderate, 4 to 15 km a day; Sleep: Family-run rifugios\",\"n1\":\"3\"},{\"slug\":\"indonesia\",\"f1\":\"Indonesia\",\"f2\":\"Raja Ampat by wooden phinisi, two dives a day.\",\"f3\":\"October to April\",\"img\":\"https://framerusercontent.com/images/eqVh5W76MbYfLNAf4EvlhjLL0I.webp\",\"f4\":\"A diver beside a coral wall with a sea turtle\",\"f5\":\"Raja Ampat is a scatter of about fifteen hundred islands off the western tip of New Guinea. Getting there takes two flights and a patient day. That distance is why the reefs look the way they do. There is no large town on the islands, and only a few boats work the strait.\\n\\nWe go by phinisi, a wooden two-master built in Sulawesi, with eight cabins and a dive deck. The season runs from October to April, when the sea is flat and the water clear. Sari Wulandari leads every departure. She trained as a marine biologist in Manado and treats each dive as a field class, with a fish list and a quiet rule about what not to touch.\",\"f6\":\"Best months: October to April; Flight from Lisbon: About 24 h to Sorong, with two stops; Pace: Two dives a day and long rests; Sleep: A twin cabin aboard\",\"n1\":\"4\"},{\"slug\":\"maldives\",\"f1\":\"Maldives\",\"f2\":\"Sandbanks, manta season and a week without shoes.\",\"f3\":\"November to April\",\"img\":\"https://framerusercontent.com/images/BtOL6Z20W9U4EmQ2rA5nbsFpdI.webp\",\"f4\":\"A white sandbank in a turquoise lagoon from above\",\"f5\":\"Most people see the Maldives from a resort jetty. We stay on Dharavandhoo, a local island in Baa Atoll with a school, a mosque, a football pitch and a handful of family guesthouses. The atoll is a protected biosphere reserve, and Hanifaru Bay inside it is the reason to come.\\n\\nWhen the tide and the plankton line up, manta rays feed in the bay in long chains, and you float above them with a mask and a snorkel. Tanks are not allowed. Between visits there are sandbanks that appear at low tide, a reef with turtles a short swim from the beach, and very little else to do. Local islands serve no alcohol, and dress is modest in the village. Nobody wears shoes.\",\"f6\":\"Best months: May to November for mantas, November to April for calm seas; Flight from Lisbon: About 13 h to Mal\\xe9, with one stop; Pace: Slow, one outing a day; Sleep: A family guesthouse\",\"n1\":\"5\"},{\"slug\":\"california\",\"f1\":\"California\",\"f2\":\"The Big Sur coast road, cliff walks and redwood nights.\",\"f3\":\"March to June\",\"img\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f4\":\"Cypress trees on a foggy sea cliff above the surf\",\"f5\":\"Our Californian tour covers one road: Highway 1 between Monterey and Morro Bay, the stretch known as Big Sur. It is about a hundred and fifty kilometres of cliffs, redwood canyons and very few buildings. People drive it in a day. We take eight.\\n\\nSpring is the time. From March to June the hills are green, the wildflowers are out and the fog burns off by ten. Later in the year the road fills and the grass turns gold and dry. Slides sometimes close a section in winter, and Tom\\xe1s checks the road each week before a departure. He grew up in Carmel, delivered along this road for six years and has an opinion about every turnout.\",\"f6\":\"Best months: March to June; Flight from Lisbon: About 14 h to San Francisco, with one stop; Pace: Easy, short cliff walks; Sleep: Inns and redwood cabins\",\"n1\":\"6\"}]};const SW_BUILD=\"LfFooter@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='#E9E3D8'/><rect x='120' y='170' width='160' height='160' rx='8' fill='none' stroke='#3A3D44' stroke-width='1.5'/><rect x='100' y='150' width='200' height='200' rx='10' fill='none' stroke='#2A2D33' 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-lf-row=\"bridge\"]'))return null;const seen=new Set;const out=[];document.querySelectorAll(`[data-lf-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.__ltCms||typeof w.__ltCms!==\"object\")w.__ltCms={};w.__ltCms[SW_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 site-wide fact. A section's \"… Override\" control only replaces it on that one section.\n// Site: f1 Name · f2 Descriptor (the role line) · f3 Tagline (the lead) · f4 Email · f5 CV Link (/resume) · f6 Projects Link (/projects) · f7 Eyebrow · f8 Proof Line (facts \"value:label; …\") · f9 Contact Link (/contact) · img Picture (the portrait print) · f10 Picture Alt · f11 Phone · f12 Status · f13 City\n//       (Stage 2, appended) f14 LinkedIn · f15 GitHub · f16 Legal Line · f17 Timezone (IANA) · f18 Availability · f19 Response Time · f20 Address · f21 Years · f22 Launches · f23 Since (year) · img2 Second Picture (LfCta) · f24 Second Picture Alt · f25 Calendar Link · f26 Languages · f27 Bio\nfunction useSite(){const r=useCMS(\"site\",SEED.site||[]);const s=r[0]||(SEED.site||[])[0]||{};const g=k=>String(s[k]??\"\").trim();const im=k=>String(s[k]||\"\").split(\"?\")[0];return{name:g(\"f1\"),descriptor:g(\"f2\"),tagline:g(\"f3\"),email:g(\"f4\"),book:g(\"f5\")||\"/plan-a-trip\",pricing:g(\"f6\")||\"/tours\",eyebrow:g(\"f7\"),proof:g(\"f8\"),services:g(\"f9\")||\"/contact\",picture:im(\"img\"),pictureAlt:g(\"f10\"),phone:g(\"f11\"),status:g(\"f12\"),city:g(\"f13\"),linkedin:g(\"f14\"),github:g(\"f15\"),legal:g(\"f16\"),timezone:g(\"f17\")||\"Europe/London\",availability:g(\"f18\"),response:g(\"f19\"),address:g(\"f20\"),years:g(\"f21\"),launches:g(\"f22\"),since:g(\"f23\"),picture2:im(\"img2\"),picture2Alt:g(\"f24\"),calendar:g(\"f25\"),languages:g(\"f26\"),bio:g(\"f27\")};}// ---- Row readers, one per collection (slots are fixed: see seed.py). Every reader takes an undefined row and returns empty strings / empty lists, never throws.\nconst S_=(r,k)=>String(r&&r[k]||\"\").trim();const numOf=(v,fb=0)=>{const n=parseFloat(String(v??\"\").replace(/[^\\d.-]/g,\"\"));return isFinite(n)?n:fb;};const listOf=s=>String(s||\"\").split(\";\").map(x=>x.trim()).filter(Boolean);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()};});// \"Label:Value, Label:Value\" list controls (facts, numbers, footer columns)\nconst pairList=(s,sep=\",\")=>String(s||\"\").split(sep).map(x=>x.trim()).filter(Boolean).map(x=>{const i=x.indexOf(\":\");return i<0?{l:x,v:\"\"}:{l:x.slice(0,i).trim(),v:x.slice(i+1).trim()};});// \"a | b | c\" per line → [[\"a\",\"b\",\"c\"], …]\nconst cellRows=s=>String(s??\"\").split(/\\n/).map(x=>x.trim()).filter(Boolean).map(x=>x.split(\"|\").map(y=>y.trim()));const bySlug=(rows,slug)=>{const k=String(slug||\"\").trim();return k?rows.find(r=>r.slug===k):undefined;};const kindsOf=vals=>vals.filter((v,i)=>v&&vals.indexOf(v)===i);const yes=v=>/^(yes|true|1|featured|on)$/i.test(String(v||\"\").trim());// Landfall Site (10-12): f1 Name · f2 Descriptor · f3 Tagline · f4 Email · f5 Subscribe Link · f6 Latest Link · f7 Edition Line (empty = by the clock) · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 X · f15 Instagram · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Readers · f22 Reporters · f23 Since · img2 · f24 · f25 Podcast Link · f26 Languages · f27 About\n// Articles: f1 Title · f2 Dek · f3 Section · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · f8 Caption · f9 Featured · n1 Order\nconst articleOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),section:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),caption:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/article/\"+S_(r,\"slug\")});// Sections: f1 Name · f2 Line · n1 Order (the slug = /section/:slug)\nconst sectionOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),href:\"/section/\"+S_(r,\"slug\")});// Authors: f1 Name · f2 Role · f3 Beat · f4 Bio · f5 Column (latest opinion title) · f6 Column Link · img Picture · f7 Picture Alt · n1 Order\nconst authorOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),beat:S_(r,\"f3\"),bio:S_(r,\"f4\"),column:S_(r,\"f5\"),columnHref:S_(r,\"f6\")||\"/author/\"+S_(r,\"slug\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),href:\"/author/\"+S_(r,\"slug\")});// Episodes: f1 Title · f2 Line · f3 Number · f4 Length · f5 Date (ISO) · f6 Guest · img Cover · f7 Cover Alt · n1 Order\nconst episodeOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),number:S_(r,\"f3\"),length:S_(r,\"f4\"),date:S_(r,\"f5\"),guest:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),href:\"/episode/\"+S_(r,\"slug\")});// \"2026-10-12\" → \"12 Oct\" (short) / \"12 October 2026\"\nconst dayOfIso=(iso,long=false)=>{const m=String(iso||\"\").match(/^(\\d{4})-(\\d{2})-(\\d{2})/);if(!m)return String(iso||\"\");const MO=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const mo=MO[+m[2]-1]||\"\";return long?`${+m[3]} ${mo} ${m[1]}`:`${+m[3]} ${mo.slice(0,3)}`;};// Wire (the ticker): f1 Time · f2 Line · f3 Link · n1 Order\nconst wireOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),line:S_(r,\"f2\"),href:S_(r,\"f3\")});// Programs: f1 Name · f2 Line · f3 Body (md) · f4 Ages (\"1 to 2\") · f5 Hours · f6 Ratio (\"1:4\") · f7 From (\"$1,480 a month\") · f8 Includes (\"a; b\") · img Picture · f9 Picture Alt · n1 Order\nconst programOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),body:S_(r,\"f3\"),ages:S_(r,\"f4\"),hours:S_(r,\"f5\"),ratio:S_(r,\"f6\"),from:S_(r,\"f7\"),includes:listOf(S_(r,\"f8\")),img:imgOr(r),alt:S_(r,\"f9\"),href:\"/programs/\"+S_(r,\"slug\")});// Day: f1 Time (\"9:15\") · f2 Title · f3 Note · n1 Order.  dayT(row, open, close) → 0..1 along the day\nconst dayOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),title:S_(r,\"f2\"),note:S_(r,\"f3\")});const hourOf=s=>{const m=String(s||\"\").match(/(\\d{1,2})[:.](\\d{2})/);return m?+m[1]+ +m[2]/60:NaN;};// Rooms: f1 Name · f2 Line · f3 Facts (\"a; b\") · img Picture · f4 Picture Alt · n1 Order\nconst roomOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),facts:listOf(S_(r,\"f3\")),img:imgOr(r),alt:S_(r,\"f4\"),href:\"/rooms/\"+S_(r,\"slug\")});// Teachers: f1 Name · f2 Role · f3 Years · f4 Line · f5 Room (a program slug, may be empty) · img Picture · f6 Picture Alt · n1 Order\nconst teacherOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),room:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),href:\"/teachers/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Parent · f3 Child (\"Nora, 2\") · f4 Program (slug) · f5 Stars (1–5) · img Picture (avatar; empty = initials) · n1 Order\nconst reviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),parent:S_(r,\"f2\"),child:S_(r,\"f3\"),program:S_(r,\"f4\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f5\"),5)))),img:imgOf(r)});// Plans (Landfall 10-12): f1 Name · f2 Price (\"$8\" | \"Free\") · f3 Per (\"a month\") · f4 Line · f5 Includes (\"a; b\") · f6 Featured (\"yes\") · f7 Link · n1 Order\nconst planOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),price:S_(r,\"f2\"),per:S_(r,\"f3\"),line:S_(r,\"f4\"),includes:listOf(S_(r,\"f5\")),featured:yes(S_(r,\"f6\")),href:S_(r,\"f7\")||\"/subscribe\"});// Faq (Landfall 10-12): f1 Question · f2 Answer · f3 Group (\"Subscribe\" | \"Contact\") · n1 Order\nconst faqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// Posts: f1 Title · f2 Line · f3 Date (ISO) · f4 Read · f5 Body (md) · img Picture · f6 Picture Alt · f7 Tag · n1 Order\nconst postOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),date:S_(r,\"f3\"),read:S_(r,\"f4\"),body:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),tag:S_(r,\"f7\"),href:\"/writing/\"+S_(r,\"slug\")});const dateOf=(iso,loc=\"en-US\")=>{const d=new Date(String(iso||\"\")+\"T12:00:00Z\");return isNaN(d.getTime())?String(iso||\"\"):d.toLocaleDateString(loc,{month:\"short\",day:\"numeric\",year:\"numeric\",timeZone:\"UTC\"});};const readBrief=()=>{try{const o=JSON.parse(window.sessionStorage.getItem(\"lf-brief\")||\"{}\");return o&&typeof o===\"object\"?{program:String(o.program||\"\"),days:String(o.days||\"\"),start:String(o.start||\"\")}:{};}catch(e){return{};}};const writeBrief=patch=>{const n={...readBrief(),...patch};try{window.sessionStorage.setItem(\"lf-brief\",JSON.stringify(n));}catch(e){}return n;};function useBrief(){const[b,setB]=useState({});useEffect(()=>{setB(readBrief());},[]);const set=patch=>setB(writeBrief(patch));return[b,set];}// ---- A seeded generator (mulberry32) so the server and the first client render draw the SAME shape.\nconst mulberry=a=>()=>{a|=0;a=a+1831565813|0;let t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};// 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};}// ---- useSec — everything a section needs in one call. Root: <section ref={k.root} className={`bw lf-sec lfxx${k.bp.cls}`} style={k.vars}>\n// k.on is already `seen || still` (never blank on the canvas / in exports) · k.w is the MEASURED root width (SSR starts from the bpHint) · k.bp = { ph <810, tb <1100, xs <360, cls } · k.vars = palette + font vars + body font + props.style.\nfunction useSec(props,amount=.16){const root=useRef(null);const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const rm=useReduced();const still=useStill();const site=useSite();const{w,vh}=useSize(root,props.bpHint);const on=useOn(root,live,rm,amount);const vars={...cssVars(c),[\"--lf-fd\"]:D.fontFamily,[\"--lf-fb\"]:B.fontFamily,[\"--lf-fm\"]:M.fontFamily,...B,...props.style||{}};return{root,c,D,B,M,live,rm,still,site,w,vh,bp:bpOf(w),on,vars};}// ---- Iris Vale readers (Stage 1). Roles: f1 Company · f2 Title · f3 Years · f4 Line · f5 City · f6 Highlights (a; b; c) · f7 Tags · img Logo · f8 Logo Alt · n1 Order\nconst roleOf=r=>({slug:S_(r,\"slug\"),company:S_(r,\"f1\"),title:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),city:S_(r,\"f5\"),points:listOf(S_(r,\"f6\")),tags:listOf(S_(r,\"f7\")),img:imgOf(r),alt:S_(r,\"f8\"),href:\"/experience/\"+S_(r,\"slug\")});// Skills: f1 Name · f2 Group · f3 Level (1-5) · n1 Order\nconst skillOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),group:S_(r,\"f2\"),level:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f3\"),4))))});// Education: f1 School · f2 Degree · f3 Years · f4 Line · n1 Order\nconst eduOf=r=>({slug:S_(r,\"slug\"),school:S_(r,\"f1\"),degree:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\")});// Projects: f1 Name · f2 Line · f3 Year · f4 Role (role slug) · f5 Result · f6 Tags (a; b) · f7 Body (Stage 3) · img Picture 4:3 · f8 Picture Alt · f9 Featured · n1 Order\nconst projectOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),year:S_(r,\"f3\"),role:S_(r,\"f4\"),result:S_(r,\"f5\"),tags:listOf(S_(r,\"f6\")),body:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/projects/\"+S_(r,\"slug\")});// Recommendations (kind recs): f1 Quote · f2 Name · f3 Role · f4 Company · f5 Relation · img Picture 1:1 · n1 Order\nconst recOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),role:S_(r,\"f3\"),company:S_(r,\"f4\"),relation:S_(r,\"f5\"),img:imgOf(r)});// LANDFALL (10-13) Site: f1 Name · f2 Descriptor · f3 Tagline (the lead) · f4 Email · f5 Plan Link (/plan-a-trip) · f6 Tours Link (/tours) · f7 Eyebrow · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 Instagram · f15 YouTube · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Travellers · f22 Countries · f23 Since · img2 · f24 · f25 Journal Link · f26 Languages · f27 About\n// Tours: f1 Title · f2 Place · f3 Country · f4 Days · f5 From Price · f6 Next Departure · f7 Seats Left · img Picture · f8 Picture Alt · f9 Line · f10 Featured · f11 Picture Focus (css object-position, e.g. \"38% 50%\") · n1 Order\nconst tourOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),place:S_(r,\"f2\"),country:S_(r,\"f3\"),days:S_(r,\"f4\"),price:S_(r,\"f5\"),departs:S_(r,\"f6\"),seats:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\")||S_(r,\"f1\"),line:S_(r,\"f9\"),featured:yes(S_(r,\"f10\")),focus:S_(r,\"f11\")||\"50% 50%\",style:S_(r,\"f12\"),destination:S_(r,\"f13\"),guide:S_(r,\"f14\"),included:listOf(S_(r,\"f15\")),excluded:listOf(S_(r,\"f16\")),dates:cellRows(S_(r,\"f17\")),body:S_(r,\"f18\"),href:\"/tour/\"+S_(r,\"slug\")});// Days: f1 Tour (the tour slug) · f2 Place · f3 Title · f4 Line · f5 Facts · img Picture · f6 Picture Alt · n1 Order\nconst stopOf=r=>({slug:S_(r,\"slug\"),tour:S_(r,\"f1\"),place:S_(r,\"f2\"),title:S_(r,\"f3\"),line:S_(r,\"f4\"),facts:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f3\")});// Destinations: f1 Name · f2 Line · f3 Season · img Picture · f4 Picture Alt · n1 Order (a tour belongs to one by tour.destination === destination.name)\nconst destOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),season:S_(r,\"f3\"),img:imgOr(r),alt:S_(r,\"f4\")||S_(r,\"f1\"),body:S_(r,\"f5\"),facts:pairList(S_(r,\"f6\"),\";\"),href:\"/destination/\"+S_(r,\"slug\")});// Guides: f1 Name · f2 Role · f3 Home · f4 Line · f5 Tours Led · img Picture · f6 Picture Alt · n1 Order\nconst guideOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),home:S_(r,\"f3\"),line:S_(r,\"f4\"),led:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f1\"),body:S_(r,\"f7\"),languages:S_(r,\"f8\"),since:S_(r,\"f9\"),href:\"/guide/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Name · f3 Trip · f4 Stars (1–5) · img Picture · n1 Order\nconst tripReviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),trip:S_(r,\"f3\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f4\"),5)))),img:imgOf(r)});// Posts (the journal): f1 Title · f2 Dek · f3 Kind · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · n1 Order\nconst journalOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),kind:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),body:S_(r,\"f8\"),href:\"/journal/\"+S_(r,\"slug\")});// Stage 3 slots (10-13): Tours f14 Guide (a guide slug) · f15 Included «a; b» · f16 Not Included · f17 Dates «date | price | seats» per line · f18 Body (md) — Destinations f5 Body (md) · f6 Facts «Label:Value; …» — Guides f7 Body (md) · f8 Languages · f9 Since — Posts f8 Body (md). stopOf(day).img is EMPTY_IMG when the row has no picture: test `imgOf(row)` and fall back to the tour picture.\n// Faq: f1 Question · f2 Answer · f3 Group («Booking» | «On tour» | «Contact») · n1 Order\nconst tripFaqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// {name} in a control text = the Site Name (Stage 5): a column title, a top line or a mail subject follows the name when the buyer renames the site\nconst nameIn=(s,n)=>String(s??\"\").replace(/\\{name\\}/gi,String(n||\"\").trim());const LFFT_W=[\"Address\",\"Call\",\"Email\",\"local time\",\"Footer\",\"Back to top\",\"Where we go\",\"Home\"];const lfftWords=s=>{const g=String(s??\"\").split(\";\");return LFFT_W.map((d,i)=>i===5&&g[i]!==undefined&&g[i]!==\"\"&&!g[i].trim()?\"\":(g[i]||\"\").trim()||d);};const lfftTime=tz=>{try{return new Intl.DateTimeFormat(\"en-GB\",{hour:\"2-digit\",minute:\"2-digit\",hour12:false,timeZone:tz||undefined}).format(new Date);}catch(e){try{return new Intl.DateTimeFormat(\"en-GB\",{hour:\"2-digit\",minute:\"2-digit\",hour12:false}).format(new Date);}catch(x){return\"\";}}};// Bricolage Grotesque 600 at opsz 96: the advance of every ASCII letter in 1/1000 em (measured once in Chromium, 10-13). «Landfall» = 3.366 em before tracking.\nconst LFFT_ADV=[208,236,306,594,567,924,684,168,233,234,414,459,164,304,204,239,595,279,543,573,587,556,589,490,604,594,205,197,430,467,430,405,897,644,595,627,616,534,508,645,629,220,297,604,453,796,674,658,573,664,599,582,521,624,628,920,605,574,550,282,335,282,520,567,283,523,560,528,560,529,353,547,543,209,236,516,209,840,543,562,560,559,372,505,350,540,529,791,522,529,471,283,201,285,486];const lfftEm=name=>{let a=0;for(const ch of name){const c=ch.charCodeAt(0);a+=c>=32&&c<127?LFFT_ADV[c-32]:640;}return Math.max(1.2,a/1e3-.04*Math.max(0,name.length-1));};export default function LfFooter(props){const{reveal=true,layer=9,wordmark=\"\",wordFit=100,wordMax=480,route=true,routeShown=8,blurb=\"\",colTitles=\"Tours; {name}; Legal\",socials=\"Instagram:{instagram}, YouTube:{youtube}\",columns=\"All tours:/tours, Destinations:/destinations, Private trips:/private-trips, Guides:/guides; About:/about, Journal:/journal, Reviews:/reviews, Careers:/careers, Contact:/contact; Privacy:/privacy, Terms:/terms, Cookies:/cookies\",timeTitle=\"\",availText=\"\",legal=\"\",legalLinks=\"\",credit=\"Template by SoloFoundry\",creditLink=\"\",bar=false,words=\"\"}=props;const k=useSec(props,.05);const{D,M,on,live,still,bp,site}=k;const W=lfftWords(words);const show=on||still;const titles=useMemo(()=>listOf(nameIn(colTitles,site.name)),[colTitles,site.name]);// {instagram} / {youtube} in a link read the Site Instagram / YouTube links; a link whose Site value is empty is dropped\nconst tok=h=>h===\"{instagram}\"?site.linkedin:h===\"{youtube}\"?site.github:h;const cols=useMemo(()=>String(columns||\"\").split(\";\").map((c,i)=>({t:titles[i]||\"\",links:linkList(c).filter(l=>l.l).map(l=>({l:l.l,h:tok(l.h)})).filter(l=>l.h)})).filter(c=>c.links.length),[columns,titles,site.linkedin,site.github]);const soc=useMemo(()=>linkList(socials).filter(l=>l.l).map(l=>({l:l.l,h:tok(l.h)})).filter(l=>l.h),[socials,site.linkedin,site.github]);const legalL=useMemo(()=>linkList(legalLinks).filter(l=>l.l&&l.h),[legalLinks]);// the route's stops = the Destinations rows, by Order\nconst rows=useCMS(\"destinations\",SEED.destinations||[]);const stops=useMemo(()=>rows.map(r=>destOf(r)).filter(d=>d.name&&d.slug).slice(0,Math.max(0,Math.round(routeShown))),[rows,routeShown]);const n=stops.length;const[hov,setHov]=useState(-1);// local time: \"--:--\" on the server and the first client render, then the Site Timezone, refreshed on the minute\nconst[now,setNow]=useState(\"\");useEffect(()=>{let id=0;const tick=()=>{setNow(lfftTime(site.timezone));id=window.setTimeout(tick,6e4-Date.now()%6e4+50);};tick();return()=>window.clearTimeout(id);},[site.timezone]);const name=T(wordmark,site.name||\"Landfall\");// ★ CSS-only size: the box is a size container, the name fills `wordFit` % of it. em comes from the letters (no measuring), so the server and the browser compute the same font-size.\nconst wmEm=lfftEm(name)/(Math.max(40,Math.min(100,wordFit||100))/100)*.983;const wmSize=`clamp(44px, calc(100cqw / ${wmEm.toFixed(3)}), ${Math.max(60,Math.round(wordMax||480))}px)`;const wmFallback=`clamp(44px, calc((100vw - 40px) / ${wmEm.toFixed(3)}), ${Math.max(60,Math.round(wordMax||480))}px)`;const tel=site.phone?\"tel:\"+cleanTel(site.phone):\"\";const ext=h=>/^https?:/i.test(h)?{target:\"_blank\",rel:\"noopener noreferrer\"}:{};const toTop=()=>{const w=window;try{if(w.__ltLenis)w.__ltLenis.scrollTo(0);else window.scrollTo({top:0,behavior:\"smooth\"});}catch(e){window.scrollTo(0,0);}};const p=!show?0:hov<0||!n?1:hov/n;const pv=!show?0:hov<0||n<2?1:hov/(n-1);const tTitle=T(timeTitle,[site.city,W[3]].filter(Boolean).join(\" \\xb7 \"));const body=/*#__PURE__*/_jsxs(\"footer\",{ref:k.root,\"data-bp\":props.bpHint,className:`bw lf-sec dlft lfft lf-well${bp.cls}${bar?\" is-bar\":\"\"}`,style:k.vars,\"aria-label\":W[4],children:[/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:FONTS}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_BASE+CSS_MOTION+LFFT_CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"lf-wrap lfft-in\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"lfft-wmw\",children:/*#__PURE__*/_jsx(\"a\",{className:\"lfft-wm lf-inring\",href:\"/\",\"data-cur\":W[7],\"aria-label\":name,style:{...HD(D),[\"--lfft-fs\"]:wmSize,[\"--lfft-fb\"]:wmFallback},children:/*#__PURE__*/_jsx(\"span\",{className:\"lfft-wmt\",\"aria-hidden\":true,style:rise(show,0,14),children:name})})}),route?/*#__PURE__*/_jsxs(\"nav\",{className:`lfft-route${hov<0?\" is-draw\":\"\"}`,\"aria-label\":W[6],style:{[\"--n\"]:Math.max(1,n),[\"--p\"]:p,[\"--pv\"]:pv},onPointerLeave:()=>setHov(-1),onBlur:()=>setHov(-1),children:[/*#__PURE__*/_jsx(\"span\",{className:\"lfft-track\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"i\",{className:\"lfft-fill\"})}),n?/*#__PURE__*/_jsx(\"ol\",{className:\"lfft-stops\",children:stops.map((d,i)=>/*#__PURE__*/_jsx(\"li\",{className:`lfft-stop${show&&(hov<0||i<=hov)?\" is-done\":\"\"}${i===hov?\" is-on\":\"\"}`,style:{[\"--i\"]:i},children:/*#__PURE__*/_jsxs(\"a\",{href:d.href,\"data-cur\":\"open\",onPointerEnter:e=>{if(e.pointerType!==\"touch\")setHov(i);},onFocus:()=>setHov(i),children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{className:\"lfft-si\",style:{...M,...NUM},children:String(i+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"span\",{className:\"lfft-sn\",children:d.name})]})},d.slug))}):null]}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"lfft-body\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"lfft-reach\",style:rise(show,120),children:[T(blurb,site.descriptor)?/*#__PURE__*/_jsx(\"p\",{className:\"lfft-blurb\",style:HD(D),children:T(blurb,site.descriptor)}):null,/*#__PURE__*/_jsxs(\"ul\",{className:\"lfft-rl\",children:[site.address?/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(Label,{t:W[0]}),/*#__PURE__*/_jsx(\"span\",{className:\"lfft-addr\",children:site.address})]}):null,site.email?/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(Label,{t:W[2]}),/*#__PURE__*/_jsx(\"a\",{href:\"mailto:\"+site.email,\"data-cur\":\"write\",children:site.email})]}):null,site.phone?/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(Label,{t:W[1]}),/*#__PURE__*/_jsx(\"a\",{href:tel,\"data-cur\":\"call\",style:NUM,children:site.phone})]}):null]})]}),cols.length?/*#__PURE__*/_jsx(\"nav\",{className:\"lfft-cols\",\"aria-label\":W[4],style:{...rise(show,200),[\"--c\"]:Math.min(3,cols.length)},children:cols.map((c,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"lfft-col\",children:[c.t?/*#__PURE__*/_jsx(\"p\",{className:\"lf-label lfft-ct\",children:c.t}):null,/*#__PURE__*/_jsx(\"ul\",{children:c.links.map((l,j)=>/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:l.h,\"data-cur\":\"open\",...ext(l.h),children:l.l})},j))})]},i))}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"lfft-now\",style:rise(show,280),children:[tTitle?/*#__PURE__*/_jsx(\"p\",{className:\"lf-label lfft-ct\",children:tTitle}):null,/*#__PURE__*/_jsx(\"p\",{className:\"lfft-time\",style:{...HD(D),...NUM},children:/*#__PURE__*/_jsx(\"b\",{suppressHydrationWarning:true,children:now||\"--:--\"})}),T(availText,site.status)?/*#__PURE__*/_jsxs(\"p\",{className:\"lfft-av\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{children:T(availText,site.status)})]}):null,soc.length?/*#__PURE__*/_jsx(\"p\",{className:\"lfft-soc\",children:soc.map((l,i)=>/*#__PURE__*/_jsx(\"a\",{href:l.h,\"data-cur\":\"open\",...ext(l.h),children:l.l},i))}):null]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfft-legal\",style:rise(show,340),children:[/*#__PURE__*/_jsx(\"p\",{className:\"lfft-lg\",children:T(legal,site.legal)}),legalL.length?/*#__PURE__*/_jsx(\"span\",{className:\"lfft-ll\",children:legalL.map((l,i)=>/*#__PURE__*/_jsx(\"a\",{className:\"lfft-credit\",href:l.h,\"data-cur\":\"open\",children:l.l},i))}):null,credit.trim()?creditLink?/*#__PURE__*/_jsx(\"a\",{className:\"lfft-credit\",href:creditLink,\"data-cur\":\"open\",...ext(creditLink),children:credit}):/*#__PURE__*/_jsx(\"span\",{className:\"lfft-credit\",children:credit}):null,W[5]?/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"lfft-up\",onClick:toTop,\"data-cur\":\"to top\",children:[/*#__PURE__*/_jsx(\"span\",{children:W[5]}),/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true,children:/*#__PURE__*/_jsx(IcoArrow,{s:14})})]}):null]})]})]});return reveal?/*#__PURE__*/_jsx(Reveal,{on:live&&!bp.ph&&!bp.tb,layer:layer,children:body}):body;}const LFFT_CSS=`\n.lfft.lf-sec.lf-well{background:var(--lf-night);--lf-acc:var(--lf-cloud)}\n.lfft-in{padding-top:clamp(56px,5.6vw,92px);padding-bottom:28px} .lfft.is-bar .lfft-in{padding-bottom:100px} .lfft.is-bar .lfft-legal{padding-right:230px} .lfft.is-ph.is-bar .lfft-legal{padding-right:0}\n/* the wordmark: ONE line, edge to edge. font-size comes from the box (cqw) and a number computed from the letters: CSS only, the same before and after hydration */\n.lfft-wmw{position:relative;container-type:inline-size;overflow:hidden}\n.lfft .lfft-wm{display:block;width:fit-content;max-width:100%;margin-left:-.025em;padding:.03em 0 .05em;font-size:var(--lfft-fb);font-variation-settings:\"opsz\" 96;font-optical-sizing:none;line-height:.86;white-space:nowrap;color:var(--lf-fg);text-decoration:none;user-select:none}\n@supports (font-size:1cqw){.lfft .lfft-wm{font-size:var(--lfft-fs)}}\n/* S7: the wordmark hangs .025em out of its clipping wrap on the left, so the shared inside ring (-3px) lost its left side: draw it further in */\n.lfft .lfft-wm.lf-inring:focus-visible{outline-offset:calc(-.025em - 5px)!important}\n.lfft-wmt{display:inline-block;color:var(--lf-fg)}\n@media (prefers-reduced-motion:reduce){.lfft-wmt{translate:none!important;opacity:1!important}}\n/* THE ROUTE LINE under the name: a 2 px hairline, round stops (hollow = ahead, orange = done), the orange line fills along it */\n.lfft-route{position:relative;margin-top:clamp(20px,2.2vw,34px)}\n.lfft-track{position:absolute;left:0;right:0;top:6px;height:2px;background:color-mix(in srgb,var(--lf-cloud) 26%,transparent)}\n.lfft-fill{position:absolute;left:0;top:0;height:100%;width:calc(var(--p,0)*100%);background:var(--lf-pine);transition:width .55s cubic-bezier(.2,.8,.2,1)} .lfft-route.is-draw .lfft-fill{transition-duration:1.5s}\n.lfft-stops{position:relative;list-style:none;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));margin:0;padding:0}\n.lfft-stop{min-width:0} .lfft .lfft-stop a{position:relative;display:block;min-height:76px;padding:30px 12px 6px 0;color:var(--lf-fg);text-decoration:none}\n.lfft-stop a>i{position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--lf-night);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lf-cloud) 55%,var(--lf-night));transition:background-color .3s ease,box-shadow .3s ease,scale .3s cubic-bezier(.2,.8,.2,1)}\n.lfft-route.is-draw .lfft-stop a>i{transition-delay:calc(var(--i,0)*.2s)}\n.lfft-stop.is-done a>i{background:var(--lf-pine);box-shadow:none} .lfft-stop.is-on a>i{scale:1.3}\n.lfft-si{display:block;margin-bottom:6px;font-size:10.5px;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;color:var(--lf-mut);transition:color .3s ease}\n.lfft-stop.is-on .lfft-si{color:color-mix(in srgb,var(--lf-pine) 62%,var(--lf-cloud))}\n.lfft-sn{display:block;font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--lf-fg);overflow-wrap:anywhere;transition:color .3s ease}\n.lfft-stops:hover .lfft-stop:not(.is-on) .lfft-sn{color:var(--lf-mut)}\n/* the body: reach \\xb7 link columns \\xb7 right now */\n.lfft-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2fr) minmax(0,1fr);gap:48px 56px;align-items:start;margin-top:clamp(44px,4.6vw,72px)}\n.lfft-reach{display:grid;gap:22px;min-width:0}\n.lfft-blurb{margin:0;max-width:14em;font-size:clamp(22px,1.9vw,28px);line-height:1.12;color:var(--lf-fg)}\n.lfft-rl{display:grid;width:100%;margin:0;padding:0;list-style:none} .lfft-rl li{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px;min-height:48px;border-top:1px solid var(--lf-hair)} .lfft-rl li:last-child{border-bottom:1px solid var(--lf-hair)}\n.lfft-rl .lf-label{margin:0} .lfft .lfft-rl a,.lfft-addr{display:inline-flex;align-items:center;min-height:46px;padding:6px 0;font-size:15px;font-weight:500;line-height:1.4;color:var(--lf-fg);text-decoration:none;overflow-wrap:anywhere}\n.lfft .lfft-rl a{justify-self:start;background:linear-gradient(var(--lf-pine),var(--lf-pine)) 0 calc(100% - 9px) / 0 2px no-repeat;transition:background-size .35s cubic-bezier(.2,.8,.2,1)} .lfft .lfft-rl a:hover,.lfft .lfft-rl a:focus-visible{background-size:100% 2px}\n.lfft-cols{display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:36px 28px;min-width:0}\n.lfft-col{min-width:0} .lfft-ct{display:block;margin:0 0 12px} .lfft-col ul{display:grid;justify-items:start;margin:0;padding:0;list-style:none}\n.lfft .lfft-col a{display:inline-flex;align-items:center;min-height:38px;font-size:16px;font-weight:500;line-height:1.3;color:var(--lf-fg);text-decoration:none;background:linear-gradient(var(--lf-pine),var(--lf-pine)) 0 calc(100% - 6px) / 0 2px no-repeat;transition:background-size .35s cubic-bezier(.2,.8,.2,1)}\n.lfft .lfft-col a:hover,.lfft .lfft-col a:focus-visible{background-size:100% 2px}\n.lfft-now{display:grid;gap:14px;justify-items:start;min-width:0}\n.lfft-time{margin:-4px 0 0;font-size:clamp(48px,4.6vw,68px);line-height:1;color:var(--lf-fg)} .lfft-time b{display:block;min-width:2.6em;font-weight:inherit}\n.lfft-av{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:500;line-height:1.4;color:var(--lf-fg)} .lfft .lfft-av .lf-dot{background:var(--lf-pine)}\n.lfft-soc{display:flex;flex-wrap:wrap;gap:0 24px;margin:0} .lfft .lfft-soc a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;color:var(--lf-fg);text-decoration:none;background:linear-gradient(var(--lf-pine),var(--lf-pine)) 0 calc(100% - 9px) / 0 2px no-repeat;transition:background-size .35s cubic-bezier(.2,.8,.2,1)} .lfft .lfft-soc a:hover,.lfft .lfft-soc a:focus-visible{background-size:100% 2px}\n/* the legal line */\n.lfft-ll{display:inline-flex;flex-wrap:wrap;gap:0 20px}\n.lfft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:clamp(40px,4vw,64px);padding-top:20px;border-top:1px solid var(--lf-hair)}\n.lfft-lg{margin:0 auto 0 0;font-size:13.5px;line-height:1.5;color:var(--lf-mut)}\n.lfft .lfft-credit{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;font-weight:500;color:var(--lf-mut);text-decoration:none} .lfft a.lfft-credit:hover{color:var(--lf-fg)}\n.lfft .lfft-up{display:inline-flex;align-items:center;gap:10px;height:44px;margin:0;padding:0 6px 0 16px;border:0;border-radius:999px;background:var(--lf-cloud);color:var(--lf-ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none}\n.lfft-up i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lf-ink);color:var(--lf-cloud);rotate:-90deg;transition:translate .3s} .lfft-up:hover i{translate:0 -2px}\n/* tablet: reach + right now side by side, the columns under them */\n.lfft.is-tb .lfft-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px 40px} .lfft.is-tb .lfft-cols{grid-column:1 / -1;grid-row:2} .lfft.is-tb .lfft-sn{font-size:15.5px}\n/* phone: everything stacked, the route turns vertical, every link is 44 px or taller */\n.lfft.is-ph .lfft-in{padding-top:52px;padding-bottom:22px} .lfft.is-ph.is-bar .lfft-in{padding-bottom:260px}\n.lfft.is-ph .lfft-route{margin-top:22px} .lfft.is-ph .lfft-track{left:6px;right:auto;top:24px;bottom:24px;width:2px;height:auto} .lfft.is-ph .lfft-fill{width:100%;height:calc(var(--pv,0)*100%);transition:height .55s cubic-bezier(.2,.8,.2,1)} .lfft.is-ph .lfft-route.is-draw .lfft-fill{transition-duration:1.5s}\n.lfft.is-ph .lfft-stops{grid-template-columns:minmax(0,1fr)} .lfft.is-ph .lfft-stop a{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 0 0 32px} .lfft.is-ph .lfft-stop a>i{top:50%;margin-top:-7px} .lfft.is-ph .lfft-si{margin:0;min-width:2.2em} .lfft.is-ph .lfft-sn{font-size:19px}\n.lfft.is-ph .lfft-body{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:40px} .lfft.is-ph .lfft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}\n.lfft.is-ph .lfft-col a{min-height:44px;min-width:44px;font-size:16px} .lfft.is-ph .lfft-blurb{font-size:22px}\n.lfft.is-ph .lfft-legal{flex-direction:column;align-items:flex-start;gap:4px;margin-top:40px} .lfft.is-ph .lfft-lg{margin:0 0 6px} .lfft.is-ph .lfft-up{margin-top:8px}\n.lfft.is-xs .lfft-rl li{grid-template-columns:60px minmax(0,1fr)} .lfft.is-xs .lfft-cols{gap:28px 14px}\n/* the SoloFoundry demo bar (#sf-demo-bar exists only on our own demo address): the same room as .is-bar, by itself, so a buyer's copy never carries it */\nhtml:has(#sf-demo-bar) .lfft.lfft .lfft-in{padding-bottom:100px} html:has(#sf-demo-bar) .lfft.lfft .lfft-legal{padding-right:230px} html:has(#sf-demo-bar) .lfft.lfft.is-ph .lfft-legal{padding-right:0} html:has(#sf-demo-bar) .lfft.lfft.is-ph .lfft-in{padding-bottom:260px}\n@media (prefers-reduced-motion:reduce){.lfft-col a,.lfft-rl a,.lfft-soc a,.lfft-up i,.lfft-fill,.lfft-stop a>i,.lfft-si,.lfft-sn{transition:none!important}}\n`;addPropertyControls(LfFooter,{...COLOR_CONTROLS,...FONT_CONTROLS,...BP_CONTROL,...REVEAL_CONTROLS,wordmark:{type:ControlType.String,title:\"Big name\",description:\"Empty = the Site Name. One line, sized to the footer's width\",defaultValue:\"\"},wordFit:{type:ControlType.Number,title:\"Name fit\",description:\"How much of the width the name fills. Lower it if a custom display font makes the name touch the edge\",min:40,max:100,step:1,unit:\"%\",defaultValue:100},wordMax:{type:ControlType.Number,title:\"Name max size\",description:\"The largest letter size, for short names\",min:60,max:640,step:10,unit:\"px\",defaultValue:480},route:{type:ControlType.Boolean,title:\"Route line\",description:\"The line under the name. Its stops are the Destinations rows\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:true},routeShown:{type:ControlType.Number,title:\"Stops shown\",description:\"Destinations on the line, by Order\",min:0,max:10,step:1,defaultValue:8,hidden:p=>p.route===false},blurb:{type:ControlType.String,title:\"Text\",description:\"Empty = the Site Descriptor\",defaultValue:\"\",displayTextArea:true},colTitles:{type:ControlType.String,title:\"Column titles\",description:\"Separated by ; — {name} writes the Site Name\",defaultValue:\"Tours; {name}; Legal\"},columns:{type:ControlType.String,title:\"Link columns\",description:\"Label:/path, Label:/path — a ; starts the next column. Empty hides the columns\",displayTextArea:true,defaultValue:\"All tours:/tours, Destinations:/destinations, Private trips:/private-trips, Guides:/guides; About:/about, Journal:/journal, Reviews:/reviews, Careers:/careers, Contact:/contact; Privacy:/privacy, Terms:/terms, Cookies:/cookies\"},timeTitle:{type:ControlType.String,title:\"Time title\",description:\"Empty = the Site City \\xb7 local time. The clock reads the Site Timezone\",defaultValue:\"\"},availText:{type:ControlType.String,title:\"Status line\",description:\"Empty = the Site Status\",defaultValue:\"\"},socials:{type:ControlType.String,title:\"Social links\",description:\"Label:link, … {instagram} and {youtube} read the Site Instagram / YouTube links. Empty hides them\",defaultValue:\"Instagram:{instagram}, YouTube:{youtube}\"},legal:{type:ControlType.String,title:\"Legal line\",description:\"Empty = the Site Legal Line\",defaultValue:\"\"},legalLinks:{type:ControlType.String,title:\"Legal links\",description:\"Label:/path, … Empty hides them\",defaultValue:\"\"},credit:{type:ControlType.String,title:\"Credit\",description:\"Type a space to hide it\",defaultValue:\"Template by SoloFoundry\"},creditLink:{type:ControlType.Link,title:\"Credit link\",description:\"Empty = plain text\"},bar:{type:ControlType.Boolean,title:\"Room for a bottom bar\",description:\"Adds room under the footer for a fixed bar\",defaultValue:false},words:{type:ControlType.String,title:\"Small labels\",description:\"Address; Call; Email; local time; Footer; Back to top; Where we go; Home — separated by ; (a space hides Back to top)\",defaultValue:\"\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LfFooter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LfFooter.map","// ===== LANDFALL shared scaffold (10-12 retoken: newsprint #F4F1EA, ink #141414, accent text-safe red #C3201A, signal red #D7261E for fills; Newsreader / Inter Tight / DM Mono) — forked from IRIS VALE («THE SHEET»: warm paper desk, near-black ink, deep teal accent, highlighter-yellow signal, the white sheet; Instrument Serif display, Figtree body, DM Mono for labels) (inlined by mk.py; each Framer code file must be self-contained) =====\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useId,useLayoutEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const FONTS=\"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Instrument+Serif:ital@0;1&family=DM+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;// night or bone-white text on a CMS brand colour (luminance test; the brand colour is data, not a palette token)\nconst onBrand=hex=>{const m=String(hex||\"\").replace(\"#\",\"\").match(/^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(!m)return\"var(--lf-cloud)\";const[r,g,b]=[m[1],m[2],m[3]].map(x=>{const v=parseInt(x,16)/255;return v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4);});const L=.2126*r+.7152*g+.0722*b;return L>.18?\"var(--lf-ink)\":\"var(--lf-cloud)\";};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.\n// Responsive delivery. Framer uploads: the resizer serves ?scale-down-to=N. Unsplash stand-ins: ?w=N. The src is already the smallest width that covers the slot (a 52px avatar never pulls a 1600px photo), so a big image is never decoded for a small box — decode is what stalls scrolling.\nconst RS_W=[160,320,480,800,1200,1600];const rsTarget=sizes=>{const t=String(sizes||\"\").trim().split(\",\").pop()||\"\";const px=t.match(/(\\d+(?:\\.\\d+)?)px/);const vw=t.match(/(\\d+(?:\\.\\d+)?)vw/);const want=px?parseFloat(px[1])*2:vw?parseFloat(vw[1])/100*1600*1.25:1600;return RS_W.find(w=>w>=want)||1600;};// tall = height / width of a PORTRAIT picture (9:16 → 1.78). Framer's scale-down-to caps the LONG edge, so a 512 step of a 9:16 file is only 288 px wide: the w descriptors are divided by tall so the browser picks a step that is really wide enough.\n// RSF — the ONE url of the whole file (Stage 6): a slot that draws the full picture with a plain src (the hero) must ask for the same url as the largest srcSet step, or the file travels twice.\nconst RSF=u=>{const b=String(u||\"\").split(\"?\")[0];return/framerusercontent\\.com\\/images\\//.test(b)?`${b}?scale-down-to=2048`:String(u||\"\");};// Stage 6 — each picture loads ONCE per page. The browser picks a srcSet step from `sizes`, so two slots of one file with different sizes pulled two or three copies of it (22 files on the Stage 5 publish).\n// RS therefore sorts every slot into a CLASS per screen and writes canonical sizes, so all slots of a class resolve to the same url: phone (≤ 809px) thumb 512 · mid 1024 · full; wider: thumb 512 · mid 1024 · full.\n// The class comes from the caller's sizes (× tall for a portrait file): the real need in px. `force` = { d, p } pins a class where a page already carries that file at another size (the hero's day pictures in LfDay, the tour cards on the home page).\n// ★ Framer law (measured on b4660cd64): the published page holds ONE <img> for the three breakpoint copies and joins their `sizes` as «(min-width: 1200px) <desktop sizes>, (min-width: 810px) and (max-width: 1199.98px) <tablet sizes>, (max-width: 809.98px) <phone sizes>».\n// A sizes value that carries its own media query or a comma breaks that list (the browser then takes the first bare length for every screen: phones fetched the whole file). So each copy writes ONE bare length:\n// RS_PH is set by bpOf() of the section that is rendering (useSec runs before any RS call of that render), and the phone copy writes the phone class.\nlet RS_PH=false;const RS_CAN={d:{thumb:\"256px\",mid:\"1000px\",full:\"2040px\"},p:{thumb:\"100px\",mid:\"500px\",full:\"2040px\"}};const rsNeed=(term,vwPx)=>{const px=term.match(/(\\d+(?:\\.\\d+)?)px\\s*$/);const vw=term.match(/(\\d+(?:\\.\\d+)?)vw\\s*$/);return px?parseFloat(px[1]):vw?parseFloat(vw[1])/100*vwPx:vwPx;};const rsClasses=(sizes,tall)=>{const terms=String(sizes||\"\").split(\",\").map(x=>x.trim()).filter(Boolean);const last=terms[terms.length-1]||\"100vw\";const ph=terms.find(t=>{const m=t.match(/max-width:\\s*(\\d+)px/);return!!m&&+m[1]<=1099;})||last;const dn=rsNeed(last,1440)*tall;const pn=rsNeed(ph.replace(/^\\([^)]*\\)\\s*/,\"\"),390)*tall*2;return{d:dn<=110?\"thumb\":dn<=480?\"mid\":\"full\",p:pn<=220?\"thumb\":pn<=1100?\"mid\":\"full\"};};const RS=(u,sizes,tall=1,force)=>{const s=String(u||\"\");const b=s.split(\"?\")[0];const tl=Math.max(1,tall||1);if(/framerusercontent\\.com\\/images\\//.test(s)){const c0=rsClasses(sizes,tl);const c={d:force&&force.d||c0.d,p:force&&force.p||c0.p};const at=k=>`${b}?scale-down-to=${k===\"thumb\"?512:k===\"mid\"?1024:2048}`;return{src:at(c.d),full:at(\"full\"),srcSet:`${at(\"thumb\")} 512w, ${at(\"mid\")} 1024w, ${at(\"full\")} 2048w`,sizes:RS_PH?RS_CAN.p[c.p]:RS_CAN.d[c.d]};}if(/images\\.unsplash\\.com\\//.test(s)){const w=rsTarget(sizes);const q=n=>`${b}?w=${n}&q=70&fm=jpg&auto=format`;return{src:q(w),srcSet:RS_W.filter(n=>n<=Math.max(w*2,480)).map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}// Wikimedia Commons stand-ins from media/standins.json (thumb urls …/1280px-Name.jpg): only the standard thumb steps exist. A 1920px url (the hero photo) is passed through untouched.\nconst wm=s.match(/wikimedia\\.org\\/.*\\/(\\d+)px-/);if(wm&&+wm[1]<=1280){const w=rsTarget(sizes);const q=n=>b.replace(/\\/\\d+px-/,`/${n}px-`);const st=[500,960,1280].filter(n=>n<=+wm[1]);return{src:q(st.find(n=>n>=w)||st[st.length-1]),srcSet:st.map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}return{src:s};};// 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(\"lf-fonts\"))return;const l=document.createElement(\"link\");l.id=\"lf-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 ov=String(hint||\"\").toLowerCase();const[w,setW]=useState(ov===\"phone\"?390:ov===\"tablet\"?810:1440),[vh,setVh]=useState(ov===\"phone\"?844:ov===\"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;};// One shared rAF for every section. Each frame runs ALL reads first (layout reads: getBoundingClientRect, offsetHeight), then ALL writes (CSS vars, transforms).\n// Interleaving read → write → read made the browser recalc the whole page's style once per section per frame (layout thrashing: 20+ recalcs a frame).\nfunction onTick(fn,read,pre){if(typeof window===\"undefined\")return()=>{};const w=window;if(!w.__ovTick){w.__ovTick={pre:new Set,subs:new Set,reads:new Set,raf:0};const loop=t=>{const T=w.__ovTick;T.pre.forEach(r=>r(t));T.reads.forEach(r=>r(t));T.subs.forEach(s=>s(t));T.raf=requestAnimationFrame(loop);};w.__ovTick.raf=requestAnimationFrame(loop);}w.__ovTick.subs.add(fn);if(read)w.__ovTick.reads.add(read);if(pre)w.__ovTick.pre.add(pre);return()=>{w.__ovTick.subs.delete(fn);if(read)w.__ovTick.reads.delete(read);if(pre)w.__ovTick.pre.delete(pre);};}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;};// Iris Vale tokens «THE SHEET»: Paper(bone) = warm desk #F3F1EC · Ink #1A1A1C (buttons are ink) · Accent(brass) = deep teal #1F5F57 (the italic word, rules, the print head; 6:1 on Paper, text-safe) · Signal(pine) = highlighter yellow #FFE14D (marks and fills only; never text) · Line(fog) #DDD9D0 · Muted(stone) #5C5B58 (5.9:1) · White(cloud) = the sheet · Dark(night) #121214.\n// LANDFALL «THE CABIN» (10-13): Paper(bone) = cabin cream #ECE6DA · Ink #16201C · Accent(brass) = sea green #0F5C4E (text-safe) · Signal(pine) = flare orange #F2542D (fills, the cursor; white 13 px bold on it only) · Line(fog) #D3CBBB · Muted(stone) #56605A · White(cloud) = the window rim #F8F4EB · Dark(night) #0C1210.\nconst DEF={bone:\"#ECE6DA\",ink:\"#16201C\",brass:\"#0F5C4E\",pine:\"#F2542D\",fog:\"#D3CBBB\",stone:\"#56605A\",cloud:\"#F8F4EB\",night:\"#0C1210\"};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});// a Style-bound colour arrives as var(--token-…, #hex): let the browser resolve it to r,g,b for canvas drawing\nconst cssRgb=(el,col,fb)=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.color=col;el.appendChild(p);const v=getComputedStyle(p).color;p.remove();const m=v.match(/(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?)/);return m?`${Math.round(+m[1])},${Math.round(+m[2])},${Math.round(+m[3])}`:fb;};const cssVars=c=>({\"--lf-bone\":c.bone,\"--lf-ink\":c.ink,\"--lf-brass\":c.brass,\"--lf-pine\":c.pine,\"--lf-fog\":c.fog,\"--lf-stone\":c.stone,\"--lf-cloud\":c.cloud,\"--lf-night\":c.night});const COLOR_CONTROLS={bone:{type:ControlType.Color,title:\"Paper\",description:\"The cream band and pale text on the night ground\",defaultValue:DEF.bone},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:DEF.ink},brass:{type:ControlType.Color,title:\"Accent\",description:\"Sea green: the italic word, rules under links and arrows on a light ground\",defaultValue:DEF.brass},pine:{type:ControlType.Color,title:\"Signal\",description:\"Flare orange: route dots and lines, badges, the main pill and the cursor. Fills only, never small text on a light ground\",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\",description:\"Plates and cards\",defaultValue:DEF.cloud},night:{type:ControlType.Color,title:\"Dark\",description:\"The night ground of the site and the shades over photographs\",defaultValue:DEF.night}};// ---- Fonts: Custom Fonts toggle → Font controls; off = Fraunces / Geist / DM 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:\"sans-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 NUMF=\"var(--lf-font-m, 'DM Mono'), ui-monospace, Menlo, monospace\";// Site-wide fonts: the Header (Site Layout, every page) writes --lf-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(`--lf-font-${k}:${fam}`);v.push(`--lf-font-${k}w:${wOf(f,w)}`);}};put(\"d\",p.displayFont,600);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(--lf-font-d, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.displayFont,400):\"var(--lf-font-dw, 600)\",fontStyle:on&&p.displayFont&&p.displayFont.fontStyle?p.displayFont.fontStyle:\"normal\"};const B={fontFamily:stack(on,p.bodyFont,\"var(--lf-font-b, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.bodyFont,400):\"var(--lf-font-bw, 400)\"};const M={fontFamily:stack(on,p.monoFont,\"var(--lf-font-m, 'DM Mono')\",\"ui-monospace, 'SF Mono', Menlo, monospace\"),fontWeight:on?wOf(p.monoFont,500):\"var(--lf-font-mw, 500)\"};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}};// In-page CTA jumps (\"#demo\", \"/#demo\"): scroll to the section when it is on this page, otherwise go to it on the home page.\nfunction jumpTo(e,href){try{const m=String(href||\"\").match(/^\\/?#([\\w-]+)$/);if(!m)return;const el=document.getElementById(m[1]);if(el){e.preventDefault();const W=window;const L=W.__ltLenis||W.__vcLenis||W.lenis;if(L&&L.scrollTo)L.scrollTo(el,{offset:-20});else el.scrollIntoView({behavior:\"smooth\",block:\"start\"});try{history.replaceState(null,\"\",\"#\"+m[1]);}catch(x){}}else if(href.startsWith(\"#\")){e.preventDefault();window.location.href=\"/\"+href;}}catch(x){}}// display text (section headlines, card titles, prices): Fraunces 400, tracking −.04em. With a section's Custom Fonts on, the picked font is used as is.\nconst HD=D=>({...D,fontWeight:typeof D.fontWeight===\"number\"?D.fontWeight:\"var(--lf-font-dw, 600)\",letterSpacing:\"-.04em\"});// numbers in display type keep their columns (counters never jiggle)\nconst NUM={fontVariantNumeric:\"tabular-nums lining-nums\"};// font stacks as CSS: a section root sets --lf-fd / --lf-fb / --lf-fm (useSec does), so shared classes (.lf-mono, .lf-eb, .lf-chip …) take the mono font without an inline style\nconst FD_CSS=\"var(--lf-fd,var(--lf-font-d,'Bricolage Grotesque'),system-ui,-apple-system,Arial,sans-serif)\";const FM_CSS=\"var(--lf-fm,var(--lf-font-m,'DM Mono'),ui-monospace,'SF Mono',Menlo,monospace)\";// canvas text: ctx.font cannot read var() — resolve the family on a probe inside the section first\nconst cssFont=(el,family,fb=\"monospace\")=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.fontFamily=String(family||fb);el.appendChild(p);const v=getComputedStyle(p).fontFamily||fb;p.remove();return v;};// ---- Buttons = the hero's «Book this clean» pill. solid = green pill, an ink fill sweeps in from the left on hover / focus and the arrow steps right · ghost = hairline pill that fills white · quiet = small sand pill (44 px) for second-rank actions.\n// icon: \"arrow\" | \"down\" | \"none\". Default: solid → arrow, ghost / quiet → none. On the green band the solid pill is white with green text.\nconst BtnArrow=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})});const BtnDown=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v13M6 12l6 6 6-6M5 21h14\"})});const Btn=({href,label,kind=\"solid\",icon,style,className,onClick,ariaLabel,cur,as,disabled})=>{if(!label||!String(label).trim())return null;const ic=icon||(kind===\"solid\"?\"arrow\":\"none\");const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"lf-btn-l\",children:label}),ic!==\"none\"?/*#__PURE__*/_jsx(\"b\",{className:`lf-btn-a is-${ic}`,\"aria-hidden\":true,children:ic===\"down\"?/*#__PURE__*/_jsx(BtnDown,{}):/*#__PURE__*/_jsx(BtnArrow,{})}):null]});const cls=`lf-btn lf-${kind}${ic!==\"none\"?\" has-a\":\"\"}${className?\" \"+className:\"\"}`;if(as===\"button\"||!href)return /*#__PURE__*/_jsx(\"button\",{type:onClick?\"button\":\"submit\",className:cls,\"data-cur\":cur||\"go\",onClick:onClick,\"aria-label\":ariaLabel,disabled:disabled,style:style,children:inner});const ext=/^https?:\\/\\//.test(href||\"\");return /*#__PURE__*/_jsx(\"a\",{className:cls,\"data-cur\":cur||\"open\",href:href,target:ext?\"_blank\":undefined,rel:ext?\"noopener\":undefined,onClick:onClick||(e=>jumpTo(e,href)),\"aria-label\":ariaLabel,style:style,children:inner});};// More — the text link under a section (\"All services →\"): a green rule draws under it on hover / focus, the arrow steps right. n = an optional small mono count before it.\nconst More=({href,label,n,cur,className,style})=>label&&String(label).trim()?/*#__PURE__*/_jsxs(\"a\",{className:`lf-more${className?\" \"+className:\"\"}`,href:href||\"/\",\"data-cur\":cur||\"open\",style:style,children:[n?/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-n\",children:n}):null,/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-l\",children:label}),/*#__PURE__*/_jsx(IcoArrow,{s:15})]}):null;// Label — the mono caps line (DM Mono 11, .12em): above a headline, on a card, next to a number. dot = the mint live dot in front. Static; use the motion layer's Eyebrow when it should rise in.\nconst Label=({t,dot=false,className,style})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-label${className?\" \"+className:\"\"}`,style:style,children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;// Chip — the hero's pill. tone: \"\" white pill with a soft shadow (on the ground) · \"sand\" sand pill (inside white cards) · \"fill\" green pill, white text · \"mut\" no plate, muted text. dot = the mint live dot (the availability chip).\nconst Chip=({t,tone=\"\",dot=false,className})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-chip${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,children:[dot?/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}):null,t]}):null;// Pick — a chip you can press (room chips, frequency switch, filters). In the flow, never sticky. Sand pill → green when on. 46 px tall like the hero's quote chips.\nconst Pick=({label,on,onClick,count,cur})=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`lf-pick${on?\" is-on\":\"\"}`,\"aria-pressed\":on,onClick:onClick,\"data-cur\":cur||(on?\"picked\":\"pick\"),children:[label,count!==undefined&&count!==\"\"?/*#__PURE__*/_jsx(\"em\",{children:count}):null]});// Tick — a mint disc whose check DRAWS once when `on` (pass `on || still`). tone \"line\" = a hairline ring until it is on (checklist points). Decorative: the text next to it carries the meaning.\nconst Tick=({on=true,s=24,delay=0,tone=\"\",className})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-tick${on?\" is-on\":\"\"}${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,\"aria-hidden\":true,style:{width:s,height:s,[\"--lf\"]:`${delay}ms`},children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:Math.round(s*.58),height:Math.round(s*.58),fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{pathLength:1,d:\"M5 12.5l4.5 4.5L19 7.5\"})})});// Veil — THE WIPE for any picture: a pale veil sits on the child and slides off left → right ONCE when `on` (≤ .9 s, transform only). Change `k` (a string, e.g. the picture's slug) to wipe again when the picture swaps.\n// Wrap a Pic / img: <Veil on={on || still} k={row.slug}><Pic … /></Veil>. Still renders and reduced motion show the picture plain.\nconst Veil=({on,k=\"\",delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-veil${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:style,children:[children,/*#__PURE__*/_jsx(\"i\",{className:\"lf-veil-v\",\"aria-hidden\":true,\"data-gate-skip\":true,style:{[\"--lf\"]:`${delay}ms`}},k)]});function useNearFocus(root,live){useEffect(()=>{if(!live||!root.current)return;const el=root.current;const f=e=>{const t=e.target;const sc=t.closest?.(\".lf-inring\");if(!sc)return;try{t.scrollIntoView({block:\"nearest\",inline:\"nearest\"});}catch(x){}};el.addEventListener(\"focusin\",f);return()=>el.removeEventListener(\"focusin\",f);},[live]);}// Roll — a rolling mono number: every digit is a 0–9 column that slides to its value; separators stay put. rm = no transition.\nconst Roll=({text,rm=false,cls})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-roll${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,\"aria-hidden\":true,children:String(text).split(\"\").map((ch,i)=>/\\d/.test(ch)?/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg\",children:/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg-c\",style:{[\"--d\"]:+ch},children:[0,1,2,3,4,5,6,7,8,9].map(d=>/*#__PURE__*/_jsx(\"i\",{children:d},d))})},i):/*#__PURE__*/_jsx(\"span\",{className:\"lf-sep\",children:ch},i))});// Count — counts up once when `on` (\"2,140\", \"48,200\", \"99\", \"0.8 s\"): keeps prefix, suffix and commas; the final value is in the server HTML and in aria-label.\nconst Count=({to,on,rm=false,ms=1400,cls,style})=>{const v=useCount(to,on,rm,ms);return /*#__PURE__*/_jsx(\"span\",{className:`lf-count lf-num${cls?\" \"+cls:\"\"}`,style:style,\"aria-label\":String(to||\"\"),children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,children:v})});};// Md — mini markdown for CMS bodies: blank line = paragraph, \"## \" = h3, \"- \" = list item, \"> \" = quote, **bold**, `code`, ``` fenced block ```. Never dangerouslySetInnerHTML.\nconst mdInline=t=>String(t).split(/(\\*\\*[^*]+\\*\\*|`[^`]+`)/g).map((x,i)=>x.length>4&&x.startsWith(\"**\")&&x.endsWith(\"**\")?/*#__PURE__*/_jsx(\"strong\",{children:x.slice(2,-2)},i):x.length>2&&x.startsWith(\"`\")&&x.endsWith(\"`\")?/*#__PURE__*/_jsx(\"code\",{children:x.slice(1,-1)},i):x);const Md=({text,D,cls})=>{const out=[];let list=[];let code=null;const flush=()=>{if(list.length){out.push(/*#__PURE__*/_jsx(\"ul\",{children:list.map((x,i)=>/*#__PURE__*/_jsx(\"li\",{children:mdInline(x)},i))},\"u\"+out.length));list=[];}};const block=()=>{if(code){out.push(/*#__PURE__*/_jsx(\"pre\",{tabIndex:0,children:/*#__PURE__*/_jsx(\"code\",{children:code.join(\"\\n\")})},\"c\"+out.length));code=null;}};String(text||\"\").split(\"\\n\").forEach(raw=>{const l=raw.trim();if(l.startsWith(\"```\")){if(code)block();else{flush();code=[];}return;}if(code){code.push(raw.replace(/\\s+$/,\"\"));return;}if(!l)return;if(l.startsWith(\"- \")){list.push(l.slice(2));return;}flush();if(l.startsWith(\"## \"))out.push(/*#__PURE__*/_jsx(\"h3\",{style:D?HD(D):undefined,children:l.slice(3)},out.length));else if(l.startsWith(\"> \"))out.push(/*#__PURE__*/_jsx(\"blockquote\",{children:mdInline(l.slice(2))},out.length));else out.push(/*#__PURE__*/_jsx(\"p\",{children:mdInline(l)},out.length));});block();flush();return /*#__PURE__*/_jsx(\"div\",{className:`lf-md${cls?\" \"+cls:\"\"}`,children:out});};const Rule=({on,dir=\"x\",delay=0,rm=false,style,cls})=>/*#__PURE__*/_jsx(\"i\",{className:`lf-rule-${dir}${on?\" is-on\":\"\"}${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},\"aria-hidden\":true});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 6l6 6-6 6\"})});const IcoCheck=({s=12})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12.5l4.5 4.5L19 7.5\"})});const IcoPlus=({s=14})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\"})});// Scribble — a crayon mark that DRAWS itself once when `on` (pass `on || still`): kind \"underline\" (under a word, width 100%) · \"circle\" · \"arrow\" · \"wave\" · \"star\". tone = which crayon (0..3 of the four: coral, sky, sunflower, green) or a hex. Decorative (aria-hidden); the text next to it carries the meaning.\nconst CRAYONS=[\"var(--lf-brass)\",\"#5B9BD5\",\"var(--lf-pine)\",\"#2E7D5B\"];const SCRIB={underline:[\"0 0 200 24\",\"M4 16c40-10 80-8 120-6s50 2 72-4\"],circle:[\"0 0 120 120\",\"M60 14c30-4 50 18 46 46s-26 50-56 46S12 80 16 54 36 18 60 14z\"],arrow:[\"0 0 120 60\",\"M6 32c30-10 60-12 90-6m-18-16 22 16-20 20\"],wave:[\"0 0 200 40\",\"M4 28q24-30 48 0t48 0 48 0 48 0\"],star:[\"0 0 100 100\",\"M50 8v26M50 66v26M8 50h26M66 50h26M20 20l18 18M62 62l18 18M80 20 62 38M38 62 20 80\"]};const Scribble=({on,kind=\"underline\",tone=0,w=7,className,style})=>{const[vb,d]=SCRIB[kind]||SCRIB.underline;const col=typeof tone===\"number\"?CRAYONS[tone%CRAYONS.length]:tone;return /*#__PURE__*/_jsx(\"svg\",{className:`lf-scrib${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,viewBox:vb,preserveAspectRatio:\"none\",\"aria-hidden\":true,style:style,fill:\"none\",stroke:col,strokeWidth:w,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:d,pathLength:1})});};// Pic — a CMS picture in a ratio box: width / height attributes (no layout shift), lazy, responsive srcSet, night ground while it loads, a hairline on top. Children sit above the picture (put text on a .lf-plate).\nconst ratioWH=ratio=>{const m=String(ratio||\"\").match(/([\\d.]+)\\s*\\/\\s*([\\d.]+)/);const r=m?parseFloat(m[1])/Math.max(.01,parseFloat(m[2])):1;return{w:1600,h:Math.round(1600/(r||1))};};const Pic=({src,alt=\"\",ratio=\"16/10\",sizes=\"(max-width: 809px) 100vw, 50vw\",focus=\"50% 50%\",radius=20,eager=false,className,style,children})=>{const im=RS(src,sizes);const d=ratioWH(ratio);return /*#__PURE__*/_jsxs(\"span\",{className:`lf-pic${className?\" \"+className:\"\"}`,style:{aspectRatio:ratio,borderRadius:radius,...style||{}},children:[src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,sizes:im.sizes,alt:alt,width:d.w,height:d.h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus}}):null,children]});};// section breakpoints from the MEASURED root width (useSize with the bpHint): the same thresholds as the hero. Never a bare 1440 guess.\nconst bpOf=w=>{const ph=w<810,tb=!ph&&w<1100,xs=w<360;RS_PH=ph;return{ph,tb,xs,cls:(ph?\" is-ph\":tb?\" is-tb\":\"\")+(xs?\" is-xs\":\"\")};};const CSS_BASE=`\n/* BRIGHTWORK base \\xabTHE CLEAR PANE\\xbb. The page is LIGHT: ground --lf-bone #F4F0E8 \\xb7 white cards --lf-cloud \\xb7 sand wells --lf-sand ≈ #E9E3D8 (.lf-sand on a section, .lf-plate.is-well on a card) \\xb7 ink --lf-ink #1A1A1C. .lf-lime = the ONE green band (--lf-brass, white text; LfPricing only). .lf-well (dark) exists in the CSS but NO section uses it.\n   CASCADE-ORDER LAW: every component re-injects this CSS, so a LATER component's base rule beats an earlier component's single-class rule. Override a base class on the same element with 2+ classes (.shwk-card.lf-plate{…}). Section rules like \".lfxx a{color:inherit}\" beat one class too — shared colours here always use two. */\n:where(.bw){position:relative} .lf-sec,.lf-sec *{box-sizing:border-box;min-width:0} .lf-sec{-webkit-font-smoothing:antialiased} :where(.bw) a{color:inherit} html,body{overflow-x:clip}\n.lf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}\n/* focus: a 2px lime ring, 4px out (the hero's). On the lime band the ring is night; .lf-inring = ring inside the box (scrollers, rows that touch an edge) */\n:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline:2px solid var(--lf-brass,#0E5B4A)!important;outline-offset:4px!important}\n:where(.lf-lime,.lf-well) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-cloud,#FFFFFF)!important}\n:where(.lf-lime .lf-plate) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-brass,#0E5B4A)!important}\n.lf-sec :where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin:104px 0 28px}\n:where(.lf-inring) :where(a[href],button,input,summary,[tabindex]):focus-visible,:where(a[href],button,input,summary,[tabindex]).lf-inring:focus-visible{outline-offset:-3px!important}\n/* TEXT-SAFE tokens per ground. --lf-fg = the ground's text \\xb7 --lf-mut = muted text (stone: 6.65:1 on the ground, 6.16:1 on a plate) \\xb7 --lf-acc = lime as text (dark grounds only) \\xb7 --lf-hair / --lf-hair2 = 14% / 22% ink hairlines.\n   Violet (--lf-pine) is a FILL only: bars, rules, the struck value's line — never small text. */\n.bw{--lf-shade:color-mix(in srgb,var(--lf-night) 67%,#000);--lf-sand:color-mix(in srgb,var(--lf-bone) 52%,var(--lf-fog));--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-brass);--lf-hair:color-mix(in srgb,var(--lf-ink) 14%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 22%,transparent)}\n/* section grounds: ground (default) \\xb7 lf-well = the night well \\xb7 lf-lime = THE lime band (night text; lime-as-text becomes night) */\n.lf-sec{background:var(--lf-bone);color:var(--lf-fg)} .lf-sec.lf-sand{background:var(--lf-sand)} .lf-sec.lf-well{background:var(--lf-night);--lf-fg:var(--lf-bone);--lf-mut:color-mix(in srgb,var(--lf-bone) 72%,var(--lf-night));--lf-acc:var(--lf-pine);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-bone) 16%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-bone) 26%,transparent)}\n.lf-sec.lf-lime{background:var(--lf-brass);--lf-fg:var(--lf-cloud);--lf-mut:color-mix(in srgb,var(--lf-cloud) 82%,var(--lf-brass));--lf-acc:var(--lf-cloud);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-cloud) 20%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-cloud) 38%,transparent)}\n/* Cards: white, 24px radius, a soft shadow, no hairline. A card resets the text tokens (also inside the green band). .is-well = a sand well (flat, no shadow). */\n.lf-plate{position:relative;border-radius:24px;background:var(--lf-cloud);--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-ink) 12%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 20%,transparent);color:var(--lf-fg);box-shadow:0 14px 44px color-mix(in srgb,var(--lf-ink) 7%,transparent)}\n.lf-plate.is-well{background:var(--lf-sand);box-shadow:none}\n/* section scaffold: .lf-wrap = the hero's container (clamp(1280px,92vw,1520px), side padding 56 / 40 tablet / 20 phone, set by .is-tb / .is-ph on the section root from useSize) \\xb7 .lf-pad = the vertical rhythm */\n.lf-wrap{position:relative;width:100%;max-width:${MAXW};margin:0 auto;padding-left:56px;padding-right:56px}\n.lf-sec.is-tb .lf-wrap{padding-left:40px;padding-right:40px} .lf-sec.is-ph .lf-wrap{padding-left:20px;padding-right:20px}\n.lf-pad{padding-top:clamp(96px,9vw,152px);padding-bottom:clamp(96px,9vw,152px)} .lf-sec.is-tb .lf-pad{padding-top:88px;padding-bottom:88px} .lf-sec.is-ph .lf-pad{padding-top:68px;padding-bottom:68px}\n.lf-headblock{display:grid;gap:22px;justify-items:start;max-width:920px} .lf-sec.is-ph .lf-headblock{gap:16px}\n.lf-lead{margin:0;max-width:34em;font-size:17px;line-height:1.6;color:var(--lf-mut)} .lf-sec.is-ph .lf-lead{font-size:15.5px}\n.lf-empty{margin:0;padding:22px 0;font-family:${FM_CSS};font-size:13px;line-height:1.5;color:var(--lf-mut)}\n/* opt-in container queries: add .lf-cq to the root, then @container bw (max-width:1099px){…} / (max-width:809px). NOT on a root with position:fixed children (containment re-bases them). */\n.lf-cq{container-type:inline-size;container-name:bw}\n/* the hairline 72px grid, masked by a radial (set --gx / --gy to move the light) */\n.lf-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%);mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%)}\n/* ---- Buttons = the hero's \\xabBook this clean\\xbb pill (52px, label 15/600). Colours use two classes so a section's \"a{color:inherit}\" never wins. */\n.lf-btn{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;margin:0;padding:0 24px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:translate .35s cubic-bezier(.2,.8,.2,1),scale .2s ease,border-color .3s,color .3s,background-color .3s}\n.lf-btn::before{content:\"\";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--lf-brass);transform:translateX(-102%);transition:transform .5s cubic-bezier(.3,.9,.2,1)} .lf-btn:hover::before,.lf-btn:focus-visible::before{transform:translateX(0)} .lf-btn:active{scale:.97}\n.lf-btn-a{display:inline-grid;place-items:center;flex:none} .lf-btn-a svg{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)} .lf-btn:hover .lf-btn-a.is-arrow svg{transform:translateX(4px)} .lf-btn:hover .lf-btn-a.is-down svg{transform:translateY(3px)}\n.lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)}\n.lf-btn.lf-ghost{color:var(--lf-fg,var(--lf-ink));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-fg,var(--lf-ink)) 30%,transparent)} .lf-btn.lf-ghost::before{background:var(--lf-cloud)} .lf-btn.lf-ghost:hover,.lf-btn.lf-ghost:focus-visible{box-shadow:inset 0 0 0 1.5px var(--lf-ink);color:var(--lf-ink)}\n.lf-btn.lf-quiet{height:44px;padding:0 18px;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-btn.lf-quiet::before{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))}\n.lf-sec .lf-btn.lf-quiet.on-ground{background:var(--lf-cloud);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)}\n.lf-btn:disabled,.lf-btn[aria-disabled=\"true\"]{opacity:.5;pointer-events:none}\n/* on the green band: the solid pill is white with green text (sweep = paper); ghost = a white hairline that fills white. Inside a white card on the band everything is the default again. */\n.lf-lime .lf-btn.lf-solid{background:var(--lf-cloud);color:var(--lf-brass)} .lf-lime .lf-btn.lf-solid::before{background:var(--lf-bone)}\n.lf-lime .lf-btn.lf-ghost{color:var(--lf-cloud);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud) 46%,transparent)} .lf-lime .lf-btn.lf-ghost:hover,.lf-lime .lf-btn.lf-ghost:focus-visible{color:var(--lf-brass);box-shadow:inset 0 0 0 1.5px var(--lf-cloud)}\n.lf-lime .lf-plate .lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)} .lf-lime .lf-plate .lf-btn.lf-solid::before{background:var(--lf-ink)} .lf-lime .lf-plate .lf-btn.lf-ghost{color:var(--lf-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-ink) 26%,transparent)}\n.lf-sec button,.lf-sec input,.lf-sec select,.lf-sec textarea{font-family:inherit}\n/* the text link under a section */\n.lf-more{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap} .lf-sec .lf-more{color:var(--lf-fg)}\n.lf-more-n{font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--lf-mut)} .lf-more-l{position:relative;padding:6px 0} .lf-more-l::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--lf-acc);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}\n.lf-more:hover .lf-more-l::after,.lf-more:focus-visible .lf-more-l::after{transform:scaleX(1)} .lf-more svg{color:var(--lf-acc);transition:transform .3s} .lf-more:hover svg{transform:translateX(4px)}\n/* Label: mono caps */\n.lf-label{display:inline-flex;align-items:center;gap:9px;margin:0;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--lf-mut)} .lf-sec.lf-lime .lf-label{color:var(--lf-mut)}\n/* mono data lines + numbers (sentence case, no tracked caps) */\n.lf-mono{font-family:${FM_CSS};font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.5;font-variant-numeric:tabular-nums} .lf-num{font-variant-numeric:tabular-nums lining-nums} .lf-lbl{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--lf-mut)}\n/* the live dot: mint, slow halo (the availability chip's) */\n.lf-dot{position:relative;display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite} @keyframes lf-pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}\n/* Chip + Pick = the hero's pills */\n.lf-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 15px;border-radius:999px;background:var(--lf-cloud);font-size:14px;font-weight:500;line-height:1.2;color:var(--lf-ink);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)} .lf-chip i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite}\n.lf-chip.is-sand{background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));box-shadow:none} .lf-chip.is-fill{background:var(--lf-brass);color:var(--lf-cloud);box-shadow:none} .lf-chip.is-mut{min-height:0;padding:0;background:none;box-shadow:none;color:var(--lf-mut)} .lf-lime .lf-chip.is-mut{color:var(--lf-mut)}\n.lf-pick{display:inline-flex;align-items:center;gap:8px;height:46px;margin:0;padding:0 18px;border:0;border-radius:999px;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .25s ease,color .25s ease,scale .2s ease} .lf-sec .lf-pick{color:var(--lf-ink)}\n.lf-pick em{font-style:normal;opacity:.82} .lf-pick:hover{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))} .lf-pick:active{scale:.96} .lf-sec .lf-pick.is-on{background:var(--lf-ink);color:var(--lf-cloud)}\n.lf-sec:not(.lf-lime) .lf-picks.on-ground .lf-pick:not(.is-on){background:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-cloud) 14%,transparent);color:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on):hover{background:color-mix(in srgb,var(--lf-cloud) 24%,transparent)} .lf-sec.lf-lime .lf-pick.is-on{background:var(--lf-cloud);color:var(--lf-brass)}\n.lf-lime .lf-plate .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-sec.lf-lime .lf-plate .lf-pick.is-on{background:var(--lf-brass);color:var(--lf-cloud)}\n/* Tick: a mint disc, the check draws once */\n.lf-tick{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--lf-pine);color:var(--lf-ink);transition:background-color .35s ease var(--lf,0ms),box-shadow .35s ease var(--lf,0ms)} .lf-tick path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.3,.8,.2,1) calc(var(--lf,0ms) + .12s)} .lf-tick.is-on path{stroke-dashoffset:0}\n.lf-tick.is-line:not(.is-on){background:transparent;box-shadow:inset 0 0 0 1.5px var(--lf-hair2)}\n/* Veil: the wipe. The veil covers the child until .is-on, then slides off to the right once */\n.lf-veil{position:relative;display:block;overflow:hidden;border-radius:inherit} .lf-veil-v{position:absolute;z-index:2;inset:0 -18% 0 0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--lf-bone) 94%,transparent) 0,color-mix(in srgb,var(--lf-bone) 94%,transparent) 82%,color-mix(in srgb,var(--lf-bone) 0.4%,transparent) 100%);transform:translateX(-18%)}\n.lf-veil.is-on .lf-veil-v{animation:lf-veil .85s cubic-bezier(.5,0,.2,1) var(--lf,0ms) both} @keyframes lf-veil{from{transform:translateX(-18%)}to{transform:translateX(102%)}} .bw[data-kb] .lf-veil-v{display:none}\n@media (prefers-reduced-motion:reduce){.lf-veil-v{display:none}}\n/* Pic */ .lf-pic{position:relative;display:block;overflow:hidden;background:var(--lf-sand)} .lf-pic img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;user-select:none} \n/* Roll */ .lf-roll{display:inline-flex;align-items:flex-start;white-space:nowrap;font-variant-numeric:tabular-nums} .lf-dg{display:inline-block;height:1em;overflow:hidden;vertical-align:top} .lf-dg-c{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -1em));transition:transform .55s cubic-bezier(.3,.9,.3,1)} .lf-dg-c i{display:block;height:1em;line-height:1em;font-style:normal} .lf-sep{display:inline-block;height:1em;line-height:1em} .lf-roll.is-rm .lf-dg-c,.bw[data-kb] .lf-dg-c{transition:none}\n/* Rules: a hairline that DRAWS */ .lf-rule-x,.lf-rule-y{display:block;background:var(--lf-hair);transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--lf,0ms)} .lf-rule-x{width:100%;height:1px;transform:scaleX(0)} .lf-rule-y{width:1px;height:100%;transform:scaleY(0)} .lf-rule-x.is-on{transform:scaleX(1)} .lf-rule-y.is-on{transform:scaleY(1)} .lf-rule-x.is-rm,.lf-rule-y.is-rm,.bw[data-kb] .lf-rule-x,.bw[data-kb] .lf-rule-y{transition:none}\n/* Count */ .lf-count{display:inline-block;white-space:nowrap}\n/* Scribble: a crayon mark draws once (multiply, so it reads as crayon on the paper and on a picture) */ .lf-scrib{display:block;mix-blend-mode:multiply;overflow:visible} .lf-scrib path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.3,.8,.2,1) var(--lf,0ms)} .lf-scrib.is-on path{stroke-dashoffset:0} .bw[data-kb] .lf-scrib path{transition:none} @media (prefers-reduced-motion:reduce){.lf-scrib path{stroke-dashoffset:0!important}}\n/* Md */ .lf-md{display:grid;gap:16px;font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--lf-fg) 86%,transparent)} .lf-md p,.lf-md ul,.lf-md h3,.lf-md blockquote,.lf-md pre{margin:0} .lf-md h3{margin-top:18px;font-size:clamp(24px,2vw,30px);line-height:1.12;color:var(--lf-fg)} .lf-md h3:first-child{margin-top:0} .lf-md ul{padding-left:1.2em;display:grid;gap:8px} .lf-md li::marker{color:var(--lf-acc)} .lf-md strong{font-weight:600;color:var(--lf-fg)} .lf-md a{color:var(--lf-acc);text-underline-offset:3px}\n.lf-md blockquote{padding:2px 0 2px 18px;border-left:2px solid var(--lf-acc);font-size:1.12em;line-height:1.45;color:var(--lf-fg)} .lf-md code{font-family:${FM_CSS};font-size:.86em;padding:.12em .4em;border-radius:5px;background:color-mix(in srgb,var(--lf-fg) 9%,transparent);color:var(--lf-fg)}\n.lf-md pre{max-width:100%;overflow-x:auto;padding:16px 18px;border-radius:16px;background:var(--lf-night);color:var(--lf-bone);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lf-ink) 14%,transparent);font-size:13px;line-height:1.6} .lf-md pre code{padding:0;background:none;font-size:inherit;color:var(--lf-bone);white-space:pre}\n/* HEIGHT LAW: a block whose content swaps stacks all items in ONE grid cell so the tallest reserves the height */ .lf-swap{display:grid} .lf-swap>*{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s} .lf-swap>.is-on{opacity:1;visibility:visible;transition:opacity .5s ease}\n@media (prefers-reduced-motion:reduce){.lf-sec *,.lf-sec *::before,.lf-sec *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}\n`;// ===== BRIGHTWORK 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.\nconst SCRUB_K=.18;// Decode a section's photos while it is still a screen and a half away, so the first frame it is on screen never waits for a decode.\nfunction usePre(el){try{const io=new IntersectionObserver(es=>{if(!es[0].isIntersecting)return;io.disconnect();el.querySelectorAll(\"img\").forEach(im=>{try{im.loading=\"eager\";im.decode().catch(()=>{});}catch(e){}});},{rootMargin:\"150% 0px 150% 0px\"});io.observe(el);}catch(e){}}function focusTo(el,frac){if(!el||typeof window===\"undefined\")return;if(window.innerWidth<810)return;const r=el.getBoundingClientRect();const vh=window.innerHeight;if(r.height<=vh*1.05)return;const y=r.top+window.scrollY+(r.height-vh)*Math.min(1,Math.max(0,frac));if(Math.abs(window.scrollY-y)<8)return;const w=window;if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}function useScrollVars(ref,live,rm,cb){useEffect(()=>{if(!live||rm||!ref.current)return;const el=ref.current;let vis=true,last=-9,cs=-1,cp=-1,settled=false;usePre(el);const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"25% 0px 25% 0px\"});io.observe(el);// eased scrub: the values glide toward the true scroll position (K per frame), so wheel steps never jump a pinned scene\nlet rt=0,rh=0,vh=1,fresh=false;const read=()=>{if(!vis&&settled){fresh=false;return;}const r=el.getBoundingClientRect();rt=r.top;rh=r.height;vh=window.innerHeight||1;fresh=true;};const off=onTick(()=>{if(!fresh)return;const sp=clamp01((vh-rt)/(vh+rh));const pp=rh>vh*1.05?clamp01(-rt/(rh-vh)):sp;if(cs<0){cs=sp;cp=pp;}else{cs+=(sp-cs)*SCRUB_K;cp+=(pp-cp)*SCRUB_K;if(Math.abs(sp-cs)<5e-4)cs=sp;if(Math.abs(pp-cp)<5e-4)cp=pp;}settled=cs===sp&&cp===pp;if(Math.abs(cs+cp-last)<3e-4)return;last=cs+cp;el.style.setProperty(\"--sp\",cs.toFixed(4));el.style.setProperty(\"--pp\",cp.toFixed(4));if(cb)cb(cs,cp);},read);return()=>{off();io.disconnect();};},[live,rm]);}// STAGE — false while the loader or the page-transition cover is on screen (html.lf-hold-*), so first-screen intros play AFTER the cover lifts, never under it. 9 s safety.\nfunction useStage(live){const[r,setR]=useState(false);useEffect(()=>{if(!live)return;const h=document.documentElement;const ok=()=>!/(^|\\s)lf-hold/.test(h.className);if(ok()){setR(true);return;}const mo=new MutationObserver(()=>{if(ok()){mo.disconnect();setR(true);}});mo.observe(h,{attributes:true,attributeFilter:[\"class\"]});const t=window.setTimeout(()=>{mo.disconnect();setR(true);},9e3);return()=>{mo.disconnect();window.clearTimeout(t);};},[live]);return r;}// true once the element has entered the viewport (stays true) — and only once the stage is clear. Reduced motion = true at once.\nfunction useOn(ref,live,rm,amount=.16){const[on,setOn]=useState(false);const still=useStill();const ready=useStage(live);useEffect(()=>{if(!live)return;if(rm){setOn(true);return;}if(!ready)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(\".lf-rev.is-act\");const rv=rev?parseFloat(rev.style.getPropertyValue(\"--rv\")||\"0\"):1;if(rv>.24){setOn(true);off();}});}},{threshold:Math.min(amount,Math.max(.005,window.innerHeight*.3/Math.max(1,el.offsetHeight))),rootMargin:\"0px 0px -6% 0px\"});io.observe(el);return()=>{io.disconnect();off();el.removeEventListener(\"focusin\",fin);el.removeEventListener(\"focusout\",fout);};},[live,rm,ready]);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[kb,setKb]=useState(false);// keyboard users get the footer as a normal section: a curtain taller than the screen hides its top row under the page above / the fixed header\nconst act=on&&live&&!rm&&h>0&&!kb;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);let cur=-1,T=0,vh=1,top=0,fresh=false;const read=()=>{if(!vis){fresh=false;return;}T=sp.current?sp.current.offsetHeight:0;vh=window.innerHeight;top=el.getBoundingClientRect().top;fresh=true;};const off=onTick(()=>{if(!fresh||!T)return;const rv=clamp01((vh-T-top)/T);if(cur<0||el.dataset.snap){cur=rv;delete el.dataset.snap;}else{cur+=(rv-cur)*SCRUB_K;if(Math.abs(rv-cur)<5e-4)cur=rv;}if(Math.abs(cur-last)<4e-4)return;last=cur;el.style.setProperty(\"--rv\",cur.toFixed(4));},read);return()=>{off();io.disconnect();};},[act]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:`lf-rev${act?\" is-act\":\"\"}`,style:{...style||{},[\"--h\"]:`${h}px`,[\"--layer\"]:layer},onFocusCapture:e=>{if(!act||!wrap.current)return;try{if(e.target.matches(\":focus-visible\")){const t0=e.target;setKb(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{try{t0.scrollIntoView({block:\"center\"});}catch(x){}}));return;}}catch(x){}const t=e.target;const w=window;const r=wrap.current.getBoundingClientRect();const T=sp.current?sp.current.offsetHeight:0;const y=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,r.top+window.scrollY-window.innerHeight+2*T));if(Math.abs(window.scrollY-y)>4){if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}wrap.current.dataset.snap=\"1\";requestAnimationFrame(()=>{try{const q=t.getBoundingClientRect();if(q.top<0||q.bottom>window.innerHeight)t.scrollIntoView({block:\"nearest\"});}catch(x){}});},children:[/*#__PURE__*/_jsx(\"div\",{ref:inner,className:\"lf-rev-in\",children:children}),/*#__PURE__*/_jsx(\"div\",{ref:sp,className:\"lf-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||\"\").replace(/\\*([^*]+)\\*/g,(_m,g)=>g.trim().split(/\\s+/).map(w=>{const m=w.match(/^(.*?)([.,!?;:’']*)$/);return m&&m[1]?`*${m[1]}*${m[2]}`:w;}).join(\" \")).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();// Head — the section headline: Instrument Serif 800, tracking −.04em (HD), *word* = the coral crayon word, clamp(40px,4.3vw,64px) (phones clamp(31px,9.6vw,42px)). Words rise out of masks ONCE when `on`.\n// \"|\" forces a line break, *word* = THE italic word (light italic, green; white on the green band) — ONE per headline. tag=\"h1\" also rises from the server HTML.\nconst Head=({text,on,D,tag=\"h2\",size=\"clamp(40px,4.3vw,64px)\",lh=1,delay=0,step=45,style,className})=>{const Tag=tag;let k=0;if(!String(text||\"\").trim())return null;return /*#__PURE__*/_jsx(Tag,{className:`lf-hd${on?\" is-on\":\"\"}${tag===\"h1\"?\" is-ssr\":\"\"}${className?\" \"+className:\"\"}`,\"aria-label\":plainOf(text),style:{...HD(D),[\"--hs\"]:size,lineHeight:lh,...style||{}},children:String(text).split(\"|\").map((line,li)=>/*#__PURE__*/_jsx(\"span\",{className:\"lf-hd-l\",\"aria-hidden\":true,children:splitWords(line).map((w,i)=>{const d=delay+k++*step;return /*#__PURE__*/_jsxs(\"span\",{className:\"lf-hd-w\",children:[/*#__PURE__*/_jsxs(\"span\",{className:`lf-hd-i${w.acc?\" is-acc\":\"\"}`,style:{transitionDelay:`${d}ms`,[\"--lf\"]:`${d}ms`},children:[w.t,w.tail]}),\" \"]},i);})},li))});};// Eyebrow — the mono caps label above a headline (DM Mono 11, .12em), rises in once. dot = the mint live dot in front. (Label in _common is the same line without the reveal.)\nconst Eyebrow=({text,on,M,dot=false,delay=0,style,className})=>{const t=String(text||\"\").trim();return t?/*#__PURE__*/_jsxs(\"p\",{className:`lf-eb${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{...M||{},transitionDelay:`${delay}ms`,...style||{}},children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;};// SITE CURSOR — ONE small green dot + a white label pill for the whole page (the hero's cloth is the hero's own; everywhere else the cursor is this dot). Mounted ONCE by LfSmooth; a section never mounts it and never sets cursor:none.\n// Sections only add data-cur=\"label\" (two or three lowercase words) to what can be pressed; Btn / More / Pick already carry one.\n// Fine pointers only, off with reduced motion. It shows over .lf-sec roots only, so it stands down inside the hero ([data-lf-hero] draws its own cloth) and over anything that is not ours (the demo bar).\nconst CSS_CUR=`\n.lf-cur{position:fixed;z-index:9990;left:0;top:0;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .25s} .lf-cur.is-on{opacity:1}\n.lf-cur i{display:block;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--lf-brass,#1F5F57);box-shadow:0 0 0 1.5px var(--lf-cloud,#FFFFFF);transition:scale .25s cubic-bezier(.2,.8,.2,1)} .lf-cur.is-press i{scale:.6}\n.lf-cur span{margin-top:-6px;padding:8px 12px;border-radius:999px;background:var(--lf-cloud,#FFFFFF);color:var(--lf-ink,#1A1A1C);font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 28px color-mix(in srgb,var(--lf-ink,#1A1A1C) 20%,transparent)}\nhtml.lf-has-cur .lf-sec,html.lf-has-cur .lf-sec *{cursor:none}\n`;function SiteCursor({c,M}){const live=useLive();const rm=useReduced();const[fine,setFine]=useState(false);const[label,setLabel]=useState(\"\");const dot=useRef(null);useEffect(()=>{if(!live||rm){setFine(false);return;}setFine(window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[live,rm]);useEffect(()=>{if(!fine)return;const el=dot.current;if(!el)return;const h=document.documentElement;h.classList.add(\"lf-has-cur\");let x=0,y=0,tx=0,ty=0,raf=0,on=false;const tick=()=>{x+=(tx-x)*.28;y+=(ty-y)*.28;el.style.transform=`translate3d(${x.toFixed(1)}px,${y.toFixed(1)}px,0)`;raf=Math.abs(tx-x)+Math.abs(ty-y)>.3?requestAnimationFrame(tick):0;};const show=v=>{if(on!==v){on=v;el.classList.toggle(\"is-on\",v);}};const move=e=>{if(e.pointerType===\"touch\")return;const t=e.target;if(!t||!t.closest||!t.closest(\".lf-sec\")){show(false);return;}tx=e.clientX;ty=e.clientY;if(!on){x=tx;y=ty;}show(true);if(!raf)raf=requestAnimationFrame(tick);const k=t.closest(\"[data-cur]\");const l=k?k.getAttribute(\"data-cur\")||\"\":\"\";setLabel(p=>p===l?p:l);el.classList.toggle(\"is-press\",!!t.closest(\"a,button,[role='button'],summary,label,input,select,textarea\"));};const out=()=>show(false);window.addEventListener(\"pointermove\",move,{passive:true});h.addEventListener(\"pointerleave\",out);window.addEventListener(\"blur\",out);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",move);h.removeEventListener(\"pointerleave\",out);window.removeEventListener(\"blur\",out);h.classList.remove(\"lf-has-cur\");};},[fine]);if(!fine||typeof document===\"undefined\")return null;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:dot,className:\"lf-cur\",\"aria-hidden\":true,style:{...c?cssVars(c):{},...M||{}},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_CUR}}),/*#__PURE__*/_jsx(\"i\",{}),label?/*#__PURE__*/_jsx(\"span\",{children:label}):null]}),document.body);}// count-up for a stat (\"2,140\", \"91¢\", \"$184,200\", \"38\"): keeps prefix, suffix and thousands commas; SSR and reduced motion show the final value.\nfunction useCount(target,on,rm,ms=1400){const m=String(target||\"\").match(/^([^\\d-]*)(-?[\\d,]*\\.?\\d+)(.*)$/);const[v,setV]=useState(1);useEffect(()=>{if(!m||rm||!on){setV(1);return;}let raf=0,t0=0;setV(0);const step=t=>{if(!t0)t0=t;const k=clamp01((t-t0)/ms);setV(1-Math.pow(1-k,3));if(k<1)raf=requestAnimationFrame(step);};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);},[on,rm,target]);if(!m)return String(target||\"\");const num=parseFloat(m[2].replace(/,/g,\"\"));const dec=(m[2].split(\".\")[1]||\"\").length;const cur=num*v;const txt=dec?cur.toFixed(dec):String(Math.round(cur));const withC=/,/.test(m[2])?txt.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"):txt;return m[1]+withC+m[3];}// one-shot rise for copy / rows (≤ .9 s). Pass the value of useOn(...) — it is already `seen || still`, so the canvas / export never shows an empty block.\nconst rise=(on,d=0,y=18)=>({opacity:on?1:0,translate:on?\"0 0\":`0 ${y}px`,transition:`opacity .7s ease ${d}ms, translate .8s cubic-bezier(.16,.84,.24,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%)\"],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=14,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:`lf-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,width:ratioWH(ratio).w,height:ratioWH(ratio).h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus,transitionDelay:`${delay}ms`}})});};// ---- THE SIGNATURE (Iris Vale): the highlighter. Mark = a yellow marker stroke that draws itself ONCE behind a word / number when `on` (multiply, skewed, from the left). Use it on the one phrase that matters in a section, never on every line.\nconst Mark=({on,delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-mark${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),children]});// useHiMarks — the hero's hover highlighter for any list of rows: spread the returned handlers on each row (the row holds `<i className=\"lf-mk\" aria-hidden />` behind its key word, position:relative on the word's wrapper).\n// Fine pointer: enter = ONE strong mark (any other marked row fades at once), leave = hold 2.8 s, fade 1.2 s, gone. Touch: the first tap marks instead of following the link (second tap opens). Nothing ever stays yellow.\nfunction useHiMarks(root,fine,on=true){const T=useRef(new Map);useEffect(()=>()=>{T.current.forEach(l=>l.forEach(t=>window.clearTimeout(t)));},[]);const clear=el=>{(T.current.get(el)||[]).forEach(t=>window.clearTimeout(t));T.current.set(el,[]);};const mark=el=>{clear(el);el.classList.remove(\"is-fade\");el.classList.add(\"is-hi\");root.current?.querySelectorAll(\".is-hi\").forEach(o=>{if(o===el)return;clear(o);o.classList.add(\"is-fade\");T.current.set(o,[window.setTimeout(()=>o.classList.remove(\"is-hi\",\"is-fade\"),1250)]);});};const unmark=el=>{clear(el);T.current.set(el,[window.setTimeout(()=>el.classList.add(\"is-fade\"),2800),window.setTimeout(()=>el.classList.remove(\"is-hi\",\"is-fade\"),4e3)]);};if(!on)return{};return{onPointerEnter:e=>{if(fine)mark(e.currentTarget);},onPointerLeave:e=>{if(fine)unmark(e.currentTarget);},onClick:e=>{if(!fine){const el=e.currentTarget;if(!el.classList.contains(\"is-hi\")){e.preventDefault();mark(el);unmark(el);}}}};}const CSS_MOTION=`\n.lf-mark{position:relative;display:inline-block;z-index:0} .lf-mark>i{position:absolute;z-index:-1;inset:.06em -.16em .02em -.14em;border-radius:.16em;background:var(--lf-pine);mix-blend-mode:multiply;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.9,.2,1) var(--lf,0ms)} .lf-mark.is-on>i{transform:scaleX(1) skewX(-6deg)}\n.lf-mk{position:absolute;z-index:-1;inset:1px -3px 0 -2px;border-radius:4px;background:var(--lf-pine);mix-blend-mode:multiply;opacity:0;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .42s cubic-bezier(.2,.9,.2,1),opacity .2s ease;pointer-events:none}\n.is-hi .lf-mk{opacity:.95;transform:scaleX(1) skewX(-6deg)} .is-fade .lf-mk{opacity:0;transition:opacity 1.2s ease,transform 0s linear 1.2s}\n@media (prefers-reduced-motion:reduce){.lf-mark>i{transform:scaleX(1) skewX(-6deg)!important;transition:none!important}}\n.bw[data-kb] *,.bw[data-kb] *::before,.bw[data-kb] *::after,.bw [data-kb],.bw [data-kb] *,.bw [data-kb] *::before,.bw [data-kb] *::after{transition:none!important}\n.lf-sec{position:relative;z-index:10;display:block;width:100%;--sp:.5;--pp:0}\n.lf-rev{position:relative;width:100%;--rv:1} .lf-rev-in{position:relative} .lf-rev-sp{height:0}\n.lf-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.lf-rev.is-act>.lf-rev-in{position:sticky;top:calc(100vh - var(--t));top:calc(100svh - var(--t))} .lf-rev.is-act>.lf-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.lf-rev.is-act>.lf-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,.45),rgba(0,0,0,0));opacity:min(1,calc(var(--rv)*(1 - var(--rv))*9));pointer-events:none}\n.lf-rev.is-act>.lf-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))*.3);pointer-events:none}\n/* Eyebrow: the mono caps label, rises in */\n.lf-eb{display:flex;align-items:center;gap:9px;margin:0;padding:0;max-width:100%;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--lf-mut);opacity:0;translate:0 10px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1)} .lf-eb.is-on{opacity:1;translate:0 0}\n/* Head */\n.lf-hd{margin:0;font-size:var(--hs,clamp(40px,4.3vw,64px));text-wrap:balance;color:var(--lf-fg)} .lf-sec.is-ph .lf-hd{font-size:min(var(--hs,64px),clamp(31px,9.6vw,42px))} .lf-hd-l{display:block}\n.lf-hd-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .09em .18em .03em;margin:-.08em -.09em -.18em -.03em;white-space:pre}\n.lf-hd-i{position:relative;display:inline-block;translate:0 110%;transition:translate .8s cubic-bezier(.16,.84,.24,1)} .lf-hd.is-on .lf-hd-i{translate:0 0}\n.lf-hd .lf-hd-i.is-acc{color:var(--lf-acc);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9;font-family:var(--lf-font-a,'Instrument Serif'),Georgia,'Times New Roman',serif}\n/* page h1: rises by CSS from the server HTML (no wait for hydration); paused only while a loader / transition cover holds the page */\n@keyframes lf-hd-rise{from{translate:0 110%}to{translate:0 0}}\n.lf-hd.is-ssr .lf-hd-i{animation:lf-hd-rise .8s cubic-bezier(.16,.84,.24,1) var(--lf,0ms) both}\nhtml[class*=\"lf-hold\"] .lf-hd.is-ssr .lf-hd-i{animation-play-state:paused}\n/* Um: a picture that unmasks once and settles from a small zoom */\n.lf-um{position:relative;overflow:hidden;transition:clip-path .9s cubic-bezier(.7,0,.2,1);background:var(--lf-sand)}\n.lf-um img{position:absolute;left:0;top:-9%;width:100%;height:118%;display:block;object-fit:cover;scale:1.04;translate:0 calc((var(--sp,.5) - .5)*var(--par,1)*-7%);transition:scale .9s cubic-bezier(.16,.84,.24,1);user-select:none}\n.lf-um.is-on img{scale:1}\n@media (prefers-reduced-motion:reduce){.lf-hd-i{translate:0 0!important} .lf-hd.is-ssr .lf-hd-i{animation:none!important} .lf-um{clip-path:none!important} .lf-um img{scale:1!important;translate:0 0!important} .lf-eb{opacity:1!important;translate:0 0!important}}\n`;const SEED={site:[{\"slug\":\"site\",\"f1\":\"Landfall\",\"f2\":\"Tour operator and travel agency\",\"f3\":\"Forty routes on six continents, twelve travellers at most, and a guide who grew up there.\",\"f4\":\"hello@landfall.travel\",\"f5\":\"/plan-a-trip\",\"f6\":\"/tours\",\"f7\":\"Small-group tours since 2009\",\"f8\":\"12,400:travellers; 62:countries; 4.9:from 3,100 reviews\",\"f9\":\"/contact\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f10\":\"Two travellers rowing a wooden boat across an alpine lake\",\"f11\":\"+44 20 7946 0412\",\"f12\":\"Booking 2027 departures\",\"f13\":\"Lisbon\",\"f14\":\"https://www.instagram.com/\",\"f15\":\"https://www.youtube.com/\",\"f16\":\"\\xa9 2026 Landfall Travel Ltd. Lisbon.\",\"f17\":\"Europe/Lisbon\",\"f18\":\"One route a month, with dates and prices, before it goes on the site.\",\"f19\":\"A travel planner answers within a day\",\"f20\":\"Rua da Boavista 88, 1200-066 Lisbon\",\"f21\":\"12,400\",\"f22\":\"62\",\"f23\":\"2009\",\"img2\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f24\":\"Cypress trees on a foggy sea cliff with two walkers on the path\",\"f25\":\"/journal\",\"f26\":\"English, Portuguese, Spanish\",\"f27\":\"Landfall is a tour operator of twenty-six planners and ninety local guides. We run small-group tours and private trips on six continents, and we answer the phone ourselves.\"}],destinations:[{\"slug\":\"scotland\",\"f1\":\"Scotland\",\"f2\":\"Glens, sea lochs and stone bothies, on foot and by boat.\",\"f3\":\"May to September, and deep winter\",\"img\":\"https://framerusercontent.com/images/I9qQbFFful5Bnzhvk8m0WjJyl7w.webp\",\"f4\":\"A lit dome tent in a highland glen at dusk, a loch behind\",\"f5\":\"We run three tours in Scotland and all of them start north of the Highland line. The west coast is for walking between glens and sea cliffs in the long light of May and June. The Outer Hebrides are for the boat, when the sea lochs are calm and the otters have young. The Cairngorms are for January, when the bothies are empty and the snow is firm.\\n\\nThe weather is part of it. It changes four times a day, and the guides plan each morning around it. Midges arrive in late June on the west coast, which is why our walking dates pause in July and start again in September. Bring waterproofs whatever the month.\",\"f6\":\"Best months: May, June, September and January; Flight from Lisbon: 3 h 10 to Edinburgh; Pace: Easy to moderate, 5 to 14 km a day; Sleep: Canvas, cabins, bothies and a trawler\",\"n1\":\"1\"},{\"slug\":\"greece\",\"f1\":\"Greece\",\"f2\":\"Island paths, coves you reach by sail and long tables by the water.\",\"f3\":\"May, June and September\",\"img\":\"https://framerusercontent.com/images/6b7WW8zMuIXfn1L4oWYrj4lYfsU.webp\",\"f4\":\"A walled coastal town of terracotta roofs above a blue sea\",\"f5\":\"Our two Greek tours share one island and one guide. Sifnos sits in the western Cyclades, away from the big ferry routes, and Eleni grew up above its bakery. The walking week stays on the island and crosses it on stone mule paths. The sailing week starts in Paros, reaches Sifnos on day four and ends in the sea caves of Milos.\\n\\nWe go in May, June and September. July and August are hot, crowded and windy, and the paths are no pleasure at noon. In the months we choose, the sea is warm enough to swim every day and the tavernas still have time to talk. Lunch is at four. Plan around it.\",\"f6\":\"Best months: May, June and September; Flight from Lisbon: 4 h to Athens, then a ferry; Pace: Easy, with a swim every day; Sleep: Family rooms or a cabin aboard\",\"n1\":\"2\"},{\"slug\":\"italy\",\"f1\":\"Italy\",\"f2\":\"The high lakes and passes of the Dolomites, hut to hut.\",\"f3\":\"June to early October\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f4\":\"Two travellers rowing on a green alpine lake\",\"f5\":\"In Italy we do one thing: the Dolomites, on foot, from hut to hut. The range is in the far north-east, closer to Innsbruck than to Rome, and the valleys speak Italian, German and Ladin. The paths are old and well marked, the huts are family houses with proper kitchens, and the rock turns pink for ten minutes at the end of a clear day.\\n\\nThe season is short. The high passes hold snow into June and the huts close in early October. September is the month we like most: settled weather, larch beginning to turn and room at the tables. Marco has guided here for twenty-six years and still carries the coffee pot to the top of every pass.\",\"f6\":\"Best months: Late June to September; Flight from Lisbon: 3 h to Venice, then 2 h by road; Pace: Moderate, 4 to 15 km a day; Sleep: Family-run rifugios\",\"n1\":\"3\"},{\"slug\":\"indonesia\",\"f1\":\"Indonesia\",\"f2\":\"Raja Ampat by wooden phinisi, two dives a day.\",\"f3\":\"October to April\",\"img\":\"https://framerusercontent.com/images/eqVh5W76MbYfLNAf4EvlhjLL0I.webp\",\"f4\":\"A diver beside a coral wall with a sea turtle\",\"f5\":\"Raja Ampat is a scatter of about fifteen hundred islands off the western tip of New Guinea. Getting there takes two flights and a patient day. That distance is why the reefs look the way they do. There is no large town on the islands, and only a few boats work the strait.\\n\\nWe go by phinisi, a wooden two-master built in Sulawesi, with eight cabins and a dive deck. The season runs from October to April, when the sea is flat and the water clear. Sari Wulandari leads every departure. She trained as a marine biologist in Manado and treats each dive as a field class, with a fish list and a quiet rule about what not to touch.\",\"f6\":\"Best months: October to April; Flight from Lisbon: About 24 h to Sorong, with two stops; Pace: Two dives a day and long rests; Sleep: A twin cabin aboard\",\"n1\":\"4\"},{\"slug\":\"maldives\",\"f1\":\"Maldives\",\"f2\":\"Sandbanks, manta season and a week without shoes.\",\"f3\":\"November to April\",\"img\":\"https://framerusercontent.com/images/BtOL6Z20W9U4EmQ2rA5nbsFpdI.webp\",\"f4\":\"A white sandbank in a turquoise lagoon from above\",\"f5\":\"Most people see the Maldives from a resort jetty. We stay on Dharavandhoo, a local island in Baa Atoll with a school, a mosque, a football pitch and a handful of family guesthouses. The atoll is a protected biosphere reserve, and Hanifaru Bay inside it is the reason to come.\\n\\nWhen the tide and the plankton line up, manta rays feed in the bay in long chains, and you float above them with a mask and a snorkel. Tanks are not allowed. Between visits there are sandbanks that appear at low tide, a reef with turtles a short swim from the beach, and very little else to do. Local islands serve no alcohol, and dress is modest in the village. Nobody wears shoes.\",\"f6\":\"Best months: May to November for mantas, November to April for calm seas; Flight from Lisbon: About 13 h to Mal\\xe9, with one stop; Pace: Slow, one outing a day; Sleep: A family guesthouse\",\"n1\":\"5\"},{\"slug\":\"california\",\"f1\":\"California\",\"f2\":\"The Big Sur coast road, cliff walks and redwood nights.\",\"f3\":\"March to June\",\"img\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f4\":\"Cypress trees on a foggy sea cliff above the surf\",\"f5\":\"Our Californian tour covers one road: Highway 1 between Monterey and Morro Bay, the stretch known as Big Sur. It is about a hundred and fifty kilometres of cliffs, redwood canyons and very few buildings. People drive it in a day. We take eight.\\n\\nSpring is the time. From March to June the hills are green, the wildflowers are out and the fog burns off by ten. Later in the year the road fills and the grass turns gold and dry. Slides sometimes close a section in winter, and Tom\\xe1s checks the road each week before a departure. He grew up in Carmel, delivered along this road for six years and has an opinion about every turnout.\",\"f6\":\"Best months: March to June; Flight from Lisbon: About 14 h to San Francisco, with one stop; Pace: Easy, short cliff walks; Sleep: Inns and redwood cabins\",\"n1\":\"6\"}]};const SW_BUILD=\"LfHeader@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='#E9E3D8'/><rect x='120' y='170' width='160' height='160' rx='8' fill='none' stroke='#3A3D44' stroke-width='1.5'/><rect x='100' y='150' width='200' height='200' rx='10' fill='none' stroke='#2A2D33' 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-lf-row=\"bridge\"]'))return null;const seen=new Set;const out=[];document.querySelectorAll(`[data-lf-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.__ltCms||typeof w.__ltCms!==\"object\")w.__ltCms={};w.__ltCms[SW_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 site-wide fact. A section's \"… Override\" control only replaces it on that one section.\n// Site: f1 Name · f2 Descriptor (the role line) · f3 Tagline (the lead) · f4 Email · f5 CV Link (/resume) · f6 Projects Link (/projects) · f7 Eyebrow · f8 Proof Line (facts \"value:label; …\") · f9 Contact Link (/contact) · img Picture (the portrait print) · f10 Picture Alt · f11 Phone · f12 Status · f13 City\n//       (Stage 2, appended) f14 LinkedIn · f15 GitHub · f16 Legal Line · f17 Timezone (IANA) · f18 Availability · f19 Response Time · f20 Address · f21 Years · f22 Launches · f23 Since (year) · img2 Second Picture (LfCta) · f24 Second Picture Alt · f25 Calendar Link · f26 Languages · f27 Bio\nfunction useSite(){const r=useCMS(\"site\",SEED.site||[]);const s=r[0]||(SEED.site||[])[0]||{};const g=k=>String(s[k]??\"\").trim();const im=k=>String(s[k]||\"\").split(\"?\")[0];return{name:g(\"f1\"),descriptor:g(\"f2\"),tagline:g(\"f3\"),email:g(\"f4\"),book:g(\"f5\")||\"/plan-a-trip\",pricing:g(\"f6\")||\"/tours\",eyebrow:g(\"f7\"),proof:g(\"f8\"),services:g(\"f9\")||\"/contact\",picture:im(\"img\"),pictureAlt:g(\"f10\"),phone:g(\"f11\"),status:g(\"f12\"),city:g(\"f13\"),linkedin:g(\"f14\"),github:g(\"f15\"),legal:g(\"f16\"),timezone:g(\"f17\")||\"Europe/London\",availability:g(\"f18\"),response:g(\"f19\"),address:g(\"f20\"),years:g(\"f21\"),launches:g(\"f22\"),since:g(\"f23\"),picture2:im(\"img2\"),picture2Alt:g(\"f24\"),calendar:g(\"f25\"),languages:g(\"f26\"),bio:g(\"f27\")};}// ---- Row readers, one per collection (slots are fixed: see seed.py). Every reader takes an undefined row and returns empty strings / empty lists, never throws.\nconst S_=(r,k)=>String(r&&r[k]||\"\").trim();const numOf=(v,fb=0)=>{const n=parseFloat(String(v??\"\").replace(/[^\\d.-]/g,\"\"));return isFinite(n)?n:fb;};const listOf=s=>String(s||\"\").split(\";\").map(x=>x.trim()).filter(Boolean);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()};});// \"Label:Value, Label:Value\" list controls (facts, numbers, footer columns)\nconst pairList=(s,sep=\",\")=>String(s||\"\").split(sep).map(x=>x.trim()).filter(Boolean).map(x=>{const i=x.indexOf(\":\");return i<0?{l:x,v:\"\"}:{l:x.slice(0,i).trim(),v:x.slice(i+1).trim()};});// \"a | b | c\" per line → [[\"a\",\"b\",\"c\"], …]\nconst cellRows=s=>String(s??\"\").split(/\\n/).map(x=>x.trim()).filter(Boolean).map(x=>x.split(\"|\").map(y=>y.trim()));const bySlug=(rows,slug)=>{const k=String(slug||\"\").trim();return k?rows.find(r=>r.slug===k):undefined;};const kindsOf=vals=>vals.filter((v,i)=>v&&vals.indexOf(v)===i);const yes=v=>/^(yes|true|1|featured|on)$/i.test(String(v||\"\").trim());// Landfall Site (10-12): f1 Name · f2 Descriptor · f3 Tagline · f4 Email · f5 Subscribe Link · f6 Latest Link · f7 Edition Line (empty = by the clock) · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 X · f15 Instagram · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Readers · f22 Reporters · f23 Since · img2 · f24 · f25 Podcast Link · f26 Languages · f27 About\n// Articles: f1 Title · f2 Dek · f3 Section · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · f8 Caption · f9 Featured · n1 Order\nconst articleOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),section:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),caption:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/article/\"+S_(r,\"slug\")});// Sections: f1 Name · f2 Line · n1 Order (the slug = /section/:slug)\nconst sectionOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),href:\"/section/\"+S_(r,\"slug\")});// Authors: f1 Name · f2 Role · f3 Beat · f4 Bio · f5 Column (latest opinion title) · f6 Column Link · img Picture · f7 Picture Alt · n1 Order\nconst authorOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),beat:S_(r,\"f3\"),bio:S_(r,\"f4\"),column:S_(r,\"f5\"),columnHref:S_(r,\"f6\")||\"/author/\"+S_(r,\"slug\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),href:\"/author/\"+S_(r,\"slug\")});// Episodes: f1 Title · f2 Line · f3 Number · f4 Length · f5 Date (ISO) · f6 Guest · img Cover · f7 Cover Alt · n1 Order\nconst episodeOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),number:S_(r,\"f3\"),length:S_(r,\"f4\"),date:S_(r,\"f5\"),guest:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),href:\"/episode/\"+S_(r,\"slug\")});// \"2026-10-12\" → \"12 Oct\" (short) / \"12 October 2026\"\nconst dayOfIso=(iso,long=false)=>{const m=String(iso||\"\").match(/^(\\d{4})-(\\d{2})-(\\d{2})/);if(!m)return String(iso||\"\");const MO=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const mo=MO[+m[2]-1]||\"\";return long?`${+m[3]} ${mo} ${m[1]}`:`${+m[3]} ${mo.slice(0,3)}`;};// Wire (the ticker): f1 Time · f2 Line · f3 Link · n1 Order\nconst wireOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),line:S_(r,\"f2\"),href:S_(r,\"f3\")});// Programs: f1 Name · f2 Line · f3 Body (md) · f4 Ages (\"1 to 2\") · f5 Hours · f6 Ratio (\"1:4\") · f7 From (\"$1,480 a month\") · f8 Includes (\"a; b\") · img Picture · f9 Picture Alt · n1 Order\nconst programOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),body:S_(r,\"f3\"),ages:S_(r,\"f4\"),hours:S_(r,\"f5\"),ratio:S_(r,\"f6\"),from:S_(r,\"f7\"),includes:listOf(S_(r,\"f8\")),img:imgOr(r),alt:S_(r,\"f9\"),href:\"/programs/\"+S_(r,\"slug\")});// Day: f1 Time (\"9:15\") · f2 Title · f3 Note · n1 Order.  dayT(row, open, close) → 0..1 along the day\nconst dayOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),title:S_(r,\"f2\"),note:S_(r,\"f3\")});const hourOf=s=>{const m=String(s||\"\").match(/(\\d{1,2})[:.](\\d{2})/);return m?+m[1]+ +m[2]/60:NaN;};// Rooms: f1 Name · f2 Line · f3 Facts (\"a; b\") · img Picture · f4 Picture Alt · n1 Order\nconst roomOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),facts:listOf(S_(r,\"f3\")),img:imgOr(r),alt:S_(r,\"f4\"),href:\"/rooms/\"+S_(r,\"slug\")});// Teachers: f1 Name · f2 Role · f3 Years · f4 Line · f5 Room (a program slug, may be empty) · img Picture · f6 Picture Alt · n1 Order\nconst teacherOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),room:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),href:\"/teachers/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Parent · f3 Child (\"Nora, 2\") · f4 Program (slug) · f5 Stars (1–5) · img Picture (avatar; empty = initials) · n1 Order\nconst reviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),parent:S_(r,\"f2\"),child:S_(r,\"f3\"),program:S_(r,\"f4\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f5\"),5)))),img:imgOf(r)});// Plans (Landfall 10-12): f1 Name · f2 Price (\"$8\" | \"Free\") · f3 Per (\"a month\") · f4 Line · f5 Includes (\"a; b\") · f6 Featured (\"yes\") · f7 Link · n1 Order\nconst planOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),price:S_(r,\"f2\"),per:S_(r,\"f3\"),line:S_(r,\"f4\"),includes:listOf(S_(r,\"f5\")),featured:yes(S_(r,\"f6\")),href:S_(r,\"f7\")||\"/subscribe\"});// Faq (Landfall 10-12): f1 Question · f2 Answer · f3 Group (\"Subscribe\" | \"Contact\") · n1 Order\nconst faqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// Posts: f1 Title · f2 Line · f3 Date (ISO) · f4 Read · f5 Body (md) · img Picture · f6 Picture Alt · f7 Tag · n1 Order\nconst postOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),date:S_(r,\"f3\"),read:S_(r,\"f4\"),body:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),tag:S_(r,\"f7\"),href:\"/writing/\"+S_(r,\"slug\")});const dateOf=(iso,loc=\"en-US\")=>{const d=new Date(String(iso||\"\")+\"T12:00:00Z\");return isNaN(d.getTime())?String(iso||\"\"):d.toLocaleDateString(loc,{month:\"short\",day:\"numeric\",year:\"numeric\",timeZone:\"UTC\"});};const readBrief=()=>{try{const o=JSON.parse(window.sessionStorage.getItem(\"lf-brief\")||\"{}\");return o&&typeof o===\"object\"?{program:String(o.program||\"\"),days:String(o.days||\"\"),start:String(o.start||\"\")}:{};}catch(e){return{};}};const writeBrief=patch=>{const n={...readBrief(),...patch};try{window.sessionStorage.setItem(\"lf-brief\",JSON.stringify(n));}catch(e){}return n;};function useBrief(){const[b,setB]=useState({});useEffect(()=>{setB(readBrief());},[]);const set=patch=>setB(writeBrief(patch));return[b,set];}// ---- A seeded generator (mulberry32) so the server and the first client render draw the SAME shape.\nconst mulberry=a=>()=>{a|=0;a=a+1831565813|0;let t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};// 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};}// ---- useSec — everything a section needs in one call. Root: <section ref={k.root} className={`bw lf-sec lfxx${k.bp.cls}`} style={k.vars}>\n// k.on is already `seen || still` (never blank on the canvas / in exports) · k.w is the MEASURED root width (SSR starts from the bpHint) · k.bp = { ph <810, tb <1100, xs <360, cls } · k.vars = palette + font vars + body font + props.style.\nfunction useSec(props,amount=.16){const root=useRef(null);const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const rm=useReduced();const still=useStill();const site=useSite();const{w,vh}=useSize(root,props.bpHint);const on=useOn(root,live,rm,amount);const vars={...cssVars(c),[\"--lf-fd\"]:D.fontFamily,[\"--lf-fb\"]:B.fontFamily,[\"--lf-fm\"]:M.fontFamily,...B,...props.style||{}};return{root,c,D,B,M,live,rm,still,site,w,vh,bp:bpOf(w),on,vars};}// ---- Iris Vale readers (Stage 1). Roles: f1 Company · f2 Title · f3 Years · f4 Line · f5 City · f6 Highlights (a; b; c) · f7 Tags · img Logo · f8 Logo Alt · n1 Order\nconst roleOf=r=>({slug:S_(r,\"slug\"),company:S_(r,\"f1\"),title:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),city:S_(r,\"f5\"),points:listOf(S_(r,\"f6\")),tags:listOf(S_(r,\"f7\")),img:imgOf(r),alt:S_(r,\"f8\"),href:\"/experience/\"+S_(r,\"slug\")});// Skills: f1 Name · f2 Group · f3 Level (1-5) · n1 Order\nconst skillOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),group:S_(r,\"f2\"),level:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f3\"),4))))});// Education: f1 School · f2 Degree · f3 Years · f4 Line · n1 Order\nconst eduOf=r=>({slug:S_(r,\"slug\"),school:S_(r,\"f1\"),degree:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\")});// Projects: f1 Name · f2 Line · f3 Year · f4 Role (role slug) · f5 Result · f6 Tags (a; b) · f7 Body (Stage 3) · img Picture 4:3 · f8 Picture Alt · f9 Featured · n1 Order\nconst projectOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),year:S_(r,\"f3\"),role:S_(r,\"f4\"),result:S_(r,\"f5\"),tags:listOf(S_(r,\"f6\")),body:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/projects/\"+S_(r,\"slug\")});// Recommendations (kind recs): f1 Quote · f2 Name · f3 Role · f4 Company · f5 Relation · img Picture 1:1 · n1 Order\nconst recOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),role:S_(r,\"f3\"),company:S_(r,\"f4\"),relation:S_(r,\"f5\"),img:imgOf(r)});// LANDFALL (10-13) Site: f1 Name · f2 Descriptor · f3 Tagline (the lead) · f4 Email · f5 Plan Link (/plan-a-trip) · f6 Tours Link (/tours) · f7 Eyebrow · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 Instagram · f15 YouTube · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Travellers · f22 Countries · f23 Since · img2 · f24 · f25 Journal Link · f26 Languages · f27 About\n// Tours: f1 Title · f2 Place · f3 Country · f4 Days · f5 From Price · f6 Next Departure · f7 Seats Left · img Picture · f8 Picture Alt · f9 Line · f10 Featured · f11 Picture Focus (css object-position, e.g. \"38% 50%\") · n1 Order\nconst tourOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),place:S_(r,\"f2\"),country:S_(r,\"f3\"),days:S_(r,\"f4\"),price:S_(r,\"f5\"),departs:S_(r,\"f6\"),seats:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\")||S_(r,\"f1\"),line:S_(r,\"f9\"),featured:yes(S_(r,\"f10\")),focus:S_(r,\"f11\")||\"50% 50%\",style:S_(r,\"f12\"),destination:S_(r,\"f13\"),guide:S_(r,\"f14\"),included:listOf(S_(r,\"f15\")),excluded:listOf(S_(r,\"f16\")),dates:cellRows(S_(r,\"f17\")),body:S_(r,\"f18\"),href:\"/tour/\"+S_(r,\"slug\")});// Days: f1 Tour (the tour slug) · f2 Place · f3 Title · f4 Line · f5 Facts · img Picture · f6 Picture Alt · n1 Order\nconst stopOf=r=>({slug:S_(r,\"slug\"),tour:S_(r,\"f1\"),place:S_(r,\"f2\"),title:S_(r,\"f3\"),line:S_(r,\"f4\"),facts:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f3\")});// Destinations: f1 Name · f2 Line · f3 Season · img Picture · f4 Picture Alt · n1 Order (a tour belongs to one by tour.destination === destination.name)\nconst destOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),season:S_(r,\"f3\"),img:imgOr(r),alt:S_(r,\"f4\")||S_(r,\"f1\"),body:S_(r,\"f5\"),facts:pairList(S_(r,\"f6\"),\";\"),href:\"/destination/\"+S_(r,\"slug\")});// Guides: f1 Name · f2 Role · f3 Home · f4 Line · f5 Tours Led · img Picture · f6 Picture Alt · n1 Order\nconst guideOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),home:S_(r,\"f3\"),line:S_(r,\"f4\"),led:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f1\"),body:S_(r,\"f7\"),languages:S_(r,\"f8\"),since:S_(r,\"f9\"),href:\"/guide/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Name · f3 Trip · f4 Stars (1–5) · img Picture · n1 Order\nconst tripReviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),trip:S_(r,\"f3\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f4\"),5)))),img:imgOf(r)});// Posts (the journal): f1 Title · f2 Dek · f3 Kind · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · n1 Order\nconst journalOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),kind:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),body:S_(r,\"f8\"),href:\"/journal/\"+S_(r,\"slug\")});// Stage 3 slots (10-13): Tours f14 Guide (a guide slug) · f15 Included «a; b» · f16 Not Included · f17 Dates «date | price | seats» per line · f18 Body (md) — Destinations f5 Body (md) · f6 Facts «Label:Value; …» — Guides f7 Body (md) · f8 Languages · f9 Since — Posts f8 Body (md). stopOf(day).img is EMPTY_IMG when the row has no picture: test `imgOf(row)` and fall back to the tour picture.\n// Faq: f1 Question · f2 Answer · f3 Group («Booking» | «On tour» | «Contact») · n1 Order\nconst tripFaqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// {name} in a control text = the Site Name (Stage 5): a column title, a top line or a mail subject follows the name when the buyer renames the site\nconst nameIn=(s,n)=>String(s??\"\").replace(/\\{name\\}/gi,String(n||\"\").trim());// ===== LfHeader =====\n// ---- LfHeader (Site Layout, once; a 0 px frame). The bar is the homepage hero's nav, fixed: the ring mark + the Site Name left, the links (Tours · Destinations · Guides · Journal · About) and the cloud «Plan a trip» pill\n// (→ the Site Plan Link) right. 84 px (72 under 1100, 64 under 810). It is TRANSPARENT over the page with a soft night shade behind it; after 80 px of scroll a night veil fades in (so it reads on photographs and on the one cream band).\n// THE HOME PAGE: the hero already carries the name, the links and the pill, so while the hero's nav is on screen the bar RESTS (opacity 0, no pointer events, `data-lfhd-state=\"rest\"`) and slides down once the page has moved\n// ~120 px. THE RULE: «home» = the document holds a `[data-lf-hero] .lfh-nav`. The resting look is pure CSS (`html:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past)`), so the server render and the first paint are right;\n// script only adds `.is-past`. On every other route the bar is there from the top.\n// Under 1100 the bar is the name + a 44 px round menu key. At the top of the home page ONLY the key is drawn, on the hero's nav row at the right edge (the hero moves its own pill 54 px to the left: its «Menu room» control).\n// Breakpoints are CSS only (@media — no width guess on the server). The menu is a full NIGHT sheet parented to <body>: the links in giant display type with mono numbers, the destinations (CMS) as a route line of links,\n// more pages, the orange «Plan a trip» pill (ink text), the Site Email + Phone. Focus stays inside, Esc closes, the page behind does not scroll, every target is at least 44 px, works at 320.\n// HEADER POSITION LAW: Framer's style (height:100%) is NEVER spread onto the fixed root. The bar measures top = 0 at every width, resting or not (the rest state moves only the inner row).\n// The root's night colour is clipped to a 0 px content box (it paints nothing: the bar stays transparent) — it only tells the local gate which ground the cloud text stands on. Prefix lfhd-. ----\nconst LFHD_W=[\"Menu\",\"Close\",\"Skip to content\",\"home\",\"Main\",\"Destinations\",\"More\",\"Email\",\"Phone\"];const lfhdWords=s=>{const g=String(s??\"\").split(\";\");return LFHD_W.map((d,i)=>(g[i]||\"\").trim()||d);};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 1\n */export default function LfHeader(props){const{links=\"Tours:/tours, Destinations:/destinations, Guides:/guides, Journal:/journal, About:/about\",more=\"Private trips:/private-trips, How it works:/how-it-works, Reviews:/reviews, FAQ:/faq, Contact:/contact\",cta=\"Plan a trip\",ctaLink=\"\",showRoute=true,showEmail=true,showPhone=true,wordmark=\"\",words=\"\"}=props;const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const still=useStill();const site=useSite();const W=lfhdWords(words);const dests=useCMS(\"destinations\",SEED.destinations||[]).map(r=>destOf(r)).filter(d=>d.name).slice(0,6);const[moved,setMoved]=useState(false),[open,setOpen]=useState(false),[path,setPath]=useState(\"\"),[home,setHome]=useState(false),[past,setPast]=useState(false),[ry,setRy]=useState(-1);const sheet=useRef(null),burger=useRef(null);const uid=useId().replace(/[^a-zA-Z0-9]/g,\"\");const L=linkList(links),L2=linkList(more),go=pick(ctaLink,site.book),name=pick(wordmark,site.name||\"Landfall\"),mail=showEmail?site.email:\"\",tel=showPhone?site.phone:\"\";useEffect(()=>{if(!live)return;try{setPath(window.location.pathname.replace(/\\/+$/,\"\")||\"/\");}catch(e){}// the home page = a hero that draws its own nav. The bar rests until the page has moved past that nav (120 px at least); under 1100 the menu key sits on the hero's nav row (--lfhd-ry = that row's centre).\nlet raf=0,lim=120;const measure=()=>{try{const nav=document.querySelector(\"[data-lf-hero] .lfh-nav\");setHome(!!nav);if(!nav)return;const r=nav.getBoundingClientRect();const b=r.bottom+window.scrollY;lim=Math.max(120,Math.round(b+40));const y=Math.round(r.top+window.scrollY+r.height/2);if(y>0)setRy(o=>Math.abs(o-y)>1?y:o);}catch(e){}};const read=()=>{raf=0;try{const y=window.scrollY;setMoved(y>80);setPast(y>lim);}catch(e){}};const q=()=>{if(!raf)raf=requestAnimationFrame(read);};const both=()=>{measure();read();};both();const t1=window.setTimeout(both,200),t2=window.setTimeout(both,900),t3=window.setTimeout(both,2200);window.addEventListener(\"resize\",both);window.addEventListener(\"load\",both);window.addEventListener(\"scroll\",q,{passive:true});return()=>{window.removeEventListener(\"scroll\",q);window.removeEventListener(\"resize\",both);window.removeEventListener(\"load\",both);window.clearTimeout(t1);window.clearTimeout(t2);window.clearTimeout(t3);cancelAnimationFrame(raf);};},[live]);// the menu: scroll lock (Lenis stopped too), focus trap, Esc, close when the window gets wide\nuseEffect(()=>{if(!open)return;const h=document.documentElement;const y=window.scrollY;const prevH=h.style.overflow,prevB=document.body.style.overflow;h.style.overflow=\"hidden\";document.body.style.overflow=\"hidden\";h.classList.add(\"lfhd-open\");const ln=window.__ltLenis;try{ln&&ln.stop&&ln.stop();}catch(e){}const foc=()=>Array.from((sheet.current||document).querySelectorAll(\"a[href],button\")).filter(x=>x.offsetParent!==null);const t=window.setTimeout(()=>{const x=sheet.current&&sheet.current.querySelector(\".lfhd-x\");(x||foc()[0])?.focus();},40);const key=e=>{if(e.key===\"Escape\"){e.preventDefault();setOpen(false);return;}if(e.key!==\"Tab\")return;const f=foc();if(!f.length)return;const a=document.activeElement;const inside=!!sheet.current&&sheet.current.contains(a);if(e.shiftKey&&(a===f[0]||!inside)){e.preventDefault();f[f.length-1].focus();}else if(!e.shiftKey&&(a===f[f.length-1]||!inside)){e.preventDefault();f[0].focus();}};const fin=e=>{const s=sheet.current;if(s&&e.target instanceof Node&&!s.contains(e.target)){const f=foc();f[0]&&f[0].focus();}};const rs=()=>{if(window.innerWidth>=1100)setOpen(false);};window.addEventListener(\"keydown\",key,true);window.addEventListener(\"resize\",rs);document.addEventListener(\"focusin\",fin);return()=>{window.clearTimeout(t);h.style.overflow=prevH;document.body.style.overflow=prevB;h.classList.remove(\"lfhd-open\");window.removeEventListener(\"keydown\",key,true);window.removeEventListener(\"resize\",rs);document.removeEventListener(\"focusin\",fin);try{ln&&ln.start&&ln.start();}catch(e){}try{window.scrollTo(0,y);burger.current&&burger.current.focus({preventScroll:true});}catch(e){}};},[open]);const cur=h=>{const p=h.replace(/\\/+$/,\"\")||\"/\";return path===p||p!==\"/\"&&path.startsWith(p+\"/\");};const sty={...cssVars(c),[\"--lf-fd\"]:D.fontFamily,[\"--lf-fb\"]:B.fontFamily,[\"--lf-fm\"]:M.fontFamily,...B};// the canvas / exports: the layout shows a 0 px frame, nothing to draw\nif(still)return /*#__PURE__*/_jsx(\"div\",{style:{...sty,height:1,position:\"relative\"},\"aria-hidden\":true});const skip=e=>{e.preventDefault();const h1=document.querySelector(\"h1\");if(h1){h1.setAttribute(\"tabindex\",\"-1\");h1.focus();}};const logo=close=>/*#__PURE__*/_jsxs(\"a\",{className:\"lfhd-logo\",href:\"/\",style:D,\"data-cur\":\"home\",\"aria-label\":`${name}, ${W[3]}`,onClick:close?()=>setOpen(false):undefined,children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{children:name})]});const rest=home&&!past;const shut=()=>setOpen(false);return /*#__PURE__*/_jsxs(\"header\",{\"data-dlhd\":\"bar\",\"data-lfhd-state\":rest?\"rest\":\"bar\",className:`bw lf-sec lf-well lfhd${moved?\" is-moved\":\"\"}${past?\" is-past\":\"\"}${open?\" is-open\":\"\"}`,style:{...sty,...ry>0?{[\"--lfhd-ry\"]:ry+\"px\"}:{}},children:[/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:FONTS}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_BASE+CSS_LFHD+siteFontCss(props)}}),/*#__PURE__*/_jsx(\"a\",{className:\"lfhd-skip\",href:\"#main\",onClick:skip,children:W[2]}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-in\",children:[logo(false),L.length?/*#__PURE__*/_jsx(\"nav\",{className:\"lfhd-nav\",\"aria-label\":W[4],children:/*#__PURE__*/_jsx(\"ul\",{children:L.map((l,i)=>{const on=cur(l.h);return /*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:l.h,\"aria-current\":on?\"page\":undefined,\"data-cur\":\"open\",children:/*#__PURE__*/_jsx(\"span\",{children:l.l})})},i);})})}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-end\",children:[String(cta).trim()?/*#__PURE__*/_jsx(\"a\",{className:\"lfhd-cta\",href:go,\"data-cur\":\"plan\",children:/*#__PURE__*/_jsx(\"span\",{children:cta})}):null,/*#__PURE__*/_jsxs(\"button\",{ref:burger,type:\"button\",className:\"lfhd-burger\",\"aria-label\":open?W[1]:W[0],\"aria-expanded\":open,\"aria-controls\":`lfhd-sheet-${uid}`,onClick:()=>setOpen(!open),\"data-cur\":\"open menu\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]})]})]}),live&&open?/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:sheet,id:`lfhd-sheet-${uid}`,\"data-dlhd\":\"sheet\",\"data-lenis-prevent\":true,className:\"bw lf-sec lf-well lfhd-sheet\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":W[0],style:sty,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-s-top\",children:[logo(true),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"lfhd-burger lfhd-x is-x\",\"aria-label\":W[1],onClick:shut,\"data-cur\":\"close menu\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-s-body\",children:[/*#__PURE__*/_jsx(\"nav\",{\"aria-label\":W[4],children:/*#__PURE__*/_jsx(\"ul\",{className:\"lfhd-big\",children:L.map((l,i)=>{const on=cur(l.h);return /*#__PURE__*/_jsx(\"li\",{style:{[\"--i\"]:i},children:/*#__PURE__*/_jsxs(\"a\",{href:l.h,\"aria-current\":on?\"page\":undefined,onClick:shut,children:[/*#__PURE__*/_jsx(\"i\",{style:M,\"aria-hidden\":true,children:String(i+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"b\",{style:{...HD(D),letterSpacing:\"-.045em\"},children:l.l})]})},i);})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-s-side\",children:[showRoute&&dests.length?/*#__PURE__*/_jsxs(\"nav\",{className:\"lfhd-route\",\"aria-label\":W[5],children:[/*#__PURE__*/_jsx(\"p\",{className:\"lfhd-lab\",style:M,children:W[5]}),/*#__PURE__*/_jsx(\"ol\",{children:dests.map((d,i)=>/*#__PURE__*/_jsx(\"li\",{className:i===0?\"is-first\":undefined,children:/*#__PURE__*/_jsxs(\"a\",{href:d.href,\"aria-current\":cur(d.href)?\"page\":undefined,onClick:shut,children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{children:d.name})]})},d.slug))})]}):null,L2.length?/*#__PURE__*/_jsxs(\"nav\",{className:\"lfhd-more\",\"aria-label\":W[6],children:[/*#__PURE__*/_jsx(\"p\",{className:\"lfhd-lab\",style:M,children:W[6]}),/*#__PURE__*/_jsx(\"ul\",{className:\"lfhd-small\",children:L2.map((l,i)=>/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:l.h,\"aria-current\":cur(l.h)?\"page\":undefined,onClick:shut,children:l.l})},i))})]}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"lfhd-s-foot\",children:[String(cta).trim()?/*#__PURE__*/_jsxs(\"a\",{className:\"lfhd-s-cta\",href:go,onClick:shut,\"data-cur\":\"plan\",children:[/*#__PURE__*/_jsx(\"span\",{children:cta}),/*#__PURE__*/_jsx(BtnArrow,{})]}):null,mail?/*#__PURE__*/_jsx(\"a\",{className:\"lfhd-s-tel\",href:\"mailto:\"+mail,\"aria-label\":`${W[7]}: ${mail}`,children:mail}):null,tel?/*#__PURE__*/_jsx(\"a\",{className:\"lfhd-s-tel\",href:\"tel:\"+cleanTel(tel),\"aria-label\":`${W[8]}: ${tel}`,style:NUM,children:tel}):null,site.status?/*#__PURE__*/_jsxs(\"p\",{className:\"lfhd-s-note\",style:M,children:[/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{children:site.status})]}):null]})]})]})]}),document.body):null]});}const CSS_LFHD=`\n/* the fixed root: top 0, the bar's height, no paint (the night colour is clipped to a 0 px content box) */\n.lfhd.lf-sec.lf-well{--bar:84px;position:fixed!important;z-index:900!important;left:0;right:0;top:0;bottom:auto;width:auto;height:var(--bar);margin:0;padding:var(--bar) 0 0;background-color:var(--lf-night);background-clip:content-box;color:var(--lf-cloud);font-size:16px;line-height:1.5;pointer-events:none}\n/* behind the row: a soft night shade from the top (always, so the cloud type reads on any photograph), and the night veil that fades in once the page has moved 80 px */\n.lfhd::before{content:\"\";position:absolute;left:0;right:0;top:0;height:150%;background:linear-gradient(180deg,color-mix(in srgb,var(--lf-shade) 78%,transparent) 0,color-mix(in srgb,var(--lf-shade) 56%,transparent) 46%,color-mix(in srgb,var(--lf-shade) 0%,transparent) 100%);opacity:1;transition:opacity .35s ease;pointer-events:none}\n.lfhd::after{content:\"\";position:absolute;inset:0;background:color-mix(in srgb,var(--lf-night) 95%,transparent);box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--lf-cloud) 14%,transparent);opacity:0;transition:opacity .35s ease;pointer-events:none}\n.lfhd.is-moved::after{opacity:1} .lfhd.is-moved::before{opacity:0}\n.lfhd-in{position:absolute;z-index:1;inset:0;display:flex;align-items:center;gap:clamp(20px,2.4vw,34px);width:100%;max-width:${MAXW};height:var(--bar);margin:0 auto;padding:0 56px;transition:translate .5s cubic-bezier(.2,.8,.2,1),opacity .3s ease} .lfhd-in>*{pointer-events:auto}\n.lfhd-skip{position:absolute;left:16px;top:-90px;z-index:3;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--lf-cloud);font-size:14px;font-weight:600;text-decoration:none;pointer-events:auto;transition:top .2s} .lf-sec .lfhd-skip{color:var(--lf-ink)} .lfhd-skip:focus{top:12px}\n/* the name with the ring mark (the hero's) */\n.lfhd-logo{display:inline-flex;align-items:center;gap:10px;flex:none;margin-right:auto;min-height:44px;font-size:25px;font-weight:600;letter-spacing:-.04em;line-height:1;text-decoration:none;white-space:nowrap;border-radius:6px} .lf-sec .lfhd-logo{color:var(--lf-cloud)}\n.lfhd-logo i{position:relative;display:block;flex:none;width:22px;height:22px;border-radius:50%;border:2px solid currentColor} .lfhd-logo i::after{content:\"\";position:absolute;left:3px;right:3px;top:7px;height:2px;background:currentColor;transition:translate .4s cubic-bezier(.2,.8,.2,1)} .lfhd-logo:hover i::after{translate:0 3px}\n.lfhd-nav ul{display:flex;align-items:center;gap:clamp(18px,2.2vw,32px);margin:0;padding:0;list-style:none;font-size:15px;font-weight:500}\n.lfhd-nav li a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap} .lf-sec .lfhd-nav li a{color:var(--lf-cloud)}\n.lfhd-nav li a::after{content:\"\";position:absolute;left:0;right:0;bottom:10px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}\n.lfhd-nav li a:hover::after,.lfhd-nav li a:focus-visible::after{transform:scaleX(1)} .lfhd-nav li a[aria-current]::after{transform:scaleX(1);background:var(--lf-pine);height:2px}\n.lfhd-end{display:flex;align-items:center;gap:10px;flex:none}\n.lfhd-cta{display:inline-flex;align-items:center;height:46px;padding:0 22px;border-radius:999px;background:var(--lf-cloud);font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .3s ease,scale .2s ease} .lf-sec .lfhd-cta{color:var(--lf-ink)} .lfhd-cta:hover{background:var(--lf-pine)} .lfhd-cta:active{scale:.97}\n/* the menu key: a 44 px round ghost key in cloud, two lines that cross */\n.lfhd-burger{position:relative;display:none;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--lf-night) 46%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud) 64%,transparent);cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:background-color .25s,box-shadow .25s} .lf-sec .lfhd-burger{color:var(--lf-cloud)}\n.lfhd-burger:hover{background:color-mix(in srgb,var(--lf-cloud) 14%,transparent)}\n.lfhd-burger i{position:absolute;left:13px;right:13px;height:2px;border-radius:1px;background:currentColor;transition:translate .35s cubic-bezier(.2,.8,.2,1),rotate .35s cubic-bezier(.2,.8,.2,1)} .lfhd-burger i:first-child{top:18px} .lfhd-burger i:last-child{top:24px}\n.lfhd-burger[aria-expanded=\"true\"] i:first-child,.lfhd-burger.is-x i:first-child{translate:0 3px;rotate:45deg} .lfhd-burger[aria-expanded=\"true\"] i:last-child,.lfhd-burger.is-x i:last-child{translate:0 -3px;rotate:-45deg}\n/* ---- THE HOME PAGE RESTS: while the hero's own nav is on screen the bar is not there (pure CSS, so the server render is right; script adds .is-past) */\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open)::before,html:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open)::after{opacity:0}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-in{opacity:0;translate:0 -100%;visibility:hidden;transition:translate .3s ease,opacity .2s ease,visibility 0s linear .3s}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-in>*{pointer-events:none}\n@media (max-width:1099px){.lfhd.lf-sec.lf-well{--bar:72px} .lfhd-in{padding:0 40px} .lfhd-nav{display:none} .lfhd-burger{display:block}\n/* under 1100, top of the home page: ONLY the menu key, at the right edge of the hero's nav row (--lfhd-ry = that row's centre, read by script; 44 px until then) */\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-in{opacity:1;translate:none;visibility:visible;transition:none}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-logo,html:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-cta{display:none}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-end{position:absolute;right:40px;top:calc(var(--lfhd-ry,44px) - 22px)}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-burger{pointer-events:auto}}\n@media (max-width:809px){.lfhd.lf-sec.lf-well{--bar:64px} .lfhd-in{padding:0 20px;gap:12px} .lfhd-cta{height:44px;padding:0 18px;font-size:14px}\nhtml:has([data-lf-hero] .lfh-nav) .lfhd:not(.is-past):not(.is-open) .lfhd-end{right:20px;top:calc(var(--lfhd-ry,38px) - 22px)}}\n@media (max-width:359px){.lfhd-in .lfhd-cta{padding:0 14px;font-size:13.5px} .lfhd-logo{font-size:22px}}\n/* ---- the menu sheet (a child of <body>): night, the links in giant type, the destinations as a route line */\n.lfhd-sheet.lf-sec.lf-well{--bar:72px;position:fixed!important;z-index:2147483600!important;inset:0;display:flex;flex-direction:column;margin:0;padding:0 0 calc(28px + env(safe-area-inset-bottom,0px));background:var(--lf-night);color:var(--lf-cloud);font-size:16px;line-height:1.5;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:lfhd-in .32s ease both} @keyframes lfhd-in{from{opacity:0}to{opacity:1}}\nhtml:has(#sf-demo-bar) .lfhd-sheet.lf-sec.lf-well{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}\n.lfhd-s-top{display:flex;align-items:center;justify-content:space-between;flex:none;height:var(--bar);padding:0 40px} .lfhd-sheet .lfhd-burger{display:block}\n.lfhd-s-body{flex:1 0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px 48px;align-items:end;padding:24px 40px 12px}\n.lfhd-big{margin:0;padding:0;list-style:none}\n.lfhd-big li{animation:lfhd-li .6s cubic-bezier(.16,.84,.24,1) calc(60ms + var(--i)*45ms) both} @keyframes lfhd-li{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}\n.lfhd-big li a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:baseline;gap:4px;min-height:56px;padding:5px 0;text-decoration:none} .lf-sec .lfhd-big li a{color:var(--lf-cloud)}\n.lfhd-big li a i{font-style:normal;font-size:11px;font-weight:500;letter-spacing:.14em;line-height:1;color:color-mix(in srgb,var(--lf-pine) 62%,var(--lf-cloud))}\n.lfhd-big li a b{display:block;font-size:clamp(40px,11vw,72px);line-height:1;overflow-wrap:anywhere;transition:translate .45s cubic-bezier(.2,.8,.2,1)} .lfhd-big li a:hover b{translate:10px 0}\n.lfhd-big li a[aria-current] b{font-family:var(--lf-font-a,'Instrument Serif'),Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.015em}\n.lfhd-s-side{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;min-width:0;animation:lfhd-li .6s cubic-bezier(.16,.84,.24,1) .3s both}\n.lfhd-lab{margin:0 0 14px;font-size:10.5px;font-weight:500;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:var(--lf-cloud)}\n/* the destinations: stops on a line (two rows of three), every stop a link */\n.lfhd-route ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 0;margin:0;padding:8px 0 0;list-style:none}\n.lfhd-route li{position:relative;border-top:2px solid color-mix(in srgb,var(--lf-cloud) 26%,transparent)}\n.lfhd-route li a{display:flex;align-items:center;min-height:48px;padding:12px 8px 4px 0;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none} .lf-sec .lfhd-route li a{color:var(--lf-cloud)}\n.lfhd-route li a i{position:absolute;left:0;top:-8px;width:14px;height:14px;border-radius:50%;background:var(--lf-night);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lf-cloud) 55%,transparent);transition:background-color .3s ease,box-shadow .3s ease}\n.lfhd-route li.is-first a i,.lfhd-route li a:hover i,.lfhd-route li a:focus-visible i,.lfhd-route li a[aria-current] i{background:var(--lf-pine);box-shadow:none}\n.lfhd-route li a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.lfhd-small{display:flex;flex-wrap:wrap;gap:0 22px;margin:0;padding:0;list-style:none;font-size:15px;font-weight:500} .lfhd-small li a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(50% + 12px) / 0 1.5px no-repeat;transition:background-size .35s cubic-bezier(.2,.8,.2,1)} .lf-sec .lfhd-small li a{color:var(--lf-cloud)} .lfhd-small li a:hover,.lfhd-small li a[aria-current]{background-size:100% 1.5px}\n.lfhd-s-foot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--lf-cloud) 16%,transparent)}\n.lfhd-s-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:60px;margin-bottom:12px;padding:0 26px;border-radius:999px;background:var(--lf-pine);font-size:16px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .3s ease} .lf-sec .lfhd-s-cta{color:var(--lf-ink)} .lfhd-s-cta:hover{background:var(--lf-cloud)} .lfhd-s-cta svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)} .lfhd-s-cta:hover svg{transform:translateX(4px)}\n.lfhd-s-tel{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(18px,5vw,22px);font-weight:500;letter-spacing:-.02em;line-height:1.1;text-decoration:none;overflow-wrap:anywhere} .lf-sec .lfhd-s-tel{color:var(--lf-cloud)} .lfhd-s-tel:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}\n.lfhd-s-note{display:inline-flex;align-items:center;gap:11px;margin:10px 0 0;font-size:10.5px;font-weight:500;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:var(--lf-cloud)}\n@media (min-width:810px){.lfhd-big li a b{font-size:clamp(56px,7.6vw,80px)} .lfhd-big li a{grid-template-columns:40px minmax(0,1fr);min-height:72px}}\n@media (max-width:809px){.lfhd-sheet.lf-sec.lf-well{--bar:64px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))} html:has(#sf-demo-bar) .lfhd-sheet.lf-sec.lf-well{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))} .lfhd-s-top{padding:0 20px} .lfhd-s-body{grid-template-columns:minmax(0,1fr);gap:30px;align-items:start;padding:14px 20px 8px}}\n@media (prefers-reduced-motion:reduce){.lfhd.lf-sec.lf-well,.lfhd::before,.lfhd::after,.lfhd-in{transition:none!important} .lfhd-sheet.lf-sec.lf-well,.lfhd-big li,.lfhd-s-side{animation:none}}\n`;addPropertyControls(LfHeader,{...COLOR_CONTROLS,...FONT_CONTROLS,customFonts:{...FONT_CONTROLS.customFonts,description:\"The fonts of the WHOLE site are set here, once. On = the four fonts below are used on every page. Off = Bricolage Grotesque, DM Mono and Instrument Serif\"},accentFont:{type:ControlType.Font,title:\"Accent Font\",description:\"The italic word in headlines and the pull quotes, on every page\",defaultFontType:\"sans-serif\",hidden:p=>!p.customFonts},...BP_CONTROL,links:{type:ControlType.String,title:\"Links\",description:\"Label:/path, … in this order. Shown from 1100 px, and as the giant rows of the menu\",defaultValue:\"Tours:/tours, Destinations:/destinations, Guides:/guides, Journal:/journal, About:/about\",displayTextArea:true},more:{type:ControlType.String,title:\"Menu, more links\",description:\"Shown in the menu under the destinations. Label:/path, …\",defaultValue:\"Private trips:/private-trips, How it works:/how-it-works, Reviews:/reviews, FAQ:/faq, Contact:/contact\",displayTextArea:true},cta:{type:ControlType.String,title:\"Button\",description:\"Type a space to hide it\",defaultValue:\"Plan a trip\"},ctaLink:{type:ControlType.Link,title:\"Button link\",description:\"Empty = the Site Plan Link (/plan-a-trip)\"},showRoute:{type:ControlType.Boolean,title:\"Destinations\",description:\"The first six rows of the Destinations collection as a route line in the menu\",defaultValue:true},showEmail:{type:ControlType.Boolean,title:\"Email\",description:\"The Site Email at the bottom of the menu\",defaultValue:true},showPhone:{type:ControlType.Boolean,title:\"Phone\",description:\"The Site Phone at the bottom of the menu\",defaultValue:true},wordmark:{type:ControlType.String,title:\"Name\",description:\"Empty = the Site Name\",defaultValue:\"\"},words:{type:ControlType.String,title:\"Small labels\",description:\"In this order, separated by ; — Menu; Close; Skip to content; home; Main; Destinations; More; Email; Phone. An empty slot keeps its default\",defaultValue:\"\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LfHeader\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1\",\"framerIntrinsicWidth\":\"1440\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LfHeader.map","// ===== LANDFALL shared scaffold (10-12 retoken: newsprint #F4F1EA, ink #141414, accent text-safe red #C3201A, signal red #D7261E for fills; Newsreader / Inter Tight / DM Mono) — forked from IRIS VALE («THE SHEET»: warm paper desk, near-black ink, deep teal accent, highlighter-yellow signal, the white sheet; Instrument Serif display, Figtree body, DM Mono for labels) (inlined by mk.py; each Framer code file must be self-contained) =====\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const FONTS=\"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Instrument+Serif:ital@0;1&family=DM+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;// night or bone-white text on a CMS brand colour (luminance test; the brand colour is data, not a palette token)\nconst onBrand=hex=>{const m=String(hex||\"\").replace(\"#\",\"\").match(/^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(!m)return\"var(--lf-cloud)\";const[r,g,b]=[m[1],m[2],m[3]].map(x=>{const v=parseInt(x,16)/255;return v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4);});const L=.2126*r+.7152*g+.0722*b;return L>.18?\"var(--lf-ink)\":\"var(--lf-cloud)\";};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.\n// Responsive delivery. Framer uploads: the resizer serves ?scale-down-to=N. Unsplash stand-ins: ?w=N. The src is already the smallest width that covers the slot (a 52px avatar never pulls a 1600px photo), so a big image is never decoded for a small box — decode is what stalls scrolling.\nconst RS_W=[160,320,480,800,1200,1600];const rsTarget=sizes=>{const t=String(sizes||\"\").trim().split(\",\").pop()||\"\";const px=t.match(/(\\d+(?:\\.\\d+)?)px/);const vw=t.match(/(\\d+(?:\\.\\d+)?)vw/);const want=px?parseFloat(px[1])*2:vw?parseFloat(vw[1])/100*1600*1.25:1600;return RS_W.find(w=>w>=want)||1600;};// tall = height / width of a PORTRAIT picture (9:16 → 1.78). Framer's scale-down-to caps the LONG edge, so a 512 step of a 9:16 file is only 288 px wide: the w descriptors are divided by tall so the browser picks a step that is really wide enough.\n// RSF — the ONE url of the whole file (Stage 6): a slot that draws the full picture with a plain src (the hero) must ask for the same url as the largest srcSet step, or the file travels twice.\nconst RSF=u=>{const b=String(u||\"\").split(\"?\")[0];return/framerusercontent\\.com\\/images\\//.test(b)?`${b}?scale-down-to=2048`:String(u||\"\");};// Stage 6 — each picture loads ONCE per page. The browser picks a srcSet step from `sizes`, so two slots of one file with different sizes pulled two or three copies of it (22 files on the Stage 5 publish).\n// RS therefore sorts every slot into a CLASS per screen and writes canonical sizes, so all slots of a class resolve to the same url: phone (≤ 809px) thumb 512 · mid 1024 · full; wider: thumb 512 · mid 1024 · full.\n// The class comes from the caller's sizes (× tall for a portrait file): the real need in px. `force` = { d, p } pins a class where a page already carries that file at another size (the hero's day pictures in LfDay, the tour cards on the home page).\n// ★ Framer law (measured on b4660cd64): the published page holds ONE <img> for the three breakpoint copies and joins their `sizes` as «(min-width: 1200px) <desktop sizes>, (min-width: 810px) and (max-width: 1199.98px) <tablet sizes>, (max-width: 809.98px) <phone sizes>».\n// A sizes value that carries its own media query or a comma breaks that list (the browser then takes the first bare length for every screen: phones fetched the whole file). So each copy writes ONE bare length:\n// RS_PH is set by bpOf() of the section that is rendering (useSec runs before any RS call of that render), and the phone copy writes the phone class.\nlet RS_PH=false;const RS_CAN={d:{thumb:\"256px\",mid:\"1000px\",full:\"2040px\"},p:{thumb:\"100px\",mid:\"500px\",full:\"2040px\"}};const rsNeed=(term,vwPx)=>{const px=term.match(/(\\d+(?:\\.\\d+)?)px\\s*$/);const vw=term.match(/(\\d+(?:\\.\\d+)?)vw\\s*$/);return px?parseFloat(px[1]):vw?parseFloat(vw[1])/100*vwPx:vwPx;};const rsClasses=(sizes,tall)=>{const terms=String(sizes||\"\").split(\",\").map(x=>x.trim()).filter(Boolean);const last=terms[terms.length-1]||\"100vw\";const ph=terms.find(t=>{const m=t.match(/max-width:\\s*(\\d+)px/);return!!m&&+m[1]<=1099;})||last;const dn=rsNeed(last,1440)*tall;const pn=rsNeed(ph.replace(/^\\([^)]*\\)\\s*/,\"\"),390)*tall*2;return{d:dn<=110?\"thumb\":dn<=480?\"mid\":\"full\",p:pn<=220?\"thumb\":pn<=1100?\"mid\":\"full\"};};const RS=(u,sizes,tall=1,force)=>{const s=String(u||\"\");const b=s.split(\"?\")[0];const tl=Math.max(1,tall||1);if(/framerusercontent\\.com\\/images\\//.test(s)){const c0=rsClasses(sizes,tl);const c={d:force&&force.d||c0.d,p:force&&force.p||c0.p};const at=k=>`${b}?scale-down-to=${k===\"thumb\"?512:k===\"mid\"?1024:2048}`;return{src:at(c.d),full:at(\"full\"),srcSet:`${at(\"thumb\")} 512w, ${at(\"mid\")} 1024w, ${at(\"full\")} 2048w`,sizes:RS_PH?RS_CAN.p[c.p]:RS_CAN.d[c.d]};}if(/images\\.unsplash\\.com\\//.test(s)){const w=rsTarget(sizes);const q=n=>`${b}?w=${n}&q=70&fm=jpg&auto=format`;return{src:q(w),srcSet:RS_W.filter(n=>n<=Math.max(w*2,480)).map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}// Wikimedia Commons stand-ins from media/standins.json (thumb urls …/1280px-Name.jpg): only the standard thumb steps exist. A 1920px url (the hero photo) is passed through untouched.\nconst wm=s.match(/wikimedia\\.org\\/.*\\/(\\d+)px-/);if(wm&&+wm[1]<=1280){const w=rsTarget(sizes);const q=n=>b.replace(/\\/\\d+px-/,`/${n}px-`);const st=[500,960,1280].filter(n=>n<=+wm[1]);return{src:q(st.find(n=>n>=w)||st[st.length-1]),srcSet:st.map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}return{src:s};};// 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(\"lf-fonts\"))return;const l=document.createElement(\"link\");l.id=\"lf-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 ov=String(hint||\"\").toLowerCase();const[w,setW]=useState(ov===\"phone\"?390:ov===\"tablet\"?810:1440),[vh,setVh]=useState(ov===\"phone\"?844:ov===\"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;};// One shared rAF for every section. Each frame runs ALL reads first (layout reads: getBoundingClientRect, offsetHeight), then ALL writes (CSS vars, transforms).\n// Interleaving read → write → read made the browser recalc the whole page's style once per section per frame (layout thrashing: 20+ recalcs a frame).\nfunction onTick(fn,read,pre){if(typeof window===\"undefined\")return()=>{};const w=window;if(!w.__ovTick){w.__ovTick={pre:new Set,subs:new Set,reads:new Set,raf:0};const loop=t=>{const T=w.__ovTick;T.pre.forEach(r=>r(t));T.reads.forEach(r=>r(t));T.subs.forEach(s=>s(t));T.raf=requestAnimationFrame(loop);};w.__ovTick.raf=requestAnimationFrame(loop);}w.__ovTick.subs.add(fn);if(read)w.__ovTick.reads.add(read);if(pre)w.__ovTick.pre.add(pre);return()=>{w.__ovTick.subs.delete(fn);if(read)w.__ovTick.reads.delete(read);if(pre)w.__ovTick.pre.delete(pre);};}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;};// Iris Vale tokens «THE SHEET»: Paper(bone) = warm desk #F3F1EC · Ink #1A1A1C (buttons are ink) · Accent(brass) = deep teal #1F5F57 (the italic word, rules, the print head; 6:1 on Paper, text-safe) · Signal(pine) = highlighter yellow #FFE14D (marks and fills only; never text) · Line(fog) #DDD9D0 · Muted(stone) #5C5B58 (5.9:1) · White(cloud) = the sheet · Dark(night) #121214.\n// LANDFALL «THE CABIN» (10-13): Paper(bone) = cabin cream #ECE6DA · Ink #16201C · Accent(brass) = sea green #0F5C4E (text-safe) · Signal(pine) = flare orange #F2542D (fills, the cursor; white 13 px bold on it only) · Line(fog) #D3CBBB · Muted(stone) #56605A · White(cloud) = the window rim #F8F4EB · Dark(night) #0C1210.\nconst DEF={bone:\"#ECE6DA\",ink:\"#16201C\",brass:\"#0F5C4E\",pine:\"#F2542D\",fog:\"#D3CBBB\",stone:\"#56605A\",cloud:\"#F8F4EB\",night:\"#0C1210\"};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});// a Style-bound colour arrives as var(--token-…, #hex): let the browser resolve it to r,g,b for canvas drawing\nconst cssRgb=(el,col,fb)=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.color=col;el.appendChild(p);const v=getComputedStyle(p).color;p.remove();const m=v.match(/(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?)/);return m?`${Math.round(+m[1])},${Math.round(+m[2])},${Math.round(+m[3])}`:fb;};const cssVars=c=>({\"--lf-bone\":c.bone,\"--lf-ink\":c.ink,\"--lf-brass\":c.brass,\"--lf-pine\":c.pine,\"--lf-fog\":c.fog,\"--lf-stone\":c.stone,\"--lf-cloud\":c.cloud,\"--lf-night\":c.night});const COLOR_CONTROLS={bone:{type:ControlType.Color,title:\"Paper\",description:\"The cream band and pale text on the night ground\",defaultValue:DEF.bone},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:DEF.ink},brass:{type:ControlType.Color,title:\"Accent\",description:\"Sea green: the italic word, rules under links and arrows on a light ground\",defaultValue:DEF.brass},pine:{type:ControlType.Color,title:\"Signal\",description:\"Flare orange: route dots and lines, badges, the main pill and the cursor. Fills only, never small text on a light ground\",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\",description:\"Plates and cards\",defaultValue:DEF.cloud},night:{type:ControlType.Color,title:\"Dark\",description:\"The night ground of the site and the shades over photographs\",defaultValue:DEF.night}};// ---- Fonts: Custom Fonts toggle → Font controls; off = Fraunces / Geist / DM 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:\"sans-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 NUMF=\"var(--lf-font-m, 'DM Mono'), ui-monospace, Menlo, monospace\";// Site-wide fonts: the Header (Site Layout, every page) writes --lf-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(`--lf-font-${k}:${fam}`);v.push(`--lf-font-${k}w:${wOf(f,w)}`);}};put(\"d\",p.displayFont,600);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(--lf-font-d, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.displayFont,400):\"var(--lf-font-dw, 600)\",fontStyle:on&&p.displayFont&&p.displayFont.fontStyle?p.displayFont.fontStyle:\"normal\"};const B={fontFamily:stack(on,p.bodyFont,\"var(--lf-font-b, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.bodyFont,400):\"var(--lf-font-bw, 400)\"};const M={fontFamily:stack(on,p.monoFont,\"var(--lf-font-m, 'DM Mono')\",\"ui-monospace, 'SF Mono', Menlo, monospace\"),fontWeight:on?wOf(p.monoFont,500):\"var(--lf-font-mw, 500)\"};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}};// In-page CTA jumps (\"#demo\", \"/#demo\"): scroll to the section when it is on this page, otherwise go to it on the home page.\nfunction jumpTo(e,href){try{const m=String(href||\"\").match(/^\\/?#([\\w-]+)$/);if(!m)return;const el=document.getElementById(m[1]);if(el){e.preventDefault();const W=window;const L=W.__ltLenis||W.__vcLenis||W.lenis;if(L&&L.scrollTo)L.scrollTo(el,{offset:-20});else el.scrollIntoView({behavior:\"smooth\",block:\"start\"});try{history.replaceState(null,\"\",\"#\"+m[1]);}catch(x){}}else if(href.startsWith(\"#\")){e.preventDefault();window.location.href=\"/\"+href;}}catch(x){}}// display text (section headlines, card titles, prices): Fraunces 400, tracking −.04em. With a section's Custom Fonts on, the picked font is used as is.\nconst HD=D=>({...D,fontWeight:typeof D.fontWeight===\"number\"?D.fontWeight:\"var(--lf-font-dw, 600)\",letterSpacing:\"-.04em\"});// numbers in display type keep their columns (counters never jiggle)\nconst NUM={fontVariantNumeric:\"tabular-nums lining-nums\"};// font stacks as CSS: a section root sets --lf-fd / --lf-fb / --lf-fm (useSec does), so shared classes (.lf-mono, .lf-eb, .lf-chip …) take the mono font without an inline style\nconst FD_CSS=\"var(--lf-fd,var(--lf-font-d,'Bricolage Grotesque'),system-ui,-apple-system,Arial,sans-serif)\";const FM_CSS=\"var(--lf-fm,var(--lf-font-m,'DM Mono'),ui-monospace,'SF Mono',Menlo,monospace)\";// canvas text: ctx.font cannot read var() — resolve the family on a probe inside the section first\nconst cssFont=(el,family,fb=\"monospace\")=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.fontFamily=String(family||fb);el.appendChild(p);const v=getComputedStyle(p).fontFamily||fb;p.remove();return v;};// ---- Buttons = the hero's «Book this clean» pill. solid = green pill, an ink fill sweeps in from the left on hover / focus and the arrow steps right · ghost = hairline pill that fills white · quiet = small sand pill (44 px) for second-rank actions.\n// icon: \"arrow\" | \"down\" | \"none\". Default: solid → arrow, ghost / quiet → none. On the green band the solid pill is white with green text.\nconst BtnArrow=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})});const BtnDown=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v13M6 12l6 6 6-6M5 21h14\"})});const Btn=({href,label,kind=\"solid\",icon,style,className,onClick,ariaLabel,cur,as,disabled})=>{if(!label||!String(label).trim())return null;const ic=icon||(kind===\"solid\"?\"arrow\":\"none\");const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"lf-btn-l\",children:label}),ic!==\"none\"?/*#__PURE__*/_jsx(\"b\",{className:`lf-btn-a is-${ic}`,\"aria-hidden\":true,children:ic===\"down\"?/*#__PURE__*/_jsx(BtnDown,{}):/*#__PURE__*/_jsx(BtnArrow,{})}):null]});const cls=`lf-btn lf-${kind}${ic!==\"none\"?\" has-a\":\"\"}${className?\" \"+className:\"\"}`;if(as===\"button\"||!href)return /*#__PURE__*/_jsx(\"button\",{type:onClick?\"button\":\"submit\",className:cls,\"data-cur\":cur||\"go\",onClick:onClick,\"aria-label\":ariaLabel,disabled:disabled,style:style,children:inner});const ext=/^https?:\\/\\//.test(href||\"\");return /*#__PURE__*/_jsx(\"a\",{className:cls,\"data-cur\":cur||\"open\",href:href,target:ext?\"_blank\":undefined,rel:ext?\"noopener\":undefined,onClick:onClick||(e=>jumpTo(e,href)),\"aria-label\":ariaLabel,style:style,children:inner});};// More — the text link under a section (\"All services →\"): a green rule draws under it on hover / focus, the arrow steps right. n = an optional small mono count before it.\nconst More=({href,label,n,cur,className,style})=>label&&String(label).trim()?/*#__PURE__*/_jsxs(\"a\",{className:`lf-more${className?\" \"+className:\"\"}`,href:href||\"/\",\"data-cur\":cur||\"open\",style:style,children:[n?/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-n\",children:n}):null,/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-l\",children:label}),/*#__PURE__*/_jsx(IcoArrow,{s:15})]}):null;// Label — the mono caps line (DM Mono 11, .12em): above a headline, on a card, next to a number. dot = the mint live dot in front. Static; use the motion layer's Eyebrow when it should rise in.\nconst Label=({t,dot=false,className,style})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-label${className?\" \"+className:\"\"}`,style:style,children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;// Chip — the hero's pill. tone: \"\" white pill with a soft shadow (on the ground) · \"sand\" sand pill (inside white cards) · \"fill\" green pill, white text · \"mut\" no plate, muted text. dot = the mint live dot (the availability chip).\nconst Chip=({t,tone=\"\",dot=false,className})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-chip${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,children:[dot?/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}):null,t]}):null;// Pick — a chip you can press (room chips, frequency switch, filters). In the flow, never sticky. Sand pill → green when on. 46 px tall like the hero's quote chips.\nconst Pick=({label,on,onClick,count,cur})=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`lf-pick${on?\" is-on\":\"\"}`,\"aria-pressed\":on,onClick:onClick,\"data-cur\":cur||(on?\"picked\":\"pick\"),children:[label,count!==undefined&&count!==\"\"?/*#__PURE__*/_jsx(\"em\",{children:count}):null]});// Tick — a mint disc whose check DRAWS once when `on` (pass `on || still`). tone \"line\" = a hairline ring until it is on (checklist points). Decorative: the text next to it carries the meaning.\nconst Tick=({on=true,s=24,delay=0,tone=\"\",className})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-tick${on?\" is-on\":\"\"}${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,\"aria-hidden\":true,style:{width:s,height:s,[\"--lf\"]:`${delay}ms`},children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:Math.round(s*.58),height:Math.round(s*.58),fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{pathLength:1,d:\"M5 12.5l4.5 4.5L19 7.5\"})})});// Veil — THE WIPE for any picture: a pale veil sits on the child and slides off left → right ONCE when `on` (≤ .9 s, transform only). Change `k` (a string, e.g. the picture's slug) to wipe again when the picture swaps.\n// Wrap a Pic / img: <Veil on={on || still} k={row.slug}><Pic … /></Veil>. Still renders and reduced motion show the picture plain.\nconst Veil=({on,k=\"\",delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-veil${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:style,children:[children,/*#__PURE__*/_jsx(\"i\",{className:\"lf-veil-v\",\"aria-hidden\":true,\"data-gate-skip\":true,style:{[\"--lf\"]:`${delay}ms`}},k)]});function useNearFocus(root,live){useEffect(()=>{if(!live||!root.current)return;const el=root.current;const f=e=>{const t=e.target;const sc=t.closest?.(\".lf-inring\");if(!sc)return;try{t.scrollIntoView({block:\"nearest\",inline:\"nearest\"});}catch(x){}};el.addEventListener(\"focusin\",f);return()=>el.removeEventListener(\"focusin\",f);},[live]);}// Roll — a rolling mono number: every digit is a 0–9 column that slides to its value; separators stay put. rm = no transition.\nconst Roll=({text,rm=false,cls})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-roll${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,\"aria-hidden\":true,children:String(text).split(\"\").map((ch,i)=>/\\d/.test(ch)?/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg\",children:/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg-c\",style:{[\"--d\"]:+ch},children:[0,1,2,3,4,5,6,7,8,9].map(d=>/*#__PURE__*/_jsx(\"i\",{children:d},d))})},i):/*#__PURE__*/_jsx(\"span\",{className:\"lf-sep\",children:ch},i))});// Count — counts up once when `on` (\"2,140\", \"48,200\", \"99\", \"0.8 s\"): keeps prefix, suffix and commas; the final value is in the server HTML and in aria-label.\nconst Count=({to,on,rm=false,ms=1400,cls,style})=>{const v=useCount(to,on,rm,ms);return /*#__PURE__*/_jsx(\"span\",{className:`lf-count lf-num${cls?\" \"+cls:\"\"}`,style:style,\"aria-label\":String(to||\"\"),children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,children:v})});};// Md — mini markdown for CMS bodies: blank line = paragraph, \"## \" = h3, \"- \" = list item, \"> \" = quote, **bold**, `code`, ``` fenced block ```. Never dangerouslySetInnerHTML.\nconst mdInline=t=>String(t).split(/(\\*\\*[^*]+\\*\\*|`[^`]+`)/g).map((x,i)=>x.length>4&&x.startsWith(\"**\")&&x.endsWith(\"**\")?/*#__PURE__*/_jsx(\"strong\",{children:x.slice(2,-2)},i):x.length>2&&x.startsWith(\"`\")&&x.endsWith(\"`\")?/*#__PURE__*/_jsx(\"code\",{children:x.slice(1,-1)},i):x);const Md=({text,D,cls})=>{const out=[];let list=[];let code=null;const flush=()=>{if(list.length){out.push(/*#__PURE__*/_jsx(\"ul\",{children:list.map((x,i)=>/*#__PURE__*/_jsx(\"li\",{children:mdInline(x)},i))},\"u\"+out.length));list=[];}};const block=()=>{if(code){out.push(/*#__PURE__*/_jsx(\"pre\",{tabIndex:0,children:/*#__PURE__*/_jsx(\"code\",{children:code.join(\"\\n\")})},\"c\"+out.length));code=null;}};String(text||\"\").split(\"\\n\").forEach(raw=>{const l=raw.trim();if(l.startsWith(\"```\")){if(code)block();else{flush();code=[];}return;}if(code){code.push(raw.replace(/\\s+$/,\"\"));return;}if(!l)return;if(l.startsWith(\"- \")){list.push(l.slice(2));return;}flush();if(l.startsWith(\"## \"))out.push(/*#__PURE__*/_jsx(\"h3\",{style:D?HD(D):undefined,children:l.slice(3)},out.length));else if(l.startsWith(\"> \"))out.push(/*#__PURE__*/_jsx(\"blockquote\",{children:mdInline(l.slice(2))},out.length));else out.push(/*#__PURE__*/_jsx(\"p\",{children:mdInline(l)},out.length));});block();flush();return /*#__PURE__*/_jsx(\"div\",{className:`lf-md${cls?\" \"+cls:\"\"}`,children:out});};const Rule=({on,dir=\"x\",delay=0,rm=false,style,cls})=>/*#__PURE__*/_jsx(\"i\",{className:`lf-rule-${dir}${on?\" is-on\":\"\"}${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},\"aria-hidden\":true});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 6l6 6-6 6\"})});const IcoCheck=({s=12})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12.5l4.5 4.5L19 7.5\"})});const IcoPlus=({s=14})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\"})});// Scribble — a crayon mark that DRAWS itself once when `on` (pass `on || still`): kind \"underline\" (under a word, width 100%) · \"circle\" · \"arrow\" · \"wave\" · \"star\". tone = which crayon (0..3 of the four: coral, sky, sunflower, green) or a hex. Decorative (aria-hidden); the text next to it carries the meaning.\nconst CRAYONS=[\"var(--lf-brass)\",\"#5B9BD5\",\"var(--lf-pine)\",\"#2E7D5B\"];const SCRIB={underline:[\"0 0 200 24\",\"M4 16c40-10 80-8 120-6s50 2 72-4\"],circle:[\"0 0 120 120\",\"M60 14c30-4 50 18 46 46s-26 50-56 46S12 80 16 54 36 18 60 14z\"],arrow:[\"0 0 120 60\",\"M6 32c30-10 60-12 90-6m-18-16 22 16-20 20\"],wave:[\"0 0 200 40\",\"M4 28q24-30 48 0t48 0 48 0 48 0\"],star:[\"0 0 100 100\",\"M50 8v26M50 66v26M8 50h26M66 50h26M20 20l18 18M62 62l18 18M80 20 62 38M38 62 20 80\"]};const Scribble=({on,kind=\"underline\",tone=0,w=7,className,style})=>{const[vb,d]=SCRIB[kind]||SCRIB.underline;const col=typeof tone===\"number\"?CRAYONS[tone%CRAYONS.length]:tone;return /*#__PURE__*/_jsx(\"svg\",{className:`lf-scrib${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,viewBox:vb,preserveAspectRatio:\"none\",\"aria-hidden\":true,style:style,fill:\"none\",stroke:col,strokeWidth:w,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:d,pathLength:1})});};// Pic — a CMS picture in a ratio box: width / height attributes (no layout shift), lazy, responsive srcSet, night ground while it loads, a hairline on top. Children sit above the picture (put text on a .lf-plate).\nconst ratioWH=ratio=>{const m=String(ratio||\"\").match(/([\\d.]+)\\s*\\/\\s*([\\d.]+)/);const r=m?parseFloat(m[1])/Math.max(.01,parseFloat(m[2])):1;return{w:1600,h:Math.round(1600/(r||1))};};const Pic=({src,alt=\"\",ratio=\"16/10\",sizes=\"(max-width: 809px) 100vw, 50vw\",focus=\"50% 50%\",radius=20,eager=false,className,style,children})=>{const im=RS(src,sizes);const d=ratioWH(ratio);return /*#__PURE__*/_jsxs(\"span\",{className:`lf-pic${className?\" \"+className:\"\"}`,style:{aspectRatio:ratio,borderRadius:radius,...style||{}},children:[src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,sizes:im.sizes,alt:alt,width:d.w,height:d.h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus}}):null,children]});};// section breakpoints from the MEASURED root width (useSize with the bpHint): the same thresholds as the hero. Never a bare 1440 guess.\nconst bpOf=w=>{const ph=w<810,tb=!ph&&w<1100,xs=w<360;RS_PH=ph;return{ph,tb,xs,cls:(ph?\" is-ph\":tb?\" is-tb\":\"\")+(xs?\" is-xs\":\"\")};};const CSS_BASE=`\n/* BRIGHTWORK base \\xabTHE CLEAR PANE\\xbb. The page is LIGHT: ground --lf-bone #F4F0E8 \\xb7 white cards --lf-cloud \\xb7 sand wells --lf-sand ≈ #E9E3D8 (.lf-sand on a section, .lf-plate.is-well on a card) \\xb7 ink --lf-ink #1A1A1C. .lf-lime = the ONE green band (--lf-brass, white text; LfPricing only). .lf-well (dark) exists in the CSS but NO section uses it.\n   CASCADE-ORDER LAW: every component re-injects this CSS, so a LATER component's base rule beats an earlier component's single-class rule. Override a base class on the same element with 2+ classes (.shwk-card.lf-plate{…}). Section rules like \".lfxx a{color:inherit}\" beat one class too — shared colours here always use two. */\n:where(.bw){position:relative} .lf-sec,.lf-sec *{box-sizing:border-box;min-width:0} .lf-sec{-webkit-font-smoothing:antialiased} :where(.bw) a{color:inherit} html,body{overflow-x:clip}\n.lf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}\n/* focus: a 2px lime ring, 4px out (the hero's). On the lime band the ring is night; .lf-inring = ring inside the box (scrollers, rows that touch an edge) */\n:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline:2px solid var(--lf-brass,#0E5B4A)!important;outline-offset:4px!important}\n:where(.lf-lime,.lf-well) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-cloud,#FFFFFF)!important}\n:where(.lf-lime .lf-plate) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-brass,#0E5B4A)!important}\n.lf-sec :where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin:104px 0 28px}\n:where(.lf-inring) :where(a[href],button,input,summary,[tabindex]):focus-visible,:where(a[href],button,input,summary,[tabindex]).lf-inring:focus-visible{outline-offset:-3px!important}\n/* TEXT-SAFE tokens per ground. --lf-fg = the ground's text \\xb7 --lf-mut = muted text (stone: 6.65:1 on the ground, 6.16:1 on a plate) \\xb7 --lf-acc = lime as text (dark grounds only) \\xb7 --lf-hair / --lf-hair2 = 14% / 22% ink hairlines.\n   Violet (--lf-pine) is a FILL only: bars, rules, the struck value's line — never small text. */\n.bw{--lf-shade:color-mix(in srgb,var(--lf-night) 67%,#000);--lf-sand:color-mix(in srgb,var(--lf-bone) 52%,var(--lf-fog));--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-brass);--lf-hair:color-mix(in srgb,var(--lf-ink) 14%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 22%,transparent)}\n/* section grounds: ground (default) \\xb7 lf-well = the night well \\xb7 lf-lime = THE lime band (night text; lime-as-text becomes night) */\n.lf-sec{background:var(--lf-bone);color:var(--lf-fg)} .lf-sec.lf-sand{background:var(--lf-sand)} .lf-sec.lf-well{background:var(--lf-night);--lf-fg:var(--lf-bone);--lf-mut:color-mix(in srgb,var(--lf-bone) 72%,var(--lf-night));--lf-acc:var(--lf-pine);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-bone) 16%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-bone) 26%,transparent)}\n.lf-sec.lf-lime{background:var(--lf-brass);--lf-fg:var(--lf-cloud);--lf-mut:color-mix(in srgb,var(--lf-cloud) 82%,var(--lf-brass));--lf-acc:var(--lf-cloud);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-cloud) 20%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-cloud) 38%,transparent)}\n/* Cards: white, 24px radius, a soft shadow, no hairline. A card resets the text tokens (also inside the green band). .is-well = a sand well (flat, no shadow). */\n.lf-plate{position:relative;border-radius:24px;background:var(--lf-cloud);--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-ink) 12%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 20%,transparent);color:var(--lf-fg);box-shadow:0 14px 44px color-mix(in srgb,var(--lf-ink) 7%,transparent)}\n.lf-plate.is-well{background:var(--lf-sand);box-shadow:none}\n/* section scaffold: .lf-wrap = the hero's container (clamp(1280px,92vw,1520px), side padding 56 / 40 tablet / 20 phone, set by .is-tb / .is-ph on the section root from useSize) \\xb7 .lf-pad = the vertical rhythm */\n.lf-wrap{position:relative;width:100%;max-width:${MAXW};margin:0 auto;padding-left:56px;padding-right:56px}\n.lf-sec.is-tb .lf-wrap{padding-left:40px;padding-right:40px} .lf-sec.is-ph .lf-wrap{padding-left:20px;padding-right:20px}\n.lf-pad{padding-top:clamp(96px,9vw,152px);padding-bottom:clamp(96px,9vw,152px)} .lf-sec.is-tb .lf-pad{padding-top:88px;padding-bottom:88px} .lf-sec.is-ph .lf-pad{padding-top:68px;padding-bottom:68px}\n.lf-headblock{display:grid;gap:22px;justify-items:start;max-width:920px} .lf-sec.is-ph .lf-headblock{gap:16px}\n.lf-lead{margin:0;max-width:34em;font-size:17px;line-height:1.6;color:var(--lf-mut)} .lf-sec.is-ph .lf-lead{font-size:15.5px}\n.lf-empty{margin:0;padding:22px 0;font-family:${FM_CSS};font-size:13px;line-height:1.5;color:var(--lf-mut)}\n/* opt-in container queries: add .lf-cq to the root, then @container bw (max-width:1099px){…} / (max-width:809px). NOT on a root with position:fixed children (containment re-bases them). */\n.lf-cq{container-type:inline-size;container-name:bw}\n/* the hairline 72px grid, masked by a radial (set --gx / --gy to move the light) */\n.lf-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%);mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%)}\n/* ---- Buttons = the hero's \\xabBook this clean\\xbb pill (52px, label 15/600). Colours use two classes so a section's \"a{color:inherit}\" never wins. */\n.lf-btn{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;margin:0;padding:0 24px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:translate .35s cubic-bezier(.2,.8,.2,1),scale .2s ease,border-color .3s,color .3s,background-color .3s}\n.lf-btn::before{content:\"\";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--lf-brass);transform:translateX(-102%);transition:transform .5s cubic-bezier(.3,.9,.2,1)} .lf-btn:hover::before,.lf-btn:focus-visible::before{transform:translateX(0)} .lf-btn:active{scale:.97}\n.lf-btn-a{display:inline-grid;place-items:center;flex:none} .lf-btn-a svg{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)} .lf-btn:hover .lf-btn-a.is-arrow svg{transform:translateX(4px)} .lf-btn:hover .lf-btn-a.is-down svg{transform:translateY(3px)}\n.lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)}\n.lf-btn.lf-ghost{color:var(--lf-fg,var(--lf-ink));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-fg,var(--lf-ink)) 30%,transparent)} .lf-btn.lf-ghost::before{background:var(--lf-cloud)} .lf-btn.lf-ghost:hover,.lf-btn.lf-ghost:focus-visible{box-shadow:inset 0 0 0 1.5px var(--lf-ink);color:var(--lf-ink)}\n.lf-btn.lf-quiet{height:44px;padding:0 18px;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-btn.lf-quiet::before{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))}\n.lf-sec .lf-btn.lf-quiet.on-ground{background:var(--lf-cloud);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)}\n.lf-btn:disabled,.lf-btn[aria-disabled=\"true\"]{opacity:.5;pointer-events:none}\n/* on the green band: the solid pill is white with green text (sweep = paper); ghost = a white hairline that fills white. Inside a white card on the band everything is the default again. */\n.lf-lime .lf-btn.lf-solid{background:var(--lf-cloud);color:var(--lf-brass)} .lf-lime .lf-btn.lf-solid::before{background:var(--lf-bone)}\n.lf-lime .lf-btn.lf-ghost{color:var(--lf-cloud);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud) 46%,transparent)} .lf-lime .lf-btn.lf-ghost:hover,.lf-lime .lf-btn.lf-ghost:focus-visible{color:var(--lf-brass);box-shadow:inset 0 0 0 1.5px var(--lf-cloud)}\n.lf-lime .lf-plate .lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)} .lf-lime .lf-plate .lf-btn.lf-solid::before{background:var(--lf-ink)} .lf-lime .lf-plate .lf-btn.lf-ghost{color:var(--lf-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-ink) 26%,transparent)}\n.lf-sec button,.lf-sec input,.lf-sec select,.lf-sec textarea{font-family:inherit}\n/* the text link under a section */\n.lf-more{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap} .lf-sec .lf-more{color:var(--lf-fg)}\n.lf-more-n{font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--lf-mut)} .lf-more-l{position:relative;padding:6px 0} .lf-more-l::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--lf-acc);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}\n.lf-more:hover .lf-more-l::after,.lf-more:focus-visible .lf-more-l::after{transform:scaleX(1)} .lf-more svg{color:var(--lf-acc);transition:transform .3s} .lf-more:hover svg{transform:translateX(4px)}\n/* Label: mono caps */\n.lf-label{display:inline-flex;align-items:center;gap:9px;margin:0;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--lf-mut)} .lf-sec.lf-lime .lf-label{color:var(--lf-mut)}\n/* mono data lines + numbers (sentence case, no tracked caps) */\n.lf-mono{font-family:${FM_CSS};font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.5;font-variant-numeric:tabular-nums} .lf-num{font-variant-numeric:tabular-nums lining-nums} .lf-lbl{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--lf-mut)}\n/* the live dot: mint, slow halo (the availability chip's) */\n.lf-dot{position:relative;display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite} @keyframes lf-pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}\n/* Chip + Pick = the hero's pills */\n.lf-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 15px;border-radius:999px;background:var(--lf-cloud);font-size:14px;font-weight:500;line-height:1.2;color:var(--lf-ink);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)} .lf-chip i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite}\n.lf-chip.is-sand{background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));box-shadow:none} .lf-chip.is-fill{background:var(--lf-brass);color:var(--lf-cloud);box-shadow:none} .lf-chip.is-mut{min-height:0;padding:0;background:none;box-shadow:none;color:var(--lf-mut)} .lf-lime .lf-chip.is-mut{color:var(--lf-mut)}\n.lf-pick{display:inline-flex;align-items:center;gap:8px;height:46px;margin:0;padding:0 18px;border:0;border-radius:999px;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .25s ease,color .25s ease,scale .2s ease} .lf-sec .lf-pick{color:var(--lf-ink)}\n.lf-pick em{font-style:normal;opacity:.82} .lf-pick:hover{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))} .lf-pick:active{scale:.96} .lf-sec .lf-pick.is-on{background:var(--lf-ink);color:var(--lf-cloud)}\n.lf-sec:not(.lf-lime) .lf-picks.on-ground .lf-pick:not(.is-on){background:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-cloud) 14%,transparent);color:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on):hover{background:color-mix(in srgb,var(--lf-cloud) 24%,transparent)} .lf-sec.lf-lime .lf-pick.is-on{background:var(--lf-cloud);color:var(--lf-brass)}\n.lf-lime .lf-plate .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-sec.lf-lime .lf-plate .lf-pick.is-on{background:var(--lf-brass);color:var(--lf-cloud)}\n/* Tick: a mint disc, the check draws once */\n.lf-tick{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--lf-pine);color:var(--lf-ink);transition:background-color .35s ease var(--lf,0ms),box-shadow .35s ease var(--lf,0ms)} .lf-tick path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.3,.8,.2,1) calc(var(--lf,0ms) + .12s)} .lf-tick.is-on path{stroke-dashoffset:0}\n.lf-tick.is-line:not(.is-on){background:transparent;box-shadow:inset 0 0 0 1.5px var(--lf-hair2)}\n/* Veil: the wipe. The veil covers the child until .is-on, then slides off to the right once */\n.lf-veil{position:relative;display:block;overflow:hidden;border-radius:inherit} .lf-veil-v{position:absolute;z-index:2;inset:0 -18% 0 0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--lf-bone) 94%,transparent) 0,color-mix(in srgb,var(--lf-bone) 94%,transparent) 82%,color-mix(in srgb,var(--lf-bone) 0.4%,transparent) 100%);transform:translateX(-18%)}\n.lf-veil.is-on .lf-veil-v{animation:lf-veil .85s cubic-bezier(.5,0,.2,1) var(--lf,0ms) both} @keyframes lf-veil{from{transform:translateX(-18%)}to{transform:translateX(102%)}} .bw[data-kb] .lf-veil-v{display:none}\n@media (prefers-reduced-motion:reduce){.lf-veil-v{display:none}}\n/* Pic */ .lf-pic{position:relative;display:block;overflow:hidden;background:var(--lf-sand)} .lf-pic img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;user-select:none} \n/* Roll */ .lf-roll{display:inline-flex;align-items:flex-start;white-space:nowrap;font-variant-numeric:tabular-nums} .lf-dg{display:inline-block;height:1em;overflow:hidden;vertical-align:top} .lf-dg-c{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -1em));transition:transform .55s cubic-bezier(.3,.9,.3,1)} .lf-dg-c i{display:block;height:1em;line-height:1em;font-style:normal} .lf-sep{display:inline-block;height:1em;line-height:1em} .lf-roll.is-rm .lf-dg-c,.bw[data-kb] .lf-dg-c{transition:none}\n/* Rules: a hairline that DRAWS */ .lf-rule-x,.lf-rule-y{display:block;background:var(--lf-hair);transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--lf,0ms)} .lf-rule-x{width:100%;height:1px;transform:scaleX(0)} .lf-rule-y{width:1px;height:100%;transform:scaleY(0)} .lf-rule-x.is-on{transform:scaleX(1)} .lf-rule-y.is-on{transform:scaleY(1)} .lf-rule-x.is-rm,.lf-rule-y.is-rm,.bw[data-kb] .lf-rule-x,.bw[data-kb] .lf-rule-y{transition:none}\n/* Count */ .lf-count{display:inline-block;white-space:nowrap}\n/* Scribble: a crayon mark draws once (multiply, so it reads as crayon on the paper and on a picture) */ .lf-scrib{display:block;mix-blend-mode:multiply;overflow:visible} .lf-scrib path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.3,.8,.2,1) var(--lf,0ms)} .lf-scrib.is-on path{stroke-dashoffset:0} .bw[data-kb] .lf-scrib path{transition:none} @media (prefers-reduced-motion:reduce){.lf-scrib path{stroke-dashoffset:0!important}}\n/* Md */ .lf-md{display:grid;gap:16px;font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--lf-fg) 86%,transparent)} .lf-md p,.lf-md ul,.lf-md h3,.lf-md blockquote,.lf-md pre{margin:0} .lf-md h3{margin-top:18px;font-size:clamp(24px,2vw,30px);line-height:1.12;color:var(--lf-fg)} .lf-md h3:first-child{margin-top:0} .lf-md ul{padding-left:1.2em;display:grid;gap:8px} .lf-md li::marker{color:var(--lf-acc)} .lf-md strong{font-weight:600;color:var(--lf-fg)} .lf-md a{color:var(--lf-acc);text-underline-offset:3px}\n.lf-md blockquote{padding:2px 0 2px 18px;border-left:2px solid var(--lf-acc);font-size:1.12em;line-height:1.45;color:var(--lf-fg)} .lf-md code{font-family:${FM_CSS};font-size:.86em;padding:.12em .4em;border-radius:5px;background:color-mix(in srgb,var(--lf-fg) 9%,transparent);color:var(--lf-fg)}\n.lf-md pre{max-width:100%;overflow-x:auto;padding:16px 18px;border-radius:16px;background:var(--lf-night);color:var(--lf-bone);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lf-ink) 14%,transparent);font-size:13px;line-height:1.6} .lf-md pre code{padding:0;background:none;font-size:inherit;color:var(--lf-bone);white-space:pre}\n/* HEIGHT LAW: a block whose content swaps stacks all items in ONE grid cell so the tallest reserves the height */ .lf-swap{display:grid} .lf-swap>*{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s} .lf-swap>.is-on{opacity:1;visibility:visible;transition:opacity .5s ease}\n@media (prefers-reduced-motion:reduce){.lf-sec *,.lf-sec *::before,.lf-sec *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}\n`;// ===== BRIGHTWORK 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.\nconst SCRUB_K=.18;// Decode a section's photos while it is still a screen and a half away, so the first frame it is on screen never waits for a decode.\nfunction usePre(el){try{const io=new IntersectionObserver(es=>{if(!es[0].isIntersecting)return;io.disconnect();el.querySelectorAll(\"img\").forEach(im=>{try{im.loading=\"eager\";im.decode().catch(()=>{});}catch(e){}});},{rootMargin:\"150% 0px 150% 0px\"});io.observe(el);}catch(e){}}function focusTo(el,frac){if(!el||typeof window===\"undefined\")return;if(window.innerWidth<810)return;const r=el.getBoundingClientRect();const vh=window.innerHeight;if(r.height<=vh*1.05)return;const y=r.top+window.scrollY+(r.height-vh)*Math.min(1,Math.max(0,frac));if(Math.abs(window.scrollY-y)<8)return;const w=window;if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}function useScrollVars(ref,live,rm,cb){useEffect(()=>{if(!live||rm||!ref.current)return;const el=ref.current;let vis=true,last=-9,cs=-1,cp=-1,settled=false;usePre(el);const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"25% 0px 25% 0px\"});io.observe(el);// eased scrub: the values glide toward the true scroll position (K per frame), so wheel steps never jump a pinned scene\nlet rt=0,rh=0,vh=1,fresh=false;const read=()=>{if(!vis&&settled){fresh=false;return;}const r=el.getBoundingClientRect();rt=r.top;rh=r.height;vh=window.innerHeight||1;fresh=true;};const off=onTick(()=>{if(!fresh)return;const sp=clamp01((vh-rt)/(vh+rh));const pp=rh>vh*1.05?clamp01(-rt/(rh-vh)):sp;if(cs<0){cs=sp;cp=pp;}else{cs+=(sp-cs)*SCRUB_K;cp+=(pp-cp)*SCRUB_K;if(Math.abs(sp-cs)<5e-4)cs=sp;if(Math.abs(pp-cp)<5e-4)cp=pp;}settled=cs===sp&&cp===pp;if(Math.abs(cs+cp-last)<3e-4)return;last=cs+cp;el.style.setProperty(\"--sp\",cs.toFixed(4));el.style.setProperty(\"--pp\",cp.toFixed(4));if(cb)cb(cs,cp);},read);return()=>{off();io.disconnect();};},[live,rm]);}// STAGE — false while the loader or the page-transition cover is on screen (html.lf-hold-*), so first-screen intros play AFTER the cover lifts, never under it. 9 s safety.\nfunction useStage(live){const[r,setR]=useState(false);useEffect(()=>{if(!live)return;const h=document.documentElement;const ok=()=>!/(^|\\s)lf-hold/.test(h.className);if(ok()){setR(true);return;}const mo=new MutationObserver(()=>{if(ok()){mo.disconnect();setR(true);}});mo.observe(h,{attributes:true,attributeFilter:[\"class\"]});const t=window.setTimeout(()=>{mo.disconnect();setR(true);},9e3);return()=>{mo.disconnect();window.clearTimeout(t);};},[live]);return r;}// true once the element has entered the viewport (stays true) — and only once the stage is clear. Reduced motion = true at once.\nfunction useOn(ref,live,rm,amount=.16){const[on,setOn]=useState(false);const still=useStill();const ready=useStage(live);useEffect(()=>{if(!live)return;if(rm){setOn(true);return;}if(!ready)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(\".lf-rev.is-act\");const rv=rev?parseFloat(rev.style.getPropertyValue(\"--rv\")||\"0\"):1;if(rv>.24){setOn(true);off();}});}},{threshold:Math.min(amount,Math.max(.005,window.innerHeight*.3/Math.max(1,el.offsetHeight))),rootMargin:\"0px 0px -6% 0px\"});io.observe(el);return()=>{io.disconnect();off();el.removeEventListener(\"focusin\",fin);el.removeEventListener(\"focusout\",fout);};},[live,rm,ready]);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[kb,setKb]=useState(false);// keyboard users get the footer as a normal section: a curtain taller than the screen hides its top row under the page above / the fixed header\nconst act=on&&live&&!rm&&h>0&&!kb;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);let cur=-1,T=0,vh=1,top=0,fresh=false;const read=()=>{if(!vis){fresh=false;return;}T=sp.current?sp.current.offsetHeight:0;vh=window.innerHeight;top=el.getBoundingClientRect().top;fresh=true;};const off=onTick(()=>{if(!fresh||!T)return;const rv=clamp01((vh-T-top)/T);if(cur<0||el.dataset.snap){cur=rv;delete el.dataset.snap;}else{cur+=(rv-cur)*SCRUB_K;if(Math.abs(rv-cur)<5e-4)cur=rv;}if(Math.abs(cur-last)<4e-4)return;last=cur;el.style.setProperty(\"--rv\",cur.toFixed(4));},read);return()=>{off();io.disconnect();};},[act]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:`lf-rev${act?\" is-act\":\"\"}`,style:{...style||{},[\"--h\"]:`${h}px`,[\"--layer\"]:layer},onFocusCapture:e=>{if(!act||!wrap.current)return;try{if(e.target.matches(\":focus-visible\")){const t0=e.target;setKb(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{try{t0.scrollIntoView({block:\"center\"});}catch(x){}}));return;}}catch(x){}const t=e.target;const w=window;const r=wrap.current.getBoundingClientRect();const T=sp.current?sp.current.offsetHeight:0;const y=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,r.top+window.scrollY-window.innerHeight+2*T));if(Math.abs(window.scrollY-y)>4){if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}wrap.current.dataset.snap=\"1\";requestAnimationFrame(()=>{try{const q=t.getBoundingClientRect();if(q.top<0||q.bottom>window.innerHeight)t.scrollIntoView({block:\"nearest\"});}catch(x){}});},children:[/*#__PURE__*/_jsx(\"div\",{ref:inner,className:\"lf-rev-in\",children:children}),/*#__PURE__*/_jsx(\"div\",{ref:sp,className:\"lf-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||\"\").replace(/\\*([^*]+)\\*/g,(_m,g)=>g.trim().split(/\\s+/).map(w=>{const m=w.match(/^(.*?)([.,!?;:’']*)$/);return m&&m[1]?`*${m[1]}*${m[2]}`:w;}).join(\" \")).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();// Head — the section headline: Instrument Serif 800, tracking −.04em (HD), *word* = the coral crayon word, clamp(40px,4.3vw,64px) (phones clamp(31px,9.6vw,42px)). Words rise out of masks ONCE when `on`.\n// \"|\" forces a line break, *word* = THE italic word (light italic, green; white on the green band) — ONE per headline. tag=\"h1\" also rises from the server HTML.\nconst Head=({text,on,D,tag=\"h2\",size=\"clamp(40px,4.3vw,64px)\",lh=1,delay=0,step=45,style,className})=>{const Tag=tag;let k=0;if(!String(text||\"\").trim())return null;return /*#__PURE__*/_jsx(Tag,{className:`lf-hd${on?\" is-on\":\"\"}${tag===\"h1\"?\" is-ssr\":\"\"}${className?\" \"+className:\"\"}`,\"aria-label\":plainOf(text),style:{...HD(D),[\"--hs\"]:size,lineHeight:lh,...style||{}},children:String(text).split(\"|\").map((line,li)=>/*#__PURE__*/_jsx(\"span\",{className:\"lf-hd-l\",\"aria-hidden\":true,children:splitWords(line).map((w,i)=>{const d=delay+k++*step;return /*#__PURE__*/_jsxs(\"span\",{className:\"lf-hd-w\",children:[/*#__PURE__*/_jsxs(\"span\",{className:`lf-hd-i${w.acc?\" is-acc\":\"\"}`,style:{transitionDelay:`${d}ms`,[\"--lf\"]:`${d}ms`},children:[w.t,w.tail]}),\" \"]},i);})},li))});};// Eyebrow — the mono caps label above a headline (DM Mono 11, .12em), rises in once. dot = the mint live dot in front. (Label in _common is the same line without the reveal.)\nconst Eyebrow=({text,on,M,dot=false,delay=0,style,className})=>{const t=String(text||\"\").trim();return t?/*#__PURE__*/_jsxs(\"p\",{className:`lf-eb${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{...M||{},transitionDelay:`${delay}ms`,...style||{}},children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;};// SITE CURSOR — ONE small green dot + a white label pill for the whole page (the hero's cloth is the hero's own; everywhere else the cursor is this dot). Mounted ONCE by LfSmooth; a section never mounts it and never sets cursor:none.\n// Sections only add data-cur=\"label\" (two or three lowercase words) to what can be pressed; Btn / More / Pick already carry one.\n// Fine pointers only, off with reduced motion. It shows over .lf-sec roots only, so it stands down inside the hero ([data-lf-hero] draws its own cloth) and over anything that is not ours (the demo bar).\nconst CSS_CUR=`\n.lf-cur{position:fixed;z-index:9990;left:0;top:0;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .25s} .lf-cur.is-on{opacity:1}\n.lf-cur i{display:block;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--lf-brass,#1F5F57);box-shadow:0 0 0 1.5px var(--lf-cloud,#FFFFFF);transition:scale .25s cubic-bezier(.2,.8,.2,1)} .lf-cur.is-press i{scale:.6}\n.lf-cur span{margin-top:-6px;padding:8px 12px;border-radius:999px;background:var(--lf-cloud,#FFFFFF);color:var(--lf-ink,#1A1A1C);font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 28px color-mix(in srgb,var(--lf-ink,#1A1A1C) 20%,transparent)}\nhtml.lf-has-cur .lf-sec,html.lf-has-cur .lf-sec *{cursor:none}\n`;function SiteCursor({c,M}){const live=useLive();const rm=useReduced();const[fine,setFine]=useState(false);const[label,setLabel]=useState(\"\");const dot=useRef(null);useEffect(()=>{if(!live||rm){setFine(false);return;}setFine(window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[live,rm]);useEffect(()=>{if(!fine)return;const el=dot.current;if(!el)return;const h=document.documentElement;h.classList.add(\"lf-has-cur\");let x=0,y=0,tx=0,ty=0,raf=0,on=false;const tick=()=>{x+=(tx-x)*.28;y+=(ty-y)*.28;el.style.transform=`translate3d(${x.toFixed(1)}px,${y.toFixed(1)}px,0)`;raf=Math.abs(tx-x)+Math.abs(ty-y)>.3?requestAnimationFrame(tick):0;};const show=v=>{if(on!==v){on=v;el.classList.toggle(\"is-on\",v);}};const move=e=>{if(e.pointerType===\"touch\")return;const t=e.target;if(!t||!t.closest||!t.closest(\".lf-sec\")){show(false);return;}tx=e.clientX;ty=e.clientY;if(!on){x=tx;y=ty;}show(true);if(!raf)raf=requestAnimationFrame(tick);const k=t.closest(\"[data-cur]\");const l=k?k.getAttribute(\"data-cur\")||\"\":\"\";setLabel(p=>p===l?p:l);el.classList.toggle(\"is-press\",!!t.closest(\"a,button,[role='button'],summary,label,input,select,textarea\"));};const out=()=>show(false);window.addEventListener(\"pointermove\",move,{passive:true});h.addEventListener(\"pointerleave\",out);window.addEventListener(\"blur\",out);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",move);h.removeEventListener(\"pointerleave\",out);window.removeEventListener(\"blur\",out);h.classList.remove(\"lf-has-cur\");};},[fine]);if(!fine||typeof document===\"undefined\")return null;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:dot,className:\"lf-cur\",\"aria-hidden\":true,style:{...c?cssVars(c):{},...M||{}},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_CUR}}),/*#__PURE__*/_jsx(\"i\",{}),label?/*#__PURE__*/_jsx(\"span\",{children:label}):null]}),document.body);}// count-up for a stat (\"2,140\", \"91¢\", \"$184,200\", \"38\"): keeps prefix, suffix and thousands commas; SSR and reduced motion show the final value.\nfunction useCount(target,on,rm,ms=1400){const m=String(target||\"\").match(/^([^\\d-]*)(-?[\\d,]*\\.?\\d+)(.*)$/);const[v,setV]=useState(1);useEffect(()=>{if(!m||rm||!on){setV(1);return;}let raf=0,t0=0;setV(0);const step=t=>{if(!t0)t0=t;const k=clamp01((t-t0)/ms);setV(1-Math.pow(1-k,3));if(k<1)raf=requestAnimationFrame(step);};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);},[on,rm,target]);if(!m)return String(target||\"\");const num=parseFloat(m[2].replace(/,/g,\"\"));const dec=(m[2].split(\".\")[1]||\"\").length;const cur=num*v;const txt=dec?cur.toFixed(dec):String(Math.round(cur));const withC=/,/.test(m[2])?txt.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"):txt;return m[1]+withC+m[3];}// one-shot rise for copy / rows (≤ .9 s). Pass the value of useOn(...) — it is already `seen || still`, so the canvas / export never shows an empty block.\nconst rise=(on,d=0,y=18)=>({opacity:on?1:0,translate:on?\"0 0\":`0 ${y}px`,transition:`opacity .7s ease ${d}ms, translate .8s cubic-bezier(.16,.84,.24,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%)\"],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=14,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:`lf-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,width:ratioWH(ratio).w,height:ratioWH(ratio).h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus,transitionDelay:`${delay}ms`}})});};// ---- THE SIGNATURE (Iris Vale): the highlighter. Mark = a yellow marker stroke that draws itself ONCE behind a word / number when `on` (multiply, skewed, from the left). Use it on the one phrase that matters in a section, never on every line.\nconst Mark=({on,delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-mark${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),children]});// useHiMarks — the hero's hover highlighter for any list of rows: spread the returned handlers on each row (the row holds `<i className=\"lf-mk\" aria-hidden />` behind its key word, position:relative on the word's wrapper).\n// Fine pointer: enter = ONE strong mark (any other marked row fades at once), leave = hold 2.8 s, fade 1.2 s, gone. Touch: the first tap marks instead of following the link (second tap opens). Nothing ever stays yellow.\nfunction useHiMarks(root,fine,on=true){const T=useRef(new Map);useEffect(()=>()=>{T.current.forEach(l=>l.forEach(t=>window.clearTimeout(t)));},[]);const clear=el=>{(T.current.get(el)||[]).forEach(t=>window.clearTimeout(t));T.current.set(el,[]);};const mark=el=>{clear(el);el.classList.remove(\"is-fade\");el.classList.add(\"is-hi\");root.current?.querySelectorAll(\".is-hi\").forEach(o=>{if(o===el)return;clear(o);o.classList.add(\"is-fade\");T.current.set(o,[window.setTimeout(()=>o.classList.remove(\"is-hi\",\"is-fade\"),1250)]);});};const unmark=el=>{clear(el);T.current.set(el,[window.setTimeout(()=>el.classList.add(\"is-fade\"),2800),window.setTimeout(()=>el.classList.remove(\"is-hi\",\"is-fade\"),4e3)]);};if(!on)return{};return{onPointerEnter:e=>{if(fine)mark(e.currentTarget);},onPointerLeave:e=>{if(fine)unmark(e.currentTarget);},onClick:e=>{if(!fine){const el=e.currentTarget;if(!el.classList.contains(\"is-hi\")){e.preventDefault();mark(el);unmark(el);}}}};}const CSS_MOTION=`\n.lf-mark{position:relative;display:inline-block;z-index:0} .lf-mark>i{position:absolute;z-index:-1;inset:.06em -.16em .02em -.14em;border-radius:.16em;background:var(--lf-pine);mix-blend-mode:multiply;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.9,.2,1) var(--lf,0ms)} .lf-mark.is-on>i{transform:scaleX(1) skewX(-6deg)}\n.lf-mk{position:absolute;z-index:-1;inset:1px -3px 0 -2px;border-radius:4px;background:var(--lf-pine);mix-blend-mode:multiply;opacity:0;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .42s cubic-bezier(.2,.9,.2,1),opacity .2s ease;pointer-events:none}\n.is-hi .lf-mk{opacity:.95;transform:scaleX(1) skewX(-6deg)} .is-fade .lf-mk{opacity:0;transition:opacity 1.2s ease,transform 0s linear 1.2s}\n@media (prefers-reduced-motion:reduce){.lf-mark>i{transform:scaleX(1) skewX(-6deg)!important;transition:none!important}}\n.bw[data-kb] *,.bw[data-kb] *::before,.bw[data-kb] *::after,.bw [data-kb],.bw [data-kb] *,.bw [data-kb] *::before,.bw [data-kb] *::after{transition:none!important}\n.lf-sec{position:relative;z-index:10;display:block;width:100%;--sp:.5;--pp:0}\n.lf-rev{position:relative;width:100%;--rv:1} .lf-rev-in{position:relative} .lf-rev-sp{height:0}\n.lf-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.lf-rev.is-act>.lf-rev-in{position:sticky;top:calc(100vh - var(--t));top:calc(100svh - var(--t))} .lf-rev.is-act>.lf-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.lf-rev.is-act>.lf-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,.45),rgba(0,0,0,0));opacity:min(1,calc(var(--rv)*(1 - var(--rv))*9));pointer-events:none}\n.lf-rev.is-act>.lf-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))*.3);pointer-events:none}\n/* Eyebrow: the mono caps label, rises in */\n.lf-eb{display:flex;align-items:center;gap:9px;margin:0;padding:0;max-width:100%;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--lf-mut);opacity:0;translate:0 10px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1)} .lf-eb.is-on{opacity:1;translate:0 0}\n/* Head */\n.lf-hd{margin:0;font-size:var(--hs,clamp(40px,4.3vw,64px));text-wrap:balance;color:var(--lf-fg)} .lf-sec.is-ph .lf-hd{font-size:min(var(--hs,64px),clamp(31px,9.6vw,42px))} .lf-hd-l{display:block}\n.lf-hd-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .09em .18em .03em;margin:-.08em -.09em -.18em -.03em;white-space:pre}\n.lf-hd-i{position:relative;display:inline-block;translate:0 110%;transition:translate .8s cubic-bezier(.16,.84,.24,1)} .lf-hd.is-on .lf-hd-i{translate:0 0}\n.lf-hd .lf-hd-i.is-acc{color:var(--lf-acc);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9;font-family:var(--lf-font-a,'Instrument Serif'),Georgia,'Times New Roman',serif}\n/* page h1: rises by CSS from the server HTML (no wait for hydration); paused only while a loader / transition cover holds the page */\n@keyframes lf-hd-rise{from{translate:0 110%}to{translate:0 0}}\n.lf-hd.is-ssr .lf-hd-i{animation:lf-hd-rise .8s cubic-bezier(.16,.84,.24,1) var(--lf,0ms) both}\nhtml[class*=\"lf-hold\"] .lf-hd.is-ssr .lf-hd-i{animation-play-state:paused}\n/* Um: a picture that unmasks once and settles from a small zoom */\n.lf-um{position:relative;overflow:hidden;transition:clip-path .9s cubic-bezier(.7,0,.2,1);background:var(--lf-sand)}\n.lf-um img{position:absolute;left:0;top:-9%;width:100%;height:118%;display:block;object-fit:cover;scale:1.04;translate:0 calc((var(--sp,.5) - .5)*var(--par,1)*-7%);transition:scale .9s cubic-bezier(.16,.84,.24,1);user-select:none}\n.lf-um.is-on img{scale:1}\n@media (prefers-reduced-motion:reduce){.lf-hd-i{translate:0 0!important} .lf-hd.is-ssr .lf-hd-i{animation:none!important} .lf-um{clip-path:none!important} .lf-um img{scale:1!important;translate:0 0!important} .lf-eb{opacity:1!important;translate:0 0!important}}\n`;const SEED={site:[{\"slug\":\"site\",\"f1\":\"Landfall\",\"f2\":\"Tour operator and travel agency\",\"f3\":\"Forty routes on six continents, twelve travellers at most, and a guide who grew up there.\",\"f4\":\"hello@landfall.travel\",\"f5\":\"/plan-a-trip\",\"f6\":\"/tours\",\"f7\":\"Small-group tours since 2009\",\"f8\":\"12,400:travellers; 62:countries; 4.9:from 3,100 reviews\",\"f9\":\"/contact\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f10\":\"Two travellers rowing a wooden boat across an alpine lake\",\"f11\":\"+44 20 7946 0412\",\"f12\":\"Booking 2027 departures\",\"f13\":\"Lisbon\",\"f14\":\"https://www.instagram.com/\",\"f15\":\"https://www.youtube.com/\",\"f16\":\"\\xa9 2026 Landfall Travel Ltd. Lisbon.\",\"f17\":\"Europe/Lisbon\",\"f18\":\"One route a month, with dates and prices, before it goes on the site.\",\"f19\":\"A travel planner answers within a day\",\"f20\":\"Rua da Boavista 88, 1200-066 Lisbon\",\"f21\":\"12,400\",\"f22\":\"62\",\"f23\":\"2009\",\"img2\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f24\":\"Cypress trees on a foggy sea cliff with two walkers on the path\",\"f25\":\"/journal\",\"f26\":\"English, Portuguese, Spanish\",\"f27\":\"Landfall is a tour operator of twenty-six planners and ninety local guides. We run small-group tours and private trips on six continents, and we answer the phone ourselves.\"}]};const SW_BUILD=\"LfLoader@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='#E9E3D8'/><rect x='120' y='170' width='160' height='160' rx='8' fill='none' stroke='#3A3D44' stroke-width='1.5'/><rect x='100' y='150' width='200' height='200' rx='10' fill='none' stroke='#2A2D33' 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-lf-row=\"bridge\"]'))return null;const seen=new Set;const out=[];document.querySelectorAll(`[data-lf-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.__ltCms||typeof w.__ltCms!==\"object\")w.__ltCms={};w.__ltCms[SW_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 site-wide fact. A section's \"… Override\" control only replaces it on that one section.\n// Site: f1 Name · f2 Descriptor (the role line) · f3 Tagline (the lead) · f4 Email · f5 CV Link (/resume) · f6 Projects Link (/projects) · f7 Eyebrow · f8 Proof Line (facts \"value:label; …\") · f9 Contact Link (/contact) · img Picture (the portrait print) · f10 Picture Alt · f11 Phone · f12 Status · f13 City\n//       (Stage 2, appended) f14 LinkedIn · f15 GitHub · f16 Legal Line · f17 Timezone (IANA) · f18 Availability · f19 Response Time · f20 Address · f21 Years · f22 Launches · f23 Since (year) · img2 Second Picture (LfCta) · f24 Second Picture Alt · f25 Calendar Link · f26 Languages · f27 Bio\nfunction useSite(){const r=useCMS(\"site\",SEED.site||[]);const s=r[0]||(SEED.site||[])[0]||{};const g=k=>String(s[k]??\"\").trim();const im=k=>String(s[k]||\"\").split(\"?\")[0];return{name:g(\"f1\"),descriptor:g(\"f2\"),tagline:g(\"f3\"),email:g(\"f4\"),book:g(\"f5\")||\"/plan-a-trip\",pricing:g(\"f6\")||\"/tours\",eyebrow:g(\"f7\"),proof:g(\"f8\"),services:g(\"f9\")||\"/contact\",picture:im(\"img\"),pictureAlt:g(\"f10\"),phone:g(\"f11\"),status:g(\"f12\"),city:g(\"f13\"),linkedin:g(\"f14\"),github:g(\"f15\"),legal:g(\"f16\"),timezone:g(\"f17\")||\"Europe/London\",availability:g(\"f18\"),response:g(\"f19\"),address:g(\"f20\"),years:g(\"f21\"),launches:g(\"f22\"),since:g(\"f23\"),picture2:im(\"img2\"),picture2Alt:g(\"f24\"),calendar:g(\"f25\"),languages:g(\"f26\"),bio:g(\"f27\")};}// ---- Row readers, one per collection (slots are fixed: see seed.py). Every reader takes an undefined row and returns empty strings / empty lists, never throws.\nconst S_=(r,k)=>String(r&&r[k]||\"\").trim();const numOf=(v,fb=0)=>{const n=parseFloat(String(v??\"\").replace(/[^\\d.-]/g,\"\"));return isFinite(n)?n:fb;};const listOf=s=>String(s||\"\").split(\";\").map(x=>x.trim()).filter(Boolean);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()};});// \"Label:Value, Label:Value\" list controls (facts, numbers, footer columns)\nconst pairList=(s,sep=\",\")=>String(s||\"\").split(sep).map(x=>x.trim()).filter(Boolean).map(x=>{const i=x.indexOf(\":\");return i<0?{l:x,v:\"\"}:{l:x.slice(0,i).trim(),v:x.slice(i+1).trim()};});// \"a | b | c\" per line → [[\"a\",\"b\",\"c\"], …]\nconst cellRows=s=>String(s??\"\").split(/\\n/).map(x=>x.trim()).filter(Boolean).map(x=>x.split(\"|\").map(y=>y.trim()));const bySlug=(rows,slug)=>{const k=String(slug||\"\").trim();return k?rows.find(r=>r.slug===k):undefined;};const kindsOf=vals=>vals.filter((v,i)=>v&&vals.indexOf(v)===i);const yes=v=>/^(yes|true|1|featured|on)$/i.test(String(v||\"\").trim());// Landfall Site (10-12): f1 Name · f2 Descriptor · f3 Tagline · f4 Email · f5 Subscribe Link · f6 Latest Link · f7 Edition Line (empty = by the clock) · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 X · f15 Instagram · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Readers · f22 Reporters · f23 Since · img2 · f24 · f25 Podcast Link · f26 Languages · f27 About\n// Articles: f1 Title · f2 Dek · f3 Section · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · f8 Caption · f9 Featured · n1 Order\nconst articleOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),section:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),caption:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/article/\"+S_(r,\"slug\")});// Sections: f1 Name · f2 Line · n1 Order (the slug = /section/:slug)\nconst sectionOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),href:\"/section/\"+S_(r,\"slug\")});// Authors: f1 Name · f2 Role · f3 Beat · f4 Bio · f5 Column (latest opinion title) · f6 Column Link · img Picture · f7 Picture Alt · n1 Order\nconst authorOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),beat:S_(r,\"f3\"),bio:S_(r,\"f4\"),column:S_(r,\"f5\"),columnHref:S_(r,\"f6\")||\"/author/\"+S_(r,\"slug\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),href:\"/author/\"+S_(r,\"slug\")});// Episodes: f1 Title · f2 Line · f3 Number · f4 Length · f5 Date (ISO) · f6 Guest · img Cover · f7 Cover Alt · n1 Order\nconst episodeOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),number:S_(r,\"f3\"),length:S_(r,\"f4\"),date:S_(r,\"f5\"),guest:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),href:\"/episode/\"+S_(r,\"slug\")});// \"2026-10-12\" → \"12 Oct\" (short) / \"12 October 2026\"\nconst dayOfIso=(iso,long=false)=>{const m=String(iso||\"\").match(/^(\\d{4})-(\\d{2})-(\\d{2})/);if(!m)return String(iso||\"\");const MO=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const mo=MO[+m[2]-1]||\"\";return long?`${+m[3]} ${mo} ${m[1]}`:`${+m[3]} ${mo.slice(0,3)}`;};// Wire (the ticker): f1 Time · f2 Line · f3 Link · n1 Order\nconst wireOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),line:S_(r,\"f2\"),href:S_(r,\"f3\")});// Programs: f1 Name · f2 Line · f3 Body (md) · f4 Ages (\"1 to 2\") · f5 Hours · f6 Ratio (\"1:4\") · f7 From (\"$1,480 a month\") · f8 Includes (\"a; b\") · img Picture · f9 Picture Alt · n1 Order\nconst programOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),body:S_(r,\"f3\"),ages:S_(r,\"f4\"),hours:S_(r,\"f5\"),ratio:S_(r,\"f6\"),from:S_(r,\"f7\"),includes:listOf(S_(r,\"f8\")),img:imgOr(r),alt:S_(r,\"f9\"),href:\"/programs/\"+S_(r,\"slug\")});// Day: f1 Time (\"9:15\") · f2 Title · f3 Note · n1 Order.  dayT(row, open, close) → 0..1 along the day\nconst dayOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),title:S_(r,\"f2\"),note:S_(r,\"f3\")});const hourOf=s=>{const m=String(s||\"\").match(/(\\d{1,2})[:.](\\d{2})/);return m?+m[1]+ +m[2]/60:NaN;};// Rooms: f1 Name · f2 Line · f3 Facts (\"a; b\") · img Picture · f4 Picture Alt · n1 Order\nconst roomOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),facts:listOf(S_(r,\"f3\")),img:imgOr(r),alt:S_(r,\"f4\"),href:\"/rooms/\"+S_(r,\"slug\")});// Teachers: f1 Name · f2 Role · f3 Years · f4 Line · f5 Room (a program slug, may be empty) · img Picture · f6 Picture Alt · n1 Order\nconst teacherOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),room:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),href:\"/teachers/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Parent · f3 Child (\"Nora, 2\") · f4 Program (slug) · f5 Stars (1–5) · img Picture (avatar; empty = initials) · n1 Order\nconst reviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),parent:S_(r,\"f2\"),child:S_(r,\"f3\"),program:S_(r,\"f4\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f5\"),5)))),img:imgOf(r)});// Plans (Landfall 10-12): f1 Name · f2 Price (\"$8\" | \"Free\") · f3 Per (\"a month\") · f4 Line · f5 Includes (\"a; b\") · f6 Featured (\"yes\") · f7 Link · n1 Order\nconst planOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),price:S_(r,\"f2\"),per:S_(r,\"f3\"),line:S_(r,\"f4\"),includes:listOf(S_(r,\"f5\")),featured:yes(S_(r,\"f6\")),href:S_(r,\"f7\")||\"/subscribe\"});// Faq (Landfall 10-12): f1 Question · f2 Answer · f3 Group (\"Subscribe\" | \"Contact\") · n1 Order\nconst faqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// Posts: f1 Title · f2 Line · f3 Date (ISO) · f4 Read · f5 Body (md) · img Picture · f6 Picture Alt · f7 Tag · n1 Order\nconst postOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),date:S_(r,\"f3\"),read:S_(r,\"f4\"),body:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),tag:S_(r,\"f7\"),href:\"/writing/\"+S_(r,\"slug\")});const dateOf=(iso,loc=\"en-US\")=>{const d=new Date(String(iso||\"\")+\"T12:00:00Z\");return isNaN(d.getTime())?String(iso||\"\"):d.toLocaleDateString(loc,{month:\"short\",day:\"numeric\",year:\"numeric\",timeZone:\"UTC\"});};const readBrief=()=>{try{const o=JSON.parse(window.sessionStorage.getItem(\"lf-brief\")||\"{}\");return o&&typeof o===\"object\"?{program:String(o.program||\"\"),days:String(o.days||\"\"),start:String(o.start||\"\")}:{};}catch(e){return{};}};const writeBrief=patch=>{const n={...readBrief(),...patch};try{window.sessionStorage.setItem(\"lf-brief\",JSON.stringify(n));}catch(e){}return n;};function useBrief(){const[b,setB]=useState({});useEffect(()=>{setB(readBrief());},[]);const set=patch=>setB(writeBrief(patch));return[b,set];}// ---- A seeded generator (mulberry32) so the server and the first client render draw the SAME shape.\nconst mulberry=a=>()=>{a|=0;a=a+1831565813|0;let t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};// 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};}// ---- useSec — everything a section needs in one call. Root: <section ref={k.root} className={`bw lf-sec lfxx${k.bp.cls}`} style={k.vars}>\n// k.on is already `seen || still` (never blank on the canvas / in exports) · k.w is the MEASURED root width (SSR starts from the bpHint) · k.bp = { ph <810, tb <1100, xs <360, cls } · k.vars = palette + font vars + body font + props.style.\nfunction useSec(props,amount=.16){const root=useRef(null);const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const rm=useReduced();const still=useStill();const site=useSite();const{w,vh}=useSize(root,props.bpHint);const on=useOn(root,live,rm,amount);const vars={...cssVars(c),[\"--lf-fd\"]:D.fontFamily,[\"--lf-fb\"]:B.fontFamily,[\"--lf-fm\"]:M.fontFamily,...B,...props.style||{}};return{root,c,D,B,M,live,rm,still,site,w,vh,bp:bpOf(w),on,vars};}// ---- Iris Vale readers (Stage 1). Roles: f1 Company · f2 Title · f3 Years · f4 Line · f5 City · f6 Highlights (a; b; c) · f7 Tags · img Logo · f8 Logo Alt · n1 Order\nconst roleOf=r=>({slug:S_(r,\"slug\"),company:S_(r,\"f1\"),title:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),city:S_(r,\"f5\"),points:listOf(S_(r,\"f6\")),tags:listOf(S_(r,\"f7\")),img:imgOf(r),alt:S_(r,\"f8\"),href:\"/experience/\"+S_(r,\"slug\")});// Skills: f1 Name · f2 Group · f3 Level (1-5) · n1 Order\nconst skillOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),group:S_(r,\"f2\"),level:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f3\"),4))))});// Education: f1 School · f2 Degree · f3 Years · f4 Line · n1 Order\nconst eduOf=r=>({slug:S_(r,\"slug\"),school:S_(r,\"f1\"),degree:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\")});// Projects: f1 Name · f2 Line · f3 Year · f4 Role (role slug) · f5 Result · f6 Tags (a; b) · f7 Body (Stage 3) · img Picture 4:3 · f8 Picture Alt · f9 Featured · n1 Order\nconst projectOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),year:S_(r,\"f3\"),role:S_(r,\"f4\"),result:S_(r,\"f5\"),tags:listOf(S_(r,\"f6\")),body:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/projects/\"+S_(r,\"slug\")});// Recommendations (kind recs): f1 Quote · f2 Name · f3 Role · f4 Company · f5 Relation · img Picture 1:1 · n1 Order\nconst recOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),role:S_(r,\"f3\"),company:S_(r,\"f4\"),relation:S_(r,\"f5\"),img:imgOf(r)});// LANDFALL (10-13) Site: f1 Name · f2 Descriptor · f3 Tagline (the lead) · f4 Email · f5 Plan Link (/plan-a-trip) · f6 Tours Link (/tours) · f7 Eyebrow · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 Instagram · f15 YouTube · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Travellers · f22 Countries · f23 Since · img2 · f24 · f25 Journal Link · f26 Languages · f27 About\n// Tours: f1 Title · f2 Place · f3 Country · f4 Days · f5 From Price · f6 Next Departure · f7 Seats Left · img Picture · f8 Picture Alt · f9 Line · f10 Featured · f11 Picture Focus (css object-position, e.g. \"38% 50%\") · n1 Order\nconst tourOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),place:S_(r,\"f2\"),country:S_(r,\"f3\"),days:S_(r,\"f4\"),price:S_(r,\"f5\"),departs:S_(r,\"f6\"),seats:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\")||S_(r,\"f1\"),line:S_(r,\"f9\"),featured:yes(S_(r,\"f10\")),focus:S_(r,\"f11\")||\"50% 50%\",style:S_(r,\"f12\"),destination:S_(r,\"f13\"),guide:S_(r,\"f14\"),included:listOf(S_(r,\"f15\")),excluded:listOf(S_(r,\"f16\")),dates:cellRows(S_(r,\"f17\")),body:S_(r,\"f18\"),href:\"/tour/\"+S_(r,\"slug\")});// Days: f1 Tour (the tour slug) · f2 Place · f3 Title · f4 Line · f5 Facts · img Picture · f6 Picture Alt · n1 Order\nconst stopOf=r=>({slug:S_(r,\"slug\"),tour:S_(r,\"f1\"),place:S_(r,\"f2\"),title:S_(r,\"f3\"),line:S_(r,\"f4\"),facts:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f3\")});// Destinations: f1 Name · f2 Line · f3 Season · img Picture · f4 Picture Alt · n1 Order (a tour belongs to one by tour.destination === destination.name)\nconst destOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),season:S_(r,\"f3\"),img:imgOr(r),alt:S_(r,\"f4\")||S_(r,\"f1\"),body:S_(r,\"f5\"),facts:pairList(S_(r,\"f6\"),\";\"),href:\"/destination/\"+S_(r,\"slug\")});// Guides: f1 Name · f2 Role · f3 Home · f4 Line · f5 Tours Led · img Picture · f6 Picture Alt · n1 Order\nconst guideOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),home:S_(r,\"f3\"),line:S_(r,\"f4\"),led:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f1\"),body:S_(r,\"f7\"),languages:S_(r,\"f8\"),since:S_(r,\"f9\"),href:\"/guide/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Name · f3 Trip · f4 Stars (1–5) · img Picture · n1 Order\nconst tripReviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),trip:S_(r,\"f3\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f4\"),5)))),img:imgOf(r)});// Posts (the journal): f1 Title · f2 Dek · f3 Kind · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · n1 Order\nconst journalOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),kind:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),body:S_(r,\"f8\"),href:\"/journal/\"+S_(r,\"slug\")});// Stage 3 slots (10-13): Tours f14 Guide (a guide slug) · f15 Included «a; b» · f16 Not Included · f17 Dates «date | price | seats» per line · f18 Body (md) — Destinations f5 Body (md) · f6 Facts «Label:Value; …» — Guides f7 Body (md) · f8 Languages · f9 Since — Posts f8 Body (md). stopOf(day).img is EMPTY_IMG when the row has no picture: test `imgOf(row)` and fall back to the tour picture.\n// Faq: f1 Question · f2 Answer · f3 Group («Booking» | «On tour» | «Contact») · n1 Order\nconst tripFaqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// {name} in a control text = the Site Name (Stage 5): a column title, a top line or a mail subject follows the name when the buyer renames the site\nconst nameIn=(s,n)=>String(s??\"\").replace(/\\{name\\}/gi,String(n||\"\").trim());// ===== LfLoader =====\n// ---- LfLoader — LOADER + PAGE TRANSITION (Site Layout, once; a 0 px frame; draws nothing on the Framer canvas).\n// LOADER (first page of a visit, once per session — sessionStorage \"lf-loaded\"): a NIGHT sheet over the page with the ring mark + the Site Name and THE ROUTE LINE: an orange line draws left → right through five stops\n// (each stop lights as the line reaches it) while the fonts load; then the whole sheet LIFTS up once (one transform on one solid layer, no clip-path) and the page plays in — html.lf-hold-ld is released when the lift STARTS.\n// 0.9 s line + 0.1 s + 0.55 s lift = 1.55 s (1.6 s at most). Click, tap, any key (not Tab) or «Skip» ends it.\n// PAGE TRANSITION: an internal link is clicked → a night curtain RISES from the bottom of the screen, its leading edge ONE orange line, carrying the name → the browser goes → the next page arrives covered\n// (session flag \"lf-pt\") and the curtain keeps rising, off the top (html.lf-hold-pt). While leaving, <html> carries `lfl-leave lf-hold`. Back / forward clear any cover.\n// Reduced motion: the same covers as plain FADES (no travel, no drawing). Nothing without JavaScript, nothing on /start-here.\n// CLICK-DEFERRAL LAW: the click listener is on `window`, bubble phase — never on `document`. It runs AFTER the clicked element's own onClick (a form has already kept lf-sent), and it leaves alone anything that\n// already called preventDefault. Programmatic navigations ask for the same curtain: (window as any).__loGo?.(href) ?? location.assign(href). `window.__lolClicks` counts the clicks this listener took (for the audits). Prefix lfl-. ----\nconst LOL_BOOT=once=>`(function(){try{var h=document.documentElement,p=location.pathname;if(/^\\\\/start-here\\\\/?$/.test(p))return;var f=sessionStorage.getItem('lf-pt');if(f){var t='';try{t=JSON.parse(f).p||''}catch(x){}var n=function(x){return x.replace(/\\\\/+$/,'')||'/'};if(!t||n(t)===n(p)){h.classList.add('lfl-arrive','lf-hold-pt');setTimeout(function(){if(!window.__lolRun)h.classList.remove('lfl-arrive','lf-hold-pt')},3000);return}}if(window.__lolDone)return;${once?\"if(sessionStorage.getItem('lf-loaded'))return;\":\"\"}h.classList.add('lfl-go','lf-hold-ld');setTimeout(function(){if(!window.__lolRun)h.classList.remove('lfl-go','lf-hold-ld')},5000)}catch(e){}})()`;/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 1\n */export default function LfLoader(props){const{loader=true,once=true,duration=.9,transition=true,line=\"\",wordmark=\"\",skipLabel=\"Skip\",doneLabel=\"Ready\"}=props;const c=colorsOf(props);const{D,M}=fontsOf(props);useFonts();const live=useLive();const still=useStill();const site=useSite();const name=pick(wordmark,site.name||\"Landfall\");const text=pick(line,site.descriptor||\"Tour operator\");// mode: boot (server / first render) → load (the line draws) | arrive (curtain in) | leave (curtain down) → lift (the sheet lifts) → idle\nconst[mode,setMode]=useState(\"boot\");const S=useRef({mode:\"boot\",busy:false});const tm=useRef([]);const liftR=useRef(()=>{});const[done,setDone]=useState(false);const set=m=>{S.current.mode=m;setMode(m);};useIso(()=>{if(!live)return;const h=document.documentElement;const W=window;W.__lolRun=1;const push=(f,t)=>tm.current.push(window.setTimeout(f,t));const rm=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const noPage=/^\\/start-here\\/?$/.test(location.pathname);const clear=()=>{h.classList.remove(\"lfl-go\",\"lfl-arrive\",\"lfl-leave\",\"lf-hold\",\"lf-hold-ld\",\"lf-hold-pt\");};const lift=()=>{if(S.current.mode===\"lift\"||S.current.mode===\"idle\")return;h.classList.remove(\"lf-hold-ld\",\"lf-hold-pt\");W.__lolDone=1;set(\"lift\");push(()=>{clear();set(\"idle\");S.current.busy=false;},rm?320:610);};liftR.current=lift;// --- arriving from a page transition\nlet flag=\"\";try{flag=sessionStorage.getItem(\"lf-pt\")||\"\";sessionStorage.removeItem(\"lf-pt\");}catch(e){}if(flag&&transition&&!noPage){h.classList.add(\"lfl-arrive\",\"lf-hold-pt\");h.classList.remove(\"lfl-go\",\"lf-hold-ld\");set(\"arrive\");push(lift,70);}else{h.classList.remove(\"lfl-arrive\",\"lf-hold-pt\");// a client-only render never ran the boot script: do its check here, before paint\nif(!h.classList.contains(\"lfl-go\")&&loader&&!noPage){let go=!W.__lolDone;try{if(go&&once&&sessionStorage.getItem(\"lf-loaded\"))go=false;}catch(e){}if(go)h.classList.add(\"lfl-go\",\"lf-hold-ld\");}if(!loader||!h.classList.contains(\"lfl-go\")){clear();set(\"idle\");}else{try{if(once)sessionStorage.setItem(\"lf-loaded\",\"1\");}catch(e){}const Dm=(rm?.6:Math.max(.6,Math.min(1,Number(duration)||.9)))*1e3;const sp=Math.round(Math.max(500,Math.min(Dm,Dm+400-performance.now())));h.style.setProperty(\"--lfl-d\",sp+\"ms\");set(\"load\");push(()=>setDone(true),sp);push(lift,sp+100);push(lift,4e3);}}const key=e=>{if(S.current.mode===\"load\"&&e.key!==\"Tab\")lift();};// --- leaving: the curtain comes down over the page, then go\nconst leave=u=>{S.current.busy=true;h.classList.add(\"lfl-leave\",\"lf-hold\");set(\"leave\");try{sessionStorage.setItem(\"lf-pt\",JSON.stringify({p:u.pathname}));}catch(x){}push(()=>{window.location.href=u.href;},rm?240:560);push(()=>{clear();set(\"idle\");S.current.busy=false;},4e3);};const okUrl=href=>{let u;try{u=new URL(href,location.href);}catch(x){return null;}if(u.origin!==location.origin||/^\\/start-here\\/?$/.test(u.pathname))return null;const norm=x=>x.replace(/\\/+$/,\"\")||\"/\";if(norm(u.pathname)===norm(location.pathname))return null;return u;};const click=e=>{if(!transition||S.current.busy||S.current.mode!==\"idle\"||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const a=e.target?.closest?.(\"a[href]\");if(!a||a.target&&a.target!==\"_self\"||a.hasAttribute(\"download\")||a.closest(\"[data-no-trans]\"))return;const raw=a.getAttribute(\"href\")||\"\";if(/^(mailto|tel|sms|javascript):/i.test(raw)||raw.startsWith(\"#\"))return;const u=okUrl(a.href);if(!u)return;W.__lolClicks=(W.__lolClicks||0)+1;e.preventDefault();leave(u);};// for code that navigates by itself (the contact form that opens /thanks): same curtain, same flag. Returns true when it took the navigation.\nW.__loGo=href=>{const u=okUrl(href);if(!u){try{window.location.assign(href);}catch(x){}return true;}if(!transition||S.current.busy||S.current.mode!==\"idle\"){window.location.assign(u.href);return true;}leave(u);return true;};const show=e=>{if(e.persisted){clear();set(\"idle\");S.current.busy=false;}};// bubble phase on WINDOW: React's handlers (on its root) and any document listener have already run\nwindow.addEventListener(\"keydown\",key,true);window.addEventListener(\"click\",click);window.addEventListener(\"pageshow\",show);return()=>{tm.current.forEach(x=>window.clearTimeout(x));tm.current=[];window.removeEventListener(\"keydown\",key,true);window.removeEventListener(\"click\",click);window.removeEventListener(\"pageshow\",show);try{delete W.__loGo;}catch(x){}};},[live]);if(still)return null;const skip=()=>{if(S.current.mode===\"load\")liftR.current();};const cover=/*#__PURE__*/_jsxs(\"div\",{className:`dll is-${mode}`,\"data-dll\":mode,style:{...cssVars(c),...M},\"aria-hidden\":mode!==\"load\",onClick:skip,children:[/*#__PURE__*/_jsx(\"div\",{className:\"lfl-pane\",children:/*#__PURE__*/_jsxs(\"p\",{className:\"lfl-stroke\",style:HD(D),\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"span\",{children:name})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfl-mid\",role:\"status\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsxs(\"p\",{className:\"lfl-name\",style:HD(D),children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"span\",{children:name})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"lfl-route\",\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"i\",{className:\"lfl-line\"}),[0,1,2,3,4].map(n=>/*#__PURE__*/_jsx(\"b\",{style:{[\"--i\"]:n}},n))]}),/*#__PURE__*/_jsx(\"p\",{className:\"lfl-text\",children:done?doneLabel:text})]}),String(skipLabel).trim()?/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"lfl-skip\",onClick:e=>{e.stopPropagation();skip();},children:skipLabel}):null]});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_LFL}}),/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:LOL_BOOT(once)}}),mode===\"idle\"?null:live&&typeof document!==\"undefined\"?/*#__PURE__*/createPortal(cover,document.body):cover]});}const CSS_LFL=`\n.dll{display:none} html.lfl-go .dll,html.lfl-arrive .dll,html.lfl-leave .dll,.dll.is-lift{display:block} html.lfl-go.lf-hold-ld,html.lfl-leave{overflow:hidden!important}\n.dll{position:fixed;inset:0;z-index:10000;box-sizing:border-box;overflow:hidden;color:var(--lf-cloud,#F8F4EB);font-size:11px;line-height:1.5;letter-spacing:.14em;-webkit-font-smoothing:antialiased;cursor:pointer} .dll *{box-sizing:border-box} .dll.is-lift,.dll.is-arrive{pointer-events:none} .dll.is-leave{pointer-events:auto;cursor:progress}\n/* the night sheet: RISES from below on the way out, keeps rising off the top on the way in and after the loader. A transform on ONE solid layer (never larger than the screen), no clip-path. Its two edges are ONE orange line each */\n.lfl-pane{position:absolute;inset:0;background:var(--lf-night,#0C1210);will-change:transform}\n.lfl-pane::before,.lfl-pane::after{content:\"\";position:absolute;left:0;right:0;height:2px;background:var(--lf-pine,#F2542D)} .lfl-pane::before{top:0} .lfl-pane::after{bottom:0}\n.dll.is-leave .lfl-pane{animation:lfl-in .54s cubic-bezier(.65,0,.25,1) both} @keyframes lfl-in{from{transform:translate3d(0,102%,0)}to{transform:none}}\n.dll.is-lift .lfl-pane{animation:lfl-up .55s cubic-bezier(.65,0,.25,1) both} @keyframes lfl-up{from{transform:none}to{transform:translate3d(0,-102%,0)}}\n/* the name on the curtain: fades in while the curtain rises, stays while it lifts */\n.lfl-stroke{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:14px;margin:0;translate:-50% -50%;font-size:clamp(34px,5vw,60px);letter-spacing:-.04em;line-height:1;text-transform:none;white-space:nowrap;color:var(--lf-cloud,#F8F4EB);visibility:hidden;opacity:0}\n.lfl-stroke i,.lfl-name i{position:relative;display:block;flex:none;width:.86em;height:.86em;border-radius:50%;border:.085em solid currentColor} .lfl-stroke i::after,.lfl-name i::after{content:\"\";position:absolute;left:14%;right:14%;top:32%;height:.085em;background:currentColor}\n.dll.is-leave .lfl-stroke,html.lfl-arrive .dll .lfl-stroke{visibility:visible} .dll.is-leave .lfl-stroke{animation:lfl-fade .36s ease .18s both} html.lfl-arrive .dll .lfl-stroke{opacity:1} @keyframes lfl-fade{from{opacity:0}to{opacity:1}}\n/* the loader: the name, the route line that draws through five stops, the small line */\n.lfl-mid{position:absolute;left:50%;top:50%;width:min(520px,calc(100% - 48px));translate:-50% -50%;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;justify-items:center;pointer-events:none;opacity:0;transition:opacity .2s ease}\nhtml.lfl-go .dll.is-boot .lfl-mid,.dll.is-load .lfl-mid{opacity:1} .dll.is-lift .lfl-mid{opacity:0;transition-duration:.12s} html.lfl-arrive .lfl-mid,html.lfl-arrive .lfl-skip,html.lfl-leave .lfl-mid,html.lfl-leave .lfl-skip{display:none}\n.lfl-name{display:inline-flex;align-items:center;gap:.24em;margin:0;font-size:clamp(48px,10vw,88px);font-weight:600;letter-spacing:-.045em;line-height:1;text-transform:none;white-space:nowrap}\n.lfl-route{position:relative;width:min(420px,84%);height:14px} .lfl-route::before{content:\"\";position:absolute;left:0;right:0;top:6px;height:2px;background:color-mix(in srgb,var(--lf-cloud,#F8F4EB) 26%,transparent)}\n.lfl-line{position:absolute;left:0;right:0;top:6px;height:2px;background:var(--lf-pine,#F2542D);transform:scaleX(0);transform-origin:0 50%}\n.lfl-route b{position:absolute;top:0;left:calc(var(--i)*25% - 7px);width:14px;height:14px;border-radius:50%;background:var(--lf-night,#0C1210);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lf-cloud,#F8F4EB) 55%,transparent)}\n.dll.is-load .lfl-line{animation:lfl-draw var(--lfl-d,900ms) cubic-bezier(.3,.1,.3,1) both} .dll.is-lift .lfl-line{transform:none} @keyframes lfl-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}\n.dll.is-load .lfl-route b{animation:lfl-stop .22s ease calc(var(--lfl-d,900ms)*var(--i)*.235) both} .dll.is-lift .lfl-route b{background:var(--lf-pine,#F2542D);box-shadow:none} @keyframes lfl-stop{to{background:var(--lf-pine,#F2542D);box-shadow:inset 0 0 0 0 transparent}}\n.lfl-text{margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;text-transform:uppercase;color:var(--lf-cloud,#F8F4EB)}\n.lfl-skip{position:absolute;right:clamp(16px,4vw,56px);bottom:clamp(16px,4vw,40px);display:none;align-items:center;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:color-mix(in srgb,var(--lf-night,#0C1210) 46%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud,#F8F4EB) 64%,transparent);color:var(--lf-cloud,#F8F4EB);font:inherit;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color .25s,color .25s}\n.dll.is-load .lfl-skip,html.lfl-go .dll.is-boot .lfl-skip{display:inline-flex} .lfl-skip:hover{background:var(--lf-cloud,#F8F4EB);color:var(--lf-ink,#16201C)}\n.lfl-skip:focus-visible{outline:2px solid var(--lf-cloud,#F8F4EB);outline-offset:4px}\n/* reduced motion: the same covers as plain fades, nothing travels, nothing draws */\n@media (prefers-reduced-motion:reduce){.dll.is-leave .lfl-pane{animation:lfl-fade .22s ease both} .dll.is-lift .lfl-pane{animation:lfl-out .3s ease both} .dll.is-leave .lfl-stroke{animation:none;opacity:1} .dll.is-load .lfl-line{animation:none;transform:none} .dll.is-load .lfl-route b{animation:none;background:var(--lf-pine,#F2542D);box-shadow:none}} @keyframes lfl-out{from{opacity:1}to{opacity:0}}\n`;addPropertyControls(LfLoader,{...COLOR_CONTROLS,...FONT_CONTROLS,...BP_CONTROL,loader:{type:ControlType.Boolean,title:\"Loader\",description:\"The night sheet with the name and the route line on the first page of a visit\",defaultValue:true},once:{type:ControlType.Boolean,title:\"Once per visit\",description:\"Off = on every full page load\",defaultValue:true,hidden:p=>!p.loader},duration:{type:ControlType.Number,title:\"Loader seconds\",description:\"How long the route line takes to draw. The sheet lifts 0.65 s later, so the whole loader stays under 1.6 s\",defaultValue:.9,min:.6,max:1,step:.1,hidden:p=>!p.loader},wordmark:{type:ControlType.String,title:\"Loader name\",description:\"Empty = the Site Name\",defaultValue:\"\",hidden:p=>!p.loader},line:{type:ControlType.String,title:\"Loader line\",description:\"The small line under the route. Empty = the Site Descriptor\",defaultValue:\"\",hidden:p=>!p.loader},doneLabel:{type:ControlType.String,title:\"Done word\",description:\"Replaces the line as the sheet lifts\",defaultValue:\"Ready\",hidden:p=>!p.loader},skipLabel:{type:ControlType.String,title:\"Skip button\",description:\"Type a space to hide it (a click or a key still skips)\",defaultValue:\"Skip\",hidden:p=>!p.loader},transition:{type:ControlType.Boolean,title:\"Page transition\",description:\"A night curtain with the name and an orange edge rises on an internal link and lifts off the next page\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LfLoader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LfLoader.map","// ===== LANDFALL shared scaffold (10-12 retoken: newsprint #F4F1EA, ink #141414, accent text-safe red #C3201A, signal red #D7261E for fills; Newsreader / Inter Tight / DM Mono) — forked from IRIS VALE («THE SHEET»: warm paper desk, near-black ink, deep teal accent, highlighter-yellow signal, the white sheet; Instrument Serif display, Figtree body, DM Mono for labels) (inlined by mk.py; each Framer code file must be self-contained) =====\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useId,useLayoutEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const FONTS=\"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Instrument+Serif:ital@0;1&family=DM+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;// night or bone-white text on a CMS brand colour (luminance test; the brand colour is data, not a palette token)\nconst onBrand=hex=>{const m=String(hex||\"\").replace(\"#\",\"\").match(/^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(!m)return\"var(--lf-cloud)\";const[r,g,b]=[m[1],m[2],m[3]].map(x=>{const v=parseInt(x,16)/255;return v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4);});const L=.2126*r+.7152*g+.0722*b;return L>.18?\"var(--lf-ink)\":\"var(--lf-cloud)\";};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.\n// Responsive delivery. Framer uploads: the resizer serves ?scale-down-to=N. Unsplash stand-ins: ?w=N. The src is already the smallest width that covers the slot (a 52px avatar never pulls a 1600px photo), so a big image is never decoded for a small box — decode is what stalls scrolling.\nconst RS_W=[160,320,480,800,1200,1600];const rsTarget=sizes=>{const t=String(sizes||\"\").trim().split(\",\").pop()||\"\";const px=t.match(/(\\d+(?:\\.\\d+)?)px/);const vw=t.match(/(\\d+(?:\\.\\d+)?)vw/);const want=px?parseFloat(px[1])*2:vw?parseFloat(vw[1])/100*1600*1.25:1600;return RS_W.find(w=>w>=want)||1600;};// tall = height / width of a PORTRAIT picture (9:16 → 1.78). Framer's scale-down-to caps the LONG edge, so a 512 step of a 9:16 file is only 288 px wide: the w descriptors are divided by tall so the browser picks a step that is really wide enough.\n// RSF — the ONE url of the whole file (Stage 6): a slot that draws the full picture with a plain src (the hero) must ask for the same url as the largest srcSet step, or the file travels twice.\nconst RSF=u=>{const b=String(u||\"\").split(\"?\")[0];return/framerusercontent\\.com\\/images\\//.test(b)?`${b}?scale-down-to=2048`:String(u||\"\");};// Stage 6 — each picture loads ONCE per page. The browser picks a srcSet step from `sizes`, so two slots of one file with different sizes pulled two or three copies of it (22 files on the Stage 5 publish).\n// RS therefore sorts every slot into a CLASS per screen and writes canonical sizes, so all slots of a class resolve to the same url: phone (≤ 809px) thumb 512 · mid 1024 · full; wider: thumb 512 · mid 1024 · full.\n// The class comes from the caller's sizes (× tall for a portrait file): the real need in px. `force` = { d, p } pins a class where a page already carries that file at another size (the hero's day pictures in LfDay, the tour cards on the home page).\n// ★ Framer law (measured on b4660cd64): the published page holds ONE <img> for the three breakpoint copies and joins their `sizes` as «(min-width: 1200px) <desktop sizes>, (min-width: 810px) and (max-width: 1199.98px) <tablet sizes>, (max-width: 809.98px) <phone sizes>».\n// A sizes value that carries its own media query or a comma breaks that list (the browser then takes the first bare length for every screen: phones fetched the whole file). So each copy writes ONE bare length:\n// RS_PH is set by bpOf() of the section that is rendering (useSec runs before any RS call of that render), and the phone copy writes the phone class.\nlet RS_PH=false;const RS_CAN={d:{thumb:\"256px\",mid:\"1000px\",full:\"2040px\"},p:{thumb:\"100px\",mid:\"500px\",full:\"2040px\"}};const rsNeed=(term,vwPx)=>{const px=term.match(/(\\d+(?:\\.\\d+)?)px\\s*$/);const vw=term.match(/(\\d+(?:\\.\\d+)?)vw\\s*$/);return px?parseFloat(px[1]):vw?parseFloat(vw[1])/100*vwPx:vwPx;};const rsClasses=(sizes,tall)=>{const terms=String(sizes||\"\").split(\",\").map(x=>x.trim()).filter(Boolean);const last=terms[terms.length-1]||\"100vw\";const ph=terms.find(t=>{const m=t.match(/max-width:\\s*(\\d+)px/);return!!m&&+m[1]<=1099;})||last;const dn=rsNeed(last,1440)*tall;const pn=rsNeed(ph.replace(/^\\([^)]*\\)\\s*/,\"\"),390)*tall*2;return{d:dn<=110?\"thumb\":dn<=480?\"mid\":\"full\",p:pn<=220?\"thumb\":pn<=1100?\"mid\":\"full\"};};const RS=(u,sizes,tall=1,force)=>{const s=String(u||\"\");const b=s.split(\"?\")[0];const tl=Math.max(1,tall||1);if(/framerusercontent\\.com\\/images\\//.test(s)){const c0=rsClasses(sizes,tl);const c={d:force&&force.d||c0.d,p:force&&force.p||c0.p};const at=k=>`${b}?scale-down-to=${k===\"thumb\"?512:k===\"mid\"?1024:2048}`;return{src:at(c.d),full:at(\"full\"),srcSet:`${at(\"thumb\")} 512w, ${at(\"mid\")} 1024w, ${at(\"full\")} 2048w`,sizes:RS_PH?RS_CAN.p[c.p]:RS_CAN.d[c.d]};}if(/images\\.unsplash\\.com\\//.test(s)){const w=rsTarget(sizes);const q=n=>`${b}?w=${n}&q=70&fm=jpg&auto=format`;return{src:q(w),srcSet:RS_W.filter(n=>n<=Math.max(w*2,480)).map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}// Wikimedia Commons stand-ins from media/standins.json (thumb urls …/1280px-Name.jpg): only the standard thumb steps exist. A 1920px url (the hero photo) is passed through untouched.\nconst wm=s.match(/wikimedia\\.org\\/.*\\/(\\d+)px-/);if(wm&&+wm[1]<=1280){const w=rsTarget(sizes);const q=n=>b.replace(/\\/\\d+px-/,`/${n}px-`);const st=[500,960,1280].filter(n=>n<=+wm[1]);return{src:q(st.find(n=>n>=w)||st[st.length-1]),srcSet:st.map(n=>`${q(n)} ${n}w`).join(\", \"),sizes};}return{src:s};};// 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(\"lf-fonts\"))return;const l=document.createElement(\"link\");l.id=\"lf-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 ov=String(hint||\"\").toLowerCase();const[w,setW]=useState(ov===\"phone\"?390:ov===\"tablet\"?810:1440),[vh,setVh]=useState(ov===\"phone\"?844:ov===\"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;};// One shared rAF for every section. Each frame runs ALL reads first (layout reads: getBoundingClientRect, offsetHeight), then ALL writes (CSS vars, transforms).\n// Interleaving read → write → read made the browser recalc the whole page's style once per section per frame (layout thrashing: 20+ recalcs a frame).\nfunction onTick(fn,read,pre){if(typeof window===\"undefined\")return()=>{};const w=window;if(!w.__ovTick){w.__ovTick={pre:new Set,subs:new Set,reads:new Set,raf:0};const loop=t=>{const T=w.__ovTick;T.pre.forEach(r=>r(t));T.reads.forEach(r=>r(t));T.subs.forEach(s=>s(t));T.raf=requestAnimationFrame(loop);};w.__ovTick.raf=requestAnimationFrame(loop);}w.__ovTick.subs.add(fn);if(read)w.__ovTick.reads.add(read);if(pre)w.__ovTick.pre.add(pre);return()=>{w.__ovTick.subs.delete(fn);if(read)w.__ovTick.reads.delete(read);if(pre)w.__ovTick.pre.delete(pre);};}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;};// Iris Vale tokens «THE SHEET»: Paper(bone) = warm desk #F3F1EC · Ink #1A1A1C (buttons are ink) · Accent(brass) = deep teal #1F5F57 (the italic word, rules, the print head; 6:1 on Paper, text-safe) · Signal(pine) = highlighter yellow #FFE14D (marks and fills only; never text) · Line(fog) #DDD9D0 · Muted(stone) #5C5B58 (5.9:1) · White(cloud) = the sheet · Dark(night) #121214.\n// LANDFALL «THE CABIN» (10-13): Paper(bone) = cabin cream #ECE6DA · Ink #16201C · Accent(brass) = sea green #0F5C4E (text-safe) · Signal(pine) = flare orange #F2542D (fills, the cursor; white 13 px bold on it only) · Line(fog) #D3CBBB · Muted(stone) #56605A · White(cloud) = the window rim #F8F4EB · Dark(night) #0C1210.\nconst DEF={bone:\"#ECE6DA\",ink:\"#16201C\",brass:\"#0F5C4E\",pine:\"#F2542D\",fog:\"#D3CBBB\",stone:\"#56605A\",cloud:\"#F8F4EB\",night:\"#0C1210\"};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});// a Style-bound colour arrives as var(--token-…, #hex): let the browser resolve it to r,g,b for canvas drawing\nconst cssRgb=(el,col,fb)=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.color=col;el.appendChild(p);const v=getComputedStyle(p).color;p.remove();const m=v.match(/(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?),\\s*(\\d+(?:\\.\\d+)?)/);return m?`${Math.round(+m[1])},${Math.round(+m[2])},${Math.round(+m[3])}`:fb;};const cssVars=c=>({\"--lf-bone\":c.bone,\"--lf-ink\":c.ink,\"--lf-brass\":c.brass,\"--lf-pine\":c.pine,\"--lf-fog\":c.fog,\"--lf-stone\":c.stone,\"--lf-cloud\":c.cloud,\"--lf-night\":c.night});const COLOR_CONTROLS={bone:{type:ControlType.Color,title:\"Paper\",description:\"The cream band and pale text on the night ground\",defaultValue:DEF.bone},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:DEF.ink},brass:{type:ControlType.Color,title:\"Accent\",description:\"Sea green: the italic word, rules under links and arrows on a light ground\",defaultValue:DEF.brass},pine:{type:ControlType.Color,title:\"Signal\",description:\"Flare orange: route dots and lines, badges, the main pill and the cursor. Fills only, never small text on a light ground\",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\",description:\"Plates and cards\",defaultValue:DEF.cloud},night:{type:ControlType.Color,title:\"Dark\",description:\"The night ground of the site and the shades over photographs\",defaultValue:DEF.night}};// ---- Fonts: Custom Fonts toggle → Font controls; off = Fraunces / Geist / DM 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:\"sans-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 NUMF=\"var(--lf-font-m, 'DM Mono'), ui-monospace, Menlo, monospace\";// Site-wide fonts: the Header (Site Layout, every page) writes --lf-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(`--lf-font-${k}:${fam}`);v.push(`--lf-font-${k}w:${wOf(f,w)}`);}};put(\"d\",p.displayFont,600);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(--lf-font-d, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.displayFont,400):\"var(--lf-font-dw, 600)\",fontStyle:on&&p.displayFont&&p.displayFont.fontStyle?p.displayFont.fontStyle:\"normal\"};const B={fontFamily:stack(on,p.bodyFont,\"var(--lf-font-b, 'Bricolage Grotesque')\",\"system-ui, -apple-system, Arial, sans-serif\"),fontWeight:on?wOf(p.bodyFont,400):\"var(--lf-font-bw, 400)\"};const M={fontFamily:stack(on,p.monoFont,\"var(--lf-font-m, 'DM Mono')\",\"ui-monospace, 'SF Mono', Menlo, monospace\"),fontWeight:on?wOf(p.monoFont,500):\"var(--lf-font-mw, 500)\"};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}};// In-page CTA jumps (\"#demo\", \"/#demo\"): scroll to the section when it is on this page, otherwise go to it on the home page.\nfunction jumpTo(e,href){try{const m=String(href||\"\").match(/^\\/?#([\\w-]+)$/);if(!m)return;const el=document.getElementById(m[1]);if(el){e.preventDefault();const W=window;const L=W.__ltLenis||W.__vcLenis||W.lenis;if(L&&L.scrollTo)L.scrollTo(el,{offset:-20});else el.scrollIntoView({behavior:\"smooth\",block:\"start\"});try{history.replaceState(null,\"\",\"#\"+m[1]);}catch(x){}}else if(href.startsWith(\"#\")){e.preventDefault();window.location.href=\"/\"+href;}}catch(x){}}// display text (section headlines, card titles, prices): Fraunces 400, tracking −.04em. With a section's Custom Fonts on, the picked font is used as is.\nconst HD=D=>({...D,fontWeight:typeof D.fontWeight===\"number\"?D.fontWeight:\"var(--lf-font-dw, 600)\",letterSpacing:\"-.04em\"});// numbers in display type keep their columns (counters never jiggle)\nconst NUM={fontVariantNumeric:\"tabular-nums lining-nums\"};// font stacks as CSS: a section root sets --lf-fd / --lf-fb / --lf-fm (useSec does), so shared classes (.lf-mono, .lf-eb, .lf-chip …) take the mono font without an inline style\nconst FD_CSS=\"var(--lf-fd,var(--lf-font-d,'Bricolage Grotesque'),system-ui,-apple-system,Arial,sans-serif)\";const FM_CSS=\"var(--lf-fm,var(--lf-font-m,'DM Mono'),ui-monospace,'SF Mono',Menlo,monospace)\";// canvas text: ctx.font cannot read var() — resolve the family on a probe inside the section first\nconst cssFont=(el,family,fb=\"monospace\")=>{if(!el||typeof window===\"undefined\")return fb;const p=document.createElement(\"i\");p.style.display=\"none\";p.style.fontFamily=String(family||fb);el.appendChild(p);const v=getComputedStyle(p).fontFamily||fb;p.remove();return v;};// ---- Buttons = the hero's «Book this clean» pill. solid = green pill, an ink fill sweeps in from the left on hover / focus and the arrow steps right · ghost = hairline pill that fills white · quiet = small sand pill (44 px) for second-rank actions.\n// icon: \"arrow\" | \"down\" | \"none\". Default: solid → arrow, ghost / quiet → none. On the green band the solid pill is white with green text.\nconst BtnArrow=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})});const BtnDown=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v13M6 12l6 6 6-6M5 21h14\"})});const Btn=({href,label,kind=\"solid\",icon,style,className,onClick,ariaLabel,cur,as,disabled})=>{if(!label||!String(label).trim())return null;const ic=icon||(kind===\"solid\"?\"arrow\":\"none\");const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"lf-btn-l\",children:label}),ic!==\"none\"?/*#__PURE__*/_jsx(\"b\",{className:`lf-btn-a is-${ic}`,\"aria-hidden\":true,children:ic===\"down\"?/*#__PURE__*/_jsx(BtnDown,{}):/*#__PURE__*/_jsx(BtnArrow,{})}):null]});const cls=`lf-btn lf-${kind}${ic!==\"none\"?\" has-a\":\"\"}${className?\" \"+className:\"\"}`;if(as===\"button\"||!href)return /*#__PURE__*/_jsx(\"button\",{type:onClick?\"button\":\"submit\",className:cls,\"data-cur\":cur||\"go\",onClick:onClick,\"aria-label\":ariaLabel,disabled:disabled,style:style,children:inner});const ext=/^https?:\\/\\//.test(href||\"\");return /*#__PURE__*/_jsx(\"a\",{className:cls,\"data-cur\":cur||\"open\",href:href,target:ext?\"_blank\":undefined,rel:ext?\"noopener\":undefined,onClick:onClick||(e=>jumpTo(e,href)),\"aria-label\":ariaLabel,style:style,children:inner});};// More — the text link under a section (\"All services →\"): a green rule draws under it on hover / focus, the arrow steps right. n = an optional small mono count before it.\nconst More=({href,label,n,cur,className,style})=>label&&String(label).trim()?/*#__PURE__*/_jsxs(\"a\",{className:`lf-more${className?\" \"+className:\"\"}`,href:href||\"/\",\"data-cur\":cur||\"open\",style:style,children:[n?/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-n\",children:n}):null,/*#__PURE__*/_jsx(\"span\",{className:\"lf-more-l\",children:label}),/*#__PURE__*/_jsx(IcoArrow,{s:15})]}):null;// Label — the mono caps line (DM Mono 11, .12em): above a headline, on a card, next to a number. dot = the mint live dot in front. Static; use the motion layer's Eyebrow when it should rise in.\nconst Label=({t,dot=false,className,style})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-label${className?\" \"+className:\"\"}`,style:style,children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;// Chip — the hero's pill. tone: \"\" white pill with a soft shadow (on the ground) · \"sand\" sand pill (inside white cards) · \"fill\" green pill, white text · \"mut\" no plate, muted text. dot = the mint live dot (the availability chip).\nconst Chip=({t,tone=\"\",dot=false,className})=>t&&String(t).trim()?/*#__PURE__*/_jsxs(\"span\",{className:`lf-chip${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,children:[dot?/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}):null,t]}):null;// Pick — a chip you can press (room chips, frequency switch, filters). In the flow, never sticky. Sand pill → green when on. 46 px tall like the hero's quote chips.\nconst Pick=({label,on,onClick,count,cur})=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`lf-pick${on?\" is-on\":\"\"}`,\"aria-pressed\":on,onClick:onClick,\"data-cur\":cur||(on?\"picked\":\"pick\"),children:[label,count!==undefined&&count!==\"\"?/*#__PURE__*/_jsx(\"em\",{children:count}):null]});// Tick — a mint disc whose check DRAWS once when `on` (pass `on || still`). tone \"line\" = a hairline ring until it is on (checklist points). Decorative: the text next to it carries the meaning.\nconst Tick=({on=true,s=24,delay=0,tone=\"\",className})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-tick${on?\" is-on\":\"\"}${tone?\" is-\"+tone:\"\"}${className?\" \"+className:\"\"}`,\"aria-hidden\":true,style:{width:s,height:s,[\"--lf\"]:`${delay}ms`},children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:Math.round(s*.58),height:Math.round(s*.58),fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{pathLength:1,d:\"M5 12.5l4.5 4.5L19 7.5\"})})});// Veil — THE WIPE for any picture: a pale veil sits on the child and slides off left → right ONCE when `on` (≤ .9 s, transform only). Change `k` (a string, e.g. the picture's slug) to wipe again when the picture swaps.\n// Wrap a Pic / img: <Veil on={on || still} k={row.slug}><Pic … /></Veil>. Still renders and reduced motion show the picture plain.\nconst Veil=({on,k=\"\",delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-veil${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:style,children:[children,/*#__PURE__*/_jsx(\"i\",{className:\"lf-veil-v\",\"aria-hidden\":true,\"data-gate-skip\":true,style:{[\"--lf\"]:`${delay}ms`}},k)]});function useNearFocus(root,live){useEffect(()=>{if(!live||!root.current)return;const el=root.current;const f=e=>{const t=e.target;const sc=t.closest?.(\".lf-inring\");if(!sc)return;try{t.scrollIntoView({block:\"nearest\",inline:\"nearest\"});}catch(x){}};el.addEventListener(\"focusin\",f);return()=>el.removeEventListener(\"focusin\",f);},[live]);}// Roll — a rolling mono number: every digit is a 0–9 column that slides to its value; separators stay put. rm = no transition.\nconst Roll=({text,rm=false,cls})=>/*#__PURE__*/_jsx(\"span\",{className:`lf-roll${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,\"aria-hidden\":true,children:String(text).split(\"\").map((ch,i)=>/\\d/.test(ch)?/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg\",children:/*#__PURE__*/_jsx(\"span\",{className:\"lf-dg-c\",style:{[\"--d\"]:+ch},children:[0,1,2,3,4,5,6,7,8,9].map(d=>/*#__PURE__*/_jsx(\"i\",{children:d},d))})},i):/*#__PURE__*/_jsx(\"span\",{className:\"lf-sep\",children:ch},i))});// Count — counts up once when `on` (\"2,140\", \"48,200\", \"99\", \"0.8 s\"): keeps prefix, suffix and commas; the final value is in the server HTML and in aria-label.\nconst Count=({to,on,rm=false,ms=1400,cls,style})=>{const v=useCount(to,on,rm,ms);return /*#__PURE__*/_jsx(\"span\",{className:`lf-count lf-num${cls?\" \"+cls:\"\"}`,style:style,\"aria-label\":String(to||\"\"),children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,children:v})});};// Md — mini markdown for CMS bodies: blank line = paragraph, \"## \" = h3, \"- \" = list item, \"> \" = quote, **bold**, `code`, ``` fenced block ```. Never dangerouslySetInnerHTML.\nconst mdInline=t=>String(t).split(/(\\*\\*[^*]+\\*\\*|`[^`]+`)/g).map((x,i)=>x.length>4&&x.startsWith(\"**\")&&x.endsWith(\"**\")?/*#__PURE__*/_jsx(\"strong\",{children:x.slice(2,-2)},i):x.length>2&&x.startsWith(\"`\")&&x.endsWith(\"`\")?/*#__PURE__*/_jsx(\"code\",{children:x.slice(1,-1)},i):x);const Md=({text,D,cls})=>{const out=[];let list=[];let code=null;const flush=()=>{if(list.length){out.push(/*#__PURE__*/_jsx(\"ul\",{children:list.map((x,i)=>/*#__PURE__*/_jsx(\"li\",{children:mdInline(x)},i))},\"u\"+out.length));list=[];}};const block=()=>{if(code){out.push(/*#__PURE__*/_jsx(\"pre\",{tabIndex:0,children:/*#__PURE__*/_jsx(\"code\",{children:code.join(\"\\n\")})},\"c\"+out.length));code=null;}};String(text||\"\").split(\"\\n\").forEach(raw=>{const l=raw.trim();if(l.startsWith(\"```\")){if(code)block();else{flush();code=[];}return;}if(code){code.push(raw.replace(/\\s+$/,\"\"));return;}if(!l)return;if(l.startsWith(\"- \")){list.push(l.slice(2));return;}flush();if(l.startsWith(\"## \"))out.push(/*#__PURE__*/_jsx(\"h3\",{style:D?HD(D):undefined,children:l.slice(3)},out.length));else if(l.startsWith(\"> \"))out.push(/*#__PURE__*/_jsx(\"blockquote\",{children:mdInline(l.slice(2))},out.length));else out.push(/*#__PURE__*/_jsx(\"p\",{children:mdInline(l)},out.length));});block();flush();return /*#__PURE__*/_jsx(\"div\",{className:`lf-md${cls?\" \"+cls:\"\"}`,children:out});};const Rule=({on,dir=\"x\",delay=0,rm=false,style,cls})=>/*#__PURE__*/_jsx(\"i\",{className:`lf-rule-${dir}${on?\" is-on\":\"\"}${rm?\" is-rm\":\"\"}${cls?\" \"+cls:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},\"aria-hidden\":true});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 6l6 6-6 6\"})});const IcoCheck=({s=12})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12.5l4.5 4.5L19 7.5\"})});const IcoPlus=({s=14})=>/*#__PURE__*/_jsx(\"svg\",{width:s,height:s,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.2\",strokeLinecap:\"round\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\"})});// Scribble — a crayon mark that DRAWS itself once when `on` (pass `on || still`): kind \"underline\" (under a word, width 100%) · \"circle\" · \"arrow\" · \"wave\" · \"star\". tone = which crayon (0..3 of the four: coral, sky, sunflower, green) or a hex. Decorative (aria-hidden); the text next to it carries the meaning.\nconst CRAYONS=[\"var(--lf-brass)\",\"#5B9BD5\",\"var(--lf-pine)\",\"#2E7D5B\"];const SCRIB={underline:[\"0 0 200 24\",\"M4 16c40-10 80-8 120-6s50 2 72-4\"],circle:[\"0 0 120 120\",\"M60 14c30-4 50 18 46 46s-26 50-56 46S12 80 16 54 36 18 60 14z\"],arrow:[\"0 0 120 60\",\"M6 32c30-10 60-12 90-6m-18-16 22 16-20 20\"],wave:[\"0 0 200 40\",\"M4 28q24-30 48 0t48 0 48 0 48 0\"],star:[\"0 0 100 100\",\"M50 8v26M50 66v26M8 50h26M66 50h26M20 20l18 18M62 62l18 18M80 20 62 38M38 62 20 80\"]};const Scribble=({on,kind=\"underline\",tone=0,w=7,className,style})=>{const[vb,d]=SCRIB[kind]||SCRIB.underline;const col=typeof tone===\"number\"?CRAYONS[tone%CRAYONS.length]:tone;return /*#__PURE__*/_jsx(\"svg\",{className:`lf-scrib${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,viewBox:vb,preserveAspectRatio:\"none\",\"aria-hidden\":true,style:style,fill:\"none\",stroke:col,strokeWidth:w,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:d,pathLength:1})});};// Pic — a CMS picture in a ratio box: width / height attributes (no layout shift), lazy, responsive srcSet, night ground while it loads, a hairline on top. Children sit above the picture (put text on a .lf-plate).\nconst ratioWH=ratio=>{const m=String(ratio||\"\").match(/([\\d.]+)\\s*\\/\\s*([\\d.]+)/);const r=m?parseFloat(m[1])/Math.max(.01,parseFloat(m[2])):1;return{w:1600,h:Math.round(1600/(r||1))};};const Pic=({src,alt=\"\",ratio=\"16/10\",sizes=\"(max-width: 809px) 100vw, 50vw\",focus=\"50% 50%\",radius=20,eager=false,className,style,children})=>{const im=RS(src,sizes);const d=ratioWH(ratio);return /*#__PURE__*/_jsxs(\"span\",{className:`lf-pic${className?\" \"+className:\"\"}`,style:{aspectRatio:ratio,borderRadius:radius,...style||{}},children:[src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,sizes:im.sizes,alt:alt,width:d.w,height:d.h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus}}):null,children]});};// section breakpoints from the MEASURED root width (useSize with the bpHint): the same thresholds as the hero. Never a bare 1440 guess.\nconst bpOf=w=>{const ph=w<810,tb=!ph&&w<1100,xs=w<360;RS_PH=ph;return{ph,tb,xs,cls:(ph?\" is-ph\":tb?\" is-tb\":\"\")+(xs?\" is-xs\":\"\")};};const CSS_BASE=`\n/* BRIGHTWORK base \\xabTHE CLEAR PANE\\xbb. The page is LIGHT: ground --lf-bone #F4F0E8 \\xb7 white cards --lf-cloud \\xb7 sand wells --lf-sand ≈ #E9E3D8 (.lf-sand on a section, .lf-plate.is-well on a card) \\xb7 ink --lf-ink #1A1A1C. .lf-lime = the ONE green band (--lf-brass, white text; LfPricing only). .lf-well (dark) exists in the CSS but NO section uses it.\n   CASCADE-ORDER LAW: every component re-injects this CSS, so a LATER component's base rule beats an earlier component's single-class rule. Override a base class on the same element with 2+ classes (.shwk-card.lf-plate{…}). Section rules like \".lfxx a{color:inherit}\" beat one class too — shared colours here always use two. */\n:where(.bw){position:relative} .lf-sec,.lf-sec *{box-sizing:border-box;min-width:0} .lf-sec{-webkit-font-smoothing:antialiased} :where(.bw) a{color:inherit} html,body{overflow-x:clip}\n.lf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}\n/* focus: a 2px lime ring, 4px out (the hero's). On the lime band the ring is night; .lf-inring = ring inside the box (scrollers, rows that touch an edge) */\n:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline:2px solid var(--lf-brass,#0E5B4A)!important;outline-offset:4px!important}\n:where(.lf-lime,.lf-well) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-cloud,#FFFFFF)!important}\n:where(.lf-lime .lf-plate) :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex=\"-1\"]),[role=\"button\"]):focus-visible{outline-color:var(--lf-brass,#0E5B4A)!important}\n.lf-sec :where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin:104px 0 28px}\n:where(.lf-inring) :where(a[href],button,input,summary,[tabindex]):focus-visible,:where(a[href],button,input,summary,[tabindex]).lf-inring:focus-visible{outline-offset:-3px!important}\n/* TEXT-SAFE tokens per ground. --lf-fg = the ground's text \\xb7 --lf-mut = muted text (stone: 6.65:1 on the ground, 6.16:1 on a plate) \\xb7 --lf-acc = lime as text (dark grounds only) \\xb7 --lf-hair / --lf-hair2 = 14% / 22% ink hairlines.\n   Violet (--lf-pine) is a FILL only: bars, rules, the struck value's line — never small text. */\n.bw{--lf-shade:color-mix(in srgb,var(--lf-night) 67%,#000);--lf-sand:color-mix(in srgb,var(--lf-bone) 52%,var(--lf-fog));--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-brass);--lf-hair:color-mix(in srgb,var(--lf-ink) 14%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 22%,transparent)}\n/* section grounds: ground (default) \\xb7 lf-well = the night well \\xb7 lf-lime = THE lime band (night text; lime-as-text becomes night) */\n.lf-sec{background:var(--lf-bone);color:var(--lf-fg)} .lf-sec.lf-sand{background:var(--lf-sand)} .lf-sec.lf-well{background:var(--lf-night);--lf-fg:var(--lf-bone);--lf-mut:color-mix(in srgb,var(--lf-bone) 72%,var(--lf-night));--lf-acc:var(--lf-pine);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-bone) 16%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-bone) 26%,transparent)}\n.lf-sec.lf-lime{background:var(--lf-brass);--lf-fg:var(--lf-cloud);--lf-mut:color-mix(in srgb,var(--lf-cloud) 82%,var(--lf-brass));--lf-acc:var(--lf-cloud);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-cloud) 20%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-cloud) 38%,transparent)}\n/* Cards: white, 24px radius, a soft shadow, no hairline. A card resets the text tokens (also inside the green band). .is-well = a sand well (flat, no shadow). */\n.lf-plate{position:relative;border-radius:24px;background:var(--lf-cloud);--lf-fg:var(--lf-ink);--lf-mut:var(--lf-stone);--lf-acc:var(--lf-brass);--lf-ok:var(--lf-pine);--lf-hair:color-mix(in srgb,var(--lf-ink) 12%,transparent);--lf-hair2:color-mix(in srgb,var(--lf-ink) 20%,transparent);color:var(--lf-fg);box-shadow:0 14px 44px color-mix(in srgb,var(--lf-ink) 7%,transparent)}\n.lf-plate.is-well{background:var(--lf-sand);box-shadow:none}\n/* section scaffold: .lf-wrap = the hero's container (clamp(1280px,92vw,1520px), side padding 56 / 40 tablet / 20 phone, set by .is-tb / .is-ph on the section root from useSize) \\xb7 .lf-pad = the vertical rhythm */\n.lf-wrap{position:relative;width:100%;max-width:${MAXW};margin:0 auto;padding-left:56px;padding-right:56px}\n.lf-sec.is-tb .lf-wrap{padding-left:40px;padding-right:40px} .lf-sec.is-ph .lf-wrap{padding-left:20px;padding-right:20px}\n.lf-pad{padding-top:clamp(96px,9vw,152px);padding-bottom:clamp(96px,9vw,152px)} .lf-sec.is-tb .lf-pad{padding-top:88px;padding-bottom:88px} .lf-sec.is-ph .lf-pad{padding-top:68px;padding-bottom:68px}\n.lf-headblock{display:grid;gap:22px;justify-items:start;max-width:920px} .lf-sec.is-ph .lf-headblock{gap:16px}\n.lf-lead{margin:0;max-width:34em;font-size:17px;line-height:1.6;color:var(--lf-mut)} .lf-sec.is-ph .lf-lead{font-size:15.5px}\n.lf-empty{margin:0;padding:22px 0;font-family:${FM_CSS};font-size:13px;line-height:1.5;color:var(--lf-mut)}\n/* opt-in container queries: add .lf-cq to the root, then @container bw (max-width:1099px){…} / (max-width:809px). NOT on a root with position:fixed children (containment re-bases them). */\n.lf-cq{container-type:inline-size;container-name:bw}\n/* the hairline 72px grid, masked by a radial (set --gx / --gy to move the light) */\n.lf-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--lf-fg) 5%,transparent) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%);mask-image:radial-gradient(120% 90% at var(--gx,18%) var(--gy,70%),#000 0,transparent 70%)}\n/* ---- Buttons = the hero's \\xabBook this clean\\xbb pill (52px, label 15/600). Colours use two classes so a section's \"a{color:inherit}\" never wins. */\n.lf-btn{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;margin:0;padding:0 24px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:translate .35s cubic-bezier(.2,.8,.2,1),scale .2s ease,border-color .3s,color .3s,background-color .3s}\n.lf-btn::before{content:\"\";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--lf-brass);transform:translateX(-102%);transition:transform .5s cubic-bezier(.3,.9,.2,1)} .lf-btn:hover::before,.lf-btn:focus-visible::before{transform:translateX(0)} .lf-btn:active{scale:.97}\n.lf-btn-a{display:inline-grid;place-items:center;flex:none} .lf-btn-a svg{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)} .lf-btn:hover .lf-btn-a.is-arrow svg{transform:translateX(4px)} .lf-btn:hover .lf-btn-a.is-down svg{transform:translateY(3px)}\n.lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)}\n.lf-btn.lf-ghost{color:var(--lf-fg,var(--lf-ink));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-fg,var(--lf-ink)) 30%,transparent)} .lf-btn.lf-ghost::before{background:var(--lf-cloud)} .lf-btn.lf-ghost:hover,.lf-btn.lf-ghost:focus-visible{box-shadow:inset 0 0 0 1.5px var(--lf-ink);color:var(--lf-ink)}\n.lf-btn.lf-quiet{height:44px;padding:0 18px;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-btn.lf-quiet::before{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))}\n.lf-sec .lf-btn.lf-quiet.on-ground{background:var(--lf-cloud);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)}\n.lf-btn:disabled,.lf-btn[aria-disabled=\"true\"]{opacity:.5;pointer-events:none}\n/* on the green band: the solid pill is white with green text (sweep = paper); ghost = a white hairline that fills white. Inside a white card on the band everything is the default again. */\n.lf-lime .lf-btn.lf-solid{background:var(--lf-cloud);color:var(--lf-brass)} .lf-lime .lf-btn.lf-solid::before{background:var(--lf-bone)}\n.lf-lime .lf-btn.lf-ghost{color:var(--lf-cloud);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-cloud) 46%,transparent)} .lf-lime .lf-btn.lf-ghost:hover,.lf-lime .lf-btn.lf-ghost:focus-visible{color:var(--lf-brass);box-shadow:inset 0 0 0 1.5px var(--lf-cloud)}\n.lf-lime .lf-plate .lf-btn.lf-solid{background:var(--lf-ink);color:var(--lf-cloud)} .lf-btn.lf-solid::before{background:var(--lf-brass)} .lf-lime .lf-plate .lf-btn.lf-solid::before{background:var(--lf-ink)} .lf-lime .lf-plate .lf-btn.lf-ghost{color:var(--lf-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lf-ink) 26%,transparent)}\n.lf-sec button,.lf-sec input,.lf-sec select,.lf-sec textarea{font-family:inherit}\n/* the text link under a section */\n.lf-more{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap} .lf-sec .lf-more{color:var(--lf-fg)}\n.lf-more-n{font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--lf-mut)} .lf-more-l{position:relative;padding:6px 0} .lf-more-l::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--lf-acc);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}\n.lf-more:hover .lf-more-l::after,.lf-more:focus-visible .lf-more-l::after{transform:scaleX(1)} .lf-more svg{color:var(--lf-acc);transition:transform .3s} .lf-more:hover svg{transform:translateX(4px)}\n/* Label: mono caps */\n.lf-label{display:inline-flex;align-items:center;gap:9px;margin:0;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--lf-mut)} .lf-sec.lf-lime .lf-label{color:var(--lf-mut)}\n/* mono data lines + numbers (sentence case, no tracked caps) */\n.lf-mono{font-family:${FM_CSS};font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.5;font-variant-numeric:tabular-nums} .lf-num{font-variant-numeric:tabular-nums lining-nums} .lf-lbl{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--lf-mut)}\n/* the live dot: mint, slow halo (the availability chip's) */\n.lf-dot{position:relative;display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite} @keyframes lf-pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}\n/* Chip + Pick = the hero's pills */\n.lf-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 15px;border-radius:999px;background:var(--lf-cloud);font-size:14px;font-weight:500;line-height:1.2;color:var(--lf-ink);box-shadow:0 6px 24px color-mix(in srgb,var(--lf-ink) 8%,transparent)} .lf-chip i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lf-pine);box-shadow:0 0 0 0 color-mix(in srgb,var(--lf-pine) 60%,transparent);animation:lf-pulse 2.2s ease-out infinite}\n.lf-chip.is-sand{background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));box-shadow:none} .lf-chip.is-fill{background:var(--lf-brass);color:var(--lf-cloud);box-shadow:none} .lf-chip.is-mut{min-height:0;padding:0;background:none;box-shadow:none;color:var(--lf-mut)} .lf-lime .lf-chip.is-mut{color:var(--lf-mut)}\n.lf-pick{display:inline-flex;align-items:center;gap:8px;height:46px;margin:0;padding:0 18px;border:0;border-radius:999px;background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .25s ease,color .25s ease,scale .2s ease} .lf-sec .lf-pick{color:var(--lf-ink)}\n.lf-pick em{font-style:normal;opacity:.82} .lf-pick:hover{background:color-mix(in srgb,var(--lf-brass) 14%,var(--lf-cloud))} .lf-pick:active{scale:.96} .lf-sec .lf-pick.is-on{background:var(--lf-ink);color:var(--lf-cloud)}\n.lf-sec:not(.lf-lime) .lf-picks.on-ground .lf-pick:not(.is-on){background:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-cloud) 14%,transparent);color:var(--lf-cloud)} .lf-lime .lf-pick:not(.is-on):hover{background:color-mix(in srgb,var(--lf-cloud) 24%,transparent)} .lf-sec.lf-lime .lf-pick.is-on{background:var(--lf-cloud);color:var(--lf-brass)}\n.lf-lime .lf-plate .lf-pick:not(.is-on){background:color-mix(in srgb,var(--lf-bone) 82%,var(--lf-cloud));color:var(--lf-ink)} .lf-sec.lf-lime .lf-plate .lf-pick.is-on{background:var(--lf-brass);color:var(--lf-cloud)}\n/* Tick: a mint disc, the check draws once */\n.lf-tick{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--lf-pine);color:var(--lf-ink);transition:background-color .35s ease var(--lf,0ms),box-shadow .35s ease var(--lf,0ms)} .lf-tick path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.3,.8,.2,1) calc(var(--lf,0ms) + .12s)} .lf-tick.is-on path{stroke-dashoffset:0}\n.lf-tick.is-line:not(.is-on){background:transparent;box-shadow:inset 0 0 0 1.5px var(--lf-hair2)}\n/* Veil: the wipe. The veil covers the child until .is-on, then slides off to the right once */\n.lf-veil{position:relative;display:block;overflow:hidden;border-radius:inherit} .lf-veil-v{position:absolute;z-index:2;inset:0 -18% 0 0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--lf-bone) 94%,transparent) 0,color-mix(in srgb,var(--lf-bone) 94%,transparent) 82%,color-mix(in srgb,var(--lf-bone) 0.4%,transparent) 100%);transform:translateX(-18%)}\n.lf-veil.is-on .lf-veil-v{animation:lf-veil .85s cubic-bezier(.5,0,.2,1) var(--lf,0ms) both} @keyframes lf-veil{from{transform:translateX(-18%)}to{transform:translateX(102%)}} .bw[data-kb] .lf-veil-v{display:none}\n@media (prefers-reduced-motion:reduce){.lf-veil-v{display:none}}\n/* Pic */ .lf-pic{position:relative;display:block;overflow:hidden;background:var(--lf-sand)} .lf-pic img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;user-select:none} \n/* Roll */ .lf-roll{display:inline-flex;align-items:flex-start;white-space:nowrap;font-variant-numeric:tabular-nums} .lf-dg{display:inline-block;height:1em;overflow:hidden;vertical-align:top} .lf-dg-c{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -1em));transition:transform .55s cubic-bezier(.3,.9,.3,1)} .lf-dg-c i{display:block;height:1em;line-height:1em;font-style:normal} .lf-sep{display:inline-block;height:1em;line-height:1em} .lf-roll.is-rm .lf-dg-c,.bw[data-kb] .lf-dg-c{transition:none}\n/* Rules: a hairline that DRAWS */ .lf-rule-x,.lf-rule-y{display:block;background:var(--lf-hair);transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--lf,0ms)} .lf-rule-x{width:100%;height:1px;transform:scaleX(0)} .lf-rule-y{width:1px;height:100%;transform:scaleY(0)} .lf-rule-x.is-on{transform:scaleX(1)} .lf-rule-y.is-on{transform:scaleY(1)} .lf-rule-x.is-rm,.lf-rule-y.is-rm,.bw[data-kb] .lf-rule-x,.bw[data-kb] .lf-rule-y{transition:none}\n/* Count */ .lf-count{display:inline-block;white-space:nowrap}\n/* Scribble: a crayon mark draws once (multiply, so it reads as crayon on the paper and on a picture) */ .lf-scrib{display:block;mix-blend-mode:multiply;overflow:visible} .lf-scrib path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.3,.8,.2,1) var(--lf,0ms)} .lf-scrib.is-on path{stroke-dashoffset:0} .bw[data-kb] .lf-scrib path{transition:none} @media (prefers-reduced-motion:reduce){.lf-scrib path{stroke-dashoffset:0!important}}\n/* Md */ .lf-md{display:grid;gap:16px;font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--lf-fg) 86%,transparent)} .lf-md p,.lf-md ul,.lf-md h3,.lf-md blockquote,.lf-md pre{margin:0} .lf-md h3{margin-top:18px;font-size:clamp(24px,2vw,30px);line-height:1.12;color:var(--lf-fg)} .lf-md h3:first-child{margin-top:0} .lf-md ul{padding-left:1.2em;display:grid;gap:8px} .lf-md li::marker{color:var(--lf-acc)} .lf-md strong{font-weight:600;color:var(--lf-fg)} .lf-md a{color:var(--lf-acc);text-underline-offset:3px}\n.lf-md blockquote{padding:2px 0 2px 18px;border-left:2px solid var(--lf-acc);font-size:1.12em;line-height:1.45;color:var(--lf-fg)} .lf-md code{font-family:${FM_CSS};font-size:.86em;padding:.12em .4em;border-radius:5px;background:color-mix(in srgb,var(--lf-fg) 9%,transparent);color:var(--lf-fg)}\n.lf-md pre{max-width:100%;overflow-x:auto;padding:16px 18px;border-radius:16px;background:var(--lf-night);color:var(--lf-bone);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lf-ink) 14%,transparent);font-size:13px;line-height:1.6} .lf-md pre code{padding:0;background:none;font-size:inherit;color:var(--lf-bone);white-space:pre}\n/* HEIGHT LAW: a block whose content swaps stacks all items in ONE grid cell so the tallest reserves the height */ .lf-swap{display:grid} .lf-swap>*{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s} .lf-swap>.is-on{opacity:1;visibility:visible;transition:opacity .5s ease}\n@media (prefers-reduced-motion:reduce){.lf-sec *,.lf-sec *::before,.lf-sec *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}\n`;// ===== BRIGHTWORK 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.\nconst SCRUB_K=.18;// Decode a section's photos while it is still a screen and a half away, so the first frame it is on screen never waits for a decode.\nfunction usePre(el){try{const io=new IntersectionObserver(es=>{if(!es[0].isIntersecting)return;io.disconnect();el.querySelectorAll(\"img\").forEach(im=>{try{im.loading=\"eager\";im.decode().catch(()=>{});}catch(e){}});},{rootMargin:\"150% 0px 150% 0px\"});io.observe(el);}catch(e){}}function focusTo(el,frac){if(!el||typeof window===\"undefined\")return;if(window.innerWidth<810)return;const r=el.getBoundingClientRect();const vh=window.innerHeight;if(r.height<=vh*1.05)return;const y=r.top+window.scrollY+(r.height-vh)*Math.min(1,Math.max(0,frac));if(Math.abs(window.scrollY-y)<8)return;const w=window;if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}function useScrollVars(ref,live,rm,cb){useEffect(()=>{if(!live||rm||!ref.current)return;const el=ref.current;let vis=true,last=-9,cs=-1,cp=-1,settled=false;usePre(el);const io=new IntersectionObserver(es=>{vis=es[0].isIntersecting;},{rootMargin:\"25% 0px 25% 0px\"});io.observe(el);// eased scrub: the values glide toward the true scroll position (K per frame), so wheel steps never jump a pinned scene\nlet rt=0,rh=0,vh=1,fresh=false;const read=()=>{if(!vis&&settled){fresh=false;return;}const r=el.getBoundingClientRect();rt=r.top;rh=r.height;vh=window.innerHeight||1;fresh=true;};const off=onTick(()=>{if(!fresh)return;const sp=clamp01((vh-rt)/(vh+rh));const pp=rh>vh*1.05?clamp01(-rt/(rh-vh)):sp;if(cs<0){cs=sp;cp=pp;}else{cs+=(sp-cs)*SCRUB_K;cp+=(pp-cp)*SCRUB_K;if(Math.abs(sp-cs)<5e-4)cs=sp;if(Math.abs(pp-cp)<5e-4)cp=pp;}settled=cs===sp&&cp===pp;if(Math.abs(cs+cp-last)<3e-4)return;last=cs+cp;el.style.setProperty(\"--sp\",cs.toFixed(4));el.style.setProperty(\"--pp\",cp.toFixed(4));if(cb)cb(cs,cp);},read);return()=>{off();io.disconnect();};},[live,rm]);}// STAGE — false while the loader or the page-transition cover is on screen (html.lf-hold-*), so first-screen intros play AFTER the cover lifts, never under it. 9 s safety.\nfunction useStage(live){const[r,setR]=useState(false);useEffect(()=>{if(!live)return;const h=document.documentElement;const ok=()=>!/(^|\\s)lf-hold/.test(h.className);if(ok()){setR(true);return;}const mo=new MutationObserver(()=>{if(ok()){mo.disconnect();setR(true);}});mo.observe(h,{attributes:true,attributeFilter:[\"class\"]});const t=window.setTimeout(()=>{mo.disconnect();setR(true);},9e3);return()=>{mo.disconnect();window.clearTimeout(t);};},[live]);return r;}// true once the element has entered the viewport (stays true) — and only once the stage is clear. Reduced motion = true at once.\nfunction useOn(ref,live,rm,amount=.16){const[on,setOn]=useState(false);const still=useStill();const ready=useStage(live);useEffect(()=>{if(!live)return;if(rm){setOn(true);return;}if(!ready)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(\".lf-rev.is-act\");const rv=rev?parseFloat(rev.style.getPropertyValue(\"--rv\")||\"0\"):1;if(rv>.24){setOn(true);off();}});}},{threshold:Math.min(amount,Math.max(.005,window.innerHeight*.3/Math.max(1,el.offsetHeight))),rootMargin:\"0px 0px -6% 0px\"});io.observe(el);return()=>{io.disconnect();off();el.removeEventListener(\"focusin\",fin);el.removeEventListener(\"focusout\",fout);};},[live,rm,ready]);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[kb,setKb]=useState(false);// keyboard users get the footer as a normal section: a curtain taller than the screen hides its top row under the page above / the fixed header\nconst act=on&&live&&!rm&&h>0&&!kb;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);let cur=-1,T=0,vh=1,top=0,fresh=false;const read=()=>{if(!vis){fresh=false;return;}T=sp.current?sp.current.offsetHeight:0;vh=window.innerHeight;top=el.getBoundingClientRect().top;fresh=true;};const off=onTick(()=>{if(!fresh||!T)return;const rv=clamp01((vh-T-top)/T);if(cur<0||el.dataset.snap){cur=rv;delete el.dataset.snap;}else{cur+=(rv-cur)*SCRUB_K;if(Math.abs(rv-cur)<5e-4)cur=rv;}if(Math.abs(cur-last)<4e-4)return;last=cur;el.style.setProperty(\"--rv\",cur.toFixed(4));},read);return()=>{off();io.disconnect();};},[act]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:`lf-rev${act?\" is-act\":\"\"}`,style:{...style||{},[\"--h\"]:`${h}px`,[\"--layer\"]:layer},onFocusCapture:e=>{if(!act||!wrap.current)return;try{if(e.target.matches(\":focus-visible\")){const t0=e.target;setKb(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{try{t0.scrollIntoView({block:\"center\"});}catch(x){}}));return;}}catch(x){}const t=e.target;const w=window;const r=wrap.current.getBoundingClientRect();const T=sp.current?sp.current.offsetHeight:0;const y=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,r.top+window.scrollY-window.innerHeight+2*T));if(Math.abs(window.scrollY-y)>4){if(w.__ltLenis)w.__ltLenis.scrollTo(y,{immediate:true,force:true});else window.scrollTo(0,y);}wrap.current.dataset.snap=\"1\";requestAnimationFrame(()=>{try{const q=t.getBoundingClientRect();if(q.top<0||q.bottom>window.innerHeight)t.scrollIntoView({block:\"nearest\"});}catch(x){}});},children:[/*#__PURE__*/_jsx(\"div\",{ref:inner,className:\"lf-rev-in\",children:children}),/*#__PURE__*/_jsx(\"div\",{ref:sp,className:\"lf-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||\"\").replace(/\\*([^*]+)\\*/g,(_m,g)=>g.trim().split(/\\s+/).map(w=>{const m=w.match(/^(.*?)([.,!?;:’']*)$/);return m&&m[1]?`*${m[1]}*${m[2]}`:w;}).join(\" \")).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();// Head — the section headline: Instrument Serif 800, tracking −.04em (HD), *word* = the coral crayon word, clamp(40px,4.3vw,64px) (phones clamp(31px,9.6vw,42px)). Words rise out of masks ONCE when `on`.\n// \"|\" forces a line break, *word* = THE italic word (light italic, green; white on the green band) — ONE per headline. tag=\"h1\" also rises from the server HTML.\nconst Head=({text,on,D,tag=\"h2\",size=\"clamp(40px,4.3vw,64px)\",lh=1,delay=0,step=45,style,className})=>{const Tag=tag;let k=0;if(!String(text||\"\").trim())return null;return /*#__PURE__*/_jsx(Tag,{className:`lf-hd${on?\" is-on\":\"\"}${tag===\"h1\"?\" is-ssr\":\"\"}${className?\" \"+className:\"\"}`,\"aria-label\":plainOf(text),style:{...HD(D),[\"--hs\"]:size,lineHeight:lh,...style||{}},children:String(text).split(\"|\").map((line,li)=>/*#__PURE__*/_jsx(\"span\",{className:\"lf-hd-l\",\"aria-hidden\":true,children:splitWords(line).map((w,i)=>{const d=delay+k++*step;return /*#__PURE__*/_jsxs(\"span\",{className:\"lf-hd-w\",children:[/*#__PURE__*/_jsxs(\"span\",{className:`lf-hd-i${w.acc?\" is-acc\":\"\"}`,style:{transitionDelay:`${d}ms`,[\"--lf\"]:`${d}ms`},children:[w.t,w.tail]}),\" \"]},i);})},li))});};// Eyebrow — the mono caps label above a headline (DM Mono 11, .12em), rises in once. dot = the mint live dot in front. (Label in _common is the same line without the reveal.)\nconst Eyebrow=({text,on,M,dot=false,delay=0,style,className})=>{const t=String(text||\"\").trim();return t?/*#__PURE__*/_jsxs(\"p\",{className:`lf-eb${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{...M||{},transitionDelay:`${delay}ms`,...style||{}},children:[dot?/*#__PURE__*/_jsx(\"i\",{className:\"lf-dot\",\"aria-hidden\":true}):null,t]}):null;};// SITE CURSOR — ONE small green dot + a white label pill for the whole page (the hero's cloth is the hero's own; everywhere else the cursor is this dot). Mounted ONCE by LfSmooth; a section never mounts it and never sets cursor:none.\n// Sections only add data-cur=\"label\" (two or three lowercase words) to what can be pressed; Btn / More / Pick already carry one.\n// Fine pointers only, off with reduced motion. It shows over .lf-sec roots only, so it stands down inside the hero ([data-lf-hero] draws its own cloth) and over anything that is not ours (the demo bar).\nconst CSS_CUR=`\n.lf-cur{position:fixed;z-index:9990;left:0;top:0;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .25s} .lf-cur.is-on{opacity:1}\n.lf-cur i{display:block;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--lf-brass,#1F5F57);box-shadow:0 0 0 1.5px var(--lf-cloud,#FFFFFF);transition:scale .25s cubic-bezier(.2,.8,.2,1)} .lf-cur.is-press i{scale:.6}\n.lf-cur span{margin-top:-6px;padding:8px 12px;border-radius:999px;background:var(--lf-cloud,#FFFFFF);color:var(--lf-ink,#1A1A1C);font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 28px color-mix(in srgb,var(--lf-ink,#1A1A1C) 20%,transparent)}\nhtml.lf-has-cur .lf-sec,html.lf-has-cur .lf-sec *{cursor:none}\n`;function SiteCursor({c,M}){const live=useLive();const rm=useReduced();const[fine,setFine]=useState(false);const[label,setLabel]=useState(\"\");const dot=useRef(null);useEffect(()=>{if(!live||rm){setFine(false);return;}setFine(window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[live,rm]);useEffect(()=>{if(!fine)return;const el=dot.current;if(!el)return;const h=document.documentElement;h.classList.add(\"lf-has-cur\");let x=0,y=0,tx=0,ty=0,raf=0,on=false;const tick=()=>{x+=(tx-x)*.28;y+=(ty-y)*.28;el.style.transform=`translate3d(${x.toFixed(1)}px,${y.toFixed(1)}px,0)`;raf=Math.abs(tx-x)+Math.abs(ty-y)>.3?requestAnimationFrame(tick):0;};const show=v=>{if(on!==v){on=v;el.classList.toggle(\"is-on\",v);}};const move=e=>{if(e.pointerType===\"touch\")return;const t=e.target;if(!t||!t.closest||!t.closest(\".lf-sec\")){show(false);return;}tx=e.clientX;ty=e.clientY;if(!on){x=tx;y=ty;}show(true);if(!raf)raf=requestAnimationFrame(tick);const k=t.closest(\"[data-cur]\");const l=k?k.getAttribute(\"data-cur\")||\"\":\"\";setLabel(p=>p===l?p:l);el.classList.toggle(\"is-press\",!!t.closest(\"a,button,[role='button'],summary,label,input,select,textarea\"));};const out=()=>show(false);window.addEventListener(\"pointermove\",move,{passive:true});h.addEventListener(\"pointerleave\",out);window.addEventListener(\"blur\",out);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",move);h.removeEventListener(\"pointerleave\",out);window.removeEventListener(\"blur\",out);h.classList.remove(\"lf-has-cur\");};},[fine]);if(!fine||typeof document===\"undefined\")return null;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:dot,className:\"lf-cur\",\"aria-hidden\":true,style:{...c?cssVars(c):{},...M||{}},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS_CUR}}),/*#__PURE__*/_jsx(\"i\",{}),label?/*#__PURE__*/_jsx(\"span\",{children:label}):null]}),document.body);}// count-up for a stat (\"2,140\", \"91¢\", \"$184,200\", \"38\"): keeps prefix, suffix and thousands commas; SSR and reduced motion show the final value.\nfunction useCount(target,on,rm,ms=1400){const m=String(target||\"\").match(/^([^\\d-]*)(-?[\\d,]*\\.?\\d+)(.*)$/);const[v,setV]=useState(1);useEffect(()=>{if(!m||rm||!on){setV(1);return;}let raf=0,t0=0;setV(0);const step=t=>{if(!t0)t0=t;const k=clamp01((t-t0)/ms);setV(1-Math.pow(1-k,3));if(k<1)raf=requestAnimationFrame(step);};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);},[on,rm,target]);if(!m)return String(target||\"\");const num=parseFloat(m[2].replace(/,/g,\"\"));const dec=(m[2].split(\".\")[1]||\"\").length;const cur=num*v;const txt=dec?cur.toFixed(dec):String(Math.round(cur));const withC=/,/.test(m[2])?txt.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"):txt;return m[1]+withC+m[3];}// one-shot rise for copy / rows (≤ .9 s). Pass the value of useOn(...) — it is already `seen || still`, so the canvas / export never shows an empty block.\nconst rise=(on,d=0,y=18)=>({opacity:on?1:0,translate:on?\"0 0\":`0 ${y}px`,transition:`opacity .7s ease ${d}ms, translate .8s cubic-bezier(.16,.84,.24,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%)\"],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=14,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:`lf-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,width:ratioWH(ratio).w,height:ratioWH(ratio).h,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{objectPosition:focus,transitionDelay:`${delay}ms`}})});};// ---- THE SIGNATURE (Iris Vale): the highlighter. Mark = a yellow marker stroke that draws itself ONCE behind a word / number when `on` (multiply, skewed, from the left). Use it on the one phrase that matters in a section, never on every line.\nconst Mark=({on,delay=0,className,style,children})=>/*#__PURE__*/_jsxs(\"span\",{className:`lf-mark${on?\" is-on\":\"\"}${className?\" \"+className:\"\"}`,style:{[\"--lf\"]:`${delay}ms`,...style||{}},children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":true}),children]});// useHiMarks — the hero's hover highlighter for any list of rows: spread the returned handlers on each row (the row holds `<i className=\"lf-mk\" aria-hidden />` behind its key word, position:relative on the word's wrapper).\n// Fine pointer: enter = ONE strong mark (any other marked row fades at once), leave = hold 2.8 s, fade 1.2 s, gone. Touch: the first tap marks instead of following the link (second tap opens). Nothing ever stays yellow.\nfunction useHiMarks(root,fine,on=true){const T=useRef(new Map);useEffect(()=>()=>{T.current.forEach(l=>l.forEach(t=>window.clearTimeout(t)));},[]);const clear=el=>{(T.current.get(el)||[]).forEach(t=>window.clearTimeout(t));T.current.set(el,[]);};const mark=el=>{clear(el);el.classList.remove(\"is-fade\");el.classList.add(\"is-hi\");root.current?.querySelectorAll(\".is-hi\").forEach(o=>{if(o===el)return;clear(o);o.classList.add(\"is-fade\");T.current.set(o,[window.setTimeout(()=>o.classList.remove(\"is-hi\",\"is-fade\"),1250)]);});};const unmark=el=>{clear(el);T.current.set(el,[window.setTimeout(()=>el.classList.add(\"is-fade\"),2800),window.setTimeout(()=>el.classList.remove(\"is-hi\",\"is-fade\"),4e3)]);};if(!on)return{};return{onPointerEnter:e=>{if(fine)mark(e.currentTarget);},onPointerLeave:e=>{if(fine)unmark(e.currentTarget);},onClick:e=>{if(!fine){const el=e.currentTarget;if(!el.classList.contains(\"is-hi\")){e.preventDefault();mark(el);unmark(el);}}}};}const CSS_MOTION=`\n.lf-mark{position:relative;display:inline-block;z-index:0} .lf-mark>i{position:absolute;z-index:-1;inset:.06em -.16em .02em -.14em;border-radius:.16em;background:var(--lf-pine);mix-blend-mode:multiply;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.9,.2,1) var(--lf,0ms)} .lf-mark.is-on>i{transform:scaleX(1) skewX(-6deg)}\n.lf-mk{position:absolute;z-index:-1;inset:1px -3px 0 -2px;border-radius:4px;background:var(--lf-pine);mix-blend-mode:multiply;opacity:0;transform:scaleX(0) skewX(-6deg);transform-origin:left center;transition:transform .42s cubic-bezier(.2,.9,.2,1),opacity .2s ease;pointer-events:none}\n.is-hi .lf-mk{opacity:.95;transform:scaleX(1) skewX(-6deg)} .is-fade .lf-mk{opacity:0;transition:opacity 1.2s ease,transform 0s linear 1.2s}\n@media (prefers-reduced-motion:reduce){.lf-mark>i{transform:scaleX(1) skewX(-6deg)!important;transition:none!important}}\n.bw[data-kb] *,.bw[data-kb] *::before,.bw[data-kb] *::after,.bw [data-kb],.bw [data-kb] *,.bw [data-kb] *::before,.bw [data-kb] *::after{transition:none!important}\n.lf-sec{position:relative;z-index:10;display:block;width:100%;--sp:.5;--pp:0}\n.lf-rev{position:relative;width:100%;--rv:1} .lf-rev-in{position:relative} .lf-rev-sp{height:0}\n.lf-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.lf-rev.is-act>.lf-rev-in{position:sticky;top:calc(100vh - var(--t));top:calc(100svh - var(--t))} .lf-rev.is-act>.lf-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.lf-rev.is-act>.lf-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,.45),rgba(0,0,0,0));opacity:min(1,calc(var(--rv)*(1 - var(--rv))*9));pointer-events:none}\n.lf-rev.is-act>.lf-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))*.3);pointer-events:none}\n/* Eyebrow: the mono caps label, rises in */\n.lf-eb{display:flex;align-items:center;gap:9px;margin:0;padding:0;max-width:100%;font-family:${FM_CSS};font-size:11px;font-weight:500;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--lf-mut);opacity:0;translate:0 10px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1)} .lf-eb.is-on{opacity:1;translate:0 0}\n/* Head */\n.lf-hd{margin:0;font-size:var(--hs,clamp(40px,4.3vw,64px));text-wrap:balance;color:var(--lf-fg)} .lf-sec.is-ph .lf-hd{font-size:min(var(--hs,64px),clamp(31px,9.6vw,42px))} .lf-hd-l{display:block}\n.lf-hd-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .09em .18em .03em;margin:-.08em -.09em -.18em -.03em;white-space:pre}\n.lf-hd-i{position:relative;display:inline-block;translate:0 110%;transition:translate .8s cubic-bezier(.16,.84,.24,1)} .lf-hd.is-on .lf-hd-i{translate:0 0}\n.lf-hd .lf-hd-i.is-acc{color:var(--lf-acc);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9;font-family:var(--lf-font-a,'Instrument Serif'),Georgia,'Times New Roman',serif}\n/* page h1: rises by CSS from the server HTML (no wait for hydration); paused only while a loader / transition cover holds the page */\n@keyframes lf-hd-rise{from{translate:0 110%}to{translate:0 0}}\n.lf-hd.is-ssr .lf-hd-i{animation:lf-hd-rise .8s cubic-bezier(.16,.84,.24,1) var(--lf,0ms) both}\nhtml[class*=\"lf-hold\"] .lf-hd.is-ssr .lf-hd-i{animation-play-state:paused}\n/* Um: a picture that unmasks once and settles from a small zoom */\n.lf-um{position:relative;overflow:hidden;transition:clip-path .9s cubic-bezier(.7,0,.2,1);background:var(--lf-sand)}\n.lf-um img{position:absolute;left:0;top:-9%;width:100%;height:118%;display:block;object-fit:cover;scale:1.04;translate:0 calc((var(--sp,.5) - .5)*var(--par,1)*-7%);transition:scale .9s cubic-bezier(.16,.84,.24,1);user-select:none}\n.lf-um.is-on img{scale:1}\n@media (prefers-reduced-motion:reduce){.lf-hd-i{translate:0 0!important} .lf-hd.is-ssr .lf-hd-i{animation:none!important} .lf-um{clip-path:none!important} .lf-um img{scale:1!important;translate:0 0!important} .lf-eb{opacity:1!important;translate:0 0!important}}\n`;const SEED={site:[{\"slug\":\"site\",\"f1\":\"Landfall\",\"f2\":\"Tour operator and travel agency\",\"f3\":\"Forty routes on six continents, twelve travellers at most, and a guide who grew up there.\",\"f4\":\"hello@landfall.travel\",\"f5\":\"/plan-a-trip\",\"f6\":\"/tours\",\"f7\":\"Small-group tours since 2009\",\"f8\":\"12,400:travellers; 62:countries; 4.9:from 3,100 reviews\",\"f9\":\"/contact\",\"img\":\"https://framerusercontent.com/images/1VjzPPYahXSOq7BmKfWGZgywQ.webp\",\"f10\":\"Two travellers rowing a wooden boat across an alpine lake\",\"f11\":\"+44 20 7946 0412\",\"f12\":\"Booking 2027 departures\",\"f13\":\"Lisbon\",\"f14\":\"https://www.instagram.com/\",\"f15\":\"https://www.youtube.com/\",\"f16\":\"\\xa9 2026 Landfall Travel Ltd. Lisbon.\",\"f17\":\"Europe/Lisbon\",\"f18\":\"One route a month, with dates and prices, before it goes on the site.\",\"f19\":\"A travel planner answers within a day\",\"f20\":\"Rua da Boavista 88, 1200-066 Lisbon\",\"f21\":\"12,400\",\"f22\":\"62\",\"f23\":\"2009\",\"img2\":\"https://framerusercontent.com/images/pbABL1fVnUDQy8qasBEvrs3Y5aU.webp\",\"f24\":\"Cypress trees on a foggy sea cliff with two walkers on the path\",\"f25\":\"/journal\",\"f26\":\"English, Portuguese, Spanish\",\"f27\":\"Landfall is a tour operator of twenty-six planners and ninety local guides. We run small-group tours and private trips on six continents, and we answer the phone ourselves.\"}]};const SW_BUILD=\"LfSmooth@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='#E9E3D8'/><rect x='120' y='170' width='160' height='160' rx='8' fill='none' stroke='#3A3D44' stroke-width='1.5'/><rect x='100' y='150' width='200' height='200' rx='10' fill='none' stroke='#2A2D33' 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-lf-row=\"bridge\"]'))return null;const seen=new Set;const out=[];document.querySelectorAll(`[data-lf-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.__ltCms||typeof w.__ltCms!==\"object\")w.__ltCms={};w.__ltCms[SW_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 site-wide fact. A section's \"… Override\" control only replaces it on that one section.\n// Site: f1 Name · f2 Descriptor (the role line) · f3 Tagline (the lead) · f4 Email · f5 CV Link (/resume) · f6 Projects Link (/projects) · f7 Eyebrow · f8 Proof Line (facts \"value:label; …\") · f9 Contact Link (/contact) · img Picture (the portrait print) · f10 Picture Alt · f11 Phone · f12 Status · f13 City\n//       (Stage 2, appended) f14 LinkedIn · f15 GitHub · f16 Legal Line · f17 Timezone (IANA) · f18 Availability · f19 Response Time · f20 Address · f21 Years · f22 Launches · f23 Since (year) · img2 Second Picture (LfCta) · f24 Second Picture Alt · f25 Calendar Link · f26 Languages · f27 Bio\nfunction useSite(){const r=useCMS(\"site\",SEED.site||[]);const s=r[0]||(SEED.site||[])[0]||{};const g=k=>String(s[k]??\"\").trim();const im=k=>String(s[k]||\"\").split(\"?\")[0];return{name:g(\"f1\"),descriptor:g(\"f2\"),tagline:g(\"f3\"),email:g(\"f4\"),book:g(\"f5\")||\"/plan-a-trip\",pricing:g(\"f6\")||\"/tours\",eyebrow:g(\"f7\"),proof:g(\"f8\"),services:g(\"f9\")||\"/contact\",picture:im(\"img\"),pictureAlt:g(\"f10\"),phone:g(\"f11\"),status:g(\"f12\"),city:g(\"f13\"),linkedin:g(\"f14\"),github:g(\"f15\"),legal:g(\"f16\"),timezone:g(\"f17\")||\"Europe/London\",availability:g(\"f18\"),response:g(\"f19\"),address:g(\"f20\"),years:g(\"f21\"),launches:g(\"f22\"),since:g(\"f23\"),picture2:im(\"img2\"),picture2Alt:g(\"f24\"),calendar:g(\"f25\"),languages:g(\"f26\"),bio:g(\"f27\")};}// ---- Row readers, one per collection (slots are fixed: see seed.py). Every reader takes an undefined row and returns empty strings / empty lists, never throws.\nconst S_=(r,k)=>String(r&&r[k]||\"\").trim();const numOf=(v,fb=0)=>{const n=parseFloat(String(v??\"\").replace(/[^\\d.-]/g,\"\"));return isFinite(n)?n:fb;};const listOf=s=>String(s||\"\").split(\";\").map(x=>x.trim()).filter(Boolean);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()};});// \"Label:Value, Label:Value\" list controls (facts, numbers, footer columns)\nconst pairList=(s,sep=\",\")=>String(s||\"\").split(sep).map(x=>x.trim()).filter(Boolean).map(x=>{const i=x.indexOf(\":\");return i<0?{l:x,v:\"\"}:{l:x.slice(0,i).trim(),v:x.slice(i+1).trim()};});// \"a | b | c\" per line → [[\"a\",\"b\",\"c\"], …]\nconst cellRows=s=>String(s??\"\").split(/\\n/).map(x=>x.trim()).filter(Boolean).map(x=>x.split(\"|\").map(y=>y.trim()));const bySlug=(rows,slug)=>{const k=String(slug||\"\").trim();return k?rows.find(r=>r.slug===k):undefined;};const kindsOf=vals=>vals.filter((v,i)=>v&&vals.indexOf(v)===i);const yes=v=>/^(yes|true|1|featured|on)$/i.test(String(v||\"\").trim());// Landfall Site (10-12): f1 Name · f2 Descriptor · f3 Tagline · f4 Email · f5 Subscribe Link · f6 Latest Link · f7 Edition Line (empty = by the clock) · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 X · f15 Instagram · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Readers · f22 Reporters · f23 Since · img2 · f24 · f25 Podcast Link · f26 Languages · f27 About\n// Articles: f1 Title · f2 Dek · f3 Section · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · f8 Caption · f9 Featured · n1 Order\nconst articleOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),section:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),caption:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/article/\"+S_(r,\"slug\")});// Sections: f1 Name · f2 Line · n1 Order (the slug = /section/:slug)\nconst sectionOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),href:\"/section/\"+S_(r,\"slug\")});// Authors: f1 Name · f2 Role · f3 Beat · f4 Bio · f5 Column (latest opinion title) · f6 Column Link · img Picture · f7 Picture Alt · n1 Order\nconst authorOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),beat:S_(r,\"f3\"),bio:S_(r,\"f4\"),column:S_(r,\"f5\"),columnHref:S_(r,\"f6\")||\"/author/\"+S_(r,\"slug\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),href:\"/author/\"+S_(r,\"slug\")});// Episodes: f1 Title · f2 Line · f3 Number · f4 Length · f5 Date (ISO) · f6 Guest · img Cover · f7 Cover Alt · n1 Order\nconst episodeOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),number:S_(r,\"f3\"),length:S_(r,\"f4\"),date:S_(r,\"f5\"),guest:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\"),href:\"/episode/\"+S_(r,\"slug\")});// \"2026-10-12\" → \"12 Oct\" (short) / \"12 October 2026\"\nconst dayOfIso=(iso,long=false)=>{const m=String(iso||\"\").match(/^(\\d{4})-(\\d{2})-(\\d{2})/);if(!m)return String(iso||\"\");const MO=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const mo=MO[+m[2]-1]||\"\";return long?`${+m[3]} ${mo} ${m[1]}`:`${+m[3]} ${mo.slice(0,3)}`;};// Wire (the ticker): f1 Time · f2 Line · f3 Link · n1 Order\nconst wireOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),line:S_(r,\"f2\"),href:S_(r,\"f3\")});// Programs: f1 Name · f2 Line · f3 Body (md) · f4 Ages (\"1 to 2\") · f5 Hours · f6 Ratio (\"1:4\") · f7 From (\"$1,480 a month\") · f8 Includes (\"a; b\") · img Picture · f9 Picture Alt · n1 Order\nconst programOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),body:S_(r,\"f3\"),ages:S_(r,\"f4\"),hours:S_(r,\"f5\"),ratio:S_(r,\"f6\"),from:S_(r,\"f7\"),includes:listOf(S_(r,\"f8\")),img:imgOr(r),alt:S_(r,\"f9\"),href:\"/programs/\"+S_(r,\"slug\")});// Day: f1 Time (\"9:15\") · f2 Title · f3 Note · n1 Order.  dayT(row, open, close) → 0..1 along the day\nconst dayOf=r=>({slug:S_(r,\"slug\"),time:S_(r,\"f1\"),title:S_(r,\"f2\"),note:S_(r,\"f3\")});const hourOf=s=>{const m=String(s||\"\").match(/(\\d{1,2})[:.](\\d{2})/);return m?+m[1]+ +m[2]/60:NaN;};// Rooms: f1 Name · f2 Line · f3 Facts (\"a; b\") · img Picture · f4 Picture Alt · n1 Order\nconst roomOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),facts:listOf(S_(r,\"f3\")),img:imgOr(r),alt:S_(r,\"f4\"),href:\"/rooms/\"+S_(r,\"slug\")});// Teachers: f1 Name · f2 Role · f3 Years · f4 Line · f5 Room (a program slug, may be empty) · img Picture · f6 Picture Alt · n1 Order\nconst teacherOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),room:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),href:\"/teachers/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Parent · f3 Child (\"Nora, 2\") · f4 Program (slug) · f5 Stars (1–5) · img Picture (avatar; empty = initials) · n1 Order\nconst reviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),parent:S_(r,\"f2\"),child:S_(r,\"f3\"),program:S_(r,\"f4\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f5\"),5)))),img:imgOf(r)});// Plans (Landfall 10-12): f1 Name · f2 Price (\"$8\" | \"Free\") · f3 Per (\"a month\") · f4 Line · f5 Includes (\"a; b\") · f6 Featured (\"yes\") · f7 Link · n1 Order\nconst planOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),price:S_(r,\"f2\"),per:S_(r,\"f3\"),line:S_(r,\"f4\"),includes:listOf(S_(r,\"f5\")),featured:yes(S_(r,\"f6\")),href:S_(r,\"f7\")||\"/subscribe\"});// Faq (Landfall 10-12): f1 Question · f2 Answer · f3 Group (\"Subscribe\" | \"Contact\") · n1 Order\nconst faqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// Posts: f1 Title · f2 Line · f3 Date (ISO) · f4 Read · f5 Body (md) · img Picture · f6 Picture Alt · f7 Tag · n1 Order\nconst postOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),line:S_(r,\"f2\"),date:S_(r,\"f3\"),read:S_(r,\"f4\"),body:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\"),tag:S_(r,\"f7\"),href:\"/writing/\"+S_(r,\"slug\")});const dateOf=(iso,loc=\"en-US\")=>{const d=new Date(String(iso||\"\")+\"T12:00:00Z\");return isNaN(d.getTime())?String(iso||\"\"):d.toLocaleDateString(loc,{month:\"short\",day:\"numeric\",year:\"numeric\",timeZone:\"UTC\"});};const readBrief=()=>{try{const o=JSON.parse(window.sessionStorage.getItem(\"lf-brief\")||\"{}\");return o&&typeof o===\"object\"?{program:String(o.program||\"\"),days:String(o.days||\"\"),start:String(o.start||\"\")}:{};}catch(e){return{};}};const writeBrief=patch=>{const n={...readBrief(),...patch};try{window.sessionStorage.setItem(\"lf-brief\",JSON.stringify(n));}catch(e){}return n;};function useBrief(){const[b,setB]=useState({});useEffect(()=>{setB(readBrief());},[]);const set=patch=>setB(writeBrief(patch));return[b,set];}// ---- A seeded generator (mulberry32) so the server and the first client render draw the SAME shape.\nconst mulberry=a=>()=>{a|=0;a=a+1831565813|0;let t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};// 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};}// ---- useSec — everything a section needs in one call. Root: <section ref={k.root} className={`bw lf-sec lfxx${k.bp.cls}`} style={k.vars}>\n// k.on is already `seen || still` (never blank on the canvas / in exports) · k.w is the MEASURED root width (SSR starts from the bpHint) · k.bp = { ph <810, tb <1100, xs <360, cls } · k.vars = palette + font vars + body font + props.style.\nfunction useSec(props,amount=.16){const root=useRef(null);const c=colorsOf(props);const{D,B,M}=fontsOf(props);useFonts();const live=useLive();const rm=useReduced();const still=useStill();const site=useSite();const{w,vh}=useSize(root,props.bpHint);const on=useOn(root,live,rm,amount);const vars={...cssVars(c),[\"--lf-fd\"]:D.fontFamily,[\"--lf-fb\"]:B.fontFamily,[\"--lf-fm\"]:M.fontFamily,...B,...props.style||{}};return{root,c,D,B,M,live,rm,still,site,w,vh,bp:bpOf(w),on,vars};}// ---- Iris Vale readers (Stage 1). Roles: f1 Company · f2 Title · f3 Years · f4 Line · f5 City · f6 Highlights (a; b; c) · f7 Tags · img Logo · f8 Logo Alt · n1 Order\nconst roleOf=r=>({slug:S_(r,\"slug\"),company:S_(r,\"f1\"),title:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\"),city:S_(r,\"f5\"),points:listOf(S_(r,\"f6\")),tags:listOf(S_(r,\"f7\")),img:imgOf(r),alt:S_(r,\"f8\"),href:\"/experience/\"+S_(r,\"slug\")});// Skills: f1 Name · f2 Group · f3 Level (1-5) · n1 Order\nconst skillOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),group:S_(r,\"f2\"),level:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f3\"),4))))});// Education: f1 School · f2 Degree · f3 Years · f4 Line · n1 Order\nconst eduOf=r=>({slug:S_(r,\"slug\"),school:S_(r,\"f1\"),degree:S_(r,\"f2\"),years:S_(r,\"f3\"),line:S_(r,\"f4\")});// Projects: f1 Name · f2 Line · f3 Year · f4 Role (role slug) · f5 Result · f6 Tags (a; b) · f7 Body (Stage 3) · img Picture 4:3 · f8 Picture Alt · f9 Featured · n1 Order\nconst projectOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),year:S_(r,\"f3\"),role:S_(r,\"f4\"),result:S_(r,\"f5\"),tags:listOf(S_(r,\"f6\")),body:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\"),featured:yes(S_(r,\"f9\")),href:\"/projects/\"+S_(r,\"slug\")});// Recommendations (kind recs): f1 Quote · f2 Name · f3 Role · f4 Company · f5 Relation · img Picture 1:1 · n1 Order\nconst recOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),role:S_(r,\"f3\"),company:S_(r,\"f4\"),relation:S_(r,\"f5\"),img:imgOf(r)});// LANDFALL (10-13) Site: f1 Name · f2 Descriptor · f3 Tagline (the lead) · f4 Email · f5 Plan Link (/plan-a-trip) · f6 Tours Link (/tours) · f7 Eyebrow · f8 Facts · f9 Contact Link · img Picture · f10 Picture Alt · f11 Phone · f12 Status · f13 City · f14 Instagram · f15 YouTube · f16 Legal Line · f17 Timezone · f18 Newsletter Line · f19 Response Time · f20 Address · f21 Travellers · f22 Countries · f23 Since · img2 · f24 · f25 Journal Link · f26 Languages · f27 About\n// Tours: f1 Title · f2 Place · f3 Country · f4 Days · f5 From Price · f6 Next Departure · f7 Seats Left · img Picture · f8 Picture Alt · f9 Line · f10 Featured · f11 Picture Focus (css object-position, e.g. \"38% 50%\") · n1 Order\nconst tourOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),place:S_(r,\"f2\"),country:S_(r,\"f3\"),days:S_(r,\"f4\"),price:S_(r,\"f5\"),departs:S_(r,\"f6\"),seats:S_(r,\"f7\"),img:imgOr(r),alt:S_(r,\"f8\")||S_(r,\"f1\"),line:S_(r,\"f9\"),featured:yes(S_(r,\"f10\")),focus:S_(r,\"f11\")||\"50% 50%\",style:S_(r,\"f12\"),destination:S_(r,\"f13\"),guide:S_(r,\"f14\"),included:listOf(S_(r,\"f15\")),excluded:listOf(S_(r,\"f16\")),dates:cellRows(S_(r,\"f17\")),body:S_(r,\"f18\"),href:\"/tour/\"+S_(r,\"slug\")});// Days: f1 Tour (the tour slug) · f2 Place · f3 Title · f4 Line · f5 Facts · img Picture · f6 Picture Alt · n1 Order\nconst stopOf=r=>({slug:S_(r,\"slug\"),tour:S_(r,\"f1\"),place:S_(r,\"f2\"),title:S_(r,\"f3\"),line:S_(r,\"f4\"),facts:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f3\")});// Destinations: f1 Name · f2 Line · f3 Season · img Picture · f4 Picture Alt · n1 Order (a tour belongs to one by tour.destination === destination.name)\nconst destOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),line:S_(r,\"f2\"),season:S_(r,\"f3\"),img:imgOr(r),alt:S_(r,\"f4\")||S_(r,\"f1\"),body:S_(r,\"f5\"),facts:pairList(S_(r,\"f6\"),\";\"),href:\"/destination/\"+S_(r,\"slug\")});// Guides: f1 Name · f2 Role · f3 Home · f4 Line · f5 Tours Led · img Picture · f6 Picture Alt · n1 Order\nconst guideOf=r=>({slug:S_(r,\"slug\"),name:S_(r,\"f1\"),role:S_(r,\"f2\"),home:S_(r,\"f3\"),line:S_(r,\"f4\"),led:S_(r,\"f5\"),img:imgOr(r),alt:S_(r,\"f6\")||S_(r,\"f1\"),body:S_(r,\"f7\"),languages:S_(r,\"f8\"),since:S_(r,\"f9\"),href:\"/guide/\"+S_(r,\"slug\")});// Reviews: f1 Quote · f2 Name · f3 Trip · f4 Stars (1–5) · img Picture · n1 Order\nconst tripReviewOf=r=>({slug:S_(r,\"slug\"),quote:S_(r,\"f1\"),name:S_(r,\"f2\"),trip:S_(r,\"f3\"),stars:Math.max(0,Math.min(5,Math.round(numOf(S_(r,\"f4\"),5)))),img:imgOf(r)});// Posts (the journal): f1 Title · f2 Dek · f3 Kind · f4 Author · f5 Read · f6 Date (ISO) · img Picture · f7 Picture Alt · n1 Order\nconst journalOf=r=>({slug:S_(r,\"slug\"),title:S_(r,\"f1\"),dek:S_(r,\"f2\"),kind:S_(r,\"f3\"),author:S_(r,\"f4\"),read:S_(r,\"f5\"),date:S_(r,\"f6\"),img:imgOr(r),alt:S_(r,\"f7\")||S_(r,\"f1\"),body:S_(r,\"f8\"),href:\"/journal/\"+S_(r,\"slug\")});// Stage 3 slots (10-13): Tours f14 Guide (a guide slug) · f15 Included «a; b» · f16 Not Included · f17 Dates «date | price | seats» per line · f18 Body (md) — Destinations f5 Body (md) · f6 Facts «Label:Value; …» — Guides f7 Body (md) · f8 Languages · f9 Since — Posts f8 Body (md). stopOf(day).img is EMPTY_IMG when the row has no picture: test `imgOf(row)` and fall back to the tour picture.\n// Faq: f1 Question · f2 Answer · f3 Group («Booking» | «On tour» | «Contact») · n1 Order\nconst tripFaqOf=r=>({slug:S_(r,\"slug\"),q:S_(r,\"f1\"),a:S_(r,\"f2\"),group:S_(r,\"f3\")});// {name} in a control text = the Site Name (Stage 5): a column title, a top line or a mail subject follows the name when the buyer renames the site\nconst nameIn=(s,n)=>String(s??\"\").replace(/\\{name\\}/gi,String(n||\"\").trim());// ===== LfSmooth =====\n// PAGE-LEVEL — LfSmooth. Drop once on every page (or in the Site Layout). Renders nothing you can see.\n// 1) Lenis inertia scrolling on the published site only (off on touch and with reduced motion), exposed as window.__ltLenis (jumpTo, focusTo, Reveal and livehome.py read it); in-page #anchors scroll smoothly.\n// 2) THE site-wide cursor: mounts <SiteCursor> ONCE (round disc + mono label from data-cur). Sections never mount a cursor.\n// 3) Keyboard helper for sideways rows + decode-ahead for lazy pictures.\n/**\n * LANDFALL — smooth scroll + the site cursor. Drop once per page; renders nothing.\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 1\n */// Landfall cursor: the disc is the ORANGE fill (Signal token) with a cream rim; its label stays the cream pill with INK text (never white on orange). Two classes, so it wins over the shared CSS_CUR that the cursor injects after this.\nconst BWSMOOTH_CSS=`.lf-cur.lf-cur i{background:var(--lf-pine,#F2542D);box-shadow:0 0 0 1.5px var(--lf-cloud,#F8F4EB)} .lf-cur.lf-cur span{background:var(--lf-cloud,#F8F4EB);color:var(--lf-ink,#16201C)} html.lenis,html.lenis body{height:auto} .lenis.lenis-smooth{scroll-behavior:auto!important} .lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain} .lenis.lenis-stopped{overflow:hidden}`;export default function LfSmooth(props){const{smooth=true,smoothness=.1,wheelSpeed=1,anchorOffset=72,cursor=true}=props;const offset=anchorOffset;const live=useLive();const c=colorsOf(props);const{M}=fontsOf(props);const uid=useId();const[own,setOwn]=useState(false);// the cursor is mounted by ONE instance only, even when a page carries this component twice (layout + page)\nuseEffect(()=>{if(!live||!cursor){setOwn(false);return;}const w=window;if(w.__bwCur&&w.__bwCur!==uid)return;w.__bwCur=uid;setOwn(true);return()=>{if(w.__bwCur===uid)w.__bwCur=null;};},[live,cursor]);// site-wide keyboard helper: a focused item inside a sideways-scrolling row (card rails) is scrolled fully into its row\nuseEffect(()=>{if(!live)return;const f=e=>{const t=e.target;if(!t||!t.matches||!t.matches(\":focus-visible\"))return;let p=t.parentElement;while(p&&p!==document.body){const o=getComputedStyle(p).overflowX;if((o===\"auto\"||o===\"scroll\")&&p.scrollWidth>p.clientWidth+2){const a=p.getBoundingClientRect(),b=t.getBoundingClientRect();const pad=24;if(b.left<a.left+pad)p.scrollLeft-=a.left+pad-b.left;else if(b.right>a.right-pad)p.scrollLeft+=b.right-(a.right-pad);break;}p=p.parentElement;}};document.addEventListener(\"focusin\",f);return()=>document.removeEventListener(\"focusin\",f);},[live]);useEffect(()=>{if(!live||!smooth)return;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return;if(!window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches)return;const w=window;if(w.__ltLenis||w.__vcLenis)return;let lenis=null,off=()=>{},dead=false;// on `window` (newer Framer publishes defer document click listeners, so preventDefault there comes too late); a link that already handled the jump (Btn → jumpTo) is left alone\nconst onHash=e=>{if(e.defaultPrevented||!lenis)return;const a=e.target?.closest?.(\"a[href*='#']\");if(!a)return;const href=a.getAttribute(\"href\")||\"\";const i=href.indexOf(\"#\");const path=href.slice(0,i);if(path&&path!==location.pathname&&path!==\"\")return;const id=href.slice(i+1);const el=id&&document.getElementById(id);if(!el)return;e.preventDefault();lenis.scrollTo(el,{offset:-offset});try{history.pushState(null,\"\",\"#\"+id);}catch(x){}};// @ts-ignore — loaded at runtime on the published site\nimport(/* webpackIgnore: true */\"https://esm.sh/lenis@1.1.20\").then(mod=>{if(dead)return;const L=mod.default||mod.Lenis||mod;lenis=new L({lerp:smoothness,wheelMultiplier:wheelSpeed,smoothWheel:true});w.__ltLenis=lenis;off=onTick(()=>{},undefined,t=>lenis.raf(t));window.addEventListener(\"click\",onHash);document.documentElement.classList.add(\"lenis\");}).catch(()=>{});return()=>{dead=true;off();window.removeEventListener(\"click\",onHash);if(lenis){lenis.destroy();if(w.__ltLenis===lenis)w.__ltLenis=null;}document.documentElement.classList.remove(\"lenis\");};},[live,smooth,smoothness,wheelSpeed,offset]);// Decode-ahead: lazy images within ~2.5 screens below (and 1 above) are fetched + decoded in idle time, so a section never freezes a frame decoding several pictures the moment it scrolls in.\nuseEffect(()=>{if(!live||typeof window===\"undefined\")return;let busy=false,dead=false;const idle=fn=>window.requestIdleCallback?window.requestIdleCallback(fn,{timeout:600}):setTimeout(fn,120);const ahead=()=>{busy=false;if(dead)return;const H=window.innerHeight;let n=0;document.querySelectorAll('img[loading=\"lazy\"]').forEach(im=>{if(n>=8||im.dataset.bwPre)return;const r=im.getBoundingClientRect();if(r.top<H*2.5&&r.bottom>-H){im.dataset.bwPre=\"1\";n++;im.loading=\"eager\";if(im.decode)im.decode().catch(()=>{});}});};const kick=()=>{if(busy)return;busy=true;idle(ahead);};const t=setTimeout(kick,900);window.addEventListener(\"scroll\",kick,{passive:true});return()=>{dead=true;clearTimeout(t);window.removeEventListener(\"scroll\",kick);};},[live]);return /*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":true,\"data-lf-smooth\":\"\",style:{...props.style,display:\"block\",width:\"100%\",height:0,opacity:RenderTarget.current()===RenderTarget.canvas?.4:0},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:BWSMOOTH_CSS}}),own?/*#__PURE__*/_jsx(SiteCursor,{c:c,M:M}):null]});}addPropertyControls(LfSmooth,{smooth:{type:ControlType.Boolean,title:\"Smooth scroll\",description:\"Inertia scrolling on the published site. Always off on touch screens and with reduced motion\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:true},smoothness:{type:ControlType.Number,title:\"Smoothness\",description:\"Lower = more glide\",defaultValue:.1,min:.03,max:.2,step:.01,hidden:p=>p.smooth===false},wheelSpeed:{type:ControlType.Number,title:\"Wheel Speed\",defaultValue:1,min:.5,max:2,step:.1,hidden:p=>p.smooth===false},anchorOffset:{type:ControlType.Number,title:\"Anchor Offset\",description:\"Space kept above a section when a #link scrolls to it\",unit:\"px\",defaultValue:72,min:0,max:200,step:4},cursor:{type:ControlType.Boolean,title:\"Cursor\",description:\"The round disc with a label that follows the mouse over the sections. Off = the normal cursor\",enabledTitle:\"Disc\",disabledTitle:\"Normal\",defaultValue:true},...COLOR_CONTROLS,...FONT_CONTROLS});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LfSmooth\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LfSmooth.map","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// ../../library/src/utils/utils.ts\nvar k=\"undefined\"!=typeof window,L=k&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction B(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function E(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar M=1024,P=1.5,T=t=>2**t-1,x=t=>-(2**(t-1)),F=t=>2**(t-1)-1,N={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:x(8),Int16:x(16),Int32:x(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},A={Uint8:T(8),Uint16:T(16),Uint32:T(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:F(8),Int16:F(16),Int32:F(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function q(t,e,r,i){B(t>=e,t,\"outside lower bound for\",i),B(t<=r,t,\"outside upper bound for\",i);}var O=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*P)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){q(t,N.Uint8,A.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){q(t,N.Uint16,A.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){q(t,N.Uint32,A.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){q(t,N.Uint64,A.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){q(t,N.BigUint64,A.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){q(t,N.Int8,A.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){q(t,N.Int16,A.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){q(t,N.Int32,A.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){q(t,N.Int64,A.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){q(t,N.BigInt64,A.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(M)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction _(t){return\"string\"==typeof t;}function j(t){return Number.isFinite(t);}function D(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar R=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return B(j(r),\"Invalid chunkId\"),B(j(i),\"Invalid offset\"),B(j(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(B(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction C(t){if(D(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:E(t);}}function J(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function W(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function $(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function z(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function K(t,e){t.writeUint8(e.value?1:0);}function G(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:\"color\"/* Color */,value:t.readString()};}function H(t,e){t.writeString(e.value);}function X(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Q(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function Y(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Z(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function tt(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function te(t,e){t.writeString(e.value);}function tr(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function ti(t){return{type:\"file\"/* File */,value:t.readString()};}function tn(t,e){t.writeString(e.value);}function ts(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ta(t,e){t.writeJson(e.value);}function tu(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tl(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function th(t,e){t.writeFloat64(e.value);}function tc(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tf(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function td(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tg(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function tv(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function ty(t,e){t.writeJson(e.value);}function tp(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tm(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tw(t,e){if(j(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(_(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tb(t,e){let r=t.value,i=e.value;if(j(r)&&j(i)||_(r)&&_(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tI(t){return{type:\"string\"/* String */,value:t.readString()};}function tS(t,e){t.writeString(e.value);}function tU(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tk(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tL(t,e){t.writeUint32(e.value);}function tB(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return J(t);case 2/* Boolean */:return z(t);case 3/* Color */:return V(t);case 4/* Date */:return Q(t);case 5/* Enum */:return tt(t);case 6/* File */:return ti(t);case 7/* Link */:return to(t);case 8/* Number */:return tl(t);case 9/* Object */:return tf(t);case 10/* ResponsiveImage */:return tv(t);case 11/* RichText */:return tm(t);case 12/* String */:return tI(t);case 13/* VectorSetItem */:return tk(t);default:E(e);}},t.write=function(t,e){let r=C(e);if(t.writeUint8(r),!D(e))switch(e.type){case\"array\"/* Array */:return W(t,e);case\"boolean\"/* Boolean */:return K(t,e);case\"color\"/* Color */:return H(t,e);case\"date\"/* Date */:return Y(t,e);case\"enum\"/* Enum */:return te(t,e);case\"file\"/* File */:return tn(t,e);case\"link\"/* Link */:return ta(t,e);case\"number\"/* Number */:return th(t,e);case\"object\"/* Object */:return td(t,e);case\"responsiveimage\"/* ResponsiveImage */:return ty(t,e);case\"richtext\"/* RichText */:return tw(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tL(t,e);case\"string\"/* String */:return tS(t,e);default:E(e);}},t.compare=function(t,e,r){let i=C(t),n=C(e);if(i<n)return -1;if(i>n)return 1;if(D(t)||D(e))return 0;switch(t.type){case\"array\"/* Array */:return B(\"array\"/* Array */===e.type),$(t,e,r);case\"boolean\"/* Boolean */:return B(\"boolean\"/* Boolean */===e.type),G(t,e);case\"color\"/* Color */:return B(\"color\"/* Color */===e.type),X(t,e);case\"date\"/* Date */:return B(\"date\"/* Date */===e.type),Z(t,e);case\"enum\"/* Enum */:return B(\"enum\"/* Enum */===e.type),tr(t,e);case\"file\"/* File */:return B(\"file\"/* File */===e.type),ts(t,e);case\"link\"/* Link */:return B(\"link\"/* Link */===e.type),tu(t,e);case\"number\"/* Number */:return B(\"number\"/* Number */===e.type),tc(t,e);case\"object\"/* Object */:return B(\"object\"/* Object */===e.type),tg(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return B(\"responsiveimage\"/* ResponsiveImage */===e.type),tp(t,e);case\"richtext\"/* RichText */:return B(\"richtext\"/* RichText */===e.type),tb(t,e);case\"vectorsetitem\"/* VectorSetItem */:return B(\"vectorsetitem\"/* VectorSetItem */===e.type),tB(t,e);case\"string\"/* String */:return B(\"string\"/* String */===e.type),tU(t,e,r);default:E(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tE=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=R.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new O;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tM=3,tP=250,tT=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tx=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tT.includes(i.status)||++r>tM)return i;}catch(t){if(e?.signal?.aborted||++r>tM)throw t;}await tF(r);}};async function tF(t){let e=Math.floor(tP*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tN(t,e){let r=tO(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tx(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tA,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tA=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(B(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tq(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(B(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tq(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tq(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tO(t){B(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar t_=class{async loadModel(){let[t]=await tN(this.options.url,[this.options.range]);return B(t,\"Failed to load model\"),tE.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){B(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:E(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];B(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction tj(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tD(t){for(let e of t)yield*e.prioritySources;}var tR=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tx(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=tj(i),o=i.getOffset()-r,a=new R(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=R.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tN(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tD(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];B(o,\"Missing range bytes\");let a=new b(o),u=tj(a),l=t[e]?.pointer;B(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tC=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=R.fromString(t),i=this.chunks[r.chunkId];return B(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=R.fromString(t.pointer),i=R.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tR(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tC as DatabaseCollection,t_ as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,f,u=\"undefined\"!=typeof window,c=u&&\"function\"==typeof window.requestIdleCallback,l=\"preload\";function p(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&l in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as s,createElement as m}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction d(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar y=((a=y||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),h=((f=h||{})[f.RichText=1]=\"RichText\",f[f.VectorSetItem=2]=\"VectorSetItem\",f);function x(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}T(r,o,t);}}function T(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):T(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||x(e,r,t);}}function g(i){let a=/* @__PURE__ */new Map;return f=>{let u=a.get(f);if(u)return u;let c=JSON.parse(f),l=function a(f){switch(f[0]){case 1/* Fragment */:{let[,...e]=f,r=e.map(a);return /*#__PURE__*/m(s,void 0,...r);}case 2/* Link */:{let[,e,...r]=f,t=r.map(a);return /*#__PURE__*/m(n,e,...t);}case 3/* Module */:{let[,n,o,u]=f;x(o,u,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(p(t)&&t.preload(),t):r;});let c=i[n];return d(c,\"Module not found\"),p(c)&&c.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:c,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=f,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/m(o.a,r,...n);return /*#__PURE__*/m(e,r,...n);}case 5/* Text */:{let[,e]=f;return e;}}}(c);return a.set(f,l),l;};}export{h as RichTextJsonPropKind,y as RichTextJsonType,g as getRichTextJsonResolver,x as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3280217)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as a,DatabaseDictionaryIndex as r}from\"./esubuLK_s-0.js\";import{getRichTextJsonResolver as i}from\"./esubuLK_s-1.js\";let u={createdAt:{isNullable:!0,type:t.Date},FmSvfx1eL:{isNullable:!0,type:t.String},hk3mgBg_K:{isNullable:!0,type:t.ResponsiveImage},id:{isNullable:!1,type:t.String},jbLva9BVn:{isNullable:!0,type:t.String},N0gRqBabc:{isNullable:!0,type:t.Number},n4BzJ1ViD:{isNullable:!0,type:t.String},nextItemId:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},PWNJyOSKy:{isNullable:!0,type:t.String},qfBK9uYcc:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},W8KRw6Hna:{isNullable:!0,type:t.String},zI7on0e1L:{isNullable:!0,type:t.String}},m=[\"id\"],n={type:1},o=[\"previousItemId\"],s=[\"nextItemId\"],c=[\"id\",\"n4BzJ1ViD\"],d=[\"n4BzJ1ViD\",\"id\"],f={type:0},p=[\"n4BzJ1ViD\"],y=[\"zI7on0e1L\"],L=[\"W8KRw6Hna\"],g=[\"jbLva9BVn\"],b=[\"qfBK9uYcc\"],S=[\"PWNJyOSKy\"],h=[\"hk3mgBg_K\"],w=[\"FmSvfx1eL\"],N=[\"N0gRqBabc\"],K=[],R=e=>{let t=K[e];if(t)return t().then(e=>e.default);},I={},x=i(I),B=new l,V={collectionByLocaleId:{default:new a({chunks:[new URL(\"./esubuLK_s-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"ed5ced35-cbc2-439f-893e-131d68840536default\",indexes:[new r({collation:n,collectionSchema:u,fieldNames:m,range:{from:0,to:1585},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:n,collectionSchema:u,fieldNames:o,range:{from:1585,to:3169},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:n,collectionSchema:u,fieldNames:s,range:{from:3169,to:4749},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:n,collectionSchema:u,fieldNames:c,range:{from:4749,to:7192},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:d,range:{from:7192,to:9635},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:p,range:{from:9635,to:11162},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:y,range:{from:11162,to:13489},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:L,range:{from:13489,to:15113},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:g,range:{from:15113,to:17152},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:b,range:{from:17152,to:24072},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:S,range:{from:24072,to:27087},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:h,range:{from:27087,to:44093},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:w,range:{from:44093,to:47058},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")}),new r({collation:f,collectionSchema:u,fieldNames:N,range:{from:47058,to:48325},url:new URL(\"./esubuLK_s-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")})],resolveRichText:x,resolveVectorSetItem:R,schema:u})},displayName:\"Days\",id:\"ed5ced35-cbc2-439f-893e-131d68840536\"};export default V;e(V,{n4BzJ1ViD:{preventLocalization:!1,title:\"Slug\",type:t.String},zI7on0e1L:{defaultValue:\"\",title:\"Tour\",type:t.String},W8KRw6Hna:{defaultValue:\"\",title:\"Place\",type:t.String},jbLva9BVn:{defaultValue:\"\",title:\"Title\",type:t.String},qfBK9uYcc:{defaultValue:\"\",title:\"Line\",type:t.String},PWNJyOSKy:{defaultValue:\"\",title:\"Facts\",type:t.String},hk3mgBg_K:{title:\"Picture\",type:t.ResponsiveImage},FmSvfx1eL:{defaultValue:\"\",title:\"Picture Alt\",type:t.String},N0gRqBabc:{defaultValue:0,title:\"Order\",type:t.Number},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/esubuLK_s:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/esubuLK_s:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await B.query({from:{data:V,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"n4BzJ1ViD\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.n4BzJ1ViD;},async getRecordIdBySlug(e,t){let[l]=await B.query({from:{data:V,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"n4BzJ1ViD\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerCollectionUtils\":\"1\",\"framerData\":\"true\",\"framerSlug\":\"n4BzJ1ViD\",\"framerCollectionId\":\"esubuLK_s\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerContractVersion\":\"1\",\"framerRecordIdKey\":\"id\",\"framerColorSyntax\":\"false\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// ../../library/src/utils/utils.ts\nvar k=\"undefined\"!=typeof window,L=k&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction B(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function E(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar M=1024,P=1.5,T=t=>2**t-1,x=t=>-(2**(t-1)),F=t=>2**(t-1)-1,N={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:x(8),Int16:x(16),Int32:x(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},A={Uint8:T(8),Uint16:T(16),Uint32:T(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:F(8),Int16:F(16),Int32:F(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function q(t,e,r,i){B(t>=e,t,\"outside lower bound for\",i),B(t<=r,t,\"outside upper bound for\",i);}var O=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*P)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){q(t,N.Uint8,A.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){q(t,N.Uint16,A.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){q(t,N.Uint32,A.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){q(t,N.Uint64,A.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){q(t,N.BigUint64,A.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){q(t,N.Int8,A.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){q(t,N.Int16,A.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){q(t,N.Int32,A.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){q(t,N.Int64,A.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){q(t,N.BigInt64,A.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(M)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction _(t){return\"string\"==typeof t;}function j(t){return Number.isFinite(t);}function D(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar R=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return B(j(r),\"Invalid chunkId\"),B(j(i),\"Invalid offset\"),B(j(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(B(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction C(t){if(D(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:E(t);}}function J(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function W(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function $(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function z(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function K(t,e){t.writeUint8(e.value?1:0);}function G(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:\"color\"/* Color */,value:t.readString()};}function H(t,e){t.writeString(e.value);}function X(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Q(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function Y(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Z(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function tt(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function te(t,e){t.writeString(e.value);}function tr(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function ti(t){return{type:\"file\"/* File */,value:t.readString()};}function tn(t,e){t.writeString(e.value);}function ts(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ta(t,e){t.writeJson(e.value);}function tu(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tl(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function th(t,e){t.writeFloat64(e.value);}function tc(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tf(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function td(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tg(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function tv(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function ty(t,e){t.writeJson(e.value);}function tp(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tm(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tw(t,e){if(j(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(_(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tb(t,e){let r=t.value,i=e.value;if(j(r)&&j(i)||_(r)&&_(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tI(t){return{type:\"string\"/* String */,value:t.readString()};}function tS(t,e){t.writeString(e.value);}function tU(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tk(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tL(t,e){t.writeUint32(e.value);}function tB(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return J(t);case 2/* Boolean */:return z(t);case 3/* Color */:return V(t);case 4/* Date */:return Q(t);case 5/* Enum */:return tt(t);case 6/* File */:return ti(t);case 7/* Link */:return to(t);case 8/* Number */:return tl(t);case 9/* Object */:return tf(t);case 10/* ResponsiveImage */:return tv(t);case 11/* RichText */:return tm(t);case 12/* String */:return tI(t);case 13/* VectorSetItem */:return tk(t);default:E(e);}},t.write=function(t,e){let r=C(e);if(t.writeUint8(r),!D(e))switch(e.type){case\"array\"/* Array */:return W(t,e);case\"boolean\"/* Boolean */:return K(t,e);case\"color\"/* Color */:return H(t,e);case\"date\"/* Date */:return Y(t,e);case\"enum\"/* Enum */:return te(t,e);case\"file\"/* File */:return tn(t,e);case\"link\"/* Link */:return ta(t,e);case\"number\"/* Number */:return th(t,e);case\"object\"/* Object */:return td(t,e);case\"responsiveimage\"/* ResponsiveImage */:return ty(t,e);case\"richtext\"/* RichText */:return tw(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tL(t,e);case\"string\"/* String */:return tS(t,e);default:E(e);}},t.compare=function(t,e,r){let i=C(t),n=C(e);if(i<n)return -1;if(i>n)return 1;if(D(t)||D(e))return 0;switch(t.type){case\"array\"/* Array */:return B(\"array\"/* Array */===e.type),$(t,e,r);case\"boolean\"/* Boolean */:return B(\"boolean\"/* Boolean */===e.type),G(t,e);case\"color\"/* Color */:return B(\"color\"/* Color */===e.type),X(t,e);case\"date\"/* Date */:return B(\"date\"/* Date */===e.type),Z(t,e);case\"enum\"/* Enum */:return B(\"enum\"/* Enum */===e.type),tr(t,e);case\"file\"/* File */:return B(\"file\"/* File */===e.type),ts(t,e);case\"link\"/* Link */:return B(\"link\"/* Link */===e.type),tu(t,e);case\"number\"/* Number */:return B(\"number\"/* Number */===e.type),tc(t,e);case\"object\"/* Object */:return B(\"object\"/* Object */===e.type),tg(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return B(\"responsiveimage\"/* ResponsiveImage */===e.type),tp(t,e);case\"richtext\"/* RichText */:return B(\"richtext\"/* RichText */===e.type),tb(t,e);case\"vectorsetitem\"/* VectorSetItem */:return B(\"vectorsetitem\"/* VectorSetItem */===e.type),tB(t,e);case\"string\"/* String */:return B(\"string\"/* String */===e.type),tU(t,e,r);default:E(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tE=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=R.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new O;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tM=3,tP=250,tT=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tx=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tT.includes(i.status)||++r>tM)return i;}catch(t){if(e?.signal?.aborted||++r>tM)throw t;}await tF(r);}};async function tF(t){let e=Math.floor(tP*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tN(t,e){let r=tO(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tx(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tA,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tA=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(B(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tq(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(B(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tq(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tq(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tO(t){B(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar t_=class{async loadModel(){let[t]=await tN(this.options.url,[this.options.range]);return B(t,\"Failed to load model\"),tE.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){B(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:E(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];B(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction tj(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tD(t){for(let e of t)yield*e.prioritySources;}var tR=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tx(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=tj(i),o=i.getOffset()-r,a=new R(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=R.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tN(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tD(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];B(o,\"Missing range bytes\");let a=new b(o),u=tj(a),l=t[e]?.pointer;B(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tC=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=R.fromString(t),i=this.chunks[r.chunkId];return B(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=R.fromString(t.pointer),i=R.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tR(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tC as DatabaseCollection,t_ as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,f,u=\"undefined\"!=typeof window,c=u&&\"function\"==typeof window.requestIdleCallback,l=\"preload\";function p(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&l in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as s,createElement as m}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction d(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar y=((a=y||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),h=((f=h||{})[f.RichText=1]=\"RichText\",f[f.VectorSetItem=2]=\"VectorSetItem\",f);function x(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}T(r,o,t);}}function T(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):T(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||x(e,r,t);}}function g(i){let a=/* @__PURE__ */new Map;return f=>{let u=a.get(f);if(u)return u;let c=JSON.parse(f),l=function a(f){switch(f[0]){case 1/* Fragment */:{let[,...e]=f,r=e.map(a);return /*#__PURE__*/m(s,void 0,...r);}case 2/* Link */:{let[,e,...r]=f,t=r.map(a);return /*#__PURE__*/m(n,e,...t);}case 3/* Module */:{let[,n,o,u]=f;x(o,u,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(p(t)&&t.preload(),t):r;});let c=i[n];return d(c,\"Module not found\"),p(c)&&c.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:c,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=f,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/m(o.a,r,...n);return /*#__PURE__*/m(e,r,...n);}case 5/* Text */:{let[,e]=f;return e;}}}(c);return a.set(f,l),l;};}export{h as RichTextJsonPropKind,y as RichTextJsonType,g as getRichTextJsonResolver,x as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3280217)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as i}from\"./gauL9_r3j-0.js\";import{getRichTextJsonResolver as a}from\"./gauL9_r3j-1.js\";let r={createdAt:{isNullable:!0,type:t.Date},d8eQApZDy:{isNullable:!0,type:t.Number},gu9EYx_GT:{isNullable:!0,type:t.String},id:{isNullable:!1,type:t.String},lWWtK2F8B:{isNullable:!0,type:t.String},nextItemId:{isNullable:!0,type:t.String},oN9QfNlN1:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},xX5CWEP3l:{isNullable:!0,type:t.String}},u=[],d=e=>{let t=u[e];if(t)return t().then(e=>e.default);},n={},p=a(n),o=new l,y={collectionByLocaleId:{default:new i({chunks:[new URL(\"./gauL9_r3j-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"3dedd143-7275-42c9-b32b-984cfb986cd5default\",indexes:[],resolveRichText:p,resolveVectorSetItem:d,schema:r})},displayName:\"Faq\",id:\"3dedd143-7275-42c9-b32b-984cfb986cd5\"};export default y;e(y,{xX5CWEP3l:{preventLocalization:!1,title:\"Slug\",type:t.String},lWWtK2F8B:{defaultValue:\"\",title:\"Question\",type:t.String},oN9QfNlN1:{defaultValue:\"\",title:\"Answer\",type:t.String},gu9EYx_GT:{defaultValue:\"\",title:\"Group\",type:t.String},d8eQApZDy:{defaultValue:0,title:\"Order\",type:t.Number},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/gauL9_r3j:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/gauL9_r3j:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await o.query({from:{data:y,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"xX5CWEP3l\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.xX5CWEP3l;},async getRecordIdBySlug(e,t){let[l]=await o.query({from:{data:y,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"xX5CWEP3l\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerRecordIdKey\":\"id\",\"framerSlug\":\"xX5CWEP3l\",\"framerCollectionId\":\"gauL9_r3j\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerData\":\"true\",\"framerCollectionUtils\":\"1\",\"framerColorSyntax\":\"false\",\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// ../../library/src/utils/utils.ts\nvar k=\"undefined\"!=typeof window,L=k&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction B(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function E(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar M=1024,P=1.5,T=t=>2**t-1,x=t=>-(2**(t-1)),F=t=>2**(t-1)-1,N={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:x(8),Int16:x(16),Int32:x(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},A={Uint8:T(8),Uint16:T(16),Uint32:T(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:F(8),Int16:F(16),Int32:F(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function q(t,e,r,i){B(t>=e,t,\"outside lower bound for\",i),B(t<=r,t,\"outside upper bound for\",i);}var O=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*P)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){q(t,N.Uint8,A.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){q(t,N.Uint16,A.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){q(t,N.Uint32,A.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){q(t,N.Uint64,A.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){q(t,N.BigUint64,A.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){q(t,N.Int8,A.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){q(t,N.Int16,A.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){q(t,N.Int32,A.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){q(t,N.Int64,A.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){q(t,N.BigInt64,A.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(M)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction _(t){return\"string\"==typeof t;}function j(t){return Number.isFinite(t);}function D(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar R=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return B(j(r),\"Invalid chunkId\"),B(j(i),\"Invalid offset\"),B(j(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(B(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction C(t){if(D(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:E(t);}}function J(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function W(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function $(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function z(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function K(t,e){t.writeUint8(e.value?1:0);}function G(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:\"color\"/* Color */,value:t.readString()};}function H(t,e){t.writeString(e.value);}function X(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Q(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function Y(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Z(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function tt(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function te(t,e){t.writeString(e.value);}function tr(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function ti(t){return{type:\"file\"/* File */,value:t.readString()};}function tn(t,e){t.writeString(e.value);}function ts(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ta(t,e){t.writeJson(e.value);}function tu(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tl(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function th(t,e){t.writeFloat64(e.value);}function tc(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tf(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function td(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tg(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function tv(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function ty(t,e){t.writeJson(e.value);}function tp(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tm(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tw(t,e){if(j(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(_(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tb(t,e){let r=t.value,i=e.value;if(j(r)&&j(i)||_(r)&&_(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tI(t){return{type:\"string\"/* String */,value:t.readString()};}function tS(t,e){t.writeString(e.value);}function tU(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tk(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tL(t,e){t.writeUint32(e.value);}function tB(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return J(t);case 2/* Boolean */:return z(t);case 3/* Color */:return V(t);case 4/* Date */:return Q(t);case 5/* Enum */:return tt(t);case 6/* File */:return ti(t);case 7/* Link */:return to(t);case 8/* Number */:return tl(t);case 9/* Object */:return tf(t);case 10/* ResponsiveImage */:return tv(t);case 11/* RichText */:return tm(t);case 12/* String */:return tI(t);case 13/* VectorSetItem */:return tk(t);default:E(e);}},t.write=function(t,e){let r=C(e);if(t.writeUint8(r),!D(e))switch(e.type){case\"array\"/* Array */:return W(t,e);case\"boolean\"/* Boolean */:return K(t,e);case\"color\"/* Color */:return H(t,e);case\"date\"/* Date */:return Y(t,e);case\"enum\"/* Enum */:return te(t,e);case\"file\"/* File */:return tn(t,e);case\"link\"/* Link */:return ta(t,e);case\"number\"/* Number */:return th(t,e);case\"object\"/* Object */:return td(t,e);case\"responsiveimage\"/* ResponsiveImage */:return ty(t,e);case\"richtext\"/* RichText */:return tw(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tL(t,e);case\"string\"/* String */:return tS(t,e);default:E(e);}},t.compare=function(t,e,r){let i=C(t),n=C(e);if(i<n)return -1;if(i>n)return 1;if(D(t)||D(e))return 0;switch(t.type){case\"array\"/* Array */:return B(\"array\"/* Array */===e.type),$(t,e,r);case\"boolean\"/* Boolean */:return B(\"boolean\"/* Boolean */===e.type),G(t,e);case\"color\"/* Color */:return B(\"color\"/* Color */===e.type),X(t,e);case\"date\"/* Date */:return B(\"date\"/* Date */===e.type),Z(t,e);case\"enum\"/* Enum */:return B(\"enum\"/* Enum */===e.type),tr(t,e);case\"file\"/* File */:return B(\"file\"/* File */===e.type),ts(t,e);case\"link\"/* Link */:return B(\"link\"/* Link */===e.type),tu(t,e);case\"number\"/* Number */:return B(\"number\"/* Number */===e.type),tc(t,e);case\"object\"/* Object */:return B(\"object\"/* Object */===e.type),tg(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return B(\"responsiveimage\"/* ResponsiveImage */===e.type),tp(t,e);case\"richtext\"/* RichText */:return B(\"richtext\"/* RichText */===e.type),tb(t,e);case\"vectorsetitem\"/* VectorSetItem */:return B(\"vectorsetitem\"/* VectorSetItem */===e.type),tB(t,e);case\"string\"/* String */:return B(\"string\"/* String */===e.type),tU(t,e,r);default:E(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tE=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=R.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new O;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tM=3,tP=250,tT=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tx=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tT.includes(i.status)||++r>tM)return i;}catch(t){if(e?.signal?.aborted||++r>tM)throw t;}await tF(r);}};async function tF(t){let e=Math.floor(tP*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tN(t,e){let r=tO(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tx(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tA,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tA=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(B(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tq(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(B(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tq(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tq(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tO(t){B(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar t_=class{async loadModel(){let[t]=await tN(this.options.url,[this.options.range]);return B(t,\"Failed to load model\"),tE.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){B(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:E(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];B(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction tj(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tD(t){for(let e of t)yield*e.prioritySources;}var tR=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tx(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=tj(i),o=i.getOffset()-r,a=new R(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=R.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tN(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tD(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];B(o,\"Missing range bytes\");let a=new b(o),u=tj(a),l=t[e]?.pointer;B(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tC=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=R.fromString(t),i=this.chunks[r.chunkId];return B(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=R.fromString(t.pointer),i=R.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tR(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tC as DatabaseCollection,t_ as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,f,u=\"undefined\"!=typeof window,c=u&&\"function\"==typeof window.requestIdleCallback,l=\"preload\";function p(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&l in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as s,createElement as m}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction d(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar y=((a=y||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),h=((f=h||{})[f.RichText=1]=\"RichText\",f[f.VectorSetItem=2]=\"VectorSetItem\",f);function x(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}T(r,o,t);}}function T(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):T(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||x(e,r,t);}}function g(i){let a=/* @__PURE__ */new Map;return f=>{let u=a.get(f);if(u)return u;let c=JSON.parse(f),l=function a(f){switch(f[0]){case 1/* Fragment */:{let[,...e]=f,r=e.map(a);return /*#__PURE__*/m(s,void 0,...r);}case 2/* Link */:{let[,e,...r]=f,t=r.map(a);return /*#__PURE__*/m(n,e,...t);}case 3/* Module */:{let[,n,o,u]=f;x(o,u,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(p(t)&&t.preload(),t):r;});let c=i[n];return d(c,\"Module not found\"),p(c)&&c.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:c,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=f,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/m(o.a,r,...n);return /*#__PURE__*/m(e,r,...n);}case 5/* Text */:{let[,e]=f;return e;}}}(c);return a.set(f,l),l;};}export{h as RichTextJsonPropKind,y as RichTextJsonType,g as getRichTextJsonResolver,x as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3280217)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as i}from\"./owc3acO2r-0.js\";import{getRichTextJsonResolver as a}from\"./owc3acO2r-1.js\";let r={BgaVagXxD:{isNullable:!0,type:t.String},createdAt:{isNullable:!0,type:t.Date},CWFChV52t:{isNullable:!0,type:t.String},DIjWkgS0V:{isNullable:!0,type:t.String},Dy6oVkP8T:{isNullable:!0,type:t.String},FUqz93PhC:{isNullable:!0,type:t.String},gBD6tWie3:{isNullable:!0,type:t.String},HfPOI4vwn:{isNullable:!0,type:t.String},HlisHrbcK:{isNullable:!0,type:t.String},id:{isNullable:!1,type:t.String},iF_zdBiie:{isNullable:!0,type:t.String},JKinUcSdH:{isNullable:!0,type:t.String},KQytXZYKy:{isNullable:!0,type:t.String},lqPkMFMth:{isNullable:!0,type:t.String},M9rI1SlmJ:{isNullable:!0,type:t.String},nextItemId:{isNullable:!0,type:t.String},NyjesCF7S:{isNullable:!0,type:t.String},O_w6eAFEa:{isNullable:!0,type:t.ResponsiveImage},previousItemId:{isNullable:!0,type:t.String},rgQO0FxBD:{isNullable:!0,type:t.ResponsiveImage},SAUKkJFK3:{isNullable:!0,type:t.String},sUpPdB2fq:{isNullable:!0,type:t.String},tffjgFky2:{isNullable:!0,type:t.String},tjS4cfGau:{isNullable:!0,type:t.String},tsaHsoBLh:{isNullable:!0,type:t.String},TyKqPw1iQ:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},v2GXK4ydg:{isNullable:!0,type:t.String},WFebAZXOI:{isNullable:!0,type:t.String},Xd7ucf4g4:{isNullable:!0,type:t.String},XMLg0GEl0:{isNullable:!0,type:t.String},YC0edG5DE:{isNullable:!0,type:t.String},ysaH5bHnU:{isNullable:!0,type:t.String},yTJ1mxcCH:{isNullable:!0,type:t.String},zfWkvg3KX:{isNullable:!0,type:t.String}},u=[],n=e=>{let t=u[e];if(t)return t().then(e=>e.default);},y={},p=a(y),g=new l,d={collectionByLocaleId:{default:new i({chunks:[new URL(\"./owc3acO2r-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"8285e4e2-ed39-401b-ad6e-c805bc846c4fdefault\",indexes:[],resolveRichText:p,resolveVectorSetItem:n,schema:r})},displayName:\"Site\",id:\"8285e4e2-ed39-401b-ad6e-c805bc846c4f\"};export default d;e(d,{WFebAZXOI:{preventLocalization:!1,title:\"Slug\",type:t.String},FUqz93PhC:{defaultValue:\"\",title:\"Name\",type:t.String},SAUKkJFK3:{defaultValue:\"\",title:\"Descriptor\",type:t.String},ysaH5bHnU:{defaultValue:\"\",title:\"Tagline\",type:t.String},iF_zdBiie:{defaultValue:\"\",title:\"Email\",type:t.String},KQytXZYKy:{defaultValue:\"\",title:\"Plan Link\",type:t.String},tffjgFky2:{defaultValue:\"\",title:\"Tours Link\",type:t.String},lqPkMFMth:{defaultValue:\"\",title:\"Eyebrow\",type:t.String},HfPOI4vwn:{defaultValue:\"\",title:\"Facts\",type:t.String},gBD6tWie3:{defaultValue:\"\",title:\"Contact Link\",type:t.String},O_w6eAFEa:{title:\"Picture\",type:t.ResponsiveImage},sUpPdB2fq:{defaultValue:\"\",title:\"Picture Alt\",type:t.String},BgaVagXxD:{defaultValue:\"\",title:\"Phone\",type:t.String},M9rI1SlmJ:{defaultValue:\"\",title:\"Status\",type:t.String},v2GXK4ydg:{defaultValue:\"\",title:\"City\",type:t.String},yTJ1mxcCH:{defaultValue:\"\",title:\"Instagram Link\",type:t.String},Xd7ucf4g4:{defaultValue:\"\",title:\"YouTube Link\",type:t.String},tjS4cfGau:{defaultValue:\"\",title:\"Legal Line\",type:t.String},zfWkvg3KX:{defaultValue:\"\",title:\"Timezone\",type:t.String},JKinUcSdH:{defaultValue:\"\",title:\"Newsletter Line\",type:t.String},XMLg0GEl0:{defaultValue:\"\",title:\"Response Time\",type:t.String},Dy6oVkP8T:{defaultValue:\"\",title:\"Address\",type:t.String},tsaHsoBLh:{defaultValue:\"\",title:\"Travellers\",type:t.String},YC0edG5DE:{defaultValue:\"\",title:\"Countries\",type:t.String},DIjWkgS0V:{defaultValue:\"\",title:\"Since\",type:t.String},rgQO0FxBD:{title:\"Second Picture\",type:t.ResponsiveImage},CWFChV52t:{defaultValue:\"\",title:\"Second Picture Alt\",type:t.String},TyKqPw1iQ:{defaultValue:\"\",title:\"Journal Link\",type:t.String},HlisHrbcK:{defaultValue:\"\",title:\"Languages\",type:t.String},NyjesCF7S:{defaultValue:\"\",title:\"About\",type:t.String},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/owc3acO2r:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/owc3acO2r:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await g.query({from:{data:d,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"WFebAZXOI\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.WFebAZXOI;},async getRecordIdBySlug(e,t){let[l]=await g.query({from:{data:d,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"WFebAZXOI\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerData\":\"true\",\"framerCollectionUtils\":\"1\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"false\",\"framerRecordIdKey\":\"id\",\"framerSlug\":\"WFebAZXOI\",\"framerCollectionId\":\"owc3acO2r\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// ../../library/src/utils/utils.ts\nvar k=\"undefined\"!=typeof window,L=k&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction B(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function E(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar M=1024,P=1.5,T=t=>2**t-1,x=t=>-(2**(t-1)),F=t=>2**(t-1)-1,N={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:x(8),Int16:x(16),Int32:x(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},A={Uint8:T(8),Uint16:T(16),Uint32:T(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:F(8),Int16:F(16),Int32:F(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function q(t,e,r,i){B(t>=e,t,\"outside lower bound for\",i),B(t<=r,t,\"outside upper bound for\",i);}var O=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*P)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){q(t,N.Uint8,A.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){q(t,N.Uint16,A.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){q(t,N.Uint32,A.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){q(t,N.Uint64,A.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){q(t,N.BigUint64,A.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){q(t,N.Int8,A.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){q(t,N.Int16,A.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){q(t,N.Int32,A.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){q(t,N.Int64,A.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){q(t,N.BigInt64,A.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(M)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction _(t){return\"string\"==typeof t;}function j(t){return Number.isFinite(t);}function D(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar R=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return B(j(r),\"Invalid chunkId\"),B(j(i),\"Invalid offset\"),B(j(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(B(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction C(t){if(D(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:E(t);}}function J(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function W(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function $(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function z(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function K(t,e){t.writeUint8(e.value?1:0);}function G(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:\"color\"/* Color */,value:t.readString()};}function H(t,e){t.writeString(e.value);}function X(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Q(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function Y(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Z(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function tt(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function te(t,e){t.writeString(e.value);}function tr(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function ti(t){return{type:\"file\"/* File */,value:t.readString()};}function tn(t,e){t.writeString(e.value);}function ts(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ta(t,e){t.writeJson(e.value);}function tu(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tl(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function th(t,e){t.writeFloat64(e.value);}function tc(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tf(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function td(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tg(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function tv(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function ty(t,e){t.writeJson(e.value);}function tp(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tm(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tw(t,e){if(j(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(_(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tb(t,e){let r=t.value,i=e.value;if(j(r)&&j(i)||_(r)&&_(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tI(t){return{type:\"string\"/* String */,value:t.readString()};}function tS(t,e){t.writeString(e.value);}function tU(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tk(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tL(t,e){t.writeUint32(e.value);}function tB(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return J(t);case 2/* Boolean */:return z(t);case 3/* Color */:return V(t);case 4/* Date */:return Q(t);case 5/* Enum */:return tt(t);case 6/* File */:return ti(t);case 7/* Link */:return to(t);case 8/* Number */:return tl(t);case 9/* Object */:return tf(t);case 10/* ResponsiveImage */:return tv(t);case 11/* RichText */:return tm(t);case 12/* String */:return tI(t);case 13/* VectorSetItem */:return tk(t);default:E(e);}},t.write=function(t,e){let r=C(e);if(t.writeUint8(r),!D(e))switch(e.type){case\"array\"/* Array */:return W(t,e);case\"boolean\"/* Boolean */:return K(t,e);case\"color\"/* Color */:return H(t,e);case\"date\"/* Date */:return Y(t,e);case\"enum\"/* Enum */:return te(t,e);case\"file\"/* File */:return tn(t,e);case\"link\"/* Link */:return ta(t,e);case\"number\"/* Number */:return th(t,e);case\"object\"/* Object */:return td(t,e);case\"responsiveimage\"/* ResponsiveImage */:return ty(t,e);case\"richtext\"/* RichText */:return tw(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tL(t,e);case\"string\"/* String */:return tS(t,e);default:E(e);}},t.compare=function(t,e,r){let i=C(t),n=C(e);if(i<n)return -1;if(i>n)return 1;if(D(t)||D(e))return 0;switch(t.type){case\"array\"/* Array */:return B(\"array\"/* Array */===e.type),$(t,e,r);case\"boolean\"/* Boolean */:return B(\"boolean\"/* Boolean */===e.type),G(t,e);case\"color\"/* Color */:return B(\"color\"/* Color */===e.type),X(t,e);case\"date\"/* Date */:return B(\"date\"/* Date */===e.type),Z(t,e);case\"enum\"/* Enum */:return B(\"enum\"/* Enum */===e.type),tr(t,e);case\"file\"/* File */:return B(\"file\"/* File */===e.type),ts(t,e);case\"link\"/* Link */:return B(\"link\"/* Link */===e.type),tu(t,e);case\"number\"/* Number */:return B(\"number\"/* Number */===e.type),tc(t,e);case\"object\"/* Object */:return B(\"object\"/* Object */===e.type),tg(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return B(\"responsiveimage\"/* ResponsiveImage */===e.type),tp(t,e);case\"richtext\"/* RichText */:return B(\"richtext\"/* RichText */===e.type),tb(t,e);case\"vectorsetitem\"/* VectorSetItem */:return B(\"vectorsetitem\"/* VectorSetItem */===e.type),tB(t,e);case\"string\"/* String */:return B(\"string\"/* String */===e.type),tU(t,e,r);default:E(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tE=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=R.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new O;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tM=3,tP=250,tT=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tx=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tT.includes(i.status)||++r>tM)return i;}catch(t){if(e?.signal?.aborted||++r>tM)throw t;}await tF(r);}};async function tF(t){let e=Math.floor(tP*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tN(t,e){let r=tO(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tx(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tA,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tA=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(B(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tq(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(B(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tq(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tq(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tO(t){B(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar t_=class{async loadModel(){let[t]=await tN(this.options.url,[this.options.range]);return B(t,\"Failed to load model\"),tE.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){B(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:E(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];B(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction tj(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tD(t){for(let e of t)yield*e.prioritySources;}var tR=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tx(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=tj(i),o=i.getOffset()-r,a=new R(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=R.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tN(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tD(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];B(o,\"Missing range bytes\");let a=new b(o),u=tj(a),l=t[e]?.pointer;B(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tC=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=R.fromString(t),i=this.chunks[r.chunkId];return B(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=R.fromString(t.pointer),i=R.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tR(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tC as DatabaseCollection,t_ as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,f,u=\"undefined\"!=typeof window,c=u&&\"function\"==typeof window.requestIdleCallback,l=\"preload\";function p(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&l in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as s,createElement as m}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction d(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar y=((a=y||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),h=((f=h||{})[f.RichText=1]=\"RichText\",f[f.VectorSetItem=2]=\"VectorSetItem\",f);function x(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}T(r,o,t);}}function T(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):T(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||x(e,r,t);}}function g(i){let a=/* @__PURE__ */new Map;return f=>{let u=a.get(f);if(u)return u;let c=JSON.parse(f),l=function a(f){switch(f[0]){case 1/* Fragment */:{let[,...e]=f,r=e.map(a);return /*#__PURE__*/m(s,void 0,...r);}case 2/* Link */:{let[,e,...r]=f,t=r.map(a);return /*#__PURE__*/m(n,e,...t);}case 3/* Module */:{let[,n,o,u]=f;x(o,u,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(p(t)&&t.preload(),t):r;});let c=i[n];return d(c,\"Module not found\"),p(c)&&c.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:c,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=f,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/m(o.a,r,...n);return /*#__PURE__*/m(e,r,...n);}case 5/* Text */:{let[,e]=f;return e;}}}(c);return a.set(f,l),l;};}export{h as RichTextJsonPropKind,y as RichTextJsonType,g as getRichTextJsonResolver,x as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3280217)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as a}from\"./whvn0hl2s-0.js\";import{getRichTextJsonResolver as i}from\"./whvn0hl2s-1.js\";let r={bpGaamWA0:{isNullable:!0,type:t.String},bXfVgB_5p:{isNullable:!0,type:t.String},createdAt:{isNullable:!0,type:t.Date},id:{isNullable:!1,type:t.String},IJIWrtnga:{isNullable:!0,type:t.Number},JjhNkt6fl:{isNullable:!0,type:t.ResponsiveImage},nextItemId:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},UTYbShOQ1:{isNullable:!0,type:t.String},VuSzUM7zl:{isNullable:!0,type:t.String},y7G3lYCUK:{isNullable:!0,type:t.String}},n=[],u=e=>{let t=n[e];if(t)return t().then(e=>e.default);},p={},d=i(p),o=new l,y={collectionByLocaleId:{default:new a({chunks:[new URL(\"./whvn0hl2s-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"551db5e2-b9e0-4fad-a42e-754e0072c81bdefault\",indexes:[],resolveRichText:d,resolveVectorSetItem:u,schema:r})},displayName:\"Reviews\",id:\"551db5e2-b9e0-4fad-a42e-754e0072c81b\"};export default y;e(y,{UTYbShOQ1:{preventLocalization:!1,title:\"Slug\",type:t.String},y7G3lYCUK:{defaultValue:\"\",title:\"Quote\",type:t.String},bXfVgB_5p:{defaultValue:\"\",title:\"Name\",type:t.String},VuSzUM7zl:{defaultValue:\"\",title:\"Trip\",type:t.String},bpGaamWA0:{defaultValue:\"\",title:\"Stars\",type:t.String},JjhNkt6fl:{title:\"Picture\",type:t.ResponsiveImage},IJIWrtnga:{defaultValue:0,title:\"Order\",type:t.Number},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/whvn0hl2s:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/whvn0hl2s:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await o.query({from:{data:y,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"UTYbShOQ1\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.UTYbShOQ1;},async getRecordIdBySlug(e,t){let[l]=await o.query({from:{data:y,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"UTYbShOQ1\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerColorSyntax\":\"false\",\"framerContractVersion\":\"1\",\"framerData\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerSlug\":\"UTYbShOQ1\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerCollectionUtils\":\"1\",\"framerRecordIdKey\":\"id\",\"framerCollectionId\":\"whvn0hl2s\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3280217)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ChildrenCanSuspend,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PathVariablesContext,PropertyOverrides,queryCache,RenderTarget,runTasksWithYield,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useQueryData,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LfCmsRow from\"#framer/local/codeFile/o74ojrt/LfCmsRow.js\";import LfFooter from\"#framer/local/codeFile/ZVhDHlk/LfFooter.js\";import LfHeader from\"#framer/local/codeFile/xmuvvsS/LfHeader.js\";import LfLoader from\"#framer/local/codeFile/MyUhMsz/LfLoader.js\";import LfSmooth from\"#framer/local/codeFile/JUAn0EY/LfSmooth.js\";import Guides from\"#framer/local/collection/C3tXy2fCi/C3tXy2fCi.js\";import Destinations from\"#framer/local/collection/CS9AeLti4/CS9AeLti4.js\";import Days from\"#framer/local/collection/esubuLK_s/esubuLK_s.js\";import Faq from\"#framer/local/collection/gauL9_r3j/gauL9_r3j.js\";import Tours from\"#framer/local/collection/OriGqdTk4/OriGqdTk4.js\";import Site from\"#framer/local/collection/owc3acO2r/owc3acO2r.js\";import Reviews from\"#framer/local/collection/whvn0hl2s/whvn0hl2s.js\";import Posts from\"#framer/local/collection/xRzBhCeCz/xRzBhCeCz.js\";const LfHeaderFonts=getFonts(LfHeader);const LfLoaderFonts=getFonts(LfLoader);const LfCmsRowFonts=getFonts(LfCmsRow);const LfSmoothFonts=getFonts(LfSmooth);const LfFooterFonts=getFonts(LfFooter);const breakpoints={cvYDZihkv:\"(max-width: 809.98px)\",DP3KG3zZz:\"(min-width: 810px) and (max-width: 1199.98px)\",FvBx8Kytt:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-lhSPu\";const variantClassNames={cvYDZihkv:\"framer-v-1d5o739\",DP3KG3zZz:\"framer-v-oowe7r\",FvBx8Kytt:\"framer-v-ge7t0z\"};const xX5CWEP3lNx5izFjYZ=undefined;const lWWtK2F8BNx5izFjYZ=undefined;const oN9QfNlN1Nx5izFjYZ=undefined;const gu9EYx_GTNx5izFjYZ=undefined;const d8eQApZDyNx5izFjYZ=undefined;const idNx5izFjYZ=undefined;const VWa6deQPmywR6HLztN=undefined;const ngZi_HJuKywR6HLztN=undefined;const JwDgD9K7GywR6HLztN=undefined;const y1WN2frWwywR6HLztN=undefined;const pcImA5iOmywR6HLztN=undefined;const f5Ul9mpaHywR6HLztN=undefined;const mMEZFx2lZywR6HLztN=undefined;const r6N_20BWmywR6HLztN=undefined;const jz18sxxa0ywR6HLztN=undefined;const bCjwHHZ22ywR6HLztN=undefined;const frP0A4EGBywR6HLztN=undefined;const idywR6HLztN=undefined;const UTYbShOQ1TyTw5cjrI=undefined;const y7G3lYCUKTyTw5cjrI=undefined;const bXfVgB_5pTyTw5cjrI=undefined;const VuSzUM7zlTyTw5cjrI=undefined;const bpGaamWA0TyTw5cjrI=undefined;const IJIWrtngaTyTw5cjrI=undefined;const JjhNkt6flTyTw5cjrI=undefined;const idTyTw5cjrI=undefined;const vGxCQ2M18kOz7sgXzs=undefined;const j8pdLuS1XkOz7sgXzs=undefined;const xkqgr2m69kOz7sgXzs=undefined;const kOl3Pv8N8kOz7sgXzs=undefined;const dXXzcVKS_kOz7sgXzs=undefined;const iQ_og64JCkOz7sgXzs=undefined;const Lgd535cO5kOz7sgXzs=undefined;const dEVgugpLfkOz7sgXzs=undefined;const I4g0YvkeCkOz7sgXzs=undefined;const ptCVSZqvjkOz7sgXzs=undefined;const Yfym5rqGskOz7sgXzs=undefined;const bAy2got24kOz7sgXzs=undefined;const idkOz7sgXzs=undefined;const ORe6ivxq4m5X8agEM5=undefined;const RpZp0oCkUm5X8agEM5=undefined;const H9wrNZ5MTm5X8agEM5=undefined;const nszMeChwxm5X8agEM5=undefined;const wzXR11ETsm5X8agEM5=undefined;const TpWnX0ES7m5X8agEM5=undefined;const L9TcyNEdbm5X8agEM5=undefined;const SargudUavm5X8agEM5=undefined;const SubfhO1Ocm5X8agEM5=undefined;const idm5X8agEM5=undefined;const n4BzJ1ViDDdpsUFalb=undefined;const zI7on0e1LDdpsUFalb=undefined;const W8KRw6HnaDdpsUFalb=undefined;const jbLva9BVnDdpsUFalb=undefined;const qfBK9uYccDdpsUFalb=undefined;const PWNJyOSKyDdpsUFalb=undefined;const FmSvfx1eLDdpsUFalb=undefined;const N0gRqBabcDdpsUFalb=undefined;const hk3mgBg_KDdpsUFalb=undefined;const idDdpsUFalb=undefined;const Xpt1QfM7QkM9rOKjfg=undefined;const ZuChVErA4kM9rOKjfg=undefined;const Gi0PaMTTLkM9rOKjfg=undefined;const E7wNzArGAkM9rOKjfg=undefined;const zp1s29_pvkM9rOKjfg=undefined;const dPXMa5w1zkM9rOKjfg=undefined;const UpKAdulFtkM9rOKjfg=undefined;const RpMcSJzFskM9rOKjfg=undefined;const i8GBcbyegkM9rOKjfg=undefined;const ueOnkMLZ1kM9rOKjfg=undefined;const BKt1rnSVIkM9rOKjfg=undefined;const tkC8NpeZ2kM9rOKjfg=undefined;const GOBOGeLUxkM9rOKjfg=undefined;const Cmlg38pJIkM9rOKjfg=undefined;const t1Q2415_8kM9rOKjfg=undefined;const wNXRB83K3kM9rOKjfg=undefined;const cOrSH1yhbkM9rOKjfg=undefined;const ju3NcWlJjkM9rOKjfg=undefined;const tqexBUdG6kM9rOKjfg=undefined;const AQ09m5k4UkM9rOKjfg=undefined;const lQsQQdjUbkM9rOKjfg=undefined;const idkM9rOKjfg=undefined;const WFebAZXOINrcrBqxHP=undefined;const FUqz93PhCNrcrBqxHP=undefined;const SAUKkJFK3NrcrBqxHP=undefined;const ysaH5bHnUNrcrBqxHP=undefined;const iF_zdBiieNrcrBqxHP=undefined;const KQytXZYKyNrcrBqxHP=undefined;const tffjgFky2NrcrBqxHP=undefined;const lqPkMFMthNrcrBqxHP=undefined;const HfPOI4vwnNrcrBqxHP=undefined;const gBD6tWie3NrcrBqxHP=undefined;const sUpPdB2fqNrcrBqxHP=undefined;const BgaVagXxDNrcrBqxHP=undefined;const M9rI1SlmJNrcrBqxHP=undefined;const v2GXK4ydgNrcrBqxHP=undefined;const yTJ1mxcCHNrcrBqxHP=undefined;const Xd7ucf4g4NrcrBqxHP=undefined;const tjS4cfGauNrcrBqxHP=undefined;const zfWkvg3KXNrcrBqxHP=undefined;const JKinUcSdHNrcrBqxHP=undefined;const XMLg0GEl0NrcrBqxHP=undefined;const Dy6oVkP8TNrcrBqxHP=undefined;const tsaHsoBLhNrcrBqxHP=undefined;const YC0edG5DENrcrBqxHP=undefined;const DIjWkgS0VNrcrBqxHP=undefined;const CWFChV52tNrcrBqxHP=undefined;const TyKqPw1iQNrcrBqxHP=undefined;const HlisHrbcKNrcrBqxHP=undefined;const NyjesCF7SNrcrBqxHP=undefined;const O_w6eAFEaNrcrBqxHP=undefined;const rgQO0FxBDNrcrBqxHP=undefined;const idNrcrBqxHP=undefined;const query=prequery=>prequery({from:{alias:\"Nx5izFjYZ\",data:Faq,type:\"Collection\"},orderBy:[{collection:\"Nx5izFjYZ\",name:\"d8eQApZDy\",type:\"Identifier\"}],select:[{collection:\"Nx5izFjYZ\",name:\"xX5CWEP3l\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"lWWtK2F8B\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"oN9QfNlN1\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"gu9EYx_GT\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"d8eQApZDy\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"id\",type:\"Identifier\"}]});const query1=()=>({from:{alias:\"Nx5izFjYZ\",data:Faq,type:\"Collection\"},orderBy:[{collection:\"Nx5izFjYZ\",name:\"d8eQApZDy\",type:\"Identifier\"}],select:[{collection:\"Nx5izFjYZ\",name:\"xX5CWEP3l\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"lWWtK2F8B\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"oN9QfNlN1\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"gu9EYx_GT\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"d8eQApZDy\",type:\"Identifier\"},{collection:\"Nx5izFjYZ\",name:\"id\",type:\"Identifier\"}]});const QueryData=({query,pageSize,children})=>{const data=useQueryData(query);return children(data);};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const query2=prequery=>prequery({from:{alias:\"ywR6HLztN\",data:Posts,type:\"Collection\"},orderBy:[{collection:\"ywR6HLztN\",name:\"bCjwHHZ22\",type:\"Identifier\"}],select:[{collection:\"ywR6HLztN\",name:\"VWa6deQPm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"ngZi_HJuK\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"JwDgD9K7G\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"y1WN2frWw\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"pcImA5iOm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"f5Ul9mpaH\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"mMEZFx2lZ\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"r6N_20BWm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"jz18sxxa0\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"bCjwHHZ22\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"frP0A4EGB\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"id\",type:\"Identifier\"}]});const query3=()=>({from:{alias:\"ywR6HLztN\",data:Posts,type:\"Collection\"},orderBy:[{collection:\"ywR6HLztN\",name:\"bCjwHHZ22\",type:\"Identifier\"}],select:[{collection:\"ywR6HLztN\",name:\"VWa6deQPm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"ngZi_HJuK\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"JwDgD9K7G\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"y1WN2frWw\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"pcImA5iOm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"f5Ul9mpaH\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"mMEZFx2lZ\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"r6N_20BWm\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"jz18sxxa0\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"bCjwHHZ22\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"frP0A4EGB\",type:\"Identifier\"},{collection:\"ywR6HLztN\",name:\"id\",type:\"Identifier\"}]});const query4=prequery=>prequery({from:{alias:\"TyTw5cjrI\",data:Reviews,type:\"Collection\"},orderBy:[{collection:\"TyTw5cjrI\",name:\"IJIWrtnga\",type:\"Identifier\"}],select:[{collection:\"TyTw5cjrI\",name:\"UTYbShOQ1\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"y7G3lYCUK\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"bXfVgB_5p\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"VuSzUM7zl\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"bpGaamWA0\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"IJIWrtnga\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"JjhNkt6fl\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"id\",type:\"Identifier\"}]});const query5=()=>({from:{alias:\"TyTw5cjrI\",data:Reviews,type:\"Collection\"},orderBy:[{collection:\"TyTw5cjrI\",name:\"IJIWrtnga\",type:\"Identifier\"}],select:[{collection:\"TyTw5cjrI\",name:\"UTYbShOQ1\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"y7G3lYCUK\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"bXfVgB_5p\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"VuSzUM7zl\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"bpGaamWA0\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"IJIWrtnga\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"JjhNkt6fl\",type:\"Identifier\"},{collection:\"TyTw5cjrI\",name:\"id\",type:\"Identifier\"}]});const query6=prequery=>prequery({from:{alias:\"kOz7sgXzs\",data:Guides,type:\"Collection\"},orderBy:[{collection:\"kOz7sgXzs\",name:\"Yfym5rqGs\",type:\"Identifier\"}],select:[{collection:\"kOz7sgXzs\",name:\"vGxCQ2M18\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"j8pdLuS1X\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"xkqgr2m69\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"kOl3Pv8N8\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"dXXzcVKS_\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"iQ_og64JC\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"Lgd535cO5\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"dEVgugpLf\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"I4g0YvkeC\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"ptCVSZqvj\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"Yfym5rqGs\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"bAy2got24\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"id\",type:\"Identifier\"}]});const query7=()=>({from:{alias:\"kOz7sgXzs\",data:Guides,type:\"Collection\"},orderBy:[{collection:\"kOz7sgXzs\",name:\"Yfym5rqGs\",type:\"Identifier\"}],select:[{collection:\"kOz7sgXzs\",name:\"vGxCQ2M18\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"j8pdLuS1X\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"xkqgr2m69\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"kOl3Pv8N8\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"dXXzcVKS_\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"iQ_og64JC\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"Lgd535cO5\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"dEVgugpLf\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"I4g0YvkeC\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"ptCVSZqvj\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"Yfym5rqGs\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"bAy2got24\",type:\"Identifier\"},{collection:\"kOz7sgXzs\",name:\"id\",type:\"Identifier\"}]});const query8=prequery=>prequery({from:{alias:\"m5X8agEM5\",data:Destinations,type:\"Collection\"},orderBy:[{collection:\"m5X8agEM5\",name:\"SargudUav\",type:\"Identifier\"}],select:[{collection:\"m5X8agEM5\",name:\"ORe6ivxq4\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"RpZp0oCkU\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"H9wrNZ5MT\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"nszMeChwx\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"wzXR11ETs\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"TpWnX0ES7\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"L9TcyNEdb\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"SargudUav\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"SubfhO1Oc\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"id\",type:\"Identifier\"}]});const query9=()=>({from:{alias:\"m5X8agEM5\",data:Destinations,type:\"Collection\"},orderBy:[{collection:\"m5X8agEM5\",name:\"SargudUav\",type:\"Identifier\"}],select:[{collection:\"m5X8agEM5\",name:\"ORe6ivxq4\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"RpZp0oCkU\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"H9wrNZ5MT\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"nszMeChwx\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"wzXR11ETs\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"TpWnX0ES7\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"L9TcyNEdb\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"SargudUav\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"SubfhO1Oc\",type:\"Identifier\"},{collection:\"m5X8agEM5\",name:\"id\",type:\"Identifier\"}]});const query10=prequery=>prequery({from:{alias:\"DdpsUFalb\",data:Days,type:\"Collection\"},orderBy:[{collection:\"DdpsUFalb\",name:\"N0gRqBabc\",type:\"Identifier\"}],select:[{collection:\"DdpsUFalb\",name:\"n4BzJ1ViD\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"zI7on0e1L\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"W8KRw6Hna\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"jbLva9BVn\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"qfBK9uYcc\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"PWNJyOSKy\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"FmSvfx1eL\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"N0gRqBabc\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"hk3mgBg_K\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"id\",type:\"Identifier\"}]});const query11=()=>({from:{alias:\"DdpsUFalb\",data:Days,type:\"Collection\"},orderBy:[{collection:\"DdpsUFalb\",name:\"N0gRqBabc\",type:\"Identifier\"}],select:[{collection:\"DdpsUFalb\",name:\"n4BzJ1ViD\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"zI7on0e1L\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"W8KRw6Hna\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"jbLva9BVn\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"qfBK9uYcc\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"PWNJyOSKy\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"FmSvfx1eL\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"N0gRqBabc\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"hk3mgBg_K\",type:\"Identifier\"},{collection:\"DdpsUFalb\",name:\"id\",type:\"Identifier\"}]});const query12=prequery=>prequery({from:{alias:\"kM9rOKjfg\",data:Tours,type:\"Collection\"},orderBy:[{collection:\"kM9rOKjfg\",name:\"AQ09m5k4U\",type:\"Identifier\"}],select:[{collection:\"kM9rOKjfg\",name:\"Xpt1QfM7Q\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ZuChVErA4\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"Gi0PaMTTL\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"E7wNzArGA\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"zp1s29_pv\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"dPXMa5w1z\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"UpKAdulFt\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"RpMcSJzFs\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"i8GBcbyeg\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ueOnkMLZ1\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"BKt1rnSVI\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"tkC8NpeZ2\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"GOBOGeLUx\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"Cmlg38pJI\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"t1Q2415_8\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"wNXRB83K3\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"cOrSH1yhb\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ju3NcWlJj\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"tqexBUdG6\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"AQ09m5k4U\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"lQsQQdjUb\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"id\",type:\"Identifier\"}]});const query13=()=>({from:{alias:\"kM9rOKjfg\",data:Tours,type:\"Collection\"},orderBy:[{collection:\"kM9rOKjfg\",name:\"AQ09m5k4U\",type:\"Identifier\"}],select:[{collection:\"kM9rOKjfg\",name:\"Xpt1QfM7Q\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ZuChVErA4\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"Gi0PaMTTL\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"E7wNzArGA\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"zp1s29_pv\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"dPXMa5w1z\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"UpKAdulFt\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"RpMcSJzFs\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"i8GBcbyeg\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ueOnkMLZ1\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"BKt1rnSVI\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"tkC8NpeZ2\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"GOBOGeLUx\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"Cmlg38pJI\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"t1Q2415_8\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"wNXRB83K3\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"cOrSH1yhb\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"ju3NcWlJj\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"tqexBUdG6\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"AQ09m5k4U\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"lQsQQdjUb\",type:\"Identifier\"},{collection:\"kM9rOKjfg\",name:\"id\",type:\"Identifier\"}]});const query14=prequery=>prequery({from:{alias:\"NrcrBqxHP\",data:Site,type:\"Collection\"},select:[{collection:\"NrcrBqxHP\",name:\"WFebAZXOI\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"FUqz93PhC\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"SAUKkJFK3\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"ysaH5bHnU\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"iF_zdBiie\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"KQytXZYKy\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tffjgFky2\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"lqPkMFMth\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"HfPOI4vwn\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"gBD6tWie3\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"sUpPdB2fq\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"BgaVagXxD\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"M9rI1SlmJ\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"v2GXK4ydg\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"yTJ1mxcCH\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"Xd7ucf4g4\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tjS4cfGau\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"zfWkvg3KX\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"JKinUcSdH\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"XMLg0GEl0\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"Dy6oVkP8T\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tsaHsoBLh\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"YC0edG5DE\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"DIjWkgS0V\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"CWFChV52t\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"TyKqPw1iQ\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"HlisHrbcK\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"NyjesCF7S\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"O_w6eAFEa\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"rgQO0FxBD\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"id\",type:\"Identifier\"}]});const query15=()=>({from:{alias:\"NrcrBqxHP\",data:Site,type:\"Collection\"},select:[{collection:\"NrcrBqxHP\",name:\"WFebAZXOI\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"FUqz93PhC\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"SAUKkJFK3\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"ysaH5bHnU\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"iF_zdBiie\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"KQytXZYKy\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tffjgFky2\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"lqPkMFMth\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"HfPOI4vwn\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"gBD6tWie3\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"sUpPdB2fq\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"BgaVagXxD\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"M9rI1SlmJ\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"v2GXK4ydg\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"yTJ1mxcCH\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"Xd7ucf4g4\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tjS4cfGau\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"zfWkvg3KX\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"JKinUcSdH\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"XMLg0GEl0\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"Dy6oVkP8T\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"tsaHsoBLh\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"YC0edG5DE\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"DIjWkgS0V\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"CWFChV52t\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"TyKqPw1iQ\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"HlisHrbcK\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"NyjesCF7S\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"O_w6eAFEa\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"rgQO0FxBD\",type:\"Identifier\"},{collection:\"NrcrBqxHP\",name:\"id\",type:\"Identifier\"}]});const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-lhSPu.framer-1x2gpwm, .framer-lhSPu .framer-1x2gpwm { display: block; }\",\".framer-lhSPu.framer-ge7t0z { align-content: center; align-items: center; background-color: var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-jg71os { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 0px; justify-content: flex-start; order: -1000; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-2gn3dk-container, .framer-lhSPu .framer-1izhxqk-container, .framer-lhSPu .framer-151ffh-container { flex: none; height: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-16sq55u { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 0px; justify-content: flex-start; order: -999; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-13k01fz { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -998; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-19yg618, .framer-lhSPu .framer-ehh0tc, .framer-lhSPu .framer-1w3h0rm, .framer-lhSPu .framer-jtzctl, .framer-lhSPu .framer-2v8im6, .framer-lhSPu .framer-72kfkk, .framer-lhSPu .framer-v56z7v, .framer-lhSPu .framer-37vwwl { flex: none; height: 1px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 1px; }\",\".framer-lhSPu .framer-16nd5fd-container, .framer-lhSPu .framer-ibkevj-container, .framer-lhSPu .framer-c0q8wk-container, .framer-lhSPu .framer-1784ubr-container, .framer-lhSPu .framer-196hsao-container, .framer-lhSPu .framer-8svb7q-container, .framer-lhSPu .framer-1i9c3fi-container, .framer-lhSPu .framer-1w3h7iz-container { flex: none; height: 1px; left: calc(2.220446049250313e-14% - 1px / 2); position: absolute; top: calc(2.220446049250313e-14% - 1px / 2); width: 1px; }\",\".framer-lhSPu .framer-10aqq87 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -997; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-1ocoy9a { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -996; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-1816t1u { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -995; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-1r5a404 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -994; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-6mh8p4 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -993; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-svzjc3 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -992; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-9jp05x { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: flex-start; left: 0px; order: -991; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-n3zx1l-container { flex: none; height: 1px; left: 0px; order: -990; position: absolute; top: 0px; width: 1px; }\",\".framer-lhSPu .framer-fkftq7 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 0px; justify-content: flex-start; order: -989; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-i6jrdh { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-lhSPu .framer-2n0gcy { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; order: 1013; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lhSPu .framer-117b962-container { flex: none; height: auto; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={cvYDZihkv:\"(max-width: 809.98px)\",DP3KG3zZz:\"(min-width: 810px) and (max-width: 1199.98px)\",FvBx8Kytt:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"FvBx8Kytt\",Phone:\"cvYDZihkv\",Tablet:\"DP3KG3zZz\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"FvBx8Kytt\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"FvBx8Kytt\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-ge7t0z\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-jg71os\",\"data-framer-name\":\"① HEADER — name, links, Plan a trip button, phone menu \\xb7 SITE FONTS are set here\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-2gn3dk-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"LfHeader\",isAuthoredByUser:true,name:\"LfHeader\",nodeId:\"aZXpbxYhB\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cvYDZihkv:{bpHint:\"phone\"},DP3KG3zZz:{bpHint:\"tablet\"}},children:/*#__PURE__*/_jsx(LfHeader,{accentFont:{fontFamily:'\"Instrument Serif\", \"Instrument Serif Placeholder\", serif',fontStyle:\"italic\",fontWeight:400},bodyFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},bone:\"var(--token-b64262a5-ff22-4b92-8dfe-fa1ba6597e21)\",bpHint:\"desktop\",brass:\"var(--token-78cc32b0-f32a-42c8-b89d-f8ddf823d524)\",cloud:\"var(--token-5465b7f2-2980-472c-9019-6a3d9afcd110)\",cta:\"Plan a trip\",customFonts:false,displayFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},fog:\"var(--token-091d6fe2-43c9-44a8-a98d-d96c8fa76abc)\",height:\"100%\",id:\"aZXpbxYhB\",ink:\"var(--token-709e811d-4f7f-40ee-a669-1e9a92677db8)\",layoutId:\"aZXpbxYhB\",links:\"Tours:/tours, Destinations:/destinations, Guides:/guides, Journal:/journal, About:/about\",monoFont:{fontFamily:'\"Fragment Mono\", \"Fragment Mono Placeholder\", monospace',fontStyle:\"normal\",fontWeight:400},more:\"Private trips:/private-trips, How it works:/how-it-works, Reviews:/reviews, FAQ:/faq, Contact:/contact\",name:\"LfHeader\",night:\"var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92)\",pine:\"var(--token-459f24c8-9038-4a4a-92d3-82b8b2f5d3c9)\",showEmail:true,showPhone:true,showRoute:true,stone:\"var(--token-fa49aa43-6b64-4e0d-aa51-070db534f6af)\",style:{height:\"100%\",width:\"100%\"},width:\"100%\",wordmark:\"\",words:\"\"})})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-16sq55u\",\"data-framer-name\":\"LOADER — first visit + page transition\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1izhxqk-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"LfLoader\",isAuthoredByUser:true,name:\"LfLoader\",nodeId:\"BktivnSLH\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cvYDZihkv:{bpHint:\"phone\"},DP3KG3zZz:{bpHint:\"tablet\"}},children:/*#__PURE__*/_jsx(LfLoader,{bodyFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},bone:\"var(--token-b64262a5-ff22-4b92-8dfe-fa1ba6597e21)\",bpHint:\"desktop\",brass:\"var(--token-78cc32b0-f32a-42c8-b89d-f8ddf823d524)\",cloud:\"var(--token-5465b7f2-2980-472c-9019-6a3d9afcd110)\",customFonts:false,displayFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},doneLabel:\"Ready\",duration:.9,fog:\"var(--token-091d6fe2-43c9-44a8-a98d-d96c8fa76abc)\",height:\"100%\",id:\"BktivnSLH\",ink:\"var(--token-709e811d-4f7f-40ee-a669-1e9a92677db8)\",layoutId:\"BktivnSLH\",line:\"\",loader:true,monoFont:{fontFamily:'\"Fragment Mono\", \"Fragment Mono Placeholder\", monospace',fontStyle:\"normal\",fontWeight:400},name:\"LfLoader\",night:\"var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92)\",once:true,pine:\"var(--token-459f24c8-9038-4a4a-92d3-82b8b2f5d3c9)\",skipLabel:\"Skip\",stone:\"var(--token-fa49aa43-6b64-4e0d-aa51-070db534f6af)\",style:{height:\"100%\",width:\"100%\"},transition:true,width:\"100%\",wordmark:\"\"})})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-13k01fz\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 faq\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query1(),children:(collection,paginationInfo,loadMore)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection?.map(({d8eQApZDy:d8eQApZDyNx5izFjYZ,gu9EYx_GT:gu9EYx_GTNx5izFjYZ,id:idNx5izFjYZ,lWWtK2F8B:lWWtK2F8BNx5izFjYZ,oN9QfNlN1:oN9QfNlN1Nx5izFjYZ,xX5CWEP3l:xX5CWEP3lNx5izFjYZ},index)=>{xX5CWEP3lNx5izFjYZ??=\"\";lWWtK2F8BNx5izFjYZ??=\"\";oN9QfNlN1Nx5izFjYZ??=\"\";gu9EYx_GTNx5izFjYZ??=\"\";d8eQApZDyNx5izFjYZ??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`Nx5izFjYZ-${idNx5izFjYZ}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{xX5CWEP3l:xX5CWEP3lNx5izFjYZ},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-19yg618\",\"data-framer-name\":\"faq-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-16nd5fd-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"faq-row\",isAuthoredByUser:true,name:\"faq-row\",nodeId:\"Bq7uDzh30\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:lWWtK2F8BNx5izFjYZ,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:oN9QfNlN1Nx5izFjYZ,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:gu9EYx_GTNx5izFjYZ,f30:\"\",f4:\"\",f5:\"\",f6:\"\",f7:\"\",f8:\"\",f9:\"\",height:\"100%\",id:\"Bq7uDzh30\",kind:\"faq\",layoutId:\"Bq7uDzh30\",n1:d8eQApZDyNx5izFjYZ,n2:0,name:\"faq-row\",slug:xX5CWEP3lNx5izFjYZ,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idNx5izFjYZ);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-10aqq87\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 posts\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query3(),children:(collection1,paginationInfo1,loadMore1)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection1?.map(({bCjwHHZ22:bCjwHHZ22ywR6HLztN,f5Ul9mpaH:f5Ul9mpaHywR6HLztN,frP0A4EGB:frP0A4EGBywR6HLztN,id:idywR6HLztN,JwDgD9K7G:JwDgD9K7GywR6HLztN,jz18sxxa0:jz18sxxa0ywR6HLztN,mMEZFx2lZ:mMEZFx2lZywR6HLztN,ngZi_HJuK:ngZi_HJuKywR6HLztN,pcImA5iOm:pcImA5iOmywR6HLztN,r6N_20BWm:r6N_20BWmywR6HLztN,VWa6deQPm:VWa6deQPmywR6HLztN,y1WN2frWw:y1WN2frWwywR6HLztN},index1)=>{VWa6deQPmywR6HLztN??=\"\";ngZi_HJuKywR6HLztN??=\"\";JwDgD9K7GywR6HLztN??=\"\";y1WN2frWwywR6HLztN??=\"\";pcImA5iOmywR6HLztN??=\"\";f5Ul9mpaHywR6HLztN??=\"\";mMEZFx2lZywR6HLztN??=\"\";r6N_20BWmywR6HLztN??=\"\";jz18sxxa0ywR6HLztN??=\"\";bCjwHHZ22ywR6HLztN??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`ywR6HLztN-${idywR6HLztN}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{VWa6deQPm:VWa6deQPmywR6HLztN},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-ehh0tc\",\"data-framer-name\":\"posts-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-ibkevj-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"posts-row\",isAuthoredByUser:true,name:\"posts-row\",nodeId:\"ZVaAAQQ9E\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:ngZi_HJuKywR6HLztN,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:JwDgD9K7GywR6HLztN,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:y1WN2frWwywR6HLztN,f30:\"\",f4:pcImA5iOmywR6HLztN,f5:f5Ul9mpaHywR6HLztN,f6:mMEZFx2lZywR6HLztN,f7:r6N_20BWmywR6HLztN,f8:jz18sxxa0ywR6HLztN,f9:\"\",height:\"100%\",id:\"ZVaAAQQ9E\",img:toResponsiveImage(frP0A4EGBywR6HLztN),kind:\"posts\",layoutId:\"ZVaAAQQ9E\",n1:bCjwHHZ22ywR6HLztN,n2:0,name:\"posts-row\",slug:VWa6deQPmywR6HLztN,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idywR6HLztN);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ocoy9a\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 reviews\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query5(),children:(collection2,paginationInfo2,loadMore2)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection2?.map(({bpGaamWA0:bpGaamWA0TyTw5cjrI,bXfVgB_5p:bXfVgB_5pTyTw5cjrI,id:idTyTw5cjrI,IJIWrtnga:IJIWrtngaTyTw5cjrI,JjhNkt6fl:JjhNkt6flTyTw5cjrI,UTYbShOQ1:UTYbShOQ1TyTw5cjrI,VuSzUM7zl:VuSzUM7zlTyTw5cjrI,y7G3lYCUK:y7G3lYCUKTyTw5cjrI},index2)=>{UTYbShOQ1TyTw5cjrI??=\"\";y7G3lYCUKTyTw5cjrI??=\"\";bXfVgB_5pTyTw5cjrI??=\"\";VuSzUM7zlTyTw5cjrI??=\"\";bpGaamWA0TyTw5cjrI??=\"\";IJIWrtngaTyTw5cjrI??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`TyTw5cjrI-${idTyTw5cjrI}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{UTYbShOQ1:UTYbShOQ1TyTw5cjrI},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1w3h0rm\",\"data-framer-name\":\"reviews-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-c0q8wk-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"reviews-row\",isAuthoredByUser:true,name:\"reviews-row\",nodeId:\"Ie61boPvr\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:y7G3lYCUKTyTw5cjrI,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:bXfVgB_5pTyTw5cjrI,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:VuSzUM7zlTyTw5cjrI,f30:\"\",f4:bpGaamWA0TyTw5cjrI,f5:\"\",f6:\"\",f7:\"\",f8:\"\",f9:\"\",height:\"100%\",id:\"Ie61boPvr\",img:toResponsiveImage(JjhNkt6flTyTw5cjrI),kind:\"reviews\",layoutId:\"Ie61boPvr\",n1:IJIWrtngaTyTw5cjrI,n2:0,name:\"reviews-row\",slug:UTYbShOQ1TyTw5cjrI,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idTyTw5cjrI);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1816t1u\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 guides\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query7(),children:(collection3,paginationInfo3,loadMore3)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection3?.map(({bAy2got24:bAy2got24kOz7sgXzs,dEVgugpLf:dEVgugpLfkOz7sgXzs,dXXzcVKS_:dXXzcVKS_kOz7sgXzs,I4g0YvkeC:I4g0YvkeCkOz7sgXzs,id:idkOz7sgXzs,iQ_og64JC:iQ_og64JCkOz7sgXzs,j8pdLuS1X:j8pdLuS1XkOz7sgXzs,kOl3Pv8N8:kOl3Pv8N8kOz7sgXzs,Lgd535cO5:Lgd535cO5kOz7sgXzs,ptCVSZqvj:ptCVSZqvjkOz7sgXzs,vGxCQ2M18:vGxCQ2M18kOz7sgXzs,xkqgr2m69:xkqgr2m69kOz7sgXzs,Yfym5rqGs:Yfym5rqGskOz7sgXzs},index3)=>{vGxCQ2M18kOz7sgXzs??=\"\";j8pdLuS1XkOz7sgXzs??=\"\";xkqgr2m69kOz7sgXzs??=\"\";kOl3Pv8N8kOz7sgXzs??=\"\";dXXzcVKS_kOz7sgXzs??=\"\";iQ_og64JCkOz7sgXzs??=\"\";Lgd535cO5kOz7sgXzs??=\"\";dEVgugpLfkOz7sgXzs??=\"\";I4g0YvkeCkOz7sgXzs??=\"\";ptCVSZqvjkOz7sgXzs??=\"\";Yfym5rqGskOz7sgXzs??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`kOz7sgXzs-${idkOz7sgXzs}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{vGxCQ2M18:vGxCQ2M18kOz7sgXzs},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-jtzctl\",\"data-framer-name\":\"guides-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1784ubr-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"guides-row\",isAuthoredByUser:true,name:\"guides-row\",nodeId:\"I_NcFsArB\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:j8pdLuS1XkOz7sgXzs,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:xkqgr2m69kOz7sgXzs,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:kOl3Pv8N8kOz7sgXzs,f30:\"\",f4:dXXzcVKS_kOz7sgXzs,f5:iQ_og64JCkOz7sgXzs,f6:Lgd535cO5kOz7sgXzs,f7:dEVgugpLfkOz7sgXzs,f8:I4g0YvkeCkOz7sgXzs,f9:ptCVSZqvjkOz7sgXzs,height:\"100%\",id:\"I_NcFsArB\",img:toResponsiveImage(bAy2got24kOz7sgXzs),kind:\"guides\",layoutId:\"I_NcFsArB\",n1:Yfym5rqGskOz7sgXzs,n2:0,name:\"guides-row\",slug:vGxCQ2M18kOz7sgXzs,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idkOz7sgXzs);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1r5a404\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 destinations\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query9(),children:(collection4,paginationInfo4,loadMore4)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection4?.map(({H9wrNZ5MT:H9wrNZ5MTm5X8agEM5,id:idm5X8agEM5,L9TcyNEdb:L9TcyNEdbm5X8agEM5,nszMeChwx:nszMeChwxm5X8agEM5,ORe6ivxq4:ORe6ivxq4m5X8agEM5,RpZp0oCkU:RpZp0oCkUm5X8agEM5,SargudUav:SargudUavm5X8agEM5,SubfhO1Oc:SubfhO1Ocm5X8agEM5,TpWnX0ES7:TpWnX0ES7m5X8agEM5,wzXR11ETs:wzXR11ETsm5X8agEM5},index4)=>{ORe6ivxq4m5X8agEM5??=\"\";RpZp0oCkUm5X8agEM5??=\"\";H9wrNZ5MTm5X8agEM5??=\"\";nszMeChwxm5X8agEM5??=\"\";wzXR11ETsm5X8agEM5??=\"\";TpWnX0ES7m5X8agEM5??=\"\";L9TcyNEdbm5X8agEM5??=\"\";SargudUavm5X8agEM5??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`m5X8agEM5-${idm5X8agEM5}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{ORe6ivxq4:ORe6ivxq4m5X8agEM5},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-2v8im6\",\"data-framer-name\":\"destinations-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-196hsao-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"destinations-row\",isAuthoredByUser:true,name:\"destinations-row\",nodeId:\"SHjcigXTJ\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:RpZp0oCkUm5X8agEM5,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:H9wrNZ5MTm5X8agEM5,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:nszMeChwxm5X8agEM5,f30:\"\",f4:wzXR11ETsm5X8agEM5,f5:TpWnX0ES7m5X8agEM5,f6:L9TcyNEdbm5X8agEM5,f7:\"\",f8:\"\",f9:\"\",height:\"100%\",id:\"SHjcigXTJ\",img:toResponsiveImage(SubfhO1Ocm5X8agEM5),kind:\"destinations\",layoutId:\"SHjcigXTJ\",n1:SargudUavm5X8agEM5,n2:0,name:\"destinations-row\",slug:ORe6ivxq4m5X8agEM5,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idm5X8agEM5);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-6mh8p4\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 days\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query11(),children:(collection5,paginationInfo5,loadMore5)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection5?.map(({FmSvfx1eL:FmSvfx1eLDdpsUFalb,hk3mgBg_K:hk3mgBg_KDdpsUFalb,id:idDdpsUFalb,jbLva9BVn:jbLva9BVnDdpsUFalb,N0gRqBabc:N0gRqBabcDdpsUFalb,n4BzJ1ViD:n4BzJ1ViDDdpsUFalb,PWNJyOSKy:PWNJyOSKyDdpsUFalb,qfBK9uYcc:qfBK9uYccDdpsUFalb,W8KRw6Hna:W8KRw6HnaDdpsUFalb,zI7on0e1L:zI7on0e1LDdpsUFalb},index5)=>{n4BzJ1ViDDdpsUFalb??=\"\";zI7on0e1LDdpsUFalb??=\"\";W8KRw6HnaDdpsUFalb??=\"\";jbLva9BVnDdpsUFalb??=\"\";qfBK9uYccDdpsUFalb??=\"\";PWNJyOSKyDdpsUFalb??=\"\";FmSvfx1eLDdpsUFalb??=\"\";N0gRqBabcDdpsUFalb??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`DdpsUFalb-${idDdpsUFalb}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{n4BzJ1ViD:n4BzJ1ViDDdpsUFalb},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-72kfkk\",\"data-framer-name\":\"days-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-8svb7q-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"days-row\",isAuthoredByUser:true,name:\"days-row\",nodeId:\"Vah41MqnE\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:zI7on0e1LDdpsUFalb,f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:W8KRw6HnaDdpsUFalb,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:jbLva9BVnDdpsUFalb,f30:\"\",f4:qfBK9uYccDdpsUFalb,f5:PWNJyOSKyDdpsUFalb,f6:FmSvfx1eLDdpsUFalb,f7:\"\",f8:\"\",f9:\"\",height:\"100%\",id:\"Vah41MqnE\",img:toResponsiveImage(hk3mgBg_KDdpsUFalb),kind:\"days\",layoutId:\"Vah41MqnE\",n1:N0gRqBabcDdpsUFalb,n2:0,name:\"days-row\",slug:n4BzJ1ViDDdpsUFalb,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idDdpsUFalb);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-svzjc3\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 tours\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query13(),children:(collection6,paginationInfo6,loadMore6)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection6?.map(({AQ09m5k4U:AQ09m5k4UkM9rOKjfg,BKt1rnSVI:BKt1rnSVIkM9rOKjfg,Cmlg38pJI:Cmlg38pJIkM9rOKjfg,cOrSH1yhb:cOrSH1yhbkM9rOKjfg,dPXMa5w1z:dPXMa5w1zkM9rOKjfg,E7wNzArGA:E7wNzArGAkM9rOKjfg,Gi0PaMTTL:Gi0PaMTTLkM9rOKjfg,GOBOGeLUx:GOBOGeLUxkM9rOKjfg,i8GBcbyeg:i8GBcbyegkM9rOKjfg,id:idkM9rOKjfg,ju3NcWlJj:ju3NcWlJjkM9rOKjfg,lQsQQdjUb:lQsQQdjUbkM9rOKjfg,RpMcSJzFs:RpMcSJzFskM9rOKjfg,t1Q2415_8:t1Q2415_8kM9rOKjfg,tkC8NpeZ2:tkC8NpeZ2kM9rOKjfg,tqexBUdG6:tqexBUdG6kM9rOKjfg,ueOnkMLZ1:ueOnkMLZ1kM9rOKjfg,UpKAdulFt:UpKAdulFtkM9rOKjfg,wNXRB83K3:wNXRB83K3kM9rOKjfg,Xpt1QfM7Q:Xpt1QfM7QkM9rOKjfg,zp1s29_pv:zp1s29_pvkM9rOKjfg,ZuChVErA4:ZuChVErA4kM9rOKjfg},index6)=>{Xpt1QfM7QkM9rOKjfg??=\"\";ZuChVErA4kM9rOKjfg??=\"\";Gi0PaMTTLkM9rOKjfg??=\"\";E7wNzArGAkM9rOKjfg??=\"\";zp1s29_pvkM9rOKjfg??=\"\";dPXMa5w1zkM9rOKjfg??=\"\";UpKAdulFtkM9rOKjfg??=\"\";RpMcSJzFskM9rOKjfg??=\"\";i8GBcbyegkM9rOKjfg??=\"\";ueOnkMLZ1kM9rOKjfg??=\"\";BKt1rnSVIkM9rOKjfg??=\"\";tkC8NpeZ2kM9rOKjfg??=\"\";GOBOGeLUxkM9rOKjfg??=\"\";Cmlg38pJIkM9rOKjfg??=\"\";t1Q2415_8kM9rOKjfg??=\"\";wNXRB83K3kM9rOKjfg??=\"\";cOrSH1yhbkM9rOKjfg??=\"\";ju3NcWlJjkM9rOKjfg??=\"\";tqexBUdG6kM9rOKjfg??=\"\";AQ09m5k4UkM9rOKjfg??=0;return /*#__PURE__*/_jsx(LayoutGroup,{id:`kM9rOKjfg-${idkM9rOKjfg}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{Xpt1QfM7Q:Xpt1QfM7QkM9rOKjfg},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-v56z7v\",\"data-framer-name\":\"tours-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1i9c3fi-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"tours-row\",isAuthoredByUser:true,name:\"tours-row\",nodeId:\"krUkuFFUi\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:ZuChVErA4kM9rOKjfg,f10:BKt1rnSVIkM9rOKjfg,f11:tkC8NpeZ2kM9rOKjfg,f12:GOBOGeLUxkM9rOKjfg,f13:Cmlg38pJIkM9rOKjfg,f14:t1Q2415_8kM9rOKjfg,f15:wNXRB83K3kM9rOKjfg,f16:cOrSH1yhbkM9rOKjfg,f17:ju3NcWlJjkM9rOKjfg,f18:tqexBUdG6kM9rOKjfg,f19:\"\",f2:Gi0PaMTTLkM9rOKjfg,f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:E7wNzArGAkM9rOKjfg,f30:\"\",f4:zp1s29_pvkM9rOKjfg,f5:dPXMa5w1zkM9rOKjfg,f6:UpKAdulFtkM9rOKjfg,f7:RpMcSJzFskM9rOKjfg,f8:i8GBcbyegkM9rOKjfg,f9:ueOnkMLZ1kM9rOKjfg,height:\"100%\",id:\"krUkuFFUi\",img:toResponsiveImage(lQsQQdjUbkM9rOKjfg),kind:\"tours\",layoutId:\"krUkuFFUi\",n1:AQ09m5k4UkM9rOKjfg,n2:0,name:\"tours-row\",slug:Xpt1QfM7QkM9rOKjfg,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idkM9rOKjfg);})});}})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-9jp05x\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 site\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query15(),children:(collection7,paginationInfo7,loadMore7)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection7?.map(({BgaVagXxD:BgaVagXxDNrcrBqxHP,CWFChV52t:CWFChV52tNrcrBqxHP,DIjWkgS0V:DIjWkgS0VNrcrBqxHP,Dy6oVkP8T:Dy6oVkP8TNrcrBqxHP,FUqz93PhC:FUqz93PhCNrcrBqxHP,gBD6tWie3:gBD6tWie3NrcrBqxHP,HfPOI4vwn:HfPOI4vwnNrcrBqxHP,HlisHrbcK:HlisHrbcKNrcrBqxHP,id:idNrcrBqxHP,iF_zdBiie:iF_zdBiieNrcrBqxHP,JKinUcSdH:JKinUcSdHNrcrBqxHP,KQytXZYKy:KQytXZYKyNrcrBqxHP,lqPkMFMth:lqPkMFMthNrcrBqxHP,M9rI1SlmJ:M9rI1SlmJNrcrBqxHP,NyjesCF7S:NyjesCF7SNrcrBqxHP,O_w6eAFEa:O_w6eAFEaNrcrBqxHP,rgQO0FxBD:rgQO0FxBDNrcrBqxHP,SAUKkJFK3:SAUKkJFK3NrcrBqxHP,sUpPdB2fq:sUpPdB2fqNrcrBqxHP,tffjgFky2:tffjgFky2NrcrBqxHP,tjS4cfGau:tjS4cfGauNrcrBqxHP,tsaHsoBLh:tsaHsoBLhNrcrBqxHP,TyKqPw1iQ:TyKqPw1iQNrcrBqxHP,v2GXK4ydg:v2GXK4ydgNrcrBqxHP,WFebAZXOI:WFebAZXOINrcrBqxHP,Xd7ucf4g4:Xd7ucf4g4NrcrBqxHP,XMLg0GEl0:XMLg0GEl0NrcrBqxHP,YC0edG5DE:YC0edG5DENrcrBqxHP,ysaH5bHnU:ysaH5bHnUNrcrBqxHP,yTJ1mxcCH:yTJ1mxcCHNrcrBqxHP,zfWkvg3KX:zfWkvg3KXNrcrBqxHP},index7)=>{WFebAZXOINrcrBqxHP??=\"\";FUqz93PhCNrcrBqxHP??=\"\";SAUKkJFK3NrcrBqxHP??=\"\";ysaH5bHnUNrcrBqxHP??=\"\";iF_zdBiieNrcrBqxHP??=\"\";KQytXZYKyNrcrBqxHP??=\"\";tffjgFky2NrcrBqxHP??=\"\";lqPkMFMthNrcrBqxHP??=\"\";HfPOI4vwnNrcrBqxHP??=\"\";gBD6tWie3NrcrBqxHP??=\"\";sUpPdB2fqNrcrBqxHP??=\"\";BgaVagXxDNrcrBqxHP??=\"\";M9rI1SlmJNrcrBqxHP??=\"\";v2GXK4ydgNrcrBqxHP??=\"\";yTJ1mxcCHNrcrBqxHP??=\"\";Xd7ucf4g4NrcrBqxHP??=\"\";tjS4cfGauNrcrBqxHP??=\"\";zfWkvg3KXNrcrBqxHP??=\"\";JKinUcSdHNrcrBqxHP??=\"\";XMLg0GEl0NrcrBqxHP??=\"\";Dy6oVkP8TNrcrBqxHP??=\"\";tsaHsoBLhNrcrBqxHP??=\"\";YC0edG5DENrcrBqxHP??=\"\";DIjWkgS0VNrcrBqxHP??=\"\";CWFChV52tNrcrBqxHP??=\"\";TyKqPw1iQNrcrBqxHP??=\"\";HlisHrbcKNrcrBqxHP??=\"\";NyjesCF7SNrcrBqxHP??=\"\";return /*#__PURE__*/_jsx(LayoutGroup,{id:`NrcrBqxHP-${idNrcrBqxHP}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{WFebAZXOI:WFebAZXOINrcrBqxHP},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-37vwwl\",\"data-framer-name\":\"site-item\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1w3h7iz-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"site-row\",isAuthoredByUser:true,name:\"site-row\",nodeId:\"MvXJA_80B\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:FUqz93PhCNrcrBqxHP,f10:sUpPdB2fqNrcrBqxHP,f11:BgaVagXxDNrcrBqxHP,f12:M9rI1SlmJNrcrBqxHP,f13:v2GXK4ydgNrcrBqxHP,f14:yTJ1mxcCHNrcrBqxHP,f15:Xd7ucf4g4NrcrBqxHP,f16:tjS4cfGauNrcrBqxHP,f17:zfWkvg3KXNrcrBqxHP,f18:JKinUcSdHNrcrBqxHP,f19:XMLg0GEl0NrcrBqxHP,f2:SAUKkJFK3NrcrBqxHP,f20:Dy6oVkP8TNrcrBqxHP,f21:tsaHsoBLhNrcrBqxHP,f22:YC0edG5DENrcrBqxHP,f23:DIjWkgS0VNrcrBqxHP,f24:CWFChV52tNrcrBqxHP,f25:TyKqPw1iQNrcrBqxHP,f26:HlisHrbcKNrcrBqxHP,f27:NyjesCF7SNrcrBqxHP,f28:\"\",f29:\"\",f3:ysaH5bHnUNrcrBqxHP,f30:\"\",f4:iF_zdBiieNrcrBqxHP,f5:KQytXZYKyNrcrBqxHP,f6:tffjgFky2NrcrBqxHP,f7:lqPkMFMthNrcrBqxHP,f8:HfPOI4vwnNrcrBqxHP,f9:gBD6tWie3NrcrBqxHP,height:\"100%\",id:\"MvXJA_80B\",img:toResponsiveImage(O_w6eAFEaNrcrBqxHP),img2:toResponsiveImage(rgQO0FxBDNrcrBqxHP),kind:\"site\",layoutId:\"MvXJA_80B\",n1:0,n2:0,name:\"site-row\",slug:WFebAZXOINrcrBqxHP,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})},idNrcrBqxHP);})});}})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-n3zx1l-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"CMS BRIDGE (keep) \\xb7 marker\",isAuthoredByUser:true,name:\"CMS BRIDGE (keep) \\xb7 marker\",nodeId:\"W5Fb9wIWC\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfCmsRow,{f1:\"\",f10:\"\",f11:\"\",f12:\"\",f13:\"\",f14:\"\",f15:\"\",f16:\"\",f17:\"\",f18:\"\",f19:\"\",f2:\"\",f20:\"\",f21:\"\",f22:\"\",f23:\"\",f24:\"\",f25:\"\",f26:\"\",f27:\"\",f28:\"\",f29:\"\",f3:\"\",f30:\"\",f4:\"\",f5:\"\",f6:\"\",f7:\"\",f8:\"\",f9:\"\",height:\"100%\",id:\"W5Fb9wIWC\",kind:\"bridge\",layoutId:\"W5Fb9wIWC\",n1:0,n2:0,name:\"CMS BRIDGE (keep) \\xb7 marker\",slug:\"\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-fkftq7\",\"data-framer-name\":\"SMOOTH SCROLL + CURSOR\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-151ffh-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"LfSmooth\",isAuthoredByUser:true,name:\"LfSmooth\",nodeId:\"NbnBh7U2F\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(LfSmooth,{anchorOffset:72,bodyFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},bone:\"var(--token-b64262a5-ff22-4b92-8dfe-fa1ba6597e21)\",brass:\"var(--token-78cc32b0-f32a-42c8-b89d-f8ddf823d524)\",cloud:\"var(--token-5465b7f2-2980-472c-9019-6a3d9afcd110)\",cursor:true,customFonts:false,displayFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},fog:\"var(--token-091d6fe2-43c9-44a8-a98d-d96c8fa76abc)\",height:\"100%\",id:\"NbnBh7U2F\",ink:\"var(--token-709e811d-4f7f-40ee-a669-1e9a92677db8)\",layoutId:\"NbnBh7U2F\",monoFont:{fontFamily:'\"Fragment Mono\", \"Fragment Mono Placeholder\", monospace',fontStyle:\"normal\",fontWeight:400},name:\"LfSmooth\",night:\"var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92)\",pine:\"var(--token-459f24c8-9038-4a4a-92d3-82b8b2f5d3c9)\",smooth:true,smoothness:.1,stone:\"var(--token-fa49aa43-6b64-4e0d-aa51-070db534f6af)\",style:{height:\"100%\",width:\"100%\"},wheelSpeed:1,width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-i6jrdh\"}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-2n0gcy\",\"data-framer-name\":\"FOOTER — big name, route line, link columns, legal line\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-117b962-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"LfFooter\",isAuthoredByUser:true,name:\"LfFooter\",nodeId:\"mQ1EzI6vj\",scopeId:\"oWSvwkW0_\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cvYDZihkv:{bpHint:\"phone\"},DP3KG3zZz:{bpHint:\"tablet\"}},children:/*#__PURE__*/_jsx(LfFooter,{availText:\"\",bar:false,blurb:\"\",bodyFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},bone:\"var(--token-b64262a5-ff22-4b92-8dfe-fa1ba6597e21)\",bpHint:\"desktop\",brass:\"var(--token-78cc32b0-f32a-42c8-b89d-f8ddf823d524)\",cloud:\"var(--token-5465b7f2-2980-472c-9019-6a3d9afcd110)\",colTitles:\"Tours; {name}; Legal\",columns:\"All tours:/tours, Destinations:/destinations, Private trips:/private-trips, Guides:/guides, How it works:/how-it-works; About:/about, Journal:/journal, Reviews:/reviews, Careers:/careers, FAQ:/faq, Contact:/contact; Privacy:/privacy, Terms:/terms, Cookies:/cookies, Booking conditions:/booking-conditions, Sustainability:/sustainability\",credit:\"Template by SoloFoundry\",customFonts:false,displayFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},fog:\"var(--token-091d6fe2-43c9-44a8-a98d-d96c8fa76abc)\",height:\"100%\",id:\"mQ1EzI6vj\",ink:\"var(--token-709e811d-4f7f-40ee-a669-1e9a92677db8)\",layer:9,layoutId:\"mQ1EzI6vj\",legal:\"\",legalLinks:\"\",monoFont:{fontFamily:'\"Fragment Mono\", \"Fragment Mono Placeholder\", monospace',fontStyle:\"normal\",fontWeight:400},name:\"LfFooter\",night:\"var(--token-3d101d6b-bdb8-43c1-a7cb-721c4118ce92)\",pine:\"var(--token-459f24c8-9038-4a4a-92d3-82b8b2f5d3c9)\",reveal:true,route:true,routeShown:8,socials:\"Instagram:{instagram}, YouTube:{youtube}\",stone:\"var(--token-fa49aa43-6b64-4e0d-aa51-070db534f6af)\",style:{width:\"100%\"},timeTitle:\"\",width:\"100%\",wordFit:100,wordmark:\"\",wordMax:480,words:\"\"})})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query16=mediaQueries[key];return`@media ${query16} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"DP3KG3zZz\":{\"layout\":[\"fixed\",\"fixed\"]},\"cvYDZihkv\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"FvBx8Kytt\":[\".framer-jg71os\",\".framer-16sq55u\",\".framer-13k01fz\",\".framer-10aqq87\",\".framer-1ocoy9a\",\".framer-1816t1u\",\".framer-1r5a404\",\".framer-6mh8p4\",\".framer-svzjc3\",\".framer-9jp05x\",\".framer-n3zx1l-container\",\".framer-fkftq7\",\".framer-2n0gcy\"],\"DP3KG3zZz\":[\".framer-jg71os\",\".framer-16sq55u\",\".framer-13k01fz\",\".framer-10aqq87\",\".framer-1ocoy9a\",\".framer-1816t1u\",\".framer-1r5a404\",\".framer-6mh8p4\",\".framer-svzjc3\",\".framer-9jp05x\",\".framer-n3zx1l-container\",\".framer-fkftq7\",\".framer-2n0gcy\"],\"cvYDZihkv\":[\".framer-jg71os\",\".framer-16sq55u\",\".framer-13k01fz\",\".framer-10aqq87\",\".framer-1ocoy9a\",\".framer-1816t1u\",\".framer-1r5a404\",\".framer-6mh8p4\",\".framer-svzjc3\",\".framer-9jp05x\",\".framer-n3zx1l-container\",\".framer-fkftq7\",\".framer-2n0gcy\"]}\n * @framerBreakpoints {\"FvBx8Kytt\":{\"min\":1200,\"canvasClassName\":\"framer-ge7t0z-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"DP3KG3zZz\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-oowe7r-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"cvYDZihkv\":{\"max\":809,\"canvasClassName\":\"framer-1d5o739-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant FvBx8Kytt\n * @framerLayoutTemplate true\n */const FrameroWSvwkW0_=withCSS(Component,css,\"framer-lhSPu\");export default FrameroWSvwkW0_;FrameroWSvwkW0_.displayName=\"Site Layout\";FrameroWSvwkW0_.defaultProps={height:1e3,width:1200};addFonts(FrameroWSvwkW0_,[{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:\"Fragment Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"},{cssFamilyName:\"Instrument Serif\",source:\"google\",style:\"italic\",uiFamilyName:\"Instrument Serif\",url:\"https://fonts.gstatic.com/s/instrumentserif/v5/jizHRFtNs2ka5fXjeivQ4LroWlx-6zATjnTNgNq55w.woff2\",weight:\"400\"}]},...LfHeaderFonts,...LfLoaderFonts,...LfCmsRowFonts,...LfSmoothFonts,...LfFooterFonts],{supportsExplicitInterCodegen:true});FrameroWSvwkW0_.loader={load:(props,context)=>{const locale=context.locale;const priority=context.priority;const queryCacheEntry=queryCache.get(query1(),locale,priority);const queryCacheEntry1=queryCache.get(query3(),locale,priority);const queryCacheEntry2=queryCache.get(query5(),locale,priority);const queryCacheEntry3=queryCache.get(query7(),locale,priority);const queryCacheEntry4=queryCache.get(query9(),locale,priority);const queryCacheEntry5=queryCache.get(query11(),locale,priority);const queryCacheEntry6=queryCache.get(query13(),locale,priority);const queryCacheEntry7=queryCache.get(query15(),locale,priority);return runTasksWithYield([()=>queryCacheEntry.preload(),()=>queryCacheEntry1.preload(),()=>queryCacheEntry2.preload(),()=>queryCacheEntry3.preload(),()=>queryCacheEntry4.preload(),()=>queryCacheEntry5.preload(),()=>queryCacheEntry6.preload(),()=>queryCacheEntry7.preload()],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameroWSvwkW0_\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerBreakpoints\":\"{\\\"FvBx8Kytt\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-ge7t0z-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"DP3KG3zZz\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-oowe7r-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"cvYDZihkv\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1d5o739-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerIntrinsicWidth\":\"1200\",\"framerDefaultVariant\":\"FvBx8Kytt\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerHitTargets\":\"{\\\"FvBx8Kytt\\\":[\\\".framer-jg71os\\\",\\\".framer-16sq55u\\\",\\\".framer-13k01fz\\\",\\\".framer-10aqq87\\\",\\\".framer-1ocoy9a\\\",\\\".framer-1816t1u\\\",\\\".framer-1r5a404\\\",\\\".framer-6mh8p4\\\",\\\".framer-svzjc3\\\",\\\".framer-9jp05x\\\",\\\".framer-n3zx1l-container\\\",\\\".framer-fkftq7\\\",\\\".framer-2n0gcy\\\"],\\\"DP3KG3zZz\\\":[\\\".framer-jg71os\\\",\\\".framer-16sq55u\\\",\\\".framer-13k01fz\\\",\\\".framer-10aqq87\\\",\\\".framer-1ocoy9a\\\",\\\".framer-1816t1u\\\",\\\".framer-1r5a404\\\",\\\".framer-6mh8p4\\\",\\\".framer-svzjc3\\\",\\\".framer-9jp05x\\\",\\\".framer-n3zx1l-container\\\",\\\".framer-fkftq7\\\",\\\".framer-2n0gcy\\\"],\\\"cvYDZihkv\\\":[\\\".framer-jg71os\\\",\\\".framer-16sq55u\\\",\\\".framer-13k01fz\\\",\\\".framer-10aqq87\\\",\\\".framer-1ocoy9a\\\",\\\".framer-1816t1u\\\",\\\".framer-1r5a404\\\",\\\".framer-6mh8p4\\\",\\\".framer-svzjc3\\\",\\\".framer-9jp05x\\\",\\\".framer-n3zx1l-container\\\",\\\".framer-fkftq7\\\",\\\".framer-2n0gcy\\\"]}\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"DP3KG3zZz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"cvYDZihkv\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport SiteLayout from \"https://framerusercontent.com/modules/04JtfLBnfbG3n2h68hEN/VvXgKRV03yHNfYPqffMx/oWSvwkW0_.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/6Jbhz1p1nz6Oczw1qWOB/PKc4WBfRy3WjTWD7cAhZ/augiA20Il.js\")), path: \"/\"}, Xa8qP0dAP: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/1GOJxdO2edcGzNuRYyed/HNgPwWIKJZxpKLVuy19k/Xa8qP0dAP.js\")), path: \"/tours\"}, BgQ4tj6pu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/o5iwPKq20n4460CWLS3A/Qoc17EEs7KSRnBXBsX5S/BgQ4tj6pu.js\")), path: \"/destinations\"}, Y90fGddWW: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tcF0y5p5rf5I626NCOeX/tyBGpHzsDmSLxVUlYCUW/Y90fGddWW.js\")), path: \"/guides\"}, YD_K7GE66: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cWEVDpybIPTDi6J6OcKt/LMUwTeW7KKtUWz4WjMZx/YD_K7GE66.js\")), path: \"/journal\"}, DqwbPzbjN: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Iw3IJgTfUNwuqgp4u08L/XdphGiiQCVnhUpzaSKk0/DqwbPzbjN.js\")), path: \"/about\"}, FgXzgUrS1: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cx66f6Vgk1BNf2N8tCmf/Zfk7gksThBPT5oUSO0SR/FgXzgUrS1.js\")), path: \"/private-trips\"}, yO0PXxmOH: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/coZ7C9JFmF9zJtQN37Hs/h7Yoq8qwPeSHsgG3GCzH/yO0PXxmOH.js\")), path: \"/how-it-works\"}, Bm6pDczZJ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/mrVjbsRbS17GK0mcWicB/aNu92Bwtpz4kJ3MpRAd4/Bm6pDczZJ.js\")), path: \"/reviews\"}, fumIjc2GK: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/6SqolE2GJP9GrwXg4XCO/IbevgM7UBS9ErB810dby/fumIjc2GK.js\")), path: \"/faq\"}, uIMlv51IS: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/3BOVAO7OYdfCgqAiqCA5/yr5De0YDfuLZ5TVZ2jXL/uIMlv51IS.js\")), path: \"/careers\"}, RaRqfNuk8: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pyfKUHfWBhKGQh7rpYjp/tehs36N1CyVxTxpdg9FY/RaRqfNuk8.js\")), path: \"/plan-a-trip\"}, YejXge9Gw: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/JzFIAJkjxoPgRdJEhpUA/NtWM19e1k3xyTZ6uogby/YejXge9Gw.js\")), path: \"/contact\"}, zcCZlQaly: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ogdP1kKMZkVPXzo5uZWe/99rMLexiE92sZIBPwtAr/zcCZlQaly.js\")), path: \"/thanks\"}, pyrVMxgWi: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/z5S2ZXWGDMXcCDGhezSN/lwHg5I1kb8sNczAmRDCx/pyrVMxgWi.js\")), path: \"/privacy\"}, pt5XHh_rO: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/sMY4T9sikfb6uSNXrZOt/KaU6ps48fuzcT5723cl8/pt5XHh_rO.js\")), path: \"/terms\"}, irMJ0bWoj: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7yiwPeqR37KyLB65dhBu/0HY1lTrEGSbmgk2zUwVS/irMJ0bWoj.js\")), path: \"/cookies\"}, VtcYF1rGm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Xr76YES5Xp9xcFd9z3we/3KmG058mdqWQJljyBemN/VtcYF1rGm.js\")), path: \"/booking-conditions\"}, fe0Ld3D9a: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/e93fqAz6UKve5omV7pQv/vgdoexZC1TBuiM83ZD4e/fe0Ld3D9a.js\")), path: \"/sustainability\"}, JYBiTg_02: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/1fPeZpVi7OukS5Uvncut/lwtLxKE6U7fCMySVliRz/JYBiTg_02.js\")), path: \"/404\"}, A3OfoiT9R: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/I2QXEEVhxr9z80pIwEbr/zEZXhkD8T5x6UGdUmbUl/A3OfoiT9R.js\")), path: \"/start-here\"}, MHdbTQXhV: {collectionId: \"xRzBhCeCz\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/PxbxUoAxLiXipRCg92Ca/2AZVOJ1j9C4XgDRMr0cN/MHdbTQXhV.js\")), path: \"/journal/:VWa6deQPm\"}, mUykg6LEP: {collectionId: \"OriGqdTk4\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fMkESvs06l4Vk2qOtj0A/cvXC4qo3uZpudYsc4RPu/mUykg6LEP.js\")), path: \"/tour/:Xpt1QfM7Q\"}, XLehDWLmL: {collectionId: \"CS9AeLti4\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/q2CzLrhJGzUFtTxYn2VR/0aQ9x2x3VlhaCleE2YYi/XLehDWLmL.js\")), path: \"/destination/:ORe6ivxq4\"}, TOM7hs0o0: {collectionId: \"C3tXy2fCi\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/HStQ8qTtq0gUJBu1GDlR/ioEs5mdRC1o8vpIAzCqF/TOM7hs0o0.js\")), path: \"/guide/:vGxCQ2M18\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {C3tXy2fCi: async () => (await import(\"https://framerusercontent.com/modules/7hVIhAmrXwgVNNyTJqT1/3AQ41WAcdnF7PZmg6bbr/C3tXy2fCi.js\"))?.[\"utils\"], CS9AeLti4: async () => (await import(\"https://framerusercontent.com/modules/2sSnmEhPqbwlVg52Annk/u9XmX8y6GOSVMoamhyqc/CS9AeLti4.js\"))?.[\"utils\"], OriGqdTk4: async () => (await import(\"https://framerusercontent.com/modules/4pC2ejnBbNOjP3P332O7/1lZ1A5WsaoaHfJeQVzCW/OriGqdTk4.js\"))?.[\"utils\"], xRzBhCeCz: async () => (await import(\"https://framerusercontent.com/modules/VUOuACwrxriYHnSbM0l6/zSpTFZJtLK3Hv1dlsoQ3/xRzBhCeCz.js\"))?.[\"utils\"]}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"bbd759939f98785e1a8973b517acb70562eb3ee47e364f3e6cfde49858f107ff\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"Xa8qP0dAP\":\r\ncase \"BgQ4tj6pu\":\r\ncase \"Y90fGddWW\":\r\ncase \"YD_K7GE66\":\r\ncase \"DqwbPzbjN\":\r\ncase \"FgXzgUrS1\":\r\ncase \"yO0PXxmOH\":\r\ncase \"Bm6pDczZJ\":\r\ncase \"fumIjc2GK\":\r\ncase \"uIMlv51IS\":\r\ncase \"RaRqfNuk8\":\r\ncase \"YejXge9Gw\":\r\ncase \"zcCZlQaly\":\r\ncase \"pyrVMxgWi\":\r\ncase \"pt5XHh_rO\":\r\ncase \"irMJ0bWoj\":\r\ncase \"VtcYF1rGm\":\r\ncase \"fe0Ld3D9a\":\r\ncase \"JYBiTg_02\":\r\ncase \"MHdbTQXhV\":\r\ncase \"mUykg6LEP\":\r\ncase \"XLehDWLmL\":\r\ncase \"TOM7hs0o0\":\r\nreturn React.createElement(SiteLayout, {...props, key: \"SiteLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"Xa8qP0dAP\":\r\ncase \"BgQ4tj6pu\":\r\ncase \"Y90fGddWW\":\r\ncase \"YD_K7GE66\":\r\ncase \"DqwbPzbjN\":\r\ncase \"FgXzgUrS1\":\r\ncase \"yO0PXxmOH\":\r\ncase \"Bm6pDczZJ\":\r\ncase \"fumIjc2GK\":\r\ncase \"uIMlv51IS\":\r\ncase \"RaRqfNuk8\":\r\ncase \"YejXge9Gw\":\r\ncase \"zcCZlQaly\":\r\ncase \"pyrVMxgWi\":\r\ncase \"pt5XHh_rO\":\r\ncase \"irMJ0bWoj\":\r\ncase \"VtcYF1rGm\":\r\ncase \"fe0Ld3D9a\":\r\ncase \"JYBiTg_02\":\r\ncase \"MHdbTQXhV\":\r\ncase \"mUykg6LEP\":\r\ncase \"XLehDWLmL\":\r\ncase \"TOM7hs0o0\":\r\nreturn [{hash: \"ge7t0z\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"oowe7r\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"1d5o739\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/1fPeZpVi7OukS5Uvncut/lwtLxKE6U7fCMySVliRz/JYBiTg_02.js\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://impartial-goal-555890.framer.app\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/6e5KatjWA32Ug4iSWUSh/IrcQ7vSghjvGV7Nmlbgh/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t\t;(function () {\r\n\t\t\tif (!isBrowser) return\r\n\r\n\t\t\tReact.startTransition(() => {\r\n\t\t\t\tReactDOM.hydrateRoot(\r\n\t\t\t\t\tdocument.getElementById(\"__framer-badge-container\"),\r\n\t\t\t\t\tReact.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t})()\r\n\t"],"mappings":"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"}